반응형

전체 글 469

[코틀린] check method

본래 자바를 이용하여 개발을 하였으나, 이직하면서 코틀린을 사용하게 되었다. 그리고 간단한 기능 개발 후 풀리퀘스트를 날렸다. 그 중 위와 같은 코드가 존재했다. 자바에서는 굉장히 일반적인 코드인데 개발자 한 분이 코멘트를 달아주셨다. https://kotlinlang.org/api/latest/jvm/stdlib/kotlin/check.html check - Kotlin Programming Language kotlinlang.org check 라는 메소드를 코틀린에서 기본적으로 지원하는데 위 링크를 통해 확인해보자 굉장히 쉽다. > Throws an IllegalStateException if the value is false. 위 코드에서 check 메소드를 이용하여 간단하게 한 줄로 표현할 수 있..

개발/Kotlin 2019.12.17

[Spring] Slack Slash Command - 5

이번 글에서는 코드로 살펴보도록 하겠습니다. ■ data payload data payload 를 사용해야 하기 때문에 저는 객체에 매핑이 되도록 해주었습니다. 여기서 놓치지 말아야 할 부분은 slack 에서는 data payload 을 보낼 땐 Content-type header 를 application/x-www-form-urlencoded 로 설정해서 보냅니다. 그렇기 때문에 위 사진처럼 @RequestBody 를 사용하지 않습니다. 자세한 사항은 아래 링크를 참고해주시면 감사하겠습니다. 이렇게 개발을 함으로 써 따로 converter 를 만들지 않아도 쉽고 빠르게 개발을 할 수 있게 됩니다. 그리고 저는 Lombok 을 주로 사용해서 개발을 하는데 이 때 매핑할 클래스에 각 필드에 대한 sette..

개발/Spring 2019.10.07

[Spring] Slack Slash Command - 4

이번 장에서는 슬랙에서 웹 서버로 요청 시에 어떠한 data payload 를 보내는지와 사용자가 Slash Command 에 입력한 text 를 웹 서버에서 얻어보는 코드를 소개하려고 합니다. https://api.slack.com/slash-commands 를 보면 Slash Command 를 호출하면 슬랙에서 data payload 와 어떤 유저가 요청을 했는지에 대한 정보를 제공한다고 나와 있습니다. Slash Commands Learn how to build bot users, send notifications, and interact with workspaces using our APIs. api.slack.com 그리고 어떤 data payload 를 전달하는지에 대한 예도 나와 있습니다. ..

개발/Spring 2019.10.06

[Spring] Slack Slash Command - 3

먼저, Slack workspace 가 생성돼 있다고 가정을 하고 진행을 하도록 하겠습니다. 만약 workspace 가 생성 돼 있지 않으시다면 해당 링크 https://slack.com/intl/en-kr/ 에서 생성을 진행해주세요. Where work happens Slack is where work flows. It's where the people you need, the information you share, and the tools you use come together to get things done. slack.com 이제 Slack 에서 제공하는 Slash Command 앱을 생성하려고 합니다. 다음의 링크에서 생성을 할 수 있습니다. https://api.slack.com/apps ..

개발/Spring 2019.10.06

[Spring] Slack Slash Command - 2

이번 장에서는 사용자가 Slack Slash Command 입력 시 슬랙에서 보내는 요청을 받을 수 있는 웹 서버를 간단하게 만들도록 하겠습니다. Gradle 기반의 Spring Boot 2.1.8 의존성 : org.springframework.boot:spring-boot-starter-web org.projectlombok:lombok 저는 Spring Boot 를 사용하여 개발을 하려고 합니다. 프로젝트를 생성하였다면 다음과 같이 임시로 Controller method 를 추가해줍니다. Http method 로 POST 를 사용한 이유는 slack 에서 POST 로 요청을 하기 때문입니다. 우선 아직까지는 Slash Command 에 대한 테스트를 하기 위해서 추가한 코드들이기 때문에 깃플로우를 이..

개발/Spring 2019.10.06

[Spring] Slack Slash Command - 1

Spring boot 를 이용하여 Slack Slash Commmand 예제를 작성해보려고 합니다. github 나 google 에 검색했을 때 Slack 에서 제공하는 Slash Command 를 간단히 사용하는 프로젝트나 코드는 존재하나, 슬랙의 요청을 검증하는? 그런 보안 관련한 코드는 자세히 없는 것 같아 해당 부분을 예제로 만들어 보려고 합니다. 먼저, Slack 에서 제공하는 Slash Command 는 다음과 같이 사용할 수 있습니다. 이 때, 입력한 Slash Command 로 인해 데이터가 Slack -> App 으로 전송되어 App 에서 원하는 동작을 할 수 있습니다. 회사에서 긴급한 상황 때 Slack 에서 Slash Command 를 이용하여 손쉽게 배포할 수 있도록 하는 서비스를 ..

