
안녕하세요 ! 국산 엘런 입니다 :) Robert C Martin(Uncle Bob) 형님이 블로그에 기재하시면서 화재가 된 것이 Clean Architecture 입니다. Clean Architecture 에 대한 소개에 앞서 알아야할 개념 두가지, Business Rule 과 System Architecture에 대해서 먼저 짚고 넘어가겠습니다. Business Rule ? Business Rule(Logic)은 컴퓨터 프로그램에서 실세계의 규칙에 따라 데이터를 생성·표시·저장·변경하는 부분을 일컫는다. (= domain logic) Business Rule(Logic) 은 유저의 입력(UI) 과 DB 사이에서 발생한 정보 교환을 위한 특정 알고리즘이나 규칙이 정의된 tier입니다. 이는 고객의 요구..

왜 아키텍쳐를 고려해야만 할까? 아키텍쳐를 고려하지 않는 다면 매우 비대해진 클래스를 마주하게 됩니다. 그리고 이를 디버깅하는 동료 뿐만 아니라 본인 조차 이해하고 수정하는 데 너무나도 많이 시간을 허비해야만 합니다. 결국 수정을 포기하게 되죠(?) 서비스 규모가 커짐에 따라 코드 또한 빠른 속도로 방대해 집니다. 그래서 우리는 이러한 상황에 대비하기 위하여 좋은 설계가 필요합니다. 좋은 아키텍처란 ? 각 객체들이 구체적이고 명확한 역할을 가지며, 그 역할이 적절하게 분배되어 있다. 데이터의 흐름이 단순하다. Testability 하다. 코드의 위치가 명확하다. 이 기준들을 가지고 하나씩 장단점을 따져봅시당 MVC Pros 개발자에게 너무나도 익숙한 구조. Cons Controller가 View Life..

Computer Network 공부를 하다보면 용어가 참 많고, 용어들간의 연결이 복잡하게 얽혀 있어 어렵게 느껴진다. 그래서 네트워크의 레이어 별로 용어를 정리하고 조금씩 정리를 해보려 한다. 추가적인 용어나 잘못된 내용 관련해서 댓글을 달아 주시면 너무너무 감사드리겠습니다 !! :) ... 레이어 별로 정리하기 전에 몇가지만 짚고 시작하겠다. Internet '네트워크의 네트워크'를 구현하여 모든 컴퓨터를 하나의 통신망 안에 연결 (Internet Network) 하고자 하는 의도에서 Internet 탄생. '정보의 바다'라고 불리면서 컴퓨터가 서버와 클라이언트로 연결되어 TCP/IP를 이용해 정보를 주고 받게 되었음. 기본 용어들 노드(Node) : 컴퓨터 네트워크 상에 연결된 장치 호스트(Host..