리팩토링은 무엇인가? 리팩토링이란 두 가지로 정의할 수 있습니다. 첫째, 겉으로 드러나는 기능은 그대로 둔 채, 알아보기 쉽고 수정하기 쉽게 소프트웨어 내부를 수정하는 일 둘째, 리팩토링 기법을 연달아 적용해 겉으로 드러나는 기능은 그대로 둔 채, 소프트웨어 구조를 변경하는 일 💡 리팩토링의 목적 우리가 만든 소프트웨어를 더 이해하기 쉽고 수정하기 쉽게 만드는 것, 즉 오늘의 기능은 정상적으로 수행하면서 내일의 변경에 유연하게 수용할 수 있도록 만들기 위함이라고 생각합니다. 켄트백의 모자 두 개 이야기 소프트웨어 개발 시 기능 추가 작업과 리팩토링 작업은 구분해야 하지만 우리는 기능 추가 모자와 리팩토링 모자를 번갈아 쓰게 됩니다. 처음 새 기능을 추가하다가, 지금까지 만든 기능의 구조를 변경하면 작업..
도메인이란? 도메인이란 소프트웨어로 해결하고자 하는 문제 영역입니다. 하나의 도메인은 여러 하위 도메인의 협력을 통해 완전한 기능을 제공합니다. 도메인을 하나의 객체라는 관점으로 바라본다면 객체지향의 본질처럼 협력을 통해 공동체를 구성하고, 객체는 고립된 존재가 아닌 하나의 애플리케이션 기능을 수행하기 위해 협력하는 사회적 존재로 바라볼 수 있을거 같습니다. 도메인 전문가와 개발자 간 지식 공유 우리가 소프트웨어로 해결하고자 하는 문제 영역에는 각 분야의 전문가가 있습니다. 예를들어 정산, 배송, 회계 영역에는 전문가가 있습니다. 해당 전문가는 해당 도메인에 대한 지식과 경험을 바탕으로 요구사항을 전달하고, 개발자들은 이런 요구사항을 토대로 개발을 진행합니다. 이때 요구사항을 제대로 분석하지 않으면 코드..
LinkedHashSet Linked HashSet은 HashSet과는 다르게 입력 순서를 보장해줍니다. Linked HashSet은 입력 순서를 보장하기 위해 Linked List처럼 이전 노드를 가리키는 변수와 다음 노드를 가리키는 변수를 가지고 있습니다. 이를 통해 순서를 보장하고 있습니다. 💡 Node의 구조 LinkedHashSet 구현 💡 구현하고자 하는 메서드 public interface Set { /** * 데이터가 Set에 없는 경우 데이터를 추가합니다. */ void add(E element); /** * 특정 데이터를 Set에서 삭제합니다. */ void remove(E element); /** * 특정 데이터가 포함되어 있는지 확인합니다. */ boolean contains(E e..
Hash Set Set은 중복 원소를 저장할 수 없으며 하나의 NULL값만 저장할 수 있습니다. 또한 순서를 보장하지 않기 때문에 순서 보장이 필요한 경우에는 LinkedHashSet을 사용해야 합니다. 우선 Set에 대해 살펴보기 전에 Hash란 친구는 어떤 역할을 하는지 알아보겠습니다. Hash 란? 어떠한 데이터를 Hash Function의 input으로 넣어 output으로 나오는 결과가 Hash라고 생각하면 됩니다. 그리고 이 도출된 Hash를 사용해 데이터 저장위치의 Key가 됩니다. 그렇다면 왜 Hash Function을 사용해 Hash를 만들고 이를 사용할까요? 그 이유는 효율적인 데이터 탐색이라고 생각할 수 있습니다. 해시를 사용한다면 자료구조(ex: List)를 순회하지 않고 효율적으로..
- Total
- Today
- Yesterday
- transactional outbox pattern spring boot
- spring boot excel download paging
- spring boot poi excel download
- space based architecture
- 트랜잭셔널 아웃박스 패턴 스프링부트
- transactional outbox pattern
- @ControllerAdvice
- redis 대기열 구현
- spring boot redisson 분산락 구현
- microkernel architecture
- 자바 백엔드 개발자 추천 도서
- pipeline architecture
- service based architecture
- polling publisher spring boot
- redis sorted set
- spring boot redis 대기열 구현
- spring boot excel download oom
- redis sorted set으로 대기열 구현
- spring boot 엑셀 다운로드
- pipe and filter architecture
- 레이어드 아키텍처란
- spring boot redisson destributed lock
- spring boot redisson sorted set
- java userThread와 DaemonThread
- 서비스 기반 아키텍처
- java ThreadLocal
- 트랜잭셔널 아웃박스 패턴 스프링 부트 예제
- 람다 표현식
- JDK Dynamic Proxy와 CGLIB의 차이
- 공간 기반 아키텍처
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |