JavaScript
-
ModuTable 소개 - 4주 프로젝트핵인싸 개발자의 길/코드스테이츠 Immersive Course 2019. 6. 25. 00:56
시연 영상 - https://drive.google.com/open?id=1lt2KuhIK5kvd7Vp6JfdSRR2M7dZVNMsa ModuTable 시연영상 Video made with Clipchamp Create - online video maker and editor drive.google.com github modutable 코드스테이츠 4주 프로젝트 modutable - 조진혁, 정인용. modutable has 2 repositories available. Follow their code on GitHub. github.com 나의 4주 프로젝트 블로깅 내용 # 진행과정 Blogging 이머시브 12기 데모데이를 마치며 - https://helloinyong.tistory.com/143 데..
-
[2019.06.09] 4주 프로젝트 2주차를 마감하며...핵인싸 개발자의 길/코드스테이츠 Immersive Course 2019. 6. 9. 22:26
큰일났다...남은 기간에 비해 할 일이 너무 많이 남았다...ㅠㅠㅠ 이번주에는 참...중간에 현충일로 출근하지 않고 집에서 하루종일 작업을 했는데, 고놈의 TypeORM이 또 말썽을 피워서 삽집만 잔뜩했네.. #이번주 백엔드 진행사항 소셜 로그인 및 회원가입 기능 완료 및 DB 저장 AWS EC2 배포 및 API 에러사항 체크 서버 URL Restful 형식으로 리펙토링 데이터베이스 스키마 리펙토링 서버 환경변수 설정 - 로컬버전은 TypeScript형식, 배포버전은 빌드된 JS형식 메일 발송기능 구현 그리고 어제 저녁부터 지금까지 lambda를 이용한 이미지 리사이징 작업 중인데... lambda 사용법부터 삽질중인데 정말 잘 안된다...ㅋㅋㅋ 하다보니 serverless 프레임워크까지 쓰게 됐다. 로..
-
[2019.06.06] 오늘의 TIL - TypeORM relation column update하는 방법개발 블로깅/오늘의 TIL 2019. 6. 6. 20:12
난 오늘도 열심히 삽질을 한다.... passport도 나를 그렇게 힘들게 하더니... 이제 API를 좀 만들어 보려고 하니까 TypeORM이 나를 괴롭힌다..흑흑.. 아래와 같은 테이블이 구성되어 있다고 가정한다. post.ts class post extends BaseEntity{ @PrimaryGeneratedColumn() id: number; @ManyToOne(type => Categories, categories => categories.post) categories : Categories } 테이블 [id int(11), categoriesId int(11)] 그러면 post를 select 할 때는, 실제 테이블에서 칼럼명이 categoriesId인 것이 categories로 associa..
-
[2019.06.04] 오늘의 TIL - passport로 Facebook 로그인 시 cors 에러가 나던 문제개발 블로깅/오늘의 TIL 2019. 6. 4. 18:53
passport... 이녀석 정말 한 번 적응하기 너무 어렵다..ㅜㅜ 어제도 이녀석 때문에 밤새 나를 괴롭혀놓고, 오늘도 오전 내내 나를 괴롭힌 또 다른 문제가 하나 있었다.. facebook strategy 방식의 로그인 기능을 구현하려고 passport로 구성시켰다. passport.use( new FacebookStrategy(facebookCredentials, function( req: any, accessToken: any, refreshToken: any, profile: any, done: any ) { console.log(profile); done(null, profile); // profile이 facebook을 통해 계정 정보를 담고있는 변수 }) ); 웹 브라우저 주소창에 해당 라..
-
[2019.06.04] 오늘의 TIL- 암호화 bcrypt.compare가 무조건 false로 나던 문제개발 블로깅/오늘의 TIL 2019. 6. 4. 18:24
회원가입 및 로그인 기능을 작업하던 중.. 회원가입 할 때 입력한 패스워드를 bcrypt 라이브러리를 이용하여 해싱 시키고 데이터베이스에 저장을 하였다. var password = '1q2w3e4r'; var hash_password = await bcrypt.hash(password, 10); // 비동기 함수 그리고 로그인 시, 로그인을 위해 입력한 패스워드랑 DB에 저장되어있던 해싱된 패스워드가 유효한 지 확인하기 위해 bcrypt.compare()함수를 이용하였다. var check = await bcrypt.compare('1q2w3e4r',/* 해쉬된 패스워드*/); 새로 입력한 패스워드 '1q2w3e4r'가 기존에 해싱시킨 패스워드와 같으면 true, 아니면 false를 반환한다. 그런데, ..
-
[2019.06.04] 오늘의 TIL - passport deserializeUser 호출이 안되는 문제(postman은 정상작동하고 브라우저에서는 안되는 문제)개발 블로깅/오늘의 TIL 2019. 6. 4. 09:56
어제 밤새 꽁꽁 싸매던 문제가 하나 있었다. passport.serializeUser(async function(user, done) { done(null, user); }); passport.deserializeUser(function(user, done) { done(null, user); }); passport.use( "local", new LocalStrategy( { usernameField: "Email", passwordField: "password", session: true }, async (username, password, done) => { /* 유효한 계정인지 조회 */ done(null, user); } ) ); passport localstrategy에서 serializeUs..
-
[2019.05.28] TypeScript 사용법 (TypeScript+Express 구현)개발 블로깅/Modern script 2019. 5. 28. 20:17
기존의 자바스크립트는 컴파일을 돌리지 않고 브라우저 상에서 돌아가는 언어여서 데이터 타입이 정말 느슨하다. 변수 타입이나 파라미터에서도 제한되는 것이 없고 너무나도 자유롭다 보니, 개발할 때 데이터 타입에 대한 오류사항이 정말 많이 일어나기도 한다. 그러나 실제 컴파일 환경에서 돌리듯 자바스크립트 문법에 데이터 타입을 하나하나 명시를 해 줌으로써 이를 방지할 수 있는 방식이 타입 스크립트이다. 4주 차 프로젝트를 진행하면서 백엔드 역할을 맡게 되었는데, 이번 기술 스택에 typescript를 사용하도록 되어있다. 이번 기회에 typescript를 손에 익힐 기회가 왔다. 백엔드 파트를 맡았으므로, typescriptfh express환경을 구성하는 방법을 정리해보려고 한다. # typeScript 기본적..
-
[2019.05.10] JWT-Token 방식의 정보 인증 [사용법]개발 블로깅/기타 개념 2019. 5. 10. 22:24
사용자가 로그인 후, 유저 정보를 cookie,Session 방식이 아닌 token 방식으로 안전하게 관리하는 방법이 있다. # token 방식의 특징 사용자 정보를 일일히 서버의 세션에 저장하지 않고, 사용자의 로컬에 저장. 사용자가 요청을 보낼 때마다 유저 정보 확인을 일일히 하지 않아도 됨. 웹 표준 기반 기술로써, 여러 환경에서 지원 이러한 토큰 방식을 사용하기 위해서는 JWT(Json Web Token) 기술을 사용한다. # JWT 모듈 설치법 npm i -D jsonwebtoken 모듈을 설치한다. # token 생성법 토큰을 생성하는 방법은 아래와 같다. const jwt = require('jsonwebtoken'); var userInfo = {id: 1, username: 'inyong..