2-1. 네트워크의 기초 [02]- 네트워크 분류, 네트워크 성능 분석 명령어, 네트워크 프로토콜 표준화
·
CS 스터디
1. 네트워크 분류1) LAN (Local Area Network)같은 건물이나 캠퍼스 같은 좁은 규모의 근거리 통신망을 의미한다. 전송 속도가 빠르고 혼잡하지 않다. 2) MAN (Metropolitan Area Network)도시 같은 넓은 규모의 대도시 지역 네트워크를 의미한다. 전송 속도는 평균이며 LAN보다 혼잡하다. 3) WAN (Wide Area Network)국가 또는 대륙 같은 넓은 규모의 광역 네트워크를 의미한다. 전송 속도는 낮으며 MAN보다 혼잡하다. 2. 네트워크 성능 분석 명령어1) ping (Packet Internet Groper)네트워크 상태를 확인하려는 노드를 향해 패킷을 전송하고 응답 받는 명령어이며, 해당 노드의 패킷 수신 상태, 도달 시간 등을 알 수 있다. pi..
2-1. 네트워크의 기초 [01]- 처리량과 지연 시간, 네트워크 토폴로지와 병목 현상
·
CS 스터디
0. 네트워크란?네트워크란 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합이다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고, 링크는 유선 또는 무선을 의미한다. 네트워크를 구축할 때는 많은 처리량을 처리할 수 있으며, 지연 시간이 짧고, 장애 빈도가 적으며, 좋은 보안을 갖춘 '좋은 네트워크'를 만드는 것이 중요하다. 1. 처리량과 지연시간1) 처리량링크(link) 내에서 단위 시간당 전송될 수 있는 데이터의 양이다. 네트워크가 얼마나 많은 트래픽을 처리할 수 있는지 나타내는 지표로, 네트워크의 용량 또는 효율을 측정한다. 처리량은 네트워크 장치 간의 대역폭, 네트워크 에러, 프로토콜 오버헤드 등에 영향을 받는다. 단위는 초당 수신되는 비트 수를 ..
1-2. 프로그래밍 패러다임 - 선언형과 함수형 프로그래밍, 객체지향 프로그래밍, 절차형 프로그래밍
·
CS 스터디
0. 프로그래밍 패러다임 (Programming Paradigm)프로그래밍 패러다임은 프로그래머에게 프로그래밍의 관점을 갖게 해주는 개발 방법론이다. 프로그래밍 언어는 하나 이상의 패러다임을 지원하며, 개발자는 해결하려는 문제에 따라 가장 적합한 패러다임을 선택하여 코드를 작성한다. 프로그래밍 패러다임은 크게 선언형, 명령형으로 나눈다. 선언형은 함수형이라는 하위집합을 갖고, 명령형은 객체지향, 절차지향이라는 하위집합을 가진다. 1. 선언형과 함수형 프로그래밍 (Declarative And Functional Programming)1) 선언형 프로그래밍'무엇(What)'을 할 것인가에 집중하며 '프로그램은 함수로 이루어진 것이다'라는 명제가 담겨 있는 패러다임이다. 개발자는 원하는 최종 결과가 무엇인..
1-1. 디자인 패턴 [03] - MVC 패턴, MVP 패턴, MVVM 패턴
·
CS 스터디
1. MVC 패턴MVC 패턴은 모델(Model), 뷰(View), 컨트롤러(Controller)로 이루어진 디자인 패턴이다. 애플리케이션 구성 요소를 세 가지 역할로 구분하여 개발 프로세스에서 각 구성 요소에만 집중해서 독립적으로 개발할 수 있다. 재사용성과 확장성이 용이하지만, 애플리케이션이 복잡해질수록 모델과 뷰의 관계가 복잡해지는 단점이 있다. 1) 모델 (Model)모델은 애플리케이션의 데이터베이스, 상수, 변수 등의 데이터와 데이터를 조작하고 가공하는 규칙인 비즈니스 로직을 담당한다. 뷰나 컨트롤러에 대해 전혀 알지 못하며, 뷰에서 데이터를 생성하거나 수정하면 컨트롤러를 통해 모델을 생성하거나 갱신한다. 2) 뷰 (View)뷰는 데이터를 시각적으로 보여주는 사용자 인터페이스 요소를 나타낸다. ..
1-1. 디자인 패턴 [02] - 프록시 패턴과 프록시 서버, 이터레이터 패턴, 노출모듈 패턴
·
CS 스터디
1. 프록시 패턴과 프록시 서버 (Proxy Pattern and Proxy Server)1) 프록시 패턴프록시 패턴은 객체에 대한 접근을 가로채 필터링하거나 수정하는 등의 역할을 하는 디자인 패턴이다. 즉, 객체에 대한 접근을 제어하기 위해 대리인(Proxy) 객체를 두는 것이다. - 접근 제어 : 특정 객체에 접근하기 전, 권한을 확인하거나 로깅을 남기는 등 추가적인 작업을 한다.- 지연 초기화 : 객체를 실제로 사용하기 직전에 생성하여 메모리 사용량을 최적화한다. ex) 이미지 로딩- 보안 : 데이터 검증, 캐싱 등에 사용하며 프록시 서버로도 활용된다. 2) 프록시 서버프록시 서버는 서버와 클라이언트 사이에 위치하며, 클라이언트의 요청을 대신 처리하는 서버이다. 클라이언트는 프록시 서버에 요청을 ..
1-1. 디자인 패턴 [01] - 싱글톤 패턴, 팩토리 패턴, 전략 패턴, 옵저버 패턴
·
CS 스터디
0. 디자인 패턴이란? (Design Pattern)프로그램을 설계할 때 발생한 문제점들을 객체 간의 상호 관계 등을 이용하여 해결할 수 있도록 하나의 '규약' 형태로 만들어 놓은 것. 즉, 쉽게 말하면 개발하면서 발생한 문제를 어떻게 해결할 것인지에 대한 해결 방안이다. 1. 싱글톤 패턴 (Singleton Pattern)하나의 클래스에 하나의 인스턴스만 가지는 것으로, 해당 인스턴스를 다른 모듈이 공유하며 사용한다. 안드로이드 개발에서는 애플리케이션 전반에 걸쳐 상태를 관리하거나 리소스를 효율적으로 관리할 때 주로 사용된다. 예를 들어, SharedPreferences를 관리하는 클래스나 네트워크 통신을 위한 API 클라이언트 객체가 있다. 1) 안드로이드 개발에서의 싱글톤 패턴코틀린에서는 Ob..