본문 바로가기

Backend

(76)
Spring Boot 백그라운드 jar 중지 (kill pid) 백그라운드로 실행 중인 jar 프로세스를 종료할 때 직접 PID를 찾아서 kill합니다. ps -ef | grep jar kill 15235 관리가 용이하도록 애플리케이션을 시작할 때 pid 파일을 생성하고, 중지할 때는 pid 파일을 참고하도록 작업해볼게요. application.yml spring: pid: file: boot.pid Application.java @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication application = new SpringApplication(DemoApplication.class); application.addLis..
Node.js 재시작 없이 반영, 자동 재시작 (Supervisor) 바로 본론으로 들어갈게요. Supervisor(슈퍼바이저) 설치 npm install supervisor -g 원래 node app.js 요렇게 실행을 시켰죠. Supervisor를 설치해서 사용할 때는 supervisor app.js 요렇게 Node를 실행해주면 됩니다. supervisor app.js npm start로 실행하고 계신다면 package.json을 열어보세요. node 실행 명령어가 있을겁니다. 그걸 supervisor로 수정해주면 끝! 저는 express-generator로 프로젝트를 만들어서 node ./bin/www로 되어있었네요. 수정하고 실행하겠습니다. "start": "supervisor ./bin/www" 소스 코드를 수정하고 저장할 때마다 요런 문구가 뜰거에요. crash..
Gradle 버전 관리 (Feat. sdkman) 여러 프로젝트 코드를 동시에 다루는 경우가 종종있죠. Gradle 버전이 다를 경우 귀찮은 일이 발생할 수 있습니다. sdkman 을 이용하여 gradle 버전을 관리하는 방법을 소개할게요. sdkman 설치 bash를 이용하는 경우 curl -s "https://get.sdkman.io" | bash or 전 zsh를 사용하여 아래와 같이 입력하였습니다. curl -s "https://get.sdkman.io" | zsh Gradle 설치 최신 버전 sdk install gradle 특정 버전 sdk install gradle 5.6.4 Gradle 버전 변경 sdk use gradle 5.6.4 마지막으로 잘 적용되었는지 gradle 버전을 확인해볼게요. gradle -v 잘됬네요.
Gradle Build Skip Test (테스트 없이 빌드) Gradle Project에서 빌드할 때 테스트를 하지 않고 싶은 경우가 있어요. 5 버전 기준이에요. gradle build --exclude-task test 또는 build.gradle 에 아래와 같은 패턴으로 test 시에 패키지들을 제외시킬 수도 있어요. test { exclude '**/*' } test { exclude 'com/example/demo**' }
Spring Boot Banner.txt (프로젝트 타이틀 콘솔 출력) Spring Boot 프로젝트를 생성하고 실행하면 아래 사진과 같은 배너를 확인할 수 있어요. 이 배너를 바꿔보려고 해요. src/main/resources 경로에 banner.txt 파일을 생성해주고 내용을 입력해주세요. banner.txt 아래 내용을 그대로 복사하여 banner.txt에 붙여넣어보세요. ,--. ,--. ,--. ,--. ,--. ,--. ,--. ,--. | '--' | ,---. | | | | ,---. | | | | ,---. ,--.--. | | ,-| | | .--. | | .-. : | | | | | .-. | | |.'.| | | .-. | | .--' | | ' .-. | | | | | \ --. | | | | ' '-' ' | ,'. | ' '-' ' | | | | ..
No identifier specified for entity (JPA) 스프링 부트(Spring Boot) 애플리케이션을 실행했는데 오류가 났어요. org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/HibernateJpaConfiguration.class]: Invocation of init method failed; nested exception is org.hibernate.AnnotationException: No identifier specified for entity: com.exa..
자바 썸네일 이미지 생성 (Thumbnail Image) 자바로 썸네일(thumbnail) 이미지를 만들어볼거에요. 원본 비율 유지 String oPath = "C:/Temp/40f0594a-b3f6-4c0f-a0b2-3cebbaf0d74e.jpg"; // 원본 경로 File oFile = new File(oPath); int index = oPath.lastIndexOf("."); String ext = oPath.substring(index + 1); // 파일 확장자 String tPath = oFile.getParent() + File.separator + "t-" + oFile.getName(); // 썸네일저장 경로 File tFile = new File(tPath); double ratio = 2; // 이미지 축소 비율 try { Buffered..
자바 원격서버 파일 다운로드 (Java, Spring) 원격 서버에 위와 같은 이미지가 있다고 가정해볼게요. 자바에서 원격 서버의 파일을 다운로드 받아서 저장하는 코드를 작성해보겠습니다. 자바 버전은 1.8 이상으로 사용해야 코드 사용 가능합니다. Java 별도 라이브러리를 사용하지 않았어요. import java.io.IOException; import java.io.InputStream; import java.net.URL; import java.nio.file.Files; import java.nio.file.Path; import java.nio.file.Paths; import java.util.UUID; // 원격 파일 다운로드 URL String fileUrl = "https://k.kakaocdn.net/dn/crbxqN/btqAPdDwLQJ/..