본문 바로가기

분류 전체보기32

SSH RSA 키 생성과 등록 파이썬 프로젝트에서 설치해야 하는 의존성 중에 private github repository가 포함되어 있었는데 인증 실패가 계속되어 SSH 키 등록을 하게 되었다. 1. SSH RSA 키 생성ssh-keygen -t rsa -b 4096 -C "your_email@example.com" -t rsa : RSA 알고리즘을 사용해서 키를 생성-b 4096 : 키드 비트 수를 4096으로 설정, 보안 강화를 위해 사용하는 일반적인 값-C 이메일 : SSH 키에 대한 주석으로 선택적인 항목이지만 어느 계정에 쓰이는 키인지 명시적으로 사용 2. 키 파일 위치와 이름 지정Generating public/private rsa key pair.Enter file in which to save the key (/Use.. 2024. 6. 24.
[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.
[Mac] 프로젝트별 JDK 설정 SpringBoot 프로젝트와 Flutter 프로젝트를 병행하다 보니 JDK 버전을 따로 써야 하는 상황이 왔다.SpringBoot 프로젝트는 3.x.x 버전을 사용하기 때문에 JDK 17 이상을 사용해야 했고, Flutter 프로젝트는 파이어베이스 인증을 사용하는데 버전 호환성 문제로 JDK 11을 사용해야 했다. jenv를 설치해서 프로젝트별로 JDK 설정이 가능하다. 1. jenv 설치brew install jenv 2. jenv 초기화jenv init 3. vi 편집기 열기vi ~/.zshrc 4. vi 환경설정 추가export PATH="$HOME/.jenv/bin:$PATH"eval "$(jenv init -)" 편집 모드는 i편집 완료 후 esc -> :wq 또는 shift + zz 편집기 .. 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.