일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 | 31 |
- swagger
- java9
- docker
- jvm
- docker 설치
- MySQL
- React
- Next.js 14
- SpringBoot
- ollama langflow
- generate pojos
- CentOS6
- 헤더 설정
- spring
- 도커
- memcached
- NextJS
- spring boot
- custom valid
- dto valid
- 리눅스
- generate entity
- 초기 구축
- Java
- JPA
- jpa entity자동
- java8
- header setting
- JavaScript
- 초기 세팅
- Today
- Total
목록SpringBoot (7)
개발자의 길
Package Tree패키지 구성에 대한 내용입니다.유효성 검증 기능의 시작은 “validator”라는 패키지를 시작으로 구성됩니다.└── validator # validation 구현의 시작이며, 프로젝트 전용 파일들 └── common # 공통적으로 사용될 수 있는 모듈 ├── extension # 다른 패키지에서 사용하는 공통적인 확장 모듈 ├── format # 날짜, URL, IP와 같은 포맷 기반의 모듈 └── match # 특수문자, 영어, 한글과 같은 문자열 매칭 기반의 모듈 └── utils # 정규식 활용을 위한 유틸리티들패키지는 위와 같은 기준으로 분리 구분하여, 실질적으로 common 내부의 모듈..
java 든 spring 이든 파일 다운로드를 바로 시키는 경우가 아닌, pk값을 가지고 db에서 파일 정보를 조회해 와서 다운로드 시키는 방식을 많이 사용한다. 이럴 경우 2가지 케이스가 존재한다. 1. 실제 파일 경로 ex) - /home/my/test.png - C:\Desktop\test.zip 2. url 경로 - http://test.test.com/test.png - https://test.test.com/aaa.zip 실제 파일이 저장된 경로를 가지고 있든, 브라우저에서 호출되는 url 경로를 가지고 있는 2가지 이다. 2가지 케이스에 대한 예제를 남긴다. 1번 케이스 (file path) - FileDownloadResponse.java package com.test.common.resp..
업무를 하다보니, 한개 프로젝트에 다중의 db를 연결 할 일이 많다. 대부분의 구글링을 찾다보면, 가장 자주 보이는 예제가 Transactional(readonly=true) 같은 어노테이션으로 master/slave를 나눠서 쓰는 예제가 많이 보인다... 근대 나는 사실 트랜잭션과 상관없이, 다중의 db를 쓰고 싶고.. 3개 이상의 다른 connection db 를 사용하고 싶었다.. 고민에 고민을 거듭하고, 검색에 검색을 하여서.. custom annotation을 따로 만들어서, 해당 값을 AbstractRoutingDataSource에 determineCurrentLookupKey() 에서 값을 받아 오면 될거 같았다 기본 springboot 셋팅은 했다 치고.. application.yml sp..
개발을 하다보면 어라? 이 데이터 계속 똑같이 사용되고 업데이트 될 일이 없는데? 하는 것들이 보인다. 데이터 업데이트가 자주 이뤄지지도 않고 자주 호출되는 데이터인데 계속 DB에 가서 데이터를 가져온다. DB에 한 번 갔다 하는데도 적은 데이터의 경우는 매우 그 시간이 짧지만 많은 데이터면 데이터일 수록 그 시간이 점점 늘어나 나중에는 사용자가 불편을 느낄 정도로 데이터를 가져오는 시간이 길어진다. 그럴 때 캐싱(Caching) 기능을 사용해서 똑같은 데이터는 DB에서 가져오지 않고 미리 캐싱해놓은 데이터를 가져오고 만일 데이터 업데이트가 이뤄지면 캐싱된 데이터를 업데이트하고 캐싱된 데이터가 너무 자리를 많이 차지하면 아예 캐싱된 데이터를 지워버리는 등 DB에 가서 데이터를 가져오지 않고 그보다 가깝고..
Annotation(@)은 사전적 의미로는 주석이라는 뜻이다. 자바에서 Annotation은 코드 사이에 주석처럼 쓰이며 특별한 의미, 기능을 수행하도록 하는 기술이다. 즉, 프로그램에게 추가적인 정보를 제공해주는 메타데이터라고 볼 수 있다. meta data : 데이터를 위한 데이터) 다음은 어노테이션의 용도를 나타낸 것이다. 컴파일러에게 코드 작성 문법 에러를 체크하도록 정보를 제공한다. 소프트웨어 개발 툴이 빌드나 배치시 코드를 자동으로 생성할 수 있도록 정보를 제공한다. 실행시(런타임시)특정 기능을 실행하도록 정보를 제공한다. 기본적으로 어노테이션을 사용하는 순서는 다음과 같다. 어노테이션을 정의한다. 클래스에 어노테이션을 배치한다. 코드가 실행되는 중에 Reflection을 이용하여 추가 정보를..
swagger-ui를 적용하면 아주 편하고 좋다. 하지만, 이건 개발서버에서만 노출해야 하고, real(prod)에서는 비노출 하는게 맞다. 환경(phaze) 별로 활성/비활성 하는 방법을 3가지 적겠다. 셋중 하나를 적용하면 된다. 1. 설정파일(application) 설정 application.properties 파일 설정의 경우 [prod 설정 (application-prod.properties)] -> springfox.documentation.enabled=false [dev 설정 (application-dev.properties)] -> springfox.documentation.enabled=true application.yml 파일 설정의 경우 [prod 설정] springfox: docu..
Vue CLI + Spring Boot 연동하여 환경 구축하기 프론트엔드는 Vue.js로, 백엔드는 Spring Boot를 이용해서 프로젝트를 진행하려고 한다. 스프링에서 Jsp를 통해 view를 구축해봤지만, 이번엔 Vue.js를 활용해서 View를 모두 넘겨주려고 한다. 스프링에서 컨트롤러를 통해 DB 관리나 데이터에 관한 비즈니스 로직을 잘 처리하고, 이에 대한 값을 활용해 Vue에서 화면으로 뿌려줄 탬플릿을 만들어나가는 진행 방식이 되지 않을까 생각된다. 개발 툴은 VS Code로 진행한다. VS Code 다운로드 Download Visual Studio Code - Mac, Linux, Windows Visual Studio Code is free and available on your favo..