SLASH 24 리뷰 - SSE 이벤트 푸쉬로 불필요한 Polling 제거하기: 3초 폴링을 이벤트로 바꾸고 브로커를 세 번 갈아탄 기록 Conference 발표 SLASH 24, Server 트랙 연사 전연빈 (토스증권 Server Platform Team Leader) 자료 세션 페이지 · 발표 영상 보유 자산 화면이 3초마다 폴링하던 것을... 2026/07/10 Toss 토스증권 엔지니어 발표 리뷰 9편
2026-07-09-TIL: spring-lite 시작과 조건부 빈 평가 시점 TIL 이번 주에는 Spring의 핵심 기능을 직접 구현해 보는 학습용 프레임워크 spring-lite를 새로 시작했다. 목표는 Spring과 호환되는 API가 아니라, IoC, DI, MVC, AOP, 트랜잭션, 부트스트랩을 작은 단위로 쪼개 직접 만들면서 각 계층이 어떤 책임을 지는지 코드로 설명할 수 있게 되는 것이다. 같은 기간에 monticker에서... 2026/07/09 2026-TIL
WAL과 체크포인트 - 커밋은 언제 디스크에 닿는가 Notes “커밋하면 디스크에 저장된다”는 말은 맞지만, 저장되는 것이 데이터 파일은 아니다. 데이터 페이지는 한참 뒤에 쓰인다. 커밋 시점에 디스크에 닿는 것은 로그이고, 이 순서를 뒤집지 않는 것이 ACID의 D(내구성)를 만드는 방법이다. 문제: 랜덤 쓰기는 느리다 트랜잭션 하나가 여러 테이블의 여러 페이지를 바꾼다. 그 페이지들은 디스크 여기저기에... 2026/07/09 Database
WebSocket push와 REST polling을 클라이언트 1만 개에서 재다 — 지연과 서버 비용, Kafka 정지 45초, 느린 소비자 25개 개인 프로젝트 GitHub 저장소 · 보고서 reports/M-001.md monticker의 시세 경로는 Go market-gateway가 틱을 Kafka market.ticks에 발행하고, api가 그것을 구독해 100ms conflation(100ms 안에 들어온 틱을 종목별 마지막 값 하나로 합치는 것) 뒤 STOMP(WebSocket 위에서 구독·발행을 ... 2026/07/08 Experiment monticker 설계와 구현 기록 23편
spring-lite로 이해하는 Spring 구현 5 - MiniSpringApplication과 자동 설정 조립 방식 Notes GitHub 저장소 마지막에 다시 보니 Boot는 “조립 담당”에 가까웠다 Spring Boot를 오래 쓰다 보면 SpringApplication.run() 한 줄이 너무 익숙해진다. public static void main(String[] args) { SpringApplication.run(App.class, args); } ... 2026/07/07 Spring spring-lite로 이해하는 Spring 구현 5편
모듈러 모놀리스 - 경계를 코드로 강제하는 방법 Notes “마이크로서비스로 가기 전에 모듈러 모놀리스부터”라는 조언은 널리 퍼졌는데, 실제로 무엇을 하라는 것인지는 덜 구체적이다. 패키지를 도메인별로 나누는 것은 누구나 하고, 그것만으로는 몇 달 뒤 다시 얽힌다. 경계가 유지되려면 지켜지는지 검사되어야 한다는 것이 이 패턴의 실질이다. 무엇이 모듈인가 모듈은 폴더가 아니라 공개 API와 내부 구현이 ... 2026/07/06 Architecture
spring-lite로 이해하는 Spring 구현 4 - DispatcherServlet과 MVC 요청 처리 파이프라인 Notes GitHub 저장소 웹 프레임워크를 다시 보니 결국 디스패치 문제였다 Spring MVC를 쓸 때는 @RestController, @GetMapping, @RequestBody가 먼저 눈에 들어온다. 그런데 spring-lite-web을 구현하고 따라가다 보면 시선이 조금 바뀐다. 핵심은 문법보다 먼저 디스패치였다. 어떤 요청이 왔는가 ... 2026/07/06 Spring spring-lite로 이해하는 Spring 구현 4편
spring-lite로 이해하는 Spring 구현 3 - ProxyFactory, @Transactional, JdbcTemplate 연결 Notes GitHub 저장소 이 글의 코드 링크는 커밋 bd8ea3f 기준이다. 이후 저장소에 전파 옵션과 rollback 규칙이 추가돼 지금 main과는 다르다. @Transactional을 다시 보게 만든 건 결국 프록시였다 트랜잭션을 공부할 때는 자꾸 DB 쪽으로 먼저 시선이 간다. 커밋, 롤백, 전파, 격리 수준 같은 단어가 더 눈에 띄기 때문... 2026/07/05 Spring spring-lite로 이해하는 Spring 구현 3편
카카오 「MySQL Json 데이터 타입의 저장 구조와 성능 비교」 리뷰 — 통째로 넣고 통째로 꺼내면 TEXT, 키로 파고들면 JSON Tech Blog Review 원문: MySQL Json 데이터 타입의 저장 구조와 성능 비교 — kakao tech, 2025-09-18 한 줄 요약 MySQL의 JSON 타입은 문자열을 그대로 저장하지 않고 파싱 → 바이너리 직렬화 → 유효성 검사를 거쳐 타입·키 개수·오프셋 테이블이 붙은 구조로 저장하고, 읽을 때는 역직렬화해 문자열로 다시 만든다. TEXT는 받은 그... 2026/07/05 Kakao 빅테크 기술 블로그 리뷰 44편
spring-lite로 이해하는 Spring 구현 2 - AnnotationConfigApplicationContext로 보는 IoC와 생명주기 Notes GitHub 저장소 이 글의 코드 링크는 커밋 bd8ea3f 기준이다. 이후 저장소가 바뀌어 지금 main과는 다를 수 있다. 결국 먼저 봐야 하는 건 컨테이너였다 Spring을 공부할 때는 자꾸 AOP나 MVC부터 눈에 들어온다. 더 눈에 띄고, 실무에서 직접 만지는 코드와도 가깝기 때문이다. 그런데 spring-lite를 따라가다 보면 다... 2026/07/04 Spring spring-lite로 이해하는 Spring 구현 2편