분류 전체보기 168

[후니의 쉽게 쓴 네트워킹] 5장 IP 주소로의 여행

IP 주소는 컴퓨터를 전공하지 않는 사람도 모두 들어본 내용이라고 생각한다. 그만큼 네트워크에서 중요한 역할을 수행하고 있고 이번 5장에서는 IP 주소에 대해서 더 자세하게 이해할 수 있는 장이다. IP 주소 특징 이진수 32자리로 구성 (8자리마다 점을 찍어서 구분) 이진수를 십진수로 전환해서 사용 (이진수보다 십진수가 사람들에게 친숙) 라우터에 배정해야 하는 IP 주소는 두 개 (시리얼, 이더넷 인터페이스) 네트워크 부분과 호스트 부분으로 구분 IP 주소 클래스 IP 주소는 네트워크 부분과 호스트 부분으로 구분된다. 그렇다면 어디까지가 네트워크 주소 혹은 호스트 주소일까? 이는 IP 주소 클래스를 공부하면 쉽게 알 수 있다. IP 주소 클래스는 총 5개(A, B, C, D, E)이지만 이번 포스팅에서..

CS/네트워크 2022.12.04

400 Bad Request Header Or Cookie Too Large

에러 파악 오랜만에 블로그 글을 쓰러 들어왔는데 계속 400 Bad Request Header Or Cookie Too Large 에러가 발생하였다. 간헐적으로 발생하는 에러라고 생각하고 재접속을 여러 번 시도하였는데 계속 동일한 에러가 발생하였다. 찾아보니까 티스토리 블로그와 관련된 에러였고 해결 방법은 간단하였다. 에러 해결 1. 크롬 웹브라우저의 '설정' 클릭 - chrome://settings/ 을 주소창에 입력해도 됩니다. 2. 개인정보 및 보안 클릭 - chrome://settings/privacy 을 주소창에 입력해도 됩니다. 3. 인터넷 사용 기록 삭제 기본 탭 메뉴에서 기간을 전체 기간으로 설정하고 인터넷 사용 기록, 쿠키 및 기타 사이트 데이터, 캐시된 이미지 및 파일을 선택 후 인터넷..

Trouble Shooting 2022.11.23

[후니의 쉽게 쓴 네트워킹] 4장 네트워크 장비에 관한 이야기

랜카드 랜카드는 랜에 접속하기 위해 카드처럼 생긴 것이다. 유저의 데이터를 케이블에 실어서 허브나, 라우터 등으로 전달하고 자신에게 온 데이터를 CPU에게 전달하는 역할을 수행한다. 환경에 따라 이더넷, 토큰링, FDDI, ATM 등으로 구분이 된다. 하지만 대부분의 환경에서는 이더넷용을 사용한다고 생각하면 된다. 환경뿐만 아니라 설치 장소, 버스 방식, 속도, 케이블 종류에 따라 다양하게 구분이 된다. 허브 허브를 한마디로 이야기하면 멀티포트 리티퍼라고 말할 수 있다. 멀티포트: 포트가 여러 개 달려있음 리피터: 재전송 한 포트로 들어온 데이터를 나머지 모든 포트로 재전송하는 역할을 수행함 허브는 서로 연결하면 마치 1대의 허브처럼 동작하고 허브에 연결된 PC끼리는 서로 통신이 가능하다는 특징이 있다...

CS/네트워크 2022.10.10

[후니의 쉽게 쓴 네트워킹] 3장 TCP/IP와의 만남

TCP/IP TCP/IP는 Transmission Control Protocol/Internet Protocol의 약자이다. 각각의 네트워크에 접속되는 호스트들은 고유의 주소를 가지고 있어서 자신이 속해 있는 네트워크뿐만 아니라 다른 네트워크에 연결되어 있는 호스트까지도 서로 데이터를 주고받을 수 있도록 만들어져 있는 것이 특징이다. TCP/IP는 프로토콜의 한 종류이고 인터넷을 사용하기 위해 꼭 필요한 프로토콜이다. 즉 인터넷에서의 공용어라고 볼 수 있다. (네트워크 속성에서 TCP/IP 항목을 제거하면 인터넷 접속이 불가능하다. 하지만, 요즘은 아예 제거를 할 수 없게 만들었다고 한다. 테스트는 해보지 않았다..ㅎ) IP 주소 인터넷을 쓰는 사람이라면 누구나 하나씩 가지고 있어야 하는 주소이다. 전 ..

CS/네트워크 2022.09.18

[후니의 쉽게 쓴 네트워킹] 2장 네트워크와 케이블, 그리고 친구들

