일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | ||
6 | 7 | 8 | 9 | 10 | 11 | 12 |
13 | 14 | 15 | 16 | 17 | 18 | 19 |
20 | 21 | 22 | 23 | 24 | 25 | 26 |
27 | 28 | 29 | 30 |
- kotlin
- CKA
- CloudWatch
- 정보처리기사실기 기출문제
- tucker의 go 언어 프로그래밍
- Kubernetes
- kotlin querydsl
- kotlin coroutine
- golang
- mysql 튜닝
- Spring
- 정보처리기사 실기 기출문제
- docker
- PETERICA
- Linux
- Elasticsearch
- 오블완
- 공부
- aws
- CKA 기출문제
- go
- Java
- AWS EKS
- minikube
- 코틀린 코루틴의 정석
- APM
- Pinpoint
- 기록으로 실력을 쌓자
- 티스토리챌린지
- AI
- Today
- Total
목록Programming/Spring (60)
피터의 개발이야기

스프링 부트를 종료하기 위해서는 ProcessID를 찾아야 한다. grep + ps > ps -ef | grep app_key | grep -v grep process id를 kill의 인자로 대입하여 실행 > kill $(ps -ef | grep java | grep otr_auth | awk '{print $2}') 쉡 스크립트에서 backtick(`)를 이용해서 kill을 실행할 수 있다. > kill `ps -ef | grep java | grep otr_auth | awk '{print $2}'` pgrep grep과 ps의 결합형태이다. >kill `pgrep java` Boot 실행 시 pid 생성방법 Spring pid 옵션 #applicaion.properties에 추가 spring.pi..

회사 프로젝트 중에 PDF의 섬네일을 만드는 과정을 정리하였습니다. 어제는 PDF를 이미지로 만드는데 성공하였고, 오늘은 이미지를 100X100 사이즈의 Thumbnail로 만드는 작업을 진행하였습니다. gradle 추가 //thumbnail compile group: 'org.imgscalr', name: 'imgscalr-lib', version: '4.2' compile group: 'org.apache.commons', name: 'commons-lang3', version: '3.8.1' compile group: 'commons-io', name: 'commons-io', version: '2.6' 이미지를 섬네일 이미지로 변경 public File thumbnailS3Upload(File f..

프로젝트 진행 중 PDF를 등록하면 첫장을 섬네일로 보여달라는 요청이 있었습니다. 기술 검토를 해야하는 부분이라 퇴근하고 집에서 공부할 겸 테스트한 내용 글로 남깁니다. Gradle 추가 compile group: ‘org.apache.pdfbox’, name: ‘pdfbox’, version: ‘2.0.13’ compile group: ‘org.apache.pdfbox’, name: ‘pdfbox-tools’, version: ‘2.0.13’ 소스 @Test void contextLoads() { try{ String filePath = "pdf_test.pdf"; File file = new File(filePath); ClassPathResource classPathResource = new Cla..

엑셀다운로드을 하고 있었다. JXLS로 만들면서 템플릿 Excel파일의 경로를 지정하였다. 하지만 로컬에서 실행시키자 에러가 발생하였다. 얼마전 SpringBoot 배포를 War에서 Jar로 변경 하였기 때문이었다. 결론적으로 Jar와 War가 Resource를 참조하는 방식이 달랐다. Jar로 배포된 개발계와 운영계에는 문제가 없었고, local에서는 classpath경로로는 리소스를 참조할 수 없었다. 우선 알아야할 개념은 Path와 Classpath의 차이다. path는 javac와 연관이 있다. 자바환경에서 컴파일 할 때 필요한 것이다. javac가 컴파일하기 위한 모든 라이브러리를 참조하기 위해 윈도우에서는 환경변수로 java홈의 라이브러리 경로를 지정해 준다. javac는 라이브러리 경로에 따..

ㅁ 들어가며코드 작성 중 간단히 자바 테스트를 진행하였습니다.@SpringBootTest를 가동시켰는데, Failed to load ApplicationContext이 발생하면서 테스트를 진행할 수 없었습니다.스프링이 특정 value 빈을 생성하려는데, 설정 파일을 찾지 못하엿습니다.테스트 코드에서 ActiveProfile을 어떻게 지정하는 방법을 찾으면서 그 방법에 대해서 정리해 보았다. 이 원문을 보고 정리하였습니다. @Profile빈을 특정 프로파일에 매핑합니다.@Component@Profile("dev")public class DevDatasourceConfig프로파일 이름을 "!dev"로 하면 dev 프로필이 활성화되지 않은 경우에만 활성화가 됩니다. XML로 프로필 선언Profiles은 X..

json관련하여 jackson 라이브러리를 사용하고 있다. jackson에서 재공하는 유용한 어노테이션을 정리한다. Read+ Write Annotations @JsonIgnore public class TestIgnore { @JsonIgnore public long testId = 0; public String name = null; } 위 코드에서 testId는 JSON에서 읽거나 기록되지 않는다. @JsonIgnoreProperties import com.fasterxml.jackson.annotation.JsonIgnoreProperties; @JsonIgnoreProperties({"firstName", "lastName"}) public class PersonIgnoreProperties {..

Spring Boot 애플리케이션에서 서버 측 사용을 위해 Retrofit 및 OpenFeign 선언적 REST 클라이언트를 비교합니다. 먼저 Retrofit 및 OpenFeign을 소개하겠습니다. Retrofit Android 및 Java를 위한 안전 HTTP 클라이언트입니다. HTTP API를 Java 인터페이스로 바꾸는 선언적 웹 서비스 클라이언트입니다. 자세한 내용은 여기를 참조하세요. Feign Client Feign은 선언적 웹 서비스 클라이언트입니다. 웹 서비스 클라이언트를 더 쉽게 작성할 수 있습니다. Feign를 사용하려면 인터페이스를 만들고 어노테이션을 합니다. https://cloud.spring.io/spring-cloud-netflix/multi/multi_spring-cloud-..

1. 소개 Spring Scheduling 을 통해 특정 간격으로 코드를 실행할 수 있습니다. 간격은 @Scheduled 어노테이션을 사용하여 지정되기 때문에 일반적으로 간격은 정적이며 애플리케이션 구동하는 동안 변경할 수 없습니다 . 2. @Value boolean Spring Schedule 작업을 조건부로 활성화하는 가장 간단한 방법은 예약 된 작업 내부에서 확인하는 Value 변수를 사용하는 것입니다. 변수는 @Value 로 주석을 달아 일반적인 Spring configuration사용하여 구성 할 수 있습니다 . @Configuration @EnableScheduling public class ScheduledJobs { @Value("${jobs.enabled:true}") private bo..

엔티티의 변수들은 테이블 컬럼과 매핑된다. @Getter @Setter @ToString @JsonNaming(PropertyNamingStrategy.SnakeCaseStrategy.class) public class UserEntity { // 고유키 private Long userId; // 페이데이 사용자 ID private Long paydayUserId; // 비밀번호 private String password; // 사용자명 private String name; // 이메일 private String email; // 전화번호 private String phone; } 하지만 비지니스 로직을 수행하기 위해 컬럼에 없는 변수가 발생하기도 한다. 예를 들어 회원가입 시에 패스워드 확인용 변수를 ..