WEEK 14 TIL(6월17일 화요일)

Devkty·2025년 6월 17일

[목표]
My SQL을 연결해봅니다.
My SQL 테이블에 따라 로그인 가능하게 합니다.
형식을 좀 더 예쁘게 꾸밉니다.
회원가입 기능을 추가합니다.

10:00 ~ 10:40

재정비시간.

10:40 ~ 11:13

어제자 벨로그를 적었습니다.

11:13 ~ 12:00

H2를 마저 구현하고 My SQL을 구현해봅니다.

12:00 ~ 13:30

식사 및 잠

13:30 ~ 14:00

에픽게임즈 강의 시작전 잠시 노션 정리를 했다.

14:00 ~ 16:00

에픽게임즈 강의

해당 내용은 검열되었습니다! 정리되는데로 따로 포스팅하겠습니다.

16:00 ~ 17:00

팀원이 발표됨에 따라 반 내의 자리를 선정했습니다.

17:00 ~ 18:00

드디어! My SQL 을 연동 완료 했습니다. 연동 방식은 스프링 부트에서는 코드 몇가닥인데, 프로젝트 자체 문제가 있어서 시간이 좀 걸렸습니다. 작동을 확인했으니, 식사 후에 정리해보도록 하겠습니다.

18:00 ~ 19:30

식사 후에 잠을 자고 왔습니다.

19:30 ~ 20:30

아까전에 My SQL 해결한 내용을 글로 적어보았습니다.

H2에서 My SQL로 Spring Boot 연동하기

pom.xml

1. 기존의 H2 문법을 제거합니다.

<dependency>
		<groupId>com.h2database</groupId>
		<artifactId>h2</artifactId>
		<scope>runtime</scope>
</dependency>

2. My SQL 종속성을 추가합니다. (Maven 동기화 필요)

<dependency>
			<groupId>mysql</groupId>
			<artifactId>mysql-connector-java</artifactId>
</dependency>

application.properties

4. My SQL 연결을 위해서 기본적인 url, username, password 등을 설정합니다.

#comment-h2
#spring.datasource.url=jdbc:h2:mem:testdb

spring.datasource.url=jdbc:mysql://localhost:3306/todos
spring.datasource.username=todos-user
spring.datasource.password=dummytodos
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL8Dialect
spring.jpa.hibernate.ddl-auto=update

5. My SQL을 설치하고 엽니다. (본인은 My SQL Workbench 8.0 CE 사용)

My SQL이 설치되어 있어야합니다. My SQL을 접속하여 다음과 같이 DATABASE를 설정합니다.

  1. 위의 설정한 DB명에 따라 todos DB를 생성합니다.
  2. 유저명 todos-user, 비밀번호 dummytodos로 유저를 만듭니다.
  3. 해당 유저에 모든 권한을 부여합니다. (생성, 삭제, 수정 등)
  4. 재사용중인 MySQL의 캐시를 지우고 새로운 설정을 적용합니다.
  5. 확인 차 유저의 권한을 확인해봅니다.
  6. 이후 Spring 서버로 돌아가 실행하면 잘 작동함을 확인할 수 있습니다.
CREATE DATABASE todos;

CREATE USER 'todos-user'@'localhost' IDENTIFIED BY 'dummytodos';

GRANT ALL PRIVILEGES ON todos.* TO 'todos-user'@'localhost';

FLUSH PRIVILEGES;

SHOW GRANTS FOR 'todos-user'@'localhost';

[확인용] SQL에 정상적으로 추가되었는지 확인하기.

로그인을 하고, todos 리스트에 들어가서 값이 제대로 들어가는지 확인해봅니다. 화면에 잘 등록되었다면 My SQL workbench 로 돌아가 테이블의 컬럼값을 확인해봅니다.

use todos;

show tables;

show columns from todo;

SELECT * FROM todo;

SELECT description FROM todo;

SELECT description FROM username;

자세히보면 설명이 바뀌어 있습니다.

트러블 슈팅

맨처음에 SQL을 종속성 설정과 어플리케이션 속성을 설정하고 다음과 같이 main을 로드하지 못하는 문제가 있었습니다.

→ 백업해준 Spring 파일로 대체하여 열었고, 순차적으로 코드를 입력 후 Maven 동기화를 해보니 SQL이 존재하지 않는다는 오류 코드를 확인하였습니다. 그래서 위와 같이 My SQL을 설정하여 정상적으로 실행했습니다.

20:30 ~21:30

진행상황 (25-06-17, 20:30)

현재 완료: Spring, React, REST API, My SQL, JWT

  • 기능 요구사항
    • 회원가입/로그인
    • 게시물 작성
    • 게시물 목록보기
    • 게시물 읽기
    • 댓글 작성
  • 개발범위
    • 프론트: 게시판 UI를 구현
    • 백엔드: 게시판 Server API 구현
    • 추가적 구현 가능 (기술적 챌린지 요소)

REST API

위에서 서술하지 않았지만, REST API도 잘 작동중이다.

이제 차차 코드를 뜯어보면서 회원가입과 로그인을 구현하고 형편없는 폼들을 예쁘게 바꿔봅니다.

21:30 ~ 23:00

운동을 하고 왔습니다.

23:00 ~ 24:00

CSS와 jsx를 손보면서 프론트 엔드를 작업하고 있습니다. 로그인 파트는 어느정도 해결했습니다.

23:50 ~ 01:00

나만무팀 첫번째 회의

  1. 오늘 회의는 프로젝트 진행 방식으로 노션을 사용해서 프로젝트 진행도를 관리하고, 깃허브를 통해 현상관리를 진행키로 했다. 전에 썻던 프로젝트 노션을 보여주면서 설명했다.
  2. 내가 생각한 5가지 아이디어에 대해서 팀원분들한테 설명을 했습니다. 생각보다 반응이 좋아서 다행입니다.
  3. 아이디어 브레인 스토밍을 위해 금요일날 주제 발표를 위해 목요일까지 각자 아이디어 2개씩 구상하기로 했습니다.

01:00 ~ 02:30

프론트 엔드를 다듬고 있다. 여백이 많지만 볼만해진게 마음에 든다.

그리고 React라서 자동으로 크기 조절되는건 편하다.

모든 페이지의 한글화와 폼 리펙토링을 완료했다.

02:30 ~ 03:00

먼저 깃허브 팀 조직과 노션 팀원들을 초대하고, 회의록을 작성했다.

03:00 ~ 04:00

이젠 진짜 시놀로지 배포를 해보겠다.

도커로 올릴려고 했는데 생각보다 쉽지 않다. 4시이므로 자러 가보겠다.

왜냐하면 내일은 꼭 10시까지 와야하기 때문이다.

profile
모든걸 기록하며 성장하고 싶은 개발자입니다. 현재 크래프톤 정글 8기를 수료하고 구직활동 중입니다.

0개의 댓글