STAY BEAUTIFUL


  • 홈

  • About

  • 아카이브

  • 태그

  • 검색

[독서기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 7장

작성일 2025-04-29 | In Book

📖 제목 : 가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 7장
🙋‍♂️ 저자 : 알렉스 쉬
7장에서는 분산 시스템을 위한 유일 ID 생성기 설계에 대해 다루고 있다. 단일 서버, 단일 DB 환경에서는 AutoInc방식을 사용하면 되겠지만 분산 환경에서는 다른 대안이 필요하다. 어떤 대안들이 있고, 장단점은 무엇인지 정리해보았다.

더 읽어보기 »

[독서기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 6장

작성일 2025-04-21 | In Book

📖 제목 : 가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 6장
🙋‍♂️ 저자 : 알렉스 쉬
6장에서는 키-값 저장소 설계에 대해 다루고 있다. 우선 키-값 저장소가 뭔지부터 알아본 후, 단일 서버 환경에서의 키값 저장소에서부터 분산 시스템으로 확장할 경우까지 대규모 시스템 설계의 핵심 개념들을 알아보기로 하자.

더 읽어보기 »

[독서기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 5장

작성일 2025-04-15 | In Book

📖 제목 : 가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 5장
🙋‍♂️ 저자 : 알렉스 쉬
5장에서는 안정 해시 설계에 대해 다루고 있다. 안정해시란 서버가 추가되거나 제거되더라도, 가능한 한 많은 키가 이동하지 않도록(다시 분산할 필요가 없도록) 도와주는 알고리즘이다. 이 개념을 이해하기 위해 우선 실제 서비스에서 키-값이 어떻게 쓰이는 지 몇 가지 사례를 생각해 본 후 안정 해시 설계에 대해서도 정리해보자.

더 읽어보기 »

파사드(Facade) 패턴과 Service 레이어의 차이에 대하여 알아보자

작성일 2025-04-10 | In JAVA

개발을 하다보면 컨트롤러 내부 메서드 하나에서 여러 서비스나 레포지토리를 호출해야 하는 경우가 종종 생긴다. 예를 들어, 아래와 같이 회원가입 기능을 구현할 때 유저 정보 저장, 메일 인증번호 발송, 레디스 캐시 저장, 이벤트 쿠폰 발행 등의 작업이 같이 수행되는 경우다.

1
2
3
4
5
6
public void signup(User user) {
    userRepository.save(user);
    emailService.sendVerificationEmail(user);
    redisService.saveUserCache(user);
    eventPublisher.publishSignupEvent(user);
}

이런 경우 파사드 패턴을 쓰면 좋다고 하는데, 그냥 서비스 메서드 하나로 처리하는 것과 크게 다르지 않아 보였다. 의아한 김에 무슨 차이가 있는지를 알아보았다.

더 읽어보기 »

[독서기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 4장

작성일 2025-04-08 | In Book

📖 제목 : 가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 4장
🙋‍♂️ 저자 : 알렉스 쉬
4장에서는 처리율 제한 장치(Rate Limiter) 설계에 대해 다루고 있다. 처리율 제한 장치란 말 그대로 특정 시간 동안 서버로 오는 클라이언트의 요청의 수를 제한하는 장치다. 한 번에 대용량 트래픽을 처리해도 모자랄 판에 요청을 막는 이유는 뭘까? 이 장에서는 왜 처리율 제한이 필요한지와 함께 대표적인 처리율 제한 알고리즘들을 살펴보고 있다.

더 읽어보기 »

스프링은 어떻게 동작할까? 요청부터 응답까지 흐름 정리

작성일 2025-04-02 | In Spring

스프링은 어떻게 동작할까?

개발 할 때 맨날 쓰고 있지만 스프링이 내부적으로 어떻게 동작하는지에 대해서는 정확히 설명하기 어려웠다. 그래서 요청부터 응답부터 어떤 흐름을 거치는지, 각 단계에서 어떤 동작을 하는지 정리해보기로 했다.
스프링흐름도

더 읽어보기 »

Node.js로 회원가입 하기(비밀번호 암호화) 6

작성일 2025-04-01 | In NodeJS

🙋‍♂️1. Node.js로 5분만에 API 만들기
🙋‍♂️2. Node.js로 POST API 만들기
🙋‍♂️3. Node.js로 데이터 저장하기
🙋‍♂️4. Node.js에 저장된 데이터에 인덱스 붙이기, 데이터 삭제하기
🙋‍♂️5. Node.js로 세션 방식 로그인 구현하기
이번에는 미뤄뒀던 회원가입 기능을 구현해보자. 비밀번호 암호화 하는 방법도 함께 알아보겠다. 암호화에는 단방향 해시함수 bcrypt를 사용할 예정이다.

더 읽어보기 »

Node.js에서 .env파일로 개인정보 관리하기

작성일 2025-03-20 | In NodeJS

개발을 하다보면 DB 접속정보나 Secret Key 같은 민감한 정보들이 생긴다. yml 파일에 써놓거나 하드코딩으로 코드에 박아놨다가 이런 정보들이 탈취되면 문제가 생길 수 있으니 사전에 관리를 하는 게 좋다. 이번에는 이런 중요한 정보들을 관리할 수 있는 .env파일을 사용해보자.

더 읽어보기 »

Node.js로 세션 방식 로그인 구현하기 5

작성일 2025-03-18 | In NodeJS

🙋‍♂️1. Node.js로 5분만에 API 만들기
🙋‍♂️2. Node.js로 POST API 만들기
🙋‍♂️3. Node.js로 데이터 저장하기
🙋‍♂️4. Node.js에 저장된 데이터에 인덱스 붙이기, 데이터 삭제하기
이번에는 로그인 기능을 구현해보자. 제일 기본적인 세션 저장 방식으로 구현하고, 암호화는 고려하지 않는다(원래는 꼭 비밀번호 암호화 해야 함!).

더 읽어보기 »

[독서기록] 가상 면접 사례로 배우는 대규모 시스템 설계 기초 2, 3장

작성일 2025-03-17 | In Book

📖 제목 : 가상 면접 사례로 배우는 대규모 시스템 설계 기초 : 2, 3장
🙋‍♂️ 저자 : 알렉스 쉬
시스템 설계 관련 면접을 보면 “이 서비스에 필요한 서버 수는 몇 대일까?” “하루에 얼마나 많은 요청이 들어올까?” “저장공간은 얼마나 필요할까?” 같은 질문을 받게 될 수 있다. 이런 질문들은 정확한 숫자를 요구하는 게 아니라, 얼마나 필요할 지를 대략적으로 계산해보는 능력을 보려는 의도다. 이 추론을 개략적인 규모 추정이라고 한다. 쉽게 말해서 ‘대충 머릿속으로 계산해봤을 때 대략 어느 정도인지 감 잡기’를 할 수 있는지가 포인트다. 예시와 함께 어떻게 계산해야 할 지 알아보자.
그리고 3장에서는 시스템 설계 면접은 왜 보는 것인지에 대해 생각해볼 수 있다.

더 읽어보기 »
1 2 … 9
연정

연정

89 포스트
23 카테고리
52 태그
RSS
© 2025 연정
Powered by Jekyll
Theme - NexT.Muse