1. POST 데이터 구하기 (csv) post 테스트를 하기 위해서.. 음식 관련한 정보가 필요했다. 부하 테스트에 사용될 놈들이었다. 공공데이터 포털에 들어가.. 음식 이름이 담긴 csv 파일을 다운받아보았다. 파일 이름을 'food-name-db.csv'로 적당히 바꾸고, UTF-8 인코딩을 적용하여 저장한 뒤 확인해보았다. 으음~ 뭔가 많이 있지만 음식 이름으로 사용할 5번째 column(index기준)만 필요할 것 같다. 해당 column만 뽑아서 새로운 csv 파일을 만들어야겠다. 그러기 위해 python의 csv 모듈을 사용해서 5번째 column들만 뽑아 새로운 csv파일을 작성하는 스크립트를 짰다. import csv content = [] with open('food-name-db.cs..
# 계획 누군가가 회원이 작성한 일기에 좋아요를 누르거나 누군가가 회원을 팔로우하거나 누군가가 회원을 일기 안에서 태그할 때(태그는 "@" 뒤에 아이디를 추가하는 것으로 하자) 해당 회원에게 알림, 즉 Notification이 가는 기능을 추가하고 싶었다. 1. Notification Entity 설정 알림을 DB에 저장되는 하나의 객체로 만들었다. 알림에 필요해보이는 field들을 생각해보았다. @Builder @AllArgsConstructor @NoArgsConstructor @Getter @Entity @EntityListeners(AuditingEntityListener.class) public class Notification extends BaseEntity { @Id @GeneratedVa..
자바 언어로 JPQL을 작성할 수 있게 해주는 오픈소스 프레임워크 querydsl을 프로젝트에 적용시켜 보도록 하겠다. Sorting 관련 내용은 따로 복잡하게 하지 않았고, 기본적인 내용은 다른 포스트에서 설명한 만큼 이번에는 페이징까지 한꺼번에 처리하도록 하겠다. 2023.03.21 - [JAVA/Spring] - [QueryDSL] QueryDSL이란? + 간단한 실습 모든 농장일기를 불러오되, 10개씩 페이징 처리를 할 것이다. 홈 화면에서 보여지는 "팔로우한 사람들의 농장일기 보기" -> 내가 작성한 일기와 팔로우한 사람들의 일기만 보이게 할 것이다. 특정 유저 페이지에서 보여지는 "해당 유저가 작성한 농장일기 보기" -> 유저 상세보기 페이지의 유저가 작성한 일기만 보이게 할 것이다. 특정 유..
웹 어플리케이션에서 발생할 수 있는 에러의 종류는 무궁무진하다. 서버의 소프트웨어 오류일 수도 있고, 하드의 오류일 수도 있고, 유저의 input 오류일 수도 있고, 네트워크 오류일 수도 있고... 그 모든 예외나 오류들을 직접 처리하기는 힘들지만, 적어도 개발한 어플리케이션 안에서 발생할 수 있는 예외들은 최대한 핸들링해야한다. 실제 개발하는 시간보다 디버깅 하는 시간이 훨씬 길듯, 예외 처리 역시 신중하고 확실하게! 해야한다. 1. Spring Boot에서 Custom Exception 처리의 동작 과정 @ControllerAdvice class+ @ExceptionHandler method 구조로 동작한다. @ControllerAdvice가 붙은 클래스의 method들은 @Controller 클래스..