일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | |
7 | 8 | 9 | 10 | 11 | 12 | 13 |
14 | 15 | 16 | 17 | 18 | 19 | 20 |
21 | 22 | 23 | 24 | 25 | 26 | 27 |
28 | 29 | 30 |
- 자바예외
- 자료구조
- 네트워크
- react
- java
- 도메인 주도 개발 시작하기
- 인프런김영한
- 기술면접
- CleanCode
- 알고리즘
- 알고리즘분석
- DDD
- aop
- 이팩티브 자바
- jpa
- vue.js
- 인프런백기선
- 클린코드
- AWS RDS
- 인덱스
- AWS
- 스프링부트와AWS로혼자구현하는웹서비스
- 이펙티브자바
- 혼공SQL
- MariaDB
- 이펙티브 자바
- SQL쿡북
- 자바
- mysql
- 자바스터디
- Today
- Total
목록전체 글 (272)
기록이 힘이다.

해시 테이블은 지금까지 발명된 자료구조 중 단연 으뜸입니다. TreeMap 클래스와 비슷한 다른 하나는 마법까지는 아니지만, 요소를 순서대로 반복할 수 있는 추가 기능을 제공합니다. public class MyLinearMap implements Map { private List entries = new ArrayList(); Entry 객체는 키-값 쌍을 포함합니다. Entry 클래스는 단지 키와 값의 컨테이너입니다. 이 정의는 MyLiearMap 클래스에 중첩되어 있으므로 같은 타입 파라미터인 K와 V를 사용합니다. equals 메서드의 실행시간은 target과 키의 크기에 의존하지만, 엔트리 개수에 해당하는 n에는 의존하지 않습니다. 따라서 equals는 상수 시간입니다. findEntry 메서드에..
웹 검색에서 인덱스는 검색어를 바탕으로 관련 페이지를 찾을 수 있게 하는 자료구조입니다. 자료구조 선택 인덱스의 가장 기본 연산은 조회입니다. 특히 검색어를 조회하여 검색어를 포함한 모든 페이지를 찾는 능력이 필요합니다. 가장 단순한 구현은 페이지의 컬렉션입니다. 검색어가 주어지면 페이지 내용을 반복 조사하여 검색어를 포함한 페이지를 선택합니다. 하지만 실행시간은 모든 페이지의 전체 단어 수에 비례하며 매우 느립니다. 이보다 좀 더 나은 대안은 맵입니다. 이 자료구조는 키-값 쌍의 컬렉션을 나타내며, 키와 키에 해당하는 값를 찾는 빠른 방법을 제공합니다. Map 인터페이스에서 가장 중요한 메서드는 다음과 같습니다. HashMap/ TreeMap 클래스 -get(key) 이 메서드는 키를 조사하여 관련된 ..

서브넷팅 IP 주소 자원을 효율적으로 사용하기 위하여 사용합니다. Class별로 지정되어 있는 기본 서브넷 마스크를 사용하지 않고, 네트워크 상황에 따라 적당한 크기의 서브넷 마스크를 사용하여 IP 주소를 사용합니다. 호스트 bit로 할당된 bit 일부를 subnet bit로 지정합니다. 호스트 filed의 bit를 빌려서 Network를 나눕니다. 네트워크가 서브넷의 조건인 경우, 2 ^n > = 주어진 네트워크 숫자로 계산합니다. 호스트 filed에서 왼쪽 부터 n개의 bit를 네트워크 부분으로 계산 ex1) 2 ^ n > = 주어진 네트워크 숫자 2 ^ n > = 4 그러므로 n은 2가 됨 호스트가 서브넷의 조건인 경우, 2^n+2 >= 주어진 호스트 숫자로 계산 +2개를 하는 이유는 네트워..

IP 프로토콜은 OSI 참조 모델의 제3계층인 네트워크 계층에서 정의합니다. IP는 최선형(BE; Best Effort) 서비스를 이용하여 패킷을 전달합니다. 패킷이 목적지에 도착한다고 보장하지 않습니다. IPv4는 32bit이며, 4개의 옥텟(Octet)으로 구분되어집니다. 사설 IP 대역과 공인 IP 주소 대역이 있으며, 외부로 통신하기 위해서는 반드시 공인 IP 대역의 주소를 사용하여야 합니다. 주소 대역이 A,B,C,D,E의 형태로 나뉘어져 있으며, 장치에 할당하여 사용합니다. 사용 가능한 주소 대역은 A,B,C D는 Multicast 용으로 사용 E의 경우 연구용으로 남겨 놓음 IPv6는 IPv4가 주를 이루고 있는 현재의 네트워크 환경에서 생기는 주소 부족 문제를 해결하기 위해 사용..

재귀적 DFS와 비교하였을 때 반복적 DFS의 이점은 Iterator 객체로 래핑하기가 좀 더 쉽다는 것입니다. 1. 생성자는 루트 노드에 대한 참조를 인자로 받아 저장합니다. 2. iterator 메서드는 Iterator 객체를 생성하여 반환합니다. private class WikiNodeIterator implements Iterator { // this stack keeps track of the Nodes waiting to be visited Deque stack; /** * Initializes the Iterator with the root Node on the stack. * * @param node */ public WikiNodeIterator(Node node) { stack = ne..

꼭 알아둘 개념 전역 변수/ 객체 프로그램 전체에서 사용할 수 있는 변수와 객체를 의미합니다. process 객체 프로그램과 관련된 정보를 나타내는 객체며, 웹 브라우저에서 작동하는 자바스크립트에 존재하지 않는 Node.js만이 가진 객체입니다. 모듈 모듈은 기능을 쉽게 사용하고자 메서드와 속성을 미리 정의해 모아 놓은 것입니다. exports 객체 모듈을 생성할 때 사용합니다. __filename 현재 실행 중인 코드의 파일 경로를 나타냅니다. __dirname 현재 실행 중인 코드의 폴더 경로를 나타냅니다. console 콘솔 화면과 관련된 기능을 다루는 객체 exports 모듈과 관련된 기능을 다루는 객체 process 프로그램과 관련된 기능을 다루는 객체
스레드 [장점] -사용자에 대한 응답성을 향상시켜야 할 때 -동시에 작업을 완료시켜야 할 때 [사용해야 하는 경우] -네트워크 웹 서버 또는 데이터베이스 통신 -시간이 오래 걸리는 작업 [단점] -많은 스레드로 코드 실행을 제어하면 복잡해지고 버그가 발생할 수 있음 -스레드를 삭제하려면 삭제할 때 발생할 수 있는 문제와 처리 방법을 알아야 함 Node.js는 스레드의 단점을 해결하고자 내부적으로(개발자가 몰라도 되는 부분)는 스레드 처리를 하고, 외부적으로(개발자가 개발해야 하는 부분)는 스레드를 신경 쓰지 않고 개발할 수 있게 만든 소프트웨어 플랫폼 Node.js 배경사 Node.js는 서버 환경에서 작동하는 자바스크립트이다. CommonJS 표준 발표 이후 곧바로 라이언 달은 CommonJS표준과 V..

웹 검색 엔진을 소개 검색 엔진의 요소를 설명하고, 위키피디아에서 페이지를 다운로드하고 파싱하는 웹 크롤러라는 첫 번째 응용 프로그램을 소개. 또한, 깊이 우선 탐색의 재귀적 구현과 후입선출 스택 구현을 위해 자바 Deque 인터페이스를 사용하는 반복적 구현을 제공. Search engine - Wikipedia Search engine - Wikipedia From Wikipedia, the free encyclopedia Jump to navigation Jump to search Software system that is designed to search for information on the World Wide Web The results of a search for the term "lunar..