(Effective Java) 10장 예외
[Java/Spring] 예외 : Global Exception Handler 작성법 [코딩 노트] Exception 처리, 어떻게 하는게 좋을까? 아이템 69. 예외는 진짜 예외 상황에만 사용하라 아이템 70. 복구할 수 있는 상황에는 CheckedException을, 프로그래밍 오류에는 RuntimeException을 사용하라 아이템 71....
[Java/Spring] 예외 : Global Exception Handler 작성법 [코딩 노트] Exception 처리, 어떻게 하는게 좋을까? 아이템 69. 예외는 진짜 예외 상황에만 사용하라 아이템 70. 복구할 수 있는 상황에는 CheckedException을, 프로그래밍 오류에는 RuntimeException을 사용하라 아이템 71....
아이템 57. 지역번수의 범위를 최소화하라 가장 처음 쓰일 때 선언하고 선언과 동시에 초기화. 초기화 팁?[Java] Collection 초기화 아이템 58. 전통적인 for 문 보다는 for-each 문을 사용하라 for-each를 사용하지 못하는 경우가 있긴 하다. 루프 돌면서 원소 찾아서 제거해야 하는...
class User { } public class ThreadLocalTest { public static void main(String[] args) { User u = new User(); ThreadLocal threadLocal = new ThreadLocal<>(); thread...
[!info] 개인 의견 추가 되어 있음. 아이템 49. 매개변수가 유효한지 검사하라 매개변수 유효성 체크는 메서드 바디 시작 전에 수행해야 한다. (‘오류는 가능한 한 (발생지점에서 가까운 곳에서) 빨리 잡아야 한다’ 원칙 ) 보통 파라미터 체크에 assert를 사용하는 것은 걸맞지 않지만, private 메서드라면 파라미터로 넘...
원소 개수가 n개이면, 모든 부분집합의 개수는 2^n개가 되므로 멱집합의 원소 개수는 2^n개다. 너무 많다. 비트 벡터를 이용해서 메모리를 n 만큼만 쓰는 방법 https://github.com/umbum/effective-java-3e-source-code/blob/master/src/effectivejava/chapt...
실전! 스프링 5를 활용한 리액티브 프로그래밍 예제 코드 Github 스크린 샷 / 다이어그램 그림파일 왜 리액티브인가? 전통적인 개발 방법대로 작성했을 때 발생했던 문제? 시간 당 리퀘스트, 처리 시간, 스레드 수를 고려해서 초당 1000건 처리할 수 있을 거라고 가정하고 시스템을 작성했는데 블랙 ...
[Java] lambda 기본 개념 [Java] Stream API 노트 아이템 42. 익명 클래스보다는 람다를 사용하라 람다의 모든 매개변수 타입은 생략한다. 타입을 명시해야 코드가 더 명확한 경우만 명시 컴파일러가 “타입을 알 수 없다”는 오류를 낼 때만 명시 단, 람다 코드로 명...
bash Ctrl+Backspace로 단어 삭제하도록 만들기 +++ /etc/inputrc 또는 ~/.inputrc "\C-h": backward-kill-word 이렇게 설정했는데 backspace만 눌러도 한 단어가 지워지는 경우? 더보기 backspace를 누르면 ^?(0x7f)를 보내도록 되어 있고, Ctrl+backspace를 ...
[Languages & Frameworks/Kotlin Java] - [Java] Enum 아이템 34. int 상수 대신 enum 타입을 사용하라 Planet.java 자바에서 enum을 뒷받침하는 아이디어는 다음과 같다. enum 타입 자체는 클래스이며, 상수 하나당 자신의 인스턴스를 하나씩 만들어 public static fi...
[!info] 제네릭의 본질은, 런타임에 ClassCastException이 발생하는 것을 막아주어 타입 안전성을 높이는데 있다. 아이템 26. raw 타입은 사용하지 마라 (제네릭 쓸 때 <>를 빼먹지 않도록 주의해라) raw타입이란 List<>가 아니라 그냥 List로, 제네릭을 타입 지정 없이 쓰는 것을 말...