[Effective-Java] Chapter10 #72. 표준 예외를 사용하라
·
Reference/Effective-Java
📌 장점 Java 라이브러리는 대부분 API에서 쓰기 충분한 수의 예외를 제공하니 재활용하라 우리가 작성한 API가 다른 사람이 익히고 사용하기 쉬워진다. 우리의 API를 사용하는 프로그램도 낯선 예외를 사용하지 않게 되어 읽기 쉬워진다. 예외 클래스 수가 적을 수록 memory 사용량이 줄고 클래스를 적재하는 시간이 감소한다. 📌 종류 예외 주요 쓰임 IllegalArgumentException 허용하지 않는 값이 인수로 건네졌을 때(null은 따로 NullPointerException으로 처리) IllegalStateException 객체가 메서드를 수행하기에 적절하지 않은 상태일 때 NullPointerException null을 허용하지 않는 메서드에 null을 건넸을 때 IndexOutOfBou..
[Linux] Archive
·
DevOps/Linux
📕 목차 1. Archiving의 목적 2. Archiving의 대상 3. Archiving의 위치 4. tar : 파일과 파일 시스템 archiving 5. dd : 파티션 archiving 6. rsync : archive 동기화 7. 백업 계획 시 고려 사항 더보기 🌱 명령 복습 # 현재 활성화된 파티션을 사람이 읽기 쉬운 형식으로 보여준다. df -h # 특정 디렉토리에 있는 비디오 파일들의 압축된 아카이브를 생성한다. tar czvf (아카이브명).tar.gz (디렉토리 경로)/*.mp4 # 큰 파일을 지정한 크기의 작은 파일 여러 개로 분할한다. split -b 1G (아카이브명).tar.gz (아카이브명).tar.gz.part # 지정한 기준에 맞는 파일들을 찾아 tar 명령에 전달해 아카이..
[Effective-Java] Chapter10 #71. 필요 없는 검사 예외 사용은 피하라
·
Reference/Effective-Java
📌 검사 예외의 장단점 🟡 pros 발생한 문제를 프로그래머가 처리하도록 강제하므로 안정성을 높인다. 구체적인 예외 타입과 그 타입이 제공하는 메서드들을 활용해 부가 정보를 제공할 수 있다. 🟡 cons 과하게 사용하면 쓰기 불편한 API가 된다. 호출자가 반드시 catch 블록을 두어 예외를 붙잡아 처리하거나, 바깥으로 던져야 하므로 사용자에게 부담을 준다. 검사 예외를 던지는 메서드는 스트림 안에서 직접 사용이 불가능하다. 단 하나의 검사 예외만 던질 때 가장 큰 부담을 준다. 다른 검사 예외도 던지는 상황이면 catch문 하나 추가하는 정도 검사 예외가 하나뿐이라면, 오직 그 예외 때문에 사용자는 try 블록을 추가하고 Stream을 사용할 수 없게 된다. 📌 검사 예외를 사용하는 경우 } catc..
[Clean Code] 10. 클래스
·
Reference/CleanCode
📕 목차 1. 클래스 체계 2. 클래스는 작아야 한다! 3. 변경하기 쉬운 클래스 1. 클래스 체계 표준 자바 관례에 따른 클래스 정의 순서 정적(static) 공개(public) 상수 정적 비공개(private) 변수 비공개 인스턴스 변수 공개 함수 비공개 함수 즉, 추상화 단계가 순차적으로 내려간다. 📌 캡슐화 변수와 유틸리티 함수는 가능한 공개하지 않는 편이 낫지만 반드시 숨겨야 한다는 법칙도 없다. 때로는 protected로 선언하여 테스트 코드에 접근을 허용하기도 한다. 그러나 캡슐화를 풀어주는 결정은 언제나 최후의 수단이어야 한다. 2. 클래스는 작아야 한다! 함수를 만들 때와 똑같이 '작게'가 기본 규칙이다. 그렇다면 '얼마나 작아야' 하는가? 함수는 물리적인 행 수로 크기를 측정한다. 클래..