분류 전체보기

CS/알고리즘
배열과 리스트 기본 자료구조인 배열과 리스트는 비슷하지만 다른 점이 많다. 두 자료구조의 특징을 잘 이해하고 문제가 요구하는 조건에 따라 적절히 사용하는 것이 중요하다. 배열과 리스트의 핵심 이론 배열 배열은 메모리의 연속 공간에 값이 채워져 있는 형태의 자료구조다. 배열의 값은 인덱스를 통해 참조할 수 있으며, 선언한 자료형의 값만 저장할 수 있다. 인덱스를 사용하여 값에 바로 접근할 수 있다. 새로운 값을 삽입하거나 특정 인덱스에 있는 값을 삭제하기 어렵다. 값을 삽입하거나 삭제하려면 해당 인덱스 주변에 있는 값을 이동시키는 과정이 필요하다. 배열의 크기는 선언할 때 지정할 수 있으며, 한 번 선언하면 크기를 늘리거나 줄일 수 없다. 구조가 간단하므로 코딩 테스트에서 많이 사용한다. 리스트 리스트는 ..
잡담
+ 인프런 강의들... 할게 너무 많다. 뭐부터 할지 모르겠음 사실 하나하나 깨트리면 된다! 라고는 하지만 이렇게나 쌓여버리면 ㅋㅋ 어렵다 개구리책은 대중교통 탈 때 읽고, CS는 틈틈이... 알고리즘은 백준이랑 익숙해지면서 하고 있는데 백준하는 이유는 내가 프로그래머스에 너무 익숙한 것.. 근데 요즘은 프로그래머스로 코테를 많이본다고는 한다. 근데 모르니까 백준은 입출력 때문에 버퍼드리더랑 스트링 토크나이저을 쓴다고 하는데,,, 허허 IDE로 작성하고 또 붙여놔야한다는 점이 약간 불편한 거 같다. 어쩌겠냐!!! 진짜 어쩔 수 없음 허허 시간표를 진짜 잘짜야겠다는 생각 중 운동도 가야됨ㅋㅋ 알바도... 공고도 보고 어쩌겠냐!!!!!!! 해야지
TIL
인터넷 계층 인터넷 계층은 장치로부터 받은 네트워크 패킷을 IP주소로 지정된 목적지로 전송하기 위해 사용되는 계층이다. IP, ARP, ICMP 등이 있으며 패킷을 수신해야 할 상대의 주소를 지정하여 데이터를 전달한다. 상대방이 제대로 받았는지에 대해 보장하지 않는 비연결형적인 특징을 가지고 있다. 링크 계층 링크 계층은 전선, 광섬유 무선 등으로 실질적으로 데이터를 전달하며 장치 간에 신호를 주고받는 ‘규칙’을 정하는 계층이다. 참고로 네트워크 접근 계층이라고도 한다. 이를 물리 계층과 데이터 링크 계층으로 나누기도 한다. 물리 계층 - 무선 LAN과 유선 LAN을 통해 0과 1로 이루어진 데이터를 보내는 계층 데이터 링크 계층 - ‘이더넷 프레임’ 을 통해 에러 확인, 흐름 제어, 접근 제어를 담당하..
TIL
TCP 연결 성립 과정 TCP는 신뢰성을 확보할 때 '3-way handshake' 라는 작업을 진행한다. SYN 단계: 클라이언트는 서버에 클라이언트의 ISN을 담아 SYN을 보낸다. ISN은 새로운 TCP 연결의 첫 번째 패킷에 할당된 임의의 시퀀스 번호를 말하며 이는 장치마다 다를 수 있다. (ex. 10000) SYN + ACK 단계: 서버는 클라이언트의 SYN을 수신하고 서버의 ISN을 다시 클라이언트에게 보내며 승인번호로 클라이언트에게 받은 ISN + 1 을 보낸다. (ex. 서버의 ISN: 5000 / 클라이언트한테 보내는 승인번호: 10001) ACK 단계: 클라이언트는 서버의 ISN + 1 한 값인 승인번호를 담아 ACK를 서버에 보낸다. (ex. 서버에 보내는 승인번호: 5001) 3 ..
TIL
전송(transport) 계층은 송신자와 수신자를 연결하는 통신 서비스를 제공하며 연결 지향 데이터 스트림 지원, 신뢰성, 흐름 제어를 제공할 수 있으며 애플리케이션과 인터넷 계층 사이의 데이터가 전달될 때 중계 역할을 한다. 대표적으로 TCP와 UDP가 있다. TCP는 패킷 사이의 순서를 보장하고 연결지향 프로토콜을 사용해서 연결을 하여 신뢰성을 구축해서 수신 여부를 확인하며 ‘가상회선 패킷 교환 방식’을 사용한다. UDP는 순서를 보장하지 않고 수신 여부를 확인하지 않으며 단순히 데이터만 주는 ‘데이터그램 패킷 교환 방식’을 사용한다. 가상회선 패킷 교환 방식 가상회선 패킷 교환 방식은 각 패킷에는 가상회선 식별자가 포함되며 모든 패킷을 전송하면 가상회선이 해제되고 패킷들은 전송된 ‘순서대로’ 도착하..
TIL
TCP / IP 4계층 모델 인터넷 프로토콜 스위트(internet protocol suite)는 인터넷에서 컴퓨터들이 서로 정보를 주고 받는 데 쓰이는 프로토콜의 집합이며, 이를 TCP/IP 4계층 모델로 설명하거나 OSI 7계층 모델로 설명하기도 한다. 이 계층 모델은 네트워크에서 사용되는 통신 프로토콜의 집합으로 계층들은 프로토콜의 네트워킹 범위에 따라 네 개의 추상화 계층으로 구성된다. 계층 구조 TCP/IP 계층은 네 개의 계층을 가지고 있으며 OSI 7계층과 많이 비교한다. TCP/IP 계층과 달리 OSI 계층은 애플리케이션 계층을 세 개로 쪼개고 링크 계층을 데이터 링크 계층, 물리 계층으로 나눠서 표현하는 것이 다르며, 인터넷 계층을 네트워크 계층으로 부른다는 점이 다르다. 이 계층들은 특..
TIL
네트워크 토폴로지와 병목 현상 네트워크 토폴로지(network topology) 네트워크를 설계할 때 고려해야 하는 과목 노드와 링크가 어떻게 배치되어 있는지에 대한 방식이자 연결 형태를 의미한다. 트리 토폴로지 트리(tree) 토폴로지는 계층형 토폴로지라고 하며 트리 형태로 배치한 네트워크 구성을 말한다. 장점 노드의 추가, 삭제가 쉽다. 단점 특정 노드에 트래픽이 집중될 때 하위 노드에 영향을 끼칠 수 있다. 버스 토폴로지 중앙 통신 회선 하나에 여러 개의 노드가 연결되어 공유하는 네트워크 구성, 근거리 통신망(LAN)에서 사용한다. 장점 설치 비용이 적다 신뢰성이 우수하다 중앙 통신 회선에 노드를 추가하거나 삭제하기 쉽다. 단점 스푸핑이 가능하다 스푸핑 스푸핑은 LAN 상에서 송신부의 패킷을 송신과..
TIL
네트워크란 노드(node)와 링크(link)가 서로 연결되어 있으며 리소스를 공유하는 집합을 의미한다. 여기서 노드란 서버, 라우터, 스위치 등 네트워크 장치를 의미하고 링크는 유선 또는 무선을 의미한다. 처리량과 지연 시간 네트워크를 구축할 때는 ‘좋은’ 네트워크로 만드는 것이 중요하다. 좋은 네트워크란 많은 처리량을 처리할 수 있으며 지연 시간이 짧고 장애 빈도가 적으며 좋은 보안을 갖춘 네트워크를 말한다. 처리량(throughput) 링크 내에서 성공적으로 전달된 데이터의 양을 말하며 보통 얼만큼의 트래픽을 처리했는지를 나타낸다. ‘많은 트래픽을 처리한다 = 많은 처리량을 가진다’ 라는 의미다. 단위로는 bps를 쓴다. 초당 전송 또는 수신되는 비트 수라는 의미다. 처리량은 사용자들이 많이 접속할 ..
TIL
예전에 눈으로만 보고 훑어본 것... 사실 정확하게 모르고 감으로만 알던 거라서... 적어본다... 객체지향 프로그래밍 객체지향 프로그래밍은 객체들의 집합으로 프로그램의 상호 작용을 표현하며 데이터를 객체로 취급하여 객체 내부에 선언된 메서드를 활용하는 방식을 말한다. 설계에 많은 시간이 소요되며 처리 속도가 다른 프로그래밍 패러다임에 비해 상대적으로 느리다. 클래스 List의 메서드 getMax()로 예제 const ret = [1, 2, 3, 4, 5, 11, 12] class List { constructor(list) { this.list = list this.mx = list.reduce((max, num) => num > max ? num : max, 0) } getMax() { return ..
wonow_
'분류 전체보기' 카테고리의 글 목록 (9 Page)