Concept 13

[Concept | Auth] 회원인증 플로우 정리 (5) - RefreshToken 운용

3계층 구조의 서버환경에서 RefreshToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자가 권한을 필요로 하는 정보 요청1차 AccessToken 확인 불가시 RefreshToken으로 재인증 처리한다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 RefreshToken을 해더에 넣..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (4) - AccessToken 운용

3계층 구조의 서버환경에서 AccessToken 운용법을 정리한다.> 작성일 : 2025-01-13> Cloud : AWS 전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어 상세 사용자가 권한을 필요로 하는 정보 요청브라우저를 통해서 요청폼이 전달된다.Frontend - 사용자에게 처리중 화면을 제공 API 호출브라우저를 통해 전달된(cookie) 인증토큰을을 복호화 해서 AccessToken을 해더에 넣어 호출한다.Frontend : 브라우저를 통해 전달된(..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (3) - 회원로그인 (SignIn)

3계층 구조의 서버환경에서 회원로그인 플로우를 정리한다.> 작성일 : 2025-01-13> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)SessionStore : 분산서버 환경에서 세션공유용 스토어   상세 사용자 로그인 요청브라우저를 통해서 로그인폼이 전달된다.Frontend : 사용자에게 로그인진행 화면을 제공 로그인 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 회원정보 조회 회원로그인 실패 처리회원 조회불가, 비밀번호 불일치시 또는 ..

Concept 2025.01.13

[Concept | Auth] 회원인증 플로우 정리 (2) - 회원확인 (Verify)

3계층 구조의 서버환경에서 이메일 인증시 회원확인 플로우를 정리한다.> 작성일 : 2025-01-12> Cloud : AWS  전체 플로우User(Browser) : 사용자가 이메일로 받은 링크를 브라우저 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)   상세 사용자 가입시 전달받은 이메일 클릭이메일에서 링크를 클릭하면 브라우저에서 인증이 실행된다.Frontend : 사용자에게 인증키(이메일 링크에 포함)를 전달받는다. 확인 API 호출인증키가 전달되어 복호화 및 유효성 체크Frontend : API 호출Backend : 키값을 복호화 하고 DB를 통해 유효성을 체크 회원확인..

Concept 2025.01.12

[Concept | Auth] 회원인증 플로우 정리 (1) - 회원가입 (SignUp)

3계층 구조의 서버환경에서 회원가입 플로우를 정리한다.> 작성일 : 2025-01-10> Cloud : AWS  전체 플로우User(Browser) : 사용자가 브라우저를 통해 접근Frontend : 프리젠테이션 (Client Tier)Backend : 비즈니스 로직 (Application Tier)Database : 데이터 (Data Tier)AWS SNS : 이메일을 통해 사용자 인증   상세 사용자 가입 요청브라우저를 통해서 가입폼이 전달된다.Frontend : 사용자에게 가입진행 화면을 제공 가입 API 호출입력정보가 전달되어 유효성 체크Frontend : API 호출Backend : DB를 통해 가입정보의 유효성을 체크 회원가입 실패 처리유효성 체크 실패시 또는 기타 에러에 대한처리Backend..

Concept 2025.01.10

[Concept | DevOps] 도입

DevOps 문화를 도입하고자 할때의 고려점을 정리한다.> 작성일 : 2025-01-06  문화의 형성조직(개발조직 뿐만이 아닌 전체 참여자)의 소프트웨어 개발 문화를 만들어 간다는 관점에서 접근이 필요하다.# 단순히 어떤 기술을 도입한다는 관점이라면 오히려 독이 될 수 있다.# 여러 부서를 아우를 수 있는 DevOps 팀 구성이 필요하며 권한이 주어져야 한다.# 제품을 잘 만들어 가치를 창출한다는 공동의 목표에서 진행되어야 한다.# 워크플로우가 원활하게 진행되도록 자동화가 잘 이루어져야 한다.# 품질과 성능을 최적화 하기 위해 피드백 및 측정이 지속적으로 이루어져야한다.   이점문화가 잘 형성되고 자동화가 잘 이루어지게 되면 여러 이점을 얻을 수 있다.# 각자 일하지 않고 책임을 공유하여 협업이 원활해..

