‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 경계 횡단하기 ‘런타임에 경계를 횡단한다’ 함은 그저 경계 한 쪽에 있는 기능에서 반대편 기능을 호출하여 데이터를 전달하는 일에 불과하다. 적절한 위치에서 경계를 횡단하는 비결은 소스 코드 의존성 관리에 있다. 왜 소스 코드일...
[클린아키텍처] 17장 경계:선긋기
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 소프트웨어 아키텍처는 선을 긋는 기술이다. 이러한 선은 경계라 부르며 소프트웨어 요소를 서로 분리하고, 경계 한 편에 잇는 요소가 반대편에 있는 요소를 알지 못하도록 막는다. 아키텍트의 목표는 필요한 시스템을 만들고 유지하는데...
[클린아키텍처] 16장 독립성
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 16장 - 독립성 유스케이스 시스템 아키텍처는 시스템의 의도를 지원해야 한다. 가장 중요한 사항은 행위를 명확히 하고 외부로 드러내며, 이를 통해 시스템이 지닌 의도를 아키텍처 수준에서 알아볼 수 있게 만드는 것이다. 이들...
[클린아키텍처] 15장 아키텍처란?
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 5부 - 아키텍처 15장 - 아키텍처란? 소프트웨어 시스템의 아키텍처란 시스템을 구축했던 사람들이 만들어낸 시스템의 형태이다. 그 형태는 아키텍처 안에 담긴 소프트웨어 시스템이 쉽게 개발, 배포, 운영, 유지보수되도록 만들어진다...
[클린아키텍처] 12 ~ 14장
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 4부 컴포넌트 원칙 SOLID 원칙이 벽과 방에 벽돌을 배치하는 방법을 알려준다면, 컴포넌트 원칙은 빌딩에 방을 배치하는 방법을 설명해준다. 큰 빌딩과 마찬가지로 대규모 소프트웨어 시스템은 작은 컴포넌트들로 만들어진다. 12장...
[클린아키텍처] 7 ~ 11장
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 3부 설계 원칙 SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해준다. ‘클래스’ 라는 단어를 사용했다고 해서 SOLID 원칙이 객체 지향 소프트웨어...
[클린아키텍처] 1 ~ 6장
‘클린 아키텍처’ 기술 서적에 대해 학습했던 내용을 정리하기 위한 목적의 TIL 포스팅입니다.🙆♂️ 1부 - 소개 1장 - 설계와 아키텍처란? 목표는? 소프트웨어 아키텍처의 목표는 필요한 시스템을 만들고 유지보수하는데 투입되는 인력을 최소화하는데 있다. 새로운 기능을 출시할 때 마다 비용이 증가한다면 나쁜 설계라 볼수 있다....
[Java] HashSet은 어떠한 이유로 순서를 보장하지 않을까
HashSet 은 중복을 허용하지 않고 순서를 보장하지 않는다는 것은 많은 이들이 알고 있을 것이다. 그러면 어떠한 이유로 인해 순서를 보장하지 않을까? 라고 접근해봤을때 아주 잘 정리된 포스팅이 있어 여기를 참고하면 좋다.(✨정독 강추✨) 짧게 요약하면 다음과 같다. HashSet 은 내부적으로 HashMap 으로 구현되어 있다. Key Ob...
[클린코드] Chapter9-단위 테스트
아주 예전 개발자들은 실제 코드가 돌아간다는 사실을 확인하고 테스트 코드를 버렸다. 하지만 지금 같은 경우엔 코드가 제대로 도는지 황긴하는 테스트 코드를 수 없이 작성하고, 모든 테스트 케이스를 통과한 후엔 실제 제품 코드와 같은 소스 패키지로 확실하게 묶는다. 하지만 많은 프로그래머들이 제대로 된 테스트 케이스를 작성해야 한다는 좀 더 ...
[클린코드] Chapter8-경계
시스템에 들어가는 모든 소프트웨어를 직접 개발하는 경우는 드물다. 때로는 패키지를 사고, 오픈 소스를 이용한다. 때로는 사내 다른 팀이 제공하는 컴포넌트를 사용한다. 어떤 식으로든 이 외부 코드를 우리 코드에 깔끔하게 통합해야만 한다. 이 장에선 소프트웨어 경계를 깔끔하게 처리하는 기법과 기교를 살펴본다. 외부 코드 사용하기 ...