[WIL - 6월 3주차]

김동규·2023년 6월 18일
0

Spring 개인 과제

이번 한주는 Spring의 기초와 개인 과제 위주로 진행하였습니다.

Spring 이해

Spring을 하면서 이해되지 않는 부분이 많았다.

  1. RESTful 한 api의 설계를 스스로 하기에 개념 이해할 시간은 부족했다. (CRUD 기능만 있으면 되는건가?) 하고 생각했다.

  2. 새로운 개념들을 정확히 모르겠다.
    Controller의 역할, DTO 개념, Entity 개념, IoC Container, DI개념, 영속성 등...

  3. Spring 수업과 과제를 진행하면서 구현된 코드도 해석이 잘 되지 않았다. -> Java를 완전히 이해를 하지 못함

문제 발생 및 해결

Intellij에서 MY SQL 연결 문제 1

Spring 강의에서 Memo 프로젝트를 만들면서 전날 잘 연결되었던 memo의 database가 비밀번호 에러가 뜨면서 연동이 안되었다.


application.properties에도 내용들은 문제가 없었다. url, username, password까지

해결 과정

결론만 말하면 문제를 해결하진 못했다. 그 이유는 다음과 같다.
1. MY SQL실행하여 접속할 때 root의 비밀번호를 입력할때 정상적으로 로그인 되었음
2. application.properties도 문제가 없었음
3. 구글링하여 다양한 방법 시도 -> 이 과정에서 root를 삭제하게 되었고 이는 더 꼬이게 만들었다.
4. 튜터님께 MY SQL이 더 꼬이게 되어서 연결은 커녕 어디서부터 문제가 된건지 모르겠다 말씀드리자, 이 경우는 삭제 후 재설치 하는게 좋을 것 같다 하여 삭제 후 재설치 진행하였고 sql에 memo 데이터베이스 생성 후 재연결하였다.

MY SQL 연결 문제 2

Intellij에서 MY SQL 연결 문제 2

1번과 비슷한 에러가 발생하였고, 전날 mysql의 데이터베이스 blog랑 연결은 문제가 없었다.
에러를 읽어보니 비밀번호가 잘못 입력되었다는 것 같았다.

해결과정

  1. MY SQL에 접속해보았다. cmd -> mysql -u root -p 하여 비밀번호 입력했으나 정상 로그인 되었다.
  2. application.properties에 가보니까 이유는 모르겠으나 password에 {} 중괄호가 있었고 이를 제거하자 정상적으로 컴파일 되었다.

Springboot 컴파일 에러

title과 password가 null값이 나와서 에러가 뜨는 경우였다.

해결과정

  1. 구글링을 하여 not null인데 null값이 들어가서 뜨는 컴파일 에러임을 알게 되었다.
  2. 인텔리제이에서 blog 테이블을 생성할때 작성한 QueryConsole에 들어가서 title과 password의 not null을 지우고 테이블을 재생성하고 컴파일하자 에러가 뜨지 않게 되었다.

과제 Git 으로 Commit & Push 진행하기

git으로 1차 java과제 때 튜터님의 도움으로 겨우 올렸는데, 이번에 Spring 과제를 진행하면서 스스로 Git Commit과 Push를 진행하였다.

진행 과정

https://velog.io/@gooriiie/Github-Github%EC%97%90-%EC%BD%94%EB%93%9C-%EC%98%AC%EB%A6%AC%EA%B8%B0

먼저 담임 매니저님께서 알려주신 velog주소를 토대로 따라하였다.

git bash에서 git pull origin main을 입력하자 refusing to merge 에러가 났다.

https://somjang.tistory.com/entry/Git-fatal-refusing-to-merge-unrelated-histories-%ED%95%B4%EA%B2%B0-%EB%B0%A9%EB%B2%95
구글링하여 해당 블로그에서 방법을 찾게 되었다.

해당 값을 입력하자 커밋메세지 입력하는 창이 나왔다. insert누른 후 커밋메세지 작성 후 esc후 :wq 입력하여 커밋 메세지 창을 닫는다.

git push -u origin main를 입력하고 Github를 확인하자 정상적으로 푸쉬되었다.

과제 하면서 배운 점들

  1. mySQL 관련하여 발생하는 에러 해결은 많이 해봐서 조금 익숙해졌다.
  2. Spring이 Java를 기반으로 한다는 점을 알 수 있었다. -> java를 이해하지 못했기에 Spring을 진행하면서 코드를 작성하는데 어떻게 구현이 되는지 이해가 잘 되지 않았다.
  3. Git을 조금은 할줄 알게 되었다.

추가적인 학습 예정

  1. Java 학습
    Java의 중요성을 알게 되었다. Spring 개념도 개념이지만, 당장 Java의 객체지향적인 코드를 이해하질 못하고 있다. Java의 기초를 시간 날때마다 해놓을 예정이다.

  2. Spring 개념 이해
    Spring의 경우 Java도 그렇지만, 이번 1주일 동안 정말 많은 내용의 개념을 진행했다 (사실 진행만 되었지 이해하기엔 턱없이 시간이 부족했다.) 강의를 따라하고 과제도 강의를 보면서 따라서 구현하여 제출했지만, 전체 중에 한 30~40% 정도 이해하면서 코드를 구현했기에 보강이 필요하다.

profile
안녕하세요~

0개의 댓글