분류 전체보기318 Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (2) S3에 올린 jar를 가져다가 배포시키기 전 게시글은 빌드한 결과인 jar파일을 zip파일로 압축시켜 s3에 올리는 workflow를 구성했고 실제로 잘 동작한걸 확인할 수 있었다! Code deploy를 이용하여 배포시키기 Code deploy란 aws에서 제공하는 어플리케이션 자동 배포 서비스이다! EC2,AWS Lambda와 같은 서비스에 배포가 가능하고 현재위치 배포 또는 블루/그랜 배포 (= 무중단 배포)도 지원함 ( 하지만 나는 무중단배포에 nginx를 이용할것임) 이제 Code deploy에게 배포하라고 시켜보자 ( 그러면 Code deploy는 Code deploy agent에게 배포명령을 전달할것임) Code deploy의 배포과정 1. 개발한 어플리케이션(프로젝트) 최상단 경로에 App.. Spring/Spring ++ 2022. 10. 23. Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (1) Jenkins , Travis ci 등 많은것들이 있지만 Travis Ci는 무료플랜이라고 해서 가입했더니 1달러를 뺏어가구 또 무슨 토큰을줘서 해당 토큰량을 사용할때까지만 무료라고해서 괘씸해서 Github Action으로 구현하였다. ci(Continuous Integration, 지속적 통합) 란? ci는 빌드/테스트 자동화과정을 의미한다. (테스트코드를 작성해놨으면 빌드시 테스트도 되니까?) 개발자가 일일이 빌드/테스트하는 그 일련의 과정을 jenkins라던지 travis ci라던지 github actions이라던지를 이용하여 구현한다. 그러면 개발자는 코드를 커밋할때마다 빌드와 테스트가 자동으로 이루어져 편리함을 제공함 + 커밋할때마다 빌드/테스트가 되서 공유 리포지토리에 통합되므로 여러명의 개발.. Spring/Spring ++ 2022. 10. 22. 순열,중복순열,조합,중복조합 정리 순열 (Permutation) -> 시간복잡도 O(n!) 서로 다른 N개에서 R개를 뽑아 정렬하는 경우의 수 서로다른 N개에서 R개를 뽑는것은 순열,중복순열,조합,중복조합 모두 같다. 하지만 순열은 "정렬"하는 경우의 수를 생각한다는것이 다른점이다. 두가지원소 1,2를 뽑아 [1,2]로 정렬하는 경우와1,2를 똑같이 뽑고 [2,1]로 정렬하는 경우가 서로다르다고 카운팅하는것이 순열이다. 이런 순열을 자바에서는 어떻게 구현할까 일단 순열은 기본적으로 재귀적인 방식으로 구현하는 완전탐색 방식이며 순열을 이용할때 주의사항 * 순열은 조합과 다르게 반복문 시작인덱스를 매개변수로 보내지않아도되고, 0으로 반복문을 시작하면 된다 (반복문 시작 인덱스가 0 이라는것은 ,순서가 다르게도 뽑겠다는뜻) * 조합과 다르게 .. 자바/알고리즘 2022. 10. 17. Spring - SMTP 네이버 이메일 인증 , redis로 인증번호 만료 구현 네이버 SMTP 설정 설정을 저장해주면 아래 Pop 서버명같이 작은 정보창이 생김 의존성 설정 //이메일인증 implementation 'org.springframework.boot:spring-boot-starter-mail' 환경설정 -> MailConfig.java OR application.yml 사용 @Configuration public class MailConfig { @Value("${spring.mail.password}") private String password; @Bean public JavaMailSender javaMailService() { JavaMailSenderImpl javaMailSender = new JavaMailSenderImpl(); javaMailSender.. Spring/Spring ++ 2022. 10. 16. Aws S3 ,이미지 업로드 , application.yml,application.properties s3버킷 생성 버킷생성 눌러주고 체크한 부분만 신경써준다! 객체 소유권 ACL 활성화 시켜야함! 버킷생성후! 버킷클릭 -> 권한 -> 버킷정책 -> 편집 ( 버킷 ARN 복사) -> 정책생성기 Generate Policy 까지하면 복사할 json이 나온다! 복사한걸 버킷정책에 붙여넣고 저장해주자! IAM 사용자 생성 오른쪽위에 내 계정 누르고 -> 보안자격증명 누르고 -> 사용자 -> 사용자추가 그리고 다음 쭉쭉 누르고 넘어가면 Access Key와 Secret access key가 주어지는데 잘 저장한다 ( csv 파일로 저장 후 구글드라이브같은곳에 저장) 의존성 추가하기 ( build.gradle에 dependency 추가) //s3 implementation 'org.springframework.c.. aws 2022. 10. 16. 자바 입력 - Scanner , 미완성---- next() 는 공백 또는 개행으로 구분 nextLine()은 개행으로 구분한다. 자바 [JAVA] - 스캐너(Scanner) 클래스와 입력 자바를 처음 배울 때 아마 대부분은 키보드로 입력받기 위해 Scanner 라는 클래스를 썼을 것이다. 자바 외에도 다양한 언어들은 각각의 입력방식이 있고, 각 언어별로 대표하는 대중적인 입력방식 st-lab.tistory.com 자바 2022. 10. 13. 4)비즈니스 요구사항 정리,회원도메인,회원 리포지토리생성,테스트코드생성,테스트해보기 강의에서 진행하는 회원 서비스 개발 따라하기 데이터: 회원id, 이름 기능 : 회원 등록,조회 아직 데이터 저장소가 선정되지않았음(가상의 시나리오) 데이터 저장소가 선정되지않아서 멤버저장소는 인터페이스로 구현한다. 데이터저장소는 구현체를 메모리 구현체로 만들것임. 향후에 RDB든 뭐든 정해지면 바꿔낄것임 바꿀거기 때문에 인터페이스로 정의해두었다. 회원도메인과 리포지토리 만들기 멤버.java package hello.hellospring.domain; public class Member { private Long id; private String name; public Long getId() { return id; } public void setId(Long id) { this.id = id; } publ.. 인프런/스프링 입문 2022. 10. 12. [swagger] 스웨거 미완성. swagger fox랑 swagger doc는 다르다. fox는 업데이트가 어느순간부터 되지않는다고 한다. fox, doc 원하는걸로 쓰자 아래는 doc로 적용법. Spring Docs + Swagger 설정하기 (Spring Rest Docs 비교) 고 평소 API 문서를 적용할때는 Spring Rest Docs를 많이 사용했는데 이번 기회에 Spring Docs + Swagger ui를 적용해서 둘의 장단점 비교를 해보고 싶어서 사용해봤다. Spring Docs. + Swagger 설정 예제 개발 환.. devbksheen.tistory.com SpringBoot SpringDoc(OpenAPI)을 이용한 Swagger 적용 SpringBoot로 백엔드 개발 시 API 도큐먼트를 위해 swa.. Spring/Spring 2022. 10. 9. Swagger 3 // TypeError: Failed to fetch [ ] 미완성. Swagger servers url 추가하기, https 추가 Spring Boot REST API Documentation인 Swagger사이드 프로젝트에선 springfox 라이브러리를 사용했다.서버에서 https로 매핑한 뒤에도 swagger에서 request url이 자꾸 http로 보내져 에러가 났다.포스트맨에선 보내 velog.io [Swagger] Swagger 3 TypeError: Failed to fetch 많은 레퍼런스를 봤으나 내 상황과 맞는 사례는 없었고 그러다 Request URL을 보게 됐는데원래는 https://www.example.com/(요청URL) 이런식으로 요청이 되어야 하는데http://www.example.com/(요청URL) 이런식 velog.io 문제해결 2022. 10. 9. git)refusing to merge unrelated histories ] [pull,push 오류] refusing to merge unrelated histories pull할때 나타났다. 검색을 해보니 로컬과 원격저장소의 코드 차이가 심하게 날때 발생한다고 한다. --allow-unrelated-histories 를 붙여 코드를 실행하면 사라진다고 한다. 그럼에도 불구하고 오류가 발생한다면 하나씩 충돌처리를해야한다고함. 깃(Git) fatal: refusing to merge unrelated histories 오류 깃을 이용할 때 종종 fatal: refusing to merge unrelated histories라는 오류를 확인할 수 있습니다. 이 오류는 git push를 진행할 때나 혹은 git pull을 진행할 때 발견할 수 있는 오류입니다. 로.. ndb796.tistory.com 문제해결 2022. 10. 9. Execution failed for task ':compileJava',Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0. [gradle에서 deprecated되는 기능이 있어서 나는 오류] gradle의 버전이 올라가면서 유지보수가 끝난 , 중단된(deprecated된) 기능들이 있어서 나는 오류이다. 내가작성한 해당글의 Tip에서 인텔리제이 빌드 속도향상법이라고 설정한 부분이있는데 1. 스프링 부트 프로젝트 생성 ~ 실행, build.gradle,프로젝트 설정 팁,라이브러리 살펴보기 스프링 시작하기 https://start.spring.io/ 해당 사이트에서 스프링부트의 버전, 언어 , dependency등을 선택하여 쉽게 스프링 프로젝트를 생성하여 시작할 수 있다. 강의를 따라 다음과 같이 생성하였다 keeeeeepgoing.tistory.com 2부분은 gradle로 바꿔줬다. 이 부분에서 해당 오류를 발생시킨다. gradle을 인텔리제이로 다시바꿔준다면 오류가 해결될것이다. (나같은.. 문제해결 2022. 10. 9. 인텔리제이 - ec2연결 (remote host) EC2에서 우분투서버를 만들고 관리하는데 불편함이있다. 인텔리제이에서 EC2서버를 연결하면 간단하게 내용을 수정하고 실행해볼 수 있다. Tools -> Deployment -> Configuration 에 들어간다. 플러스 버튼 눌러서 추가해주고 , Host에는 EC2의 퍼블릭ip, username에는 ec2만들때 설정했던이름? (우분투서버이면 ubuntu), 인증타입에서는 키페어 만들었을때 얻은 파일을 경로를 통해 설정해주면된다. Test Connection으로 잘 연결됬는지 체크하고 apply -> ok 다시 나와서 Root path 즉 Ec2에서 프로젝트의 위치를 설정해주고 Web server URl 즉 프로젝트의 도메인을 입력해준다.! 그리고 OK를 누른후 그림과 같이하면 연결되어있는 원격 호스트.. aws 2022. 10. 9. 이전 1 ··· 23 24 25 26 27 다음