개발62 [혼자 구현하는 웹서비스] 10. 24시간 365일 중단 없는 서비스를 만들자 *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. *내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. *이 글은 9-1. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (2)에서 이어집니다. 0. 개요 1. 무중단 배포 소개 2. Nginx 설치와 Spring Boot 연동하기 3. 무중단 배포 스크립트 만들기 4. 무중단 배포 테스트 0. 개요 앞선 글의 마지막에서 언급한 바 있듯, 우리의 프로젝트의 남은 문제점은 배포 시 서비스가 잠시 중단된다는 점이다. jar 파일을 이용해 배포를 진행하기 이전에, 기존에 열려 있던 서비스를 종료하고, 배포가 마치.. 2022. 2. 26. [혼자 구현하는 웹서비스] 9. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (2) *이 글은 '스프링 부트와 AWS로 혼자 구현하는 웹 서비스' (프리렉, 이동욱 저) 를 공부하며 내용을 정리한 글입니다. *내용을 따라가며 쓴 글이라 책과 흐름이 겹칠 수 있으나, 최대한 내용을 이해한 후 저의 글로 옮겼습니다. *이 글은 9-1. 코드가 푸시되면 자동으로 배포해 보자 - Travis CI 배포 자동화 (1)에서 이어집니다. 4. Travis CI와 AWS S3, CodeDeploy 연동하기 5. 배포 자동화 구성 6. CodeDeploy 로그 확인 4. Travis CI와 AWS S3, CodeDeploy 연동하기 CodeDeploy (AWS의 배포 시스템)을 이용하기 전에, EC2가 CodeDeploy를 연동받을 수 있도록 설정해야 한다. IAM 역할을 하나 생성하자. AWS에서 I.. 2022. 2. 26. [Spring] 스프링의 IoC, DI 개요 스프링은 가장 대중적인 웹 프레임워크입니다. Java 기반이며 (요새는 Kotlin으로도 동작합니다), 요새는 Node.js, django 등 다른 프레임워크도 많지만 백엔드 개발자라면 한 번씩은 써 보게 됩니다. 특히 한국에서는 전자정부표준프레임워크에 채택되어 있어 SI, SM 업계에서는 거의 필수적으로 사용하고 있습니다 (예전 버전이지만...). Spring! 이름의 유래는 봄입니다. Spring 이전에는 EJB가 Java 기반 엔터프라이즈 소프트웨어 개발의 중심이었는데, 이 때를 Java 개발의 겨울에 비유하고, Spring의 등장으로 Java 개발 환경에 봄이 왔다는 뜻에서 지었다고 합니다. 저 역시 백엔드 개발을 Spring으로 하고 있습니다. (정확히는 Spring Boot를 통해 하고 .. 2022. 2. 21. [Java] instanceOf 연산자 업무 중 마주한 내용에 대해 추가적으로 알아보고자 공부하고 작성하였습니다. Java 코드를 보던 중 아래와 같은 경우를 보게 되었습니다 (예시입니다). Queue q = new LinkedList(); if (q instanceof LinkedList) { System.out.println("true"); } instanceof 연산자입니다. 단순히 뜻을 유추해 보자면 q가 LinkedList의 instance인지 true/false 결과를 리턴하는 연산자로 보입니다. 실제로 그런 역할을 합니다. 무슨 말이냐 하면, object instanceof type 위와 같은 코드가 있을 때, object가 type을 상속받는 클라스라면 true를 리턴하고, 그렇지 않다면 false를 리턴합니다. 위 코드의 경우.. 2022. 2. 21. Windows WSL 환경에서 Homebrew 설치하기 Vue.js 공식 문서에 기여를 해 보려고 GitHub에 들어가 보았습니다 (링크). 의존성 설치를 위해 아래와 같은 명령어를 입력해야 했는데, yarn # or npm install yarn이 무엇인가 하고 찾아 보니 Facebook에서 만든 JavaScript 매니저라고 합니다. 그래서 yarn을 설치하려고 하니... brew install yarn 제게 굉장히 익숙한 brew 명령어가 나왔습니다. macOS에서는 늘 homebrew를 통해 패키지를 설치했으니까요. 하지만 저는 지금 Windows 환경에서 진행하고 있던 참이었습니다. 불행 중 다행히도, 저는 평소에 WSL을 이용해서 Windows에서도 Linux Terminal (zsh)를 사용하고 있었고, 윈도우에서도 homebrew를 설치할 수 .. 2022. 2. 16. [SQL] WHERE 1 = 1 업무 중 마주한 내용에 대해 추가적으로 알아보고자 공부하고 작성하였습니다. 이미 작성된 쿼리를 보다 보면 이런 내용을 많이 볼 수 있습니다. select * from TEST_TABLE a where 1 = 1 and a.name is not null and a.gender = 'male' where 1 = 1 이라는 내용입니다. 항상 참인 의미 없어 보이는 내용인데, MyBatis 등에 쿼리를 미리 작성해 두는 경우에 많이 보게 됩니다. 이 내용은 왜 붙여서 사용할까요? 사용하는 경우 위 코드를 다시 보겠습니다. where 1 = 1 이라는 내용이 없다면, 아래와 같이 작성하게 됩니다. select * from TEST_TABLE a where a.name is not null and a.gender .. 2022. 2. 15. 이전 1 ··· 3 4 5 6 7 8 9 ··· 11 다음