ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • PJT 2. TO-DO LIST 구현 하기 (1일차)
    기타/프로젝트 2021. 6. 10. 21:57

    오늘은 저번주에 이어 부스트코스에서 2번째로 진행하는 TO-DO LIST 구현 하기 프로젝트를 시작했다.

     

    아마 부스트코스 웹 풀스택과정을 듣고있는 사람이나 들었던 사람은 느꼈을텐데 첫번째 프로젝트보다 난이도가 갑자기 상승했다....

    솔직히 강의는 저번주에 끝냈는데 프로젝트 기획서를 보고서 이걸 어떻게 하지?, 난 진짜 프로그래밍은 좋아하는데 재능이 없는 걸까? 등 많은 생각이 오고갔다.

    그래도 꼭 만들고 싶고 포기하고 싶지 않은 마음에 다시 강의를 꼼꼼히 듣고 모르는 것은 찾아보면서 프로젝트를 오늘 시자했다.

     

    일단, 오늘 진행한 것은 많지는 않지만 굉장히 시간이 오래걸렸다.

    알 수 없는 오류도 나오고 부스트코스 촬영이 진행됐을 때의 JDK, Mysql, Mysql connection 등 버전과 지금 버전과는 많이 다르기에 최적화를 진행하는 것에 집중해야했다.

     

    일단은 웹 프로젝트에서 필요한 db와 테이블을 만들었다.

    db와 테이블을 만드는 것은 어렵지 않게 진행했다.

     

    이후가 문제였다..

    기획서를 통해 받은 미션 중 일부는 테이블에 정보 한 건을 담을 수 있는 TodoDto 클래스와 테이블에 입력, 수정, 조회하는 TodoDao클래스를 만드는 것이다.

    클래스에 쓰일 변수나 메서드명을 만들어 주어 어떠한 내용이 들어가야하는지는 어느정도 파악했다.

    먼저, TodoDto클래스는 문제없이 완성했고 TodoDao클래스에서 테이블의 데이터를 조회하는 메서드를 만들기 시작했다.

    어떠한 조건에 의해 select하는 것이 아닌 테이블의 모든 데이터를 select해서 list로 담는 것이기 때문에 시간이 조금 걸렸다.

    그래도 문제없이 완성했다고 생각했다.

    이제 데이터베이스에 잘 connection되서 데이터를 불러오는지 테스트코드를 구현해보았다.

    import java.util.List;
    
    import kr.or.boostcourse.WebProject2.dao.TodoDao;
    import kr.or.boostcourse.WebProject2.dto.TodoDto;
    
    public class jdbcExam {
    
    	public static void main(String[] args) {
    		TodoDao dao = new TodoDao();
    		
    		List<TodoDto> list = dao.getTodos();
    		
    		for(TodoDto todo: list) {
    			System.out.println(todo);
    		}
    
    	}
    
    }

    하지만, 아래와 같은 에러가 발생했다....

    오류명: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)

     

    일단은 구글링을 통해 발생한 에러가 무슨의미인지 찾아보았다.

    https://www.lesstif.com/system-admin/java-sslhandshakeexception-29590407.html

     

    Java 의 SSLHandshakeException 문제 해결

    서버가 TLS 1.2 만 사용하는 경우 JDK 1.8 부터 TLS 1.2 가 기본이므로 예전 JDK 를 사용하는 클라이언트는 위 예외가 발생함.

    www.lesstif.com

    위 글을 보며 서버가 TLS 1.2 만 사용하는 경우 JDK 1.8 부터 TLS 1.2 가 기본이므로 예전 JDK 를 사용하는 클라이언트는 위 예외가 발생한다는 것을 알게 되었다.

     

    그리고 stackoverflow에서 나와 같은 현상을 겪고 있는 사람이 질문을 올리고 답변이 달린 것을 보았다.

    대충 요약하면 java.security파일을 수정하라는 것이다.

    하지만 java.security를 수정하려고 했지만 왠지 모르겠지만 저장이 안되었고

    그래서 java.security를 수정하는 법을 찾아봤지만 도저히 알아 들을 수도 없고 명확한 방법이 보이지가 않았다.

     

    정말 몇 시간동안 찾아보다가 드디어 깨달았다.!!!!

    사실 요류를 찾아볼 때부터 알아차렸어야했는데 내가 받은 오류는 위에서 설명되어있지만 1.8이전 버전의 JDK를 사용하여 TLS버전이 맞지않아 발생한다고 되어있다.

    그런데 나는 JDK 1.8버전을 사용하고 있으므로 이 경우가 해당되지 않는다.

     

    그래서 무엇이 문제인지 알아 본 결과, 부스트코스에서 가르쳐준 dburl과 pom.xml에 설정한 mysql connector 버전이 맞지 않은 것이였다.!!

     

    정확히 말하자면, 부스트코스에서 강의를 찍을 때에는 mysql 버전이 5.xx였고 내가 설치한 mysql 버전은 8.xx이다.

    mysql부터 버전차이가 심하게 나므로 5버전에서 쓴 코드를 8버전에서 쓰려니 오류가 난 것이다.

     

    다행히 포기하지 않고 계속해서 찾아봐서 문제를 해결해서 너무 기뻤다.

    솔직히 너무 힘들고 부족한 시간은 계속해서 흘러가서 괴로웠지만 이것을 해결못하면 다른 것은 못한다는 생각으로 계속 붙잡았던 것이 결국에는 도움이 됐다.

     

    이제 남은 요구사항을 만족해서 프로젝트를 완생했으면 좋겠다.

    댓글

Designed by Tistory.