문제점 임시회원이 회원가입을 하는 요청을 전송할 때 기존 임시회원 id를 보내지 않는 문제가 발생했다 배경 회원가입 페이지의 useEffect에서 auth0 인증의 callback을 탐지해 회원 정보를 생성하는 요청을 보낸다. 그러나 인증정보 컴포넌트의 useEffect가 먼저 실행되어 임시회원의 인증정보를 지운다. 따라서 회원가입 요청을 보내는 시점에서는 임시회원의 id가 이미 지워져 있었다. 기존에는 이를 해결하기 위해 backup을 사용했으나, 백업 시점이 임시회원 id가 이미 지워진 후라 정상 작동하지 않았다. 해결법 그러나 인증정보 삭제 이전에 백업 코드를 넣기보다는, 임시회원 인증정보가 지워지는 시점을 회원가입 요청 성공 callback으로 변경하여 회원가입 요청을 보내는 시점에는 임시회원 인..
All
1. 모바일 기기와 개발 중인 컴퓨터를 같은 네트워크(와이파이)로 연결한다 2. 터미널에서 다음 명령어를 입력한다 ifconfig | grep "inet " | grep -v 127.0.0.1 3. 모바일 기기의 주소창에 결과로 나온 ip 주소를 입력하고 끝에 포트를 붙여 접속한다 (보통 :3000)
개발자의 평생공부 제품을 잘 설계해서 정해진 시간 안에 출시함으로써 회사의 비즈니스에 결정적인 도움을 주는 것 요구사항을 날카롭게 분석 꼼꼼한 설계 정밀한 테스트 구현 능력 필요한 추상을 만들어냄 새로운 구조물의 상호작용 데이터의 무결성 성능 트렌드에 필요한 것은 가벼운 눈팅이지 공부가 아니다. 공부는 본질에 다가서려는 노력이다. (트렌드를 따라가려면 눈팅을 잘 하면 된다. 너무 큰 노력 x) (눈팅을 자주하자) 실력은 알고있는 지식의 총량이 아니다 임기응변 집중력 해결해야 하는 문제를 알아채는 감각 처음 본 문제를 해결하는 능력 ⇒ 고통으로 부터 나온다. 실력은 고통의 총합이다 (노오~력이다) 영원히 볼 일이 없는 글을 저장하는 행위는 쇼핑몰 사이트에서 위시리스트나 보관함에 마음에 드는 상품을 담는 심..
https://github.com/apollographql/apollo-client/issues/7436#issuecomment-821243699 Infinite loop when using a cache-and-network fetchPolicy · Issue #7436 · apollographql/apollo-client Intended outcome: I have a component that retrieves some data using useQuery and renders a chart. Until now I used these options: fetchPolicy: 'cache-and-network', nextFetchPolicy: 'cac... github.com `useQuery( QUER..
프로그래밍을 하다 보면 설계 상으로는 모듈이나 컴포넌트를 분리하고 상속하는 것이 바람직한데, 이것을 사람이 이해할 수 있는 한가지 개념, 단어로 치환하는 것이 어려울 때가 있다. 나는 그럴 때 분리했을 때의 효용(주로 재사용성)을 고려한다. 재사용되지 않고, 앞으로도 재사용할 지 알 수 없다면 일단 가독성 쪽의 손을 들어준다. 또 그렇게 하는 편이 오버 엔지니어링을 방지하는 데 좋기도 하다. 필요하면 그 때 리팩토링하면 되니까. 그러나 분리하고 상속했을 때 재사용하여 유지보수성에서 이득을 얻을 수 있다면 분리한다. 고심해서 이름을 짓기는 하는데 누군가 처음 보면 이상하다고 생각할 길고 해괴한 이름들은 보통 이렇게 만들어진다. 이를테면 오늘은 전에 작업한 것과 비슷한 요구사항에 대응하기 위해서 기존 컴포넌..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FE8Uri%2FbtrazM616GC%2FQWTAZDpRp5IGABZ6Z0WWsk%2Fimg.png)
좋아하는 일을 하다보면 잘하게 된다. 흔히 퍼져있는 믿음이다. 그러나 이런 통설과는 다르게 즐기기만 하다 보면 자동으로 탁월한 실력을 갖게 되는 것은 아니다. 지식과 자신감 간의 관계를 설명하는 더닝 크루거 곡선의 축을 노력과 재미로 치환해도 크게 다르지 않다고 생각한다. 위 그래프에 따르면 무지의 꼭대기에서 큰 재미를 얻을 수 있는데, 목표가 재미인 사람은 저 구간에 집중해야 효율이 좋을 것이다. 노력대비 쉽게 큰 성취감을 맛볼 수 있는 구간이다. 우리가 쉽게 접근할 수 있는 자료(도서, 강의 등)도 대부분 이 구간을 대상으로 한다. 하지만 높은 성과를 이뤄내려면 결과물에 이르기까지 시간도 오래 걸리고 고통이 뒤따른다. 이 과정은 재미가 없을수도 있다. 어려운 내용을 이해하고 해결책을 찾느라 두통이 올..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2F8RULx%2FbtrapsMO1FY%2FjjazNJarOEOs828F6k4Rik%2Fimg.png)
Get started Javascript라는 네이밍은 마케팅을 위한 결과물 공식 이름은 ECMAScript TC39와 ECMA가 표준으로 지정 TC39 협회는 웹과 관련된 다양한 회사(브라우저, 디바이스 등)의 직원들로 구성 JS 표준은 웹에서 구현되는 것만 관여한다 모든 것이 JS는 아니다 alert(), getCurrentLocation() 등은 JS가 아닌 JS처럼 생긴 Web API fs.write() 등은 Node.js의 빌트인 모듈에서 나오는 api 메소드 console.log() 역시 꽤 많은 환경에서 지원하는 메소드일 뿐! 항상 JS 환경은 아니다 브라우저의 Dev tool(REPL - Read Evaluate Print Loop, console)은 실제 JS 환경이 아니다! 해결법에 대한..
![](https://img1.daumcdn.net/thumb/R750x0/?scode=mtistory2&fname=https%3A%2F%2Fblog.kakaocdn.net%2Fdn%2FIPhnQ%2FbtrastxLznq%2Fkfk9QKhqkav86lvngrXbeK%2Fimg.png)
단축키는 마우스로 손이 이동하는 시간을 줄여 생산성을 향상시켜 준다. 윈도우 키보드 기준 파일 탐색 폴더 열기(VSCode 루트 디렉토리로): Ctrl + K, O 파일 열기: Ctrl + P 마우스로 디렉토리 창을 보는 시간을 줄일 수 있다 (리눅스 터미널에서) code 파일명 ex) code ../utils/common.js 터미널 창을 따로 띄우거나, 아래 소개할 Ctrl + `으로 터미널 창을 열고 사용한다 새 창: Ctrl + Shift + N VSCode를 하나 더 켠다 (프로세스를 하나 더 생성) 주로 다른 프로젝트의 코드를 참고할 때 쓴다 새 파일 생성: Ctrl + N Ctrl + S로 저장까지 해야 파일이 생성된다! 사람에 따라서는 리눅스의 touch가 더 편할수도 있다 얘는 디렉토리도..