2024/07/23 3

02_Socket_IO

Socket is defined by a 5-tuplee.g., 2개의 브라우저가 example.com의 80번 포트에 동시접속 하는 경우Local IP address: 브라우저를 실행한 컴퓨터의 IP 주소Local port: 각 브라우저의 인스턴스의 로컬 포트번호Remote IP address: example.com의 IP주소Remote port: 80Protocol(TCP or UDP): TCP→ 두 브라우저의 소켓에서 Local IP, Remote IP, Remote port, Protocol 값은 똑같음 UNIX 시스템 콜 - open, read, write, closeOpen()int open (const char* Path, int flags);Path: open 하려는 파일의 pathname..

CS/Network 2024.07.23

SOLID

[SE.A02] SOLID1. SOLID 로버트 마틴이 객체지향프로그래밍 및 설계의 다섯 가지 기본 원칙을 소개한 것이다. 원칙을 지킴으로써 코드 수정 및 구조 변경을 유연하게 할 수 있다. SOLID 는 함수와 데이터 구조를 클래스로 배치하는 방법과 이들 클래스를 서로 결합하는 방법을 설명한다. SOLID 의 5 대 원칙을 나열하면 다음과 같다. - SRP(Single Responsibility Principle) 단일 책임 원칙 - OCP(Open/Closed Principle) 개방-폐쇄 원칙 - LSP(Liskov Substitution Principle) 리스코프 치환 원칙 - ISP(Interface Segregation Principle) 인터페이스 분리 원칙 - DIP(Dependency ..

No Silver Bullet - Essence and Accident in Software Engineering 논문 요약

[SE.A.01] “No Silver Bullet —Essence and Accident in  Software Engineering 에 대한 요약 [Summary of No Silver Bullet —Essence  and Accident in Software Engineering]”  1. 서론 “한 번에 완벽한 해결책은 없다.” 늑대인간은 친숙한 모습에서 무서운 모습으로 예상치 못하게 변하는 특징이 있다. 은총알은 늑대인간을 한 번에 무너뜨릴 수 있는 무기이다. 친숙한 소프트웨어 프로젝트도 간단해보이지만 일정이 어긋나고, 예산이 부족하고, 결함이 생기면 공포스러운 괴물의 모습으로 변하는 특징을 가진다. 그래서 은총알처럼 소프트웨어의 비용을 빠르게 낮춰줄 하드웨어가 필요하다. 하지만 저자는 향후 10..