| 일 | 월 | 화 | 수 | 목 | 금 | 토 |
|---|---|---|---|---|---|---|
| 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 |
- 항해99
- 인스타그램
- 프로그래머스
- Git
- AWS
- 클론코딩
- Firebase
- 파이어베이스
- WIL
- 프론트엔드
- til
- 미니프로젝트
- DoM
- python
- 리덕스
- 실전프로젝트
- CS
- javascript
- 에러해결
- 네트워크
- 알고리즘
- 카카오맵
- 리액트
- react
- frontend
- CS스터디
- 에어비엔비
- 개발자
- Ref
- 자바스크립트
- Today
- Total
목록전체 글 (99)
개발스터디일지
react에서 firebase 인증으로 로그인을 구현하고, 마이페이지에서 현재 로그인하고 있는 사용자의 정보를 불러왔다. import { auth, db } from '../shared/firebase' const Mypage = ()=>{ const user = auth.currentUser; return( {user?.email} ) } 👇 처음 마이페이지에 들어갈 경우, user.email이 잘 뜬다. 👇 하지만 새로고침을 하게 되면 user.email이 null로 뜨면서 아이디가 뜨지 않는다. 다른 페이지로 갔다가 다시 마이페이지로 오면 아이디가 뜬다. 👊 해결책 비동기로 현재 로그인이 되어있는지 체크해주고 (loginCheck), 로그인이 되어있을 경우(is_login -> true) user...
자바스크립트에서 사용하는 콜백 (callback) 함수와 콜백함수를 간결하게 보여주는 promise, promise의 .then 지옥을 벗어나게 해주는 async await에 대해 정리해본다. 비동기 처리란 무엇인가 비동기라는 말을 알기 위해서 동기의 뜻을 알아야한다. 자바스크립트는 맨위에 있는 코드부터 시작해서 아래의 코드까지 차례차례 순서대로 실행이 된다. (= 이를 동기적 처리라고 부른다.) 때문에 무거운 데이터 처리를 하는 코드를 실행하는 경우 시간이 오래 걸리게 되고, 아래에 있는 코드들이 실행되지 못하고 기다리게 된다. 반면, 비동기 처리는 위에 있는 코드들이 모두 처리될 때까지 기다리지 않고 실행되기 때문에 속도 저하를 방지할 수 있다. (비동기는 언제 실행이 되는 지 정확히 알 수 없다) ..
맥북을 새로 들이면서 node, npm, yarn 설치 방법을 다시 복기한다 우선, 맥에서 개발 환경을 세팅할 때에는 Homebrew를 설치해야 한다. Homebrew 설치방법 - 터미널에 아래의 스크립트를 붙여넣기 한다. /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" - 엔터를 누르면 터미널에 맥의 개인 비밀번호를 입력하라고 나온다. 비밀번호 입력 시 키보드를 눌러도 터미널에 보이지는 않으니 '왜안써져..?'하지 말고 비번 누르고 엔터치면 자연스럽게 진행이 된다. node, npm 설치 방법 - 설치가 완료되면 아래의 코드를 터미널에 입력해서 버전을 확인해본다 brew inst..
클로저란? 자신이 선언될 당시의 환경을 기억하는 함수 클로저는 특정 상황에서 발생하는 '현상'이고, 함수는 이 현상이 나타나기 위한 '조건'이다. 내부함수가 외부함수의 맥락에 접근할 수 있고, 외부함수는 외부함수의 지역변수를 사용하는 내부함수가 소멸 될 때까지 소멸되지 않는다. ☝️ 중첩함수에서의 클로저 function outter(){ var title = 'hello'; function inner(){ alert(title) } inner(); } outter(); //hello 내부함수인 inner가 외부함수인 outter의 변수인 title을 사용할 수 있다. ☝️ 외부함수가 종료되었음에도 외부함수 안의 내부함수를 통해 외부함수를 실행시킬 수 있다. function outter(){ var tit..