본문 바로가기

전체 글

(11)
NestJS 강의 수강 메모 with 노마드코더 NestJS란? node.js 위에서 움직이는 프레임워크이다. express 위에서 움직이는 것이기도 하다. (express는 모든 node.js 어플리케이션의 초석이다.) 아키테처와 구조를 제공하기에 기업 친화적이다. 객체지향 프로그래밍과 함수형 프로그래밍, 함수 반응형 프로그래밍의 요소도 일부분 사용한다. NestJS 구조 main.ts NestJS는 main.ts에서 시작된다. main.ts는 이름이 바뀌면 안된다. bootstrap 함수명은 변경 가능하다. AppModule 모든 것의 루트 모듈이다. 모듈은 어플리케이션의 한 부분이다. 한 가지의 역할을 하는 앱이다. controller 기본적으로 url을 가져오고 함수를 실행한다. express의 라우터와 같다. entity 실제로는 데이터베이스..
기업협업 회고 - 한 달간의 개발자 인턴 생활 신입 개발자로서의 첫걸음, 인턴 생활에 대한 회고록 시작 순식간에 지나간 두 달간의 교육이 끝나고 드디어 기업협업이 시작되었다. 직접 개발을 하시는 대표님과 공동 창업자이자 백엔드 개발을 주로 담당하시던 개발자 두 분이서 운영하시는 기업에 나를 포함한 백앤드 2명, 프론트 1명이 참여하게 되었다. 생각하던 기술을 사용하지 않은 것에 고민이 있던 팀원의 입장을 들으며 덩달아 혼란스러워졌지만, 기업협업의 목표를 기업에서 고객과 제품을 접하고 제품과 프로젝트에 참여한 레퍼런스를 얻는 것에 두면서 무엇을 하든 하나 이상을 얻고자 하는 마음으로 인턴 프로그램에 참여하였다. 인턴 생활 참여한 기업은 공덕에 있는 서울창업센터 내 사무실과 역삼에 있는 사무실 두 곳을 사용중이었고, 인턴들은 어느 사무실을 이용하든, 재..
3차 프로젝트 회고 23.10.09 ~ 23.10.27 총 3주의 3차 프로젝트 🎯 나의 목표 예전부터 막연하게 구현해보고 싶었던 것이 소셜 로그인이었는데, 팀원들의 배려로 내가 담당할 수 있었다. 그렇기에 꼭 구현에 성공하는 것을 목표로 하였고, 만약 여유가 생긴다면 소셜 로그인과 함께 구현해보고 싶었던 외부 결제 api를 시도해 보는 것을 추가 목표로 삼았다. 그리고 1, 2차 때 아쉬웠던 점들을 보완하여 프로젝트를 완성하는 것을 꼭 경험하고 싶었다. 💻 내가 구현한 것 1. 소셜로그인 api passport 라이브러리를 사용하여 카카오, 네이버 소셜 로그인을 구현하였다. passport 정책이 동일하기 때문에 공통된 부분을 함수로 만들어 사용하였다. 2. 상세 회원가입 api 서비스 이용 시 필요한 유저 정보를 얻기 ..
포트원으로 간편결제 구현하고 postman으로 테스트하기 feat. node.js 소셜 로그인 다음으로 꼭 해보고 싶었던 것이 있다면 간편결제였다. 진짜 결제까지는 아니더라도 qr 코드를 발급하고 결제 정보가 db에 저장되는 로직을 구현해보고 싶었다. 그래서 소셜 로그인 구현 이후 여유가 생겨서 우선 결제 페이지부터 테스트 용으로 만들어 봤는데, 프론트엔드 팀원 중 결제 부분을 맡아 줄 분이 나와서 프로젝트에서 구현해 낼 수 있었다! 우선은 내가 테스트 용으로 만들었던 과정부터 작성하려고 한다. 📌 참고 자료 간편 결제를 포트원으로 구현하게 된 계기는 노마드코더의 영상이었다. pm에게 결제 부분을 구현해 보겠다 전하고 집에 가는 길에 때마침 업로드된 영상이 바로 이 영상! 영상을 보면 알겠지만 굉장히 쉽게 결제 페이지를 구축할 수 있을 것 같았다. 그리고 백엔드 코드를 작성할 때 도움..
카카오톡으로 링크 버튼이 있는 메세지 공유하기 기업협업에서 진행한 task 중 카카오톡 공유 버튼을 추가하는 과제와 함께 아래의 참고 블로그를 받았다. [Git Page Jekyll Blog] - [17] 포스트 공유하기: Kakao 이 포스트에서는 Kakao에 포스트의 링크를 공유하는 방법에 대해 알아본다. Kakao 공유 방법은 Kakao가 제공하는 API를 사용하며 이를위해 Kakao 개발자 사이트에 등록한 후 Kakao가 제공하는 SDK 다운로 seungwubaek.github.io kakao developers 에서 애플리케이션을 세팅하는 것부터 템플릿의 구조, 전체 코드까지 정말 자세히 설명해 주셔서 처음 접한 사람들도 금방 따라 할 수 있을 것이다. 이에 더하여 스크랩이 아닌 단순 링크 공유를 테스트하기 위해 진행하면서 고민했던 과정과 ..
카카오, 네이버 소셜 로그인/회원가입 백엔드 로직 feat. node.js, passport, jwt 한 번쯤은 만들어 보고 싶었던 소셜 로그인을 드디어 3차 프로젝트를 통해 구현해 보았다. 처음에는 소셜 로그인 기능의 흐름이 이해가 가지 않아서 그림으로 그려가며 노력했다. 그 그림부터 api 완성까지의 여정에서 내 생각을 기록하려고 한다. 따라서 틀린 내용이 있을 수 있다는 점... kakao developers 에서 애플리케이션을 등록하는 과정은 더 친절하게 설명해 주신 분들이 많기 때문에 생략할 예정이다. 무엇보다 우선 봐야 할 것은 공식 문서! Passport.js Simple, unobtrusive authentication for Node.js www.passportjs.org 🖼️ 소셜로그인/회원가입 흐름 1. 회원가입 1~2 : 우선 유저가 로그인 창에서 카카오 로그인을 요청하면 프론트에게..
2차 프로젝트 회고 23.09.18 ~ 23.10.06 총 2주의 2차 프로젝트 이번 2차 프로젝트는 클론 코딩을 통해 회원가입 - 로그인 - 제품페이지 - 장바구니 - 주문페이지 전체의 유저 플로우를 직접 구현해 보는 것을 목표하는 프로젝트였다. 2주 간 진행하였기에 디자인/기획 부분은 기존 웹 서비스를 클론 하였지만 추가로 구현하고자 논의한 내용은 직접 개발하였다. 🎯 나의 목표 1) 해보고 싶었던 결제 부분을 구현하며 제품 - 장바구니 - 결제 프로세스에 대해 이해하고 필요한 쿼리문을 직접 작성하고자 하였다. 2) 위 내용과 더불어 전체 로직의 흐름을 잘 이해하고자 데이터베이스 생성을 맡고자 하였다. 또한 dbmate 작성법을 익히고 3) 2차 프로젝트에서는 2차 프로젝트에서 부족했던 문서화 작업에 더 신경 쓰고자 하..
HTTP 통신, JSON 이란? HTTP 1. HTTP이란? 웹에서 이뤄지는 모든 데이터 교환의 기초이자 클라이언트와 서버 프로토콜 HT : HyperText. 문서와 문서가 링크로 연결되도록 하는 태그로 구성된 언어를 뜻하는 HTML 의 HT와 동일 T : Transfer. 전송 -> 보내는 주체와 받는 주체가 있다. P : Protocol. 협약, 통신 규약. 컴퓨터끼리 소통방식. 인터넷상에서 일어나는 소통의 대부분은 HTTP 규약을 따른다 2. HTTP의 특징 1. Request(요청) 과 Response(응답) 전송을 보내는 주체는 받는 주체에게 요청을 보내고, 받는 주체는 요청을 보낸 주체에게 응답을 보낸다. ex) 영상을 보기 위해 썸네일을 클릭 -> 서버에게 요청을 보낸다. 서버가 요청을 처리해서 클라이언트에게 영상을 제공..