전체 글 128

개발 메모

2024.7.12 금요일 "red black", "red Yellow"를 오름차순 정렬하면 "red Yellow", "red black"이다. - 알파벳 대문자의 유니코드가 더 작다.- 유니코드 기준으로 정렬된다.- char 자료형에는 유니코드값이 저장된다.char value = 'A';char value = 65;package java.lang;public final class String implements java.io.Serializable, Comparable, CharSequence { ... ... public int compareTo(String anotherString) { int len1 = value.length; int len2 = a..

마이그레이션

CREATE OR REPLACE PROCEDURE "P_TEST" IS BEGIN DBMS_OUTPUT.PUT_LINE('Hello from P_TEST');END;/마이그레이션 시 생각 못 했던 사항을 정리  - 마이그레이션 할 데이터 조회시 ID로 ORDER BY를 해준다.    -> 어디까지 완료된건지, 문제가 어디서 터진건지 확인 가능    -> 마이그레이션 할 데이터 조회 시점 이후에 추가된 데이터가 있는 경우 추가로 작업하기 편하다. - 마이그레이션 쿼리를 PL SQL로 하는 경우 에외나 문제 포인트에 ROLLBACK 처리를 해준다.    ->  DB 툴에서 설정해놓은 대로 ROLLBACK 되는 경우가 있는데,  툴에 의존하지 않고 ROLLBACK 할 수 있도록 예외 처리 코드를 넣어줘야..

Project & Issu 2024.06.18

Ngrok - 외부에서 내 로컬로 접속하는 방법

Ngrok 설치 : 외부에서 내 로컬 네트워크로 접속 가능하게 해주는 프로그램 1. https://ngrok.com/ 가입, OS에 맞게 intall 2. Window에서 파일 실행 3. cmd로 ngrock.exe 파일이 있는 폴더에 접속 4. forwading ( https://dashboard.ngrok.com/get-started/setup/windows ) 4-1) token 설정 ngrok config add-authtoken {{토큰값}} Windows: "%HOMEPATH%\AppData\Local\ngrok\ngrok.yml"에 파일이 생성됨 4-2) 포워딩 ngrok http http://localhost:8080 결과에서 포워딩 된 https://91a8-1111-e11-11d1-44..

글쓰기 - 목차, 개요, 요약, 서론

목차, 개요, 요약, 서론. 이 네 가지의 정확한 차이점에 대해서 설명합니다. 먼저 뜻하는 의미가 무엇인지 살펴보면(국어사전) 1. 목차(目次)는 (目눈次버금)목록이나 제목, 조항 따위의 차례. 2. 개요(槪要)는 (槪대개要필요)간결하게 추려 낸 주요 내용. 3. 서론(序論)은 (序차례論논의)말이나 글 따위에서 본격적인 논의를 하기 위한 실마리가 되는 부분.(緖실마리論논의) 4. 요약(要約)은 (要필요約맺다)말이나 글의 요점을 잡아서 간추림. 여기서, 간추린다는 것과 추린다는 것의 차이를 짚고 넘어 갑니다. 간추리다 : 글 따위에서 중요한 점만을 골라 간략하게 정리하다. 추리다 : 섞여 있는 것에서 여럿을 뽑아내거나 골라내다. ===========================================..

기타 2024.03.25

feign client 버그 - java.lang.IllegalArgumentException: name is required

- 원인 : feign client로 통신할 때 파라미터 값에 (@RequestParameter String name ) '&'이 포함되어있으면 발생 - 해결 : @RequestBody를 사용해서 값을 넘겨준다. package com.....; import org.springframework.cloud.openfeign.FeignClient; import org.springframework.data.domain.Page; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.anno..

Project & Issu 2024.02.29

Gradle

1. jar 파일을 로컬에 배포 1) jar : jar파일 생성 2) publishToMavenLocal : 로컬 저장소에 배포 (저장소 : C:\Users\{유저이름}\.m2\repository\com\{프로젝트 경로}....) publishToMavenLocal 해도 local에 배포된 1.0-SNAPSHOT 버전 jar파일을 사용하는 프로젝트가 새로운 jar파일을 다시 읽어들인다. 그러면 불러온 파일 내용 확인하고 다시 bootrun 해서 동작 확인 한다.(m2에 있는 jar파일의 class파일을 확인) External Libraries에도 읽어드린 jar파일이 잇어야 한다. 2. 새로 배포한 로컬의 jar 파일을 불러와서 사용 1) 의존성 추가하는 프로젝트의 버전 확인 a) .gradle 파일 확..

BasePathAwareController

BasePathAwareController 사용 이유 @RepositoryRestResource를 사용해서 spring data rest api 만들었을 때 api 경로를 확장하기 위해 사용 https://faithfull.me/overriding-spring-data-rest-repositories 사용 시 주의사항 사용할 때 헨들링 하는 타입을 Resources, HttpEntity , ResponseEntity 같은 타입으로 지정 ※ spring docs 확인하고 spring 프로젝트에서 소스들도 직접 확인해서 사용 방법을 살펴보면 좋다. spring docs https://docs.spring.io/spring-data/rest/docs/current/api/org/springframework/d..

카테고리 없음 2024.01.11