시각화의 힘: Chart.js로 퀀트 투자의 MDD(최대 낙폭) 방어력 그려내기
1. 숫자의 한계, 그리고 그래프의 도입 1편에서 시뮬레이터의 뼈대와 기본값 시나리오를 세팅한 후 테스트를 해보았습니다. 사용자는 매달 SPY(미국 주식), TLT(미국 장기채), CASH(현금) 중 하나를 선택하며 자산을 불려 나갑니다. 결과 화면에서 최종 수익률을 숫자로 띄워주는 것만으로도 의미는 있었지만, 무언가 부족했습니다. ‘듀얼 모멘텀’의 진정한 가치는 단순히 돈을 많이 버는 것이 아니라, 시장이 반토막 날 때 내…
자는 아이 곁에서 코딩하다: 해열제 용량 계산과 교차 타이머 로직 (JavaScript 구현)
1. 두 가지의 뇌: ‘단일 복용’과 ‘교차 복용’ 1편에서 만든 깔끔한 UI 위에 이제 생명력을 불어넣을 차례입니다. 이 웹 앱이 가져야 할 가장 중요한 핵심 기능은 부모가 선택한 상황에 따라 ‘다음에 먹일 약의 종류’와 ‘타이머의 시간’을 스스로 판단하는 것입니다. 사용자가 ‘단일 복용’을 누르면 동일한 약을 4시간 뒤에 먹이도록 안내해야…
블로그 포스팅 자동화 툴 개발 & ‘경마 제비뽑기’ 미니 게임 제작기
최근 블로그 포스팅이나 콘텐츠 기획을 위해 AI를 활용하는 빈도가 크게 늘었습니다. 저 역시 제미나이(Gemini)와 대화하며 아이디어를 구체화하고 초안을 작성하는 경우가 많은데, 이 과정에서 한 가지 큰 불편함을 마주하게 되었습니다. 바로 AI가 깔끔하게 작성해 준 마크다운(Markdown) 형식의 글을 네이버 블로그(스마트에디터 ONE)에 그대로 복사해서 붙여넣으면, 들여쓰기나 줄 간격, 굵기 등의 서식이 엉망이 되어버린다는 점이었습니다. 💡 문제…
네이버 블로그용 AI 텍스트 변환기 제작기
최근 블로그 포스팅이나 콘텐츠 기획을 위해 AI를 활용하는 빈도가 크게 늘었습니다. 저 역시 제미나이(Gemini)와 대화하며 아이디어를 구체화하고 초안을 작성하는 경우가 많은데, 이 과정에서 한 가지 큰 불편함을 마주하게 되었습니다. 바로 AI가 깔끔하게 작성해 준 마크다운(Markdown) 형식의 글을 네이버 블로그(스마트에디터 ONE)에 그대로 복사해서 붙여넣으면, 들여쓰기나 줄 간격, 굵기 등의 서식이 엉망이 되어버린다는 점이었습니다. 💡 문제…
AI와 함께 만든 ‘행운 가득 로또 기운 생성기’ 제작 스토리
웹 개발을 처음 시작할 때 가장 큰 고민은 “무엇을 만들 것인가?”입니다. 거창한 아이디어를 떠올리다 지레 포기하기보다는, 일상에서 가볍게 즐길 수 있는 작고 재미있는 도구부터 시작하는 것이 최고의 학습법입니다. 오늘은 저의 첫 웹 기반 사이드 프로젝트이자, 순수 HTML과 JavaScript로 뼈대를 다지게 해준 ‘행운 가득 로또 기운 생성기’의 제작 과정을 되짚어 보려고 합니다. 1. 기획: 단순한 난수…
“문과생도 하루 만에 개발자가 되다” – 코딩 장벽을 부수는 코드 작성 및 디버깅의 마법
[데이터/분석] 카테고리의 두 번째 투어에 오신 것을 환영합니다. 이전 투어에서 이미지 속 표 데이터를 엑셀로 깔끔하게 빼내는 법을 배우셨죠? 데이터를 다루다 보면 필연적으로 이런 욕심이 생깁니다. “이 데이터를 내가 원하는 대로 가공해서 자동화할 순 없을까?”, “나만의 웹 도구나 계산기를 직접 만들어보고 싶은데…” 하지만 ‘코딩(Coding)’이라는 단어 앞에서 우리는 늘…
깃허브 코파일럿(GitHub Copilot)과 커서(Cursor) 에디터: 웹 서비스(HTML/JS) 개발 및 유지보수 자동화 가이드
과거의 웹 개발은 빈 화면에 HTML 태그를 한 줄씩 입력하고, 자바스크립트(JS)의 복잡한 로직과 오타를 찾아 밤을 새우는 고단한 작업이었습니다. 하지만 생성형 AI의 등장으로 코딩의 패러다임은 ‘직접 타이핑하는 것’에서 ‘AI에게 명령하고 리뷰하는 것’으로 완전히 역전되었습니다. 그 혁신의 중심에는 전 세계 개발자들의 필수품이 된 ‘깃허브 코파일럿(GitHub Copilot)’과 최근…
[마이크로 SaaS 8편] 동적 UI 구현과 텍스트 수정: ‘참가자 설정’에서 ‘경주마 이름 정하기’로
서론: 완벽한 트랙, 하지만 주인공이 빠졌다 타원형 트랙을 따라 말들이 뱅글뱅글 도는 애니메이션이 완성되었을 때의 쾌감은 이루 말할 수 없었습니다. 하지만 기쁨도 잠시, 치명적인 문제점을 발견했습니다. 트랙 위를 달리는 말들은 그저 ‘참가자 1’, ‘참가자 2’라는 무미건조한 꼬리표를 달고 달리고 있었기 때문입니다. 점심 내기나 워크숍 벌칙자를 정할 때, 사람들은 자신이 응원하는 대상에 감정을 이입해야…