일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 자바 ORM 표준 JPA 프로그래밍
- jdbc
- 아이템 26
- 아이템 25
- 객체지향 쿼리 언어
- 최범균
- Domain Driven Design
- 아이템31
- JPA
- Immutable Object
- 아이템 24
- 아이템 27
- GitHub Actions
- Github Actions Cache
- 일ㅊ
- Spring Batch
- Docker Layer
- 이펙티브자바
- 아이템30
- 도메인 주도 개발 시작하기
- criteriaquery
- 아이템 23
- Docker cache
- cicd
- 아이템 22
- ddd
- 아이템29
- JPQL
- java
- 아이템 28
- Today
- Total
목록2024/05 (6)
코딩은 마라톤
아이템 7. 다 쓴 객체 참조를 해제하라public class Stack { private Object[] elements; private int size = 0; private static final int DEFAULT_INITIAL_CAPACITY = 16; public Stack() { elements = new Object[DEFAULT_INITIAL_CAPACITY]; } public void push(Object e) { ensureCapacity(); elements[size++] = e; } public Object pop() { if(size == 0) th..
아이템 4. 인스턴스화를 막으려거든 private 생성자를 사용하라저번 블로그에 작성했었던 유틸 클래스의 경우 정적 메서드와 정적 필드만을 갖고 있습니다.이러한 유틸 클래스는 인스턴스를 생성해 사용하는 것이 아닌 유틸 클래스의 정적 메서드와 정적 필드를 사용합니다.그런데 Util이란 단어가 클래스에 붙지 않고, 그냥 클래스와 똑같이 생겨서 외부에서 인스턴스화 하여 사용할 수 있습니다.왜냐하면 생성자가 없이 정적 필드와 메서드만 있어도 기본 생성자가 컴파일러에 의해 자동으로 생성되기 때문입니다.public class Util { // 컴파일러가 생성해주는 기본 생성자 public Util() {} 기본 생성자의 접근 제어자는 Public이기 때문에 외부에서 인스턴스화할 수 있습니다. 이를 방지..
아이템 1. 생성자 대신 정적 팩터리 메서드를 고려하라정적 팩터리 메서드 : 그 클래스의 인스턴스를 반환하는 정적 메서드 장점(5)1. 반환될 객체의 특성을 쉽게 묘사할 수 있는 "이름" 을 지을 수 있다.// 생성자new Bake(String, String, String)// 정적 팩터리 메서드Bake.bakeCookie(String, String, String) 2. 호출될 때마다 새로 인스턴스를 생성하지 않아도 된다.public static Boolean valueOf(boolean value) { return value ? true : false;}// valueOf 메서드는 true, false를 미리 만들어놓고 반환하기 때문에 // 자주 요청해도 요청 횟수만큼 생성되는 것이 아니라 성능 향상의..
회사 면접 봤을 때가 4월 5일이었는데..(제 생일인건 비밀)벌써 3주차네요..회사 입사하면서 긴장도 엄청 하고 실수도 많이 하지만...실수 안하고 완벽해야지! 라는 생각에서더 실수하고 부족한 부분을 계속 발견해서 더 채워 나가야지! 라는 생각으로 바뀌고 있습니다. 제일 처음 받은 업무에서 완벽해야한다는 생각이 바뀌게 된 순간이었습니다.저는 application.yml 프로파일이 로컬(local), 개발용(dev), 실서버용(stg, prod) 3~4가지로 나뉘는데 이걸 environment.getActiveProfiles() 를 통해서 각 환경별 Prefix를 만드는 것이었습니다. "엥? 그냥 각 환경 별로 맞으면 각 Prefix를 더해주면 되겠네" 했는데 이를 Util 성 클래스로 요청 받았고Util..
근황...요즘 블로그 쓰는게 뜸하죠... 제가 이번주부터 회사 인턴으로 백엔드 개발자로 근무하게 되었습니다 !!!!!많이 부족한 실력이지만 개인 공부도 열심히 하고 회사 일도 꼼꼼하게 해서 3개월 뒤에 좋은 개발자가 되었음 좋겠습니다~! P.S 회사에서 사용하는 제 영어 이름은 Koi (코이) 입니다. 책에서 읽고 저의 모토랄까나.. 가치관과 가장 잘 맞는다고 생각해서 지었습니당https://www.onday.or.kr/wp/?p=13410 (고른 이유가 궁금하시다면 이 글을 읽어보세요!) 회사에는 좋은 개발자들과 제가 성장할 수 있는 환경을 충분히 제공해주신 만큼 열심히 노력해서 코이처럼 대인이 되었음 좋겠습니다.또한 성장에 그치지 않고 주변의 개발을 꿈꾸는 분들에게 좋은 환경을 제공해서 또 다른 코..
학습하게 된 계기지금 하고 있는 프로젝트가 기능 구현은 다 끝났지만, 인증과 관련해서 액세스 토큰만 사용하기 때문에 짧은 유효시간으로 잦은 로그인이 발생했다. 그래서 리프레시 토큰을 추가해서 안정성을 높이고자 했는데,, 모든 에러를 처리해줬음에도,, 500 에러만 계속 떠서 무슨 이유에서 에러가 발생하는지 알 수 없었다.. 그 이유를 최근에서야 알게 됐는데 바로 Filter 때문이었다. 필터에서 내가 커스텀한 ServiceException이 발생 시 에러 메시지를 보내고, 그 외에 모든 에러는 500 서버 에러를 보낸다. 하지만 ServiceException은 거진 Service 레이어에서 발생하기 때문에 필터에서 디스패처 서블릿으로 넘어간 후 에러가 발생하여 필터에서 catch하지 못하는 상황이었다..