시놀로지가 죽고 원래 시놀로지에 깔려있던 MariaDB가 날라갔어요 흑흑
모든 설정이 날라가서... DB로 작동하던 모든 프로젝트들이 일단 죽었어요.
뭐 대부분의 프로젝트는 스파게티 코드라서 다시 보기도 어렵고 한데,
제가 어느 수준 이상에서 작업했던 프로젝트들은 어느 정도 정리가 되어있기 때문에
다시 살릴 수 있는 수준이긴 해요.
이전 게시글에서 살렸던 가톨릭대 수강신청 인원 조회 사이트와 같은 프로젝트들이 해당돼요.
일단 이 포트폴리오 블로그 프로젝트의 가장 큰 문제점은
예전에 수업시간에 팀 프로젝트를 진행하면서 제작한 API 프로젝트안에 포함되어있었어요.
어짜피 제가 포트폴리오 블로그에서 사용하는 API 주소는
/act와 /portfolio 두 가지 밖에 없기 때문에
기존 프로젝트에서 분리를 해줄 겁니다.
그리고 기존에는 리액트로 생성된 프론트엔드 프로젝트와
Node.js와 express로 생성된 백엔드 프로젝트가 깃에서도 따로따로 올라가 있었기 때문에
한번에 관리하는게 어려웠어요.
그래서 하나의 레포지토리로 통합하고, 하위 폴더에 frontend와 backend 폴더를 놔둠으로써
쉽게 쉽게 관리할 수 있도록 했어요.
이런 식으로 구조를 세팅했어요.
세 번째 문제점은 backend에 DB 스키마가 남아있지 않았고, MariaDB가 초기화되면서 기존에 있던 데이터들이 사라졌다는 문제점이 있어요.
그래서 API에서 어떤 정보들을 DB로부터 가져오는지를 참고해서 DB를 설계하고, 기존에 있던 데이터를 다시 머릿속으로 잘~ 생각해서 넣어줘야 했어요.
먼저 DB를 설계하고, 테이블을 정의하는 SQL 쿼리문을 생성해요. 그리고 해당 쿼리문들은 전부 저장해요. 혹시라도 담에도... 이런 일이 발생한다면 쉽게 쉽게 복원할 수 있겠죠.
이렇게 두 개의 Table이 존재하구요. 안을 데이터로 채워줍니다.
Data.sql 은 테이블에 들어갈 데이터들을 삽입하는 쿼리문들이 저장되어 있고 (예를 들어, Insert into ~~)
schema.sql 은 테이블 구조를 정의하는 쿼리문들을 담아놓았어요.
이제 API 역할을 하는 백엔드 프로젝트를 실행해요.
Node.js를 기반으로 작성된 프로젝트기 때문에 start 스크립트를 정의해두고 npm run start 또는
node index.js 이와 같은 형태로 실행합니다.
근데 이상하게 자꾸 SyntaxError: Unexpected token~~ 이런 오류가 생겨요.
이것은 Node의 버전 문제였어요.
제가 프로젝트를 기본적으로 비동기 형태로 작성했거든요.
그래서 async function {메소드이름} {} 형태로 작성되어 있는데,
Node.js에서 async나 await와 같은 것은 7.6 버전 이후로 지원된다고 하네요.
애초에 제가 이 프로젝트를 작성했던 시점이 14.15.4 버전이었는데
프로젝트를 빌드하는 컴퓨터가 4.5.0으로 되어있더라고요...😅
아무래도 오픈 소스를 빌드하는 과정에서 이전 버전이 필요했었던 것 같아요.
그래서 버전을 업그레이드하고 빌드하니까 잘 작동했어요.
프론트 엔드 프로젝트도 마찬가지로 다른 여러가지 프로젝트들이 포함되어 있었어요.
예를 들면, 제일 처음 리액트로 네이버 로그인 페이지를 만들고 jwt를 사용해서 로그인을 유지하도록 하는
프로젝트를 진행했던 적이 있는데
리액트 프로젝트 내에서 /login이라는 url로 라우팅되도록 설정되어 있어서
해당 기능을 걷어냈어요.
그리고 제 소개나 프로필 사진 같은 것을 수정했습니다!!
프로필 사진 같은 경우는 여자친구가 무조건 바꾸라고 하더라고요 ㅠㅠ
이전 사진이 너무 양아치 같다구... 얼마나 뭐라 하던지
결국 바꿨습니다.😓😓
리액트로 만든 프로젝트의 경우, 기능 별로 폴더를 분리해놓기도 했고
컴포넌트 별로 기능이 잘 구분되어 있었어서 쉽게 손댈 수 있었어요.
문제는 기본적으로 HTML 코드가 정말 길기 때문에 딥하게 손대고 싶은 마음은 싹 사라지더라고요.
음...
일단 지금같은 경우는 저에 대한 소개나 제 신상에 대한 내용이 HTML 내에 정적으로 존재하는데요,
DB가 죽나 사나에 관계없이 항상 잘 박혀있다는 장점이 있지만
어쨋든 업데이트 해야되는 입장에서 번거로울 수도 있다는 생각이 들어요.
그래서 이것까지 API를 통해서 데이터를 받아오도록 구현할 수 있으면 좋겠다는 생각이 듭니다.
어쨋든 귀찮은 일 중에 하나였던 포트폴리오 블로그를 리팩토링을 진행했고,
깃에다가도 잘 업로드 해놓았어요.
연말이라 랩실에도 일이 많은데 하나하나 해나갈 때마다 뭔가 성취감을 느끼네요.
내년에는 취준을 할거라 요새 채용공고를 보는데 백엔드 쪽은 신입을 잘 안뽑는 느낌이에요.
제가 더 열심히 해야 그 벽을 넘을 수 있을텐데 잘 할 수 있을지 걱정입니다...
무튼 슬픈소리 그만하고, 아래에 깃 주소와 블로그 주소를 첨부해놓도록 하겠습니다!!