📙 CS

📙 CS/📙 Algorithm

[Algorithm] Graph 표현 방식

알고리즘에서 '그래프(Graph)' 는 굉장히 중요한 자료구조이다. 실제 코딩 테스트에서도 그래프 관련 문제가 자주 나오기 때문에 알고리즘 공부를 한다면 꼭 알아야 한다. 그래프란 노트(Node) 와 에지(Edge) 로 구성된 집합이다. 노드는 데이터의 표현 단위이며 에지는 이를 연결한다. 가장 잘 알려진 그래프 알고리즘인 DFS, BFS, Dijkstra 등 모두 그래프를 알아야 이해할 수 있다. 오늘은 그래프를 표현하는 여러 방법 중 몇 가지를 알아보고자 한다. 코딩 테스트를 준비한다면 꼭 꼭 개념을 공부하고 넘어가도록 하자. 1️⃣ 에지 리스트(Edge List) 에지 리스트는 말 그대로 에지를 중심으로 그래프를 표현하는 방법이다. 보통 2차원 배열을 사용하며 배열에 출발, 도착 노드와 가중치를 저..

📙 CS/📙 Network

[Network] HTTP Message

1️⃣ HTTP Message 'HTTP Message' 는 서버와 클라이언트 간 데이터가 교환되는 방식이다. 메시지 타입엔 두 가지가 있다. 요청 (Request) : 클라이언트가 서버로 데이터를 전달하여 필요한 동작을 요청한다. 응답 (Response) : 클라이언트의 요청에 대한 서버의 답변이다. HTTP 메시지 는 ASCII 로 인코딩된 텍스트 정보이며, 각각의 정보가 그 역할에 맞게 구분되어 구성된다. 예전 HTTP/1.1 에서는 클라이언트와 서버와의 연결을 통해 공개적으로 전달되었으나, HTTP/2 에서는 최적화와 성능 향상을 위해 HTTP 프레임으로 나누어진다. 위 그림처럼 HTTP 메시지는 다양한 방식으로 제공되는데 API, 설정 파일, HTML 폼 등의 방식이 있다. HTTP/ 의 이진 ..

📙 CS/📙 Design Pattern

[Design Pattern] Singleton Pattern (싱글톤 패턴)

1️⃣ Singleton Pattern Singleton Pattern (싱글톤 패턴) 은 하나의 클래스가 오직 하나의 인스턴스만 가지는 패턴이다. 싱글톤 인스턴스는 최초 생성시 하나만 만들어지며, 해당 인스턴스를 다른 모듈이 공유하며 사용한다. Java에서 가장 기본적인 싱글톤의 형태는 다음과 같다. public class Singleton{ //객체는 하나의 인스턴스만 가진다. private static Singleton instance = new Singleton(); //생성자를 'private'로 제한하여 외부에서 싱글톤 객체를 만들지 못하게 한다. private Singleton() { } //get 메서드만을 통해서 싱글톤 객체를 얻을 수 있다. public static Singleton g..

📙 CS/📙 Algorithm

[Algorithm] Time Complexity : 시간 복잡도

1️⃣ Time Complexity : 시간 복잡도 우선 시간 복잡도를 알기 위해선 알고리즘(Algorithm) 의 개념을 이해해야 한다. 사전에 의하면 알고리즘은 수학과 컴퓨터 과학, 언어학 또는 관련된 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이며, 계산을 실행하기 위한 단계적 절차를 의미한다. 즉, 문제 풀이에 필요한 계산 절차 또는 처리 과정의 순서를 말한다. 그렇다면 좋은 알고리즘, 효율적인 알고리즘은 무엇일까? 어떻게 보면 연산의 횟수와 데이터의 크기에 따른 알고리즘의 수행 시간이 적을수록 효율적인 알고리즘이라고 할 수 있다. 이를 계산하기 위한 방법이 시간 복잡도이며, 주로 'Big-O (빅-오)' 표기법을 사용한다. 이는 알고리즘의 수행 시간을 평가하는 척도라고 할 수 있다...

📙 CS

About Internet

About ' Internet ' 오늘은 웹 개발에서 가장 기초적이고 필수적으로 알아야 하는 '인터넷' 에 대해 공부해보았다. 1학년 때 교양으로 들었던 '데이터통신과 네트워크' 과목을 기반으로 글을 작성했다. (거의 전공이었음 휴^^;) 인터넷 (Internet)이란 인터넷 프로토콜 (TCP/IP)을 기반으로 하여 전 세계적으로 연결된 컴퓨터 네트워크 통신망을 일컫는 말이다. 여기서 '프로토콜 (Protocol)'이란 데이터 통신을 제어하는 규칙의 집합 , 통신규약을 말한다.'TCP/IP' 는 컴퓨터간 통신을 위해 등장하였으며, LAN과 WAN에서 원활한 통신을 위해 사용된다. 개념 설명 1. LAN(Local Area Network) : 지역 네트워크 (근거리 통신망) 2. WAN(Wide Area ..

박갈
'📙 CS' 카테고리의 글 목록 (3 Page)