'💻 my code archive/🏷️JAVA & Spring(Boot)' 카테고리의 글 목록 (5 Page)
my code archive
article thumbnail
스프링부트 공부기록(16) - Travis CI 배포 자동화, S3, CodeDeploy 연동

🔍앞서 진행한 배포의 불편한 점 수동 실행되는 Test : 본인이 짠 코드를 확인하기 위해 전체 테스트를 수행해야만 함. 수동 Build : 다른 사람이 작성한 브랜치와 본인이 작성한 브랜치가 합쳐졌을 때(Merge) 이상이 없는지는 Build를 수행해야만 알 수 있고 이를 매번 개발자가 직접 실행해야 함. => 24시간, 365일 운영되는 서비스에서 배포 환경 구축은 필수 과제임. 🤍CI & CD 하나의 프로젝트를 여러 개발자가 함께 진행 시 각자 개발한 코드를 합치는 것이 번거로움. CI, CD : 지속해서 코드가 통합되는 환경을 구축하는 것. 깃허브에 푸시될 때마다 코드를 병합, 더는 수동으로 코드를 통합할 필요가 없어짐. 특히나 중요한 것은 테스팅 자동화. 🤍Travis CI 연동하기 Travix..

article thumbnail
스프링부트 공부기록(15) - EC2 배포하기, RDS 접근, EC2에서 구글,네이버 로그인하기

🤍스프링부트 프로젝트로 RDS 접근하기 책에서는 MariaDB를 사용 중이지만 나는 연결이 한 번에 안 되는 바람에 MySQL로 만들었다. MySQL에서 스프링부트 프로젝트 실행하려면 몇 가지 작업이 필요하다. 1. 테이블 생성, 2. 프로젝트 설정, EC2 설정 🤍RDS에 테이블 생성 1. 먼저 RDS에 테이블을 생성한다. JPA가 사용될 엔티티 테이블, 스프링 세션이 사용될 테이블 2가지를 생성해야 하는데 JPA가 사용할 테이블은 테스트 코드 수행 시 로그로 생성되는 쿼리를 복사해서 사용하면 된다. 2. 스프링 세션 테이블은 schema-mysql.sql 파일에서 가져오면 된다. 3. 테이블 생성 🤍프로젝트 설정 1. MySQL 드라이버를 build.gradle 에 등록한다. implementatio..

article thumbnail
스프링부트 공부기록(14) - EC2 서버 배포 스크립트 작성, gradlew test 에러 원인, Junit5 맞게 코드 수정 해결 방법

🤍EC2에 프로젝트 Cone 받기 먼저 깃허브에 코드를 받아올 수 있게 깃을 설치하고 git clone으로 프로젝트를 저장할 디렉토리를 생성한다. sudo yum install git //EC2에 깃 설치 git --version //설치 상태 확인 mkdir ~/app && mkdir ~/app/step1 //프로젝트 저장할 디렉토리 생성 깃허브 https 주소를 복사해와서 git clone을 진행한다. git clone 복사한 주소 ll 명령어로 프로젝트 코드 전체 clone 받아졌는지 확인. 코드들이 수행되는지 테스트 해보기 ./gradlew test 이 gradlew test에서 정말....많은 고생을 했다....ㅠㅠㅠㅠㅠㅠ 처음엔 될 것 처럼 희망 고문을 하더니... 상쾌한 Build faile..

article thumbnail
스프링부트 공부기록(13) - AWD 데이터베이스 RDS 만들기, 인텔리제이 연결하기

🤍RDS 웹 서비스의 백엔드에서 코드 작성만큼 중요한 것이 데이터베이스를 다루는 일임. RDS는 앞서 구축해둔 AWS에서 지원하는 클라우드 기반 관계형 데이터베이스이다. 🤍RDS 인스턴스 생성하기 AWS 검색창에 RDS를 입력한 다음 RDS 대시보드에서 [데이터베이스 생성] 버튼을 클릭한다. MariaDB(이유 : 가격, Amazon Aurora 교체 용이성) / 표준 생성 선택 템플릿은 프리티어(무료)로 선택!! ✅상세 설정 할당된 스토리지 : 20 으로 DB 인스턴스 식별자 지어주고 마스터 사용자 이름&암호 이건 따로 메모해두거나 꼭 기억해야 함! 퍼블릭 엑세스 가능 : 예 조금 기다리면 생성이 완료됨. ✅파라미터 설정 파라미터 그룹 생성 버튼 클릭, 앞에서 생성한 Maria DB와 같은 버전으로 맞..

