본문으로 건너뛰기

태그

태그

71개의 글

관심 주제로 글 모아보기

개발

Claude 모델 고르기 — 똑똑한 것부터 시작하라

1. 이 글은 무엇에 관한 글인가? 한 줄로 요약하면 이렇습니다. "싼 모델부터 써보고 부족하면 올린다"는 순서가 뒤집혔습니다. 지금 권장되는 순서는 가장 똑똑한 모델로 시작해서, effort(노력 수준)를 낮춰가며 비용을 맞추는 것 입니다. 어제 글(덜어내는 컨텍스트 엔지니어링)에서…

개발

Claude 5 세대의 컨텍스트 엔지니어링 새 규칙

1. 이 글은 무엇에 관한 글인가? 한 줄로 요약하면 이렇습니다. "AI에게 규칙을 더 많이 적어줄수록 잘한다"는 상식이 뒤집혔습니다. Anthropic은 Claude Code의 시스템 프롬프트에서 80% 이상을 삭제 했고, 코딩 평가 점수는 떨어지지 않았습니다. 지난 글들에서 저는…

개발

TypeScript 7.0

TypeScript 7.0 출시: Go로 다시 쓴 네이티브 컴파일러 TypeScript 7.0이 공식 출시되었습니다. 이번 메이저 버전의 핵심은 컴파일러를 Go 언어로 완전히 다시 이식(native port) 한 것입니다. 10년 넘게 JavaScript로 작성되어 온 tsc 를…

개발

Vite 8.0

Vite 8.0 출시: 통합 툴체인 및 마이그레이션 가이드 2026년 3월 12일, Vite 8.0이 공식 출시되었습니다. 이번 메이저 버전의 핵심은 통합 툴체인(Unified Toolchain) 으로, 기본 번들러가 Rolldown으로 전환되고 esbuild가 담당하던 변환·최소화가…

bundler4
개발

제품 스펙 하네스 (product-spec-harness)

