분류 전체보기 474

[System Design Interview] 07. 분산 시스템 환경에서의 고유 유일 ID 값 생성하기 (feat UUID)

가상 면접 사례로 배우는 대규모 시스템 설계 기초 (System Design Interview) - 저 : 알렉스 쉬, 역 : 이병준 을 읽고 정리한 글입니다. 7장에서는 분산환경에서의 유일 ID 생성기를 설계하는 방법에대해서 다룹니다. 보통 MySQL 같은 RDB 를 위주로 사용하는 저(?) 같은 사람은 유일 ID로 'auto_increment' 를 생각하는데 분산환경에서는 이러한 접근법이 통하지 않습니다. 분산환경에서 'auto_increment'가 통하지 않는 이유는, 보통 데이터베이스 1대만 사용하지 않는 것은 물론이고 여러 데이터베이스 서버를 쓰는 경우에는 지연시간을 낮추기가 무척 힘들기 때문이라고 합니다. 그렇기 때문에 이번 글에서 유일성이 보장되는 ID 설계방법을 정리해봅니다. [목차] 다중..

[AWS] CloudFormation 이란 - "IaC : 인프라를 코드로"

인프런 CloudNet@와 함께하는 AWS 네트워킹 입문 강의를 보고 정리한 글입니다. ☁️ CloudFormation 이란 → AWS 클라우드 서비스 중 하나로 “인프라를 코드 기반으로 정의”하고 선언하여 자원을 생성하거나 삭제하는 기능을 제공하는 IaC 서비스입니다. 💡Iac (Infrastructure as Code)란 : 인프라를 코드로 정의한 것 CloudFormation 에서 코드로 인프라를 정의한 텍스트 파일을 템플릿이라고 합니다. 💡 CloudFormation 사용 순서 AWS CloudFormation 의 순서는 다음과 같습니다. 먼저 템플릿 파일을 작성해야합니다. 템플릿이란, CloudFormation에서 "JSON" or "YAML" 언어로(코드로) AWS 클라우드 인프라를 선언한 텍..

Infra/AWS 2023.05.11

AWS 네트워킹 입문 (1) - 클라우드 컴퓨팅이란

인프런 CloudNet@와 함께하는 AWS 네트워킹 입문 강의를 보고 정리한 글입니다. 인프런의 AWS 네트워킹 강의를 듣고 정리한 글입니다. 글의 맥락이 끊길 수 있으며 AWS 를 어떻게 다루는지 보다는, AWS 네트워크 환경이 어떤식으로 구성되어지는 학습하는걸 목표로 하고 있습니다. [목차] 클라우드 컴퓨팅이란 전통적인 온프레미스 IT 구축 환경 클라우드 컴퓨팅 서비스 유형 (as-a-service) AWS 에서 제공해주는 클라우드 서비스 ☁️ 클라우드 컴퓨팅이란 클라우드 컴퓨팅이란, 인터넷을 통해 “요구가 있을 때 즉시 (On - Demand)” IT 자원을 제공하고 “사용한 만큼 비용을 지불 (Pay Per Use)” 하는 것을 말합니다. 💡 클라우드 컴퓨팅의 특징은 On Demand 와 Pay ..

[디자인 패턴] 행동 패턴 - 방문자 패턴(Visitor Pattern)

(인프런) 코딩으로 학습하는 GoF의 디자인 패턴 - 백기선, 강의를 보고 정리한 글입니다. 코드는 GitHub 에 있습니다 #1. 객체 생성 관련 패턴 #2. 구조 관련 패턴 #3. 행동 관련 패턴 싱글톤 패턴 팩토리 메소드 패턴 추상 팩토리 패턴 빌더 패턴 프로토타입 패턴 어댑터 패턴 브릿지 패턴 컴포짓 패턴 데코레이터 패턴 퍼사드 패턴 플라이웨이트 패턴 프록시 패턴 책임 연쇄 패턴 커맨드 패턴 인터프리터 패턴 이터레이터 패턴 중재자 패턴 메멘토 패턴 옵저버 패턴 상태 패턴 전략 패턴 템플릿 메소드 패턴 방문자 패턴 ✔️ 방문자 패턴(Visitor Pattern) 비지터 패턴은, 기존 코드를 건드리지 않고 새로운 코드를 추가하는 방법을 제안하는 패턴 방문자 패턴은 비지니스 로직을 객체 구조에서 분리시..

