슬랙 앱을 만들면서 다음에 같은 실수와 삽질을 하지 않도록 기록하는 포스팅. (API 구현은 AWS Lambda에 Node기반으로 구현하였다.) 슬랙 앱 설정 관련 1. 슬랙에서 앱을 호출해야 한다면 Workspace에 설치되어야 한다. 2. 슬랙 앱이 Bot으로 호출되어야 한다면 Bot 설정이 필요하다. `App Hom`메뉴에서 Bot으로 설정 Display Name(Bot Name)과 Default Name 설정을 해야한다. 3. 대화식 상호작용을 구현하고 싶다면 Interactivity 설정을 해준다. 슬랙내 대화식 상호작용, 버튼이나 숏컷과 같은 컴포넌트로 대화식 상호작용을 구현하고 싶은경우 Interactivity 설정에 API를 명시한다. 4. Slash Command를 구현하고 싶다면 Sla..
스프링 부트 애플리케이션을 실행할 때, 명령어 뒤에 붙는 인자(argument)는 애플리케이션에 전달되는 값으로 사용됩니다. 이 인자 중에서 --가 붙는 인자는 애플리케이션의 실행 옵션을 지정하는 것이며, --가 붙지 않는 인자는 애플리케이션에 전달되는 인자 값으로 사용됩니다. --가 붙는 인자는 애플리케이션의 실행에 영향을 미치는 설정을 지정할 수 있습니다. 예를 들어, --server.port=8080과 같이 HTTP 포트 번호를 설정하거나, --spring.profiles.active=dev와 같이 애플리케이션 프로파일을 설정할 수 있습니다. 반면, --가 붙지 않는 인자는 애플리케이션에 전달되는 값으로 사용됩니다. 예를 들어, java -jar myapp.jar arg1 arg2와 같이 애플리케이..
Spring Boot에서는 Jackson 라이브러리를 사용하여 JSON 데이터를 처리합니다. Jackson은 Java 객체와 JSON 데이터 간의 변환을 수행하는 라이브러리로, Java 객체를 JSON으로 직렬화(Serialize)하거나, JSON 데이터를 Java 객체로 역직렬화(Deserialize)할 수 있습니다. Spring Boot에서는 Jackson 라이브러리의 ObjectMapper 클래스를 사용하여 JSON 데이터를 처리합니다. Jackson에서는 직렬화와 역직렬화를 수행할 때 사용하는 Serializer와 Deserializer를 지정할 수 있습니다. Serializer는 Java 객체를 JSON 데이터로 변환할 때 사용되고, Deserializer는 JSON 데이터를 Java 객체로 변..
본 포스팅은 AWS 공식 문서 내용을 정리 & 자체번역 한 내용입니다. (이후 공식 번역이 지원되는 경우 공식 문서를 참고바랍니다.) AWS SAM은 쉽게 서버리스 애플리케이션을 구성하고 관리 할 수 있는 AWS SAM CLI 커맨드 라인 툴을 제공합니다. AWS SAM CLI를 사용하기 위해서는 몇가지 설치와 설정이 필요합니다. macOS에서 AWS SAM CLI 설치하기 AWS CLI를 사용하기 위해서는 사전 요구사항을 설치하고 구성해야합니다. AWS 계정 생성 AWS Identity and Access Management (IAM), AWS credentials 설정 도커(Docker) 설치 (참고: 도커는 --use-container 옵션을 사용하여 로컬환경에서 테스트 할때 사용됩니다.) Home..
본 포스팅은 AWS 공식 문서 내용을 정리 & 자체번역 한 내용입니다. (이후 공식 번역이 지원되는 경우 공식 문서를 참고바랍니다.) AWS Serverless Application Model (이하 AWS SAM)은 AWS에서 서버리스 애플케이션을 만들 수 있는 오픈소스 프레임워크 입니다. 여기서 서비리스 애플리케이션이란 단순히 AWS Lambda를 의미하는 것이 아니라, API, 데이터베이스, 이벤트매핑 등의 추가 리소스와의 조합을 의미합니다. AWS SAM은 다음과 같은 구성 요소로 이루어집니다. AWS SAM template specification. 서버리스 애플리케이션 스펙(specification)을 정의하는데 사용됩니다. 서비리스 애플리케이션에서 사용되는 API, 권한, 설정, 이벤트들을 ..
잠깐 띄운다고 생각한 RDS를 한달넘게 내리지 않아서 1000달러가 넘는 비용이 청구되었다. AWS에 환불요청에 대한 기록입니다. 1. AWS '지원센터' (Support Center) 로 이동 2. 'Create Case' Support Case 생성하기 3. 환불 요청 작성하기 작성 내용은 단순 실수로 인한 사고라고 하면서 요청해도 빠르게 대응해주었습니다. 만약 2달이상에 걸쳐서 청구된 경우는 별도로 신청해야 됩니다. 예를들어 1월10일~2월10일까지의 요금이 청구되었다면, 1월10일~1월31일 먼저 신청하고, 이후에 2월1일~2월10일에 청구된 케이스에 대해서 2건을 별도로 신청해야 합니다.
Bean을 생성하는 3가지 방법 1. @Component 애노테이션으로 생성하기 스프링부트에서 가장 보편적으로 사용하는 방법으로 @Component 애노테이션을 사용할 수 있다. 개발자가 직접 작성한 Class에만 사용할 수 있다. @Component public class MyComponent1 implements InitializingBean { @Override public void afterPropertiesSet() throws Exception { System.out.println("MyComponent1.afterPropertiesSet"); } } 2. @Bean 애노테이션으로 생성하기 주로 외부 라이브러리의 객체들을 Bean으로 만들때 사용하거나, 같은 타입의 빈을 여러개 생성하고 싶을 ..
IntelliJ Live Template IntelliJ에 Live Template 기능을 이용하면 공통적으로 혹은 반복적으로 작성되는 코드를 지정해두었다가 빠르게 삽입하는 기능을 말한다. 자세한 기능에 대한 설명은 아래 영상으로 갈음한다. :) Live Template으로 테스트 코드 작성하기 Live Template기능은 이전부터 알고 있었는데, 필요성을 느끼지 못하고 사용하지 않다가 반복적인 테스크 코드 구조를 짜다가 드디어 현타가 오고 말았다. 모든 테스트 코드를 자동으로 할 순 없지만, 매번 import 하는 과정을 줄일 수 있었고 @MethodSource를 활용한 테스트 코드는 템플릿으로 등록해 두면 편하게 작성할 수 있다. 개인이나 팀마다 테스트 코드를 작성하는 방식이 조금씩 다르나 Live..