[3주차] 속도를 지배하는 DB 인덱스 Lecture 03. 인덱스란? 책갈피를 끼워두고 필요할 때 바로 해당 페이지를 펼 수 있게 하는 것과 같다. 즉, DB에서 자주 사용하는 필드 값의 위치를 저장해놓음으로써, 데이터를 빠르게 탐색할 수 있다. 탐색을 빠르게 할 수 있는 반면, 데이터가 추가될 때마다 책갈피를 꽂아 넣어야해서(인덱스 생성), 데이터의 탐색 속도는 빠르지만 데이터를 추가하는 속도는 느... 2025/05/21 Lecture, 6주 완성! 백엔드 이력서 차별화 전략 4가지
Load Balancing Algorithms Notes 로드 밸런싱 알고리즘의 종류 로드밸런싱 알고리즘은 클라이언트 요청을 여러 서버로 효율적으로 분산시켜 시스템의 부하를 줄이고, 성능과 가용성을 높이기 위한 방식이다. 다음은 대표적인 로드밸런싱 알고리즘의 종류와 특징이다. 1. 라운드 로빈 (Round Robin) 요청: R1 R2 R3 R4 R5 R6 ↓ ... 2025/05/19 Archive, Network
2025-05-19-TIL TIL Today I Learned 주말간의 바쁜 시간들을 보내고 드디어 다시 평일이 되었다. 공부를 하고자하는 의지가 강할때 하필이면 더 바쁜 상황이 생기는 것 같다. 아니면 반대로 바쁘고 공부하기 어려운 환경이라서 더욱 의지가 생기는 것일수도 있다. Today I Interview 단일 장애 지점(SPOF)이란 무엇인가요? 단일 장애 지점(Sing... 2025/05/19 TIL, 2025-TIL
이력서 기반의 면접 예상질문 자문자답 2 Recruit 🧠 전반적 기술 및 아키텍처 관련 질문 MCP 전면 개편 프로젝트에서 Java 21을 선택한 이유는 무엇인가요? Virtual Thread, Record 등 어떤 기능을 활용했는지 예시와 함께 설명해주세요. Spring Boot 프로젝트에서 Package by Component를 선택하신 이유와 장... 2025/05/15 recruit, interview
2025-05-14-TIL TIL Today I Learned Today I Interview Q. CSRF 공격에 대해서 설명해주세요. 사이트 간 요청 위조(Cross-Site Request Forgery, CSRF) 공격은 웹 애플리케익션 취약점 중 하나로 사용자가 자신의 의지와 무관하게 공격자가 의도한 행동을 하도록 하는 공격이다. CSRF 공격을 실행하려면 3가지 조건을... 2025/05/14 TIL, 2025-TIL
@TransactionalEventListener 빠른 체크 노트 Notes @TransactionalEventListener를 쓸 때 가장 먼저 확인할 것은 두 가지다. 이벤트가 실제로 트랜잭션 안에서 발행되는가 내가 원하는 실행 시점이 커밋 이후인가, 즉시 실행인가 핵심 요약 기본 @EventListener는 발행 즉시 실행된다. @TransactionalEventListener는 트랜잭션 phas... 2025/05/13 Notes, Spring
Chapter 2. Architectural Thinking Book 아키텍처 사고란, 단순이 ‘아키텍처를 생각하는 것’이 아니라 아티텍처적인 눈으로 아키텍처 관점에서 사물을 바라보는 것이다. 아키텍처와 설계의 차이를 이해하고 아키텍처 작업을 진행하려면 개발팀과 어떻게 협력해야할 지 아는 것 어느 정도 기술 깊이를 유지하면서 폭넓은 기술 지식을 확보하는 것 다양한 솔루션과 기술 간의 트레이드 오프를 이해하고... 2025/05/13 Book, Fundamentals of Software Architecture
헬퍼 클래스는 안티패턴일까? Notes 실무에서는 도메인 객체가 너무 비대해지는 걸 막기 위해 Helper 클래스가 자주 사용된다. 하지만 어느 순간부터 로직이 섞이고, 도메인 책임과 기술 책임이 뒤섞이면서 코드 유지보수가 어려워진다. 객체 지향 프로그래밍의 SOLID 원칙을 기준으로 하면 헬퍼 클래스는 존재 자체가 안티패턴이라고도 주장할 수 있으나, 실질적으로 도메인과 전혀 관련없는 정적... 2025/05/12 Archive, Programming
콜백(callback) Notes 0. 콜백(callback)의 탄생 배경 콜백(callback)은 “코드를 나중에 실행하기 위해 전달하는 기술”로, 함수형 프로그래밍과 비동기 프로그래밍의 핵심 요소이다. 콜백은 단순히 기술적인 편의성을 넘어서 제어 흐름을 위임하고 추상화하기 위한 패러다임에서 출발했다. 0.1. 콜백의 탄생 배경 프로그래밍의 구조적 진화 흐름 속에서 등장 ... 2025/05/12 Archive, Programming
백엔드 개발자: 데이터 흐름의 설계자 Notes 1. 백엔드는 왜 중요한가? 웹 사이트나 앱에서 버튼을 클릭했을 때 어떤 일이 일어날까? 화면에는 무언가가 나타나지만, 그 이면에는 수많은 처리 과정이 있다. 버튼에 의해 요청되는 데이터를 수신하고, DB에 저장하며 필요한 데이터를 응답하는 일련의 과정이 백엔드 시스템에서 동작한다. 바로 그 보이지 않는 세계를 설계하고 책임지는 존재가 백엔드다. ... 2025/05/02 Notes, Common