개발(19)
-
명쾌한 Custom Exception in Java
Custom Exception을 언제 사용해야 할지 알 수 있다 : Standard Exception이 마땅치 않은 상황에 대하여 Custom Exception 작성법을 알 수 있다 : 지켜야 할 것들 어떤 점을 주의해서 사용해야 하는지 알 수 있다 : 성능 최적화 이 글에서는 Exception에 대한 의미나 종류, 처리 방식등을 다루지 않습니다. 1. 🔎 Standard Exception과 Custom Exception 서비스를 만들다보면 예외를 발생시킬 일이 많습니다. null을 허용하지 않는 메서드에 null을 건넸을 때 NullPointerException 배열, 문자열, 벡터 등에서 범위 밖의 index에 접근할 때 IndexOutOfBoundsException 허용하지 않는 값이 인수로 건네졌..
2020.09.03 -
Spring🌱 vs SpringBoot🌼
Spring의 개념을 알 수 있다 : Spring이 왜 등장했는가? SpringBoot의 개념을 알 수 있다 : SpringBoot이 왜 등장했는가? Spring과 SpringBoot 차이를 알 수 있다 : 어떤 것을 해결하기 위해 등장했으며 Spring Boot의 특징은 무엇인가? Spring과 Spring Boot 중 어떤 것을 선택해야 할지 알 수 있다 : 현재 추세는 어떻게 되는가? 1. 🌱Spring 스프링 공식 문서에서는 Spring Framework를 아래와 같이 설명합니다. The Spring Framework provides a comprehensive programming and configuration model for modern Java-based enterprise applica..
2020.06.08 -
깊이 있는 Singleton
Singleton의 개념을 알 수 있다 : 무엇이며 언제, 어떻게 사용하는가? Singleton의 단점을 알 수 있다 : 왜 안티패턴이라 불리는가? Spring에서 Singleton의 의미를 알 수 있다 : Spring bean, Single Object, Singleton의 관계 1. Singleton Pattern Singleton Pattern은 GoF가 소개한 디자인 패턴 중 하나이다. 어떤 클래스를 어플리케이션 내에서 하나의 인스턴스가 존재하도록 강제하는 패턴 이다. 이렇게 하나만 만들어지는 클래스의 오브젝트는 애플리케이션 내에서 전역적으로 접근이 가능 하다. Singleton Pattern 사용 시 주의해야 할 점은 상태를 가진 객체를 Singleton으로 만들면 안된다 는 것이다. 이에 관해..
2020.05.31 -
[Effective Java] 아이템11. equals를 재정의하려거든 hashcode도 재정의하라
본 포스팅은 이펙티브 자바 3판 을 바탕으로 작성되었습니다. 학습목표 1. hashcode를 재정의 해야 할 때와 이유를 알 수 있다. 2. 좋은 해시코드 작성법에 대해 알 수 있다. 3. 해시코드를 작성하는 여러 방법을 알 수 있다. 4. 해시코드 작성 시 주의할 점을 알 수 있다. 0️⃣ 두 객체가 같다? equals() 두 객체의 내용이 같은지, 논리적 동등성(equality)를 비교 hashCode() 두 객체가 같은 객체인지, 동일성(identity)를 비교 Reference 동치 : Heap에 있는 한 객체를 서로 다른 reference가 참조하는 경우 두 reference에 대해 hashCode() 메서드를 호출하면 같은 값을 반환합니다. 객체 동치 : Heap에 두 개의 객체가 들어있고 두..
2020.01.13 -
[Effective Java] 아이템1. 생성자 대신 정적 팩터리 메서드를 고려하라
본 포스팅은 이펙티브 자바 3판 을 바탕으로 작성되었습니다. 학습목표 1. 올바른 객체 생성 방법을 알 수 있다. 2. 정적 팩터리 메서드의 장점을 알 수 있다. 3. 정적 팩터리 메서드의 단점을 알 수 있다. 인스턴스를 생성하는 방법에는 public 생성자를 이용하는 방법과 정적 팩터리 메서드를 이용하는 방법이 있습니다. public 생성자를 이용할 경우 new Ticket(); 을 통해 인스턴스를 얻을 수 있습니다. public class Ticket { public Ticket() {} } 정적 팩터리 메서드를 이용할 경우 Ticket.getInstance(); 을 이용하여 인스턴스를 얻을 수 있습니다. public class Ticket { public static Ticket getInstanc..
2020.01.10 -
[Git] 이미 Push한 Commit 메세지 변경하기
1. .git 파일이 있는 폴더로 이동합니다. 2. rebase 명령어를 입력합니다. git rebase HEAD~[거슬러 올라가고 싶은 커밋 수] -i 예를 들어, 바로 전 커밋의 메세지를 재작성하길 원한다면 git rebase HEAD~1 -i 이렇게 하면 됩니다. 3. 이 때 뜨는 화면에서 pick 이라는 단어를 reword 로 변경합니다. 4. 커밋 메세지가 기록되어 있는 화면이 보이면 여기서 커밋 메세지를 수정해줍니다. i 를 입력하여 편집 모드로 변경한 후 수정을 진행합니다. 수정이 완료되면 ESC키를 누른 후 :wq! 를 입력하여 편집기를 빠져나옵니다. 5. 강제 push 를 하여 수정 내용을 원격 저장소에 반영합니다. git push --force 현재 브랜치에 강제 푸쉬하려면 아래와 같이..
2019.12.17