THE ARCHIVE

쌓아온 기록들.

직접 만들며 배운 것들, 지나온 고민과 선택의 흔적.

66개의 기록

작업 단위마다 새 세션으로 이어가기

9월에는 GPT-5.6 Luna의 사용량 여유를 이용해 여러 구현 세션을 병렬로 돌리고, cmux 오케스트레이터가 각 세션의 화면을 살피며 지시하도록 구성해봤습니다. 간단한 단건 작업에서는 Luna도 그럭저럭 괜찮았습니다. 하지만 복잡한 리팩터링·마이그레이션에

↗

여러 AI 세션에 일을 맡기는 방식

Claude Code를 쓸 때부터 여러 세션으로 여러 프로젝트를 함께 진행했습니다. 다만 Max 20배 구독에서도 보통 23일, 길어도 4일이면 사용량을 다 썼고, Fable을 쓰면서는 하루 이틀 만에 한도에 닿기도 했습니다. 사용량 부담을 줄여보려고 개인 구

↗

Claude Code 1년, 프롬프트보다 하네스를 믿게 되기까지

2026년 상반기가 끝났습니다. 작년 이맘때쯤 Claude Code를 쓰기 시작했으니, 이제 거의 1년이 됐습니다. 올해 1월에는 바이브 코딩 6개월 회고를 썼습니다. 그때의 고민은 꽤 개인적이었습니다. "AI가 코드를 쓰고 나는 리뷰만 하면 되는 걸까?" "

↗

클로드는 왜 멈추지 않았는가 — Fable 후기

지난 글 클로드는 왜 자꾸 멈추는가에서 클로드가 자꾸 멈추는 이유를 봤습니다. 이번엔 반대 경험인데, 결론부터 말하면 모델 얘기는 아닙니다. 며칠 전 공개된 Fable 5를 잠깐 써봤습니다. (지금은 미국 정부의 수출통제 지시로 접근이 중단돼 더는 못 씁니다.

↗

클로드는 왜 자꾸 멈추는가

Claude Code 를 쓰다 보면 한 가지 반복되는 패턴이 있습니다. 분명히 시킨 일이 한참 남아 있는데, 클로드가 중간에 멈춰 서서 사용자에게 "이거 어떻게 할까요" 라고 묻거나, 세션이 다시 시작되면 "지금 어디까지 했더라" 부터 다시 분석하기 시작합니다

↗

Claude Code 3개월 토큰 사용을 1차 소스로 분해해보니

지난 글(Claude Code 성능 저하 사태와 설정으로 대응하기)에서 4월 13일에 적용한 환경변수 변경에 대해 정리했습니다. 그 글이 나간 뒤로 2주가 지나면서 자연스럽게 궁금해진 게 하나 있었습니다. 정말 그 변경이 토큰 사용에 어떤 식으로 작용했을까.

↗

Claude Code 성능 저하 사태와 설정으로 대응하기

2026년 2월부터 3월까지, Claude Code 사용자들 사이에서 "뭔가 이상하다"는 목소리가 나오기 시작했습니다. 복잡한 작업에서 파일을 제대로 읽지도 않고 수정하거나, 존재하지 않는 커밋 SHA를 만들어내거나, 이전에는 잘 되던 작업이 갑자기 안 되는

↗

하네스 엔지니어링, Claude Code 유출 사건으로 알게 된 것들

"이제는 하네스 엔지니어링이다" — 링크드인에서 누군가 이런 글을 올린 걸 봤습니다. 카카오톡 오픈 채팅방에서도 "이제 하네스 엔지니어링을 공부해야 하는 건가요?"라는 채팅이 올라왔습니다. 하네스? 뭐지? 하고 그냥 넘겼습니다. 은근히 외부 동향이나 신기술에

↗

바이브 코딩 6개월, Wireframe MCP를 만들어봤다

"글로 아무리 잘 설명해도 화면을 대신할 수는 없었습니다." e-torch 프로젝트는 순조롭게 진행되고 있었습니다. 다만 세부적인 화면을 설명할수록 텍스트의 한계가 느껴졌습니다. 이 불편함이 DSL 프로젝트로 이어졌습니다. 화면 설명의 어려움 사이드 프로젝트에

↗

바이브 코딩 6개월, 6년 묵은 이슈를 일주일 만에

"언젠가 해야지." 6년간 미뤄온 이슈들이 있었습니다. 일주일 만에 12개를 모두 해결했습니다. 미뤄온 것들 vue-pivottable은 2019년에 만든 프로젝트입니다. PivotTable.js를 Vue로 포팅한 것인데, 그 이후로 GitHub 이슈 대응이

↗

바이브 코딩 6개월, 불편한 것부터 하나씩

"불편한 걸 발견하면 자동화하는 게 패턴이 되었습니다." 6개월 회고에서 이렇게 썼습니다. 거창한 계획 없이, 불편한 것부터 하나씩 만들었습니다. 이번 글에서는 그렇게 만든 도구들을 이야기하려고 합니다. Claude Code를 6개월 사용하면서 가장 크게 바뀐

↗

바이브 코딩 6개월, 멍청해지는 줄 알았는데

"내가 멍청해지고 있는 건 아닌가?" Claude Code를 쓰기 시작한 지 몇 달쯤 됐을 때, 문득 이런 생각이 들었습니다. AI가 코드를 작성하고, 나는 그걸 검토만 하고 있으니까요. 손으로 타이핑하던 감각이 사라지는 것 같았습니다. 6개월이 지난 지금,

↗

[AI 에이전트 파이프라인 #10] 완성된 앱과 회고

지난 편에서는 파이프라인을 운영하면서 발견한 개선점들을 다뤘습니다. 이번 편은 마지막 편입니다. 2025년 8월에 시작해서 6개월, 드디어 완성입니다. 완성된 앱의 UI와 기술 선택에 대한 회고를 다룹니다. 1. 완성된 콘텐츠 UI 에이전트 파이프라인이 생성한

↗

[AI 에이전트 파이프라인 #9] 파이프라인 단순화

지난 편에서는 재시도와 롤백 메커니즘을 다뤘습니다. 이번 편에서는 파이프라인을 운영하면서 발견한 개선점들을 정리했습니다. 8편까지의 과정을 진행하면서 약 250개의 학습 콘텐츠가 생성되었습니다. 초기에는 파이프라인 테스트를 위해 지속적으로 생성했습니다. 그러다

↗

[AI 에이전트 파이프라인 #8] 재시도와 롤백

지난 편에서는 파이프라인 정상 실행 흐름을 다뤘습니다. 이번 편에서는 실패했을 때 어떻게 처리했는지 정리해봤습니다. 1. 초기 접근 방식의 한계 4편에서 언급한 초기 접근 방식입니다. 비결정적인 LLM의 의미 평가 50점, 결정적인 스크립트의 구조 검증 50점

↗

[AI 에이전트 파이프라인 #7] 쉘 스크립트로 에이전트 실행하기

지난 편에서는 7개 에이전트의 협업 구조와 핸드오프 프로토콜을 다뤘습니다. 이번 편에서는 콘텐츠 생성 파이프라인의 7개 에이전트를 실행하기 위해 제가 구성한 쉘 스크립트 오케스트레이션을 정리해봤습니다. 1. 왜 쉘 스크립트인가 Claude Max Plan을 구

↗

[AI 에이전트 파이프라인 #6] 7개 에이전트는 어떻게 협업하는가

지난 편에서는 에이전트 프롬프트를 완성하기까지의 과정을 다뤘습니다. 프롬프트를 다루면서 "실패", "성공"을 이야기했는데, 그 결과는 파이프라인을 실행하면서 확인한 것이었습니다. 이번 편에서는 제가 구성한 파이프라인 구조를 정리해봤습니다. 1. 7개 콘텐츠 에

↗

[AI 에이전트 파이프라인 #5] 프롬프트 완성까지의 4단계

지난 편에서는 막막한 상황에서 AI-DLC 방법론을 적용하기로 결정한 이야기를 다뤘습니다. 이번 편에서는 AI-DLC를 적용하면서 프롬프트를 어떻게 완성해나갔는지 정리해봤습니다. 1. 프롬프트 완성까지의 4단계 AI-DLC 방법론을 적용하면서 프롬프트 작성 방

↗

[AI 에이전트 파이프라인 #4] 분리했는데 왜 여전히 안 됐을까

지난 편에서는 하나의 프롬프트가 왜 안 됐는지, 그리고 7개 에이전트로 분리한 과정을 다뤘습니다. 이번 편에서는 에이전트를 분리한 후에 무엇을 시도했는지, 그리고 그래도 왜 안 됐는지 다룹니다. 1. 프롬프트 오염 파이프라인을 실행하고 파싱 에러가 발생하면,

↗

[AI 에이전트 파이프라인 #3] 하나의 프롬프트로는 왜 안 됐을까

지난 편에서는 메타데이터 파이프라인으로 category.yaml과 빈 콘텐츠 파일을 자동 생성했습니다. 이번 편부터는 학습 콘텐츠 생성 파이프라인을 다룹니다. 처음에는 하나의 프롬프트로 시도했지만 실패했습니다. 1. 설계 접근: 앱 화면에서 마크다운 구조로 콘

↗

[AI 에이전트 파이프라인 #2] 무엇을 생성할 것인가

지난 편에서는 왜 학습 앱을 만들기 시작했는지 이야기했습니다. 이번 편에서는 생성할 콘텐츠를 어떻게 정의했는지 다룹니다. 1. 자동화할 대상 정의 지난 편에서 원하는 학습 콘텐츠를 LLM으로 자동 생성하겠다고 결정했습니다. 그러면 뭘 생성할지 먼저 정의해야 합

↗

[AI 에이전트 파이프라인 #1] 학습 앱을 만들기 시작한 이유

LLM으로 공부하다가 지치신 적 있으신가요? 저는 그랬습니다. 그래서 LLM으로 학습 콘텐츠를 자동 생성하고, 이걸 앱으로 만들기로 했습니다. 이 시리즈는 2025년 하반기에 진행한 사이드 프로젝트 경험을 정리한 것입니다. 1. LLM 학습의 한계 ChatGP

↗

[경제지표 대시보드 개발기 #7] 백엔드 중심 DDD, 프론트엔드에서는 왜 과했을까

AI-DLC를 진행하면서 문서가 점점 ‘백엔드 중심 DDD’로 기울어지는 것을 느꼈습니다. 처음엔 구조가 완벽해 보였지만, 문서에 제시된 설계를 따라가다 보니 이 구조가 실제로 프론트엔드 코드로 구현된다면 상당히 복잡해질 것 같다는 예감이 들었습니다. 그래서

↗

[경제지표 대시보드 개발기 #5] AWS AI-DLC를 만나다

복잡도의 늪에 빠진 프로젝트. 때마침 회사에서 AWS AI-DLC 워크샵 기회가 생겼다. 막막했던 상황 4개월간의 바이브 코딩 결과: - 기능은 많아졌지만 구조는 엉망 - 문서는 구버전, 코드는 신버전 - AI도 나도 전체 구조 파악 불가 새로운 아키텍처로 문

↗

[경제지표 대시보드 개발기 #4] 아키텍처가 무너지기 시작했다

AI로 하니까 개발이 빨랐다. 그래서 아키텍처를 바꿨다. 그리고 4개월 후, 문서와 코드는 완전히 달라져 있었다. 출발점 이미 백엔드는 완성되어 있었습니다. UI/UX에서 막혀 6개월 방치했던 프로젝트였지만, 백엔드는 제대로 만들어져 있었습니다: - eidc:

↗

[경제지표 대시보드 개발기 #3] 클로드 코드와 첫 성공

채팅 앱의 한계를 넘어 CLI 에이전트를 만나고, 드디어 진짜 바이브 코딩을 시작했다. 채팅 앱의 한계 클로드 채팅 데스크톱 앱에서는 프로젝트를 만들고 프로젝트별로 컨텍스트와 지침을 추가할 수 있었습니다. 그 당시 ChatGPT는 이런 부분이 약했던 것으로 기

↗

[경제지표 대시보드 개발기 #2] 바이브 코딩을 만나다

6개월간 멈춰있던 프로젝트. AWS 서밋에서 AI를 만나고, 바이브 코딩이라는 새로운 세계를 발견했다. 사이드 프로젝트의 한계 이전 편에서 언급했듯이 프로젝트는 막혔습니다. 그 당시 고민하던 이슈는 대시보드에 추가할 위젯을 생성할 때의 UI/UX였습니다. 예를

↗

[경제지표 대시보드 개발기 #1] 경제지표 대시보드를 시작한 이유

10년차 프론트엔드 개발자가 경제지표 대시보드라는 다소 지루한 사이드 프로젝트를 시작한 이유. 프로젝트 배경 저는 몇 년전에 한 경제 전문가분의 오프라인 강의를 1년 가까이 참여하면서 거시경제에 대해서 배우고 관심 갖게 되었습니다. 그런데 이 교수님으로부터 직

↗

VDropdown.vue TypeScript 변환 완전 가이드

📋 왜 VDropdown부터 시작할까요? - ✅ 단순한 구조: Props 2개, Event 1개 - ✅ 명확한 역할: 드롭다운 선택 UI - ✅ 타입 정의 연습하기 좋음: 기본적인 패턴들 학습 가능 - ✅ 의존성 적음: 다른 복잡한 컴포저블에 의존하지 않음

↗

브랜드 타입이 뭔가요? (중학생도 이해하는 설명)

string & { brand: unique symbol } "이게 대체 뭐지?" 싶으실 텐데요. 이것이 바로 브랜드 타입(Branded Types)입니다. 브랜드 타입은 같은 타입이지만 서로 다른 의미를 가진 값들을 구분할 때 사용하는 고급 TypeScrip

↗

Vue 3 + TypeScript 아키텍처 패턴 가이드

Vue 3 프로젝트에서 TypeScript를 활용할 때 선택할 수 있는 다양한 아키텍처 패턴을 시각화와 함께 정리한 가이드입니다. 각 패턴은 프로젝트 규모와 팀 구성에 따라 선택적으로 적용할 수 있습니다. --- 아키텍처 패턴 개요 | 패턴 | 장점 | 단점

↗

Vue 3 + TypeScript 패턴 가이드

기반: Vue Pivottable 프로젝트 코드 기반 실무 패턴 범위: 기본부터 고급까지 TypeScript 변환 가이드 📚 목차 1. 기본 패턴 (Essential Patterns) 2. 중급 패턴 (Intermediate Patterns) 3. 고급 패턴

↗

백준 <브루트 포스 - N과 M> 순열과 조합 정리

백준의 code.plus 문제집 을 풀면서 순열과 조합을 이해하고, 문제를 더 쉽게 해결할 수 있게 되서 그 내용을 정리했습니다. 순열(Permutation) 순서대로 나열한다는 것을 의미하며 순서가 중요합니다. 예를 들어 1 2 3과 3 2 1은 서로 다른

↗

여백 상쇄 (margin collapsing) 이해하기

프론트엔드 개발자라면 알고 있어야하는 여백 상쇄 (margin collapsing) 이해하기 여백 상쇄 여러 블록 요소가 나란히 있을 때 상단과 하단의 바깥 여백은 제일 큰 여백의 크기를 가진 단일 여백으로 결합 됩니다. 이를 여백 상쇄라고 합니다. 단, 플로

↗

러닝 자바스크립트 - ES6 위크맵/위크셋/이터레이터/제너레이터

‘러닝 자바스크립트’를 읽었다. 책만 본다고 개발 실력이 늘지는 않지만 코딩만 한다고 개발 실력이 느는 것 또한 아님을 새삼 느꼈다. ES6를 주로 ES5나 ES3에서 이관된 문법이나 개념에 대해서만 알고 있었던 거다. 그래서 ES6에서도 익숙하지 않은 개념들

↗

영원히 변하지 않을 자바스크립트의 초석 개념 3가지

ECMAScript 3판을 다루는 '자바스크립트를 깨우치다'란 책을 읽었다. 그리고 이 책에서 말하는 영원히 변하지 않을 자바스크립트 초석 개념이라고 생각하는 3가지에 대해서 정리했다. this는 함수가 호출되는 네 가지 방식에 의해서 결정된다 this의 값은

↗

자바스크립트 ES6와 호이스팅(Hoisting)

ES6에서 let과 const는 호이스팅이 발생하지 않는 것처럼 보여서 호이스팅이 발생하지 않는다고 이해할 수 있지만 사실은 그렇지 않다. 이게 무슨 의미인지 정리했다. 선행되어야 하는 개념 - 함수 레벨 스코프와 블록 레벨 스코프 - 실행 컨텍스트에서 변수가

↗

LIS (Longest Increasing Subsequence) - 최장 증가 부분 수열

백준에서 문제 해결 능력을 키우면서 최장 증가 부분 수열문제를 풀게 되었다. 최장 증가 수열이란 주어진 수열의 부분 수열 중에서 숫자가 오름차순으로 정렬 되는 가장 긴 부분 수열을 의미한다. 문제를 풀면서 공부한 내용을 정리했다. LIS 길이 구하기 몇가지 예

↗

데이터 정확성을 위한 빅 데시멀 타입과 지수 표기법의 소수점 표시

AWS 빌링 데이터를 다루는 프론트엔드 개발자로 일하면서 백엔드에서 전달받은 숫자 데이터가 부동 소수점 연산의 함정과 지수 표기식(e notation)으로 표현되면서 생긴 이슈들을 해결하면서 빅 데시멀과 지수 표기법에 대해 정리해보았습니다. 부동 소수점 타입과

↗

오리진이 다른 리소스를 서비스워커로 캐싱하기

Vue CLI3의 vue add pwa 명령어를 실행하면 쉽게 PWA를 설정할 수 있습니다. 이것만으로 빌드 시 생성되는 파일이 서비스 워커에 의해 캐싱이 됩니다. 여기에 추가로 교차 오리진에서 호출하는 리소스를 캐싱 해본 경험을 정리했습니다. 왜 서비스 워커

↗

자바스크립트에서 큐와 스택 자료구조 구현하기

자료구조 및 알고리즘을 공부하면서 자주 사용되는 자료구조인 큐와 스택을 자바스크립트로 구현해보고 BOJ에서 문제를 풀어보면서 자바스크립트에서 어떻게 구현하고 활용하는 것이 유리한지 정리해보았습니다. 큐/스택 구현 자바스크립트에서는 큐와 스택 자료구조가 존재하지

↗

CSS 박스 모델

CSS는 HTML요소를 화면에 출력하는데 크게 인라인 (inline) 박스와 블록 (block) 박스로 구분합니다. 인라인 박스와 블록 박스 기본값이 인라인 박스로 출력되는 html 요소는 ,, 와 같이 글자를 만들고 제어하기 위한 요소라고 생각하면 그 특성들

↗

프론트엔드 개발자의 Docker 입문기

트레이딩 봇 애플리케이션 구동에 필요한 복잡하고 번거로운 설정 과정을 자동화하기 위한 힌트를 얻기 위해서 깃허브의 Topics에 trading bot을 검색해 보니 깃허브 스타(Star) 수가 1k 이상인 프로젝트들은 대부분 도커(Docker)와 관련된 설정이

↗

absolute와 relative의 차이에 대해서 설명하세요

CSS 포지션 absolute와 relative의 차이에 대해 정리하자 absolute 페이지 레이아웃에서 요소를 위한 공간이 생성되지 않습니다 가장 가까운 위치에 있는 조상을 기준으로 오프셋을 적용합니다. relative 페이지 레이아웃의 요소에 제공된 공간

↗

어떻게 const로 선언한 객체의 속성값이 바뀌는 것일까

const 키워드를 사용하여 선언된 변수는 블록 범위의 상수입니다. 상수의 값은 재할당할 수 없으며 다시 선언할 수도 없습니다. 그러나 상수가 객체 또는 배열인 경우 해당 속성이나 항목을 업데이트하거나 제거할 수 있습니다. 단지 변수 식별자를 재할당할 수 없다

↗

이벤트 핸들러 내부의 this

이벤트를 핸들러 내부의 this를 예제로 정리해보자. 이벤트 리스너(addEventListener) 함수 익명 함수의 this addEventListener()의 이벤트 핸들러가 전통적인 자바스크립트 함수이면 동작한 요소의 참조를 나타냅니다. 화살표 함수의 t

↗

이벤트 위임(Event Delegation)

이벤트 위임이란 DOM의 이벤트 버블링(Event Bubbling) 특성을 활용해 이벤트 리스너를 하위 요소에 추가하는 대신 상위 요소에 추가하는 기법입니다. 다음과 같은 이점이 있습니다. 각 하위 항목에 이벤트 핸들러를 연결하지 않고 상위의 단일 요소에만 핸

↗

트레이딩 봇 2.0 개발 후기

시뮬레이션 grademark은 자바스크립트(JavaScript) 및 타입스크립트(TypeScript)에서 알고리즘 거래 백테스팅을 위한 툴킷입니다. 이 모듈의 백테스팅 로직을 살펴보면 시간 순으로 정렬된 캔들 형식의 데이터와 전략을 주입하면 타이프레임(Time

↗

SSR과 CSR의 장단점

SSR(Server Side Rendering)과 CSR(Client Side Rendering)의 장단점을 정리해 보자 SSR(Server Side Rendering) - 장점 - 검색 엔진 최적화 (SEO) 가능하다 - 초기 렌더링 속도가 빠르다 - 단점

↗

브라우저 렌더링 과정

브라우저 렌더링 과정은 크게 다음 4단계로 설명 할 수 있습니다. 1. 파싱 - 렌더링 엔진은 HTML 과 CSS 을 파싱해서 DOM 및 CSSOM 트리를 생성합니다. - 바이트를 문자열로 변환하고, 토큰을 식별 한 후 노드로 변환하고 DOM 트리를 빌드 합니

↗

vue-pivottable v0.4.1 업데이트

작년 오픈소스 아카데미 컨트리뷰톤 참여를 계기로 2019년 8월 22일 첫 커밋(Commit)으로 시작해 NPM에 배포해서 관리 중인 오픈소스 vue-pivottable의 가이드 문서를 README.md에서 VuePress 기반의 웹 사이트로 구성하고 있습니다

↗

자바스크립트의 동작원리

자바스크립트 엔진, 런타임, 호출 스택, 이벤트 루프를 간단하게 정리했습니다. 엔진 대표적으로 Chrome 과 Node.js에서 사용하는 Google V8 엔진이 있으며 메모리 할당이 일어나는 Memory Heap 과 코드 실행에 따라 호출 스택이 쌓이는 Ca

↗

Account has insufficient Available Balance

문제 Account has insufficient Available Balance, ... XBt required 토이 프로젝트로 진행 중인 트레이딩 봇의 로그에 BCHUSD의 계약 수량을 계산하는데 계정에 사용 가능한 잔액이 부족해서 거래소로부터의 거래가 거

↗

SSH로 GitHub / CodeCommit 연결하기

비밀번호 인증 지원 종료 2021년 8월 13일부로 비밀번호 인증 지원이 종료되어 이전에 사용하던 방식을 사용할 수 없게 되어서 이 기회에 SSH 접속 방식으로변경 하게 되었다. 비밀번호 인증 지원 종료에 대한 안내는 여기에서 확인 할 수 있습니다. 원격 주소

↗

클로저(Closure)는 무엇이며, 어떻게/왜 사용하나요 ?

사전 지식 클로저를 이해 하기 위해서 Scope, Scope Chain, Context 에 대한 이해가 선행되어야 합니다. 스코프(Scope) 프로그래밍에서 변수에 접근 할 수 있는 유효 범위 - var 는 선언된 곳과 가장 가까운 함수를 유효 범위로 가집니다

↗

자동매매 알고리즘 개발과 트레이딩 봇 실전 6개월

처음에는 막막하기만 했던 기본 캔들 데이터 생성을 인플럭스DB (InfluxDB)를 사용해서 쉽게 구현할 수 있었다. 다음은 언제 사고 언제 파는 게 좋을지를 과거 데이터를 통해 시뮬레이션 해보기 위해서 거래소에서 제공하는 REST API를 통해서 2017년부

↗

InfluxDB를 활용한 주식차트 만들기

이 글은 2020년 10월경 진행하면서 기록한 내용을 바탕으로 재작성되었습니다. - 이전 글에서 진행했던 Amazon Athena SQL로 캔들 데이터 생성하는 방법은 SQL 구문이 길고 복잡하고 비용이 많이 들었다. - 구글 검색을 통해서 실시간 데이터 처리

↗

Amazon Athena SQL로 캔들 데이터 생성하기

이 글은 2018년 4월경 테스트를 진행하면서 기록한 내용을 바탕으로 작성했습니다. - 암호화폐 시장을 경험하면서 알고리즘 매매에 흥미가 생겼다. - 알고리즘 매매를 위해서는 가장 기본이 되는 캔들 데이터가 필요했다. - 어떻게 실시간 시장 데이터를 가공해서

↗

IE 11 Syntax Error - Script1002

vue-pivottable 컴포넌트의 스타일을 수정하고 최종적으로 프로젝트에서는 import { VsPivottable, VsPivottableUi } from 'vs-pivottable'과 같이 커스텀 된 형태로 사용하고 싶었다. 그런데 Internet Ex

↗

CSS 기본 정리

이 글은 freeCodeCamp의 Basic CSS를 공부하면서 주요 내용을 정리한 글입니다. CSS란 ? CSS (Cascading Style Sheets)는 HTML로 작성하는 텍스트 및 기타 내용을 표시하는 방법을 브라우저에 알려준다. CSS를 적용하는

↗

Padding Hack으로 반응형 SVG 만들기

지역과 관련된 데이터를 시각화하기 위해 SVG와 d3 함수를 이용해서 표현한 지도에 패딩 핵(Padding Hack)이란 기법을 통해서 반응형으로 구현한 경험을 정리하자. --- DataMaps 라이브러리에서 구현된 반응형 살펴보기 d3.js로 지도를 조금 더

↗

여러 개의 GitHub/CodeCommit 인증정보 관리하기

이렇게 하면 단일 컴퓨터에서 여러 GItHub/CodeCommit 인증정보를 매번 입력하지 않고 HTTPS 프로토콜로 리모트 저장소에 접근할 수 있다. Overview Note: 2021년 8월 13일부로 비밀번호 인증 지원이 종료되었습니다. 자세한 안내는 여

↗

기록 검색

제목·태그·글 소개에서 검색합니다.