Computer Science
[네트워크] 멀리있는 컴퓨터끼리는 이렇게 데이터를 주고받는다. - (3계층) IPv4, ICMP, 라우팅 테이블 및 전송, 조각화
IPv4 - 네트워크 상에서 데이터를 교환하기 위한 프로토콜 - 데이터가 정확하게 전달될 것을 보장하지 않음 *다른 계층에서 데이터잘못된 것을 고정 ICMP - 인터넷 제어 메세지 프로토콜 - 네트워크 컴퓨터 위에서 돌아가는 운영체제에서 오류 메세지를 전송 받는데 주로 쓰인다. * 상대방과 통신이 되는지 아닌지 확인 * Type 3 오류 : Destination unreachable, 상대 목적지까지 못간 경우 Type 11 오류 : Time exceded, 상대방 노드에서 데이터를 받지 못한 경우(ex. 방화벽 문제) 라우팅 테이블 - 라우팅 == 지도 - 어디로 보내야 하는지 설정되어 있는 라우팅 테이블 라우팅 전송 과정 - 내컴퓨터 -> 공유기로, (1) 라우팅 테이블 통해, 공유기로의 IP대역대 ..
[네트워크] 통신하기 전 반드시 필요한 ARP 프로토콜
https://www.youtube.com/watch?v=LDsp-Xb168E&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=7 ARP 프로토콜 - 같은 네트워크에서 통신할 때는 MAC주소를 통해 통신한다. - ARP프로토콜은 MAC주소를 IP주소를 이용해서 알아오는 프로토콜이다. - 출발지 및 목적지의 MAC주소와 IP주소가 페이로드에 작성되어 있음 더보기 네트워크상에서 보는 ARP
[정렬] 정렬 문제 풀이 및 속도 비교
■ 정렬의 속도 / 메모리 사용 비교 - 미니멈이 1이고, 맥시멈이 백만인 숫자를 입력받아 정렬한다고 할 때, 어떤 정렬을 쓰는게 좋을까....? - 문제를 풀어본 결과, Merge sort가 가장 빨랐고, 그 다음에 Arrays.sort, 그 다임이 Quck Sort 였다. - 그럼 Arrays.sort는 무슨 정렬을 사용하는 걸까... https://www.acmicpc.net/problem/2751 2751번: 수 정렬하기 2 첫째 줄에 수의 개수 N(1 ≤ N ≤ 1,000,000)이 주어진다. 둘째 줄부터 N개의 줄에는 수가 주어진다. 이 수는 절댓값이 1,000,000보다 작거나 같은 정수이다. 수는 중복되지 않는다. www.acmicpc.net ■ Collections와 Arrays의 Sor..
[정렬] 병합정렬(Merge Sort)
☆ 공부한 내용을 정리한 내용입니다. 잘못된 부분이 있으면 고정 위해 댓글 부탁드립니다. https://www.youtube.com/watch?v=QAyl79dCO_k&list=PLjSkJdbr_gFZMNhIMl2AJ9n5c2hNK-qJk&index=2 ■ 병합 정렬 - 병합 정렬이란? 요소가 하나만 남을 때까지 리스트를 나눠준 후[분할], 나눴던 리스트를 대소 관계에 맞게 다시 합치는 방법[병합] - 분할 분할 분할 분할.... 병합 병합 병합 병합... 을 반복한 결과 - 안정적이지만, 자료구조를 하나 더 만들 필요가 있다. *자료구조를 더 만들 수 없을 땐 퀵 소트를 쓴다. - 시간 복잡도 O(n log n) , 최악(n log n) ■ 자바로 구현한 병합 정렬 //[[부스트 코스 방식]] stat..
[정렬] 퀵 정렬(Quick Sort)
☆ 공부한 내용을 정리한 내용입니다. 잘못된 부분이 있으면 고정 위해 댓글 부탁드립니다. ■ 퀵 정렬 원리 ) 중심점(Pivot Point)을 임의로 고른 후 이 중심점보다 작은 수를 한 쪽으로 분류하고, 큰 수들은 다른 쪽으로 분류하여 정렬하는 방법 * 분할과 정복 - 중앙값 정렬 방식을 확장하여 개발한 방식. - 평균 정렬 결과가 필요할 때 사용하는 것이 좋다. - 퀵 정렬은 멀리 있는 값을 서로 비교하고 교환하기 때문에 안정성은 떨어진다. - 시간 복잡도 O(n log n) ※ 피벗을 중간 또는 마지막을 잡는 이유 : - 피벗은 첫번째, 중간, 마지막 인덱스나 랜덤으로 선정 가능하다. - 무엇을 피벗으로 잡느냐에 따라 처리 시간이 달라진다. - 피벗 값이 중간 크기일 수록 더 균등하게 리스트를 분할..
[네트워크] 실제로 컴퓨터끼리는 IP주소를 사용해 데이터를 주고받는다
■ 실제로 컴퓨터끼리는 IP주소를 사용해 데이터를 주고받는다 ※ 출처 : 따라하면서 배우는 IT https://www.youtube.com/watch?v=s5kIGnaNFvM&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=6 ■ 요약 1. 3계층의 기능 - 3계층에서 하는 일 : 서로 다른 네트워크 대역 곧, LAN과 LAN을 연결시켜준다(LAN+LAN = WAN) - 3계층에서 쓰는 주소 : IP 주소 - 3계층 프로토콜 : 더보기 1) ARP 2) IPv4 - 현재 IPv6로 넘어가는 중이다. 3) ICMP 2. 일반적인 IP 주소 (4byte, 10진수) 255.255.255.255 *하나의 필드당 0~255까지 사용가능 - Classful - Classless ..
[네트워크] 가까이 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다
■ 가까이 있는 컴퓨터끼리는 이렇게 데이터를 주고받는다 https://www.youtube.com/watch?v=HkiOygWMARs&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=5 ■ 요약 1. 2계층에서 하는 일 - 2계층의 기능 : 오류 제어, 흐름 제어 - 2계층의 네트워크 크기 : 하나의 네트워크 대역 (LAN)에서만 통신할 때 사용 : 다른 네트워크와 통신할 때는 3계층이 도와주어야 한다. 2. 2계층에서 사용하는 주소 - MAC주소 (=물리적인 주소) 3. 2계층 프로토콜 - Ethernet 프로토콜 1) Destination Address : 목적지 MAC주소 6 byte 2) Source Address : 보내는 MAC주소 6byte 3) Ethern..
[네트워크] 네트워크의 기준! 네트워크 모델
■ 네트워크의 기준! 네트워크 모델 https://www.youtube.com/watch?v=y9nlT52SAcg&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi&index=4 ■ 요약 1. 네트워크 계층 모델에는 TCP/IP와 OSI 7Layers가 있다. 더보기 2. OSI 7계층 상세 구조 더보기 3. 패킷이란 - 데이터의 형식화된 블록 - 여러 프로토콜들로 캡슐화되어 있다. - 캡슐화 방식 : [헤터 [헤더 [페이로드] (푸터) ] (푸터) ] *상위 -> 하위 순으로 캡슐화 - 디캡슐화 : 패킷을 하나씩 뜯는 방식 *하위 -> 상위 순으로 디캡슐화 더보기 ▲ 보낼 때 : 프로토콜을 붙일 때, OSI 7 계층 기준으로 상위 -> 하위 순으로 붙인다. ▲ 받을 때 : 하위 -..
[네트워크] 네트워크란 무엇인가?
■ 네트워크란 무엇인가? ※ 출처 : 따라하면서 배우는 IT https://www.youtube.com/watch?v=Av9UFzl_wis&list=PL0d8NnikouEWcF1jJueLdjRIC4HsUlULi ■ 요약 1. 네트워크란, - 노드들이 데이터를 공유할 수 있게하는 디지털 전기통신망의 하나이다. - 분산되어 있는 컴퓨터를 통신망으로 연결한 것 더보기 2. 인터넷이란, - 전세계를 연결하는 가장 큰 네트워크 - WWW는 인터넷을 통해 웹과 관련된 데이터를 공유하는 것으로 인터넷과 다른 개념이다. 더보기 3. 네트워크는 크기/연결형태에 따라 여러 개의 분류로 나누어진다. 1) 크기 : LAN / WAN / MAN / 기타 ▶ LAN(Local Area Network) : 근거리 통신망. 가까운 ..