이번 주 목요일까지 주특기 스프링 심화주차였다. 심화주차에서는 spring security를 적용하는 것이었는데 아직도 배울게 많긴 하지만 그래도 어느정도 security가 돌아가는 과정을 이해한 것 같다. security를 적용하고 나니 코드도 훨~씬 깔끔해져서 기부니가 좋았다.
그리고 금요일 오전에 주특기 미니 프로젝트 발제를 했다. 드디어! 프론트와 백의 첫 협업인 것이다. 기획부터 와이어프레임, API설계, 노션 작성, 1주일 일정짜기, api 분배하기 등등 할 일이 많았지만 어찌어찌 잘 끝마치고 지금은 기능 구현을 하고 있다. 스코프를 1차구현, 2차구현으로 나눴는데 일단 일요일 기준으로 백엔드쪽은 서버 배포까지 끝난 상태이다. 현재 프론트엔드쪽도 절반정도는 끝마친 것으로 알고 있다. 1차구현까지는 무난하게 끝마칠 수 있을 것 같다 :)
중간에 프론트와 서버를 연결할 때 여러가지 트러블 슈팅이 있었지만 잘 해결해 나가고 있는 것 같다. (TIL 참고!)
1. ORM(Object-Relational Mapping)
- 서버의 프로그래밍 언어와 DB 언어 중간에서 통역사 역할을 해 준다!
- Object: "객체"지향 언어 (자바, 파이썬)
- Relational: "관계형" 데이터베이스 (H2, MySQL)
- ORM은 개발자가 직접 SQL 쿼리를 사용하는 대신 객체지향 접근 방식으로 데이터 베이스에 접근한다.
- Hibernate가 ORM 프레임워크 중 하나이다.
2. SQL
프로젝트 협업을 하면서 기존 h2 database로 데이터를 저장하고 조회하던 방식을 다른 방식으로 바꾸었다.
aws의 cloud 데이터베이스 RDS의 MySQL를 사용했다.
RDS 구매 및 데이터베이스 생성 -> 로컬 데이터베이스에 연결 -> 기존 h2 데이터베이스를 mysql로 바꾸기 -> EC2 서버 구매 -> EC2 서버 연결 및 jar 파일 업로드 -> 서버에서 jar파일 실행