아마존 웹 서비스 카카오체크카드로 프리 티어 가입 + EC2 서비스 생성

카카오체크카드로 아마존 웹 서비스 가입이 가능합니다.   1) 아마존 웹서비스 회원가입 페이지 접속   2) 이메일 및 비밀번호 입력   3) 주소 및 카드 정보 입력(비자, 마스터카드 등 국제 결제 가능 카드)   4) 핸드폰 ARS 인증 진행   5) 지원 플랜 선택에서 기본 플랜(무료) 선택   6) 상단 메뉴에서 더보기…

스프링 부트(Spring Boot): 구글 로그인 연동 (스프링 부트 스타터의 oauth2-client) 이용 + 네이버 아이디로 로그인

  이 방법은 JSTL, Thymeleaf, Mustache 등 서버 사이드 템플릿 엔진을 사용하는 로그인 방법입니다. SPA에서 사용할 수 있는 소셜 로그인 연동 방법은 아래 글을 참고하세요, 스프링 부트(Spring Boot): SPA에서 사용할 수 있는 OAuth2 소셜 로그인 (구글, 페이스북, 깃허브) 순서 build.gradle에 디펜던시 추가 application-oauth.properties 작성 + .gitignore 등록 Role enum 클래스 더보기…

구글 OAuth2 연동용 클라이언트 아이디 및 비밀번호 발급받는 방법

1. 구글 클라우드 플랫폼(https://console.cloud.google.com/) 에 접속합니다. 2. 빨간색 네모 부분을 클릭합니다. 기존에 생성된 프로젝트가 없다면 [프로젝트 선택]이라는 문구가 표시됩니다.   3. [새 프로젝트] 버튼을 클릭합니다.   4. 프로젝트 이름을 입력하고 [만들기] 버튼을 클릭합니다.   5. 왼쪽 [API 및 서비스] 메뉴의 [대시보드] 를 클릭합니다.   6. 방금 만든 프로젝트를 선택합니다.   더보기…

스프링 부트 Thymeleaf: fragment로 웹 페이지에 header, footer 등 조각 삽입

스프링 부트 Thymeleaf: fragment로 웹 페이지에 header, footer 삽입하는 방법입니다. 공통되는 부분을 미리 만들어 놓은 다음 재사용할 수 있습니다. 전체 소스 보기   프로젝트 구조   먼저 HTML 파일을 만든 뒤(fragments/common.html) 조각(fragment)로 만들고 싶은 요소의 태그에 th:fragment="[이름]" 을 삽입합니다. <head th:fragment=”html-head”> …….. </head> <div th:fragment=”header”> <nav class=”navbar navbar-expand-lg navbar-dark bg-dark mb-2″> 더보기…

스프링 부트(Spring Boot): 웹 페이지를 정상적으로 렌더링하는지 단위 테스트

스프링 부트 버전: 2.3.1 Gradle 버전: 6.4.1 웹 페이지를 정상적으로 렌더링하는지 테스트하는 과정입니다. 모의 서버 환경을 만들고, 그 서버에서 웹 페이지를 요청한 후 반환되는 텍스트에 특정 내용이 포함이 되어있는지 확인합니다. 렌더링 엔진은 Thymeleaf 입니다.   참고: 프로젝트 구조, View 파일, 컨트롤러 IndexController.java package com.example.awsboard.web; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public 더보기…

스프링 부트 버전 2.3.1 에서 H2 SQL 문법을 MySQL 문법으로 변경한 후 H2 콘솔 사용하는 방법

스프링 부트 버전: 2.3.1 Gradle 버전: 6.4.1 스프링 부트 버전 2.3.1 에서 H2 SQL 문법을 MySQL 문법으로 변경한 후 H2 콘솔 사용하기 위해 Datasource를 설정해야 합니다. 1) application.properties 파일에 다음 내용을 추가합니다. # H2 설정 spring.h2.console.enabled=true spring.h2.console.path=/h2 # Datasource 설정 spring.datasource.driver-class-name=org.h2.Driver spring.datasource.url=jdbc:h2:mem://localhost/~/testdb;MODE=MYSQL spring.datasource.username=sa spring.datasource.password= # sql 보기 spring.jpa.show_sql = true 더보기…

스프링 부트에서 H2를 테스트하려고 하는데 Database not found, either pre-create it … 에러가 발생할 때

macOS 기준입니다. 스프링 부트에서 H2 콘솔을 사용하려고 하는데 아래 에러가 발생하는 경우 Database … not found, either pre-create it or allow remote database creation (not recommended in secure environments) 원인은 보안 측면상 웹 콘솔 환경에서 데이터베이스를 생성할 수 없도록 막아놨기 때문에 발생한다고 합니다. 해결 방법은 홈브루(brew)를 통해 별도의 H2를 설치한 더보기…

macOS 홈브루(brew)에서 Updating Homebrew… 멈춤현상 해결방법 및 권한 설정 방법

macOS 홈브루(brew)에서 Updating Homebrew… 멈춤현상 해결방법 (스택오버플로 링크) control + z 버튼을 눌러 업그레이드 작업 중단 터미널창에 brew doctor 입력 터미널창에 brew cleanup 입력 터미널창에 brew doctor 다시 입력 sudo xcode-select –install 입력   권한 오류 해결방법 다음과 같은 에러가 나오면서 brew 프로그램 설치가 안될 때 Error: The following directories are not writable by 더보기…

자바(Java): 빌더 패턴(Builder Pattern) 일반 + 롬복(Lombok) + 단위 테스트

참고 블로그   자바(Java)에서 객체를 생성할 때 사용하는 패턴이 여러 가지가 있습니다. 그 중 가장 대표적안 생성자 패턴(constructor pattern)은 지금 채워야 할 필드가 무엇인지 명확히 지정할 수 없습니다. 하지만 빌더 패턴(builder pattern)을 사용하면 어느 필드에 어떤 값을 채워야 할지 명확하게 지정할 수 있습니다.   일반적인 생성자 패턴의 예시는 다음과 같습니다. 더보기…

Spring Boot: Spring JPA + H2 데이터베이스 기초 + 단위 테스트

롬복(Lombok)이 설치되어 있는것을 전제로 합니다. 스프링 부트 버전: 2.3.1 Gradle 버전: 6.4.1 스프링 부트 Spring Boot: Spring JPA + H2 데이터베이스 기초 + 단위 테스트   1. build.gradle에 디펜던시 추가 dependencies { … // Spring JPA implementation ‘org.springframework.boot:spring-boot-starter-data-jpa’ runtimeOnly ‘com.h2database:h2’ // https://mvnrepository.com/artifact/javax.persistence/javax.persistence-api // 프로젝트에 javax.persistence 가 없는 경우 설치 compile 더보기…