스프링 부트 버전 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 더보기…

Spring Boot: Gradle 버전 5 이상에서 롬복 설치 + 단위 테스트

스프링 부트 버전: 2.3.1 Gradle 버전: 6.4.1 1. Gradle 버전 확인 Gradle 버전이 5 이상인 경우 아래와 같이 진행하고, 4 이하라면 다른 방법으로 진행해야 합니다.   2. build.gradle에 롬복 부분 추가 dependencies { … // lombok annotationProcessor(“org.projectlombok:lombok”) compileOnly(“org.projectlombok:lombok”) … }   3. 롬복 플러그인 설치 (인텔리제이 아이디어 기준)   4. 더보기…

Spring Boot: JUnit 단위 테스트 기초 (GetMapping 테스트, 인텔리제이 기준)

스프링 부트(Spring Boot) 버전 2.3.1, Gradle 6.4.1 기준입니다. 1. 패키지를 생성 (예: com.example.awsboard.web) 2. 컨트롤러 및 GetMapping 예제 작성 package com.example.awsboard.web; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class BasicController { @GetMapping(“/hell”) public String hello() { return “Hell”; } }   3. 동일한 패키지를 src > test > java 에 패키지 더보기…

macOS 인텔리제이(IntelliJ) 커뮤니티 버전 설치 + 스프링 부트 프로젝트 생성

원래 인텔리제이 프로그램은 유료로 구독해야 하지만 커뮤니티 버전은 인텔리제이 정품의 일부 기능을 제거하고 무료로 제공합니다. 인텔리제이 (IntelliJ) 커뮤니티 버전 설치 젯브레인 툴박스 설치 – https://www.jetbrains.com/ko-kr/toolbox-app/ 젯브레인 툴박스 실행 후 타이틀바에 있는 아이콘 클릭 후, 인텔리제이 커뮤니티 버전을 설치합니다. 테마 선택 등 초기 설정을 진행합니다. 스프링부트 프로젝트 만들기 (인텔리제이 커뮤니티 버전) spring 더보기…

자바스크립트: TTS(Text-to-Speech) 라이브러리 없이

자바스크립트에서 TTS 기능을 사용하는 방법입니다. TTS(Text-to-Speech)는 텍스트를 음성 합성을 통해 컴퓨터가 읽어주는 것으로 트위치 영상등에 있는 음성 도네이션이 TTS 를 사용합니다. 음성합성으로 읽을 내용, 언어, 음성의 속도 높낮이 등을 <span class="pl-k">new</span><span> </span><span class="pl-v">SpeechSynthesisUtterance</span><span class="pl-kos">(</span>) 로 설정하고 재생은 speechSynthesis.speak()를 사용합니다. speechSynthesis는 window 객체 내에 있기 때문에 그냥 사용하면 됩니다. 재생중인 음성합성을 중지할때는 speechSynthesis.cancel()을 사용합니다. 더보기…

자바스크립트: 배열 Array.reduce

MDN 문서 바로가기 자바스크립트에서 배열의 reduce 기능은 배열을 순회하면서 누산기(accumulator)에 값을 계속 쌓아놓고 최종적으로 누산기의 값을 반환하는 reducer의 기능을 수행합니다. reducer의 사전적 의미와 매칭이 잘 안되는데 어떤 물질에서 원액(누산기의 값)만 추출한다는 의미로 생각하면 될 것 같습니다. 누산기의 값은 줄어들지 않으며 리턴식은 누산기에 합산됩니다. 그리고 마지막까지 순회한 후 최종적으로 누산기의 값만을 더보기…