젯브레인 툴박스(젯프레인의 제품 전체를 관리해 주는 데스크톱 앱)를 사용하면 모든 제품군의 버전 관리와 JVM 옵션등을 조정할 수 있다. 인텔리제이를 설치하고 Gradle로 프로젝트를 만든다. 여기서는 스프링 이니셜라이저(https://start.spring.
요즘은 코딩 테스트를 알고리즘이 아닌 프로젝트를 만들고, 단위 테스트를 필수조건으로 두는 경우도 있다.TDD와 단위 테스트는 다른 이야기다. TDD는 테스트가 주도하는 개발이다. 테스트 코드를 먼저 작성하는 것부터 시작한다.반면 단위 테스틑 TDD의 첫 번째 단계인 기
JPA: 자바 표준 ORM (Object Relational Mapping)참고MyBatis, iBatis는 ORM이 아니다. SQL Mapper이다. ORM은 객체를 매핑하는 것이고, SQL Mapper는 쿼리를 매핑한다.현대의 웹 어플리케이션에서 관계형 데이터베이스
일반적으로 웹 개발에 있어 템플릿 엔진이란, 지정된 템플릿 양식과 데이터가 합쳐서 HTML 문서를 출력하는 소프트웨어를 이야기한다. JSP, Freemarker, 리액트, 뷰의 view 파일 등이 해당한다. 둘 모두 지정된 템플릿과 데이터를 이용하여 HTML을 생성하는
스프링 시큐리티는 막강한 인증과 인가긴으을 가진 프레임워크다. 인터셉터, 필터 기반의 기능을 구현하는 것보다 스프링 시큐리티를 통해 구현하는 것을 적극적으로 권장하고 있다. 스프링 시큐리티와 스프링 시큐리티 OAuth2 클라이언트 로그인 시 보안 회원가입 시 이메일
24시간 작동하는 서버가 필요할 때 방법 3가지집에 PC를 24시간 구동시킨다.호스팅 서비스(Cafe 24, 코리아 호스팅 등)을 이용한다.클라우드 서비스(AWS, AZURE, GCP)을 이용한다.일반적으로 비용은 호스팅 서비스나 집 PC를 이용하는 것이 저렴하다. 만
웹 서비스의 백엔드를 다룬다고 했을 때 애플리케이션 코드를 작성하는 것만큼 중요한 것이 데이터베이스를 다루는 일이다. 직접 데이터 베이스를 설치하는 것은 하지 않는다. 직접 설치하면 모니터링, 알람, 백업, HA 구성등을 모두 해야하고 처음 구축할 때 며칠이 걸릴 수
EC2 프로젝트 Clone 받기 먼저 깃허브에서 코드를 받아올 수 있게 EC2에 깃을 설치한다.
24시간 365일 운영되는 서비스에서 배포 환경 구축은 필수다. 여러 개발자의 코드가 실시간으로 병합되고, 테스트가 수행되는 환경, master 브랜치가 푸시되면 배포가 자동으로 이루어지는 환경을 구축하지 않으면 실수할 여지가 너무 많다. CI & CD 소개 코드 버
기존 방식은 긴 기간은 아니지만, 새로운 Jar가 실행되기 전까진 기존 Jar를 종료시켜 놓기 때문에 서비스가 중단된다. 서비스를 중단하지 않고 배포할 수 있는 방법을 무중ㄷ안 배포라고 한다.AWS에서 블루 그린 무중단 배포도커를 이용한 웹서비스 무중단 배포이외에도 L