반응형

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

[Concept | Architecture] 3Tier

1티어 / 2티어 / 3티어의 개념과 장단점을 정리한다.> 작성일 : 2021-02-22> 수정일 : 2025-01-02시스템 설계시 프로젝트의 목적에 따라 물리적인 계층(Tier)을 나누고 서비스를 논리적(Layer)으로 분리하게 된다.효과적인 분업을 위해 반드시 이해가 필요한 부분이다.# Tier (계층) : 물리적인 분리단위 (서버 분리)# Layer (층) : 논리적인 분리단위 (기능 분리) 1Tier# 장점 : 구현이 간편함, 비용이 적게듬# 단점 : 확장이 힘듬, 이관시 재구성이 필요함, 분업이 어려움 2Tier# 장점 : 데이터관련 변경이 용이함# 단점 : 3Tier에 비해 유연성이 떨어짐 3Tier# 장점 : 다른계층에 의존하지 않으므로 분업시 효율적임# 단점 : 구현시 고려사항이 많아 비..

Concept 2025.01.02

[Concept | Encryption] 암호화 유형

암호화의 종류와 장단점과 시스템 개발에 어떤 유형이 적용되는지 정리한다.> 작성일 : 2017-03-04> 수정일 : 2025-01-02  암호화의 종류  단방향 암호화 - 해쉬함수① Encryption : 송신자는 해쉬함수를 이용해 평문을 암호화 한다.② Transmit : 암호문을 수신자에게 전송한다.③ Compare : 전송된 암호문과 저장된 암호문을 비교한다.※ 암호문을 복호화 하는것은 불가능하다. # 장점 - 암호화키를 사용하지 않으므로 공유절차 없이 보안을 유지할 수 있음# 단점 - 복호화가 필요한 경우에는 사용이 불가능함# 사용예 - 사용자 개인정보를 암호화 하여 디비에 저장하고 인증시 암호화된 값으로만 비교   양방향 암호화 대칭키 암호화 (비밀키 암호화)암호화 키를 생성하여 송신자(..

Concept 2025.01.02

[Concept | Encryption] 암호화의 기본개념

암호화의 기본적인 의미와 원리를 정리해보자.> 작성일 : 2017-03-01> 수정일 : 2025-01-02 사전적의미의 암호화암호화(encryption)란? 정보가 노출되는 것을 방지하기위해 특정 알고리즘을 이용하여 변형하는 것.암호화를 역행하여 다시정보를 읽게 하는 것은 복호화(decryption)라고 함.군사와 정부의 은밀한 대화를 위하여 오랫동안 이용되어 왔음.근래 기업에서는 데이터 전달 및 개인의 정보를 저장하는데 자주 이용함. 시스템 개발에서의 암호화보안이 필요한 정보를 특정 알고리즘을 통해 의미없는 문자열(이진수 덩어리)로 바꾸는 것.악의적인 목적으로 암호를 해독해 공격하는 것을 방지할 수 있음.보안에 있어 시스템적인 보호 방법 보다 근본적인 해결방법이라 할 수 있음. 암호화의 기본조건암호화..

Concept 2025.01.02
반응형