업무를 하면서 테스트 코드를 작성하다보니 동일한 메서드 형태를 매번 생성해야 하는 경우가 발생했습니다. 이를 템플릿화 하여 조금 더 편하게 사용할 수 있도록 IntelliJ가 제공하는 Live Template을 사용해보도록 하겠습니다. 라이브 템플릿 생성하기 1. Settings/Preferences > Editor > Live Templates로 이동 2. 목록에서 템플릿을 추가할 그룹 선택 (user를 선택하는데 그냥 + 눌러서 생성하면 바로 user 그룹에 추가됩니다.) 3. + 버튼 클릭 > Live Template 선택하여 추가 선택한 그룹 아래에 템플릿이 생성되면 원하는 내용을 작성합니다. Abbreviation : 사용할 단축어 (ex: soutv) Description : 단축어 설명 (o..
개발 중 하나의 리스트를 다양하게 필터해서 다음 처리를 진행하는 로직을 구현했던 적이 있습니다. 이때 같은 리스트를 대상으로 여러가지 연산, 필터 등이 다양한 곳에서 사용되는 것을 보고 선배 개발자분께서 "일급 컬렉션"을 사용하면 훨씬 좋은 코드가 될 것 같다는 조언을 해주셨습니다. 그래서 해당 코드를 일급 컬렉션을 사용하여 개선한 경험에 대해 적어보고자 합니다. 일급 컬렉션 (First Class Collection) 클래스가 컬렉션을 Wrapping 하면서, 그 외 다른 멤버 변수가 없는 상태를 말합니다. 예를 들면 다음과 같은 리스트가 있다고 할 때 List applicants = new ArrayList(); for (String name : names) { applicants.add(new Ap..
Java 9 부터 List 생성 시 List.of() 메소드를 사용할 수 있게 되었습니다. 이를 알게 된 이후로 자주 이 메소드를 사용해서 List 생성을 해왔습니다. 그런데 코딩을 하던 중 이렇게 만든 리스트에 값을 변경( add() 등)하는 일이 생겼는데 다음과 같은 에러가 발생했습니다. Exception in thread "main" java.lang.UnsupportedOperationException 해당 연산을 지원하지 않는다는 것으로 해서는 안되는 연산을 해서 발생한 에러였습니다... List.of() 메소드를 살펴보니 다음과 같았습니다. static List of(E e1) { return new ImmutableCollections.List12(e1); } of 메소드는 불변 컬렉션 생성..
Annotation이란? 어노테이션은 사전적 의미로는 주석이라는 뜻입니다. 자바에서 사용될 때의 어노테이션은 코드 사이에 주석처럼 쓰여서 특별한 의미, 기능을 수행하도록 하는 기술을 말합니다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터(meta data: 데이터를 위한 데이터)라고 볼 수 있습니다. Annotation을 사용하는 용도 Annotation을 사용하는 용도는 아래와 같이 크게 3가지가 있습니다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공 소프트웨어 개발툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보 제공 실행시(런타임시)특정 기능을 실행하도록 정보를 제공 Spring에서 제공되는 대부분의 Annotation은 런타임 시 특정 기능을 실행하도록 정보를 제..
새로운 회사에서 프로젝트를 진행하면서 Java Version에 대한 얘기가 나왔다. 기존에는 LTS 버전을 아무 생각없기 기본으로 사용해 왔었는데 17이 LTS로 되면서 어떤 차이가 있고 어떤 점을 고려해서 스펙을 선택하는 것이 좋은지 고민이 되었다. ❗️물론 많은 차이를 알지는 못하지만... 우선 주요 내용을 정리해보려고 한다...ㅠ Java 8 Lambda Java 8 이전에는 a new Runable 과 같은 인스턴스 생성을 할 때마다, 익명의 내부 클래스를 작성해야 했다. Runnable runnable = new Runnable(){ @Override public void run(){ System.out.println("Hello world !"); } }; 하지만 람다를 사용하면 아래와 같이 ..
- Total
- Today
- Yesterday
- map
- Combination
- array
- ionic
- 수학
- Dynamic Programming
- DFS
- CodePipeline
- 프로그래머스
- search
- Baekjoon
- string
- CodeCommit
- 순열
- CodeDeploy
- programmers
- 소수
- BFS
- 에라토스테네스의 체
- sort
- spring
- AWS
- cloudfront
- SWIFT
- java
- Algorithm
- 조합
- permutation
- EC2
- ECR
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |