전체 글

🚨ERROR🚨

Windows 11 PostgreSQL 설치 오류

PostgreSQL을 공부하기 위해 공식 홈페이지에서 설치파일을 다운받았지만 모든 버전의 설치파일이 아래와 같은 메시지를 띄우며 실행되지 못했다. There has been an error. The environment variable COMSPEC does not seem to point to the cmd.exe or there is a trailing semicolon present. Please fix this variable and restart installation. COMSPEC 값을 C:\WINDOWS\system32\cmd.exe로 설정하고 관리자 권한으로 실행해도 똑같은 오류가 발생했다. 오류 메시지로 검색하지 않고 그냥 PostgreSQL 설치 오류로 검색해서 나오는 방법을 따라해보..

🌿With Spring/Jasypt

Springboot 3에서 Jasypt 3.0.5 사용하기

의존성 추가 implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5' Config 추가 @Configuration public class JasyptConfig { @Bean public StringEncryptor stringEncryptor() { PooledPBEStringEncryptor encryptor = new PooledPBEStringEncryptor(); SimpleStringPBEConfig config = new SimpleStringPBEConfig(); config.setPassword(System.getenv("JASYPT_ENCRYPTOR_KEY")); config.setPoolSize("1"); c..

🚨ERROR🚨

page 2 of 1 containing unknown instances

JpaRepository를 상속받은 BuddyRepository를 이용해 Page를 리턴하는 메서드를 구현할 때 만난 에러(??)이다. 코드 // Controller @GetMapping("/buddy") public ResponseEntity getBuddies( @AuthenticationPrincipal UserDetailsImpl userDetails, @PageableDefault(page = 1, size = 5, sort = "createdAt", direction = Sort.Direction.DESC) Pageable pageable) { return ResponseEntity.ok(buddyService.getBuddies(userDetails, pageable)); } // Servi..

🌿With Spring/JPA

한 엔티티의 PK를 2개의 FK로 가지는 클래스

신고 테이블은 필드로 두 개의 User 클래스를 가진다. - JoinColumn의 옵션 중 referencedColumnName을 생략하면 부모테이블의 PK와 자동으로 매핑됨 - name 옵션을 사용하면 매핑할 외래키 이름을 정해줄 수 있음

🚨ERROR🚨

please remove commons-logging.jar from classpath in order to avoid potential conflicts

Standard Commons Logging discovery in action with spring-jcl: please remove commons-logging.jar from classpath in order to avoid potential conflicts 오늘 만난 에러는 위와 같다. redis의 pub/sub 기능을 테스트하기 위해 embedded-redis를 dependencies에 아래와 같이 추가했을 때 만난 에러다. implementation group: 'it.ozimov', name: 'embedded-redis', version: '0.7.3' 내용을 대충 읽어보면 commons-logging.jar를 지우라고 한다. 나는 추가해준 적도 없는 라이브러리인데 삭제하라길래 뭔가 싶었..

🚨ERROR🚨

WARNING: UNPROTECTED PRIVATE KEY FILE! / your private key files are NOT accessible by others.

EC2 인스턴스를 생성 후 ssh 프로토콜로 연결하려고 키파일(.pem)을 저장했다. 키파일의 권한을 수정했다.(chmod 400 ~~~~.pem) 제목과 같은 에러가 떠서 권한을 확인해보니 여전히 777이였다. 어떻게 권한을 바꿀지 찾아보니 윈도우는 cmd로 아래 명령어를 입력하라 했다.(인스턴스 접속하는 터미널은 wsl2 사용중) icacls.exe ~.pem /reset icacls.exe ~.pem /grant:r %username%:(R) icacls.exe ~.pem /inheritance:r 순서대로 입력하고 다시 권한을 확인했지만 400은 되지 못했다. (pem 파일의 위치를 옮기다가 복사가 돼서 하나를 지우려 했는데 권한이 없어서 지울 수 없다는 메시지가 떴다. 내가 받고 내가 수정한 파..

☕Java

String.valueOf() vs +"" (빈문자열로 concat)

https://school.programmers.co.kr/learn/courses/30/lessons/81301 프로그래머스에서 문제를 풀다가 String.valueOf()를 써서 문자열을 이을 때와 +""를 써서 문자열을 이을 때 실행시간이 꽤 많이 차이나는 것을 발견했다(나말고 다른 팀원이 발견함ㅎ). 다른 코드를 제외하고 딱 문자열을 잇는 부분만 바꿨는데 시간차이가 많이나길래 왜그런가 싶어서 이것저것 찾아봤다. 아래의 글을 가장 먼저 확인했다. https://stackoverflow.com/questions/7752347/string-valueof-vs-concatenation-with-empty-string String valueOf vs concatenation with empty string..

🚨ERROR🚨

WslRegisterDistribution failed with error

Installing, this may take a few minutes... WslRegisterDistribution failed with error: 0x80370102 Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS. For information please visit https://aka.ms/enablevirtualization Press any key to continue... 어제까지 잘 되던 ubuntu가 갑자기 관련파일이 없어서 실행 안된다 어쩌구저쩌구 하면서 작동이 안된다..!! 검색해도 딱히 해결되는게 없어서 이럴 땐 재설치 하는게 답이라고 ..

💿DB

강의로 SQL 기초 복습하기~!

실습환경 DBeaver 설치 후 mysql과 연결 후 강의에서 제공하는 인증계정을 통해 실습 진행 기초 문법 show tables; => 현재 DB에 있는 table의 목록을 보여준다. select [필드명 or *] from [테이블명]; => 테이블 에서 필드명(or 모든 필드) 에 해당하는 데이터들을 가져온다. select [필드명] from [테이블명] where [조건] => 테이블 에서 필드명에 해당하는 데이터 중에서 조건에 맞는 데이터들을 가져온다. --users 테이블에서 point 필드가 10000이 넘은 모든 데이터 select * from users where point > 10000; --subjects 테이블에서 title의 필드 중 수학이 아닌 모든 데이터 select * fro..

🧶Problem Solving

BOJ 1927번: 최소 힙

문제 https://www.acmicpc.net/problem/1927 1927번: 최소 힙 첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0 www.acmicpc.net 풀이 힙을 이용해야 하는 문제이다. Java에서 제공하는 클래스 중 PriorityQueue라는 힙으로 구현된 클래스가 있다. 얘를 쓰면 되겠다! FIFO나 LIFO구조가 아닌, 우선순위가 높은 데이터가 먼저 나가게 되는 구조이다. PriorityQueue의 기본설정은 작은 값이 우선순위가 높아서 추가적인 메소드가 필요 없지만, 우선순위를 큰 값으로 바꾸려면 Compara..

코딩베이비
코베의 코딩탐험대작전