AWS Cognito MFA 인증 방식 기술검토 경과 정리 Cognito UserPool 인증 흐름 현대식 인증 흐름에는 사용자의 자격 증명을 확인하기 위해 암호 외에도 새로운 챌린지 유형이 통합되어 있습니다. 인증은 두 가지 공통 단계로 일반화되며, 이러한 단계는 두 API 작업인 InitiateAuth 및 RespondToAuthChalleng...
AWS S3 Event Notifications 기능을 이용한 이미지 리사이징 Lambda 개발 검토 정리
S3 Event Notifications을 트리거로 사용하는 ImageResize Lambda (프로세스 다이어그램) 이슈사항 테넌트가 증가하고, 각 환경이 늘어날 때마다 버킷에 이벤트 알림을 각각 추가해야 함 (AWS 콘솔 및 AWS SDK putBucketNotificationConfiguration로 추가가능) 사용자 정의 메타데이터의...
AWS Lambda를 이용한 이미지 리사이징 방법 검토 정리
AWS Lambda를 이용한 이미지 리사이징 방법 검토 Lambda@Edge S3에 데이터를 저장하는 것은 기존과 동일하나, 이미지 리사이징을 처리하는 방식을 Lambda@Edge로 사용 Querystring으로 리사이징 사이즈를 지정할 수 있으므로 사이즈가 Fix된 ResizeLambda 대비 확장성이 높다 ...
Node.js 디자인 패턴(Design Pattren) 리뷰
Javascript Engine & Runtime → 자바스크립트는 단일 스레드 프로그래밍 언어이므로 단일 호출 스택이 존재한다. 단일 호출 스택이 있다는 것은 한 번에 하나의 일만 처리할 수 있다는 뜻이고, 해당 스택은 LIFO 방식으로 처리된다. Callback & Promises // 익명의 함수를 사용하는 콜백함수 예제 ...
AWS Lambda란 무엇인가?
AWS Lambda란? AWS Lambda는 2014 Re:invent 콘퍼런스 기조연설에서 발표한 서버리스 컴퓨팅 서비스이다. 지원하는 언어는 2021.08 기준 C#, PowerShell, Go, Java, Node.js, Python, Ruby이며 할당한 리소스(Lambda의 메모리 자원은 128MB부터 10,240MB까지 설정할 수 있으며 메모...
리팩토링 자바스크립트 (Refactoring JavaScript) 리뷰
리팩토링이란? 품질을 향상시키고 코드의 동작을 변화하지 않고 안전하게 코드를 변경하는 절차를 말한다. 리팩토링을 하기 위해서는 변수명, 함수명, 클래스 명 등 네이밍 규칙을 따르고 일관성 있게 만들고 확장성까지 고려해 야 한다. 리팩토링을 하기위해 사용할 수 있는 여러가지 지침은 아래와 같다. SOLID : 객체지향 5원칙 DRY (Don’...
Spring Framework의 구조에 대해
Spring MVC 구성 주요 컴포넌트 DispatcherServlet: 모든요 청을 최초로 받아들이는 Servlet HandlerMapping: 클라이언트의 요청을 처리할 Controller를 찾는 작업 Controller: Client의 요청을 처리 ModelAndView: View에게 값을 전달하기 위해 사용되는 객체 Vi...
Failed to connect to https://changelogs.ubuntu.com/meta-release-lts 오류 발생 시 해결법
최근 Azure for Student Plan에 가입해서 우분투 서버를 하나 더 사용중에 있던 중, 18.03 LTS에서 20.04 LTS로 업그레이드 후에 자주 일어나는 일이라서 문제가 또 발생하면 보기 위해서 글을 적어보려고 한다. 현재 Ubuntu 서버에 로그인을 하게 되면 위와 같은 문제가 뜨는데 아래의 명령어를 이용하면 해결된다고 한...
Oh-My-Zsh과 iTerm2를 이용하여 Mac 터미널 꾸미기
macOS 10.15 Catalina부터 기본 쉘(Shell)이 bash에서 zsh로 변경되었으므로, 기본 쉘이 zsh가 아닌 경우 첨부링크를 참고하여 변경 후에 진행하기를 바란다. https://abruption.github.io/posts/Change-basic-shell-on-mac iTerm2 iTerm2는 Mac의 기본 Termina...
Mac의 기본 쉘(Shell) 변경하기 [bash → zsh]
macOS 10.15 Catalina부터 기본 쉘(Shell)이 bash에서 zsh로 변경되어 Terminal 앱을 실행하면 아래와 같은 메세지가 뜨게된다. Last login: Thu Feb 9 16:55:55 on ttys000 The default interactive shell is now zsh. To update your acount t...