
Object - 5장 책임 할당하기
책임 할당 과정은 일종의 trade-off 활동이다. 📖 5.1 책임 주도 설계를 향해 데이터보다 행동을 먼저 결정하라 협력...
2023년 9월 24일
Object - 4장 설계 품질과 트레이드오프
객체지향 설계란 올바른 객체에게 올바른 책임을 할당하면서 낮은 결합도와 높은 응집도를 가진 구조를 창조하는 활동 객체지향 설계...
2023년 9월 17일
Object - 3장 역할, 책임, 협력
객체지향 패러다임 관점에서 핵심은 역할(role), 책임(responsibility), 협력(collaboration) 이다....
2023년 9월 10일
Object - 2장 객체지향 프로그래밍
📖 2.1 영화 예매 시스템 🔖 2.1.1 요구사항 살펴보기 영화 영화에 대한 기본적인 정보 표현 제목, 상영시간, 가격 ...
2023년 9월 3일
Object - 1장 객체, 설계
로버트 L. 글래스는 이론보다 실무가 먼저라고 주장한다. 어떤 분야든 초기 단계에서는 아무것도 없는 상태에서 이론을 정립하기보...
2023년 8월 27일
Unit Testing - 11장 단위 테스트 안티 패턴
📖 11.1 비공개 메서드와 테스트 취약성 🔖 11.1.1 비공개 메서드와 테스트 취약성 비공개 메서드를 노출하면 테스트가...
2023년 6월 4일
Unit Testing - 10장 데이터베이스 테스트
목에 대해 리팩터링 내성과 회귀 방지를 최대화해서 최대 가치의 통합 테스트를 개발하는 데 도움이 되는 지침을 알아본다. 📖 ...
2023년 5월 28일
Unit Testing - 9장 목 처리에 대한 모범 사례
목에 대해 리팩터링 내성과 회귀 방지를 최대화해서 최대 가치의 통합 테스트를 개발하는 데 도움이 되는 지침을 알아본다. 📖 ...
2023년 5월 14일
Unit Testing - 8장 통합 테스트를 하는 이유
단위 테스트에만 전적으로 의존하면 시스템이 전체적으로 잘 작동하는지 확신할 수 없다. 단위 테스트는 비즈니스 로직을 확인하는 ...
2023년 5월 7일
Unit Testing - 7장 가치 있는 단위 테스트를 위한 리택터링
📖 7.1 리팩터링할 코드 식별하기 기반 코드를 리팩터링하지 않고서는 테스트 스위트를 크게 개선할 수 없다. 리팩터링 방향을...
2023년 4월 23일
데이터 중심 애플리케이션 설계 - 7장 트랜잭션
어떤 저자들은 2단계 커밋에서 유발되는 성능이나 가용성 문제 때문에 생기는 비용이 너무 커서 이를 지원할 수 없다고 주장했다....
2023년 4월 16일
Unit Testing - 6장 단위 테스트 스타일
📖 6.1 단위 테스트의 세 가지 스타일 단위 테스트는 세가지 스타일이 있다. 출력 기반 테스트 상태 기반 테스트 통신 기반...
2023년 4월 8일
데이터 중심 애플리케이션 설계 - 5장 복제
📖 5.0. Part2. 분산 데이터 분산 데이터베이스 필요한 이유 확장성 내결함성/고가용성 지연 시간 스케일업, 수직 확장...
2023년 4월 3일
Unit Testing - 5장 목과 테스트의 취약성
목과 테스트 취약성 사이에는 깊고 불가피한 관련이 있다. 📖 5.1 목과 스텁 구분 🔖 5.1.1 테스트 대역 유형 테스트...
2023년 3월 26일
데이터 중심 애플리케이션 설계 - 4장 부호화와 발전
만물은 변한다. 그대로 있는 것은 아무것도 없다. 시스템의 원활한 실행을 위해선 양방향으로 호환성을 유지해야함. 하위 호환성 ...
2023년 3월 26일
데이터 중심 애플리케이션 설계 - 3장 저장소와 검색
데이터베이스가 데이터를 저장하는 방법과 데이터를 요청했을 때 다시 찾는 방법을 알아보자. 애플리케이션에 적합한 엔진을 선택하려...
2023년 3월 19일
Unit Testing - 4장 좋은 단위테스트의 4대 요소
📖 4.1 좋은 단위테스트의 4대 요소 자세히 살펴보기 회귀 방지 리택터링 내성 빠른 피드백 유지 보수성 🔖 4.1.1 첫...
2023년 3월 12일
데이터 중심 애플리케이션 설계 - 2장 데이터모델과 질의언어
📖 2.1. 관계형 모델과 문서 모델 관계형 데이터모델 데이터는(SQL의 테이블) 관계(relation)로 구성 각 관계는 ...
2023년 3월 9일
Unit Testing - 3장 단위 테스트의 구조
📖 3.1 단위 테스트를 구성하는 방법 🔖 3.1.1 AAA 패턴 사용 준비(Arrange), 실행(act), 검증(ass...
2023년 3월 5일
Unit Testing - 2장 단위 테스트란 무엇인가?
고전파와 런던파를 구분짓는 정의는? 📖 2.1 단위 테스트의 정의 단위테스트의 속성 작은 코드 조각(단위)을 검증 빠르게 수...
2023년 2월 19일
Unit Testing - 1장 단위 테스트의 목표
단위 테스트는 단순히 테스트를 작성하는 것보다 더 큰 범주이며, 단위 테스트에 시간을 투자할 때는 항상 최대한 이득을 얻도록 ...
2023년 2월 12일
JPA Auditing
JPA Auditing 대부분의 테이블은 공통적으로 관리되는 시스템생성일자, 시스템생성자.. 등의 컬럼이 존재합니다. JPA를...
2022년 2월 13일
04.API Gateway
04.API Gateway 이전 포스팅에 이어, MSA에서의 API Gateway 를 알아보겠습니다. API Gateway의 ...
2021년 11월 15일
03.Service Discovery - Eureka
03.Service Discovery - Eureka 이전 포스팅에 이어, Service Discovery 인 Eureka에 ...
2021년 11월 12일
02.Client Side Load Balancer - Ribbon Client
02.Client Side Load Balancer - Ribbon Client 이전 포스팅에 이어, Client Side L...
2021년 10월 5일
01. Circuit Breaker - Hystrix
01.Circuit Breaker - Hystrix MSA 전환 프로젝트에서 사용하는 기술을 정확히 알고자 정리해 보았습니다....
2021년 10월 1일
02. Gradle의 Task
02. Gradle의 Task Gradle은 명령에 의해 테스크(task) 을 수행할 수 있다. 🛠Task 01. 기본 bu...
2021년 9월 17일
01. Gradle의 탄생과 build.gradle
01. Gradle의 탄생과 build.gradle 지금까지 Maven을 이용한 프로젝트를 진행해왔지만, Gradle을 이용하...
2021년 9월 15일
JAR vs WAR
JAR vs WAR 백기선님과의 런치 Spring Study 중에 나왔던 내용이었고, 저도 대충만 알고 있던 내용이라 정리해 ...
2021년 9월 10일
이펙티브자바 3판 12장 정리
12장 직렬화 객체 직렬화란 자바가 객체를 바이트 스트림으로 인코딩하고(직렬화) 그 바이트 스트림으로부터 다시 객체를 재구성하...
2021년 9월 2일
Spring Data JPA에서 save 와 saveAll 비교
Spring Data JPA에서 save 와 saveAll 비교 프로젝트를 중 다건 데이터를 업데이트 하기 위해, 자연스럽게 ...
2021년 8월 27일
Java 버전별 특징
Java 버전별 특징 흔히 말하는 모던자바(8 이후 버전)의 큰 특징과 변경 및 추가사항들을 정리해보았다. ☄Java 1.8 ...
2021년 8월 23일
이펙티브자바 3판 11장 정리
11장 동시성 스레드는 여러 활동을 동시에 수행할 수 있게 해준다. 하지만 신중히 프로그래밍 해야 한다. 목차 아이템78. 공...
2021년 8월 8일
Travis CI vs Jenkins
Travis CI vs Jenkins 0. CI의 목표 CI(Continuous Intgretion, 지속적 통합)는 코드를 ...
2021년 7월 30일
04.도커 컴포즈(Docker compose)
04. 도커 컴포즈(Docker compose) 1. 도커 컴포즈란 docker compose는 다중 컨테이너 도커 어플리케이...
2021년 7월 28일
03.도커 명령어(Docker cli)
03. 도커 명령어(Docker cli) 도커의 기본 명령어들과 의미를 알아보자! 1. docker run docker: 도...
2021년 7월 26일
02.도커(Docker)와 하이퍼바이저(Hypervisor)
02. 도커와 하이퍼바이저 프로젝트를 진행하며 어렴풋이 알고 있었던 도커를 명확하게 이해하고자 여름휴가 중에😭 정리해봅니다....
2021년 7월 26일
01.도커(Docker)는 무엇일까?
01. 도커는 무엇일까? 프로젝트를 진행하며 어렴풋이 알고 있었던 도커를 명확하게 이해하고자 여름휴가 중에😭 정리해봅니다. ...
2021년 7월 26일
Spring Data JPA의 save vs saveAndFlush
Spring Data JPA의 save 와 saveAndFlush의 차이점 최근에 JpaRepository의 save와 sav...
2021년 7월 2일
Spring Filter와 Interceptor
Spring Filter와 Interceptor 🛠Filter J2EE 표준스펙인 필터(Filter)는 Dispatcher ...
2021년 6월 26일
Spring Bean 과 Bean Scope
Spring Bean 과 Bean Scope Spring에서 흔히들 들어봤을 Bean의 정의와 더 나아가서 Bean Scope...
2021년 6월 19일
Spring @Component와 @Bean 차이
Spring @Component와 @Bean 차이 프로젝트에서 Spring Batch를 이용한 개발을 하다가 @Componen...
2021년 6월 18일
스프링과 스프링부트 차이(Spring vs Spring Boot)
Spring vs Spring Boot Spring과 Spring Boot의 차이를 간단히 정리해 보자. 1. 개요 현재 비...
2021년 6월 17일
이펙티브자바 3판 10장 정리
10장 예외 예외를 제대로 활용한다면 프로그램의 가독성, 신뢰성, 유지보수성이 높아지지만, 잘못 사용하면 반대의 효과만 나타난...
2021년 6월 16일
이펙티브자바 3판 9장 정리
9장 일반적인 프로그래밍 원칙 이번 장에서는 자바 언어의 핵심 요소에 집중한다. 지역변수, 제어구조, 라이브러리, 데이터 타입...
2021년 5월 24일
스트림 프로세싱이란?
스트림 프로세싱이란? 스트림 프로세싱은 스트리밍 데이터가 레코드나 정의된 단위에 따라 순차적으로 처리되는 것을 의미한다. 스트...
2021년 5월 19일
이펙티브자바 3판 8장 정리
8장 메서드 이번 장의 내용 중 상당부분은 메서드뿐 아니라 생성자에도 적용된다. 목차 아이템49. 매개변수가 유효한지 검사하라...
2021년 5월 17일
JPA 기본 키 매핑
JPA 기본 키 매핑 프로젝트를 중 직접 할당방식을 쓰다가 IDENTITY 전략으로 바꾸게 되어서 스터디를 진행하며 공부한 것...
2021년 5월 15일
이펙티브자바 3판 7장 정리
7장 람다와 스트림 자바8에서 함수형 인터페이스, 람다, 메서드 참조, 스트림 API가 추가되었다. 목차 아이템42. 익명 클...
2021년 5월 12일
아파치 플링크(Apache Flink)
아파치 플링크란? 플링크(Flink)는 독일어로 민첩함을 뜻하는 단어로 베를린 TU대학교에서 시작된 아파치 프로젝트이다. Ex...
2021년 5월 11일
아파치 카프카(Apache Kafka)의 용어 및 특징
아파치 카프카란? 카프카는 링크드인에서 개발한 대용량, 대규모 메시지 처리 시스템이다. ⚙Pub-Sub 구조 카프카는 Publ...
2021년 5월 10일
이펙티브자바 3판 6장 정리
6장 열거 타입과 애너테이션 자바에는 특수한 목적의 참조타입이 2가지가 있다. 클래스의 일종인 열거타입 인터페이스의 일종인 애...
2021년 5월 5일
이펙티브자바 3판 5장 정리
5장 제네릭 제네릭은 jdk1.5 부터 사용할 수 있다. 제네릭을 지원하기 전에는 컬렉션에서 객체를 꺼낼 때 마다 형변환을 해...
2021년 4월 21일
이펙티브자바 3판 4장 정리
4장 클래스와 인터페이스 추상화의 기본 단위인 클래스와 인터페이스는 자바 언어의 심장과도 같다. 그래서 자바 언어에는 클래스와...
2021년 4월 7일
이펙티브자바 3판 3장 정리
3장 모든 객체의 공통 메서드 Object에서 final이 아닌 메소드(equals, hashCode, toString, cl...
2021년 3월 28일
이펙티브자바 3판 2장 정리
2장 객체생성과 파괴 목차 아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라 아이템2. 매개변수가 많다면 빌더를 고려하라 ...
2021년 3월 21일
Thread Safe란?
Thread-Safe 흔히 자연스럽게 쓰고 있고 자주 들어본 Thread-Safe의 정의와 이를 위한 방법들을 정리해보았습니다...
2021년 3월 18일
RDBMS vs NoSQL
RDBMS 와 NoSQL의 차이 mongoDB의 공식 Document를 참고해서 정리하였습니다. 🎈 RDBMS의 역사와 No...
2021년 3월 15일
트랜잭션 격리수준(Transaction의 Isolation Level)
Transaction의 Isolation Level 01. Transaction Isolation Level(트랜잭션 격리수...
2021년 3월 3일
JPA(Java Persistence API)의 장점
JPA(Java Persistence API)의 장점 최근 프로젝트에서 시니어분들의 MyBatis(SQL Mapper 방식)와...
2021년 2월 25일
Java 컴파일 과정(Java Compile)
Java 컴파일 과정(Java Compile) Java의 컴파일 과정을 자세히 알아보자 01. Compile의 정의 ❓ com...
2021년 2월 20일
Java 묵시적 형변환(Promotion) vs 명시적 형변환(Casting)
묵시적 형변환(Promotion) vs 명시적 형변환(Casting) Java에서 서로 다른 데이터 타입끼리 연산이 필요한 경...
2021년 2월 18일
Web Server vs WAS
Web Server vs WAS Web Server와 Web Application Server의 차이점을 알아보자! 1. We...
2021년 2월 16일
트랜잭션(Transaction)과 트랜잭션의 특성(ACID)
트랜잭션(Transaction)과 트랜잭션의 특성(ACID) 학습조직을 진행하던 중, DB isolation level에 대해...
2021년 2월 10일
HTTP 메소드(Method)의 종류와 속성
HTTP 메소드(Method)의 종류와 속성 개발자라면 당연히 알아야 되는 HTTP 메소드에 대해 정리를 해보았다. HTTP ...
2021년 1월 25일
프로세스와 스레드
프로세스와 스레드 우리가 흔히 개발하다보면, 멀티 프로세스, 멀티 스레드 등의 용어를 흔히 접할 수 있습니다. 저 또한 추상적...
2021년 1월 23일
세션(Session)과 쿠키(Cookie)
세션(Session)과 쿠키(Cookie) 세션과 쿠키는 둘다 웹 통신간 유지 및 저장하려는 정보를 저장하기 위해 사용하는 것...
2021년 1월 10일