[DEV] 기록 170

[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

Eclipse) The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path

이클립스에서 개발하는 도중 아래와 같은 에러 메시지가 발생했습니다. The superclass "javax.servlet.http.HttpServlet" was not found on the Java Build Path 해결방법은 간단합니다. 1. 프로젝트 우클릭 -> properties 클릭 2. Project Facets -> Java -> Runtime 3. 자신이 사용하는 Apache Tomcat 버전 체크 -> Apply and Close 4. 해결!

[DEV] 기록 2020.09.16

크롬 브라우저 HSTS 제거하는 방법

개발망에서 https 프로토콜이 아닌 http 프로토콜로 테스트를 해야하는데 hsts(HTTP Strict Transport Security)가 적용되어 디폴트로 url 스키마가 https가 되는 문제가 발생했습니다. 저는 이 문제점을 해결하기 위해 chrome hsts 설정을 접근하여 해당 개발망 url에 대한 hsts 적용 해제를 했습니다. 방법은 아래와 같습니다. 1. chrome://net-internals/#hsts 에 접속해주세요. 2. Query HSTS/PKP domain 메뉴에서 도메인을 조회하여 HSTS가 적용되었는지 확인을 합니다. 3. Delete domain security policies 메뉴에서 도메인을 입력하여 HSTS 적용 해제를 진행합니다. 4. Query HSTS/PKP..

[DEV] 기록 2020.09.15

Eclipse ctrl + space 자동완성이 안 될 경우

보통 Eclipse에서 개발을 할 때 ctrl + space를 눌러 자동완성을 하는데 No default proposals라는 문구가 뜨면서 자동완성이 안되는 경우가 있습니다. 이런 경우에는 아래와 같이 해결을 하면 됩니다. 메뉴 상단에 Windows > Preferences > Java > Editor > Content Assist > Advanced 순으로 들어가 아래와 같이 default proposal kinds를 추가해주면 됩니다. [출처] stackoverflow.com/questions/908489/eclipse-java-code-completion-not-working

[DEV] 기록 2020.09.10

Tomcat에서 jsessionid가 URL에 붙는 것을 방지하는 설정

[개요] 웹 서비스를 개발하는 도중 redirect를 할 때 [리다이렉트한 URL;jsessionid=XXX]와 같이 url 뒤에 jsessionid가 붙는 경우가 있어 이를 방지하는 방법을 공유합니니다. [문제의 원인] 브라우저에서 쿠키를 사용할 수 없거나 쿠키가 없는 경우 URL이 인코딩될 때, jsessionid가 URL에 추가됩니다. 또한, 쿠키가 활성화된 경우에도 URL이 인코딩되는 경우 Java 애플리케이션은 첫 번째 요청에 대한 모든 URL에 jsessionid를 추가됩니다. 이는 첫 번째 요청을 보낼 때 서버가 브라우저에서 쿠키가 사용 가능한지 여부를 모르기 때문에 발생합니다. [문제 해결 방법] 해당 문제는 리다이렉트를 하는 과정에서 URL을 다시 작성 즉, URL rewriting을 하..

[DEV] 기록 2020.09.08