개발장이
Cancel

facebook OAuth redirect url 설정하기

0. Facebook for Developers에 접속해 내 앱 만들기 Facebook for Developers에 접속해서 ‘내 앱’을 이미 만들었다는 가정 아래 시작합니다! 1. 앱 도메인에 OAuth로 로그인 요청을 보낼 url 주소를 입력하기 내 앱 > 설정 > 기본 설정으로 들어가 ‘앱 도메인’과 그 밖의 정보를 입력해준다...

passportjs를 이용한 google OAuth 로그인 기능 구현하기

0. 구글 API console에 접속해 OAuth 클라이언트 ID를 만들기 구글 API console에 접속해서 사용자 인증 정보 만들기 > OAuth 클라이언트 ID를 만든다. 1. frontend 서버에서 요청을 보낼 버튼 만들기 백엔드 서버 /user/google 주소로 GET요청을 보내도록 버튼을 만듭니다. 예를 들면 h...

mysql timezone 수정하기

1. mysql shell을 실행한다. 저는 MySQL 8.0 Command Line Client - Unicode 을 실행했습니다. 2. mysql> select @@global.time_zone, @@session.time_zone; 명령을 실행한다. mysql> select @@global.time_zone, @@session....

react와 nextjs를 쓰는 이유

페이지가 index, error뿐인 포트폴리오를 만드는데 nextjs를 굳이 사용해야 할까? 데이터를 서버에서 받아오는 것도 아니고 화면만 렌더링하면 되는데 굳이 오랜 시간 걸리며 react와 nextjs로 포트폴리오를 만들어야 하는 이유가 뭘까? 이런 질문이 포트폴리오는 만드는 내내 따라다닌다. 5일동안 react-full-page package...

react-full-page 패키지 controls customize하기

1. <FullPage> 컴포넌트에 controls값으로 CustomControls 컴포넌트를 넣어준다. controls={CustomControls} 2. react-full-page에서 제공하는 Basic controls props인 getCurrentSlideIndex, scrollToSlide를 인자로 받아온다. 3. 선...

React Hooks - useMemo()

Hooks는 전체 component가 재실행된다 useCallback은 함수 자체를 캐싱하고, useMemo는 값을 캐싱한다. useRef는 일반 값을 기억한다면, useMemo는 복잡한 함수 return 값을 기억한다. useCallback(() => {}, []); useMemo(() => 값, []); useCallback은...

SequelizeUniqueConstraintError

다음은 프론트 서버에서 saga로 fork를 두번 했을 때 발생하는 에러입니다. 문제상황: 백서버 Sequelize에서 자꾸 유일해야하는 key값이 ‘follow.PRIMARY’: ‘2-1’와 같이 중복된다고 나와서 당황했다. UniqueConstraintError [SequelizeUniqueConstraintError]: Vali...

REST API를 쓰는 이유

ymillonga-sns라는 풀스택 프로젝트를 만들 때 백엔드 서버를 만들면서 가장 헷갈렸던 부분이 프론트에서 axios로 요청을 보낼 때 어떤 메소드(get, post, patch, delete)로 보내야 하는지, 백엔드 서버에서는 그 요청을 받아 어떤 데이터를 보내주는지였다. 예를 들어 프론트 서버에서 로그인 요청을 보낼 때 post 메소드를 쓰...

REACT JSX속성

처음 리엑트로 css를 코드할 때 jsx가 굉장히 어색했었다. 이번 기회에 확실히 집고 넘어가고 싶어서 자료를 찾던 중 잘 설명된 글을 찾았다~~ REACT JSX는 자바스크립트 객체를 변수에 저장하거나 중괄호를 이중으로 작성하여() 인라인으로 작성할 수도 있다. <Button style= /> 이중 중괄호를 잘 살펴보면 바깥쪽의 중괄...

scroll 속성 집고 넘어가기!

프로젝트에서 react로 infinite scrolling을 구현할 때 document와 window의 scroll 값을 구하는 window properties인 scrollY와 Element properties인 clientHeight, scrollHeight의 차이가 헷갈려서 정리해본다. useEffect(() => { ...