profile
책을 읽거나 강의를 들으며 공부한 내용을 정리합니다. 가끔 개발하는데 있었던 이슈도 올립니다.

L3 계층의 기본

IP주소는 인터넷 프로토콜을 쓰는 인터넷망에서 인터넷에 연결된 컴퓨터 한 대를 식별하기 위해서 부여하는 고유번호이다.IP는 32bit 주소 체계를 사용한다.32bit는 8bit가 4개 있는 것.전부 1이면 브로드캐스팅인지 고민해라.ipconfig 로 IP주소를 확인할

2024년 6월 2일
·
0개의 댓글
·

TCP와 UDP

인터넷 환경에서 가장 중요한 4계층 프로토콜들이다.TCP에만 연결(Connection, Session) 개념이 있다.연결지향(Connection Oriented)연결은 매우 논리적이다.그래서 TCP 연결은 Virtual Circuit라고도 한다.💡 아래는 강사님 의견

2024년 6월 1일
·
0개의 댓글
·

[CS] 넓고 얕은 운영체제

여러 가지 일이 동시에 진행되는 것!예를 들어, 라면 먹는 일과 TV보는 일이 있다고 하자.두 가지 일은 개별 사건의 독립적 사건이다.두 가지 일은 동시에 일어날 수 있는가? → 동시성이 있다.두 가지 일이 동시에 일어날 수 없다면 동시성이 없는 것이다.상호 간섭이 없

2024년 5월 31일
·
0개의 댓글
·

[CS] 넓고 얕은 컴퓨터의 구조

어떻게 하면 CPU를 제작할 수 있을까?CPU는 전자식 계산기다.산술 연산을 할 수 있는 계산기전자식인 이유는 빠르기 때문이다.보통 사칙 연산, 그 중에서도 더하기부터 만든다.A와 B는 Input덧셈 연산을 수행하기 위한 논리회로2진수 $1 + 1$은 2진수 $10\_

2024년 5월 30일
·
0개의 댓글
·

[CS] 컴퓨터의 숫자와 단위

제일 중요한 것은 코어(Core) 개수연산을 수행하는 주체를 코어라고 한다.Thread는 실행의 단위이다.코어가 6개고 쓰레드가 1000개면, 1000개의 일거리를 6개의 코어가 분담해서 처리한다.1 비트란 ‘전기 스위치 1개’를 의미한다.비트는 소문자로 사용하며, 복

2024년 5월 29일
·
0개의 댓글
·

17 동적 계획법

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.사실 모든 알고리즘 문제들은 완전 탐색을 이용해 정답을 도출할 수 있다. 단지 비효율적인 연산과 시간을 없애고, 답을 효율적으로 도출하기 위해 여러 알고리즘 기법이 생긴 것이다.동적 계

2024년 5월 28일
·
0개의 댓글
·

16 조합

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.조합은 그 자체로 코딩 테스트에 자주 출제되는 주제이며, 동적 계획법을 이해하는데 기초가 된다.조합은 $\_nC_r$으로 표현하며, n개의 숫자에서 r개를 뽑는 경우의 수를 뜻한다.순열

2024년 5월 27일
·
0개의 댓글
·

15 트리

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.트리(tree)는 노드와 에지로 연결된 그래프의 특수한 형태이다.즉, 그래프의 표현으로도 tree를 표현할 수 있다.트리의 특징은 다음과 같다.순환 구조(cycle)를 지니고 있지 않고

2024년 5월 26일
·
0개의 댓글
·

14 최소 신장 트리

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.최소 신장 트리(minimum spanning tree)란 그래프에서 모든 노드를 연결할 때 사용된 에지들의 가중치의 합을 최소로 하는 트리이다.사이클이 포함되면 가중치의 합이 최소가

2024년 5월 25일
·
0개의 댓글
·

13 최단 거리 구하기

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.다익스트라(dijkstra) 알고리즘은 그래프에서 최단 거리를 구하는 알고리즘이다.출발 노드와 모든 노드 간의 최단 거리를 탐색한다.에지는 항상 모두 양수이다.노드 수를 $V$, 에지

2024년 5월 24일
·
0개의 댓글
·

12 위상 정렬

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘이다.노드 간의 순서를 결정한다.사이클이 없어야 한다.노드 수를 $V$, 에지 수를 $E$라고 했을 때 시간 복잡도는 $O(V+E

2024년 5월 23일
·
0개의 댓글
·

11 유니온 파인드

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.일반적으로 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해 있는지 확인하는 find 연산으로 구성되어 있는 알고리즘이

2024년 5월 22일
·
0개의 댓글
·

10 그래프

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.노드와 에지로 구성된 집합이다.노드: 데이터를 표현하는 단위에지: 노드를 연결하는 선Tree도 그래프의 일종이다.그래프는 여러 알고리즘에 많이 사용되는 자료구조이므로 코딩 테스트에 자주

2024년 5월 21일
·
0개의 댓글
·

웹을 이루는 핵심기술

도메인 네임으로 IPv4 주소를 검색해서 그 결과(IP 주소)를 알려주는 서비스를 제공한다.도메인 네임: www.naver.com 과 같은 이름분산 구조형 데이터베이스데이터베이스 시스템(DNS 네임서버)의 분산 구성데이터 영역별 구분(Domain Zone) 및 분산관리

2024년 5월 20일
·
0개의 댓글
·

웹 애플리케이션의 이해

현대 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션이다. 그리고 스프링 MVC라는 복잡한 웹 애플리케이션을 쉽고 빠르게 개발할 수 있도록 도와주는 Java 웹 프레임워크가 있다.Java 백엔드 개발자는 이러한 웹 애플리케이션을 개발할 때 대부분 스프링 MV

2024년 5월 19일
·
0개의 댓글
·

09 정수론

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.소수(Prime number)는 자신보다 작은 2개의 자연수를 곱해 만들 수 없는 1보다 큰 자연수를 말한다.1과 자기 자신 외의 약수가 존재하지 않는 수코딩 테스트에서는 이러한 소수를

2024년 5월 18일
·
0개의 댓글
·

08 탐욕 알고리즘

현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘이다.다만, 이렇게 구한 선택지가 항상 최적의 해를 보장하는 것이 아니다.반례가 나올 수 있다.그리디 알고리즘으로 풀었을 때 최적의 해가 나올지 아닐지를 고민하며 문제를 풀

2024년 5월 17일
·
0개의 댓글
·

07 탐색

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.깊이 우선 탐색(DFS; depth-first search)은 그래프 완전 탐색 기법 중 하나이다.그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친

2024년 5월 16일
·
0개의 댓글
·

06 정렬

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.두 인접한 데이터의 크기를 비교해 정렬하는 방법이다.간단하게 구현할 수 있지만, 시간 복잡도는 $O(n^2)$으로 다른 정렬 알고리즘보다 속도가 느린 편이다.Loop를 돌면서 인접한 데

2024년 5월 15일
·
0개의 댓글
·

05 스택과 큐

『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.스택과 큐는 배열에서 발전된 형태의 자료구조이다. 스택과 큐는 구조는 비슷하지만 처리 방식이 다르다.스택은 삽입과 삭제 연산이 후입선출(LIFO, Last-in First-out)이 이

2024년 5월 14일
·
0개의 댓글
·