안녕하세요.
이제 막 3학년 2학기를 마쳤습니다.
대외활동에 운 좋게 합격해서 활동을 하게 되었습니다.
첫 번째 목표로 1인 과제를 내주셨는데 따지면 기간이 3주 정도 주어졌습니다.
하지만 시험기간때문에 시험이 다 끝나고 나서야 며칠 만에 부랴부랴 만드느라 조금 많이 부족합니다..!
- 인증서버
- url shortener
- 블로그 제작
1인 프로젝트 주제는 이렇게 총 3가지가 있었습니다.
그 중에서 url shortener를 선택해서 간단하게 만들어보았습니다.
간단하게 설명을 해보자면 개인이 https://www.google.com을 입력한다면 https://localhost:5000/example 이렇게 출력을 해주는 서비스를 구축해 보았습니다.
하지만 무조건 새 값을 출력하는 것이 아니라 이전에 미리 단축한 기록이 있다면 DB에서 가져와 그 값을 다시 출력해 줍니다.
간단하게 컨트롤러 코드를 나열해 보겠습니다.
이제 MongoDB에 스키마를 생성하는 코드입니다.
다음으로 server.ts와 app.ts를 간략하게 보겠습니다.
app.ts는 코드가 좀 길어서 간략하게 mongoDB에 연결하는 코드만 보겠습니다.
왜냐하면 사실 MongoDB도 사용해본 적이 처음이기도 하고, 중요한 사실도 알게 되어서 몇 자 적어보자면
지금까지 저렇게 환경변수 설정을 하지 않았고 저렇게 무언가에 연결할 일이 생긴다면 중요키와 같은 mongoDB 연결 링크를 바로 app.ts에 넣어놓았습니다.
이번 과제 하면서 느낀 게 .env파일을 따로 생성해서 dotenv 라이브러리를 불러와서 저런 식으로 연결해야 한다는 점을 배웠습니다.
사실 기존에 알고 있었지만 실행만 된다면 그만이었어서 잘 지키지 않았는데 이번 과제를 하면서 뭔가 분리를 해야겠구나 생각이 들었습니다.
그러면 npm run dev 입력해서 확인해 봅시다!
여기에 구글 링크를 입력해 보겠습니다.
그러면 다음과 같이 "http://localhost:5000/K8LTN" 라는 링크가 생성되었습니다.
MongoDB에 보면 이렇게 DB가 생성된 모습을 볼 수 있습니다.
그러면 다음에도 구글링크를 입력한다면 새 값을 생성해서 출력하는 것이 아닌, "K8LTN"이라는 주소로 출력을 해줍니다!
사실 제 기본 지식이 아닌 구글링 며칠동안해서 만들어냈지만 백엔드 쪽은 지식이 많이 없어서 하루종일 삽질하면서 만들어내서 정말 얻은 게 많은 것 같습니다.
기초 설정이나 typescript나 node.js에 대해서 많이 부족하다고 느껴져서 앞으로 더 많이 공부해야겠다고 생각이 들었던 프로젝트였습니다.