분류 전체보기
-
Spring Boot: FilterSpring Boot 🍃 2023. 12. 4. 00:01
보고 배운 인강 링크 Filter 필터 Web Application에서 관리되는 영역 Spring Boot Framework에서 Client로 부터 오는 요청/응답에 대해 최초/최종 단계의 위치에 존재하며, 이를 통해서 요청/응답 정보를 변경하거나, Spring에 의해서 데이터가 변환되기 전의 순수한 Client의 요청/응답 값을 확인 할 수 있다. 유일하게 ServletRequest , ServletResponse의 객체를 변환할 수 있다. 주로 요청/응답의 Logging 용도로 활용하거나, 드물게 인증과 관련된 로직들을 해당 필터에서 처리한다. 이를 선/후 처리 함으로써 Service business logic과 분리시킨다. 실습1 : 모든 경로 요청값 logging Filter 클래스 생성 후 ja..
-
Spring Boot: Exception 처리Spring Boot 🍃 2023. 12. 4. 00:01
보고 배운 인강 1 링크 보고 배운 인강 2 링크 예외란? Exception ? 프로그램이 예상치 못한 상황을 만났을 때 오류를 발생시키는 것 스프링 MVC에서 예외를 처리하는 방법 REST API : RestControllerAdvice ViewResolver : ControllerAdvice @RestControllerAdvice 어플리케이션의 전역적 예외 처리 REST API용으로 객체를 응답하는 방식 (주로 JSON) 옵션 값 지정으로 특정 패키지 혹은 특정 클래스에서 발생하는 예외만 처리하는 파일을 만들수도 있다. 1. 특정 패키지에서 발생하는 예외만 처리 @RestControllerAdvice(basePackages = "com.example.dice.controller") 2. 특정 클래스에..
-
-
스프링 부트 핵심 가이드 3주차 : 6장책 공부/스프링 부트 핵심 가이드 2023. 12. 4. 00:01
📖 책 정보 나를 위한 모바일 가이드 6장 데이터베이스 연동 마리아DB 설치 ORM JPA 하이버네이트 영속성 컨텍스트 데이터베이스 연동 엔티티 설계 리포지토리 인터페이스 설계 DAO 설계 DAO 연동을 위한 컨트롤러와 서비스 설계 6장 마리아DB 설치 ORM JPA 하이버네이트 영속성 컨텍스트 데이터베이스 연동 엔티티 설계 리포지토리 인터페이스 설계 DAO 설계 DAO 연동을 위한 컨트롤러와 서비스 설계 키워드 1. 마리아DB 설치 - 다운로드 아래 사이트에서 다운로드 받으면 된다. 설치는 굉장히 간단한 편! 다운로드 링크 : mariadb.org/download 설치 후 windows terminal에서 편하게 접근하기 위해 환경변수를 설정하고 db접근 계정을 추가/삭제하는 과정을 포스팅 했던 링크를..
-
Spring Boot: 유효성 검증 ValidationSpring Boot 🍃 2023. 12. 4. 00:01
보고 배운 사이트 : mangkyu.tistory + ChatGPT + 인강 검증 어노테이션 객체의 유효성을 검증하기 위해 사용되는 어노테이션이다. 이것들은 주로 클래스의 필드나, 메서드 매개변수에 적용하여 데이터의 유효성을 정의하고 검사한다. 다양한 검증 어노테이션들이 있으며, 몇 가지 대표적인 어노테이션들을 살펴본다. @NotNull null 불가를 의미 @NotEmpty null , "" 불가를 의미 @NotBlank null , "" , " " 불가를 의미 @Size int Type 불가 문자 길이 측정 @Size(min = 6, max = 6) @Past 과거 날짜 @PastOrPresent 오늘이거나 과거 날짜 @Future 미래 날짜 @FutureOrPresent 오늘이거나 미래 날짜 @As..
-
프로그래머스 : 홀수 vs 짝수코딩테스트 문제 풀이/프로그래머스 2023. 12. 4. 00:01
스트림 어렵다 ;-; 내 코드 import java.util.Arrays; import java.util.stream.IntStream; class Solution { public int solution(int[] num_list) { return Math.max( IntStream .range(0, num_list.length) .filter(i -> i % 2 == 0) .map(i -> num_list[i]) .sum() , IntStream .range(0, num_list.length) .filter(i -> i % 2 != 0) .map(i -> num_list[i]) .sum() ); } } 스트림을 한개만 열어서 작성해보고 싶었는데, 도저히 방법이 떠오르지 않았다. 다른사람 코드 구경! 다..
-
프로그래머스 : 공백으로 구분하기 2코딩테스트 문제 풀이/프로그래머스 2023. 12. 4. 00:01
이번 문제는 생각보다 어려웠다. 공백 문자가 연속으로 여러개 나오는 경우도 있었기 때문에 어렵게 느껴졌던 것 같다. 내 코드 얻어걸림.. import java.util.Arrays; import java.util.stream.*; class Solution { public String[] solution(String my_string) { return Arrays .stream(my_string.split(" ")) .filter(s -> !"".equals(s)) .collect(Collectors.toList()) .toArray(new String[0]); } } 우와 스트림으로 풀이한 다른사람의 풀이가 있는지 구경하러 들어갔다가 정규식을 이용해 깔끔하게 풀이한 사람의 코드를 발견하였다. 정규식 이..
-
개인프로젝트 1. 개인 블로그 - 계획 및 목표 설정개인 프로젝트 2023. 12. 4. 00:01
테마 수집 우연히 hugo에 대해 알게되었다. hugo는 SSG 엔진이다. Go 언어로 작성된 엔진이라고 함 > https://www.devkuma.com/docs/hugo/intro/ 휴고 테마 보러가기 마음에 드는 테마 1 : https://themes.gohugo.io/themes/hugo-theme-stack/ 정말 마음에 들었었는데 SSG 엔진에 대해 이제야 제대로 알게 되었다! 내 개인 프로젝트에 사용하긴 부적절하다고 판단해서 다른 테마를 찾아 떠남.. 😭 html blog template 후보 1 : https://html5up.net/striped ☑️ 후보 2 : https://www.free-css.com/free-css-templates/page236/clean-blog 부트스트랩으로..