분류 전체보기
-
구글 소셜 로그인 구현하기(node.js, ts) 및 로컬디비 연동개발연습/node.js 2021. 10. 1. 14:23
베타릴리즈를 앞두고 있는 서비스에, 로컬로그인과 함께 사용자의 접근성을 높이기 위해 소셜로그인을 도입하기로 했다. 그 중에 가장 편리하다고 생각되는, 구글 로그인을 도입하기로 결정했다. 이 글은 https://youtu.be/cD17CYA1dck 해당 영상을 참고했다. 우선.. passport에 대한 기본적인 이해는 있다고 가정한다.(사실 본인도 잘 모르기 때문이다.) 패키지부터 설치를 해주자 npm i passport-google-oauth2 npm i -D @types/passport-google-oauth2 기존의 passport 구현내용은 다음과 같다. src/passport/index.ts import passport from 'passport'; import { User } from '@pri..
-
node.js ts 프로젝트에 swagger를 적용해보자!개발연습/swagger 2021. 9. 17. 12:23
프로젝트를 진행할 때 api문서는 필수적이다. 한명이 프론트-백을 전부 담당하면 모르겠지만, 일반적으로는 다른 인원이 다루기에 각 라우터에 대한 정확한 input/output 값을 알고 있어야 한다. 게다가 우리 프로젝트는 ts를 적용중으로 더욱 중요하다! 원래는 마크다운으로 관리를 하고 있었지만... 슬슬 귀찮아지는게 느껴져서 api문서 툴을 알아보게 되었다. api문서를 다루는 툴은 여러가지가 있지만 그중에서도 swagger에 대한 추천이 많아서 적용하게 되었다. 그런데.. swagger를 적용하는 방법도 여러가지가 있고 해서 열심히 영어읽느라 고생 좀 했다. 인터넷을 통해 알아본 방법으로 swagger를 적용하는 방법은 크게 두가지가 있다는 것을 알았다. 1. 각 ts파일에 주석형식으로 추가하는 방..
-
프리즈마 쿼리에 들어가는 데이터 부분을 변수로 관리하기개발연습/db 2021. 7. 25. 21:03
CRUD 코드를 짜다보면, 데이터 영역에 각 col에 들어갈 값을 다음과 같이 넣어준다. data: { userId, password: hashedPassword, email: 'emasef@gmail.com' }, 그런데, 조건문을 걸어서 특정 조건일 때는 userId와 password만 data영역으로 쏘고싶다고 해보자. 물론 if문으로 나누어서 if와 else에서 따로따로 쿼리를 쏘아도 되지만, 보기 지저분하니까 쿼리는 한번만 쏘자 그럴때 사용하는 것이 바로 import {Prisma} from '@prisma/client'; let input = Prisma.UserCreateInput; 바로 이 UserCreateInput이다. input = { userId, password: hashedPas..
-
mysql workbench와 aws lightsail 연결하기개발연습/db 2021. 7. 23. 14:46
4시간의 삽질끝에.. 구글링으로 얻은 정보는 모두 실패하고 혹시나 하고 직접 넣은 값들이 연결 성공하였기에 나중에 까먹지 않기 위해 바로 작성한다. 워크밴치와 aws를 연결하는 방법을 구글링하면 대부분 다음과 같은 방법을 알려준다. ssh hostname에는 본인의 aws lightsail(또는 ec2)의 ip주소와 포트 22번, username에는 본인의 lightsail의 username, ssh key file에는 .pem으로 끝나는 ssh key file의 directory를 넣고, mysql hostname에는 localhost 또는 127.0.0.1 포트는 3306 username은 아무거나 그런데 이렇게 접속을 하면 다음과 같은 오류문구가 뜨면서 연결이 되지 않는다. 그렇다면 어떻게 해야 w..
-
명령 '기본 설정: 기본 설정 열기(JSON)'에서 오류((this.configurationService.getValue(...) || []).filter is not a function)가 발생했습니다. 해결하기개발연습/node.js 2021. 6. 28. 12:18
https://www.reddit.com/r/vscode/comments/ndjjjy/cant_create_new_file_nor_open_new_file_in_vscode/ Cant create new file nor open new file in VSCode! I have a huge in Problem in VSCode (macOS BigSur 11.3 Intel). every time I try to open or create a file in visual studio code it pops up with a... www.reddit.com 내가 안찾으려고 쓰는 글
-
Error: No default engine was specified and no extension was provided. 해결방법개발연습/node.js 2021. 6. 27. 11:48
이 에러는 node.js가 html을 로드할 때 발생하는 문제라고 한다. 해결하는 방법으로는 1. ejs로 엔진 설정 app.set('view engine', 'ejs'); app.engine('html', require('ejs').renderFile); 2. send file을 이용 // set static directories app.use(express.static(path.join(__dirname, 'public'))); app.get('/', function (req, res) { res.sendFile(path.join(__dirname+ '/public/pages/index.html')); }); 그런데 나는 html파일 확장자를 ejs로 바꾸기만 했는데 오류가 해결되었다...
-
소프트웨어 마에스트로 12기 합격 후기일기장 2021. 4. 2. 23:07
세상에.. 전혀 기대하지 않았던 기쁜 메일이 왔다. 스코페 2차를 참여하고 싶었으나 면접일정과 완전히 겹쳐서.. 치킨도 못받고 합격도 못하면 정말 슬플 것 같았는데 치킨보다 더 좋은 소식이다. 프로젝트 경험이 부족한 입장에서 SW마에스트로 합격하기까지의 과정을 공유해보고자 한다. 프로젝트 경험이 없어도 충분히 합격 할 수 있다!! 0. 서류접수 자기소개를 비롯하여 약 5개의 문항에 대해 400자 이상 자신이 해왔던 경험, 프로젝트를 설명하면 된다. 제일 중요한 것은, 여기서 쓴 내용들이 면접때 부메랑이 되어 날아올 수 있다는 것이다!!!!! 나는 사실 1차코테만 뚫자는 마인드로 400자만 채워서 제출하고 어떤 내용을 썼는지 까맣게 잊고 있었는데.. 여러분은 면접까지 갈 수 있다는 자신감을 가지고 최대한 ..