Chapter 2. Architectural Thinking
아키텍처 사고란, 단순이 ‘아키텍처를 생각하는 것’이 아니라 아티텍처적인 눈으로 아키텍처 관점에서 사물을 바라보는 것이다. 아키텍처와 설계의 차이를 이해하고 아키텍처 작업을 진행하려면 개발팀과 어떻게 협력해야할 지 아는 것 어느 정도 기술 깊이를 유지하면서 폭넓은 기술 지식을 확보하는 것 다양한 솔루션과 기술 간의 트레이드 오프를 이해하고...
아키텍처 사고란, 단순이 ‘아키텍처를 생각하는 것’이 아니라 아티텍처적인 눈으로 아키텍처 관점에서 사물을 바라보는 것이다. 아키텍처와 설계의 차이를 이해하고 아키텍처 작업을 진행하려면 개발팀과 어떻게 협력해야할 지 아는 것 어느 정도 기술 깊이를 유지하면서 폭넓은 기술 지식을 확보하는 것 다양한 솔루션과 기술 간의 트레이드 오프를 이해하고...
실무에서는 도메인 객체가 너무 비대해지는 걸 막기 위해 Helper 클래스가 자주 사용된다. 하지만 어느 순간부터 로직이 섞이고, 도메인 책임과 기술 책임이 뒤섞이면서 코드 유지보수가 어려워진다. 객체 지향 프로그래밍의 SOLID 원칙을 기준으로 하면 헬퍼 클래스는 존재 자체가 안티패턴이라고도 주장할 수 있으나, 실질적으로 도메인과 전혀 관련없는 정적...
0. 콜백(callback)의 탄생 배경 콜백(callback)은 “코드를 나중에 실행하기 위해 전달하는 기술”로, 함수형 프로그래밍과 비동기 프로그래밍의 핵심 요소이다. 콜백은 단순히 기술적인 편의성을 넘어서 제어 흐름을 위임하고 추상화하기 위한 패러다임에서 출발했다. 0.1. 콜백의 탄생 배경 프로그래밍의 구조적 진화 흐름 속에서 등장 ...
1. 백엔드는 왜 중요한가? 웹 사이트나 앱에서 버튼을 클릭했을 때 어떤 일이 일어날까? 화면에는 무언가가 나타나지만, 그 이면에는 수많은 처리 과정이 있다. 버튼에 의해 요청되는 데이터를 수신하고, DB에 저장하며 필요한 데이터를 응답하는 일련의 과정이 백엔드 시스템에서 동작한다. 바로 그 보이지 않는 세계를 설계하고 책임지는 존재가 백엔드다. ...
캐시 스탬피드(Cache Stampede)란? 캐시 스탬피드(Cache Stampede)는 다수의 요청이 동시에 캐시 미스(Cache Miss)를 발생시키면서, 백엔드(예: DB, 외부 API 등)에 부하가 집중되는 현상을 말한다. 캐시가 만료된 후 같은 데이터를 요청하는 다수의 클라이언트가 모두 캐시를 우회해서 원본 소스로 요청하게 되면, 시스템에...
캐싱(Caching)은 데이터 요청 시 반복적인 연산을 줄이고 응답 속도를 높이기 위해 데이터를 미리 저장해 두는 기술이다. 이는 시스템의 모든 계층에서 활용될 수 있으며, 캐싱 전략이나 문제 해결전략의 컨셉이 대부분 비슷한 방식을 따른다. 따라서 낮은 단계에서부터 캐싱의 원리와 전략을 잘 이해하는 것이 중요하다. 1. CPU 캐시 개요: ...
Today I Learned 인증/인가는 어디에 구현해야 할까? 인증/인가는 어디에 어떻게 구현해야 할까? 쿠폰 발급 시스템 효율적인 쿠폰 발급 시스템 구현을 위한 기술적 접근 쿠폰 발급 시스템 디자인 Today I Interview Redis가 싱글 스레드로 만들어진 이유를 설명해주세요. Redis가 단일 스레드(...
응집도와 결합도를 이야기하기에 앞서, 자주 나오는 “모듈(Module)”이라는 단어가 정확히 어떤 의미인지 정리해보았다. 모듈(Module) 모듈(Module)이란? 모듈은 소프트웨어를 구성하는 기능적 단위 또는 구성 단위로, 관련된 코드(클래스, 함수, 설정 등)를 의미 있게 묶은 단위를 말한다. In computer software...
Today I Learned Today I Interview Q. 응집도와 결합도에 대해서 설명해주세요. 응집도(Cohesion)는 모듈에 포함된 내부 요소들이 연관되어 있는 정도를 나타냅니다. 결합도(Coupling)는 의존성의 정도를 나타내며, 다른 모듈에 대해 얼마나 많은 지식을 갖고 있는지를 나타냅니다. 응집도와 결합도는 변경과...
Today I Learned 오늘은 토스증권에 지원했다. 이력서는 토스코어에 지원한 내용과 거의 동일하다. 대규모 채용이라서 6개월 이내에 한 번 더 지원할 수 있다는 내용을 보고 지원을 결심하게 되었다. 🙏 캐시는 캐시로만 사용하자 Caching: What may go wrong? Today I Interview CAP 정리에 대해서...