전체 글333 백준 - 3040/백설 공주와 일곱 난쟁이 시간 제한메모리 제한제출정답맞힌 사람정답 비율 1 초 128 MB 12467 8332 6998 70.071% 문제 매일 매일 일곱 난쟁이는 광산으로 일을 하러 간다. 난쟁이가 일을 하는 동안 백설공주는 그들을 위해 저녁 식사를 준비한다. 백설공주는 의자 일곱개, 접시 일곱개, 나이프 일곱개를 준비한다. 어느 날 광산에서 아홉 난쟁이가 돌아왔다. (왜 그리고 어떻게 아홉 난쟁이가 돌아왔는지는 아무도 모른다) 아홉 난쟁이는 각각 자신이 백설공주의 일곱 난쟁이라고 우기고 있다. 백설공주는 이런 일이 생길 것을 대비해서, 난쟁이가 쓰고 다니는 모자에 100보다 작은 양의 정수를 적어 놓았다. 사실 백설 공주는 공주가 되기 전에 매우 유명한 수학자였다. 따라서, 일곱 난쟁이의 모자에 쓰여 있는 숫자의 합이 100.. 자바/알고리즘 문제 풀이 2022. 10. 28. 디버깅 인텔리제이 디버깅 원하는 코드에 브레이크포인트를 찍은 후 디버그모드를 실행한다. 빨간 동그라미 부분이 브레이크 포인트이고, 디버그모드상태에서 추가적으로 브레이크포인트를 찍을 수 있다. 1번으로 쳐둔 공간이 브레이크 포인트까지 오기까지 진행된사항들. 2번으로 쳐둔곳이 브레이크 포인트가있는곳의 생성된 지역변수 및 스태틱변수에 관련된 정보들이다. Resume Program 1번 쳐진 곳이 Resume program이라는 버튼이고 해당버튼을 누르면 다음 브레이크포인트로 이동하게 된다. 브레이크포인트로 가는 동안의 작업들은 순식간에 진행되고 결과만 보여준다. 다음 브레이크포인트까지 진행되는 작업을 확인하고 싶으면 step over를 눌러 한줄씩 실행되는걸 확인한다. 브레이크포인트가없는데 resume program.. 인텔리제이 2022. 10. 28. Github Actions + Code Deploy + Ngxin + ubuntu 20.04로 무중단 배포하기 (3) 마지막! 마지막 Nginx로 무중단 배포구현 자동 빌드/테스트 + 무중단배포의 전체 흐름중 마지막인 빨간 체크박스 부분을 구현할 시간이다. 스프링부트 프로젝트를 실행시 어느 포트를 사용할지 지정할 수 있다. 현재 프로젝트가 실행된 포트가 8081라고 하자. (현재 실행중) 개발자가 개발을 하던중 수정사항이 생겼고 커밋을해서 원격저장소에 올린후 workflow를 실행했다고 해보자(게시글에서는 수정으로 workflow를 실행하게끔 구현했으므로) workflow로 인해 빌드/테스트가 진행된후 s3에 빌드파일이 올라가고 code deploy agent가 배포를 할텐데 배포할때 8082 포트로 방금 배포된(=수정된,최신버전) 프로젝트를 실행하고 잘 켜졌는지 확인한후 잘켜졌다면 nginx가 8082포트의 프로젝트를 가르키게.. Spring/Spring ++ 2022. 10. 23. 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. 이전 1 ··· 24 25 26 27 28 다음