본문 바로가기
728x90
반응형

분류 전체보기162

#1 AWS Elastic Beanstalk 기반 CI/CD 블루그린 배포 - RDS, Elastic Beanstalk, IAM, Github Actions RDS 생성 maria db를 선택. 프리티어를 선택해주자. 사용자 이름과 암호를 설정해주자. 퍼블릭 액세스를 허용해주어야지, 접근이 가능해진다. 데이터베이스 생성. Elastic Beanstalk 생성 애플리케이션 이름을 만들어준다. 플랫폼은 자바로 선택해준다. 프리셋은 사용자 지정 구성으로. 기존 서비스 역할과 EC2 인스턴스 프로파일, 키페어 선택. 기존 서비스 역할과 EC2 인스턴스 프로파일은 없다면 만들어 주어야 한다. VPC 선택. 활성화 클릭, 전체 선택. 보안그룹 선택. 블루-그린 배포를 위해 최소 2개, 최대 4개를 설정해준다. 변경 불가로 설정. 시스템 환경 변수를 설정해주자. 검토가 잘 되었는지 보고 제출하면 완료. IAM 사용자 생성 사용자 이름을 만들어준다. 직접 정책 연결, 권한.. 2023. 5. 16.
remote: fatal error in commit_refs 에러 push를 하려고 하는데, 이런 에러가 떴다. 뭐지, 하고 구글링을 해보았더니. github 자체 서버가 불안정할 때 나는 오류라고 한다. 아래에서 github의 현재 상태를 알 수 있다고 한다. https://www.githubstatus.com/ GitHub Status Subscribe to updates for Incident with Actions, API Requests, Git Operations and Issues via email and/or text message. You'll receive email notifications when incidents are updated, and text message notifications whenever GitHub creates or reso.. 2023. 5. 9.
무중단 배포와 배포 전략(롤링, 블루-그린, 카나리, A/B) 무중단 배포가 왜 중요하며 어떤 배경에서 등장한 걸까? [등장 배경] 소프트웨어 개발 방법론의 변화 소프트웨어 개발 방법론이 폭포수(Waterfall) 방식에서 애자일(Agile) 방식으로 바뀌면서 릴리즈 기간이 훨씬 단축되었고 배포가 잦아질 수 밖에 없게 되었다. 마이크로서비스 아키텍처의 등장 서비스가 하나의 거대한 아키텍처로 구현되는 모놀리식(Monolithic) 구조에서 마이크로서비스(Microservices)로 모듈화되면서 독립적으로 개발하고 동시에 배포할 수 있게 되었다. 이렇듯 잦은 배포가 필연적으로 생길 수 밖에 없게 되면서 운영 안정성 측면에서 배포의 위험을 최소화하고 안정적인 서비스를 운영하기 위한 요구가 생겼고, 무중단 배포의 중요성이 커지게 되었다. 무중단 배포(Zero Downtim.. 2023. 5. 8.
스프링부트 테스트 시, JPA와 SQL INIT 충돌 이슈 마지막 통합테스트만이 남았다. 테스트의 편의를 위해 insert문으로 작성한 sql 스크립트문을 실행시킨다면, 테스트 코드 안에서 dummy 데이터를 만들어줄 필요 없이 쉽게 테스트를 할 수 있겠다고 생각했다. 그러나 문제가 발생했는데..! ddl-auto와 data.sql을 혼합하는 방식 첫 번째로 시도한 설정은 ddl-auto와 data.sql을 혼합하는 방식이다. application.yml 설정 ddl-auto를 create로 해서 table들을 다 생성한 뒤, 만들어준 data.sql을 실행시킨다면 문제없이 더미데이터를 사용할 수 있을 거라고 생각했지만... dataSourceScriptDatabaseInitializer가 bean에 생성되는 데 실패했다는 에러가 뜬다. 더 자세한 이유를 찾아보.. 2023. 4. 30.
백준 2294 코드 n, k = map(int, input().split()) coin_list = [] for i in range(n): coin_list.append(int(input())) dp = [10001] * (k+1) dp[0] = 0 for i in range(1, k+1): for coin in coin_list: if coin 2023. 4. 13.
백준 2293 코드 n, k = map(int, input().split()) coins = [] for i in range(n): coins.append(int(input())) D = [0] * (k+1) D[0] = 1 for i in range(n): for j in range(coins[i], k+1): D[j] += D[j-coins[i]] print(D[k]) 2023. 4. 11.
728x90
반응형