일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- 생성자
- BFS
- spring
- Queue
- Java
- 코딩테스트
- 문자열
- 항해99
- dbms
- dfs
- 크루스칼
- 개발자취업
- DB
- python
- Algorithm
- 코테
- 코딩테스트준비
- javascript
- 자바의정석
- 자료구조
- sql
- js
- 알고리즘
- 암호학
- data structure
- jsp
- 가상컴퓨팅
- 공개키 암호화
- generic class
- JPA
- Today
- Total
목록전체 글 (135)
PLOD
@PathVariable경로 변수를 표시하기 위해 메서드에 매개변수에 사용된다경로 변수는 중괄호 {id}로 둘러싸인 값을 나타낸다URL 경로에서 변수 값을 추출하여 매개변수에 할당한다경로변수는 값을 반드시 가져야 한다 → 값이 없으면 404에러 출력주로 상세 페이지, 수정, 삭제와 같은 작업에서 리소스 식별자로 사용된다서버에 보내려는 데이터를 URL 경로에 표시할 수 있다. // GET http://localhost:8080/hello/request/star/Robbie/age/95@Controller@RequestMapping("/hello/request")public class RequestController { @GetMapping("/star/{name}/age/{age}") @Resp..
DockerGo 언어로 작성된 리눅스 컨테이너 기반 오픈소스 가상화 플랫폼컨테이너 : 가상화 기술 중 하나 , 애플리케이션과 그 실행 환경을 함께 패키징하여 어디서든 동일하게 실행 될 수 있도록 해주는 기술가상화 : 물리적 컴퓨터 하드웨어를 보다 효율적으로 활용할 수 있도록 해주는 프로세스 Docker 주요 개념 정리이미지(Image): 실행 가능한 애플리케이션과 실행 파일 및 설정과 같은 환경을 정의한 파일이다. 코드, 런타임, 라이브러리 등을 포함하며, 변경이 불가능하다. → Dockerfile을 통해 docker image를 생성 할 수 있다.컨테이너(Container): 이미지를 실행한 상태. 이미지의 인스턴스로서, 애플리케이션이 실제로 동작하는 환경을 제공Docker를 사용하는 이유일관성 : 어..
위상정렬위상정렬은 정렬 알고리즘의 일종이다. 이상 정렬은 순서가 정해져 있는 일련의 작업을 차례대로 수행해야 할 때 사용 할 수 있는 알고리즘이다. 즉, 위상정렬은 방향 그래프의 모든 노드를 방향성에 거스르지 않도록 순서대로 나열하는 것이다. 위상 정렬 알고리즘을 사용하기 위해서는 진입 차수(degree) 부터 알아야한다. 진입차수란 특정한 노드로 들어오는 간선의 개수를 의미한다. 진입차수를 이용하여 위상정렬을 하는 방법은 다음과 같다.1. 진입차수가 0인 노드를 queue에 넣는다.2. 큐가 빌 때까지 다음의 과정을 반복한다.Ⅰ. 큐에서 원소를 꺼내 해당 노드에서 출발하는 간선을 그래프에서 제거한다.Ⅱ. 새롭게 진입차숙 0이 된 노드를 queue에 넣는다.위상 정렬의 시간 복잡도는 O(V+E)이다. ..
MST하나의 그래프가 있을 때 모든 노드를 포함하면서 사이클이 존재하지 않는 부분 그래프를 의미한다. 이때 모든 노드가 포함되어 서로 연결되면서 사이클이 존재하지 않는다는 조건은 트리의 성립 조건이기도 하다. 최소 길이의 간선으로 모든 노드들을 연결해야 되는 문제가 나올 때 최소 신장 트리 알고리즘을 사용 할 수 있다.Kruskal Algorithm크루스칼 알고리즘은 대표 적인 최소 신장 트리 알고리즘이다. 크루스칼 알고리즘은 greedy algorithm(탐욕 기법)에 속한다. 먼저 모든 간선에 대하여 정렬을 수행한 뒤에 가장 거리가 짧은 간선부터 집합에 포함시키면 된다. Kruskal 알고리즘은 간선을 정렬하는데 시간이 가장 오래 걸리기 때문에 간선의 개수가 E 일때, O(ElogE)의 시간 복잡도..
https://www.youtube.com/watch?v=se4XNproiVg https://www.youtube.com/watch?v=ZcmUt6N7gvs
기존에 Controller 클래스에만 의존하여 모든 기능을 처리하도록 한다면 문제가 발생할 수 있다. 한 개의 클래스에 너무 많은 양의 코드가 존재하기 때문에 코드를 이해하기 어려움 → 가독성 떨어짐현업에서는 코드의 추가 혹은 변경 요청이 계속 생길 수 있다.문제가 발생했는데 해당 Controller 클래스를 구현한 개발자가 퇴사한다면? → 유지보수성 떨어짐 이러한 문제점들을 해결하기 위해 서버 개발자들은 서버에서의 처리과정이 대부분 비슷하다는 걸 깨닫고, 처리 과정을 크게 Controller, Service, Repository 3개로 분리하였다. Web Layer흔히 사용하는 Controller와 JSP / freemaker 와 같은 view 템플릿 영역이다Filter,Intercepter,Con..