소개 product-spec-harness 는 기획자(PM)가 요구·문제 또는 기획안 초안으로부터 제품 기획문서(PRD)와 사용자 스토리를 단계별로 작성·검증하는 도메인 무관 인터랙티브 멀티 에이전트 하네스다. 개발 착수 전 단계의 제품 기획 산출물(문제 정의 → 기획 완성도…

개발

자가치유 하네스 엔지니어링 (meta-harness)

1. 이 글은 무엇에 관한 글인가? 한 줄로 요약하면 이렇습니다. AI가 같은 실수를 반복할 때, 그 실수를 막도록 AI 설정 파일을 스스로 고쳐주는 도구 이야기입니다. 단, 실제로 파일을 바꾸기 전엔 항상 사람에게 "이렇게 고쳐도 될까요?"라고 물어봅니다. 먼저, "하네스"가 뭐죠?…

개발

Frontend 하네스 엔지니어링

1. 하네스 엔지니어링이란? AI 모델을 둘러싼 실행 환경 전체 (도구, 피드백 루프, 안전장치, 승인 게이트)를 설계하여, 신뢰할 수 있는 소프트웨어 로 만들어 가는 기술이다. AI 엔지니어링의 진화 (프롬프트 vs 컨텍스트 vs 하네스) AI를 다루는 방식은 프롬프트 엔지니어링 →…

개발

Claude Code 플러그인 마켓플레이스 구축

개요 본 문서는 Claude Code 플러그인 마켓플레이스의 등록, 설치 및 사용 방법을 기술합니다. seungah-claude-plugins 마켓플레이스를 통해 플러그인을 공유하고 있습니다. 현재 다음 4개의 팀별 플러그인으로 구성되어 있습니다. 마켓플레이스 버전: 1.4.0 ·…

개발

LLM Wiki: RAG를 넘어 지식을 미리 정리해 두는 위키 패턴

개요 LLM Wiki는 기획서, 스펙, 회의록 같은 원본 자료를 모아 두면 Claude가 그 내용을 읽고 정리해 하나의 한국어 위키로 만들어 두는 저장소입니다. 사람은 자료를 모으고 질문하는 역할을 맡고, 위키를 실제로 작성하고 관리하는 일은 Claude가 합니다. Andrej…

LLMAI10
개발

시맨틱(의미 기반) + 키워드 하이브리드 검색 RAG 구축

0. 배경 특정 비즈니스 로직(결제, 인증, 캠페인 등)이 프론트엔드·백엔드 서비스 등 여러 레포에 걸쳐 구현되어 있어, 관련 코드를 찾기 위해 각 레포를 개별적으로 검색해야 하는 비효율이 발생하고 있다. 기존 GitHub 검색은 키워드 기반으로만 동작하여 "결제 처리 로직",…

RAGAIMCP11
개발

Vite 7.0

Vite 7.0 출시: 주요 변경사항 및 마이그레이션 가이드 2025년 6월 24일, Vite 7.0이 공식 출시되었습니다. 이번 메이저 버전은 Node.js 지원 정책 변경, 브라우저 타겟 업데이트, Rolldown 통합 등 중요한 변경사항을 포함하고 있습니다. 주간 다운로드 수는…

bundler3
개발

Vite 6.0

Installing Changes - 환경(Environment) API 도입 - 프로덕션과 더 가까운 개발 경험을 제공하기 위한 새로운 API - 프레임워크 및 플러그인 작성자를 위한 유연성 강화 - 가이드: Environment API 소개 - - ≤ v5 - - v6 ≥ -…

bundler3
개발

figma mcp link

개발 환경 - VSCode 버전: 1.99 이상 - Copilot 계정 필요 copilot 연동방법 Figma API access token 발급 1단계: 전제 조건 - Node.js (v16.0 이상) - npm (v7.0 이상) 또는 pnpm (v8.0 이상) - Figma 계정:…

mcp3
개발

FE 성능개선 - gif to mp4 변환

개요 리소스 중에 용량이 큰 gif 포멧을 효율적인 압축 방식을 제공하는 mp4 비디오 포멧으로 변경해서 리소스 수신 용량을 줄이고 로딩 속도를 개선하기 위해서 해당 기능을 서비스에 적용을 위한 성능개선 작업을 진행하였습니다. 요구사항 분석 - 변환 형식 - img > gif →…

개발

react v19

Overview React 19는 개발자 경험을 향상시키고, 일반적인 패턴을 간소화하며 성능을 개선하는 여러 새로운 기능과 개선 사항을 도입했다. 아래는 주요 변경 사항과 코드 예제를 포함한 요약이다. What’s new in React 19 Actions React 앱에서 일반적인…

react10
개발

nextjs 15

개요 이번 릴리즈에서는 RC1, RC2 기반에 기능이 포함되어 있으며, 안정성에 중점/그 외에 여러 기능이 포함되어 있습니다. 그 내용에 대해서는 컨퍼런스에서 확인이 가능합니다. 10월 24일 목요일 컨퍼런스 → Next.js Conf Next.js Conf by Vercel 설치…

nextjs6
개발

CRA To Vite Migration

Vite를 사용해야 하는 이유 기존 모듈 번들러 문제점 - 브라우저에서 Native ESM 방식을 지원하기 전까지는 Javascript 모듈화를 브라우저 레벨에서 진행할 수 없었고, 해당 소스 모듈을 브라우저에서 지원하기 위해서 require/IIFE/import,expor를 통한…

bundler12
개발

Nextjs(v14)

설치 요약 - 지원하는 브라우저에서 Internet Explorer를 삭제하고, 최신 브라우저를 지원하는걸로 변경되었습니다. - Chrome 64+ - Edge 79+ - Firefox 67+ - Opera 51+ - Safari 12+ - 최소 Node 버전이 12.22.0 →…

nextjs2
개발

개발 생산성 & 빌드 성능 개선

개요 개발을 진행하면서 개발 생산성 & 빌드 성능 개선했던 사례들을 공유하려고 합니다. Lint 속도 개선 husky를 통해서 Lint 검사에 대한 속도 개선을 위해서 eslint, prettier cache 적용하였습니다. cache flag 적용 시 이전에 검사했던 파일이나 항목을…

개발

esbuild

esbuild 특징 - Go언어를 기반으로 작성되었고 정적(네이티브) 코드 방식으로 컴파일 프로그래밍 언어로 작성된 코드를 기계가 이해할 수 있는 기계어로 바뀌는 변환 방식은 총 3가지로 표현됩니다. - 정적 컴파일 - 컴파일 진행 시 전체를 기계어로 변환되기 때문에 전체 실행시간이…

bundler5
개발

PNPM

도입 배경 NPM, Yarn Classic(1.0) 패키지 매니저 문제점 유령 의존성 - yarn classic(1.0), npm(v3 ) 둘 다 중복 패키지에 대한 용량을 효율적으로 관리하기 위해서 호이스팅 & 병합을 기법을 사용해서 평탄화 작업 진행(놀랍게도 npm v2 까지는…

개발

미사용 의존성 제거

npm-check Installization 일괄 업데이트 yarn autoclean yarn autoclean 설명 - 패키지 종속성에서 불필요한 파일을 정리하고 제거(빌드와 상관없는 파일) yarn autoclean 명령어 autoclean 활성화 조건 - yarn install…

개발

React v18 migration

React v16 to v18 마이그레이션 가이드(with Best Practice Code) Updates to Client Rendering APIs Migration The new root API also enables the new concurrent renderer,…

react4
개발

next14 migration

Update React Installation 'Component' cannot be used as a JSX component. 에러가 날 경우 @types/react@latest 최신 버전을 올릴 경우 nextJS Component에 대한 타입 추가가 되지 않아서 나온 이슈여서…

nextjs5
개발

CORS(교차 출처 리소스 공유)

개요 CORS(교차 출처 리소스 공유)는 다른 출처(origin:프로토콜, 호스트, 포트)출처의 자원을 접근할 수 있도록 알려주는 것을 것을 뜻한다. 다른 출처의 리소스를 불러올 때 올바를 CORS 헤더를 포함하지 않는다면 접근이 제한됨을 뜻합니다. CORS 사용 사례 -…

server7
개발

react-hook-form inside code

Form 객체 생성 useForm에서 데이터를 최초 세팅 후 defaultValues 세팅 이후에 다시 변경 시 변경이 안되는 경우가 있는데 아래 코드 처럼 useRef 최초 1회 생성 시에만 defaultValues를 세팅함으로 변경이 안되는거 였다. 해당 이슈를 해결을 위해서는…

form3
개발

Gatsby(v5)

주요 기능 Slice API 공통 구성요소를 한번만 빌드하게 해서 빌드 성능을 높일 수 있게 되었다. 즉, Slice로 분리된 컴포넌트가 변경 시 한번만 빌드 후에 다른 구성요소에 합쳐지게 됨으로 이전처럼 전체를 빌드할 필요가 없습니다. Partial Hydration (Beta)…

Gatsby4
개발

리액트 상태관리 정리

전역 상태 관리 라이브러리 등장 배경 리액트는 처음 출시될 때 Model View Controller 중 View만 담당하는 라이브러리로 발표되었기 때문에 상태를 구성하거나 관리하는 방안이 필요해졌고, 초창기에는 상태와 비즈니스 로직을 Container/Presenter에 몰아넣고…

개발

Nextjs(v13)

설치 요약 - 지원하는 브라우저에서 Internet Explorer를 삭제하고, 최신 브라우저를 지원하는걸로 변경되었습니다. - Chrome 64+ - Edge 79+ - Firefox 67+ - Opera 51+ - Safari 12+ - 최소 Node 버전이 12.22.0 →…

nextjs4
개발

react-hook-form v7

설치 react-hook-form v5 → v7 변경사항 useForm config 파일명에 prefix에 validation 삭제 errors 객체가 formState 객체 속성으로 변경 shouldUnregister 기본 값이 false → true로 수정…

form2
개발

nodejs

개념 - node.js의 소개와 내부 구조 http://bcho.tistory.com/881 - 설치와 개발환경 구축 http://bcho.tistory.com/884 - Event,Module,NPM http://bcho.tistory.com/885 - 웹 개발 프레임웍…

nodejs8
개발

Tree Shaking

개요 나무를 흔들어 잔가지를 털어내듯 불필요한 코드를 제거 하는 최적화 작업 - Webpack 4버전 이상을 사용하는 경우에는 ES6 모듈을 대상으로 기본적인 트리쉐이킹을 제공한다.( import , export 를 사용하는 모듈) - Create React App을 통해 만든…

개발

ecmascript

ES2024(ES15) ES2024에 추가된 기능들 ECMAScript® 2024 Language Specification ECMAScript 2024, the 15th edition, added facilities for resizing and transferring…

javascript10
개발

react-query(v5)

v5 변경사항 Install react-query → @tanstack/react-query로 변경 Requirements New Features - Simplified optimistic updates - 낙관적 UI 업데이트에 필요한 variables 사용방법이…

개발

zustand

참고코드: GitHub - seungahhong/states-todos 설치 zustand 개념 - 상태관리 설명 요즘 상태관리에 대한 접근 방식을 3가지로 나눠서 볼 수 있을 것 같습니다. - Flux (Redux, Zustand) - 일반적으로 사용하는 Flux 방식으로써,…

개발

react-query(v4)

Install react-quey → @tanstack/react-query로 변경 지원범위 - typescript - TypeScript v4.1 or greater - Supported Browsers - v4부터 React Query는 최신 브라우저에 최적화 - Support…

개발

Playwright

들어가기 전에.. (vs. Cypress) Cypress에서 Playwright로 왜 넘어갔나?? Cypress 개발 시 어려움 점 - 테스트 환경 로딩, 테스트 수행 시 너무 많은 시간이 소요한다는 느낌을 받았습니다. - 테스트 환경에서 엘리먼트를 Cypress 선택 시 못 찾는…

test18
개발

FE 개발 프로세스

사전 작업 1. 기획 및 디자인 검토 - 와이어프레임 및 디자인 시안 검토 - 디자인 시안에 대한 공통 컴포넌트화 설계 및 공유 - 마케팅 수집 체크 2. API 검토 및 피드백 - API 인터페이스 검토 및 FE 피드백 전달 -…

process4
개발

react-query

개요 - React를 위한 Data Synchronization Library - React application에서 서버 상태 를 fetching, caching, synchronizing, updating 작업을 쉽게 만들어 줍니다. 서버 상태 - 원격에 위치한 공간에 저장되며…

개발

cypress

E2E 테스트란? - 최종 개발물을 사용자 관점에서 테스트 할 수 있는 방법으로써, 페이지에서 원하는 텍스트가 제대로 출력이 되는지 버튼 클릭 시 올바른 동작을 하는지를 사용자 관점에서 테스트하는 End-to-End Testing 을 의미합니다. E2E 테스트사항 -…

test7
개발

msw

Mocking 라이브러리를 도입해야하는 이유 Frontend 현재 이슈 - 신규 개발 진행 시 - 백엔드 API 작업과 동시에 FE 개발을 진행할 경우 - FE 개발사항 - 백엔드 개발자와 API 인터페이스 상의 후 스펙정의 - mocking 데이터가 만들어지기 전까지는 샘플 데이터를…

msw8
개발

jest

기본 사용법 react testing library - 설치 - 사용할때 주의할점 참고 url https://seongry.github.io/2021/06-20-common-mistakes-with-rty/ Common mistakes with React Testing Library…

test16
개발

emotion

리액트 프레임워크 사용 X - 설치 - 설명 - 추가적인 setup, babel plugin, 다른 환경설정이 요구하지 않는다. - auto vendor-prefixing, nested selectors, media queries 지원한다.. - auto vendor-prefixing…

css2
개발

jotai

설치 참고코드 참고코드: GitHub - seungahhong/states-todos Jotai 개념, 특장점 설명 - 상태관리 설명 요즘 상태관리에 대한 접근 방식을 3가지로 나눠서 볼 수 있을 것 같습니다. - Flux (Redux, Zustand) - 일반적으로 사용하는 Flux…

개발

react18

설치 React DOM 17 → 18 업그레이드 클라이언트 React 18부터 react-dom의 render 함수는 deprecated 됩니다. automatic batching(fewer renders) Batching 배칭(batching)은 리액트가 더 나은 성능을 위해…

react6
개발

css-in-js

CSS-in-JS 왜 만들어졌나? CSS-in-JS는 단어 그대로 자바스크립트 코드에서 CSS를 작성하는 방식을 말합니다. 2014년 페이스북 개발자인 Christopher Chedeau aka Vjeux가 처음 소개하였습니다. Vjeux는 CSS를 작성하는 어려움을 다음과 같이…

css4
개발

form

Javascript Form 설계 hook-form vanila javascript 설계 Javascript Form vs React Form easier data control easier inputs, inputs event better validation React Form vs…

form3
개발

SWR

SWR 이란? - NextJS를 만든 zeit이라는 그룹에서 만든 React Hooks for Remote Data Fetching Library - SWR은 먼저 캐시(스태일)로부터 데이터를 반환한 후, fetch 요청(재검증)을 하고, 최종적으로 최신화된 데이터를 가져오는 전략…

개발

canvas

Canvas API - Canvas API는 JavaScript와 HTML CANVAS 엘리먼트를 통해 그래픽을 그리기위한 수단을 제공합니다. 무엇보다도 애니메이션, 게임 그래픽, 데이터 시각화, 사진 조작 및 실시간 비디오 처리를 위해 사용됩니다. 샘플코드 -…

canvas8
개발

redux-toolkit

리덕스 툴킷이란? - redux toolkit 라이브러리는 리덕스팀의 3가지 걱정을 해결하기 위해 등장하였다. 1. 리덕스 스토어를 구성하는 것은 너무 복잡하다. 2. 리덕스가 유용해지려면 많은 패키지들을 추가로 설치해야한다. 3. 리덕스는 너무 많은 보일러플레이트 코드를 요구한다.…

개발

recoil

recoil이란? 참고코드(redux-toolkit vs recoil): https://github.com/seungahhong/states-todos 리액트 상태 관리 로직의 한계점 - ContextAPI 부모와 자식간의 커플링에 의존성 발생 - 특히 리렌더링에 문제점 발생 -…

개발

storybook

도입목적 - 기획, 디자인이 병렬로 진행중인 사항에서 계속적으로 스펙이 변경됨을 반영해서 기획자, 디자이너에 공유를 목적으로 합니다. - 백엔드와도 병렬로 진행 시 로직(container), 화면(presentation) 분리해서 진행해야함으로 그것을 검증하기 위해서 storybook…

storybook3
개발

react-router-v6

v6 React Router v6 정식 릴리즈 2021년 11월 4일 v6.0.0 beta → release 출시되었습니다. React v16.8 이상으로 업그레이드 단, React ≥ 15 이상이면 react router v5 이상을 호환하고 있어서 v6로 업그레이드 하지 않더라도…

개발

redux-saga

redux-saga란? 리액트/리덕스 애플리케이션의 side effect를 더 쉽고 좋게 만드는 것을 목적으로 하는 미들웨어 라이브러리 설치 typesafe-actions 설치 (v5) → 선택 redux-actions와 같은 Typescript 용 라이브러리입니다. 액션 생성 함수와…

개발

react17

v17 설치 No more ‘import React ...’ JSX 를 사용하기 위해선 늘 React 를 import 해야 했다(그것을 명시적으로 사용하지 않더라도). JSX 코드는 babel, typescript 등을 통해 일반 javascript transpile 되었기 때문이다.…

react4
개발

typescript

타입스크립트는 왜 사용해야하는 걸까?? Typescript는 코드를 보다 읽기 쉽게 만든다. - 변수,리턴,인터페이스 등등 타입을 명시함으로써 코드에 대한 이해가 쉬워진다. Typescript는 개발자의 실수를 줄여준다. - 코드 작성 중/컴파일 단계에서 에러 발견이 쉽다. - 에러에…

개발

RxJS

RxJS 개념 RxJS는 Reactive Extensions For JavaScript 라이브러리이다. ReactiveX 는 Observer 패턴, Iterator 패턴, 함수형 프로그래밍을 조합하여 제공한다. 동기와 비동기 처리를 하나의 스트림으로 관리하고 처리가 가능하다. -…

RxJS6
개발

graphql

RestAPI란 - 데이터를 주고받을 주체들간 약속된 형식 - GET: 정보 받아오기 - POST: 정보 입력하기 - PUT/PATCH: 정보 수정하기 - DELETE: 정보 삭제하기 RestAPI의 한계 - overfetching: 필요한 정보들만 받아올 수가 없다. -…

graphql2
개발

webassembly

웹어셈블리 나온 이유 구글의 NaCI(Native Client), 모질라의 asm.js(JavaScript 서브셋) 등 네이티브 머신 코드를 웹으로 가져오기 위한, 그리고 빠르게 실행하기 위한 시도들은 결과적으로 웹어셈블리(이하 'wasm'으로 표기)로 귀결되면서 개발이 시작되었다.…

개발

mobx

mobx란? 참고코드: GitHub - seungahhong/states-todos 설치 1. Mobx에 대한 개념, 특장점 설명 - Mobx 주요개념 - observable state - Observable State로 관찰 받고 있는 데이터이다. Mobx에서는 해당 State가…

개발

redux

redux 개념 액션 (Action) 상태에 어떠한 변화가 필요하게 될 땐, 우리는 액션이란 것을 발생시킵니다. 이는, 하나의 객체로 표현되는데요, 액션 객체는 다음과 같은 형식으로 이뤄져있습니다. 액션 객체는 type 필드를 필수적으로 가지고 있어야하고 그 외의 값들은 개발자…

개발

svelte

SVELTE Svelte(스벨트)는 Rich Harris가 제작한 새로운 접근 방식을 가지는 프론트엔드 프레임워크입니다. Svelte는 자신을 ‘프레임워크가 없는 프레임워크’ 혹은 ‘컴파일러’라고 소개합니다. 이는 Virtual(가상) DOM이 없고, Runtime(런타임)에 로드할…

svelte3
개발

deno

deno node.js를 만든 Ryan Dahl이 JS Fest 2019 Spring 컨퍼런스에서 새 프로젝트인 ‘Deno’를 소개했습니다. ‘A New Way to JavaScript’라는 제목의 이 발표에서 Ryan은 Deno가 node.js와 어떻게 다른지, 어떤 부분에서…

server5
개발

Front-End Performance

javascript 메모리 누수 의도치 않은 전역 변수 - 전역변수는 메모리를 해제할 수가 없다.(null 처리 또는 재할당 되지 않는 경우) 잊혀진 타이머 또는 콜백 DOM 외부에서의 참조 프론트엔드 성능 최적화 렌더링 최적화 - Reflow, Repaint 줄이기 지금까지 웹…

개발

concept

클라이언트 측의 저장소 쿠키 - 쿠키를 설정하면 이후 모든 웹 요청은 쿠키정보를 포함하여 서버로 전송 - 문자열만 저장, 4KB용량 제한 - 대개, 방문한 페이지를 저장하거나 유저의 로그인 정보를 저장 - Seesion cookies : 만료일이 포함되지 않는 쿠키(브라우저 탭이 열려…

tools

web tools

Blog Theme - Jekyll theme 테마를 이용한 개인 블로그 만들기 - Blog Theme 1 - Blog Theme 2 Open Icon - 웹페이지 개발시 필요한 아이콘을 무료로 다운 받을 수 있는 페이지 - Icon 1 - Icon 2 Open Color - 글꼴,…

tools3
개발

C/C++

C 전역변수 1. 특징 - 함수외부에서 선언 - 메모리의 어느 특정공간(heap)에 자리를 차지하고 모든 함수 access 가능 - 프로그램 시작 시 생성 및 할당, 프로그램 종료가 되면 그 메모리 공간을 반환 2. 장점 - 사용하기 편리하다, 모든 함수에서 access 가능,…

windows2
개발

Windows API

windows programming - 윈도우즈의 장점 1. 그래픽 기반의 운영체제 - 화면 처리를 문자 단위가 아닌 디지털 표현의 최소 단위인 픽셀로 처리해서 화면 처리 가능 2. 멀티 태스킹이 가능하다. - 한번에 여러가지 일을 수행함. 3. 장치에 영향을 받지 않는다. -…

windows70
개발

MSSQL

용어정리 - 트랜잭션 : 여러 데이터 변경에 대해 하나의 논리적 작업 단위로 취급하여 전체가 완료되거나 롤백되어 데이터의 무결성을 유지 - COMMIT : 모든 트랜잭션 수정이 영구적으로 데이터베이스 일부로 적용, 트랜잭션에 의해 사용된 리소스 해제 - ROLLBACK : 시작 상태로…

database32
문서

pdf

PDF File Format PDF 파일 포맷은 크게 Header, Body, Cross-reference Table, File Trailer로 총 4가지 영역으로 구분된다. 각각의 역할은 아래와 같다. Header : 총 8바이트로, PDF의 시그니처와 PDF 문서의 버전 정보를…

pdf11