일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- 코드스테이츠
- 취업
- 리액트
- 알고리즘
- nqueens
- JavaScript
- 포스기
- 초보
- this
- underbar
- 클라이언트
- 연습
- underscores
- grpahQL
- DOM
- 엔퀸즈
- ftech
- 제일어려워
- Instantiation Patterns
- 일상
- array
- 공부
- react
- 코딩
- JS
- vscode
- method
- 해커톤
- 자바스크립트
- 개발
- Today
- Total
목록Be well coding/Learn more (41)
analogcoding
What is Jest ? Jest 는 코드가 제대로 동작하는 지 확인하는 test case 를 만드는 '테스팅 프레임워크' 입니다. Why use Jest ? lint 가 코드 스타일에 rule 을 정하는 것이라면 코드가 올바른 기능을 하는 지 체크할 수 있습니다. 이를 통해서 보다 안정적이고 제대로 동작하는 코드를 작성할 수 있습니다. How to Start ? package.json 파일을 만들고 Jest 라이브러리를 개발 의존성으로 설치합니다. yarn 과 npm 모두 간단하게 설치 가능합니다. yarn add --dev jest npm install --save-dev jest Tip* ( -dev 는 package.json 안에 dependencies 가 닌 devDependencies 에 저..
what is Apollo Cache 아폴로는 Query 요청을 할 때 먼저 Cache 를 확인한다. 처음 Query 요청 시 Cache 에 Query , variables 데이터를 자동적으로 Cache에 저장한다. 처음 페이지가 렌더 될 때 로딩이 걸리지만 다음 번 그 페이지를 방문할 때 바로 렌더 되는 이유는 첫 요청에서는 요청을 실행하지만 그 다음부터는 Cache 를 참조한다. problem 그렇지만 단점으로는 데이터가 업데이트되는 Mutation 요청이 진행되었을 때, 페이지에서 새로고침을 하지않는 한 렌더된 데이터가 변하지 않는다. Query 요청을 다시 보내서 새로 DB에서 업데이트 된 데이터를 가져와야하는데 Cache 에 같은 Query 의 이름이 있어서, 기존에 Cache에 있던 데이터만 ..
카카오 개발자 등록 후 개인 javascript API 발급 후 index.html 에 script 를 추가한다. 현재 좌표를 가지고 오기 위해서 navigator.geolocation.getCurrentPosition 함수 호출 (위 함수는 사용자의 현재 위치를 요청한다.) navigator.geolocation.getCurrentPosition 에서 받아올 수 있는 프로퍼티 coords.latitude 고도 coords.latitude 위도 coords.longitude 경도 coords.accuracy 위도/경도의 오차(m) coords.altitudeAccuracy 고도의 오차(m) coords.heading 방위(도) coords.speed 속도(m/초) ㅍ 지도 호출은 카카오 디벨로퍼에 sam..
console.log 로 카카오로 부터 profile 객체를 전달 받는 것 까지 성공한 뒤 데이터를 확인해서 회원가입 , 로그인 상태 구현하기. const kakaoSign = async (req, res) => { // login 에서는 받은 profile 을 DB 랑 비교한당 req.user = profile const { user } = req; const nickName = user.username; const email = user.id; const { provider } = user; console.log("provider-->", req.provider); return User.findOne({ where: { email, nickName, admin: false, provider } }) ..
1. 먼저 카카오 개발자 홈으로 이동 https://developers.kakao.com/ Kakao Developers_ 더 나은 세상을 꿈꾸고 그것을 현실로 만드는 이를 위하여 카카오에서 앱 개발 플랫폼 서비스를 시작합니다. developers.kakao.com 2. 로그인 후 상단에 이름 클릭 - 내 애플리케이션으로 이동 3. 사용자 관리 토글 버튼 ON , 일반으로 이동 후 주소 설정 4. Passport , Passport-kakao 설치 yarn add passport yarn add passport-kakao 코드 작성 const KakaoStrategy = passportKakao.Strategy; const kakaoKey = { clientID: "일반에서 정의된 내 API 키", cl..
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가지를 설치 한..
app.use(passport.initialize()); app.use(passport.session()); app.use (passport.initialize ()) : 패스포트를 초기화한다. passport.session () : 패스포트가 세션 정보를 사용한다. Middlewares은 요청 객체 (req), 응답 객체 (res) 및 응용 프로그램의 요청. Passport는 요청을 인증하는 노드 용 인증 미들웨어이다. 따라서 기본적으로 passport.initialize ()는 인증 모듈을 초기화한다. passport.session ()은 요청 객체를 변경하고 현재 세션 ID (클라이언트 쿠키에서) 인 ‘user’값을 진정한 비 직렬화 사용자 객체로 변경하는 또 다른 미들웨어다.