일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- pug
- ECMAScript
- CLONE
- 리액트
- MongoDB
- GRID
- express
- clonecoding
- API
- Session
- javscript
- backend
- node.js
- TypeScript
- heroku
- 자바스크립트
- frontend
- form
- HTML
- react
- Component
- Flutter
- ES6
- nodejs
- graphQL
- Mongoose
- NextJs
- DART
- CSS
- JavaScript
- Today
- Total
목록JavaScript (192)
Enjoy Programming

자 api를 이용해 데이터를 가져올텐데~~ fetch대신 axios를 사용한다. 앞서 movie-app을 만들때도 사용해봤고~ express로 youtub클론할때도 써본 axios 먼저 fetch를 remind해보자. fetch란 무엇인가 ?~ ajax 방식중의 하나인 fetch fetch는 api를 불러오고, 정보를 내보내 주기도 하는 함수이다. fetch함수에 쓰여지는 method는 get&&post가 있고 설정을 따로 안하면 언제나 그랬듯이 get이 default이다. 또한 fetch는 promise방식이기 때문에 then을 사용해 함수 실행이 끝나고 다음 할일을 정해준다. fetch는 비동기이기 때문에 api를 호출하는 과정이 끝나지 않더라도 다음이 진행이 된다. 그리고 쉽게 생각해 업그레이드된 ..
이제 사이트에 필요한 영화와 tv show 데이터를 어디서 가져오느냐~~ 인데. 니코의 소개로 알게 된 곳인 https://www.themoviedb.org/?language=ko The Movie Database (TMDb) Welcome. Millions of movies, TV shows and people to discover. Explore now. www.themoviedb.org 무료로 api를 쓸 수 있다. 가입하자~ 가입후 설정페이지에 보면 API가 있는데 API 키를 얻어야 하는데 먼저 api생성해야한다 각종정보를 입력하고 생성하면 버전3 api key가 뜬다 이걸로~~ doc에 가서 https://developers.themoviedb.org/3 API Docs Hosted API d..

앞서 글로벌 css작성도 했고 약간의 헤더 수정도 진행했다. 이제 header가 어떤 route에 있는지 확인 하는 방법을 강구해보자. 무슨말이냐~ 그냥 네비게이션에서 마우스 커서가 올라가면 어떤 곳에 올라가있고 어떤 곳을 클릭하게 될지 그냥 보여주는거다 이런식으로~ 아래쪽에 줄 것이기 때문에 border-bottom을 5px solid로 주고~ 색상을 주는데 li의 stylecomponent인 Item에 current={true}로 flag를 설정해주고 border-bottom의 색상값을 주는 곳에 함수를 작성해주는데 props.current가 true이면 지정한 색을주고 아니면 transparent로 투명하게 해준다 그리고 이를 하기 위해 react-router-dom에서 withRouter를 imp..

앞서 사용한 css방법은 local한 방법이다. 이번에는 해당 사이트의 전역 설정을 하는 global한 css를 해본다. 라이브러리 한개를 설치하는데 styled-reset이다 styled-reset은 style-component를 이용해서 css를 초기화해 0의 상태에서 시작하게 해준다. 먼저 npm install styled-reset으로 설치해주고 component폴더에 GlobalStyles.js를 만들어 줬다. 파일안에 createGlobalStyle function을 styled-components로부터 임포트 해주고 reset도 import해줬다ㅓ. 그리고 globalStyles라는 이름의 globalstyle 컴포넌트를 만들어주는데 위와 같이 createGlobalStyle함수 와 리터럴을..

간단하게 Cookie의 property에서 중요한 정보를 좀 짚고 넘어가자 그보다 먼저 express-session에 secret prop에 대해 알아본다. secret은 쿠키에 sign할때 사용하는 string이다. 쿠키에 sign? 이 말은 backend가 쿠키를 발행했다는 것을 보여주는 것이다. 나의 쿠키를 누군가 해킹해 나인척 하는 session hijack에서 보호하기 위해 secret string이 필요하다 이 string은 매우 길고 무작위이며 강력해야 한다. 이 강력한 string으로 쿠키를 sign하고 나의 backend가 만든 것임을 증명한다. . Domain . Domain은 해당 쿠키를 만든 backend가 누구인지 나타낸다. 그리고 쿠키는 해당 Domain에 있는 backend로만..

기존 클론코딩시 password의 암호화시 hash와 salt기능을 passport-local-mongoose를 사용했다. 이번에는 블로피시 암호에 기반을둔 암호해시 함수인 bycript를 사용해 진행을 해보았는데. bycript에 대해 잠시 짚고 넘어가본다. bcrypt는 비밀번호 해시 함수로서 Blowfish라는 암호에 기반한다. bcrypt는 조정할 수 있는 해시 알고리즘을 써서 패스워드를 저장한다. bcrypt는 패스워드를 해싱할 때 내부적으로 랜덤한 salt를 생성하기 때문에 같은 문자열에 대해서 다른 인코드된 결과를 반환한다. but 공통된 점은 매번 길이가 60인 string을 만든다. bcrypt는 단반향 암호화를 위해 만들어진 해시 함수이다. sha256같은 기존 해시 함수들의 문제는 ..