Spring Boot
-
[Spring boot] 엔티티 복합키 설정Spring Boot 2025. 3. 6. 11:07
회사 프로젝트 진행하다가 복합키 설정을 하다 알게 되어서 기록하게되었다. @IdClass 설정(RDB에 가까운 방법) 어노테이션 @IdCalss를 생성해주고 복합키에 해당하는 컬럼에 @Id 어노테이션을 달아준다 @Data@Entity@AllArgsConstructor //전체 생성자@NoArgsConstructor //기본 생성자@IdClass(SaUserRoleId.class) //1번@TableDefinition(prefix = "T_SA", category = "SA")public class UserRight{ @Id //2번 @Column(name = "USER_ID") //SaUserRoleId.id와 매칭 private String userId; @Id //2번 @Column(na..
-
@SuppressWarnings 어노테이션Spring Boot 2024. 8. 29. 10:30
회사 프로젝트 내에서 Reflection 을 도입하고 알게된 어노테이션인데vaule 값에 따라 기능하는 종류가 여러개 있다는 것을 알게 되었다. 회사에서 쓰이는 value는 unchecked @SuppressWarnings("unchecked")는 Java 애노테이션으로, 컴파일러에게 특정 경고를 무시하도록 지시하는 역할을 한다.회사에서 쓰이고 있는 "unchecked"라는 경고는 제네릭 타입의 강제 형변환과 관련된 경고를 의미했던 것이 었다.rawList가 제네릭 타입이 지정되지 않은 원시 타입(raw type)이기 때문에, List으로 강제 형변환할 때 컴파일러는 "unchecked" 경고를 발생시킨다. 이는 컴파일 타임에 타입 안정성을 보장할 수 없다는 의미한다. 주의사항:이 어노테이션은 코드에서..
-
[Spring boot] @RequestParam / @RequestBody + @RequestPart 구분하기Spring Boot 2024. 7. 27. 20:03
지금 하고 있는 프로젝트에서 API를 구현하는데갑자기 머리속에 엉망징창으로 넣어놨던 클라이언트 요청 파라미터 관련 어노테이션을 정리해보고자 게시글을 작성하려한다. @RequestParam 사용법 : @RequestParam String name, @RequestParam int age 요청 방법 : form-data 형식 Key: username, Value: John Key: password, Value: secret @RequestBody 사용법 : @RequestBody User user 요청방법 : application/json raw 형식(json) { "name": "John", "age": 30 } @RequestParam과 @RequestBody를 함께 사용도 가능하다. @Reque..
-
[S3] spring boot CRUDSpring Boot 2024. 6. 12. 11:33
프로젝트에서 S3 서비스를 도입해서 간단하게 bucket 테스트로 CRUD 코드를 작성해보려한다. 디렉토리 구성 FileNameDTO와 FileDeleteDTO@Getter@Setter@NoArgsConstructorpublic class FileDeleteDTO { private String fileName; private MultipartFile multipartFile; @Builder public void FileDeleteDto(String fileName, MultipartFile multipartFile) { this.fileName = fileName; this.multipartFile = multipartFile; }}@Getter@Se..
-
[ChatGPT API] 파인튜닝하기Spring Boot 2024. 6. 12. 10:59
프로젝트에 적용한 ChatGPT API를 프로젝트 성향에 맞게 튜닝을 해야하는데공식문서를 확인해보니 https://platform.openai.com/docs/guides/fine-tuning/what-models-can-be-fine-tuned 데이터를 정의를 미리 하고 파일을 따로 만들어서 api 실행 전에 파일을 불러와서 파인튜닝이 가능한 것 같다 서칭을 좀 해보니 jsonl 파일을 생성해서 json 형태로 데이터들을 정의해두고 파일을 불러올 수 있어서 그 방법을 적용해보기로했다. example.jsonl{"role": "system", "content": "당신은 세계 최고의 강아지 역술가입니다. 당신에게 불가능한 것은 없으며 그 어떤 대답도 할 수 있습니다. 당신의 이름은 멍성술사입니다. 당..