[SpringBoot] 프로젝트가 여러개일때, 공통 호출 로직에 대한 프로젝트 분리 및 JAR파일로 의존성 추가 하는 방법 3가지
Spring Boot + Gradle 환경에서공통 코드를 별도 프로젝트로 분리 → JAR 생성 → 다른 5개 프로젝트에서 의존성으로 추가하는 가장 일반적이고...
[linux] 서버 로그 자동 삭제 쉘스크립트 생성 예제 및 크론탭(crontab) 등록 예제
톰켓 was 서버에서 톰켓 로그가 /usr/local/logs/test_api/ 폴더에 아래와 같은 형식으로 쌓인다. test-api-dev.log.2025-11-01.0.gz test-api-dev.log.2025-11-01.1.gz test-api-dev.log.2025-11-01.2.gz test-api-dev.log.2025-11-02.0.gz test-api-dev.log.2025-11-03.0.gz 계속 쌓이면 서버 용량을...
[Springboot] swagger(스웨거) 설정 및 사용 방법 예제 코드, DTO가 아닌 맵을 사용중이라면?
이전 모 통신사 프로젝트할때 스웨거라는 api 툴을 처음 접했다. postman으로 api를 테스트 했는데, 스웨거라는 사이트에 접근해서 단위 테스트를 해서 거증을...
[Vue3, TypeScript] api.interceptors.request.use 요청 인터셉터 및 api.interceptors.response.use 응답 인터셉터에서 Promise.resolve()로 처리하는 방법
모든 페이지에서 다 처리하려고 보니, 코드 중복도 발생하고 추후 유지보수에 최악이라… 요청 인터셉터와 응답인터셉터에서 처리하는 방식으로 구현하였다. Promise.resolve()를 이용하여 정상적인...
[JAVA, SPRINGBOOT] 대량 1만건 데이터 insert 처리시 for문을 순회해서 처리하는게 맞을까? 속도 이슈 해결방법
java springboot 에서 select한 데이터가 1만건이야.. 이걸 for문 돌리면서 insert하는데, 너무 느려.. 병렬로 처리하거나.. 개선 방법이 있을까? 개선 방법 1....
[Vue3, TypeScript] Vue props 전달 규칙 개념 정리 (kebab-case ↔ camelCase)
ChatGpt에게 질문을 던졌다. 질문 내용은 다음과 같다. 부모창에서 팝업 띄울때 props 파라미터로 user-no , isValid넘기는데, is-valid 로 안해도 잘 되는건가?...
[구글정책]Google Play 16KB 페이지 크기 정책 해결방법
Google Play 16KB 페이지 크기 관련하여 메일을 받았지만 도대체 무슨 말인지, 잘 모르겠더라…..그래서 방치하고 있었다. 오늘 해결책을 알아보기위해 구글링을 좀...
[Vue3, TypeScript] 특수문자 (&, ", <, > 등 치환 함수(encode, decode)
자바 Spring, 스프링부트 등 인터셉터에서 특수문자(예: <, >, & 등)가 HTML 엔티티로 치환돼서 저장되었다면, Vue 화면에 표시할 때 다시 원래...
[Vue3, TypeScript] 부모창 > 팝업 > 팝업 호출 및 저장 및 UI 컨트롤 방법 : defineExpose() 이용 필수!! 컴포넌트 내부의 특정 함수나 변수를 부모 컴포넌트에서 ref를 통해 접근할 수 있도록 노출하는 역할
ScheduleSettingPopup에서 내부에서 ScheduleTypePopup을 호출하고 싶다면, SettingPopup.vue 안에서 emit을 올리고, 부모에서 받아서 handleTypePopup()을 실행하는 구조가 가장 깔끔합니다. SettingPopup.vue 부모창 TypePopup.vue ScheduleSettingPopup...
[Vue3, TypeScript] api에서 ModelMap extends LinkedHashMap 타입으로 엑셀 다운로드용 데이터를 내려줄때, front에서 해당 값들을 커스텀 하는 방법
삽집 오지게했네. ChatGpt도 1시간동안 삽질을 하길래, Grok에게 물어보니, 한번에 알려준다. 아래 코드로 데이터를 콘솔로그에서 확인할 수 있다. 그래서 해결방법으로 함수를...



