본문 바로가기

전체 글84

[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.. 2024. 7. 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 의존.. 2024. 6. 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가 적용되지 않는 .. 2023. 8. 30.
[Linux] 실시간 Catalina Log 확인 Catalina Log tail -f catalina.out - 리눅스 환경에서 tomcat 실시간 로그를 확인할 수 있습니다. - catalina 파일은 보통 logs 디렉터리에 위치합니다. - 실시간 에러 메세지 확인에 용이합니다. tail -2000f catalina.out - '-f' 사이에 라인 수를 입력하면 해당 수 만큼의 라인까지 볼 수 있습니다. tail -f catalina.out | grep -i 'exception,error' - grep을 이용해 원하는 옵션으로 검색되도록 할 수 있습니다. - exception이나 error가 걸리는 부분만 로그가 뜨게 됩니다. grep [클래스 명] catalina.* - catalina의 모든 파일 중 schedulerun이 실행되는 모든 로그를.. 2023. 2. 2.
[ajax] async $(document).ready(function(){ fnAjax(); fnConsole(); } function fnAjax(){ $.ajax({ type : 'POST', url : getContextPath() + '/url.com', data : $('#frmAjax').serialize(), async : false, dataType : 'json', success : function(data) { console.log('ajax hi!'); }, error : function(x, error) { showMessageBox('서버통신 중 오류가 발생하였습니다.'); console.log(x); }, }); } function fnConsole(){ console.log('console hi!'.. 2023. 1. 25.
[JAVA]Enum 열거 타입 열거 타입 (Enumeration Type) - 데이터 중 몇 가지로 한정된 값만 가지는 경우로 서로 연관된 상수의 집합을 저장하는 자료형 ex) 요일(월, 화, 수, 목, 금), 계절(봄, 여름, 가을, 겨울) Enum 정의 방법 public enum 열거타입이름{ ... } - 위처럼 열거 상수를 선언할 수 있고, 관례적으로 모두 대문자로 작성합니다. public enum Weather{ SPRING, SUMMER, FALL, WINTER } - 열거 상수가 여러 단어로 구성될 경우 단어 사이를 밑줄(_)로 연결합니다. Enum 사용 Weather thisWeather = Weather.WINTER; - 열거 타입도 하나의 데이터 타입이므로 변수를 선언하고 사용합니다. - 선언된 변수에 열거 상수를 .. 2023. 1. 17.