전체 글61 비트윈톤(BetweenTone) 출시 첫 주 회고: 예상치 못한 관심에서 배운 것들 🎯 들어가며"대AI 시대에 대화 속 숨겨진 감정을 AI가 분석하고 답변을 추천해주면 어떨까?" 라는 단순한 아이디어에서 시작한 프로젝트가 출시 첫 주에 예상보다 많은 관심을 받았습니다. 첫 5일간 일 트래픽이 최대 33,000건까지 올랐고, 이후 일 평균 10,000건 수준을 유지하고 있습니다. 이 글에서는 개인 프로젝트를 출시하고 실제 사용자들을 만나며 배운 솔직한 경험들을 공유하고자 합니다.📊 숫자로 보는 첫 주의 성과트래픽 추이Day 1: 15.7k (초기 공개)Day 2: 33.0k (입소문 확산)Day 3: 33.1k (관심 지속)Day 4: 33.6k (피크 달성)Day 5: 28.5k (자연스러운 조정 시작)Day 6-7: 평균 10k (실제 수요 수준)솔직히 말하면, 초기의 폭발적인 트.. 2025. 7. 23. React에서 사용자 친화적인 시간 입력 컴포넌트 만들기 들어가며웹 애플리케이션에서 시간 입력은 생각보다 까다로운 UX 과제입니다. 사용자는 빠르고 직관적으로 시간을 입력하길 원하지만, 잘못된 입력을 방지하고 일관된 형식을 유지해야 하는 개발자의 요구사항도 충족해야 합니다.이 글에서는 React를 사용하여 사용자 친화적인 시간 입력 컴포넌트를 구현한 경험을 공유하고자 합니다.기존 시간 입력의 문제점일반적인 시간 입력 방식의 문제점들:형식 강제: "HH:MM" 형식을 엄격하게 요구하여 사용자가 실수하기 쉬움범위 검증 부재: 25:00, 14:75 같은 잘못된 시간 입력 가능불편한 수정: 콜론(:) 위치에서 백스페이스 시 예상치 못한 동작타입 에러: 숫자가 아닌 문자 입력 가능개선된 시간 입력 컴포넌트 기능1. 실시간 범위 검증 - 리팩토링된 접근 방식먼저 매직 .. 2025. 7. 19. React 메모이제이션 가이드 - useCallback 중심의 2025년 성능 최적화 🚀 React 19 시대의 성능 최적화, 무엇이 달라졌을까?2025년, React 생태계는 큰 변화를 맞이했습니다. React 19의 등장과 함께 도입된 React Compiler는 자동 메모이제이션을 제공하며, useOptimistic, useActionState 같은 새로운 훅들은 사용자 경험을 한 단계 끌어올렸습니다.그렇다면 이제 useCallback은 더 이상 필요 없는 걸까요? 답은 "아니오"입니다. 오히려 언제, 어떻게 사용해야 하는지에 대한 판단이 더욱 중요해졌습니다.🎯 이 글을 읽고 나면React 19 환경에서 useCallback의 역할과 위치를 정확히 이해할 수 있습니다React Compiler와 수동 최적화의 적절한 균형점을 찾을 수 있습니다새로운 훅들(useOptimistic, .. 2025. 7. 14. Next.js 프로젝트에 TypeScript 타입 체크 설정하기: 놓치기 쉬운 필수 설정 Next.js 프로젝트에 TypeScript 타입 체크 설정하기: 놓치기 쉬운 필수 설정Next.js로 새 프로젝트를 시작할 때 npx create-next-app@latest를 사용하면 TypeScript가 기본으로 설정되지만, 의외로 타입 체크 명령어는 포함되어 있지 않습니다. 이 글에서는 Next.js 15와 TypeScript 5.x 환경에서 타입 체크를 설정하는 간단하면서도 유용한 방법을 소개합니다.알고 계셨나요? Next.js의 next build 명령어는 기본적으로 타입 체크를 수행하지만, 개발 중에는 별도의 타입 체크 명령어가 필요합니다.왜 타입 체크가 필요한가요?Next.js의 개발 서버(next dev)는 실시간으로 타입 에러를 보여주지만, 다음과 같은 상황에서는 별도의 타입 체크가 필.. 2025. 7. 14. [Next.js14.0.2] Yarn berry v4 적용 후 체감 성능 비교(feat. Yarn berry v3, yarn, 배포: vercel) ※ 비교한 내용만 있을 뿐 적용 방법은 포함되어 있지 않습니다. ※ Next.js 14.0.2 버전이며, Vercel이 아닌 다른 곳에 배포 시 결과가 다를 수 있습니다. 비교 대상: yarn berry v3, yarn 테스트 배포 사이트: Vercel 테스트 항목: dependency 최초 설치 속도 git에 대한 부하 Vercel에 배포 시 CI 속도 dependency가 추가 됐을 때 dependency 변경 없을 때 Yarn dependency 최초 설치 속도 Yarn berry v3보다 빠름 ( Yarn berry v3는 처음 dependency를 설치 할 때 캐시를 같이 추가하기 때문으로 보임) git에 대한 부하 node_modules에 패키지들이 있으며, gitIgnore에 있으므로 git.. 2023. 11. 28. [Error] Next.js14.0.3에서 three/drei 라이브러리 에러 💣Attempted import error: 'webgl-sdf-generator' does not contain a default export (imported as 'createSDFGenerator') 에러 환경: Window IDE: Vscode 프레임워크 버전: Next.js14.0.3 오류 난 라이브러리 이름/버전: @react-three/drei: 9.75.0 최근 업데이트한 Next.js 14.0.3에서 three/drei를 import하여 사용만 해도 위와 같은 에러 메세지가 나옴. dev모드인 경우 log에 계속 에러가 나오고 있는 상황이며, createSDFGenerator를 사용하지 않는 컴포넌트는 동작함. vercel에 테스트 배포를 실험해 본 결과, 아래 사진과 같이 error를.. 2023. 11. 27. git에서 잘못 올린 파일의 이전 내역을 전부 제거하는 방법 😊 이 글을 쓰게 된 계기 처음부터 잘 설정하여 env파일 같은 중요파일을 .gitignore에 잘 설정하여 올리면 아무 문제 없지만 나중에서야 그런 부분을 캐치하게 되면 마음이 아픕니다. 나중에 알게 됐기 때문에 그 이전에 올린 git 이력들에 포함 된 history가 많으면 많을 수록 더욱 심란해지죠... 그러한 일이 없길 바라지만 있다면 있다면 손가락만 빨 순 없으니 최근 이런 심란한 일을 겪은 김에 해결방법을 공유 합니다. 👩💻 해결 방법 가. 파일 삭제 1) 전체 branch에서 파일을 삭제하는 경우 맨 마지막에 보이는 cat 단어 뒤에 붙는 -- --all 을 붙이는 경우 모든 branch에 있는 파일을 삭제하게 됩니다. git filter-branch --force --index-filte.. 2023. 10. 12. Next.js13 프로젝트에서 yarn start(or npm run start) 스크립트를 실행했을 때 실행되는 코드 분석 Next.js - next-start code #!/usr/bin/env node import arg from 'next/dist/compiled/arg/index.js' import { startServer } from '../server/lib/start-server' import { getPort, printAndExit } from '../server/lib/utils' import isError from '../lib/is-error' import { getProjectDir } from '../lib/get-project-dir' import { CliCommand } from '../lib/commands' import { resolve } from 'path' import { PHASE_P.. 2023. 6. 28. 이전 1 2 3 4 ··· 8 다음