[DEV] 기록 165

[Virtualbox(버추얼박스)] The virtual machine has terminated unexpectedly during startup with exit code -1073741819

[개요] Elasticsearch를 학습하려고 강의처럼 virtualbox 내 가상머신을 실행하려는데 아래와 같은 에러가 발생했습니다. The virtual machine has terminated unexpectedly during startup with exit code -1073741819(0xc0000005) [해결방법] 검색을 해보면 다양한 해결방법이 있는데 저는 아래와 같은 방법을 적용했더니 해결할 수 있었습니다. 1. www.virtualbox.org/wiki/Downloads 에서 최신버전의 VirtualBox를 다운받습니다. 2. www.virtualbox.org/wiki/Downloads 에서 최신 Extension Pack을 다운로드 받고 VirtualBox를 관리자모드로 실행하고 [..

[DEV] 기록 2021.01.08

[Spring] MySQL 8.x++ 버전 public key retrieval is not allowed 에러

[개요] Spring 프로젝트를 실행하기 위해 서버를 가동하는데 아래와 같은 에러가 발생했습니다. Public Key Retrieval is not allowed 검색을 해보니 위 문제는 MySql 버전이 8.X 이상인 경우 발생한다고 합니다. [해결방법] jdbc url에 아래와 같은 문장을 추가해주면 해결이 됩니다. allowPublicKeyRetrieval=true&useSSL=false 예시를 들자면, 아래와 같습니다. jdbc:mysql://localhost:3306/web_customer_tracker?useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=UTC"

[DEV] 기록 2021.01.05

[SpringBoot] Intellij IDEA 빌드 시 Command line is too long. Shorten command line for 에러 발생

[개요] Intellij IDEA에서 SpringBoot 프로젝트 빌드 시 아래와 같은 에러메시지가 발생했습니다. Error running 'All in 프로젝트명': Command line is too long. Shorten command line for All in 프로젝트명 or also for JUnit default configuration. [해결 방법] 프로젝트 폴더 중 idea라는 폴더가 있는데 그 폴더 내 workspace.xml을 아래와 같이 수정하면 됩니다. ... {중략} ... {중략} {중략} ... 즉, PropertiesComponent 컴포넌트 밑에 라인을 추가하면 빌드가 성공적으로 됩니다. [출처] https://devis.cool/quick-fix/quickfix-in..

[DEV] 기록 2021.01.04

팀 개발을 위한 Git GitHub 시작하기 pg 170 '재배치 계속' 오류

[개요] '팀 개발을 위한 Git Github 시작하기' 실습 중 170 페이지에 재배치 계속을 진행할 때 아래와 같은 오류가 발생했습니다. [문제점] 다행히도 저자의 github issue로 동일한 에러가 발생한 개발자들이 올려줘서 문제 원인을 파악할 수 있었습니다. (github.com/Cat-Hanbit/README/issues/47) 문제의 원인은 소스트리 업데이트에 따른 윈도우 환경에서 생기는 소스트리의 버그라고 합니다. [해결 방법] 두 가지 해결방법이 있습니다. 첫 번째는, 소스트리의 터미널을 열어 아래와 같은 명령어를 입력하고 저장을 해주시면 됩니다. git rebase --continue 참고로 저장을 하기 위해서는 :wq를 입력해주시면 됩니다. 두 번째는, 충돌을 고친 후 새로운 커밋을..

[DEV] 기록 2021.01.03

Hibernate SQL 파라미터 값들을 로그에서 확인하는 방법

[개요] hibernate sql을 실행하는데 쿼리 파라미터 값이 보이지 않고 아래와 같이 '?'로 로그가 남았습니다. 굳이 워크벤치를 확인하지 않고 로그만 보더라도 값들이 잘 들어갔나 확인하기 위해 실제 파라미터 값들이 보였으면 해서 방법을 찾아봤습니다. [해결방법] 해결방법은 의외로 간단했습니다. log4j.properties 파일에 아래와 같이 작성을 해주면 됩니다. # Root logger option log4j.rootLogger=DEBUG, stdout # Redirect log messages to console log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.Target=System.out log4j...

[DEV] 기록 2021.01.02

[vue.js] Elements in iteration expect to have 'v-bind:key' directives

[개요] '개발 레시피'라는 유튜브 채널의 Todolist 강좌를 따라 개발을 진행하는 도중 v-for에서 아래와 같은 에러가 발생했습니다. Elements in iteration expect to have 'v-bind:key' directives 강좌에서는 vue CLI 버전이 3이어서 그런지 위와 같은 에러가 발생하지 않았지만 현재 버전은 4점대이기 때문에 에러가 발생합니다. [해결방법] v-for을 사용할 때, key 값을 설정해주면 에러는 깔끔하게 해결이 됩니다. 예를 들어, 아래와 같이 v-for을 사용할 때 배열의 각 항목을 담을 변수를 key 값으로 설정하면 됩니다. * key 값은 중복되지 않아야 합니다.

[DEV] 기록 2021.01.01

제 39회 SQLD 합격 후기

SQLD는 총 2과목이 있는데 아래와 같습니다. 1. 데이터 모델링의 이해 (20점) 2. SQL 기본 및 활용 (80점) 저는 컴퓨터공학과 전공자이기 때문에 전공 관련자를 기준으로 후기를 남기겠습니다. 문제 유형 총 50문제 (각 문제당 2점) 1과목: 객관식 10문제 2과목: 객관식 32문제 + 주관식 8문제 합격기준 우선, SQLD를 합격하기 위해서는 총점 60점 이상을 취득해야 하며, 각 과목 과락을 면하기 위해서는 과목 당 40% 이상을 취득해야 합니다. 1과목이 20점 밖에 되지 않기 때문에 2과목을 집중적으로 공부하시는 분들이 많이 계신데 오히려 1과목에서 과락을 면하지 못해 총점은 60점을 넘었지만 탈락하시는 분들도 적지 않다고 들었습니다. 개인적으로 SQL 기본 및 활용 파트는 데이터베이..

[DEV] 기록 2020.12.31

[SpringBoot] There is no PasswordEncoder mapped for the id "null"

[개요] Spring Security를 공부하면서 권한 설정 코드를 작성한 뒤 테스트를 하는데 아래와 같은 오류 메시지가 발생했습니다. 에러 발생 이유 Spring Security 버전 5 이상부터는 PasswordEncoder가 변경되었기 때문에 password 앞에 식별자 정보를 넣어야 하는데 식별자 정보를 넣지 않아 위와 같은 에러가 발생했습니다. [출처] stackoverflow.com/questions/49654143/spring-security-5-there-is-no-passwordencoder-mapped-for-the-id-null 해결 방법 password 형식을 "{noop}패스워드"와 같은 형식으로 생성해주면 위 문제는 해결이 됩니다. 즉, 비밀번호가 1111이라면 형식을 맞추기 위..

[DEV] 기록 2020.12.15

도로명주소 OpenApi Thymeleaf + SpringBoot 연동

[개요] 올해는 더 이상 프로젝트를 진행하지 않을 줄 알았는데 거짓말처럼 새로운 과제가 생겼습니다. 이번에는 지도 기반 프로젝트를 진행해야 하기 때문에 도로명주소 OpenApi를 연동했어야 하는데 검색해본 결과 저처럼 Thymeleaf와 SpringBoot 환경에서 연동한 게시물이 없는 것처럼 보여 간단한 샘플 코드를 공유하고자 합니다. (사실 사이트에서 제공하는 JSP 파일을 남들처럼 그대로 적용해도 되지만 현재 프로젝트 환경이 thymeleaf를 사용하는 환경이고 타임리프와 JSP를 동시에 사용하기 위해서는 환경설정을 손봐야했기 때문에 아래와 같이 코드를 작성했습니다.) 먼저, 도로명주소 OpenApi를 사용하기 위해서는 도로명주소 개발자센터로 가서 API를 신청해야합니다. API를 신청 완료하면 키..

[DEV] 기록 2020.12.02

SpringBoot) Redis namespace 변경하는 방법

개요 Redis에 세션을 별도의 namespace에 저장하려고 application.yml 에 spring.session.redis.namespace: {별도로 정의한 네임스페이스}와 같이 저장을 했지만 Default 네임스페이스에 저장을하는 오류가 발생했습니다. 문제점 문제는 Application.java에 @EnableRedisHttpSession 어노테이션을 선언할 때 redisNamespace를 별도로 정의해주지 않을 경우 디폴트 네임스페이스인 "spring:session"가 application.yml에 설정한 spring.session.redis.namespace을 덮어쓰는 특성이 있기 때문에 발생했습니다. 해결법 해결법은 앞서 문제점에서 언급한대로 @EnableRedisHttpSession ..

[DEV] 기록 2020.09.18