개발/Spring 2019.10.01

산업기능요원 훈련소 후기

8월 29일 ~ 9월 26일동안 산업기능요원으로 육군 훈련소에 다녀왔다. 하루 전 날에 물품 다 사고 아무생각 없이 입소를 했는데 역시나 별 일 없었다. 훈련소에서 칫솔, 치약, 타월, 수건, 속옷, 양말, 비누 등을 제공해주기 때문에 맨 몸으로 가도 된다. 그러나 로션을 가져가지 않아서 다른 사람들걸 빌려서 사용했다. 추가적으로 바디워시, 샴푸, 폼클렌징, 로션을 가져가면 매우 청결하게 살 수 있다. 그리고 밥은 너무 맛없었는데 진짜 죽고싶었다. 또, 논산 훈련소만의 그 비료 냄새, 즉 똥냄새가 너무 많이 나서 죽을 뻔 했다. 하지만 하늘이 너무너무 이쁘고 밤 하늘도 너무 이뻐서 그 부분은 매우 좋았다. 훈련도 공익, 병특끼리 한 중대이기 때문에 훈련도 딱히 어려운 것은 없었고, 행군 할 때 완전군장을..

etc/잡담 2019.10.01

[여행] 하와이 1일차

제가 다니고 있는 회사에서 이번 매출 목표를 달성해서 하와이로 워크샵을 갔습니당ㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎㅎ 하와이 가기 전에 김치가 너무 땡길까봐 킹치찌개를 먹었습니다ㅎㅎㅎ 비행기는 대한항공 걸 탔는데 졸라 좋았어요 기내에서 "소고기 감자"를 선택해서 먹었는데 곤드래비빔밥을 먹을 걸 후회했습니다. 이 때 와인 4잔은 마신 듯 하늘이 너무 파랬는데 3일차 때 스카이다이빙을 할 예정이기 때문에 너무 두근두근 거렸습니다 호놀룰루 공항인데 도착하기 전에 어떤 분께서 호롤롤로 할머니 얘기를 꺼내셔서 자꾸 생각이 났었습니다 공항에 도착해서 바로 호텔로 가지 않고 하와이 투어를 했습니다. 진짜 날씨도 좋고 날도 덥지 않아서 엄청 좋았는데..

etc/여행 2019.05.01

[책] 컴퓨터 아키텍처 - 07. 데이터 경로

데이터 경로데이터 경로의 의미와 두 가지 구현 방식에서 데이터의 흐름을 살펴본다.데이터 경로의 이해데이터 경로데이터 경로 : 명령어를 실행할 때 프로세서가 명렁어의 정의에 따라 데이터를 경유시키는 경로.데이터는 입력장치, 프로세서, 메모리, 출력장치 등 컴퓨터의 모든 구성 요소를 경유한다. 하지만 실행 프로그램은 이미 메모리에 적재되어 있으므로, 입출력 명령이 아니라면 명령어에 대한 데이터 경로는 프로그램 계수기(PC), 레지스터 파일, 연산장치(ALU), 메모리 등으로 구성된다.자세한 내용은 236쪽 참고데이터 경로의 두 가지 방식데이터 경로는 크게 단일 사이클 방식 과 다중 사이클 방식 으로 구현할 수 있다.단일, 다중 사이클 방식은 각각 한 번, 여러 번 돈다고 생각하면 된다.16비트 덧셈장치를 예..

CS/컴퓨터 구조 2019.04.12

[Java] Soft reference object

Soft reference 에 관련해서 그마나 이해가 가도록 설명이 돼 있는 것 같다. 해당 링크에서 이야기하는 Soft reference 는 가비지 컬럭터가 사용하지 않는 객체들을 청소할 때 Soft reference object 도 같이 청소할지 말지 결정한다. 만약 메모리가 부족하다면 청소를 할 것이고, 그렇지 않다면 청소하지 않는다고 한다. 그렇기 때문에 이미지 캐시 같은 곳에 사용할 때 좋은 방법이라고 한다. 메모리에 들고 있지만 메모리가 부족해질 경우 GC 에서 제거하기 때문이다. Soft reference 이야기가 나오면 Weak reference 이야기도 나오는데 Weak reference 는 GC 가 돌 때마다 청소가 된다고 한다. 우선 자세히 알아보지는 않고 이런게 있다~ 정도만 알아도..

개발/Java 2019.04.04
반응형