article thumbnail
스프링부트 공부기록(12) - AWS 배포 :: 회원가입, EC2 인스턴스 생성하기

앞서 진행한 게시판 프로젝트에 이어 본격적으로 서버 배포를 진행해 보도록 한다. 외부에서 본인이 만든 서비스에 접근하기 위해서는 24시간 작동하는 서버가 필수임. => 그중 클라우드가 가장 유리함. AWS는? 첫 가입 시 1년간 대부분 서비스가 무료임. 클라우드에서 기본적으로 지원하는 기능(모니터링, 로그관리, 백업, 복구...)이 많아 개인 및 소규모일 때 개발에 좀더 집중할 수 있음. 많은 기업이 AWS로 이전 중이기 때문에 AWS 사용 경험은 취업, 이직에 도움이 됨. 사용자가 많아 국내 자료와 커뮤니티가 활성화 되어 있음. 🤍AWS 회원가입 이메일주소, 암호, 영문 주소 등등 입력하고 카드도 등록하고~~ 지원 플랜은 기본 플랜(무료) 선택. 가입 완료! 🤍EC2 인스턴스 생성하기 EC2는 AWS에..

article thumbnail
스프링부트 공부기록(11) - 게시판 프로젝트 :: 네이버 API 로그인 구현하기

지난번에 만든 구글 로그인에 이어 이번에는 네이버 로그인을 추가해 보도록 한다. 1. 네이버 오픈 API 홈페이지로 이동 애플리케이션 - NAVER Developers developers.naver.com 2. 애플리케이션 이름을 입력하고 네이버 아이디로 로그인 선택 3. 서비스 URL 등록.(=구글에서 등록한 리디렉션 URL 같은 역할) 여기까지 마치면 끝! 클라이언트 ID와 비밀번호가 발급된다. 4. application-oauth.properties에 네이버api 관련 키값들을 수동으로 등록한다. 구글과 달리 네이버에서는 스프링 시큐리티를 공식 지원하지 않아 수동으로 입력 필요. user_name_attribute = response : 네이버 회원 조회 시 반환되는 JSON 형태이기 때문에 res..

article thumbnail
스프링부트 공부기록(10) - 게시판 프로젝트 :: 스프링 시큐리티, OAuth 2.0 구글 로그인 구현하기

🔍스프링 시큐리티와 스프링 시큐리티 Oauth2 클라이언트? 많은 서비스에서 구글, 페이스북 등 소셜 로그인 기능을 사용하는 추세. 그 이유는 직접 구현하는 것보다 OAuth를 써서 구현하는 것이 더 간단하기 때문이다. 로그인 시 보안, 비밀번호 변경&찾기 등등 모든 서비스를 소셜 서비스에 맡기고 그외의 개발에 집중할 수 있다. 🤍구글 서비스 등록 1. 구글 서비스 등록 구글 클라우드 플랫폼 으로 이동해서 프로젝트를 만든다. API 및 서비스로 이동해서 사용자 인증 정보를 만든다. 먼저 동의화면을 구성해준 다음 OAuth 클라이언트 ID를 만들어준다. 스프링 부트2 버전의 시큐리티에서는 기본적으로 {도메인}/login/oauth2/code/{소셜서비스코드} 리다이렉트 URL을 지원하고 있다. 사용자가 별..

article thumbnail
스프링부트 공부기록(9) - 게시판 프로젝트 :: 머스테치 사용, 게시판 글 조회, 수정, 삭제 구현하기

🤍게시판 글 목록 조회 1. index.mustache UI 변경 {{#posts}} : posts라는 List를 순회하겠다, 자바의 for문과 동일함. {{id}} 등의 {{변수명}} : List에서 뽑아낸 객체의 필드를 사용하겠다. 2. PostsRepository 인터페이스에 쿼리 추가 SpringDataJpa에서 제공하지 않는 메소드는 @Query를 사용하여 작성 가능함, 기본 메소드만으로 해결이 가능하지만 @Query가 훨씬 가독성이 좋다. @Query : 타입 안정성이 보장됨 / 국내 많은 회사(쿠팡, 배민 등 JPA를 적극적으로 사용하는 회사)에서 사용 중 / 래퍼런스가 많음.(많은 회사, 개발자들이 사용하는 만큼 국내 자료가 많음.) @Query("SELECT p FROM Posts p O..

반응형
반응형