• blog logo

    home

  • GitHub
  • nuxtContent로 블로그 마이그레션

    2024-09-20

    • #nuxt
    • #nuxtContent
    • #blog

    nuxtContent로 블로그를 다시 만드는 과정


  • vercel에 storybook을 배포하기

    2024-02-29

    • #storybook
    • #vercel
    • #배포

    vercel에 storybook을 배포


  • neovim의 발을 들이면서...

    2024-02-14

    • #vim
    • #neovim

    neovim을 설정하는 과정


  • 안전한 개발환경을 만들어보자

    2024-01-31

    • #docker
    • #보안
    • #npm
    • #pip

    개발환경의 보안을 신경써봅시다.


  • 자바스크립트 Task Queue 블러킹 풀기

    2023-12-01

    • #Task Queue
    • #자바스크립트

    46주차


  • vitest로 통신 mocking하기

    2023-11-11

    • #vitest
    • #mocking
    • #axios
    • #unhandled rejection

    vitest로 통신 mocking하기


  • go 언어로 TIL-CLI 만들기

    2023-10-14

    • #TIL
    • #CLI
    • #Go
    • #golang

    go 언어로 TIL-CLI 만들기


  • bun 1.0 출시

    2023-09-17

    • #런타임
    • #번들러
    • #패키지 매니저
    • #테크 트렌드 줍줍

    bun 1.0이 출시


  • 마크다운으로 만드는 PPT

    2023-09-11

    • #Markdown
    • #PPT

    마크다운으로 만드는 PPT


  • 이제는 TypeScript 시대에서 JSDoc 시대로...

    2023-09-10

    • #테크 트렌드 줍줍
    • #type gymnastics

    36주차


  • API 통신과 token mocking

    2023-09-01

    • #testing
    • #API
    • #mocking
    • #token

    API 통신에 대해서 token 로직을 포함해 mocking함


  • MSW 번들 사이즈 2배 이벤트

    2023-07-31

    • #error log
    • #vite
    • #IIFE
    • #msw

    MSW 설정하면서 번들사이즈가 2배가 된 문제 해결


  • 에러 바운더리 적용

    2023-07-27

    • #react
    • #error boundary
    • #예외처리

    리액트에서 컴포넌트 차원에서 예외처리하는 방법입니다. 에러를 발생할 수 있고 우아하게 처리하는 방법을 소개합니다.


  • axios, react-query 타입지정

    2023-07-24

    • #typescript
    • #react-query
    • #axios
    • #error log

    axios와 React-Query에 특히 Error에 타입지정하는 여정입니다.


  • 배포 플랫폼 알아보기

    2023-07-23

    • #회고
    • #blog

    백엔드를 배포하는데 deno deploy는 실망스러운 것이 너무 많아서 다른 배포 옵션을 고려하기 시작했습니다.


  • Super Oak로 테스트 코드 작성하기

    2023-07-22

    • #testing
    • #deno
    • #oak

    Super Oak 테스트에 도입했습니다. 부분만 적용할 수 있었습니다.


  • fetch에서 mongoose로 전환

    2023-07-20

    • #mongoDB
    • #mongoose

    빠르고 더럽게 fetch로 만들었던 API를 mongoose로 리팩토링하는 과정을 다룹니다.


  • 리액트 코딩 컨벤션

    2023-07-19

    • #react
    • #코딩 컨벤션

    개인적으로 적용하고 있는 리액트 코딩 컨벤션입니다. 일부는 차용했습니다. 또 배운 것이 있으면 추가할 것입니다.


  • flash card 회고

    2023-07-17

    • #회고
    • #blog
    • #flash card

    flash card 프로젝트 회고입니다.


  • useStopScroll

    2023-07-07

    • #react
    • #custom hook

    스크롤을 정지하는 방법입니다.


  • 이메일 저장하기

    2023-07-06

    • #react
    • #ux
    • #auth

    이메일을 저장하는 방법입니다.


  • react portal

    2023-07-06

    • #react
    • #react portal

    지금 구현해야 하는 것은 삭제시 경고 modal(더 구체적으로 Dialog)입니다. 이 작업을 기록하는 이유는 react portal로 구현하는 것이 처음이기 때문에 기록합니다.


  • nav 라우트를 활용해서 상태관리하기

    2023-07-05

    • #react
    • #react portal

    React-Router-DOM에 대해서 저는 생각보다 모르는 지식이 상당히 많습니다. url path에 접근하는 방법을 이번에 찾게 되었습니다.


  • 서버 key 고정시키기

    2023-07-05

    • #deno
    • #auth
    • #deno deploy

    Deno Deploy로 배포하고 있는데 서버가 재시작하면 Module 스코프로 1번만 실행해야 할 함수 모두 재실행하고 서버의 키가 바뀌는 문제가 발생했습니다. 이 문제를 해결하기 위해서 항상 동일한 key를 만들도록 해결했습니다.


  • request waterfall 해결

    2023-07-03

    • #react
    • #custom hook

    로그인하고 홈페이지로 이동하면 하면 로딩 스피너가 보입니다. 잘 몰랐지만 상당히 기초가 없는 짓이라고 합니다.


  • useOutSideClick

    2023-06-28

    • #react
    • #custom hook

    예전에 포트폴리오 프로젝트를 진행할 때 동료가 custom hook을 추가했었습니다. 하지만 아쉬운 점이 많아서 개선한 버전을 다시 만들었습니다.


  • webp 이미지 처리

    2023-06-26

    • #react
    • #webp
    • #vite

    그냥 vite으로 만든 react에서 webp로 이미지를 처리하는 방법입니다.


  • 2023 StackOverflow Survey

    2023-06-25

    • #StackOverflow
    • #Survey
    • #설문
    • #테크 트렌드 줍줍

    2023 StackOverflow Survey 결과가 나왔습니다. 생각보다 문제가 많은 설문입니다. 하지만 몇가지 인사이트가 있습니다.


  • Jotai provider

    2023-06-24

    • #jotai
    • #provider
    • #jotai - provider
    • #error log
    • #list component for jotai
    • #loop
    • #iteration
    • #local state
    • #client state

    Jotai로 순회할 때 각각의 atom이 독립적인 context를 가져야 할 때 사용할 수 있는 전략입니다.


  • 로그아웃 통신 기만...

    2023-06-23

    • #auth
    • #sign out
    • #log out
    • #react

    오늘은 사용자들에게 로그아웃 통신을 한다고 기만하는 기능을 만들었습니다. 이유는 사실 토큰을 비우는데 그냥 1 ~ 2초 기다리게 만들었습니다.


  • switch case 리팩토링 전략

    2023-06-23

    • #refactoring
    • #JavaScript
    • #switch case

    switch case를 사용할 수 있는 상황이면 `map` 혹은 `object`를 사용할 수 있습니다.


  • 타입에 따라 조건부 랜더링

    2023-06-21

    • #react
    • #conditional rendering
    • #typescript

    switch case 보다 더 깔끔한 in 연산자로 타입에 따라 조건부 랜더링하는 방법입니다.


  • dropdown menu 만들기

    2023-06-21

    • #dropdown menu
    • #dropdown
    • #menu
    • #ui

    dropdown menu 만들는 방법입니다. 의외로 별거 없습니다.


  • 돌아가기만 하는 date formatting

    2023-06-20

    • #javascript
    • #date
    • #그 데이트 아닙니다;;
    • #Intl

    드럽고 끔찍한 코드로 돌아가는 date formatting 하는 방법입니다.


  • falsy를 조심합시다.

    2023-06-19

    • #falsy

    falsy를 조심합시다.


  • 토큰 갱신 처리하기

    2023-06-19

    • #auth
    • #token
    • #axios
    • #jotai
    • #refresh

    토큰 갱신을 위해서 interceptor를 구현한 이야기입니다.


  • 버튼에 로딩 스피너를 추가

    2023-06-19

    • #falsy

    버튼에 로딩 스피너를 추가하는 방법입니다.


  • 로그인, 회원가입 관련 유효성 검증

    2023-06-19

    • #auth
    • #regex

    버튼에 로딩 스피너를 추가하는 방법입니다.


  • 카드 뒤집기

    2023-06-17

    • #react
    • #visibility
    • #backface-visibility
    • #css
    • #emotion

    카드 뒤집기 구현은 생각보다 난이도 있었습니다. 하지만 재미있습니다.


  • 새 React 프로젝트는 vite를 활용해야 하는 이유

    2023-06-11

    • #vite
    • #react
    • #vitest
    • #React.dev
    • #Alias 설정

    이유가 있다면 더 간소하고 성능이 더 좋습니다. HMR 지원이 상당히 빠릅니다.


  • cookie는 도메인이 같아야 주고 받을 수 있습니다.

    2023-06-10

    • #cookie
    • #배포전략
    • #원티드 특강
    • #domain

    우회할 방법은 cookie를 사용 안 하는 것 말고 없습니다.


  • lazy loading은 default export만 지원합니다.

    2023-06-09

    • #frontend
    • #named export
    • #default export
    • #lazy loading
    • #컨테이너 쿼리
    • #container query

    https는 서버만 있으면 됩니다.


  • https 인증은 서버만 필요합니다.

    2023-06-08

    • #https
    • #network
    • #error log

    https는 서버만 있으면 됩니다.


  • 도메인 객체

    2023-06-07

    • #frontend
    • #domain object
    • #font
    • #QDD
    • #frontend testing
    • #BDD
    • #Given-When-Then 패턴

    토큰을 생성, 검증하는 테스트 코드를 작성하는 방법입니다. token을 싱글튼으로 제어하는 것은 일반적이지 않은 패턴입니다. 이부분을 리팩토링하고 테스트합니다.


  • 백엔드 마무리?

    2023-06-06

    • #backend
    • #API 명세서
    • #data routing

    백엔드가 끝났다는 크나큰 저의 착각이었습니다.


  • 토큰 테스트 코드 작성

    2023-06-05-token-testing

    • #token
    • #testing
    • #refactoring

    지금 다시보면 분명 필요 없고 구현만 확인하면 되는데 추가한 테스트 코드를 다룹니다.


  • 22주차 - 테크 트렌드 줍줍

    2023-06-04

    • #테크 트렌드 줍줍

    이런저런 테크 트렌드를 보고 줍줍한 것들입니다.


  • 에러로그: oak testing에서 get과 set은 서로 관련이 없습니다.

    2023-06-03

    • #deno
    • #oak
    • #testing
    • #token
    • #error log

    Deno oak에 테스트 코드를 작성하면서 cookie 설정이 특이하다는 점을 발견했습니다.


  • refresh token과 access token 이해하기

    2023-06-02

    • #token
    • #auth
    • #refresh token
    • #access token

    refresh token과 access token을 이해하기 위해 했던 노력입니다.


  • 리액트 개발 착수

    2023-06-01

    • #msw
    • #MSW Warning
    • #리액트 개발일지

    플레시 카드 프로젝트 프론트엔드 착공시작하고 겪은 일과 생각들입니다.


  • CORS에러와 Deno

    2023-05-31

    • #CORS Error
    • #Deno
    • #Queue Map

    Deno 백엔드를 활용하면서 발생한 CORS 에러를 해결한 이야기입니다.


  • 프론트엔드 관심사 분리

    2023-05-30

    • #react
    • #ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY
    • #pnpm error
    • #vercel Build Failed
    • #routing
    • #index entry

    프론트엔드 엔지니어링 코드의 관심사를 분리하는 방법을 훔쳐배웠습니다.


  • vitest, RTL, MSW 테스트 설정

    2023-05-29

    • #vitest
    • #axios
    • #vite
    • #react
    • #msw
    • #react testing library

    vitest처럼 빠른 테스트러너에 RTL과 MSW를 같이 사용할 수 있게 설정하는 방법을 다룹니다.


  • 공룡이 좋아졌습니다.

    2023-05-28

    • #deno
    • #deno deploy
    • #공룡
    • #리액트 테스트 전략

    deno 런타임에서 axios로 mongoDB랑 통신하는데 에러가 계속됩니다.


  • 에러로그: deno deploy에서는 Worker API를 지원하지 않습니다.

    2023-05-27

    • #deno
    • #deno deploy
    • #error log
    • #bcrypt
    • #worker

    싱글튼 패턴이 적당해보여서 활용했습니다.


  • 에러로그: Connection was forcibly closed by a peer

    2023-05-25

    • #deno
    • #mongoDB
    • #error log

    싱글튼 패턴이 적당해보여서 활용했습니다.


  • 토큰 싱글튼

    2023-05-23

    • #deno
    • #token
    • #singleton

    싱글튼 패턴이 적당해보여서 활용했습니다.


  • 에러로그: 왜 mongoDB는 POST만 허용하는가?

    2023-05-22

    • #deno
    • #axios
    • #mongoDB
    • #error log

    왜 mongoDB는 POST 요청만 허용되어 있는가?


  • 생일 선물 받음

    2023-05-16

    • #docusaurus
    • #blog
    • #birthday

    생일 축하합니다.


  • 생일 선물

    2023-05-15

    • #docusaurus
    • #blog
    • #birthday
    • #astro

    생일 축하합니다.


  • 오늘은 어린이날

    2023-05-05

    • #docusaurus
    • #blog

    사실 어린이 날인 것은 별로 안 중요합니다.


  • 원티드 프리온보딩 과제 - 제출

    2023-04-19

    • #wanted
    • #pre-on-boarding

    원티드 과제 진행과정


  • 원티드 프리온보딩 과제 - 9일차

    2023-04-17

    • #button
    • #wanted
    • #pre-on-boarding

    원티드 과제 진행과정


  • 원티드 프리온보딩 과제 - 8일차

    2023-04-16

    • #button
    • #wanted
    • #pre-on-boarding

    원티드 과제 진행과정


  • 원티드 프리온보딩 과제 - 6일차

    2023-04-15

    • #blog
    • #wanted
    • #pre-on-boarding
    • #Cannot use import statement outside a module
    • #Jest Mocking
    • #jest
    • #try-catch error type

    원티드 과제 진행과정


  • Go 언어 어디에 써야 할까? - 컨프런스 방문

    2023-04-13

    • #blog
    • #컨프런스
    • #golang

    golang 컨프런스를 다녀왔습니다.


  • 원티드 프리온보딩 과제 - 3일차

    2023-04-12

    • #blog
    • #wanted
    • #pre-on-boarding

    원티드 과제 진행과정


  • 원티드 프리온보딩 과제 1, 2일차

    2023-04-10

    • #blog
    • #wanted
    • #pre-on-boarding

    원티드 과제 진행과정


