Git Hub 이동
12.18
- git 병합 과정에서 충돌현상이 계속 발생하였는데 원인은 target 폴더의 .class파일이였음.
git hub에 저장된 target폴더를
$ git rm -r --cached project_403/target/ ' 명령어를 통해 제거한 후에 .gitgnore 파일에 target 폴더를 추가하였음.
- favorite DTO를 만들었음 PK가 없는 테이블임
PK는 유일해야하며, 수정되어선 안되는 컬럼이다. 또한 검색할 때 빠르게 찾을 수 있다.
favorite DTO에는 이러한 특성을 적용하기에는 부적합하다고 생각했기 때문에 PK를 제외하고 FK 2개만 지정하여 테이블을 만들었다.
- '코딩 문제' 한글 깨짐 현상 해결
문제없이 잘 작동하던 코딩 문제에 대해 출력값이 한글일 경우 문자가 깨져서 출력되는 인코딩 문제를 발견하고 오전부터 오류 수정을 시도하였음. 기존에 사용하던 JavaCompiler 객체는 소스를 컴파일할 뿐 실행 결과를 가져오지는 않는다는 사실을 코드를 분석하며 알았음. 실질적으로 결과값을 출력하던 객체는 Process 객체였으며 Process 객체를 통해 출력될 때 운영체제의 기본 인코딩 값으로 출력된다는 문제가 있었다. UTF-8로 인코딩하는 코드를 계속 추가하고 수정해보았으나 문제는 해결되지 않았음.
그러던 도중 컴파일러 기능을 지원하는 Janino 라이브러리를 찾았고 그 라이브러리를 활용한 코드로 전면 수정하여 문제를 해결하였음.