
검사 예외든, 비검사 예외든, 추상 메서드든, 구체 메서드든 메서드가 던질 가능성이 있는 모든 예외를 문서화하라. 🐱👤 검사예외 검사 예외는 항상 따로따로 선언하고, 각 예외가 발생하는 상황을 자바독의 @throws 태그를 사용하여 정확히 문서화하자. 만약, 공통 상위 클래스 하나로 예외를 뭉뚱그려 선언한다면 메서드 사용자에게 각 예외에 대처할 수 있는 힌트를 주지 못할뿐더러, 같은 맥락에서 발생할 여지가 있는 다른 예외들까지 삼켜버릴 수 있어 API 사용성을 크게 떨어뜨린다. (하지만 오직 JVM만이 호출하는 main 메서드는 예외다. Exception을 던지도록 선언해도 괜찮음) 🐱💻 비검사예외 자바 언어가 요구하는 것은 아니지만, 비검사 예외도 검사 예외처럼 문서화해두면 도움이 된다. 잘 정비된..

생성자나 정적 팩토리가 처리해야 할 매개변수가 많다면 빌더 패턴을 선택하는 것이 더 좋다. ⛔ 기존 문제점 정적 팩터리와 생성자에는 똑같은 제약이 하나 있다. 선택적 매개변수가 많을 때 적절히 대응하기 어렵다. 보통 필수 매개변수와 선택 매개변수가 있을 때 필수 매개변수와 선택 매개변수를 1개 받는 생성자, 2개 받는 생성자, 3개 받는 생성자 등의 형태로 선택 매개변수를 전부 다 받는 생성자까지 늘려가는 방식을 사용한다. 하지만 이런 생성자는 매개변수 개수가 많아지면 - 클라이언트 코드를 작성하거나 읽기 어렵고, - 코드를 읽을 때 각 값의 의미가 무엇인지 헷갈리고, - 매개변수가 몇 개인지 주의해서 세어보아야 하고, - 클라이언트가 실수로 매개변수의 순서를 바꿔 건네줘도 컴파일러는 알아채지 못하고, ..

개발자라면 한 번쯤은 들어봤던 네트워크 OSI 7계층에 대해 알아보겠습니다! 저 같은 경우는 학교에서 네트워크 수업을 피해다녔던 터라,, 정보처리기사에서 처음 접하게 되었습니다. 정처기 공부할 당시에는 무슨 원리인지도 모르고 달달 외워서 시험을 봤었는데, 우연히 테코톡에서 좋은 강의를 찾아서 참고하여 정리해보겠습니다! [참고한 테크톡 유튜브 영상] https://www.youtube.com/watch?v=1pfTxp25MA8 🔎 OSI 7계층이란? 예전에는 같은 회사의 컴퓨터끼리만 통신이 가능했던 시절이 있습니다. 이러한 문제를 해결하기 위해 서로 다른 컴퓨터 회사들이 자유롭게 통신할 수 있도록 ISO (International Organization for Standardization, 국제표준화기구)..

문제 : https://www.acmicpc.net/problem/2225 2225번: 합분해 첫째 줄에 답을 1,000,000,000으로 나눈 나머지를 출력한다. www.acmicpc.net 🔎 Solve 다이나믹 프로그래밍(DP)을 이용하여 풀었습니다. 해당 문제를 표를 만들어서 생각해보면 점화식을 쉽게 만들어낼 수 있습니다. 문제에서 예제 입력 2번과 같이 N=6, K=4일 때를 예로 들어보겠습니다. 2차원 int형 배열을 만들어서 행에는 K (1~4)를, 열에는 N (0~ 6)을 나타내는 배열을 만들어줍니다. dp 0 1 2 3 4 5 6 1 2 3 4 해당 dp.배열을 K개의 숫자로 N을 만들 수 있는 경우의 수를 채워줍니다. 이때, K가 1개일 때는 각 숫자 자신만이 가능하니 1로 채워줍니다...
- Total
- Today
- Yesterday
- cicd
- 조합
- 토큰기반인증
- 알고리즘
- Container
- 순열
- docker
- dp
- 아이템59
- OS
- EffectiveJava
- 이펙티브자바
- 완전탐색
- bruteforce
- BFS
- BOJ
- Retrofit2
- 백준
- 완탐
- DevOps
- 운영체제
- 그래프탐색
- springboot
- 아이템61
- docker-compose
- subset
- 아이템60
- dfs
- Java
- IMAGE
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |