최신글
-
[강의 공부] 시스템 디자인 첫걸음
대규모 백엔드 시스템을 어떤 기술과 어떻게 설계할 수 있는지, 트레이드오프를 고려한 기술적 의사결정과 실제 서비스에서 사용되는 주요 기술 등을 배울 수 있습니다. 간단한 프로젝트라도 설계없이 코드만 작성한다면 몇달지나서 유지보수하기 힘든 코드를 맞닥뜨릴 수 있습니다. 그래서 기본적인 백엔드 시스템에 대한 학습을 하고 나면 그 코드에 고민을 드러내어 좀 더 나은 시스템을 만들 수 있을 것입니다. 정리할 때 키워드 위주로 정리하였고, 시스템을 설계하기 전에 정리된 자료를 참고하면 좋을 것 같습니다잘 만든 시스템의 기준목표를 얼마나 달성했는가신기술 X최신 아키텍처 X많은 유저를 모으고 잡아둘 수 있는 서비스를 만들어 수익 창출 O만드려는 서비스에 따라 목표가 달라질 수 있다지금 이 순간 주요 목표에 가장 적합..
2026.01.27
-
[강의 공부] 토비의 클린 스프링 - 도메인 모델 패턴과 헥사고날 아키텍처 Part 1
JDK 설정하는 여러 방법부터 도메인에 대한 설명 그리고 실제 코드레벨에서 적용까지 상세하게 설명해주셔서 좋았습니다. 클린코드를 적용하기 위해 테스트코드를 어떻게 작성할 수 있는지, 도메인 모델 아키텍처와 헥사고날의 사실과 오해에 대한 내용까지 깊이 있게 학습할 수 있습니다개발환경구성자바 버전 관리IDE의 JDK 다운로드JDK 배포판 웹사이트에서 다운로드JDK 버전을 관리하는 도구 이용대표적으로 SDKMAN 사용여러 Java / 개발 SDK 버전을 프로젝트별로 깔끔하게 관리해주는 도구프로젝트 루트내에 관리할 수 있어서 git에 올려서 같이 공유할 수 있음API 테스트PostmanHTTPie터미널을 사용한 간단하고 빠른 테스트 가능Docker ComposeSpring Boot 3.1버전부터 Docker C..
2026.01.18
-
[강의 공부] 제미니의 개발실무 - 커머스 백엔드 기본편
현재 상황이 사용자가 10000명, 상품이 10000개 이상이고, 꾸준히 성장하고 있는 상황에서 개발자가 단 3명밖에 없다면 어떤 고민을 해야하고, 어떻게 개발을 진행해야 할까? 클린코드, 헥사고날 아키텍처도 좋지만 결국에는 일이 잘 되게 하는 것이 목적이다. 이 강의는 그러한 트레이드 오프속에 고민하고 문제해결을 위주로 생각하도록 도와주는 강의로써 좋은 강의입니다!상품목록ProductService 라는 클래스 안에 굳이 ProductFinder 클래스를 따로 만들어 둔 이유조회(Query) 책임을 서비스에서 분리시키기 위해.class ProductService { fun findProduct(...) { ... } fun findProductsByCategory(...) { ... } ..
2026.01.13
-
[책 공부] 주니어 백엔드 개발자가 반드시 알아야 할 실무 지식
공부한 책 내용을 그대로 적는 것이 아닌 용어와 간단한 개념 설명 정도로만 정리하였습니다. 필요할 때 모르는게 있다면 그 때 검색하기 위함입니다. 주니어 개발자로써 다방면으로 시니어 개발자가 조언해주는 느낌입니다. 보면 생각의 전환으로 좋습니다.뭐든 성능을 높이겠다고 처음부터 어렵게 설계해놓으면 오버 엔지니어링이 될 수 있다. 일단 사용자를 불러들이는 것이 가장 중요하고, 그 후에 대처하는 것이다. 대처하기 위해서는 당연히 공부를 해야 한다. 초반에 어느정도는 대처할 수 있을 것이다.느려진 서비스처리량과 응답시간구글에 따르면 검색 지연 시간이 길어질수록 사용자당 검색 횟수가 줄어드는 경향이 있다.100ms 지연 시: 검색 횟수 0.2% 감소400ms 지연 시: 검색 횟수 0.6% 감소서버가 처리할 수 있..
2026.01.10
-
[책 공부] AWS 잘하는 개발자 되기
AWS에서 제공하는 서비스들이 어떤 것들이 있는지, 왜 생기게 되었는지, 어떻게 설정하면 좋은지에 대한 내용을 배울 수 있습니다. 만약 AWS에 익숙하다면 굳이 이 책을 보지 않아도 되지만 사용해보지 않은 경우에는 한번쯤 볼만한 책입니다. (하지만 요새는 AI가..)IAMAWS에서 권한 관리는 주로 AWS IAM을 활용하여 이루어진다. 예외로 데이터 관리와 보안에 아마존 S3와 백업과 복원 등을 지원하는 AWS 백업의 백업 볼트(Backup Vault)와 같은 서비스를 이용해 자체적인 엑세스 정책을 설정하여 관리할 수도 있다.IAM(Identity and Access Management)은 AWS 계정 내에서 각 사용자, 그룹 또는 리소스에 대한 권한을 중앙 집중적으로 관리한다. 이를 통해 AWS에 대한..
2026.01.06
-
[책 공부] 개발자를 위한 쉬운 도커
그동안 도커에 대해서 듣기만 했지만 제대로 공부를 한적이 없었습니다. 이번 기회를 통해 공부를 하게 됐고, 이 책은 도커의 원리, 구성, 왜 탄생하게 되었는지, 실무에서는 어떻게 쓰이는지에 대해 자세하게 설명하고 있습니다. 그래서 도커를 공부하고 싶다면 이 책을 꼭 추천합니다!서버 운영 방식도커는 컨테이너를 관리하는 소프트웨어이다. 컨테이너는 서버를 효율적으로 사용하기 위한 가상화 기술이다.엔터프라이즈 환경에서 기업이 서비스를 운영할 때 하나의 서비스는 다양한 종류와 역할을 가진 여러 서버로 구성된다. 이때 기업에서 여러 서버를 운영하는 방법은 크게 3가지로 나뉜다.베어메탈(bare metal): PC 한 대에 운영체제를 설치하고, 그 OS에서 여러 소프트웨어를 운영하는 방식하이퍼바이저, 컨테이너: 서버..
2026.01.03
-
[책 공부] 리눅스 입문 with 우분투
처음에 리눅스 공부하기에 좋은 책입니다. 리눅스 뿐만 아니라 리눅스에서 사용되는 CS지식들도 설명해주고 있어서 한권만 봐도 잘 배울 수 있는 것이 좋습니다.리눅스란리눅스는 무료로 사용할 수 있는 오픈소스 운영체제이다. 운영체제란 컴퓨터의 하드웨어를 관리하고 프로그램들을 실행시켜주는 기본 소프트웨어이다. 리눅스 운영체제의 핵심 부분인 리눅스 커널(Kernel)이 있다.리눅스는 다양한 분야에 걸쳐 광범위하게 사용하는 운영체제이다. 현대의 거의 모든 프로그래밍 언어는 리눅스에서 개발 및 배포할 수 있다. 서버 분야나 컴퓨팅 분야 등 리눅스를 기반으로 하는 분야가 상당히 넓기 때문에 리눅스를 배우는 것이 필수이다.리눅스 설치PC에 리눅스 설치가상 머신에 리눅스 설치클라우드 서비스로 리눅스 인스턴스 생성집에서 실..
2026.01.01
-
[책 공부] 단위테스트
이 책은 테스트에 대해 조금이라도 공부를 해본 사람이라면 추천합니다. 단위테스트를 왜 작성해야하는지, 어떤 구조로 작성해야 좋은지를 굉장히 잘 설명하고 있습니다. 테스트코드를 작성함으로써 어떻게 지속 가능한 성장을 이룰 수 있는지를 회귀테스트, 리팩토링, 거짓 양성 등 다양한 개념을 도출하여 설명하고 있습니다. 또한 테스트코드를 잘 작성하는 것이 도메인 계층 간에 관심사를 분리하여 더욱 유지보수하기가 좋아지는 코드를 만들 수 있습니다.단위테스트 현황단위테스트의 목표는 소프트웨어 프로젝트의 지속 가능한 성장을 가능하게 하는 것이다. 지속 가능하다는 것이 단위테스트의 핵심이다. 테스트코드의 커버리지를 나타내는 지표가 있는데 반드시 100%일 필요는 없다. 너무 적으면 테스트코드가 부족하다는 문제가 되지만 1..
2025.12.29
-
[책 공부] 루비로 배우는 객체지향 디자인
객체지향 OOP에 대해서 공부하고 싶다면 이 책을 추천합니다. 좀 더 실무적인 관점에서 공부할 수 있어 좋았고 어떤 코드가 유지보수하기 좋은지 어떻게 설계해야 하는지 예시 도메인을 제시하고 설명해나갑니다.디자인은 어떻게 실패하는가디자인이 없는 애플리케이션은 그 자체로 붕괴의 씨앗을 품고 있다. 이런 애플리케이션은 쉽게 작성할 수 있지만, 점점 더 수정할 수 없는 애플리케이션이 된다. 나중에는 프로그래머가 새로운 수정 사항이 들어올 때마다 이렇게 말하기 시작한다. "응, 그 기능 추가할 수 있어. 대신 다른 기능은 다 고장날거야."변화를 손쉽게 받아들일 수 있도록 코드를 배치하는 일, 이것이 디자인이다.데이터(data)가 아닌 행동(behavior)에 기반한 코드를 작성하라행동은 메서드 속에 담겨 있고 메..
2025.12.28
-
[책 공부] 객체지향의 사실과 오해
인터페이스와 구현을 분리하자. 자연스레 테스트코드 작성이 쉬워지고, 도메인 모델이 설계가 유연하며, 변경이 용이한 시스템을 만들 수 있다. 객체를 클래스로 보지 않고 객체간의 협력 관계를 생각하고 그 협력 안에서 메시지가 어떻게 전달되고 받는지 행동을 먼저 생각하자.이 책은 신입이 볼 때와 3년차가 볼 때와 또 다릅니다. 꼭 읽었으면 하는 책이니 추천합니다!역할과 책임손님은 카페인을 채우기 위해 커피를 주문할 책임을 수행하고, 캐시어는 손님의 주문을 받는 책임을 성실히 수행하고, 바리스타는 주문된 커피를 제조하는 책임을 수행한다.커피 주문이라는 협력에 참여하는 모든 사람들은 커피가 정확하게 주문되고 주문된 커피가 손님에게 정확하게 전달될 수 있도록 맡은 받 역할과 책임을 다하고 있는 것이다. 사람 사는 ..
2025.12.26