IP주소는 인터넷 프로토콜을 쓰는 인터넷망에서 인터넷에 연결된 컴퓨터 한 대를 식별하기 위해서 부여하는 고유번호이다.IP는 32bit 주소 체계를 사용한다.32bit는 8bit가 4개 있는 것.전부 1이면 브로드캐스팅인지 고민해라.ipconfig 로 IP주소를 확인할
인터넷 환경에서 가장 중요한 4계층 프로토콜들이다.TCP에만 연결(Connection, Session) 개념이 있다.연결지향(Connection Oriented)연결은 매우 논리적이다.그래서 TCP 연결은 Virtual Circuit라고도 한다.💡 아래는 강사님 의견
여러 가지 일이 동시에 진행되는 것!예를 들어, 라면 먹는 일과 TV보는 일이 있다고 하자.두 가지 일은 개별 사건의 독립적 사건이다.두 가지 일은 동시에 일어날 수 있는가? → 동시성이 있다.두 가지 일이 동시에 일어날 수 없다면 동시성이 없는 것이다.상호 간섭이 없
어떻게 하면 CPU를 제작할 수 있을까?CPU는 전자식 계산기다.산술 연산을 할 수 있는 계산기전자식인 이유는 빠르기 때문이다.보통 사칙 연산, 그 중에서도 더하기부터 만든다.A와 B는 Input덧셈 연산을 수행하기 위한 논리회로2진수 $1 + 1$은 2진수 $10\_
제일 중요한 것은 코어(Core) 개수연산을 수행하는 주체를 코어라고 한다.Thread는 실행의 단위이다.코어가 6개고 쓰레드가 1000개면, 1000개의 일거리를 6개의 코어가 분담해서 처리한다.1 비트란 ‘전기 스위치 1개’를 의미한다.비트는 소문자로 사용하며, 복
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.사실 모든 알고리즘 문제들은 완전 탐색을 이용해 정답을 도출할 수 있다. 단지 비효율적인 연산과 시간을 없애고, 답을 효율적으로 도출하기 위해 여러 알고리즘 기법이 생긴 것이다.동적 계
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.조합은 그 자체로 코딩 테스트에 자주 출제되는 주제이며, 동적 계획법을 이해하는데 기초가 된다.조합은 $\_nC_r$으로 표현하며, n개의 숫자에서 r개를 뽑는 경우의 수를 뜻한다.순열
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.트리(tree)는 노드와 에지로 연결된 그래프의 특수한 형태이다.즉, 그래프의 표현으로도 tree를 표현할 수 있다.트리의 특징은 다음과 같다.순환 구조(cycle)를 지니고 있지 않고
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.최소 신장 트리(minimum spanning tree)란 그래프에서 모든 노드를 연결할 때 사용된 에지들의 가중치의 합을 최소로 하는 트리이다.사이클이 포함되면 가중치의 합이 최소가
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.다익스트라(dijkstra) 알고리즘은 그래프에서 최단 거리를 구하는 알고리즘이다.출발 노드와 모든 노드 간의 최단 거리를 탐색한다.에지는 항상 모두 양수이다.노드 수를 $V$, 에지
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.사이클이 없는 방향 그래프에서 노드 순서를 찾는 알고리즘이다.노드 간의 순서를 결정한다.사이클이 없어야 한다.노드 수를 $V$, 에지 수를 $E$라고 했을 때 시간 복잡도는 $O(V+E
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.일반적으로 여러 노드가 있을 때 특정 2개의 노드를 연결해 1개의 집합으로 묶는 union 연산과 두 노드가 같은 집합에 속해 있는지 확인하는 find 연산으로 구성되어 있는 알고리즘이
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.노드와 에지로 구성된 집합이다.노드: 데이터를 표현하는 단위에지: 노드를 연결하는 선Tree도 그래프의 일종이다.그래프는 여러 알고리즘에 많이 사용되는 자료구조이므로 코딩 테스트에 자주
도메인 네임으로 IPv4 주소를 검색해서 그 결과(IP 주소)를 알려주는 서비스를 제공한다.도메인 네임: www.naver.com 과 같은 이름분산 구조형 데이터베이스데이터베이스 시스템(DNS 네임서버)의 분산 구성데이터 영역별 구분(Domain Zone) 및 분산관리
현대 애플리케이션은 대부분 웹 환경에서 동작하는 웹 애플리케이션이다. 그리고 스프링 MVC라는 복잡한 웹 애플리케이션을 쉽고 빠르게 개발할 수 있도록 도와주는 Java 웹 프레임워크가 있다.Java 백엔드 개발자는 이러한 웹 애플리케이션을 개발할 때 대부분 스프링 MV
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.소수(Prime number)는 자신보다 작은 2개의 자연수를 곱해 만들 수 없는 1보다 큰 자연수를 말한다.1과 자기 자신 외의 약수가 존재하지 않는 수코딩 테스트에서는 이러한 소수를
현재 상태에서 보는 선택지 중 최선의 선택지가 전체 선택지 중 최선의 선택지라고 가정하는 알고리즘이다.다만, 이렇게 구한 선택지가 항상 최적의 해를 보장하는 것이 아니다.반례가 나올 수 있다.그리디 알고리즘으로 풀었을 때 최적의 해가 나올지 아닐지를 고민하며 문제를 풀
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.깊이 우선 탐색(DFS; depth-first search)은 그래프 완전 탐색 기법 중 하나이다.그래프의 시작 노드에서 출발하여 탐색할 한 쪽 분기를 정하여 최대 깊이까지 탐색을 마친
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.두 인접한 데이터의 크기를 비교해 정렬하는 방법이다.간단하게 구현할 수 있지만, 시간 복잡도는 $O(n^2)$으로 다른 정렬 알고리즘보다 속도가 느린 편이다.Loop를 돌면서 인접한 데
『Do it! 알고리즘 코딩 테스트 with JAVA 강의』를 듣고 정리한 글입니다.스택과 큐는 배열에서 발전된 형태의 자료구조이다. 스택과 큐는 구조는 비슷하지만 처리 방식이 다르다.스택은 삽입과 삭제 연산이 후입선출(LIFO, Last-in First-out)이 이