전체 글157 [청하] 13. Spring Boot 서버 배포 시 타임존 문제 해결 (feat. @PostConstruct) 로컬 환경에서 게시글 등록 API와 게시글 리스트 조회 API를 테스트했을 때는 문제가 없다고 생각해서 서버에 올렸다.하지만 서버에 배포한 후, 안드로이드 팀원 분이 게시글을 등록하고 조회했을 때 현재 시간과 약 9시간의 차이가 나는 이슈가 발생했다. 1. 원인Spring Boot에서 별도의 설정이 없으면 시스템 타임존이 Default 값으로 설정된다.로컬 환경에서는 내 컴퓨터의 타임존 환경에 따라 한국 시간이 사용되어 문제가 없었고, 서버 환경에는 다른 타임존이 설정되어 있어서 시간 차이가 발생했다.현재 도커를 사용해 배포하고 있기 때문에 도커 컨테이너의 기본 타임존(UTC)이 적용되었다.이 문제 해결을 위해 Spring Boot에서 타임존을 설정하기로 했다. 2. Spring Boot Applicat.. 2024. 10. 9. [청하] 12. 게시글 수정 기능 구현 1. 도메인 엔티티 구현Post@Entity@Getter@NoArgsConstructor(access = AccessLevel.PROTECTED)@DynamicUpdate@Table(name = "posts")public class Post { // ... (필드 생략) // ... (빌더 생략) // 게시글 수정을 위한 setter 메서드 public void setTitle(String title) { this.title = title; } public void setContent(String content) { this.content = content; } public void setType(ETopic type) { this.type = type; }}Post 엔티.. 2024. 10. 9. [청하] 11. 게시글 삭제 기능 구현 (feat. NCP Object Storage 이미지 삭제) 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── controller/ # 컨트롤러 계층│ └── PostController.java # 게시글 관련 API 엔드포인트│└── service/ .. 2024. 10. 9. [청하] 10. 게시글 리스트 조회 기능 구현 (feat. 정적 팩토리 메서드) 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── dto/ # 데이터 전송 객체│ └── response/│ └── PostListResponseDto.java # 게시글 리스트 조회 응답.. 2024. 10. 8. [청하] 9. 게시글 createDate 포멧 변경 (feat. DateTimeFormatter) TimeFormatter 라는 유틸리티 클래스에서 게시글 생성시간에 대해 포맷팅 작업을 통해, 시간별로 다른 형식의 시간을 반환했다. Android 팀원의 요구사항으로 인해 "yyyy/MM/dd HH:mm:ss” 형식으로 반환하도록 수정하게 되었다. 이에 따라 클라이언트 측에서 시간 포맷팅 작업을 수행하기로 결정되었다. 1. TimeFormatter 유틸리티 수정기존 코드public class TimeFormatter { public static String timeFormat(LocalDateTime time) { LocalDateTime now = LocalDateTime.now(); Duration duration = Duration.between(time, now);.. 2024. 10. 8. [청하] 8. 게시글 상세조회 기능 구현 (feat. LocalDateTime) 게시글 등록 기능에 이어서 추가하는 기능은 “게시글 상세조회” 이다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ ├── Image.java # 이미지 엔티티│ └── Post.java # 게시글 엔티티│├── repository/ # 데이터 접근 계층│ ├── UserRepository.java # 사용자 레포지토리│ ├── ImageRepository.java # 이미지 레포지토리│ └── PostRepository.java # 게시글 레포지토리│├── dto/ .. 2024. 10. 7. 이전 1 ··· 5 6 7 8 9 10 11 ··· 27 다음 반응형