전체 글
-
인스타 브레인 : 몰입을 빼앗긴 시대, 똑똑한 뇌 사용법 - 안데르스 한센서평 2022. 8. 26. 13:16
인류가 최초로 탄생한 이후 우리가 스마트폰과 인터넷이 있는 시대에 산 것은 전체의 0.0001%라고 한다. 그렇기 때문에 우리가 생각하기 불합리하다고 생각하는 감정들이 계속 이어지는 것이다. 인상 깊었던 부분은 스마트폰이라는 새 시대를 연 스티븐 잡스는 자녀의 스마트폰 사용 시간을 제한했고, 개인용 컴퓨터의 혁신을 일으킨 Windows를 만든 빌 게이츠 역시 14세 전까지 아이의 휴대전화 사용을 금지했다고 한다. 책에서는 이 이유에 대해 도파민을 이야기한다. 인간의 보상 시스템인 도파민은 이전에는 분명 더 많은 보상과 유전자 보존을 위해 꼭 필요한 요소였다. 도파인은 보상과 더불어 멀티태스킹에서도 분비된다고 한다. 인간은 매 순간 위험과 공존했기 때문에 항상 온전히 한 가지에 집중하지 못했다는 것이다. ..
-
NextJS API 활용하기 (feat. Prisma, Planetscale)Next.js 2022. 8. 23. 16:35
(해당 글은 next@12.2.2, prisma@4.1.1, pscale@0.112.0을 기반으로 작성되었습니다.) 1. NextJS Api Router nextJS의 9 버전은 여러 의미로 큰 변화가 있던 버전이라고 생각한다. 단순히 React의 프레임워크를 뛰어넘어 내부에서 server를 사용할 수 있게 된 버전이기 때문이다. 그 방법 역시 무척 간단한데 pages 폴더 내부에 api폴더를 만들고 사용하려는 api의 이름으로 js(ts) 파일을 만들어 사용하기만 하면 되는 방식이었다. 이것으로 이제 간단한 Serverless 환경의 개발이 가능하게 변경되었다. 그리고 이제 nextJS가 12 버전까지 오르며 ISR이나 edge runtime 등의 기능이 추가되며 Next 역시 앞으로의 발전 방향에 A..
-
부자의 그릇 : 돈을 다루는 능력을 키우는 법 - 이즈미 마사토서평 2022. 8. 22. 16:18
돈은 신용이 있는 사람에게만 전달된다. 그리고 신용이 높으면 그만큼 많은 돈이 ‘기회’라는 얼굴로 접근한다. 부자의 그릇은 자기 개발서를 썰의 형태로 풀어서 작성하는 것으로 누구나 어렵지 않게 읽을 수 있다는 장점이 있다. 이 책은 어찌 보면 너무나 당연한 이야기를 하고 있다고 생각할 수 있지만, 또한 새로운 관점으로 생각할 수 있는 시간을 주는 책이었다. 사업에 성공하다가 실패하는 이들은 대부분 운이 나빴다고 말한다. 하지만 이 책에서는 제목에서 처럼 나의 그릇이 그만큼의 금액을 담을 정도가 아니기에 흘러내렸다고 말한다. 그리고 이 그릇이 나의 신용이라고 설명한다. 그릇이라는 말 보다 신용이라는 말에 나는 조금 더 많은 생각이 들었다. 신용은 지나온 나의 행동과 결정의 결과이고, 돈 보다 중요한 것은 ..
-
역행자 돈·시간·운명으로부터 완전한 자유를 얻는 7단계 인생 공략집 - 자청서평 2022. 8. 19. 17:35
타고난 운명 그대로 평범하게 사는 95퍼센트의 사람을 순리자라 하자. 그러나 정해진 운명을 거스르는 능력을 가진 5퍼센트를 역행자라고 부르자. 1. 역행자로 가는 7 단계 1. 자의식 해체 자의식 해체가 가져다주는 결과는 '자유'다. 자의식 해체의 3단계 탐색 : 자신의 기분 변화 등을 잘 관찰하고, 이 기분이 어디에서 오는지 확인한다. 인정 :기분 변화의 이유를 객관적으로 잘 살펴보고, 현재 자신의 처지와 비교해서 인정할 것은 순순히 인정한다. 전환 :인정을 통해 열등감을 해소하고, 이걸 변화의 계기로 삼기 위한 액션 플랜을 만든다. 2. 정체성 만들기 아직까지 이 책을 덮지 않고 내 얘기를 진지하게 읽어주고 있다면, 앞에서 나의 지질한 과거를 읽으면서 ‘이랬던 사람도 책을 읽고 변했는데, 나도 할 수..
-
React 최신 상태관리 라이브러리 비교하기 (feat. zustand, redux-toolkit, jotai, recoil)React 2022. 8. 16. 17:28
1. redux-toolkit(rtk)을 그만 사용하려는 이유 나의 경우 react를 시작하고 redux-saga -> mobx -> redux-saga -> redux-toolkit 순으로 사용했을 정도로 redux의 사용을 좋아하고 즐겨 사용했다. 하지만 이제 api 통신을 react-query로 변경하고 프로젝트를 진행하는 요즘에는 rtk를 통한 글로벌 상태 관리를 하는 경우가 무척 줄어들거나 아예 사용하지 않는 프로젝트들이 생겨났다. 상황이 이렇게 되니 rtk의 단점들이 보이기 시작했고 두 가지 글로벌 상태 관리 라이브러리를 선택했다. 2. zustand와 jotai 두 라이브러리는 각각 독일어와 일본어로 상태를 뜻하는 단어로 이름에서 알 수 있듯이 모두 Poimandres의 카토 다이시가 주가 ..
-
NextJS에서 react-query 사용하기Next.js 2022. 8. 15. 17:00
(해당 글은 next@12.2 react-query@3.39.1을 바탕으로 작성되었습니다.) 1. 왜 react-query인가? 이제 개발을 할 때 react-query는 필수에 가까운 요소가 됐다. 물론 NextJS를 사용하고 문서를 읽어본 사람들이라면 이런 의문을 가질 수 있다. swr이 있는데? 물론 두 라이브러리 모두 좋은 라이브러리이다. 하지만 react-query를 사용해야 되는 이유를 간략하게 설명하겠다. 1. swr은 데이터 패칭(fetching)을 위한 리액트 훅이다. 이 말을 간단하게 이야기하자면 swr과 react-query는 get을 위한 useQuery는 존재한다. 그러나 post를 위한 useMutation은 react-query에만 존재한다. 물론 swr 역시 mutate가 있..
-
NextJS 사이트맵(Site Map) 만들기Next.js 2022. 7. 14. 16:47
(해당 글은 next@12.2 next-sitemap@3.1을 바탕으로 작성되었습니다.) 1. Site Map은 왜? 모든 게 다 좋아 보이는 NextJS를 사용할 때 문제가 되는 부분이 있다. 바로 사이트맵을 생성하는 일이다. 물론 사이트맵을 생성하지 않는 방법도 있다. 실제로 구글에서는 아래와 같이 사이트 맵의 필요성을 정의하고 있다. 매우 큰 사이트. 크기로 인해 Google 웹 크롤러가 신규 또는 최근에 업데이트된 페이지를 지나칠 수 있습니다. 서로 잘 연결되지 않거나 전혀 연결되지 않는 콘텐츠 페이지를 보관 처리하는 대규모 자료실이 있는 사이트. 사이트 페이지가 서로 자연스럽게 참조되지 않는 경우 페이지를 사이트맵에 표시하면 Google이 일부 페이지를 누락하는 일이 생기지 않습니다. 연결되는 ..
-
Lazy initialization로 useState 최적화하기Tip 2022. 6. 27. 17:43
react로 프로젝트를 만들 때면 생각보다 초기값을 넣어주고 해당 값이 앱을 재 실행하기 전까지 변하지 않는 경우가 많다. 평소라면 이런 초기값 할당은 큰 문제가 없다. 하지만 초기값으로 복잡한 값을 할당하거나 한 경우 reRender를 실행할 때마다 해당 함수가 계속 재 실행되게 되어 불필요한 낭비가 발생한다. 이를 해결하는 것은 무척 간단하다. const getLocalData = () => window.localStorage('cacheCount'); // 평소 [count, setCount] = useState(getLocalData()); // Lazy Initialization [count, setCount] useState(()=> getLocalData()); 위와 같이 useState의 ..