면접을 위한 cs 전공노트 읽은부분 정리

최대환·2022년 7월 31일
0

참고책: 면접을 위한 cs 전공지식 노트

오늘 공부

132p까지 이해되든 안되든 쭉 한번 읽어봄


디자인 패턴

프로그램을 설계할때 발생했던 문제점을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 규약 형태로 만들어 놓은 것.

종류

  • 싱글톤 패턴: 하나의 클래스에 오직 하나의 인스턴스만 가짐. 데이터베이스 연결 모듈이 주로 사용.
  • 팩토리 패턴: 추상화한 패턴이자 상속 관계에 있는 두 클래스에서 상위클래스가 중요한 뼈대를 결정하고, 하위 클래스에서 객체 생성에 관한 구체적인 내용을 결정하는 패턴

*추상화: 핵심적인 코드만 보여주는것

나머지는 이해하고 추후에 씀.

상속과 구현의 차이

상속은 일반 클래스, abstract클래스를 기반으로 구현하며, 구현은 인터페이스를 기반으로 구현

상속(extends)

자식 클래스가 부모 클래스의 메서드 등을 상속받아 사용, 자식 클래스에서 추가 및 확장을 할 수 있는것.

구현(implements)

부모 인터페이스를 자식 클래스에서 재정의하여 구현하는것.
상속과는 달리 반드시 부모 클래스의 메서드를 재정의하여 구현해야함.

프로그래밍 패러다임

프로그래머에게 프로그래밍의 관점을 갖게 해주는 역할을 하는 개발 방법론

선언형은 무엇을 풀어내는거에 집중
명령형은 어떻게 풀어내는거에 집중

객체지향 프로그래밍(OOP)

설계에 많은 시간이 소요하지만 유지보수에 편리

객체지향 프로그래밍의 특징

  • 추상화: 핵심적인 개념을 간추려내는 것
  • 캡슐화: 객체의 속성과 메서드를 하나로 묶고 일부를 외부에 감추어 은닉시키는것
  • 상속성: 상위 클래승의 특성을 하위 클래스가 이어받아서 재사용하거나 추가하는것
  • 다형성: 하나의 메서드나 클래스가 다양한 방법으로 동작하는것 ex)오버로딩, 오버라이딩

오버리딩: 같은 이름을 가진 메서드를 여러개 두는것.
오버라이딩: 상위 클래스로부터 상속받은 매서드를 하위 클래스가 재정의하는 것

설계 원칙(SOLID)

  • 단일책임원칙
  • 개방-폐쇄 원칙
  • 리스코프 치환 원칙
  • 인터페이스 분리 원칙
  • 의존 역전 원칙

절차형 프로그래밍

코드의 가독성이 좋으며 실행속도가 빠름.
모듈화하기가 어렵고 유지 보수성이 떨어짐.

네트워크

네트워크란 노드와 링크가 서로 연결되어있거나 연결되어있지 않은 집합체

  • 노드: 서버,라우터,스위치 등 네트워크 장치
  • 링크: 유선 또는 무선

좋은 네트워크

좋은 네트워크란 많은 처리량을 처리할 수 있으며 지연시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크

  • 처리량: 링크를 통해 전달되는 단위 시간당 데이터양
  • 지연시간: 노드와 노드 사이를 왕복하는데 걸리는 시간. 요청이 처리되는 시간

네트워크 토폴로지

  • 트리 토폴로지
  • 버스 토폴로지
  • 스타 토폴로지
  • 링형 토폴로지
  • 메시 토폴로지

네트워크 분류

LAN: 근거리 통신망. 같은 건물같은 좁은 공간에서 운영. 전송속도가 빠름
MAN: 대도시 지역 네트워크. 전송속도 보통
WAN: 광역 네트워크. 전송속도 느림

네트워크 성능 분석 명령어

  • ping: 대상 노드를 향해 일정 크기의 패킷을 전송하는 명령어. 해당 노드까지 네트워크가 잘 되어있는지 확인 가능
  • netstat: 접속되어 있는 서비스들의 네트워크 상태를 표시하는데 사용. 주로 서비스의 포토가 열려있는지 확인할때 씀
  • nslookup: DNS 관련된 내용 확인하기 위해 쓰임
  • tracert: 목적지 노드까지 네트워크 경로를 확인할 때 사용. 목적지 노드까지 구간들 중 어느 구간에서 응답 시간이 느려지는지 등을 확인

유선 랜

IEEE802.3이라는 프로토콜을 따르며 전이중화 통신을 씀.
전이중화 통신: 양쪽 장치가 동시에 송수신 할 수 있는 방식.

profile
나의 개발지식 output 공간

0개의 댓글