Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

mySql JUnit 테스트 class를 만들어서 테스트 중 해당 에러 발생.

jdbc 드라이버는 2가지 종류.

1. com.mysql.jdbc.Driver
2. com.mysql.cj.jdbc.Driver

1번은 deprecated이므로 2번을 써야함.

Posted by 知彼知己百戰不殆
,

기존 git 소스 추가 후 project import 시 clone 후 바로 import로 추가하였다.

(실수1) clone 후 import 프로젝트
(뻘짓1) Gradle 설정

스프링부트 실행 시 Error occurred during initialization of boot layer
java.lang.LayerInstantiationException: Package jdk.internal.jimage.decompressor in both module jrt.fs and module java.base 오류 발생.

구글링 하니 spring 프로젝트는 clone 후 import 하는 방법이 조금은 달랐다.

빨간 표시의 Directory 경로를 잘 기억해야한다.

git Clone 확인 후

오른쪽 상단의 package Explorer을 눌러준다.

package Explorer로 돌아왔으면 File -> Import 클릭.

Gradle -> Existing Gradle Project 선택

소스가 있는 폴더 선택

Project root Directory를 clone경로의 소스 폴더랑 똑같이 맞춰준다.

Spring Boot App 구동 창이 나왔다.

Spring Boot 구동 성공

Posted by 知彼知己百戰不殆
,

Scanner객체에서 입력을 받기도 전에 입력한게 없다는 오류가 떨어지며 프로그램 종료. 혹시 개행 문자가 남은 건 아닐까 해서 봤지만 제일 위에 Scanner객체를 새로 생성 후 처음으로 받는 readLine()이었다.

Scanner 사용 시 NoSuchElementException 오류.
이해가 안 가 구글링.

답은 sc.close()

해당 class에는 없었지만 이 class를 호출하는 다른 class에서 이미 close를 해버려서 stream을 닫아버렸으므로 다시 stream은 열리지 않음.

예전에 공부할 땐 언뜻 스쳐지나갔는데, 오늘 다시 검색해본 김에 정리.

 

Posted by 知彼知己百戰不殆
,

노트북에서 개발하던 토이 프로젝트를 집에 있을 땐 컴퓨터에서 개발하고 싶어 git에 추가하였다. clone을 해도 gradle 프로젝트로 인식을 못하는지 gradle이 나오질 않았고, 구글링을 해보았다.

Detect and configure project natures 체크 해제!!

검색해보니 Detect and configure project natures를 체크 해제!! 해야 했다. 그리고 project import 후

프로젝트에 마우스 우클릭 후 Configure -> Add Gradle Nature 클릭.

그리고 프로젝트 마우스 우클릭 후 Refresh Gradle 선택

Posted by 知彼知己百戰不殆
,

현재 실무 시스템의 테스트가 너무 불편하여 Junit4를 실행하려고 했다.
하지만 기나긴 삽질 끝에 얻은 결론.
정상적인 spring 시스템이라고 해도 dependency에 spring-test를 넣어줘야 한다.
하지만 현 개발횐경에서는 dependency를 추가 못하게 막아놨으므로 사용불가.

Posted by 知彼知己百戰不殆
,

'언어 > 알고리즘' 카테고리의 다른 글

Arrays.binarySearch 함수  (0) 2020.09.12
Posted by 知彼知己百戰不殆
,

Not_Supported : 새로운 트랜잭션 생성, 부모 트랜잭션이 오류가 나서 롤백돼도 새로운 트랜잭션은 롤백 안 됨

New_Requires : 새로운 트랜잭션 생성, 부모 트랜잭션의 영향이 있음 
                          부모 트랜잭션 에러 발생 시 새로 만들어진 트랜잭션 roll back
                          기존 트랜잭션 잠시 보류하고 새로운 트랜잭션 진행, 그리고 기존 트랜잭션 진행

 

Posted by 知彼知己百戰不殆
,

1. Mac CPU 부하 테스트
terminal -> yes 입력 후 Enter -> terminal 창에 y가 무한 출력(출력이 보기 싫다면 yes >/dev/null)
terminal을 여러개 켜서 실행하면 금방 CPU팬 소리가 남.

2. Mac RAM 부하 테스트
memtest 패키지 설치 후 진행.

3. Mac 하드디스크 부하 테스트
Blackmagic Disk Speed Test 앱을 설치 후 진행.

출처: www.mactricksandtips.com/2013/05/how-to-stress-test-your-mac-cpu-ram-and-disk.html

 

How To Stress Test Your Mac – CPU, RAM And Disk | Mac Tricks And Tips

Hey, Stress testing your Mac is a useful way to work out if it is performing to its best and to determine if there are any faults within the various components. Stress testing your Mac is also a useful way to determine if you Mac has a fault if it is using

www.mactricksandtips.com

'OS > Mac OS' 카테고리의 다른 글

[오류] Spring Tool Suite4 Lombok 설치  (0) 2023.04.29
SpringToolSuite4 can't be opened 오류  (0) 2023.03.27
Eclipse for mac OS Catalina  (0) 2019.12.02
MACOS Sieera able to Unidentified Apps  (0) 2018.01.22
Oralcle DB 설치  (0) 2017.09.05
Posted by 知彼知己百戰不殆
,

"사용하기 전에 반드시 인자로 사용되는 배열을 sort 할 것"

탐욕법(Greedy) 문제를 풀다가 배열에 원하는 값이 들어있는지 확인하기 위해

Arrays.binarySearch 함수를 사용하였다. API설명은 제대로 보질 않고 indexOf와 같은 건 줄 알았다.

그러나 계속 테스트케이스에서 걸렸고, 다른 사람 코드를 봤는데 나랑 다를 바가 없어서 정말 이해가 안 됐다.

그래서 조건을 이것저것 바꿔보며 한 줄 한 줄 무식하게 디버깅을 시작했다. 

그런데 당연히 잘 돌아갈거라고 예상했던 binarySearch에서 예상과 다른 결과를 return했었다.

그래서 구글링을 한 결과 binarySearch 전에는 반드시 sort 해놔야 함. 그래서 API 설명을 봤는데 두 번째 줄에 그대로 적혀 있었음... 그리고 그럼 나랑 정말 비슷하게 짠 다른 사람 코드는 어떻게 돌아간거지 하고 다시 봤더니 Arrays.sort로 미리 해놓고 진행했음.

오늘의 결론
1. 아는 만큼 보인다
2. 소스는 거짓말하지 않는다
3. 보고 싶은대로 본다

'언어 > 알고리즘' 카테고리의 다른 글

Java Sort Collection  (0) 2021.03.15
Posted by 知彼知己百戰不殆
,

Java 11
·String name = "dlsfjkd"; 이런 것처럼 명시적으로 타입이 string인 경우, var name = "dfjlsjl"; 이렇게 var를 사용하여 코딩이 가능하다.

Java 7
·try-catch-Resource 추가

Posted by 知彼知己百戰不殆
,