본문 바로가기

전체 글

(376)
Git 공부 정리한 것 (fetch, origin/main, origin main, 명령어 등) Git을 계속 사용하고 있지만, git 명령어 대신 AI Agent에게 맡기거나 GUI를 사용하다보니 명령어를 많이 잊어버렸다.그래서 다시 한번 복습 겸 정리를 해보았다. ## fetch우선, 내가 가장 헷갈렸던건 fetchgit fetch origin main 명령어를 치면 내 로컬 컴퓨터의 main브랜치도 같이 synchronize가 된다고 생각했다.즉, git pull origin main (현재 checkout 브랜치가 main이라는 전제)과 동일하게 생각했다.하지만 git fetch는 원격 브랜치의 최신 커밋 '정보'만 내 로컬 컴퓨터로 브랜치로 가져오는 것! 예를 들어, GitHub 원격에 main 브랜치가 있다.그리고 내 로컬에는main 브랜치그리고, 원격 main브랜치를 추적하는 origi..
Bun버전 upgrade하며 마주친 에러들 (Homebrew, zshrc, PATH..) 내가 참여하고 있는 DaleUI 프로젝트에서 새로운 패키지를 설치했다. 패키지가 package.json에 추가되고, 새로운 패키지가 설치되면서 Bun이 bun.lock 파일을 갱신하면서 이전과 다른 포맷 형식으로 작성되었다. bun.lock 파일[ Before ]- configVersion: 0 존재- 한 패키지당 한줄로 작성 [ After ]- configVersion: 0 부분 삭제- 하나의 패키지를 여러 줄로 풀어 쓰는 형식 왜 내가 bun.lock파일을 작성하면 configVersion부분이 삭제되고 포맷형식이 변경되는지 확인해보니, 결국 Bun의 버전 차이였다. 내 컴퓨터에 설치된 Bun의 버전이 낮아서였다. 그래서 새 버전으로 업그레이드를 시도하면서 다양한 에러들을 마주쳤고, 그 과정을 정리하..
'빌드(build)'란? # 빌드란?작가들이 책을 쓸 때는 챕터마다 워드파일들을 만들고, 수많은 사진 및 참고자료들을 다루면서 작업을 하다가 이를 책으로 낼때는 PDF파일 '하나로' 묶어서 공개한다. 프로그래밍도 마찬가지이다. 소프트웨어는 보통 몇백줄 코드로 되는게 아니기 때문에 개발자가 작업하는 프로젝트는 일반적으로 수십, 수백개가 넘는 폴더와 파일들로 이루어져있다. 이중에는 개발자가 작성하는 코드파일들도 있고, 다른 곳에서 작성한 코드들(즉, 라이브러리들), 그리고 이미지나 기타 소프트웨어에 필요한 파일들이 포함된다. 소프트웨어의 특성마다 다르지만, 일반적으로는 이를 출시할 때에는 이들을 다른 형태로 변형 또는 압축해서 내보낸다.이를 '빌드한다'라고 한다. **2026.10.19.추가소스 코드(React, Vue, Typ..
배포 후, 인코딩방식 부재로 인한 글자깨짐현상 [ 문제 ]llms.txt 작업을 하고 PR을 올린 후, 머지 전 Cloudflare로 임시 주소로 띄워주는 미리보기로 llms.txt파일이 잘 나오는지 확인해보았다.당연히 작업한 대로 잘 배포된 줄 알았더니, 웬걸. 글자가 다 깨져서 나왔다. 뚜둥. [ 원인 ]깨진 이유를 분석해보니 이유는 파일 문제가 아닌 '응답 헤더' 때문이다.content-type: text/plain 개발자도구에 들어가서 확인해보니 응답받은 llms.txt파일의 content-type은 text/plain만 있고 charset=utf-8이 없었다.즉, 응답헤더에 인코딩 방식이 따로 없었다. 한글 환경의 브라우저는 text/plain에 인코딩 방식이 적혀있지 않으면, EUC-KR 인코딩 방식으로 적용한다고 한다. UTF-8 인코..
Agent Skills에 대하여 # Agent Skills 생성 배경AI 코딩 에이전트로 작업을 하다보면 코딩 에이전트에게 반복적인 작업을 요청하게 될 때가 있다.ex: 테스트코드를 작성할 때는 항상 Jest대신 Vitest로 작성해줘 / 이미지를 추출할 때는 해당 영역을 crop해서 PNG파일로 저장해줘 / 마이그레이션 스크립트를 작성할 때는 항상 롤백 코드도 함께 작성해줘 같은 지시를 반복적으로 한다. ## AGENTS.md에 이런 반복작업에 대해서 적으면 안되나?AGENTS.md, CLAUDE.md같은 경우, 프로젝트 전반에 대한 컨텍스트가 적혀있는 파일이다.따라서 위와 같이 '테스트코드를 작성할 때는 Jest대신 Vitest로 작성해줘'같은 세부 지침까지 적게되면 파일 자체가 너무 길어진다.이 컨텍스트 파일은 매 프롬프트 요청때..
[WIP] Button 형태의 링크 제공 방식 논의 이슈에 대한 공부 내가 참여하고 있는 DaleUI 오픈소스 디자인시스템 프로젝트에서 '버튼 형태의 링크제공방식에 대해 논의한 이슈가 있다.모르는 부분이 있어 공부하고 정리하는 중이다. 웹사이트 작업에서는 일반 Button보다 페이지 이동을 위한 링크를 버튼 형태로 사용하는 경우가 많았습니다. 겉모습은 버튼이더라도 페이지 이동이 목적이라면 SEO와 시맨틱을 고려해 button이 아닌 a 태그나 라우터의 Link를 사용하는 것이 적절합니다. 현재는 Button의 형태를 유지하면서 링크로 사용할 수 있는 방법이 없어, 이를 어떤 방식으로 제공할지 논의하려고 합니다.라우터의 Link : SPA 웹 프레임워크/라이브러리에서 사용하는 '클라이언트 사이드 내비게이션 전용 컴포넌트'예시 (React Router/Next.js/Vue ..
llms.txt 작업과정 # sitemap.xml, robots.txt와의 차이그렇다면 llms.txt와 sitemap.xml, robots.txt와의 차이점은 뭘까? 이전 포스트에도 설명했다시피, llms.txt파일은 '범용 LLM을 위한 웹사이트 안내서'이다.2026.08.04 - [분류 전체보기] - llms.txt이란 - 1 llms.txt이란 - 1현재 DaleUI라는 디자인시스템 오픈소스 프로젝트에 초기멤버로 참여하고 있다.올해 초, 우리 프로젝트 v1이 드디어 마무리 되었고!뒤이어 v2가 시작되었다. 앞으로는 사람이 직접 사용하기 좋을lion284.tistory.com 사실 llms.txt에 대해서 조사를 하면서 'sitemap.xml과 역할이 비슷한 것 같은데 왜 굳이 llms.txt 파일을 따로 두는지' 궁금했..
llms.txt이란 - 1 현재 DaleUI라는 디자인시스템 오픈소스 프로젝트에 초기멤버로 참여하고 있다.올해 초, 우리 프로젝트 v1이 드디어 마무리 되었고!뒤이어 v2가 시작되었다. 앞으로는 사람이 직접 사용하기 좋을 뿐만 아니라, AI 에이전트도 사용하기 좋은 디자인시스템이 되는 것이 더 중요하다고 생각되어,이번 버전의 목표 중 하나로 잡은 것이 바로 우리 디자인시스템의 'AI 에이전트 최적화 및 친화성 확보'이다. 우리 DaleUI같은 신생 디자인시스템은 아직 주요 LLM의 훈련 데이터에 포함되어있지 않아, 아무런 가이드 없이 에이전트에게 맡기면 많은 실수가 나올 수 있다.그래서 이러한 약점들을 보완할 수 있는 도구들이 필요하다. 그 중, 나는 llms.txt 파일생성 및 skill을 정의하는 부분을 맡았다.먼저 llms..