2025-11-05-TIL
Today I Learned 오늘의집 커피챗을 대비하면서 나에게 도움이 될만한 질문을 준비해보았다. 실제로 간단한 커머스 서비스를 설계하고 내부 시스템까지 구축해보면서 커머스의 구조를 대략적으로 파악해보려고 한다. 공고 내용을 바탕으로 보면, 오늘의집 커머스 백엔드 포지션은 트래픽이 높은 커머스 코어 도메인(주문·결제·정산 등)을 다루면서, AI ...
Today I Learned 오늘의집 커피챗을 대비하면서 나에게 도움이 될만한 질문을 준비해보았다. 실제로 간단한 커머스 서비스를 설계하고 내부 시스템까지 구축해보면서 커머스의 구조를 대략적으로 파악해보려고 한다. 공고 내용을 바탕으로 보면, 오늘의집 커머스 백엔드 포지션은 트래픽이 높은 커머스 코어 도메인(주문·결제·정산 등)을 다루면서, AI ...
Today I Learned 오늘은 링크드인에서 B사의 개발자분이 직접 채용공고와 함께 글을 올린것을 보았다. 편하게 연락달라는 글과 연락처 및 메일, 그리고 채용공고 링크가 있었다. 이렇게 올라온 글은 어떤 목적으로 쓰여진 것일까? 내가 생각하기로는 지원자 입장에서는 편하게 연락해서 커피챗이나 간단한 통화를 해보고 내 이력서의 이름이라도 한 번 더...
이 장에서는 백엔드의 핵심인 성능이나 병목 등 문제 해결을 하기 이전에 그 기준이 되는 값을 측정하는 내용을 다룬다. 각 요소의 어떤 값을 기준으로 측정할지 알려주면서 서버의 전체 구조를 포함해서 설명한다. 처리량과 응답 시간 앱을 실행했을 때 로딩이 길어지면 성능이 나쁘다고 말한다. 너무 오래 걸리면 심지어 타임아웃이 발생하기도 한다. 실제로 성...
왜 테스트 코드를 작성해야 할까? 테스트 코드는 “버그 예방 + 안전한 변경 + 지식의 기록”을 자동으로 해주는 가장 싸고 강력한 도구이다. 덕분에 더 빠르게, 더 자신 있게, 더 오래 유지되는 소프트웨어를 만들 수 있다. 반대로 말하면 테스트 코드가 주는 핵심 가치의 장점이 크기 때문에 작성하는 것이 좋다. 테스트 코드가 주는 핵심 가치 1...
Single Flight? 개발을 하면서 종종 동일한 리소스에 대한 여러 요청이 동시에 발생하는 상황에 직면하게 된다. 이는 중복 작업, 서비스 부하 증가, 그리고 전반적인 비효율성과 성능 저하로 이어질 수 있다. Go에서는 singleflight 패키지(golang.org/x/sync/singleflight)로 이에 대한 해결책을 제시한다. “S...
Today I Learned Spring의 의존주입(DI) 방식 3가지 생성자 주입 (Constructor Injection) 의존 객체를 생성자의 파라미터로 전달받아 주입하는 방식 불변성(immutability)을 보장하고, 테스트 시에 의존 객체를 명확하게 주입해야 하므로 안정성이 높다. 스프링 4.3 이후에는 생성자가 하...
Today I Learned 오늘은 멘토링이 있는 날이다. 이전 시간에 ACID에 대해서 깊이있는 이야기를 했는데, 관련 내용이 ‘데이터 중심 애플리케이션’의 07장 트랜잭션에 나와있다. 이 책에서 말하는 설명을 잘 읽어보면 ACID 속성의 하나하나가 더 와닿는다. 이 네 가지 속성에 대해서는 다시 한 번 정리해봐야겠다. 그리고 MongoDB 등 N...
Today I Learned 자바빈이란 자바빈은 원래 비주얼 툴에서 조작 가능한 컴포넌트를 말한다. 자바의 주력 플랫폼이 웹 기반의 엔터프라이즈 방식으로 바뀌면서 이제는 JSP 빈, EJB 같은 표준기술과 자바빈 스타일의 오브젝트를 사용하는 오픈소스 기술을 통해서 이어져왔다. 자바빈(JavaBean)은 자바(Java)에서 재사용 가능한 컴포넌트를...
에프랩(F-Lab) 코스명 2개월 후기 에프랩(F-Lab)에서 코스명을 시작한 지 벌써 2개월이 지났다. 지난 기간 동안 가장 크게 느낀 점은 체계적인 학습 환경과 꾸준한 피드백의 힘이었다. 혼자 공부할 때는 놓치기 쉬운 기본기와 습관들을 다시 다잡을 수 있었고, 작은 성과들이 쌓이면서 확실한 성장감을 얻을 수 있었다. 단순히 지식을 쌓는 것을 ...
ACID 데이터베이스에서 ACID는 트랜잭션이 안전하고 일관되게 처리되도록 보장하는 4가지 핵심 속성을 뜻한다. 이 4가지 속성은 트랜잭션 패러다임에서 신뢰성을 보장할 수 있는 중요한 사항으로, 데이터베이스 시스템 개발의 여러 측면에서 영향을 미쳤다. 참고로, ACID와 반대 개념인 BASE는 기본적으로 사용 가능, 소프트 상태, 최종적으로 일관성...