일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 루씬 인 액션
- 크론 표현식
- @Getter
- Java
- @EnableScheduling
- K번째수
- 고차원 함수
- 커링
- 완주하지 못한 선수
- 모던 자바 인 액션
- 롬복 어노테이션
- 알고리즘
- 검색 기능 확장
- 정렬
- @Setter
- @Data
- kubenetes
- 쿠버네티스
- 해시
- 프로그래머스
- 스프링 스케쥴러
- H-index
- 전화번호 목록
- @configuration
- 스택/큐
- 다리를 지나는 트럭
- 코딩 테스트
- 영속 자료구조
- 기능개발
- 가장 큰 수
- Today
- Total
목록클린 아키텍처 (15)
Today I Learned

SOLID 원칙 SOLID 원칙은 함수와 데이터 구조를 클래스로 배치하는 방법, 그리고 이들 클래스를 서로 결합하는 방법을 설명해준다. SRP : 단일 책임 원칙 Single Responsibility Principle 각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. OCP : 개방-폐쇄 원칙 Open-Closed Principle 기존 코드를 수정하기보다는 새로운 코드를 추가하는 방식으로 시스템의 행위를 변경할 수 있도록 설계해야만 소프트웨어 시스템을 쉽게 변경할 수 있다. LSP : 리스코프 치환원칙 Liskov Substitution Principle 상호 대체 가능한 구성요소를 이용해 소프트웨어 시스템을 만들 수 있으려면, 이들 구성요소는 반드시 서로 치환 가능해야 한다. ISP : 인터..

1954년경에 앨런 튜링은 사람이 식별할 수 있는 형태의 실질적인 프로그램을 실제 컴퓨터에서 코드로 작성했다. 이들 프로그램은 반복문, 분기문, 할당문, 서브루틴, 스택 등 우리에게 익숙한 구조를 사용했다. 1940년대 후반 어셈블러가 처음으로 등장했다. 이 '언어'의 등장으로 바이너리 코드로 프로그램을 작성해야 했던 프로그래머의 단조롭고 고된 일이 줄어들었다. 1951년 그레이스 호퍼는 컴파일러(complier)란 용어를 만들고, 최초의 컴파일러인 A0을 발명했다. 1953년 포트란이 발명되었고 코볼, PL/1, SNOBOL, C, 파스칼, C++, 자바 등 수 많은 프로그래밍 언어가 발명되었다. 프로그래밍 패러다임(paradigm)에도 혁신적인 변화가 몰아쳤다. 패러다임이란 프로그래밍을 하는 방법으로..

프로그램이 동장하도록 만드는 데 엄청산 수준의 지식과 기술이 필요하지는 않다. 하지만 프로그램을 제대로 만드는 일은 전혀 다르다. 적정 수준의 지식과 기술을 겸비해야만 하며, 훈련과 헌신을 필요로 한다. 그렇지만 제대로 된 소프트웨어를 만들면 아주 적은 인력만으로도 새로운 기능을 추가하거나 유지보수할 수 있다. 변경은 단순해지고 빠르게 반영할 수 있다. 결함을 적어지고 잦아든다. 최소한의 노력으로 기능과 유연성을 최대화할 수 있다. 1장. 설계와 아키텍처란? 설계(design) = 아키텍처(architecture) 저수준의 세부사항과 고수준의 구조는 모두 전체 소프트웨어의 구성요소 저수준과 고수준을 구분하는 경계는 없다. 고수준에서 저수준으로 향하는 의사결정의 연속성만 존재한다. 소프트웨어 아키텍처의 목..