본문 바로가기

분류 전체보기153

[청하] 30. 정책 찜하기 기능 구현 앞서 정책 API를 호출하여 데이터베이스에 저장하고, 리스트 조회와 상세 조회를 구현했다.상세 조회 화면에서 찜하기 버튼을 두고, 정책 찜하기 API를 호출할 수 있도록 구현했다. 찜하기 기능을 위해 고려해야할 사항현재 정책 업데이트 방식기존 데이터를 모두 삭제하고 외부 API를 호출해 업데이트된 데이터를 새로 저장.따라서 원본 정책이 사라지면 정책 정보를 불러올 수 없음.찜하기 테이블에 정책 정보 저장의 부담정책 정보를 찜하기 테이블에 저장하기에는 자원이 많이 소모됨.외래키 제약 조건 문제현재 업데이트 방식을 고려하면 찜하기 테이블의 policyId 에 외래키 제약 조건을 설정할 수 없음. 해결 방안정책 찜하기 테이블외래키 제약 조건을 설정하기 않고 정책 찜하기 테이블에 정책 id를 저장.isActiv.. 2024. 10. 21.
[청하] 29. GCP 환경 구축 - SSH 키 설정 및 CI/CD 파이프라인 구성 GCP에서 서버를 운영하고 CI/CD 파이프라인을 구축할 때 SSH 키 설정이 필요하다.GCP 서버에 접속하기 위한 SSH 키를 생성 및 설정하고, CI/CD 파이프라인에서 발생한 SSH 관련 문제를 해결했다. 1. SSH 키 생성REF) Google Cloud 공식 문서 Windows 10 이상 환경에서 SSH 키를 생성하는 방법이다.명령어 프롬프트를 열고 -C 플래그와 함께 ssh-keygen 명령어를 사용하여 새 SSH 키 쌍을 만든다.ssh-keygen -t rsa -f C:\Users\{WINDOWS_USER}\.ssh\{KEY_FILENAME} -C {USERNAME} -b 2048WINDOWS_USER: Windows 머신의 사용자 이름이다.KEY_FILENAME: SSH 키 파일의 이름이다.. 2024. 10. 19.
[청하] 28. GCP 설정 (feat. GCS 설정 및 스프링부트 연동) GCP로 서버 이전 및 GCS로 스토리지 변경하게 된 이유NCP 우분투 운영체제가 지원 종료되어 클라우드 서비스를 GCP(Google Cloud Platform)로 이전하기로 결정했다.기존 NCP 환경에서 운영 중인 서버들을 GCP로 마이그레이션하고, 기존의 Object Storage 데이터도GCS(Google Cloud Storage)로 이전하는 작업을 수행했다.  1. GCP 설정 프로젝트는 팀원이 이미 생성했고, 내 계정이 IAM 으로 프로젝트에 추가되어 있다.  2. Google Cloud Storage (GCS) 설정Google Cloud Storage (GCS)는 클라우드 기반의 객체 저장소 서비스로, 여기에 기존 Object Storage 데이터를 마이그레이션할 것이다. 2.1. GCS 버킷.. 2024. 10. 19.
[청하] 27. 정책 상세 조회 기능 구현 “정책 리스트 조회”에 이어 “정책 상세 조회” 기능을 구현했다.“정책 상세 조회”에서는 각 정책의 세부 내용을 확인할 수 있다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ └── YouthPolicy.java # 청년 정책 엔티티│├── repository/ # 데이터 접근 계층│ └── YouthPolicyRepository.java # 게시글 레포지토리│├── dto/ # 데이터 전송 객체│ └── response/│ ├── PolicyListRe.. 2024. 10. 18.
[청하] 26. 정책 리스트 조회 기능 구현 이전에 구현한 외부 청년 정책 데이터 수집 기능을 바탕으로 저장된 정책 데이터를 조회할 수 있는 “정책 리스트 조회” 기능을 구현했다.클라이언트의 구현에 최대한 적은 리소스가 들도록 외부 정책 API를 호출하는 것과 최대한 비슷하게 구현했다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── config/ # 설정 관련 클래스│ ├── SecurityConfig.java # Spring Security 설정│ └── WebMvcConfig.java # Web MVC 설정│├── constant/│ └── Constant.java # 상수 정의│├── domain/ # 도메인 .. 2024. 10. 18.
[청하] 25. 청년 정책 데이터 리프레시 기능 구현 이전 게시글까지 청년 정책 Open API를 연동하고, 데이터베이스에 저장하는 과정에서 스케줄러를 사용해 월요일 자정에 데이터가 리프레시 되도록 설정했다.스케줄러 이외에도 관리자가 직접 데이터를 리프레시 하는 기능을 추가하여, 임의로 리프레시가 필요하다고 판단될 때 수행할 수 있도록 했다. 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── config/ # 설정 관련 클래스│ ├── SecurityConfig.java # Spring Security 설정│ └── WebMvcConfig.java # Web MVC 설정│├── domain/ # 도메인 모델 (엔티티)│ └── YouthPo.. 2024. 10. 17.
[청하] 24. 청년 정책 Open API 연동 및 데이터베이스 저장 (feat. XML 데이터 매핑, 스케줄러 적용) 기존에는 클라이언트 단에서 정책 Open API를 연동하고 조회할 수 있도록 했는데,정책 데이터를 데이터베이스에 저장하는 방식으로 변경하기로 하여 서버에서 연동 작업을 하게 되었다. 작업 내용정책 Open API 연동정책 데이터베이스 모델링정책 Open API 호출하여 데이터베이스에 저장주 1회 데이터 리셋하고 정책 Open API 호출하여 최신 데이터 저장 1. 프로젝트 구조src/main/java/com/example/withpeace/│├── domain/ # 도메인 모델 (엔티티)│ └── YouthPolicy.java # 청년 정책 엔티티│├── repository/ # 데이터 접근 계층│ └── YouthPolic.. 2024. 10. 17.
반응형