프로그래밍29 [AWS EC2] MySQL 설치 SpringBoot로 작업한 서버를 docker를 사용해서 배포하면서 mysql 컨테이너까지 함께 묶어서 docker-compose를 사용하려고 계획했다. EC2 프리티어는 작고 소중해서 웹애플리케이션과 mysql 이미지 사이즈를 감당하지 못해 웹서버와 DB서버를 분리하기로 결정했다. AWS EC2 인스턴스 생성 과정은 생략하고 인스턴스에 최초로 접속한 이후 명령어에 대한 내용 1. 패키지 업데이트sudo apt update 2. MySQL 서버 설치sudo apt install mysql-server -y 3. MySQL 보안 설정sudo mysql_secure_installation비밀번호 유효성 검사 설정 : Y (유효성 레벨을 선택)익명 사용자 삭제 : Y원격 root 로그인 비활성화 : Y테스트.. 2024. 6. 18. Flutter RestAPI 호출 1. 조회 api 만들기 (SpringBoot)@RequiredArgsConstructor@RequestMapping("/public-api/tenants")@RestControllerpublic class TenantPublicController { @GetMapping("") public ResponseEntity getAllTenant(Pageable pageable) { TenantDTO.InfoList infoList = tenantService.getAllTenant(pageable); return ResponseEntity.ok(infoList); }} API 서버의 컨트롤러가 중요한 게 아니라 엔드포인트와 API가 반환하는 DTO 형태가 중요하다.스.. 2024. 6. 11. Github Actions + AWS CI/CD (3) AWS 준비 2024.03.08 - [프로그래밍/SpringBoot] - Github Actions + AWS CI/CD (1) Github Actions + AWS CI/CD (1) Github Actions를 사용해서 지속적 통합(CI)과 배포(CD)에 대한 내용 정리 특이점이 없다면 글보다는 이미지로... AWS IAM 사용자 생성 AWS 리소스에 대한 엑세스를 위한 보안 자격 증명을 관리하는 데 사 story-to-me.tistory.com 스프링부트 프로젝트 생성 후 CI 테스트 2024.03.08 - [프로그래밍/SpringBoot] - Github Actions + AWS CI/CD (2) Github Actions + AWS CI/CD (2) 이전 글에서 AWS 준비를 완료하고 인텔리제이와.. 2024. 3. 8. Github Actions + AWS CI/CD (2) 이전 글에서 AWS 준비를 완료하고 인텔리제이와 Github에서 진행하는 내용 정리 2024.03.08 - [프로그래밍/SpringBoot] - Github Actions + AWS CI/CD (1) Github Actions + AWS CI/CD (1) Github Actions를 사용해서 지속적 통합(CI)과 배포(CD)에 대한 내용 정리 특이점이 없다면 글보다는 이미지로... AWS IAM 사용자 생성 AWS 리소스에 대한 엑세스를 위한 보안 자격 증명을 관리하는 데 사 story-to-me.tistory.com Github Repository 생성과 프로젝트 연결 Github Repository 생성과 프로젝트 연결은 생략한다... 스프링부트 프로젝트 설정 start.sh, stop.sh 스프링부.. 2024. 3. 8. Github Actions + AWS CI/CD (1) Github Actions를 사용해서 지속적 통합(CI)과 배포(CD)에 대한 내용 정리 특이점이 없다면 글보다는 이미지로... AWS IAM 사용자 생성 AWS 리소스에 대한 엑세스를 위한 보안 자격 증명을 관리하는 데 사용 권한 정책 검색하여 3가지 체크 AmazonEC2FullAccess AmazonS3FullAccess AmazonCodeDeployFullAccess 권한 추가된 내용 확인하고 사용자 생성 csv 파일 다운로드 엑세스 키 발급 엑세스 키 csv 파일 다운로드 (Github Repository Secrets에 사용) AWS S3 생성 객체 스토리지 서비스 Github Actions에서 zip파일로 S3에 업로드한 후 EC2로 배포 AWS IAM 역할 생성 총 2가지 역할 생성 EC2.. 2024. 3. 8. [TIL] JpaAuditing 설정하고 사용하기 스프링부트 프로젝트에서 JpaAuditing 설정과 사용 JPA Auditing 이란? Spring Data JPA를 사용하여 Entity의 생성일과 수정일을 자동으로 추적하여 업데이트해준다. Database Entity의 변경이력을 좀 더 쉽게 관리할 수 있다. JPA 의존성 추가 implementation 'org.springframework.boot:spring-boot-starter-data-jpa' JPA Auditing 활성화 @EnableJpaAuditing 어노테이션을 메인 클래스 또는 별도의 설정 클래스에 추가한다. @EnableJpaAuditing @SpringBootApplication public class Application { public static void main(Stri.. 2024. 2. 28. [Docker] 도커 싱글 컨테이너 실습 도커 컨테이너를 사용해 응용프로그램을 쉽게 배포하고 실행할 수 있도록 설계된 도구, 컨테이너 기반의 오픈소스 가상화 플랫폼이다 애플리케이션 환경에 구애받지 않고 손쉽게 배포 관리를 도와준다. 서버마다 동일한 환경을 구성해 주기 때문에 auto scaling에 유리하다. 한 개의 서버에서 한개의 애플리케이션만 운영하는 하이퍼바이저 기반 가상화보다 가볍기 때문에 성능에도 유리하다. 컨테이너 도커 이미지를 독립된 공간에서 실행할 수 있도록 해주는 기술 도커 이미지 애플리케이션의 코드, 런타임, 시스템 도구, 시스템 라이브러리 및 설정과 같은 애플리케이션을 실행할 때 필요한 모든 것을 포함하는 패키지. 이미지는 도커허브를 통해 버전 관리가 가능하다. 도커 파일 명령어 FROM 새로운 이미지를 생성할 때 사용할 .. 2024. 2. 14. [Github] Issues, pull requests 사용법 현재 진행 중인 패스트캠퍼스의 과제 진행을 위해서 Github 저장소를 사용한다. 팀 또는 동료와 협업으로 프로젝트 진행을 하기 위해서 Github을 사용하면서 Issue등록과 pull requests를 통한 코드리뷰에 대해 정리한다. [Github] Issue 등록 Issues 탭에서 New issue 버튼을 눌러서 등록한다. Issue에는 해야 할 업무 목록을 추가한다. Issue등록을 완료한다. md문법은 잘 몰라도 에디터를 잘 활용하면 된다. 우측 Assignees는 팀이나 초대된 동료가 있다면 목록이 나오는데 해당업무에 수행할 인원을 선택한다. 그 외 Labels, Projects, Milestone 등을 지정한다. 다음 포스팅에서 자세히 담을 예정이다. Development에서 해당 Issue.. 2024. 2. 9. [Spring] ToyProject 2단계(3) - 정리 일주일이 순식간에 지나가고 프로젝트 제출하고 정리의 시간이 되었습니다!😁 모두가 각자의 역할에 책임을 다 해준 아름다운 결과물이 나왔습니다! 프로젝트를 진행하면서 기억하고 넘어가면 좋은 내용들을 정리합니다. LocalDateTime 직렬화/역직렬화를 위한 준비 jackson 라이브러리에서 objectmapper가 남모르게😅 직렬화와 역직렬화를 해줍니다. implementation 'com.fasterxml.jackson.core:jackson-databind:2.15.2' @Data @NoArgsConstructor @AllArgsConstructor @Builder class Trip { private String name; private String startingPoint; private Strin.. 2024. 2. 4. [TIL] LocalDateTime to String, String to LocalDateTime Java Spring 프로젝트 실습을 진행하다 보면 LocalDateTime을 사용할 일이 잦다. 사용자의 가입일자, 게시글의 등록일자, 변경일자 등 정확한 날짜와 시간을 데이터베이스에 저장하기 위해서 쓰인다. 이번 토이프로젝트에서도 여행정보를 저장할 때 여정정보를 저장할 때 날짜와 시간 부분에 많이 사용했다. 팀원들끼리 소통을 하면서 진행했지만 역시 아무 일도 없이 지나갈 수는 없는 법. Entity와 DTO를 만드는 과정에서 Entity에서는 LocalDateTime으로 만들고 DTO에서는 String으로 만드는 바람에 여러 가지 해결방법이 있겠지만 1차적으로 데이터타입을 수정하지 않고 DTO에서 Entity로 변환해 주는 과정에서 String을 LocalDateTime으로 변환하는 작업을 수행했다... 2024. 1. 31. 이전 1 2 3 다음