LAN (Local Area Network) 이란? LAN 은 Local Area Network의 약자로 Local, 즉 어느 한정된 공간에서 네트워크를 구성한다는 뜻을 가진다. 예를 들어 한 사무실에 컴퓨터가 30대 있는데, 이것들을 네트워크로 구성한다면 사무실에 LAN을 구축한다라고 말한다. WAN은 Wide Area Network의 약자로서 멀리 떨어진 지역을 서로 연결하는 경우에 사용한다. 요즘은 모두 인터넷을 쓰는 세상이라 인터넷에 접속하는 것은 WAN이라고 봐야 할 것 같다. 이더넷 (Ethernet) 이더넷은 네트워킹의 한 방식이다. 즉 네트워크를 만드는 방법 중 하나라고 생각하면 된다. 이러한 이더넷 방식의 가장 큰 특징은 CSMA/CD라는 프로토콜을 사용해서 통신을 한다는 것이다. 네트워..

CS/네트워크 2022.09.15

[후니의 쉽게 쓴 네트워킹] 1장 네트워크 세상에 들어서

이제는 인터넷 세상 2000년대 초반에는 주식투자를 하기 위해서는 은행 혹은 증권사를 찾아가야 했고 주택청약을 하려면 새벽부터 줄을 서야 했다. (물론 저도 경험해본 적은 없습니다,,ㅎ) 지금은 편지, 음악, 사진, 동영상 모두 인터넷으로 주고받고 있다. 그뿐만 아니라, 요즘 초등학교 숙제는 학교 홈페이지를 통해서 안내하고 있다고 한다. 책에서 하고자 하는 말은 위의 변화와 관련 있는 네트워크에 대한 이야기이다. 우리가 늘 만나는, 그래서 이제는 피해 갈 수 없는 네트워크라는 녀석의 속 이야기(?)를 해준다고 하네요. 네트워크에 대한 지식이 부족하다고 생각했는데 이번 기회에 책을 읽고 정리하면서 네트워크 기초 지식을 쌓고자 한다. 네트워킹의 정체 네트워킹이란 장비들을 서로 대화가 가능하도록 묶어주는 것이..

CS/네트워크 2022.08.08

[Python] *args, **kwargs

C언어를 배우신 분이라면 *을 보고 당황할 수 있다. C언어의 포인터가 생각나기 때문이다. 다행(?)이지만 파이썬에는 포인터가 존재하지 않는다. 그렇다면 *args, **kwargs가 무엇인지 알아보도록 하자. *args란? args는 arguments의 약자이고 *은 가변 인자를 표현하는 문자이다. (args 이름을 사용하지 않아도 된다) 함수를 구현하다 보면 고정된 개수의 인자가 아닌 경우가 존재한다. 이럴 때 유용하게 사용할 수 있다. # 두 개의 인자 덧셈 def add(a, b): return a + b # 여러 개의 인자 덧셈 def add(*args): total = 0 for num in args: total += num return total print(add(1, 2, 3, 4, 5))..

Language/Python 2022.07.03

[LeetCode] 3. Longest Substring Without Repeating Characters

문제 보기 [사용한 알고리즘] 슬라이딩 윈도우 (Sliding Window) [설명] 사실 문제 봤을 때 슬라이딩 윈도우 알고리즘이 떠오르지 않았다. 뭔가 풀어본 문제인데 '어떻게 풀었지?'를 5번 이상 반복했다. 결국 집합(set)과 left, right 인덱스 두 개를 활용하도록 나만의 설계를 작성한 후 코드를 구현하였다. 하지만, 구현 후 코드를 다시 확인해보니 나만의 설계가 아니라 그냥 슬라이딩 윈도우 그 자체였다. 그래도 약 2년 전에 열심히 코딩 테스트 준비하였던 경험들이 아직 머릿속에 조금은 남아있는 듯하다. 알고리즘은 크게 어렵지 않다. 문자열 s의 길이가 2미만인 경우 문자열 s의 길이를 반환한다. 문자열 s의 길이가 2이상인 경우 중복 없는 최대 부분 문자열을 찾기 위해서 반복문을 수행..

[LeetCode] 2. Add Two Numbers

문제 보기 [사용한 알고리즘] x [설명] 연결 리스트의 개념을 이해하고 있으면 크게 어렵지 않은 문제라고 생각한다. l1, l2 각 값을 더한 후 해당 값을 역순으로 저장하는 연결 리스트를 구현하면 된다. 1. l1 연결리스트 값을 추출한다. 2. l2 연결리스트 값을 추출한다. 3. 추출한 두 값을 더한다. 4. 더한 값을 역순으로 연결 리스트에 저장한다. [코드] # Definition for singly-linked list. # class ListNode: # def __init__(self, val=0, next=None): # self.val = val # self.next = next class Solution: def addTwoNumbers(self, l1: Optional[ListNo..