목록전체 글 (159)
게으른개발너D
AI에게 코드를 작성해 달라고 요청했는데 결과물이 마음에 들지 않는 경우가 있다. 요구사항을 제대로 반영하지 않거나, 기존 프로젝트에 없는 라이브러리를 사용하거나, 이미 구현된 공통 기능을 새로 만들기도 한다. 간단한 기능 하나를 수정했을 뿐인데 관련 없는 파일까지 변경하는 경우도 있다. 이럴 때 가장 먼저 떠올리는 해결책은 프롬프트를 더 자세하게 작성하는 것이다. 물론 구체적인 프롬프트는 중요하다. 하지만 모든 작업에서 프로젝트 구조와 개발 규칙을 반복해서 설명해야 한다면 효율적인 협업이라고 보기 어렵다. 실무에서 필요한 것은 매번 긴 프롬프트를 작성하는 기술이 아니다. 프로젝트의 공통 규칙은 문서로 관리하고, 작업별 요구사항은 프롬프트로 전달하며, 결과물은 명확한 완료 기준으로 검증하는 것. 이 글에..
AI와 협업하는 개발자는 무엇이 달라야 할까?요즘은 AI에게 프롬프트 몇 줄만 입력해도 웹사이트를 만들고, 컴포넌트를 구현하고, API를 연결할 수 있다.그렇다면 개발자는 이제 원하는 기능을 설명하는 능력만 갖추면 되는 걸까?실제 프로젝트는 그렇게 단순하지 않다. 😫 하나의 서비스를 만들기 위해서는 기획자의 요구사항을 이해해야 하고, 디자이너의 의도를 구현 가능한 형태로 해석해야 한다. 기존 시스템의 구조와 규칙을 파악해야 하며, 다른 개발자와 충돌하지 않도록 작업 범위를 나누어야 한다. 구현이 끝난 뒤에도 테스트와 코드 리뷰, 성능 개선, 유지보수가 기다리고 있다. AI가 코드를 작성할 수 있게 되었다고 해서 이러한 과정이 사라지는 것은 아니다. 오히려 코드를 빠르게 생성할 수 있기 때문에 잘못된 설..
자바스크립트로 웹 개발을 하다 보면 document.querySelector(), fetch(), localStorage 같은 기능을 자연스럽게 자주 사용하게 된다. 그런데 문득 이런 생각이 들었다. “내가 뭘 갖다 쓰는 거지!??” 이럴 때 찾는 사이트는 MDNhttps://developer.mozilla.org/en-US/docs/Web/API Web APIs | MDN developer.mozilla.org MDN의 Web > Web API 페이지에 들어가 보니 생각보다 API가 매우 많고! 심지어 알파벳순으로 정리되어 있다!! 페이지에는 Specifications와 Interfaces라는 목록이 따로 있었고, API마다 어떤 페이지에는 Interfaces가, 어떤 페이지에는 Properties나 ..
Step8. 브라우저 동작 확인 지금까지 만든 전체 플로우를 실제로 검증할 것이다.코드가 빌드되는 것과 실제로 동작하는 건 다르기 때문! npm run dev 서버 정상 기동되면 http://localhost:3000 을 브라우저에서 열어서 아래 순서로 테스트해준다. 페이지 진입시 /login 페이지로 진입한다. 테스트 시나리오 시나리오 1 — Protected Route 차단 확인http://localhost:3000/home 직접 접근예상: 스피너가 잠깐 보이다가 /login으로 리다이렉트 시나리오 2 — 로그인 유효성 검사 확인http://localhost:3000/login 접근빈 폼으로 Submit예상: "이메일을 입력해주세요.", "비밀번호를 입력해주세요." 인라인 에러 표시이메일에 a..
Step7. Protected Route + useAuthMe 이 단계가 인증 아키텍처에서 가장 복잡한 부분이다. 두 가지 문제를 동시에 해결해야 한다. 문제 1: 새로고침하면 access token(메모리)이 날아간다. 로그인 상태인데 로그인 페이지로 튕기면 UX가 망가진다.문제 2: 비인증 사용자가 /home에 직접 접근하면 막아야 한다. 해결 전략(dashboard)/layout.tsx └── 마운트 시 GET /auth/me 호출 ├── 성공 → access token 복구 + 사용자 정보 Zustand에 저장 → 페이지 렌더 ├── 401 → refresh token으로 재발급 시도 (axios interceptor가 자동 처리) │ ├── 재발급..
Auth Project - Step0. 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으며 공부 또한 안했음..나중엔lazyhysong.tistory.com Auth Project - Step1. 프로젝트 초기 세팅Auth Project 1 - 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으lazyhysong.tistory.com Auth Project - Step2. Axios 인스턴스 + Interceptor 설계Auth Pro..
Auth Project - Step0. 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으며 공부 또한 안했음..나중엔lazyhysong.tistory.com Auth Project - Step1. 프로젝트 초기 세팅Auth Project 1 - 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으lazyhysong.tistory.com Auth Project - Step2. Axios 인스턴스 + Interceptor 설계Auth Pro..
Auth Project - Step0. 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으며 공부 또한 안했음..나중엔lazyhysong.tistory.com Auth Project - Step1. 프로젝트 초기 세팅Auth Project 1 - 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으lazyhysong.tistory.com Auth Project - Step2. Axios 인스턴스 + Interceptor 설계Auth Pro..
Auth Project - Step0. 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으며 공부 또한 안했음..나중엔lazyhysong.tistory.com Auth Project - Step1. 프로젝트 초기 세팅Auth Project 1 - 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으lazyhysong.tistory.com Auth Project - Step2. Axios 인스턴스 + Interceptor 설계Auth Pro..
Auth Project - Step0. 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으며 공부 또한 안했음..나중엔lazyhysong.tistory.com Auth Project - Step1. 프로젝트 초기 세팅Auth Project 1 - 폴더 구조 설계이건 프론트엔드 기술에 뒤처진 나를 위한 self course 이다.회사에서 2년동안 운영 업무를 맡다보니 신규로 프로젝트를 진행하는 일이 없고, 최신 기술을 쓸 일이 없으lazyhysong.tistory.com Step2. Axios 인스턴스 + Interceptor 설계 이 단계가 전체 인증 아키텍처의 핵심이다..
