Author Archives: itpsolver

[링크] p6spy 커스텀 설정 정보

By | 11월 13, 2024

개요 기본 설정(enable, logger)은 application.yml 에서 서버별로 설정 decorator: datasource: p6spy: enable-logging: true logging: slf4j 링크의 내용을 따라서 P6spyConfig 작성 P6spyPrettySqlFormatter 작성

react-hook-form의 FormProvider와 storybook을 함께 사용하는 preview 샘플코드

By | 9월 19, 2024

기존에 preview.ts를 사용하고 있었다면, preview.tsx 로 rename. preview.tsx import type { Preview } from "@storybook/react"; import React from "react"; import { FormProvider, useForm } from "react-hook-form"; import "../src/index.css"; /** * 각 컴포넌트에 react-hook-form 이 결합되어 있어서 * storybook 화면에서 에러를 방지하기 위해 global FormProvider wrapping을 수행. */ const formDecorator = (Story) => { const methods… Read More »

윈도우10 에서 프로세스명 System (파일명 ntoskrnl.exe)이 cpu 점유를 많이 하는 문제에 대한 해결

By | 9월 24, 2024

이 프로세스는 윈도우 커널이라서 종료할 수 없다. 아마 타 회사의 상주 프로그램과 궁합이 좋지 않아서 무한루프성 작업을 하는 듯 했다. 아래 참고링크의 내용처럼 상주 프로그램들을 제거하고 재부팅 했더니 해결됨. 1. Open the run box by pressing the Windows Key + R and type msconfig 2. System Configuration Utility box will open and by default you… Read More »

spring 에서 다중(multiple) web application context 구성

By | 6월 27, 2024

web.xml 에 추가적인 dispatcher servlet을 구성하여, 2개의 web application context 를 구성할 수 있다. 이 경우, dispatcher-servlet.xml 은 2개가 된다. web application context는 root application context의 하위 요소임. 이전에는 프레임웍 셋팅할 때, ajax 요청은 특정 header 값을 포함시켜서 구분하곤 했는데, 이런 식으로 아예 dispatcher servlet 을 별개로 구성해서 해도 깔끔할 것 같다.

[oracle] sqldeveloper 에서 오라클 프로시저(procedure) 디버깅하기.

By | 2월 8, 2024

준비 계정 권한 부여 DEBUG CONNECT SESSION DEBUG ANY PROCEDURE sqldeveloper 설정 변경 도구 > 환경설정 > 디버거 > 데이터베이스 디버그 프로토콜 DBMS_DEBUG_JDMP => DBMS_DEBUG 로 변경 DBMS_DEBUG_JDMP 상태에서 문제 없으면 굳이 바꾸지 않아도 됨. 프로시저를 ‘디버그를 위한 컴파일’로 컴파일 해야 함. 디버깅 breakpoint 찍고 디버깅 시작!

구글 크롬(chrome)에서 개발자 도구를 띄울 때 느린 경우 (약 5초 딜레이) – The launch of chrome dev tools is too slow

By | 1월 19, 2024

내 경우는, 크롬 개발자도구의 언어가 한국어(Korean)로 되어 있을 때 이런 현상이 발생했다. 영어(english-US)로 변경하니 다시 빠릿빠릿 해 졌다. 이런 현상이 발생 할 때 나는 폐쇄망에서 작업을 했었는데, 한글로 설정해도 한글이 되지 않는 것을 보니, 내부적으로 download timeout 등이 걸린 게 아닌가 추측해 본다.

[spring] 파일 다운로드 컨트롤러 샘플 (file download, ResponseEntity)

By | 1월 5, 2024

환경 spring 4.3.25 import org.springframework.http.HttpHeaders; import org.springframework.http.HttpStatus; import org.springframework.http.MediaType; import org.springframework.http.ResponseEntity; import java.nio.file.Files; … @Controller public class FileController { @GetMapping("/download") public ResponseEntity<byte[]> download(HttpServletRequest request, Model model){ // TODO: 필요할 경우 여기에 권한 검증 로직 추가 // 아래의 값들은 DB조회 등을 통해 가져온다고 가정 String fileFullPath = "blabla~"; // file physical full path String oriFileName =… Read More »

[spring/mybatis] 오라클(oracle) 프로시저(procedure) 파라미터가 배열(array)일 경우 mybatis typehandler 예제

By | 12월 28, 2023

oracle type object CREATE OR REPLACE TYPE 스키마."VARR" IS TABLE OF VARCHAR2(2048); TypeHandler import oracle.jdbc.Oracleconnection; import org.apache.ibatis.type.BaseTypeHandler; import org.apache.ibatis.type.JdbcType public class VarrTypeHandler extends BaseTypeHandler<Object> { /** * DB에서 관리중인 Type의 이름 * – DB에 이 이름으로 Type Object가 미리 준비되어 있어야 함. */ private static final String TYPE_NAME = "VARR"; /** * 최초 구현하지 않았던… Read More »

[spring] jsp > jstl 에서 spring bean 에 접근하는 방법

By | 12월 19, 2023

테스트 환경 spring 4 포인트 jsp에서 접근하고자 하는 spring bean을 view resolver 에서 expose 해 준다. 샘플 코드 (spring) dispatcher-servlet.xml > InternalResourceViewResolver, TilesViewResolver 등에서 아래와 같은 형식으로 property를 set 해 준다. <property name="exposedContextBeanNames"> <list> <value>[jsp에서 접근하기 원하는 bean name]</value> </list> </property> 샘플 코드 (jsp) <c:set var="[변수명]" value="${[bean name]}" scope="application" /> 소감 application scope에 데이터를 셋팅하기… Read More »

[intellij] 인텔리제이에서 라이브러리 프로젝트의 소스를 직접 참조하는 방법 (maven과 무관한 개발용 설정)

By | 12월 14, 2023

프로젝트 A, B, C가 있다고 하고, C는 라이브러리 프로젝트라서 A, B 각각의 프로젝트에서 참조한다고 가정했을 때, A, B 프로젝트 입장에서 어떻게 C를 끼워넣는 설정을 하느냐 하는 문제임. (maven 의존성과는 별개로, 개발환경 설정임.) build path 잡기 (컴파일 오류 잡기) Project Structure > Modules > 프로젝트 선택 > Dependencies 탭 > ‘+’ 버튼(add) > 3. Mudule Dependency… Read More »

[spring] 프로퍼티 파일 (*.properties) 의 내용을 정적 멤버(static member field)에 할당하는 방법 (feat. @Value)

By | 12월 5, 2023

방법 1 @Value 를 field가 아닌 static setter method 에 붙이기. => component 초기화 시 자동으로 setter가 호출된다고 한다. @Component public class MyBean { private static String staticProperty; @Value("${my.property}") private void setStaticProperty(String myProperty) { MyBean.staticProperty = myProperty; } public static String getStaticProperty() { return staticProperty; } } 소감 null fallback을 따로 해 주지 않아도 되서… Read More »