-
객체 생성 : 빌더 패턴 ( Builder Pattern )Programming/패턴 2020. 9. 22. 01:58
GOF의 디자인 패턴 중 빌더 패던에 관한 내용. 정의 복잡한 객체의 생성 과정과 표현 방법을 분리하여 동일한 생성 절차에서 서로 다른 표현 결과를 만들 수 있게 하는 패턴 구조 Builder : 추상 인터페이스를 정의 ConcreteBuilder : 인터페이스들을 구현하며 각 부품을 모아서 결과로 정의하고 관리한다. Director : 인터페이스를 사용하는 객체를 합성. Product : 복합적인 객체를 표현함. 예제코드 ( 위키참고 ) #include // Product.. class Pizza { private: std::string dough; std::string sauce; std::string topping; public: Pizza(); ~Pizza(); void SetDough(const..
-
TCP : 3, 4 Way Handshake 연결, 전송, 종료 과정IT Tech/찍어먹는 IT 2020. 9. 20. 15:03
WireShark의 패킷 분석을 통하여 간략하게 정리를 해보았다. 패킷 헤더와 데이터로 구성된 화물 내용물이다. TCP 헤더 구조에 관해서는 따로 올리도록 하겠다. 3 Way Hand Shake 는 제타위키에서 아주 간략하게 정리를 해놓은 표. 조금더 세세하게 들어가면 다음과 같이 볼 수 있다. Client는 오른쪽에 있고, Server는 왼쪽이며 Client에서 연결을 알리며 시작을 한다. H e l l o \n 로 인해 seq 에 6을 더하여 ACK를 전달함. 마지막으로 세션을 종료하기까지의 과정이다. 클라이언트에서 먼저 종료를 하는 신호를 날리면서 시작한다.
-
[ 2020 Sept 16 ] 5~10 km 달리기내마음대로 일상/일기 2020. 9. 16. 02:00
요즘 서울 올라와서 수업 마치고 저녁마다 달리기를 시작했다. 대전에 있을때도 자주 했었는데 나름 재밌는 것 같아서 서울에 와서도 생각이 나서 달리기를 시작했다. 공원에 트랙이 하나 있는데 꽤나 긴 트랙이고 주변에 뛰는 사람들도 있어서 탄력도 받고 좋은 것 같다. 대전에 있을 땐 10km 달리기도 했었는데 너무 힘들어서 5km를 알차게 뛰기로 했다. 몇바퀴를 도는진 모르겠는데 아마 3바퀴반은 돌면 5km이다. 2~3일 주기로 달리고 있는데 뛴 다음날엔 활동적이고 긍정적? 이게 되서 좋은 것 같다. 머리도 잘 돌아가는 것 같기도 ㅋㅋㅋㅋㅋㅋㅋㅋ
-
OSI 7 LayerIT Tech/찍어먹는 IT 2020. 9. 13. 09:05
리피터 : 디지털 신호를 증폭시켜주는 장치 허브 : 여러 대의 컴퓨터를 연결하여 네트워크로 보내거나 하나의 네트워크로 수신된 정보를 여러 대의 컴퓨터로 송신하는 장비 스위치 : 네트워크 단위들을 연결하는 통신 장비 라우터 : LAN과 WAN 을 연결하거나 LAN과 LAN을 연결하기 위한 인터넷 네트워킹 장비 7 - 응용 계층 사용자와 네트워크 간의 응용 서비스 연결, 데이터 생성. 사용자가 네트워크에 접속할 수 있게 해주는 계층. 프로토콜 : HTTP, TELNET, DHCP, DNS, FTP, SSH, SMTP, SNMP L7 스위치 Data 단위 6 - 표현 계층 데이터의 형식 설정과 부호 교환, 암호화, 해독 프로토콜 : MIME, TLS, SSL, JPEG, MPEG, SMB, AFP Data 단..
-
데이터 구성 : Replace Array with ObjectProgramming/리팩토링 2020. 9. 10. 22:30
참고자료 https://refactoring.guru/replace-array-with-object Replace Array with Object Tired of reading? No wonder, it takes 7 hours to read all of the text we have here. Try our interactive course on refactoring. It offers a less tedious approach to learning new stuff. Let's see... refactoring.guru 정의 배열의 특정 요소가 다른 뜻을 가지고 있다면, 배열을 각각의 요소에 대한 필드를 가지는 객체로 바꾼다. 예시 String[] row = new String[3]; row[0] =..
-
IPv4 HeaderIT Tech/찍어먹는 IT 2020. 9. 10. 13:14
IPv4 Header 구조 괄호 안은 bits 수를 나타냄 Version (4) IHL (4) DS field (6) ECN Total Length (16) Identification (16) Flags (3) Fragment Offset (13) Time to Live Protocol Header checksum Source Address Destination Address IPv4 Options ( 0-10 rows ) Padding Version (4bits) 현재 버전 4를 사용 Header Length - IHL (4bits) 헤더의 길이 Type of Service (Tos) Flag (8bits) 요구되는 서비스 품질을 나타냄 ( Tos = DS field + ECN ) Total Pache..
-
데이터 구성 : Change Value to Reference, Change Reference to ValueProgramming/리팩토링 2020. 9. 7. 16:04
참고자료 https://refactoring.guru/change-value-to-reference Change Value to Reference Tired of reading? No wonder, it takes 7 hours to read all of the text we have here. Try our interactive course on refactoring. It offers a less tedious approach to learning new stuff. Let's see... refactoring.guru https://refactoring.guru/change-reference-to-value Change Reference to Value Tired of reading? No wond..
-
[PHP] 표준 권고 ( PSR )Programming/프로그래밍 2020. 9. 7. 01:05
- PSR-FIG 이것은 규칙, 규정안이 아니지만 사실상의 표준을 제정하는 것. 하지만, 개발자의 편안함을 위해 고안되었으며 코드의 가독성에 대해 얘기를 한다. - 오토로딩 PHP 프레임워크는 오토로딩을 통해 함께 작동한다. 모던 PHP의 컴포넌트와 포레임워크 대부분이 공통 오토로더를 준수한다. - 코드 스타일 ▶PSR - 0 : Autoloading Standard ( 사실상, 중단 ) autoloader 를 통해 클래스를 손쉽게 로딩할 수 있도록 하는 표준. PSR-4가 제정되면서 무효화. PSR-4는 PHP-5.4 이상에서 사용가능. ▶ PSR - 1 : Basic Coding Standard - 네임스페이스와 클래스는 오토로딩 표준 ( PSR-0, PSR-4 )를 따름. - PHP 파일은 BOM ..