Concept 2025.01.06

[Concept | DevOps] 라이프사이클

DevOps 라이프사이클의 각 단계를 정리한다.> 작성일 : 2025-01-05  기획사용자 피드백 및 이해관계자 의견을 바탕으로 다음 출시에 포함될 기능(백로그화)을 정의합니다.   개발기획 단계에서 작성된 스토리 및 백로그를 기반으로 기능을 개발합니다.# 테스트 주도개발(TDD), 페어프로그래밍, 코드리뷰와의 결합을 고려합니다.# 내부 정책에 따라 개발테스트를 수행합니다.   빌드개발된 코드를 테스트 가능한 형태로 빌드합니다.# 이부분은 개발테스트가 완료되고 코드가 배포되면 수행됩니다.# 코드의 병합, 컴파일, 단위테스트, 패키징이 자동으로 이루어 집니다.   테스트개발과 릴리즈 사이에서 요구사항을 충족하는지 테스트 합니다.# 테스트 또한 자동화 되기도 합니다.# 여러 형태의 테스트에서 특정요소를 수..

Concept 2025.01.05

[Concept | DevOps] 정의

DevOps란 무엇인지 정리한다.> 작성일 : 2025-01-05  기본정의 개발과 운영에서의 작업을 결합하고 자동화해 개발의 고품질화 및 서비스의 가속화를 이룬다는 개념의 방법론# 도구의 활용과 관행의 정의 필요 (Jira, GitFlow)# 효율성 / 신속성 / 신뢰성의 향상   포괄적정의개발과 운영간 서비스를 가속화 하기 위한 개발 프로세스 및 조직 문화까지를 의미함# 워터폴 (Waterfall) 개발의 문제점(요구사항의 잦은변경)으로 인한 애자일 (Agile) 개발의 등장 - 애자일 : 애플리케이션을 소규모로 빈번히 업데이트하는데 중점을 둠# 애자일 (Agile)의 발전된 형태인 DevOps는 지속적 통합 / 지속적 배포 (CI/CD)를 핵심요소로 함   DevOps 라이프 사이클서비스의 기능개..

Concept 2025.01.05

[Concept | Java] Garbage Collection 종류

Garbage Collection의 종류와 특징을 정리한다.> 작성일 : 2022-03-31  Serial GC- 한개의 스레드가 동작하여 메모리를 해제- 동작이 느리고 Stop The World 시간이 길어 근래에는 사용되지않음- Java 실행시 옵션 : -XX:+UseSerialGC   Parallel GC- Minor GC에서 멀티스레드가 동작하여 메모리를 해제- Serial GC대비 Stop The World가 짧음- Java 8의 Default GC- Java 실행시 옵션 : -XX:+UseParallelGC   Parallel Old GC- Minor GC & Major GC에서 멀티스레드가 동작하여 메모리를 해제- Major GC에서 Mark-Summary-Compact 방식을 사용- 멀티스..

Concept 2025.01.05

[Concept | Java] Garbage Collection 구동원리

JVM에서 메모리가 어떻게 관리되어지는지 이해하기 위해 Garbage Collection (GC) 구동원리를 정리한다. 개발 최적화와 서버 튜닝을 위해 이해하고 있어야 한다.> 작성일 : 2022-03-30  메모리 영역의 구분 Young Generation- 새롭게 생성된 객체는 Eden 영역에 할당된다.- Young Generation에서 발생하는 Garbage Collection을 Minor GC 라 한다. Old Generation- Young Generation에서 계속 사용되고 있다고 판단되는 객체가 Old Generation으로 이동된다.- Old Generation에서 발생하는 Garbage Colleciton을 Major GC 또는 Full GC 라 한다.   Garbage Collect..

Concept 2025.01.05