반응형

Java 25

[Java] Lombok의 Builder Design Pattern

1. Builder Design Pattern이란?- 팩토리 패턴(Factory design pattern)과 추상 팩토리 패턴(Abstract Factory design pattern)에서 여러 속성 값들을 가질 때 발생하는 문제들을 해결하기위한 디자인 패턴- 복잡한 객체 생성 과정과 표현 방법을 분리하여 다양한 구성의 인스턴스를 만드는 생성 패턴클라이언트에서 Factory 클래스로 너무 많은 인수들을 전달 받는 과정에서 동일한 인수가 많고 순서를 유지하기 어려워 오류가 발생할 수 있음넘길 필요가 없는 파라미터도 null값으로 명시가 필요객체가 무겁고 생성이 복잡한 경우 호출되는 Factory 클래스의 처리가 복잡해질 수 있음2. Java의 Builder Design Pattern 구현 @Builder..

Java 2024.07.25

[Spring] Spring MVC Interceptor

1. Spring MVC Interceptor란?- 핸들러(Handler) 호출 시점에 따라 요청을 처리하는 필터(로그인, 권한 등에 사용) 2. Spring MVC Hanler 동작 이해하기- HandlerMapping의 목적은 URL핸들러 메소드와 URL을 연결시키는데에 있다. 즉, DispatcherServlet은 처리를 반환할 때 해당 메소드를 잘생시킬 수 있어야 합니다.- DispatcherServlet은 메소드를 발생시키기 위해 HandlerAdapter를 사용한다. 한마디로 인터셉터는 반환을 가로채서 처리하며 로그나 권한 체크와 같은 반복적인 핸들러 코드를 피하는 것에 도움을 줍니다. 3. Maven Dependencies- 인터셉터를 사용하기 위해선 pom.xml에 spring-web 의존..

Java/Spring 2024.06.24

[SpringBoot] Thymeleaf 적용 방법

1. application.properties 설정 추가spring.thymeleaf.prefix=classpath:templates/spring.thymeleaf.check-template-location=truespring.thymeleaf.suffix=.htmlspring.thymeleaf.mode=HTMLspring.thymeleaf.cache=false 2. build.gradle 설정 추가implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'  3. html 경로 설정- 설정된 templates 하위 경로에 html 파일 생성 - Controller를 통해 해당 경로 html 호출 4. Tyhmeleaf가 적용되지 않는 ..

Java/Spring Boot 2023.08.30

[JAVA]Enum 열거 타입

열거 타입 (Enumeration Type) - 데이터 중 몇 가지로 한정된 값만 가지는 경우로 서로 연관된 상수의 집합을 저장하는 자료형 ex) 요일(월, 화, 수, 목, 금), 계절(봄, 여름, 가을, 겨울) Enum 정의 방법 public enum 열거타입이름{ ... } - 위처럼 열거 상수를 선언할 수 있고, 관례적으로 모두 대문자로 작성합니다. public enum Weather{ SPRING, SUMMER, FALL, WINTER } - 열거 상수가 여러 단어로 구성될 경우 단어 사이를 밑줄(_)로 연결합니다. Enum 사용 Weather thisWeather = Weather.WINTER; - 열거 타입도 하나의 데이터 타입이므로 변수를 선언하고 사용합니다. - 선언된 변수에 열거 상수를 ..

Java 2023.01.17

[Java] Java 공백 제거

Java 환경에서 정규식과 replaceAll을 이용해 공백을 제거할 수 있다. 모든 공백 제거 String beforeStr = " 일반 공백 문자 "; String afterStr = beforeStr.replaceAll("\\p{Z}", ""); 모든 공백이 제거된 "일반공백문자"가 됩니다. 앞뒤 공백 제거 String beforeStr = " 앞 뒤 공백 "; String afterStr = beforeStr.replaceAll("(^\\p{Z}+|\\p{Z}+$)", ""); 앞뒤의 공백만 제거된 "앞 뒤 공백"이 됩니다. 탭 공백 제거 String beforeStr = " 탭공백"; String afterStr = beforeStr.replaceAll("\\t", ""); 탭 공백만 제거된 "..

Java 2022.07.28

스케줄링 사용법, 크론(cron) 표현식

@Scheduled java Spring 환경에서 @Scheduled 어노테이션을 사용하여 메소드의 실행 시간/주기를 설정할 수 있다. 설정 표현식으로 cron, fixedDealy, fixedRate 등을 사용할 수 있다. (Spring 3.1 이상부터 지원) Cron 표현식 @Scheduled(cron = "* 30 12 * * *") 좌측부터 "초 분 시 일 월 년"을 나타내며 위의 식은 매 12시 30분을 의미한다. 순서 필드 값 1 seconds(초) 0 ~ 59, -, *, / 2 minutes(분) 0 ~ 59, -, *, / 3 hours(시) 0 ~ 23, -, *, / 4 day of month(일) 1 ~ 31, -, *, /, ?, L, W 5 month(월) 1 ~ 12, -, *..

Java/Spring 2022.06.21

Weekly Challenge 4주차

문제 설명 개발자가 사용하는 언어와 언어 선호도를 입력하면 그에 맞는 직업군을 추천해주는 알고리즘을 개발하려고 합니다. 아래 표는 5개 직업군 별로 많이 사용하는 5개 언어에 직업군 언어 점수를 부여한 표입니다. 예를 들면, SQL의 SI 직업군 언어 점수는 3점이지만 CONTENTS 직업군 언어 점수는 2점입니다. SQL의 HARDWARE, PORTAL, GAME 직업군 언어 점수는 0점입니다. 직업군 언어 점수를 정리한 문자열 배열 table, 개발자가 사용하는 언어를 담은 문자열 배열 languages, 언어 선호도를 담은 정수 배열 preference가 매개변수로 주어집니다. 개발자가 사용하는 언어의 언어 선호도 x 직업군 언어 점수의 총합이 가장 높은 직업군을 return 하도록 solution..

Java/Coding 2021.09.02

Weekly Challenge 2주차

문제 설명 대학 교수인 당신은, 상호평가를 통하여 학생들이 제출한 과제물에 학점을 부여하려고 합니다. 아래는 0번부터 4번까지 번호가 매겨진 5명의 학생들이 자신과 다른 학생의 과제를 평가한 점수표입니다. 위의 점수표에서, i행 j열의 값은 i번 학생이 평가한 j번 학생의 과제 점수입니다. 0번 학생이 평가한 점수는 0번 행에담긴 [100, 90, 98, 88, 65]입니다. 0번 학생은 자기 자신에게 100점, 1번 학생에게 90점, 2번 학생에게 98점, 3번 학생에게 88점, 4번 학생에게 65점을 부여했습니다. 2번 학생이 평가한 점수는 2번 행에담긴 [47, 88, 95, 80, 67]입니다. 2번 학생은 0번 학생에게 47점, 1번 학생에게 88점, 자기 자신에게 95점, 3번 학생에게 80점..

Java/Coding 2021.09.01
반응형