일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 이펙티브자바
- Sort
- 자바
- 알고리즘정렬
- 엘라스틱서치
- 카카오
- 이펙티브 자바
- 이차전지관련주
- Effective Java 3
- JavaScript
- 스프링핵심원리
- 알고리즘
- 스프링
- 예제로 배우는 스프링 입문
- Spring
- ElasticSearch
- 카카오 면접
- 김영한
- 클린아키텍처
- java
- k8s
- 스프링부트
- kubernetes
- effectivejava
- 코딩테스트
- 자바스크립트
- 티스토리챌린지
- 스프링 핵심원리
- Effective Java
- 오블완
- Today
- Total
목록개발/TIL (7)
Kim-Baek 개발자 이야기
NextStep 이라는 교육 플랫폼에서 TDD, Clean Code With Java 라는 수업을 들으면서 정말로 많은 것들을 배우고 있다. 내가 자바를 제대로 쓰고 있었던게 맞나...? 라는 의문이 들정도로 내가 고쳐야될 것이 정말 많다는 것을 느끼는 중이다. 이 과정을 통해서 배우는 것들을 정리하고, 계속 봐야겠다는 생각을 하며 포스팅을 해보고자 한다 :) 객체지향 생활 체조 원칙? 소트웍스 앤솔러지라는 책에서 나오는 9가지 원칙이라고 한다. 클린코드를 위한 원칙이라고 생각하면 되는데, 상당히 구체적인 내용이라서 이해하기가 쉽다. 규칙 1: 한 메서드에 오직 한 단계의 들여쓰기(indent)만 한다. 규칙 2: else 예약어를 쓰지 않는다. 규칙 3: 모든 원시값과 문자열을 포장한다. 규칙 4: 한..
일반적으로 회사에서 업무를 하면 Git 을 사용하는 경우가 가장 많다. 본인이 작업한 내용을 push 하고 merge까지 하려고 하면, 다른 사람이 작업한 내용과 conflicts 가 나는 경우가 있다. 최근 Github 에서는 충돌이 났을 때, 간단한 충돌의 경우 웹 상에서 해결할 수 있는 기능이 존재한다. [Github Web 에서 충돌 해결] Merge를 하려고 보면 저렇게 충돌이 났다고 나오고, Resolve conflicts 버튼이 활성화 된다. 이 버튼을 누른다. 그러면 아래와 같이 충돌난 부분의 소스코드가 나온다. 이 부분을 고치고, 체크하면 Github 웹 상에서 바로 충돌의 해결이 가능하다. [Git 명령어로 충돌 해결] 모든 경우에 웹으로 되는 것이 아니기 때문에, 명령어로 충돌을 해결..
@Autowired와 @Resource는 같은 기능을 하는 어노테이션이다. 하지만 둘에는 차이점이 존재한다. 1. @Autowired는 스프링 프레임워크 어노테이션이다. 그렇기 때문에 스프링을 사용하지 않는 환경에서는 @Resource를 사용해야 한다. 2. @Autowired의 경우 type과 id 가운데 매칭 우선순위는 type이 높다. @Resource는 그 반대. 표로 정리하면 다음과 같다. @Autowired @Resource 스펙 스프링 표준 자바 소속 패키지 org.springframework.beans.factory.annotation.Autowired javax.annotation.Resource 빈 검색 방식 byType 먼저. 못 찾으면 byName byName 먼저. 못 찾으면 by..
@SerializedName annotation의 value는 객체를 직렬화 및 역직렬화 할 때 이름으로 사용된다. class Albums { @SerializedName("제목") public String title; @SerializedName("내용") public String message; } { "제목": "Albums" "내용": "Free Music Archive", } isPresent() 라는 메소드를 찾아보다가 optional 쪽을 확인해보게 되었다. boolean isPresent() -> 내부객체가 null이 아닌지 확인한다. null이면 false를 반환한다. Optional 은 따로 정리를 할 필요성이 있다. 아래 포스팅을 참조해보자 www.daleseo.com/java8-op..
ES 를 도커 이미지로 띄우는 과정에서 에러가 발생하였다 [1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144] 해당 문제는 vm이나 윈도우에 띄운다면 간단하게 설정만 변경하면 해결할 수 있는 문제이다. decaffein.tistory.com/entry/Elasticsearch-%EC%8B%A4%ED%96%89%EC%8B%9C-vmmaxmapcount-65530-is-too-low-%EC%98%A4%EB%A5%98-%EC%88%98%EC%A0%95-%EB%B0%A9%EB%B2%95 Elasticsearch 실행시 vm.max_map_count [65530] is too low 오류 수정 ..
Openstack 의 Tenant - Openstack Keystone 에서 사용하는 용어로, 사용자 그룹을 의미할 수 있고, 리소스나 어플리케이션에 권한을 갖고 관리하는 단위라고 볼 수 있다. - Keystone v2 에서 사용하는 용어이고, v3 에서는 project 로 용어가 변경되었다. @ignore - junit의 테스트 중, 제외하고 싶은 내용을 이 어노테이션을 사용하면 해당 테스트는 수행되지 않고 진행하게 된다. - 테스트 자체를 지우고 싶지는 않고, 빌드시 돌리고 싶지 않을 경우에 사용하면 좋을 듯 하다.
인텔리제이와 이클립스에서 프로젝트의 구조 인텔리제이에서 프로젝트 아래에 여러 모듈을 가지면서 사용한다. gradle 에서 모듈을 세팅하면서 발생한 문제 아래와 같이 build.gradle 파일에 내가 원하는 모듈을 세팅할 수 있다. project(':worker') { springBoot { mainClassName = '메인클래스 명' } dependencies { implementation(project(':core')) compile('org.elasticsearch:elasticsearch:6.6.1') } compileJava.dependsOn(processResources) } 위처럼만 하고 리빌드를 하면 에러가 나오는 것을 확인할 수 있다. Project with path ':mypath' ..