일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 계산기만들기
- 백준알고리즘
- 제네릭스
- 자바
- 백엔드
- 데일리코딩
- 문자열뒤집기
- Spring Security
- CLI명령어
- 스프링
- Spring Data JDBC
- 컬렉션프레임워크
- 첫글자대문자
- 회고
- CSS
- 인텔리제이
- 깃허브
- 거듭제곱
- java
- fibonacci
- 부트캠프
- 알고리즘
- Publishing
- testing
- 그리디
- spring data jpa
- 페어프로그래밍
- 자료구조
- HTML
- FilterChain
- Today
- Total
목록분류 전체보기 (69)
나의 모양
✏️ Description Return power input two numbers input base: int (base >= 2) exponent: int (exponent >= 0) output return long return rest of divided by 94,906,249 of the actual calculation results caution Avoid using Math.pow, power operators Time Complexity O(logN) example of in/output ong output = power(3, 40); System.out.println(output); // --> 19334827 📚 TIL Power: Multiply the same number mult..

🎈Checked Exception 예외를 잡아서(catch) 체크한 후 반드시 에러처리(try~catch)를 해야하는 예외이다. Exception 클래스의 하위 클래스 (Exception 상속받음) ClassNotFoundException, FileNotFoundException, SQLException, … 🎈Unchecked Exception 예외를 잡아서(catch) 해당 예외에 대한 처리(try~catch)를 할 필요가 없는 예외이다. RuntimeException의 하위 클래스 (RuntimeException 상속받음) 주로 개발자가 코드를 잘못 작성해서 발생하는 오류들은 모두 RuntimeException을 상속한 예외들이다. NullPointException, ArrayIndexOutOfBo..
✏️ Description Return whether the sample is a subset of the base by receiving two arrays input base: temporary Array with element of int sample: temporary Array with element of int output: boolean caution: no duplicates example of in/output int[] base = new int[]{1, 2, 3, 4, 5}; int[] sample = new int[]{1, 3}; boolean output = isSubsetOf(base, sample); System.out.println(output); // --> true sam..
🎈 @ExceptionHandler를 이용한 예외 처리 Controller 클래스 레벨에서 @ExceptionHandler를 사용하면 해당 Controller에서 발생하는 예외를 처리할 수 있다. 필요한 예외 정보만 담을 수 있는 Error 전용 Response 객체를 사용하면 클라이언트에게 조금 더 친절한 에러 정보를 제공할 수 있다. BUT! @ExceptionHandler 방식은 Controller마다 동일하게 발생하는 예외 처리에 대한 중복 코드가 발생할 수 있기 때문에 다양한 유형의 예외를 처리하기에는 적절하지 않다. ✅ Ref. @ExceptionHandler https://docs.spring.io/spring-framework/docs/current/reference/html/web.htm..

🎈 DI를 통한 서비스 계층 ←→ API 계층 연동 애플리케이션에서 Service: 도메인 업무 영역을 구현하는 비즈니스 로직을 처리하는 것이다. 애플리케이션의 비즈니스 로직을 처리하기 위한 서비스 계층은 대부분 도메인 모델을 포함하고 있다. Spring Bean으로 등록 Controller 클래스에 @RestController 추가 Service 클래스에 @Service 추가 생성자 방식의 DI는 생성자가 하나일 경우에는 @Autowired 애너테이션을 추가하지 않아도 DI가 적용된다. 서비스 계층과 API 계층을 연결한다는 것은 API 계층에서 구현한 Controller 클래스가 서비스 계층의 Service 클래스와 메서드 호출을 통해 상호작용하는 것이다. 🎈 매퍼(Mapper)를 이용한 DTO 클래..
🎈DTO 유효성 검증이 필요한 이유 자바스크립트로 전송되는 데이터는 브라우저의 개발자 도구에서 값을 조작할 수 있기 때문에 프론트엔드 쪽에서 유효성 검사를 진행했다고 하더라도 서버 쪽에서 한번 더 유효성 검사를 진행해야 한다. 프론트엔드 쪽에서 진행하는 유효성 검증 프로세스는 사용자 편의성 측면에서 필요한 작업이다. 🎈DTO 클래스에 유효성 검증 적용하기 🧩 유효성 검증을 위한 의존 라이브러리 추가 dependencies { implementation 'org.springframework.boot:spring-boot-starter-validation:2.7.3' } 🎈@PathVariable 유효성 검증 @PathVariable에서 유효성 검증을 하려면 클래스에 @Validated을 붙여줘야 한다. 안..
🎈 DTO(Data Trasfer Object) 마틴 파울러(Martin Fowler)가 ‘Patterns of Enterprise Application Architecture’ 라는 책에서 처음 소개한 엔터프라이즈 애플리케이션 아키텍처 패턴의 하나이다. 데이터를 전송하기 위한 객체 주로 클라이언트에서 서버 쪽으로 전송하는 요청 데이터를 전달 받을 때, 서버에서 클라이언트 쪽으로 전송하는 응답 데이터를 전송하기 위한 용도로 사용된다. 데이터 전송이 이루어지는 구간 클라이언트 → 서버: 요청(request) 데이터 서버 → 클라이언트: 응답(response) 데이터 DTO 클래스: 요청 데이터를 하나의 객체로 전달 받는 역할 🎈 DTO가 필요한 이유 클라이언트의 Request Body를 하나의 객체로 모두..

✏️ Description 정수를 요소로 갖는 배열을 입력받아 3개의 요소를 곱해 나올 수 있는 최대값 리턴 입력: int[] 타입을 요소로 갖는 임의의 배열 출력: int 주의사항 주어진 배열은 중첩되지 않은 1차원 배열 배열 요소는 음수와 0을 포함하는 정수 배열 길이는 3 이상 입출력 예시 int output = largestProductOfThree(new int[]{2, 1, 3, 7}); // --> 42 (= 2 * 3 * 7) output = largestProductOfThree(new int[]{-1, 2, -5, 7}); // --> 35 (= -1 * -5 * 7) 📝 Flow - 가장 큰 수를 곱하기 => 오름차순 정렬해서 맨 뒤에 세 개 곱해줌 - 배열에 양수 있을 때 => 큰 ..