Java/Design Pattern 2023.05.05

Spring Security 가이드 (with. Spring boot 3.0) - 스프링 시큐리티란, 동작 과정, 사용 방법, JWT 발급

개발환경은 Spring Boot 3.0.x + Spring Security 6.x 입니다 토이 프로젝트에서 로그인-회원가입 기능을 개발해야하는데 "스프링 시큐리티"를 적용할까 말까 하다가, 이왕 할때 해보자라는 생각으로 "스프링 시큐리티를 적용"해보고자 합니다. 솔직히 프레임워크에 대해서 깊게 공부하고 싶지는 않으니까 "간단, 간단 겉핥기 식 - 기능 구현" 에 초점을 맞춰 정리해볼려구 합니다! 👏🏻 목표는 1. 로그인 성공시 JWT 토큰 반환 + 2. 생성한 User Entity 기반의 회원가입입니다. [목차] 스프링 시큐리티란 스프링 시큐리티 동작과정 스프링 시큐리티 사용 가이드 JWT 사용해서 인증-인가 해주기 (custom 한 jwt filter 생성) 1. Spring Security 란 Spr..

Spring/Spring Boot 2023.05.04

[디자인 패턴] 행동 패턴 - 템플릿 메소드 패턴(Template Method Pattern)

(인프런) 코딩으로 학습하는 GoF의 디자인 패턴 - 백기선, 강의를 보고 정리한 글입니다. 코드는 GitHub 에 있습니다 #1. 객체 생성 관련 패턴 #2. 구조 관련 패턴 #3. 행동 관련 패턴 싱글톤 패턴 팩토리 메소드 패턴 추상 팩토리 패턴 빌더 패턴 프로토타입 패턴 어댑터 패턴 브릿지 패턴 컴포짓 패턴 데코레이터 패턴 퍼사드 패턴 플라이웨이트 패턴 프록시 패턴 책임 연쇄 패턴 커맨드 패턴 인터프리터 패턴 이터레이터 패턴 중재자 패턴 메멘토 패턴 옵저버 패턴 상태 패턴 전략 패턴 템플릿 메소드 패턴 방문자 패턴 ✔️ 템플릿 메소드 패턴(Template Method Pattern) 알고리즘의 구조를 서브 클래스가 확장할 수 있도록 템플릿으로 제공하여 구체적인 방법을 서브클래스에게 위임하는 패턴입니..

Java/Design Pattern 2023.04.24

[디자인 패턴] 행동 패턴 - 전략 패턴 (Strategy Pattern)

(인프런) 코딩으로 학습하는 GoF의 디자인 패턴 - 백기선, 강의를 보고 정리한 글입니다. 코드는 GitHub 에 있습니다 #1. 객체 생성 관련 패턴 #2. 구조 관련 패턴 #3. 행동 관련 패턴 싱글톤 패턴 팩토리 메소드 패턴 추상 팩토리 패턴 빌더 패턴 프로토타입 패턴 어댑터 패턴 브릿지 패턴 컴포짓 패턴 데코레이터 패턴 퍼사드 패턴 플라이웨이트 패턴 프록시 패턴 책임 연쇄 패턴 커맨드 패턴 인터프리터 패턴 이터레이터 패턴 중재자 패턴 메멘토 패턴 옵저버 패턴 상태 패턴 전략 패턴 템플릿 메소드 패턴 방문자 패턴 ✔️ 전략 패턴 이란 (Strategy Patterns) 여러 알고리듬을 캡슐화하고 상호 교환 가능하게 만드는 패턴. 전략 패턴이란, 어떤 업무를 수행하는 방법이 여러가지일경우, 이 여러..

Java/Design Pattern 2023.04.21

[디자인 패턴] 행동 패턴 - 상태 패턴 (State Pattern)

(인프런) 코딩으로 학습하는 GoF의 디자인 패턴 - 백기선, 강의를 보고 정리한 글입니다. 코드는 GitHub 에 있습니다 #1. 객체 생성 관련 패턴 #2. 구조 관련 패턴 #3. 행동 관련 패턴 싱글톤 패턴 팩토리 메소드 패턴 추상 팩토리 패턴 빌더 패턴 프로토타입 패턴 어댑터 패턴 브릿지 패턴 컴포짓 패턴 데코레이터 패턴 퍼사드 패턴 플라이웨이트 패턴 프록시 패턴 책임 연쇄 패턴 커맨드 패턴 인터프리터 패턴 이터레이터 패턴 중재자 패턴 메멘토 패턴 옵저버 패턴 상태 패턴 전략 패턴 템플릿 메소드 패턴 방문자 패턴 ✔️ 상태 패턴이란 (State Pattern) 객체 내부 상태 변경에 따라 객체의 행동이 달라지는 패턴. 👏🏻 상태 패턴은, 객체 내부의 현재 상태에 따라 수행하는 기능이 달라야 할 때..

Java/Design Pattern 2023.04.19

[Spring] restdocs + swagger ui 같이사용하기 (restdocs 문서 자동화)

✨ api 문서화 정리 글 Swagger Spring Rest Docs RestDocs + Swagger-UI 같이사용하기 오느른, 오늘은,, 오늘우리는,,, Spring Restdocs 를 사용해 test 코드로 Ascciidoc 문서조각을 모으고,, 모아서 만든 adoc 문서를 또 편집하고.. html 로 변환하고 이 일련의 귀찮은 과정을 거쳐야하는 Spring Rest Docs 의 단점을 커버하기 위해 Swagger 와 restdocs 를 결합해보겠습니다 ! 👏🏻👏🏻👏🏻 사실 시작은 이러했습니다. 현재 사내에서는 Swagger 만을 사용하고 있기 때문에 프로덕션코드에 API 문서를 위한 코드가 존재하는게 지저분해서 현재 하고있는 토이프로젝트에는 RestDocs 를 적용해 보았습니다. 하지만, 아래처..

Spring/Spring Boot 2023.04.14

[디자인 패턴] 행동 패턴 - 옵저버(관찰자) 패턴 (Observer Pattern)

(인프런) 코딩으로 학습하는 GoF의 디자인 패턴 - 백기선, 강의를 보고 정리한 글입니다. 코드는 GitHub 에 있습니다 #1. 객체 생성 관련 패턴 #2. 구조 관련 패턴 #3. 행동 관련 패턴 싱글톤 패턴 팩토리 메소드 패턴 추상 팩토리 패턴 빌더 패턴 프로토타입 패턴 어댑터 패턴 브릿지 패턴 컴포짓 패턴 데코레이터 패턴 퍼사드 패턴 플라이웨이트 패턴 프록시 패턴 책임 연쇄 패턴 커맨드 패턴 인터프리터 패턴 이터레이터 패턴 중재자 패턴 메멘토 패턴 옵저버 패턴 상태 패턴 전략 패턴 템플릿 메소드 패턴 방문자 패턴 ✔️ 옵저버 패턴이란 (Observer Pattern) 다수의 객체가 특정 객체 상태 변화를 감지하고 알림을 받는 패턴. 👏🏻 옵저버 디자인 패턴이란, 객체의 상태 변화를 관찰하는 관찰자..

Java/Design Pattern 2023.04.13