search
  • #access token - 1
  • #Alias 설정 - 1
  • #API - 1
  • #API 명세서 - 1
  • #astro - 1
  • #auth - 6
  • #axios - 5
  • #backend - 1
  • #backface-visibility - 1
  • #bcrypt - 1
  • #BDD - 1
  • #birthday - 2
  • #blog - 10
  • #button - 2
  • #Cannot use import statement outside a module - 1
  • #CLI - 1
  • #client state - 1
  • #conditional rendering - 1
  • #container query - 1
  • #cookie - 1
  • #CORS Error - 1
  • #css - 1
  • #custom hook - 3
  • #data routing - 1
  • #date - 1
  • #default export - 1
  • #deno - 8
  • #Deno - 1
  • #deno deploy - 3
  • #docker - 1
  • #docusaurus - 3
  • #domain - 1
  • #domain object - 1
  • #dropdown - 1
  • #dropdown menu - 1
  • #emotion - 1
  • #ERR_PNPM_LOCKFILE_MISSING_DEPENDENCY - 1
  • #error boundary - 1
  • #error log - 8
  • #falsy - 2
  • #flash card - 1
  • #font - 1
  • #frontend - 2
  • #frontend testing - 1
  • #Given-When-Then 패턴 - 1
  • #Go - 1
  • #golang - 2
  • #https - 1
  • #IIFE - 1
  • #index entry - 1
  • #Intl - 1
  • #iteration - 1
  • #javascript - 1
  • #JavaScript - 1
  • #jest - 1
  • #Jest Mocking - 1
  • #jotai - 2
  • #jotai - provider - 1
  • #lazy loading - 1
  • #list component for jotai - 1
  • #local state - 1
  • #log out - 1
  • #loop - 1
  • #Markdown - 1
  • #menu - 1
  • #mocking - 2
  • #mongoDB - 3
  • #mongoose - 1
  • #msw - 3
  • #MSW Warning - 1
  • #named export - 1
  • #neovim - 1
  • #network - 1
  • #npm - 1
  • #nuxt - 1
  • #nuxtContent - 1
  • #oak - 2
  • #pip - 1
  • #pnpm error - 1
  • #PPT - 1
  • #pre-on-boarding - 6
  • #provider - 1
  • #QDD - 1
  • #Queue Map - 1
  • #react - 15
  • #react portal - 2
  • #react testing library - 1
  • #react-query - 1
  • #React.dev - 1
  • #refactoring - 2
  • #refresh - 1
  • #refresh token - 1
  • #regex - 1
  • #routing - 1
  • #sign out - 1
  • #singleton - 1
  • #StackOverflow - 1
  • #storybook - 1
  • #Survey - 1
  • #switch case - 1
  • #Task Queue - 1
  • #testing - 4
  • #TIL - 1
  • #token - 6
  • #try-catch error type - 1
  • #type gymnastics - 1
  • #typescript - 2
  • #ui - 1
  • #unhandled rejection - 1
  • #ux - 1
  • #vercel - 1
  • #vercel Build Failed - 1
  • #vim - 1
  • #visibility - 1
  • #vite - 4
  • #vitest - 3
  • #wanted - 6
  • #webp - 1
  • #worker - 1
  • #공룡 - 1
  • #그 데이트 아닙니다;; - 1
  • #런타임 - 1
  • #리액트 개발일지 - 1
  • #리액트 테스트 전략 - 1
  • #배포 - 1
  • #배포전략 - 1
  • #번들러 - 1
  • #보안 - 1
  • #설문 - 1
  • #예외처리 - 1
  • #원티드 특강 - 1
  • #자바스크립트 - 1
  • #컨테이너 쿼리 - 1
  • #컨프런스 - 1
  • #코딩 컨벤션 - 1
  • #테크 트렌드 줍줍 - 4
  • #패키지 매니저 - 1
  • #회고 - 2
  • nuxtContent로 블로그 마이그레션
  • vercel에 storybook을 배포하기
  • neovim의 발을 들이면서...
  • 안전한 개발환경을 만들어보자
  • 자바스크립트 Task Queue 블러킹 풀기
  • vitest로 통신 mocking하기
  • go 언어로 TIL-CLI 만들기
  • bun 1.0 출시
  • 마크다운으로 만드는 PPT
  • 이제는 TypeScript 시대에서 JSDoc 시대로...
  • API 통신과 token mocking
  • MSW 번들 사이즈 2배 이벤트
  • 에러 바운더리 적용
  • axios, react-query 타입지정
  • 배포 플랫폼 알아보기
  • Super Oak로 테스트 코드 작성하기
  • fetch에서 mongoose로 전환
  • 리액트 코딩 컨벤션
  • flash card 회고
  • useStopScroll
  • 이메일 저장하기
  • react portal
  • nav 라우트를 활용해서 상태관리하기
  • 서버 key 고정시키기
  • request waterfall 해결
  • useOutSideClick
  • webp 이미지 처리
  • 2023 StackOverflow Survey
  • Jotai provider
  • 로그아웃 통신 기만...
  • switch case 리팩토링 전략
  • 타입에 따라 조건부 랜더링
  • dropdown menu 만들기
  • 돌아가기만 하는 date formatting
  • falsy를 조심합시다.
  • 토큰 갱신 처리하기
  • 버튼에 로딩 스피너를 추가
  • 로그인, 회원가입 관련 유효성 검증
  • 카드 뒤집기
  • 새 React 프로젝트는 vite를 활용해야 하는 이유
  • cookie는 도메인이 같아야 주고 받을 수 있습니다.
  • lazy loading은 default export만 지원합니다.
  • https 인증은 서버만 필요합니다.
  • 도메인 객체
  • 백엔드 마무리?
  • 토큰 테스트 코드 작성
  • 22주차 - 테크 트렌드 줍줍
  • 에러로그: oak testing에서 get과 set은 서로 관련이 없습니다.
  • refresh token과 access token 이해하기
  • 리액트 개발 착수
  • CORS에러와 Deno
  • 프론트엔드 관심사 분리
  • vitest, RTL, MSW 테스트 설정
  • 공룡이 좋아졌습니다.
  • 에러로그: deno deploy에서는 Worker API를 지원하지 않습니다.
  • 에러로그: Connection was forcibly closed by a peer
  • 토큰 싱글튼
  • 에러로그: 왜 mongoDB는 POST만 허용하는가?
  • 생일 선물 받음
  • 생일 선물
  • 오늘은 어린이날
  • 원티드 프리온보딩 과제 - 제출
  • 원티드 프리온보딩 과제 - 9일차
  • 원티드 프리온보딩 과제 - 8일차
  • 원티드 프리온보딩 과제 - 6일차
  • Go 언어 어디에 써야 할까? - 컨프런스 방문
  • 원티드 프리온보딩 과제 - 3일차
  • 원티드 프리온보딩 과제 1, 2일차