Books/Software Developments (6) 썸네일형 리스트형 소프트웨어는 살아 숨쉬는 생태계이다! (feat. 객체 지향의 사실과 오해 - 조영호) # 설계가 중요해? 프로그래밍에 있어 기능 하나를 위해 코드를 짜는 건 어느정도 문법만 뗀 사람이면 가능하다. 하지만 기능을 짤 수 있다는 사실 자체가 곧 좋은 소프트웨어를 만든다는 의미는 아니다. 소프트웨어는 수 많은 객체들이 살아가고 동적으로 상호작용하는 하나의 생태계이다. 이 생태계가 잘 유지되고 매일 매일을 살아가기 위해서는 이 공동체를 떠받들고 있는 근본 구조가 잘 지지해주어야 한다. 이를 프로그래밍의 세계에서는 ‘설계’라고 부른다. 기능을 잘 만드는 개발자라고 해서 반드시 설계를 잘한다고는 말할 수 없다. 애초에 요구하는 역량 자체가 다르고 소프트웨어 개발에 있어 소속되어 있는 범주도 다르기 때문이다. # 소프트웨어 설계의 관점 3가지 객체지향 설계에는 크게 개념 관점(Conceptual Pe.. Clean Architecture (로버트 C. 마틴) - 3 이 글은 로버트 C. 마틴의 'Clean Architecture'를 읽고 정리한 문서이며, 총 3부작으로 구성되어 있습니다. Clean Architecture (로버트 C. 마틴) - 1 Clean Architecture (로버트 C. 마틴) - 2 [ CHAPTER 5 ] 아키텍처 [ 15장 – 아키텍처란 ? ] #1. 무엇보다도 소프트웨어 아키텍트는 프로그래머이며, 앞으로도 계속 프로그래머로 남는다. 소프트웨어 아키텍트라면 코드에서 탈피하여 고수준의 문제에 집중해야 한다는 거짓말에 절대로 속아 넘어가서는 안 된다. 소프트웨어 아키텍트는 코드와 동떨어져서는 안 된다. 소프트웨어 아키텍트는 최고의 프로그래머이며, 앞으로도 계속 프로그래밍 작업을 맡을 뿐만 아니라 동시에 나머지 팀원들이 생산성을 극대화할 .. Clean Architecture (로버트 C. 마틴) - 2 이 글은 로버트 C. 마틴의 'Clean Architecture'를 읽고 정리한 문서이며, 총 3부작으로 구성되어 있습니다. Clean Architecture (로버트 C. 마틴) - 1 Clean Architecture (로버트 C. 마틴) - 3 [ CHAPTER 3 ] 설계 원칙 [ 7장 – SRP: 단일 책임 원칙 ] #1. 하나의 모듈은 하나의, 오직 하나의 액터에 대해서만 책임져야 한다. #2. SRP는 서로 다른 액터가 의존하는 코드를 서로 분리하라고 말한다. [ 8장 – OCP: 개방 폐쇄 원칙 ] #1. 소프트웨어 개체는 확장에는 열려 있어야 하고, 변경에는 닫혀 있어야 한다. #2. OCP는 시스템의 아키텍처를 떠받치는 원동력 중 하나다. OCP의 목표는 시스템을 확장하기 쉬운 동시에 .. Clean Architecture (로버트 C. 마틴) - 1 이 글은 로버트 C. 마틴의 'Clean Architecture'를 읽고 정리한 문서이며, 총 3부작으로 구성되어 있습니다. Clean Architecture (로버트 C. 마틴) - 2 Clean Architecture (로버트 C. 마틴) - 3 [ CHAPTER 1 ] 소개 #1. 프로그램이 동작하도록 만드는 데 엄청난 수준의 지식과 기술이 필요하지는 않다. 언제든 어린 고등학생이라도 할 수 있는 일이다. 이들이 작성한 코드는 그다지 깔끔하지 않을 순 있지만, 동작은 한다. 프로그램을 동작하게 만들기는 그리 어려운 일이 아니기 때문이다. 하지만 프로그램을 제대로 만드는 일은 전혀 다르다. 소프트웨어를 올바르게 만드는 일은 어렵다. 소프트웨어를 제대로 만들려면 적정 수준의 지식과 기술을 겸비해야 하지.. 구조를 알아야 개발이 보인다 (C++로 풀어보는 윈도우 구조) 이 글은 비제이퍼블릭에서 출간한 "(C++로 풀어보는 윈도우 구조) 구조를 알아야 개발이 보인다" 책을 읽고 나서 일부를 발췌한 내용입니다. [ 1장 - 왜 개발자는 윈도우를 알아야 하는가 ] p4) 프로그램을 개발하면 매번 문재 해결의 난관에 부딪치게 됩니다. 여기에서 문제를 해결할 수 있는 포인트를 하나 더 안다는 것은 엄청난 실력 차이를 가질 수 있게 되는 것입니다. p9) 윈도우는 NT 4.0(윈도우 95, 98, ME) 에서 많이 바뀌게 되었습니다. 현재 윈도우 10의 시스템 아키텍처 역시 대부분 NT 4.0의 구조에서 큰 줄기는 바뀌지 않았을 정도입니다. p14) Windows Sysinternals 프로그램 : 프로세스나 스레드, 메모리가 윈도우에서 어떻게 동작하는지 확인할 수 있도록 도와주.. Clean Code - 로버트 C.마틴 이 글은 로버트 C.마틴의 [Clean Code] 를 읽고 정리한 내용입니다. [ 1장 - 깨끗한 코드 ] #1. 보이 스카우트 규칙 아무리 잘 짠 코드도 시간이 지나면 엉망으로 되기 쉽다. 그래서 우리는 코드를 잘 짜는 것 이외에도 코드의 퇴보를 잘 막는 조치가 필요하다. 미국 보이스카우트의 규칙이 코드 관리에도 유용하다. 캠프장에 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라. 체크아웃할때보다 체크인할때 코드를 더 깔끔하게 해놓자. [ 2장 - 의미 있는 이름] #1. 검색하기 쉬운 이름을 사용하라 #2. 멤버 변수 접두어 (m_ 등) 를 붙일 필요가 없다 클래스와 함수는 접두어가 필요없을 정도로 작아야 마땅하고, 멤버 변수를 다른 색상으로 표시하거나 눈에 띄게 보여주는 IDE를 사용해야 마땅하다. 게.. 이전 1 다음