위 처럼 인텔리제이에서 테스트 코드를 작성한 후 실행 시 한글이 나오지 않는 오류가 발생할 수 있다. 인코딩의 문제이므로 관련된 설정값을 바꾸어 주어야 한다. 가장 확실한 방법은 VM 옵션을 추가해주는 것이다. 인텔리제이의 Help 옵션에서 Edit Custom VM Options... 를 클릭한다. 다음 나온 창에서 아래 옵션들을 추가해주면 된다. -Dfile.encoding=UTF-8 -Dconsole.encoding=UTF-8 정상적으로 한글이 보이는 것을 확인할 수 있었다.
Enums 는 프로그램 내에서 절대 변하지 않을 값들을 모아 놓은 특별한 '클래스' 이다. - W3Schools - 로또 당첨 통계를 내는 프로그램 구현 문제의 풀이 과정에서 enum 을 활용하라는 조건이 있었다. 이전에도 enum 을 접해본 적은 있었지만, 적극적으로 구현에 활용해본 것은 처음이었고, 활용 과정에서 적재적소에 enum 을 최대한으로 활용하기 위해서는 용도와 목적을 공부해야겠다는 필요성을 느껴 포스트를 작성하게 되었다. 1. Enum 의 용도와 목적 위에서 정의했듯이 일반 Class 와 비슷한 듯 다른 enum 을 이해하기 위해 일반 Class 와 enum 의 차이점을 정리해보았다. 구분 일반 Class enum type Class 멤버 변수의 접근 제어자 public, private, ..
지난 시간, 리스트를 활용해서 퀵 정렬을 보다 직관적으로 구현해보았다. 이번에는 이론 (Array 1단계) 에서 설명한 구현에 이어서 재귀호출과 배열을 사용해 퀵 정렬을 구현해보자. 배열을 활용한 퀵 정렬 - 시간복잡도: O(logN) - 공간복잡도: O(N). 이론에서 설명한 대로 한 차례 루프를 돌고 나면, 이제 배열을 쪼갤 차례이다. 기준 값이 이동하는 것이다. 그 전에, 먼저 메서드의 매개 변수를 추가해주어야 한다. 추적하기 위함인데, 쪼개진 배열의 첫 번째와 마지막 인덱스로, 계속 어디를 기준으로 쪼갤지를 명시한다고 생각하면 된다. 이 매개 변수가 변하면서 재귀적으로 메서드를 호출하면 된다. 그래서 정수 startIdx, endIdx 를 새로운 메서드의 매개 변수로 넣어주고 구현한다. publi..
배열이 주어졌을 때, 임의로 기준값을 정하여 기준보다 작은 수와 큰 수들의 집합으로 쪼개는 과정을 각 집합이 더이상 쪼개질 수 없을 때까지 반복한 후, 나누어진 집합들을 각각 정렬한 후 병합하는 알고리즘 Pivot? noun. a fixed point supporting something that turns or balances 명사. 변하거나 균형을 맞추는 것들을 받쳐주는 고정된 지점 Quick Sort 적용 과정 1단계: 대소비교를 통해 세 개 내지는 두 개의 리스트로 분리, 각 리스트 내에는 기준값보다 크고 작은 수들이 모여 있도록 함. import java.util.ArrayList; import java.util.List; public class QuickSort { /* 1. 배열의 중간(크기..
QuickSort 는 어려운 부분이 포인터 총 세 개를 이용해서 하나는 기준값, 하나는 맨 왼쪽의 원소, 하나는 맨 오른쪽의 원소를 가리킨 채로 시작을 한다는 점이다. 기준값을 가지고 어떠한 액션을 취할 것 같은데, 사실 기준값은 말 그대로 기준의 역할 외에는 하는 것이 없다. 기준 값을 기준으로 현재의 두 원소들을 (포인터들로 가리키고 있다) swap할 것인지, 아니면 다른 원소를 찾을 것인지를 결정한다. 다른 원소를 찾기로 결정되면 포인터가 가리키는 위치를 증가 or 감소시킨다. 이후 다음 iteration phase 에서 이번 두 원소는 swap 할 조건을 충족시키는지 확인한다. (즉, 왼쪽 포인터는 pivot 보다 더 큰 원소를 가리키고, 오른쪽은 pivot 보다 더 작은 원소를 가리키는 상황) ..
What is Docker? 도커는 애플리케이션을 OS와 분리된 공간에서 컨테이너 형태로 사용할 수 있게끔 해주는 프로젝트이다. Docker Engine 도커 프로젝트의 핵심으로 컨테이너를 생성하고 관리하는 주체. 도커 엔진 만으로도 컨테이너 제어 및 다양한 기능을 사용할 수 있다. Hypervisor and Docker 도커 이전에는 하나의 호스트 컴퓨터에서 여러 '가상 머신' 을 사용할 수 있게 하는 하이퍼바이저가 있었다. '가상 머신' 이란? 물리적인 하드웨어로서의 컴퓨터가 아니라 소프트웨어를 사용하여 자원을 공급 받아 사용하는 주체이다. 각 가상 머신은 고유의 운영 체제를 가지고 있다. 하나의 호스트에서 여러 개가 운용될 수 있다. How Docker substitutes Hypervisor 도커..
Introduction Queue data structure follows First In First Out (FIFO) order. Not like Stack data structure, Queue allows the least recently added value to be freed the earliest. Thus, Queue data structure is more in accordance with common sense in reality familiar to us. Implementation Since Queue takes out the value pushed the earliest above all, two pointers are required for tracking the working..
Introduction One of the most famous data structures used in JAVA is Stack. Stack follows "LIFO (Last In First Out)" order, meaning a data value pushed on stack firstly is popped with priority. This rule Stack data structure follows may be unfamiliar to us, as we are more used to the concept of lining up. In the formation of lining up, the person who walked into a line earlier would enter into th..
- Total
- Today
- Yesterday
- Jackson
- 역직렬화
- LazyInitializationException
- JPA
- google cloud
- @RequestBody
- Spring Boot
- 가상 서버
- Java Data Types
- 지연 로딩
- JPQL
- 기지국 설치
- 서버 호스팅
- spring security
- 인증/인가
- 알고리즘
- DeSerialization
- 도커
- DTO
- gitlab
- 깃랩
- 코테
- ResponseEntity
- N+1
- 코딩 테스트
- 프로그래머스
- JOIN FETCH
- json web token
- ci/cd
- docker
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |