전체 글
-
Serverless code 패턴: 함수 당 라우트 하나 vs 함수 당 라우트 여러개TECH/AWS 2022. 2. 16. 20:37
AWS lambda를 개발하며 람다 하나 당 하나의 라우트를 연결할지, 람다 하나당 여러 라우트를 연결할지 고민에 봉착했다. 내가 참여하고 있는 프로젝트는 다음과 같은 구조이다. 람다에 /this/is/http/path 로 단일 라우트가 연결되어 있고, 람다 함수 내에서 리퀘스트를 읽고 실행할 로직을 결정하는 형태였다. 처음에는 단순히 람다가 익숙하지 않았기 때문에 단순히 신규 라우트를 추가하는 것으로 생각했다. 하지만, 구글링을 통해 다음과 같은 Serverless Code Pattern에 대해 알게 되었다. 1. Microservice Pattern (One Lambda per route) Pros 관심사의 완전한 분리. 각 잡/연산은 배포 단위가 독립되어, 시스템 전체에 영향 없이 애플리케이션의 컴..
-
Slack api 호출시 account_inactive 에러가 발생하는 경우TECH/Java 2022. 2. 5. 09:19
로컬에선 슬랙 API를 정상적으로 호출하던 동작하던 코드가 GitHub에 코드를 올리고, GitHub Action을 통해 실행을 시키면 자꾸 에러가 나는 경우가 있었다. Slack API 문서에 의하면 삭제된 사용자나 워크스페이스에 대한 토큰을 사용한 경우에 발생하는 에러라고 하는데 이런 케이스도 아니였다. account_inactive Authentication token is for a deleted user or workspace when using a bot token https://api.slack.com/methods/auth.test#errors 서버 호출 curl -X POST https://{your-app-url}/v1/message {"message":"account_inactive"..
-
왜 unbalanced binary search tree는 나쁠까?TECH/Algorithm 2021. 9. 20. 13:03
Why an unbalanced binary search tress is bad? 일반적으로 binary search tree는 조회(lookup), 삽입(insert), 삭제(delete)에 O(logN)이 소요되는 자료구조 이다. 하지만, 아래 그림과 같이 이진 검색 트리가 한 쪽으로 편항될 경우, 사실상 링크드 리스트와 다를게 없게 된다. 따라서 조회(lookup), 삽입(insert), 삭제(delete)에 O(N)이 소요되어 성능의 저하가 발생한다.
-
Stack과 Queue 구현, 배열과 링크드 리스트 중 어떤 것을 이용할까?TECH/Algorithm 2021. 9. 14. 20:50
Summary Stack : 둘 다 가능 Queue: 리스트를 이용하는 것이 일반적. Stack & Queue Stack Array와 LinkedList 모두 구현 가능하다. Array 장점 메모리에 연속적으로 할당되는 특징 덕분에 캐시 지역성을 이용한 더 빠른 접근이 가능하다. 단점 사이즈가 제한되어 있다. 고정 크기 배열 경우 사이즈를 늘리기가 불가능하고, 유동 크기 배열의 경우 사이즈가 한계에 다다르면 어레이를 (일반적으로) 두배 크기로 늘리고, 기존의 요소들을 모두 복사해야하는 작업이 필요하다. LinkedList 장점 사이즈에 제한 받지 않는다. 단점 배열과 달리 요소가 연속적으로 할당되지 않아 비교적 느리다. 포인터를 위한 추가적인 메모리 공간이 필요하다. Queue LinkedList로 구현..
-
[개발자의 영어] along withTechEnglish 2021. 9. 14. 09:35
along with 1. together with a plane carrying heavy radar equipment along with full fule tanks 2. in addition to He worked along with several colleagues to finish on time. https://www.merriam-webster.com/dictionary/along%20with Definition of ALONG WITH in addition to (something or someone); together with (something or someone)… See the full definition www.merriam-webster.com 예문 in Tech 1. If thes..
-
[개발자의 영어] EmpiricalTechEnglish 2021. 9. 13. 16:29
의미 ADJECTIVE Empirical evidence or study relies on practical experience rather than theories. There is no empirical evidence to support his thesis 예문 in Tech 1. Measurement of these quantities establishes an empirical performance baseline for the application. 이러한 양의 측정은 애플리케이션의 경험적 성능의 베이스라인을 설정한다. [출처] https://en.wikipedia.org/wiki/Application_performance_management Application performance mana..
-
Spring Boot war 파일 생성하기TECH/Spring 2021. 9. 11. 15:29
SpringBootServletInitializer 서브클래스를 생성하고, configure 메소드를 오버라이딩한다. 이를 통해 Spring Framework의 서블릿 3.0 지원을 사용할 수 있고, 서블릿 컨테이너에 의해 애플리케이션이 실행됐을 때 애플리케이션을 설정할 수 있게 된다. 일반적으로, 아래와 같이 애플리케이션의 메인 클래스가 `SpringBootServletInitializer` 를 상속할 수 있도록 수정해야 한다. import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.boot.bui..