지난 주까지 멀쩡하게 쓰던 github가 갑자기 오류를 내며 push가 되지 않았다. 이래저래 알아보니 21.08.13 (금)부터  ID/PW 방식에서 personal access token방식으로 변경이 되었다고 한다.

토큰 인증 방법 순서

프로필 클릭 후 Settings 클릭 -> 왼쪽 메뉴의 Developer settings 클릭 

Personal access tokens 클릭 -> Generate new token 선택

자기가 사용할 토큰 권한에 맞게 셋팅.

토큰 발행완료.
발행된 토큰은 생성 후 복사해놓고 다른데 저장해놔야 함.

참고 블로그 : https://curryyou.tistory.com/344 

이제 github 키를 만들었으니 STS(이클립스) 에 적용하는 법은 다음과 같다.

이클립스의 window - preference

General - Security - Secure Storage 까지 들어와서
contents탭의 GIT을 선택한다. 그럼 현재 내 GITHUB ID/PW가 저장돼 있다. 그럼 Delete를 눌러 과감하게 삭제 후 자동 restart됨.

이클립스 재부팅 후 push를 하려고 하면 ID/PW를 입력하라고 나오는데 이 때 PW에다가 아까 생성한 key를 넣어주면 된다.

Posted by 知彼知己百戰不殆
,

오류 1. 한글 깨짐 현상
제목, 내용에 한글을 입력하고 index페이지를 호출해봤으나 한글이 <?>이런식으로 모두 깨져서 알아볼 수 없게 출력.
구글링 했더니 모두들 charset을 UTF-8로 지정하면 된다는 말만 가득. 그러다가 어느 블로그를 봤더니 전체 파일 encoding을 UTF-8로 지정하라는 글을 봄. 

파일의 encoding을 UTF-8로 지정하니 잘 나왔다.

오류 2. 언젠간....

Posted by 知彼知己百戰不殆
,

오류 1. expected at least 1 bean which qualifies as autowire candidate
오류 2. No qualifying bean of type 'openDart.Service.FileCorpCodeIf' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
오류 3. Error creating bean with name 'getApiController': Unsatisfied dependency expressed through field 'fileCorpCodeIf'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'openDart.Service.FileCorpCodeIf' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}

모든 Junit 케이스에서 에러가 발생해서 멘붕.

하나씩 차근차근 확인해봤으나 Bean설정도 잘 돼 있었고 원인이 뭔지 몰랐다. 그러나 추후 파일처리를 하기 위해 process 클래스와 패키지를 만든 적이 있는데 여기에 Component 어노테이션을 추가해놓고 내용물이 없었다. 그래서 해당 패키지를 모두 제거하고 다시 실행.
그러나 또 오류가 발생하여 내가 설정이 잘못되었구나 생각하고 소스는 안 보고 설정쪽을 다시 확인하였다. 결국 Service쪽에 패키지 경로가 잘못된 것을 확인하여 수정.

기본 패키지 경로.service 로 지정해야 하나 기본패키지 경로를 무시하고 {이상한경로}.service로 지정해놨었다. 

Posted by 知彼知己百戰不殆
,

1. 행라인 번호 보이게 하기
도구 - 환경설정 - 코드편집기 - 행 여백 - 행 번호 표시 체크

2. sql 히스토리
F8

3. 단축키 변경
도구 - 환경설정 - 단축키 에서 변경 가능

Posted by 知彼知己百戰不殆
,

-Xms2048m : 이클립스가 사용하는 최소 heap 메모리
-Xmx2048m : 이클립스가 사용하는 최대 heap 메모리

최소/최대 heap 메모리를 같은 값으로 설정하면 heap 메모리 변경이 없어서 속도 향상

Posted by 知彼知己百戰不殆
,

1. Getter, Setter 어노테이션 사용을 했으나, 소스에서 getter오류가 날 때

롬복을 library에 넣어서만 되는게 아니라 설치를 해야 오류가 나지 않는다.
cmd창을 이용해 lombok jar파일이 있는 위치로 이동한다.

java -jar 파일명을 이용하여 jar파일 실행 후 IDE 재기동.

IDE 셋팅

STS에서 help → Install new software → https://projectlombok.org/p2 입력 → Lombok 설치파일 설치

Posted by 知彼知己百戰不殆
,

MySql jar파일 다운

해당 사이트에서 Platform Independent 로 다운 받으면 됨.

https://dev.mysql.com/downloads/connector/j/

 

MySQL :: Download Connector/J

MySQL Connector/J 8.0 is highly recommended for use with MySQL Server 8.0, 5.7 and 5.6. Please upgrade to MySQL Connector/J 8.0.

dev.mysql.com

jar파일 다운로드 후 

sqlDeveloper 실행 폴더 내의 jdk폴더에 jar파일을 옮겨준다.

C:\Users\willi\Downloads\sqldeveloper\jdbc\lib

Posted by 知彼知己百戰不殆
,

RestController 클래스를 만들고 어노테이션을 @RestController로 입력. 그러나 빨간줄로 restcontroller is not an annotation type 오류가 나며 해당 오류 내용이 나오며 import로는 불가능하고 @org.springFramework.~~ 형태로 어노테이션을 작성해야 했다.

뭔가 이상해서 구글링을 해보니 어노테이션 안의 RestController 클래스와 충돌이 발생해서 그렇다는 내용 확인.

그래서 Class이름을 RestApiController로 변경 후 에러 잡음.

 

Posted by 知彼知己百戰不殆
,

cmd창에서 mysql -u root -p 입력 시 'mysql'은(는) 내부 또는 외부 명령, 실행할 수 있는 프로그램, 또는
배치 파일이 아닙니다. 오류발생.

구글링을 통해 검색해본 결과 시스템 환경변수 path에 경로가 없어서 그렇다는 내용 확인.

path에 C:\Program Files\MySQL\MySQL Server 8.0\bin 추가

cmd접속 시도 결과 : 성공

Posted by 知彼知己百戰不殆
,

JUnit 테스트 모듈에서는 DB가 잘 붙었는데 was만 올리면 DB logon denied가 나왔다.

며칠 고생해서 원인을 찾았다.

원인 : application.properties에 username=이름 이라고 써야 되는데 username==이름 으로 잘못 적었다.

validation기능이 없으므로 잘못된 줄 몰랐고 DataSource에서 bean생성 시 System.out.println으로 로그를 찍어보니 =이름으로 들어가고 있었다... 로그를 찍어놓고도 =을 내가 붙인건 줄 알고 몰랐다..

Posted by 知彼知己百戰不殆
,