- Today
- Total
목록Web Development (19)
개성있는 개발자 되기
1. 컴포넌트 컴포넌트는 시스템의 구성 요소로 배포할 수 있는 가장 작은 단위다. ex) 자바의 jar파일, 루비의 gem파일, 닷넷에서 DLL 잘 설계된 컴포넌트라면 반드시 독립적으로 배포 가능한, 따라서 독립적으로 개발 가능한 능력을 갖춰야 한다. 1) 컴포넌트의 간략한 역사 소프트웨어 개발 초창기에는 메모리에서의 프로그램 위치와 레이아웃을 프로그래머가 직접 제어했다. 즉, 프로그램을 빌드하기 위해서 어떤 소스가 어느 메모리 주소에 위치해야 하는지 프로그래머가 설정했어야했다. - 컴파일 후 프로그램의 위치가 한번 결정되면 재배치가 불가능 - 함수 라이브러리가 크면 클수록 컴파일은 더 오래 걸림 따라서 컴파일 시간을 단축시키기 위해 프로그래머는 함수 라이브러리의 소스코드를 애플리케이션 코드로부터 분리했..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ch0eT4/btqBPYGcAdE/Dvq1jQcxeEs0wuGntjP2F0/img.jpg)
좋은 소프트웨어 시스템은 깔끔한 코드 (clean code)로부터 시작한다. 그래서 좋은 아키텍처를 정의하는 원칙이 필요한데, 그게 바로 SOLID이다. SOLID 원칙의 목적은 중간 수준의 소프트웨어 구조가 아래와 같도록 만드는 데 있다. - 중간 수준 : 프로그래머가 이들 원칙을 모듈 수준에서 작업할 때 적용할 수 있는 수준 1) 변경에 유연하다. 2) 이해하기 쉽다. 3) 많은 소프트웨어 시스템에 사용될 수 있는 컴포넌트의 기반이 된다. SRP : 단일 책임 원칙 (Single Responsibility Principle) - 각 소프트웨어 모듈은 변경의 이유가 단 하나여야만 한다. OCP : 개방 폐쇄 원칙 (Open-Closed Principle) - 기존 코드를 수정하기보다는, 새로운 코드를 ..
![](http://i1.daumcdn.net/thumb/C150x150/?fname=https://blog.kakaocdn.net/dn/ckncsL/btqBRwhSvfL/BKzVDbGV1MCyUdVSGdSlu0/img.jpg)
2020년 상반기 스터디 시작. 동기들이랑 매분기 스터디 시작하는게 습관이 됬는데, 마음대로 방학을 해버린것도 습관이 되버렸다. 여태까지 코딩을 내 수준으로만 했는데, 이 책을 읽고 좀 더 Clean 해진 코드가 되길 바라며.. 열심히 해보자! 그리고 얼른 끝내고 닭도리탕에 소주 한잔 하러 가자.. 😃
패러다임이란 프로그래밍을 하는 방법으로, 대체로 언에는 독립적이다. 쉽게 말해, 프로그래밍의 역사, 트렌드라고 생각하면 된다. 책에서는 이 세가지 패러다임을 말하고 있으며, 이 외의 패러다임은 존재하지 않을 것이라고 한다. 구조적 프로그래밍 - 최초로 적용된 패러다임 - 데이크스트라는 무분별한 점포(goto 문장)는 프로그램 구조에 해롭다는 사시을 제시한다. - 따라서, 구조적 프로그래밍은 제어흐름의 직접적인 전환에 대해 규칙을 부과한다. 객체 지향 프로그래밍 - 요한 달(Ole Johan Dahl)과 크리스틴 니가드(Kristen Nygaard)는 알골 언어의 함수 호출 스택 프레임을 힙으로 옮기면, 함수 호출이 반환된 이후에도 함수에서 선언된 지역 변수가 오랫동안 유지될 수 있음을 발견했다. - 이 ..