CS (Computer Science)
-
Wide Area Network (WAN)CS (Computer Science)/Network 2024. 7. 9. 19:54
Wide Area Network (WAN) 이란? : 넓은 범위에서 여러 지역, 도시, 국가 또는 대륙에 걸쳐 데이터 통신을 가능하게 하는 네트워크 example : 대규모 기업 네트워크, 인터넷, 글로벌 은행 네트워크라우터와 라우터 간에는 MAC 주소를 사용하지 않는다. 대신 IP 주소를 사용한다. IP주소는 사람이 직접 할당하기도 하고, 자동적으로 할당하기도 한다.프레임과 패킷프레임 안에 IP Packet을 담아서 보낸다.IP Packet : Source IP 주소, 목적지 IP 주소, Data 를 Frame에 담아서 전송한다.(프레임은 데이터 링크 계층, 패킷은 네트워크 링크 계층에서 사용되는 데이터 전송 단위이다.)Network Layer (네트워크 계층)MAC 주소는 하드웨어 정보를 나타내고, ..
-
Local Area Network (LAN)CS (Computer Science)/Network 2024. 7. 6. 01:10
Local Area Network (LAN) 이란? : 비교적 좁은 지역 내에서 컴퓨터와 다른 네트워크 장치들을 연결하여 데이터 통신을 가능하게 하는 네트워크 (일반적으로 가정, 학교, 사무실 등 건물 내에서 사용되는 네트워크를 의미한다.)example : 프린터, 인터넷, 컴퓨터, 스마트폰 등을 라우터를 통해 연결하여 인터넷을 공유하고, 데이터를 주고받는 네트워크컴퓨터간 소통하는 방법(1,0)을 전기신호 또는 전자기파로 주고받음Hub컴퓨터에 연결되어있는 케이블들을 서로 연결해주기 위한 장치문제점컴퓨터1에서 컴퓨터2로 정보전송을 하는 도중에 컴퓨터2에서 컴퓨터1로 정보전송을 하게되는 경우 정보가 충돌되는 문제가 발생할 수 있다.정보가 모든 컴퓨터에 전달된다. 예를들어 Hub에 연결되어있는 컴퓨터에 모두 ..
-
Redis란?CS (Computer Science) 2024. 7. 5. 02:22
Redis : REmote DIctionary Server의 약어Key - Value형태로 데이터를 저장하고 관리하는 서버RedisRedis는 모든 데이터를 메모리에 저장하고 조회한다. (= 인메모리 데이터베이스 이다) NoSQL의 형식을 지닌다.자료구조 : String, Bitmap, Bit Field, Hashes, Lists, Sets, Sorted Sets, Geospatial Indexes, Hyperloglogs, StreamsRedis의 영속성Redis는 지속성을 보장하기 위해 데이터를 DISK에 저장할 수 있다.때문에 서버가 내려가도 DISK에 저장된 데이터를 읽어서 메모리에 로딩을 한다.데이터를 DISK에 저장하는 두가지 방식RDB 방식 : 순간적으로 메모리에 있는 내용을 DISK에 전체..
-
DB Table RelationCS (Computer Science) 2024. 1. 23. 01:52
1:1 (일대일) 관계 예시 : 사용자와 프로필CREATE TABLE USERS( user_id INT PRIMARY KEY, username VARCHAR(255) ); CREATE TABLE Profiles( profile_id INT PRIMARY KEY, user_id INT UIQUE, FOREIGN KEY (user_id) REFERENCES Users(user_id) ); 각 사용자(user)는 하나의 프로필(profile)을 지닌다. 프로필은 특정 사용자에게 속한다. ## 1:n (일대다) 관계 - 예시 : 게시글과 댓글CREATE TABLE Posts( post_id INT PRIMARY KEY, title VARCHAR(255), content TEXT ); CREATE TABLE Co..
-
Naming Convention [TypeScript]CS (Computer Science) 2024. 1. 12. 02:56
Naming Convention 시간이 지나서 코드를 재사용하려는 경우 또는 작성자를 제외한 다른 개발자가 식별자 이름을 보고 더 나은 이해 및 활용을 할 수 있기 위해 사용한다. 현재 사용하고 있는 TypeScript 언어 개발 및 프레임워크 등에 적용하는 Naming Convention은 Camel Case, Snake Case, Pascal Case, Kebab Case 등이 있다. Camel Case 각 단어의 첫글자는 소문자로 시작, 나머지 단어의 첫 글자는 대문자로 작성 예시 )calculateTotalAmount Pascal Case (=Upper Camel Case) 각 단어의 첫 글자를 대문자로 시작 예시 )CalculateTotalAmount Snake Case 각 단어를 소문자로 작성..
-
자료구조 (Data Structure) - 선형 데이터 구조CS (Computer Science)/Data Structure 2023. 12. 30. 02:41
자료구조의 정의 데이터 값의 모임 각 원소들이 규칙에 의해 나열되고, 데이터 값의 처리를 효율적으로 수행할 수 있도록 표현을 도와주는 것 즉, 개발자가 데이터를 효율적으로 사용할 수 있도록 정리하는 방법이다. 1. 배열(Array) 동일한 타입의 데이터들을 저장할 수 있고, 고정크기(Fixed Size)를 지닌다. -> 배열, 리스트, 힙, 해시테이블, 벡터 및 행렬과 같은 기타 데이터 구조를 구축하기 위한 빌딩 블록으로 사용된다. 빌딩 블록 : 자료구조를 만들기 위한 핵심적인 구성 요소들을 지칭하는 말 (=자료구조의 기본 구성 요소를 통칭하는 말) 2. 연결 리스트(Linked List) 각 노드가 데이터와 다음 노드를 가리키는 링크로 이루어진 자료구조다. 위 배열(Array)와 연결 리스트(Linke..
-
배열(Array) 과 리스트(List)의 차이CS (Computer Science)/Data Structure 2023. 12. 29. 16:34
배열(Array) 고정 크기(Fixed Size) : 배열은 생성할 때 크기가 고정되어 이 크기를 변경할 수 없다. public class Main { public static void main(String[] args) { // 배열은 크기가 고정되어 있으며, 초기에 지정된 크기만큼의 요소를 가질 수 있습니다. int[] myArray = new int[3]; // 요소 추가 myArray[0] = 10; myArray[1] = 20; myArray[2] = 30; // 크기가 고정되어 있어 추가적인 요소를 직접적으로 추가할 수 없습니다. // 배열의 크기를 변경하려면 새로운 배열을 생성하고 기존 요소를 복사해야 합니다. } }리스트(List) 가변 크기 : 리스트는 생성할 때 크기를 고정하지 않고, ..