일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 초보
- 취업
- 엔퀸즈
- JS
- method
- 코딩
- 알고리즘
- 클라이언트
- 개발
- 공부
- grpahQL
- underbar
- 포스기
- nqueens
- react
- DOM
- vscode
- 연습
- 제일어려워
- underscores
- Instantiation Patterns
- array
- 코드스테이츠
- ftech
- this
- JavaScript
- 리액트
- 자바스크립트
- 일상
- 해커톤
- Today
- Total
목록Be well coding (122)
analogcoding
Toy 40번 문제. 200p 만들기 1p piece 2p piece 5p piece 10p piece 20p piece 50p piece £1 (100p) £2 (200p) 로 200p 를 만들 수 있는 경우의 수를 모두 구하는 문제. 구현 실패. graphQL 에서 JWT 를 미들웨어로 사용하는 부분을 해결했다. graphQL 에서 middleware 분기를 하면서 생긴 문제점은 먼저 restful 과 차이점에 있다. restful API 의 경우 특정 endpoint 마다 선택적으로 middleware 를 흘려줄 수 있었지만 graphQL 은 하나의 endpoint 만이 존재한다. 이 문제에 대해서 2가지의 해결방안이 나왔다. 첫번 째는 미들웨어에 배열에 resolver 를 담아주는 방법. 이 방법..
Toy 39번 문제. bind method 를 구현하는 문제. 인자로 받은 함수와 arguments 를 context 유무에 따라 나눈 후 inner의 인자와 결합한 뒤 실행한다. 주소값 참조를 고려해서 Array.prototype.~~ 사용. 새 배열에 담아서 주소값 참조를 해결 어제부터 하루종일 JWT 를 graphQL 에 적용하는 방법을 고려해보았지만 아직 답을 찾지 못했다. graphQL 은 endpoint 가 하나인데 SignUp 이나 SignIn 같이 토큰이 없어도 될 상황에서는 토큰 verify 를 하지 않아야한다. 그렇지만 endpoint 가 하나인 graphQL 에서 middlewares 로 흘려준다면 위 상황에서도 토큰 검사를 실행해서 error 가 발생할 것이다. 현재 상황에서 몇가지..
GraphQL은 플랫폼 독립적이고 기존의 REST API와는 완전히 다르지만 기존의 JWT(Json Web Token)을 충분히 이용 가능하다. JWT 토큰을 전달하는 위치가 헤더 에서 쿼리나 뮤테이션의 인자로 바뀌었을 뿐이다. 토큰을 생성(create) , 검사(decade)하는 파일 , 함수 생성 const jwt = require('jsonwebtoken'); require('dotenv').config(); exports.jwtsign = email => { const token = jwt.sign({ email }, process.env.PRIVATE_KEY, { expiresIn: '5h' }); return token; }; return 한 토큰을 클라이언트에 전달해주고 server.expr..
sequelize sequelize란 nodeJS에서 mysql을 사용할 때 raw Query문을 사용하지 않고 더욱 쉽게 다룰 수 있도록 도와주는 라이브러리이다. sequelize는 ORM(Object-Relational Mapping)로 분류된다. ( ORM이란 객체와 관계형 데이터베이스의 관계를 매핑 해주는 도구이다. ) sequelize를 사용하면 raw Query문을 사용하지 않고 자바스크립트를 이용해서 mysql을 사용할 수 있다. sequelize 설치 npm install sequelize // 시퀄라이즈 설치 npm install mysql2 // mysql2 설치 npm install -g sequelize-cli // sequelize-cli를 전역으로 설치한다. 총 3가지를 설치 한..
Toy 38번 문제. telephoneWords 구현실패 . front & back 모두 각각 Tslint & Eslint , babel 설정을 맞추고 프로젝트 repo 에 업로드에 성공! 이제 환경은 갖춰졌으니 다음 주부터 바로 코드작성에 들어갈 수 있다. 함께 스프린트 1에 백로그를 나눠가지고 시간을 분배했다. 이번 4주 프로젝트에서 굉장히 여러모로 무리한 선택을 많이 한 것 같다. 무지한 back 과 기본만 아는 front 풀스택으로 진행하는 욕심을 낸 결과는 처참하고 힘들겠지만 내 성장에는 큰 도움이 되지 않을까 싶다. Typescript 란 타입스크립트는 자바스크립트를 확장한 언어로, JS 언어의 특성을 침범하지 않고 최신 ECMA 표준을 지원. TypeScript의 가장 큰 특징은 type을 ..
app.use(passport.initialize()); app.use(passport.session()); app.use (passport.initialize ()) : 패스포트를 초기화한다. passport.session () : 패스포트가 세션 정보를 사용한다. Middlewares은 요청 객체 (req), 응답 객체 (res) 및 응용 프로그램의 요청. Passport는 요청을 인증하는 노드 용 인증 미들웨어이다. 따라서 기본적으로 passport.initialize ()는 인증 모듈을 초기화한다. passport.session ()은 요청 객체를 변경하고 현재 세션 ID (클라이언트 쿠키에서) 인 ‘user’값을 진정한 비 직렬화 사용자 객체로 변경하는 또 다른 미들웨어다.
프로젝트에 앞서 설정 맞추기에 들어갔다. ESlint 는 에어비엔비룰을 사용했고 프리티어로 문법 교정을 통일했다. node modules 같은 파일/폴더는 gitignore 에서 제공하는 양식을 사용했다. 1.eslint config airbnb , eslint , plugin-import 설치 $ yarn add eslint-config-airbnb-base eslint eslint-plugin-import 2.프로젝트 폴더 내부에 .eslintrc.js 파일 생성 3. 코드작성 module.exports = { env: { browser: true, es6: true, node: true }, extends: "airbnb-base", globals: { Atomics: "readonly", Shar..
라이브러리 설치 npx install --save apollo-boost react-apollo graphql-tag graphql react apollo 구조 정리 react 환경에서 apollo 를 사용해서 graphQL data 를 가져오려면 먼저 apollo client 에서 서버와 연결하고 apollo privider 로 사용할 react 의 최상단 component 를 감싸준다. data 의 스키마에서 필요한 부분을 따로 정의하고 가져올 수 있는 양식을 만든다. (ex. 스키마에 id,nickname,password,email 등 많은 정보가 있어도 직접 정의해서 id , nickname 등 필요한 정보만 가져와서 overfetching 을 방지할 수 있다.) react 에서 필요한 부분에서 ..