일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- priority_queue
- deque
- union_find
- javascript
- Properties
- alter
- sql
- date
- Calendar
- List
- dfs
- Java
- math
- 스택
- set
- html
- scanner
- 리소스모니터링
- NIO
- string
- 힙덤프
- JPA
- map
- CSS
- spring boot
- GC로그수집
- Union-find
- 스프링부트
- 큐
- BFS
- Today
- Total
목록Spring Framework (18)
매일 조금씩
application.properties 를 세팅할 수 있는 방법중 하나. 이렇게 properties 파일을 여러개 둔다. 여기선 로컬에서 실행시 application-local.properties를 사용하고 서버에서 실행시 application-prod.properties를 사용한다. 그리고 둘중 어느것을 사용할지 정해주는게 application.properties이다. > application.properties 로컬일때, server.port=8080 spring.profiles.active=local 서버일때, server.port=8080 spring.profiles.active=prod > application-local.properties spring.datasource.url=jdbc:ti..
Spring에서 batch 와 scheduler를 사용하여 매일 같은시각에 업데이트된 시각이 일주일 이전인 파일을 서버와 DB에서 삭제하는 기능을 구현하였다. 1. batch, scheduler 개념 더보기 batch 란? 배치작업은 데이터를 실시간으로 처리하는게 아니라, 일괄적으로 모아서 한번에 처리하는 작업을 의미한다. 가령, 은행의 정산작업의 경우 배치 작업을 통해 일괄처리를 수행하게 되며 사용자에게 빠른 응답이 필요하지 않은 서비스에 적용할 수 있다. 특정 시간이후에는 자원을 거의 소비하지 않는 것이 특징이다. Spring Batch Spring Batch 는 로깅/추적, 트랜잭션 관리, 작업 처리 통계, 작업 재시작, 건너뛰기 등 대용량 레코드 처리에 필수적인 기능을 제공합니다. 또한 최적화 및..
스프링 부트에서 JPA를 사용하려면 application.properties를 설정해두어야 한다. > main / resources / application.properties # create, update, validate, none spring.jpa.hibernate.ddl-auto=none spring.jpa.show-sql=true spring.jpa.database=mysql # mariadb configuration spring.datasource.url=jdbc:mariadb://localhost:3306/meeting_document?characterEncoding=UTF-8 spring.datasource.username=root spring.datasource.password=비밀번호..
파일은 pdf 파일만 받는 것으로 프론트에서 처리한다. pk인 'document_id'는 auto_increment이다. 대략적으로 클래스는 다음과 같이 구성하였다. 로직은 다음과 같다. 프론트에서 pdf 파일(MultipartFile)과 roomId(@RequestParam)를 받는다. 파일 메타를 DB 테이블에 insert 한다. (pk 가 auto_increment 이기 때문에 id 값 가져오기위해 먼저 실행) pdf 파일을 이미지와 썸네일로 변환하여 원본 pdf파일과 함께 서버에 저장한다. DB의 파일 메타를 update 한다. (파일 변환여부 등) pdfbox와 imgscalr 라이브러리를 사용하기 때문에 다음 dependencies를 추가해주어야한다. > build.gradle implemen..
API를 개발하면서 docker와 docker compose를 처음 다루었는데 까먹지 않기 위해 기록해둔다. 다음 과정은 docker가 깔려있다는 가정하에 진행된다. docker를 설치하면 docker compose가 내장되어 있다. 1. Spring boot Application 생성 내가쓰는 IntelliJ에서 Spring boot 프로젝트를 하나 만든다. spring web만 dependencies에 추가하여 만들었다. 2. docker-compose.yaml 작성 다음으로 프로젝트내에 docker-compose라는 이름의 yaml(또는 yml)파일을 만든다. > docker-compose.yaml version: '3.8' services: db: image: mariadb container_na..
아래의 작업은 인텔리제이 ultimate 버전을 사용한다면 필요없는 과정이다. 이렇게 설정후 다운받은 압축파일을 풀어서 Intellij에서 연다. hello world를 띄우기 위해 다음과 같이 코드를 추가하고 8080포트로 실행시키면 된다. 여기서 알게된점, intellij는 내장된 tomcat을 사용하기 때문에 내 컴퓨터의 tomcat은 8081포트를 사용하게 설정해두었는데도 실행이 잘된다. (tomcat은 기본적으로 8080포트를 사용)