Computer Science/모델링 & 아키텍쳐 & 패턴 3

[객체지향] OOP와 객체지향 패턴, Grasp 패턴 정리

프로그래밍 문제를 분석해 문제를 해결하는 방법과 과정. (Problem Solving) 조직화하는 것을 '설계'라 함. 구조적 프로그래밍에서의 분할기준은 프로시저(절차, 함수). 절차지향과 차이점은 캡슐화, 다형성, 상속 지원, 데이터 접근 제한을 걸 수 있는지 여부. 효율적으로 하기 위한 방법론 중 하나가 객체지향. 알고리즘은 수학적인 풀이. 하지만 이로 모든 문제를 해결 할 수 없음. 객체지향은 어떤 문제를 잘게 나눠서 각각의 능동적인 주체로 만들기 위함. 잘게 나눈 객체들을 조합해 큰 문제를 해결하는 Bottom-Up 지향 큰 문제를 10개로 나눠 할당하고 각 주체가 자기가 맡은 책임에 대해 해결을 위해 '자율적'으로 노력하고 '협업'하기 위한 패러다임. 즉 객체지향에서 우리가 배워야 할 것은 '협..

[CS] Apache MPM vs NGINX vs Node.js

미스터코 님의 10분 테코톡 시청 후 작성하였습니다. 간단한 정의 MPM(multi-Processing-modules) 서버는 시스템의 네트웍 포트에 연결하고, 요청을 받아들이며, 받아들인 요청을 처리하기 위해 자식들에게 분배하는 다중처리 모듈(MPM)을 선택할 수있다. NGINX - 웹서버 Node.js : Chrome V8 Javascript 엔진으로 빌드된 JavaScript 런타임. [언제 어떤 것을 선택해야 하는가???????] 세가지 모두 '웹서버'의 역할을 할 수 있다. (Node.js는 웹서버역할도 WAS(Express.js)도 가능함. 때문에 결이 좀 다름.) 동시성은 예전이나 지금이나 중요하다. (어느정도 기간동안 무시하지 않을 수 있는 연결들(+요청들)) -옛적엔 너무느린 네트워크(1..

[CS] API vs Library vs Framework

티버님, 임루트, 욘님의 10분 테코톡 읽고 작성했습니다. API(application programming interface) : 응용 프로그램에서 운영 체제나 프로그래밍 언어가 제공하는 기능(다른 프로그램들, 서비스들)을 제어할 수 있게 만든 인터페이스 (프로그램 간의 연결을 시켜주는 다리) (직접구현이 아닌 제어를 담당) 인터페이스는 시스템을 구성하는 두개의 구성요소가 상호작용하기 위해서는 경계가 필요한데 인터페이스는 경계에서 각 구성요소가 접속하기 위한 하드웨어, 소프트웨어, 조건, 규약등의 총체이다.(가구들을 연결해주는 멀티탭) 클라이언트, 서버간의 메시지, 언어 등. App은 OS를 제외한 나머지 소프트웨어.(정의) Programming은 코딩을 통해 만들고 인터페이스에 접근하는 행위, 결과물..