[{"data":1,"prerenderedAt":543},["ShallowReactive",2],{"navigation_docs_ko":3,"-ko-project-brobean-brobean-dev-log-01":209,"-ko-project-brobean-brobean-dev-log-01-surround":538},[4,124,195],{"title":5,"icon":6,"path":7,"stem":8,"children":9,"page":27},"Note (개발 지식)","emojione-v1:note-pad","\u002Fko\u002Fnote","ko\u002F1.note",[10,28,42,68,78,88,104,114],{"title":11,"icon":12,"path":13,"stem":14,"children":15,"page":27},"Spring","logos:spring-icon","\u002Fko\u002Fnote\u002Fspring","ko\u002F1.note\u002F0.spring",[16],{"title":17,"icon":18,"path":19,"stem":20,"children":21,"page":27},"Spring Ai","custom:ai","\u002Fko\u002Fnote\u002Fspring\u002Fspring-ai","ko\u002F1.note\u002F0.spring\u002F1.spring-ai",[22],{"title":23,"path":24,"stem":25,"icon":26},"Spring AI 핵심 개념과 LLM 애플리케이션 구조 이해","\u002Fko\u002Fnote\u002Fspring\u002Fspring-ai\u002Fspring-ai","ko\u002F1.note\u002F0.spring\u002F1.spring-ai\u002F1.spring-ai","lucide:file-text",false,{"title":29,"icon":30,"path":31,"stem":32,"children":33,"page":27},"Javascript","skill-icons:javascript","\u002Fko\u002Fnote\u002Fjavascript","ko\u002F1.note\u002F1.javascript",[34,38],{"title":35,"path":36,"stem":37,"icon":26},"Promise.all과 구조 분해 할당을 활용한 데이터 처리 패턴","\u002Fko\u002Fnote\u002Fjavascript\u002Fdestructuring","ko\u002F1.note\u002F1.javascript\u002F1.destructuring",{"title":39,"path":40,"stem":41,"icon":26},"JavaScript 배열 고차 함수와 데이터 처리 패턴 이해","\u002Fko\u002Fnote\u002Fjavascript\u002Ffilter","ko\u002F1.note\u002F1.javascript\u002F2.filter",{"title":43,"icon":44,"path":45,"stem":46,"children":47,"page":27},"Nuxt4","logos:nuxt-icon","\u002Fko\u002Fnote\u002Fnuxt4","ko\u002F1.note\u002F2.nuxt4",[48,52,56,60,64],{"title":49,"path":50,"stem":51,"icon":26},"Nuxt 4를 선택한 이유와 아키텍처 및 실무 가이드","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-info","ko\u002F1.note\u002F2.nuxt4\u002F1.nuxt-info",{"title":53,"path":54,"stem":55,"icon":26},"Nuxt useAsyncData 동작 원리와 SSR 데이터 페칭 최적화","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-use_async_data","ko\u002F1.note\u002F2.nuxt4\u002F2.nuxt-use_async_data",{"title":57,"path":58,"stem":59,"icon":26},"Nuxt Content v3 데이터 모델과 Query 시스템 이해","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-content-v3","ko\u002F1.note\u002F2.nuxt4\u002F3.nuxt-content-v3",{"title":61,"path":62,"stem":63,"icon":26},"Nuxt Auto-imports 내부 동작과 컴파일 과정 분석","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-auto-import","ko\u002F1.note\u002F2.nuxt4\u002F4.nuxt-auto-import",{"title":65,"path":66,"stem":67,"icon":26},"Nuxt 렌더링 방식 이해: SSR, SSG, ISR, CSR 구현 방법","\u002Fko\u002Fnote\u002Fnuxt4\u002Fnuxt-rendering-strategy","ko\u002F1.note\u002F2.nuxt4\u002F5.nuxt-rendering-strategy",{"title":69,"icon":70,"path":71,"stem":72,"children":73,"page":27},"Nitro","unjs:nitro","\u002Fko\u002Fnote\u002Fnitro","ko\u002F1.note\u002F3.nitro",[74],{"title":75,"path":76,"stem":77,"icon":26},"Nitro 아키텍처와 서버 엔진 구조","\u002Fko\u002Fnote\u002Fnitro\u002Fnitro","ko\u002F1.note\u002F3.nitro\u002Fnitro",{"title":79,"icon":80,"path":81,"stem":82,"children":83,"page":27},"Devops","vscode-icons:file-type-pipeline","\u002Fko\u002Fnote\u002Fdevops","ko\u002F1.note\u002F4.devops",[84],{"title":85,"path":86,"stem":87,"icon":26},"서버사이드 WebAssembly(Wasm)와 차세대 실행 환경","\u002Fko\u002Fnote\u002Fdevops\u002Fwebassembly","ko\u002F1.note\u002F4.devops\u002F1.webAssembly",{"title":89,"icon":90,"path":91,"stem":92,"children":93,"page":27},"Tooling","lucide:wrench","\u002Fko\u002Fnote\u002Ftooling","ko\u002F1.note\u002F4.tooling",[94],{"title":95,"icon":96,"path":97,"stem":98,"children":99,"page":27},"Package Manager","devicon:npm","\u002Fko\u002Fnote\u002Ftooling\u002Fpackage-manager","ko\u002F1.note\u002F4.tooling\u002F1.package-manager",[100],{"title":101,"path":102,"stem":103,"icon":26},"Package Lock 파일의 역할과 의존성 관리 원리","\u002Fko\u002Fnote\u002Ftooling\u002Fpackage-manager\u002Fpackage-lock","ko\u002F1.note\u002F4.tooling\u002F1.package-manager\u002F1.package-lock",{"title":105,"icon":106,"path":107,"stem":108,"children":109,"page":27},"Web","streamline-plump:web","\u002Fko\u002Fnote\u002Fweb","ko\u002F1.note\u002F4.web",[110],{"title":111,"path":112,"stem":113,"icon":26},"웹 애플리케이션 렌더링 아키텍처 이해","\u002Fko\u002Fnote\u002Fweb\u002Frendering-modes","ko\u002F1.note\u002F4.web\u002F2.rendering-modes",{"title":115,"icon":116,"path":117,"stem":118,"children":119,"page":27},"SEO","icon-park-solid:seo","\u002Fko\u002Fnote\u002Fseo","ko\u002F1.note\u002F6.seo",[120],{"title":121,"path":122,"stem":123,"icon":26},"[SEO] 개발 블로그 검색 노출을 위한 robots.txt와 SEO 설정 가이드","\u002Fko\u002Fnote\u002Fseo\u002Fseo","ko\u002F1.note\u002F6.seo\u002F1.seo",{"title":125,"icon":126,"path":127,"stem":128,"children":129,"page":27},"Project (개발일지)","icon-park-solid:branch-two","\u002Fko\u002Fproject","ko\u002F2.project",[130,181],{"title":131,"icon":132,"path":133,"stem":134,"children":135,"page":27},"Brolog","custom:symbol","\u002Fko\u002Fproject\u002Fbrolog","ko\u002F2.project\u002F1.brolog",[136,140,144,148,152,156,160,164,168,173,177],{"title":137,"path":138,"stem":139,"icon":26},"[Brolog] 프로젝트 개요","\u002Fko\u002Fproject\u002Fbrolog\u002Foutline","ko\u002F2.project\u002F1.brolog\u002F1.outline",{"title":141,"path":142,"stem":143,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (3) - Runtime 기능 문제 분석과 AI Assistant 전환","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy3-ai-integration","ko\u002F2.project\u002F1.brolog\u002F10.vercel-deploy3-ai-integration",{"title":145,"path":146,"stem":147,"icon":26},"[Brolog] AI Assistant 적용 과정 - Agent 구조와 API 사용량 관리 시 고려사항","\u002Fko\u002Fproject\u002Fbrolog\u002Fai-assistant-application-process","ko\u002F2.project\u002F1.brolog\u002F11.ai-assistant-application-process",{"title":149,"path":150,"stem":151,"icon":26},"[Brolog] 검색 엔진 노출을 위한 SEO 적용 과정","\u002Fko\u002Fproject\u002Fbrolog\u002Fbrolog-seo","ko\u002F2.project\u002F1.brolog\u002F12.brolog-seo",{"title":153,"path":154,"stem":155,"icon":26},"[Brolog] 프로젝트 구조","\u002Fko\u002Fproject\u002Fbrolog\u002Fstructure","ko\u002F2.project\u002F1.brolog\u002F2.structure",{"title":157,"path":158,"stem":159,"icon":26},"[Brolog] Nuxt Content 네비게이션 아이콘 커스텀 빌드","\u002Fko\u002Fproject\u002Fbrolog\u002Fcustom-icon","ko\u002F2.project\u002F1.brolog\u002F3.custom-icon",{"title":161,"path":162,"stem":163,"icon":26},"[Brolog] Nuxt4 Auto-imports 동작 원리와 자동 import 시스템 이해","\u002Fko\u002Fproject\u002Fbrolog\u002Fnuxt-auto-import","ko\u002F2.project\u002F1.brolog\u002F4.nuxt-auto-import",{"title":165,"path":166,"stem":167,"icon":26},"[Brolog] 개발 블로그 메인 페이지 구현","\u002Fko\u002Fproject\u002Fbrolog\u002Fdevelop-main","ko\u002F2.project\u002F1.brolog\u002F5.develop-main",{"title":169,"path":170,"stem":171,"icon":172},"[Brolog] 브랜드 아이덴티티 적용 - Custom 404 페이지와 Default No Image 구현","\u002Fko\u002Fproject\u002Fbrolog\u002Fcustom-error-and-default-thumbnail","ko\u002F2.project\u002F1.brolog\u002F6.custom-error-and-default-thumbnail","lucide:image",{"title":174,"path":175,"stem":176,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (1)","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy1","ko\u002F2.project\u002F1.brolog\u002F8.vercel-deploy1",{"title":178,"path":179,"stem":180,"icon":26},"[Brolog] Nuxt Multi Layer 프로젝트 Vercel 배포 (2) - Build Pipeline 오류 분석과 Nuxt 실행 구조 이해","\u002Fko\u002Fproject\u002Fbrolog\u002Fvercel-deploy2-error-analyze","ko\u002F2.project\u002F1.brolog\u002F9.vercel-deploy2-error-analyze",{"title":182,"icon":183,"path":184,"stem":185,"children":186,"page":27},"Brobean","custom:brobean","\u002Fko\u002Fproject\u002Fbrobean","ko\u002F2.project\u002F2.brobean",[187,191],{"title":188,"path":189,"stem":190,"icon":26},"[BroBean] 연인과 함께 사용하는 가계부: BroBean - 프로젝트 기획과 이름의 탄생","\u002Fko\u002Fproject\u002Fbrobean\u002Fbrobean-dev-log-01","ko\u002F2.project\u002F2.brobean\u002F1.brobean-dev-log-01",{"title":192,"path":193,"stem":194,"icon":26},"[BroBean] 연인과 함께 사용하는 가계부: BroBean 프로젝트 시작 - Nuxt 4 기반 프론트 개발 환경 구축","\u002Fko\u002Fproject\u002Fbrobean\u002Fbrobean-dev-log-02","ko\u002F2.project\u002F2.brobean\u002F2.brobean-dev-log-02",{"title":196,"icon":197,"path":198,"stem":199,"children":200,"page":27},"Error (트러블슈팅)","emojione:stop-sign","\u002Fko\u002Ftrouble-shooting","ko\u002F3.trouble-shooting",[201],{"title":131,"icon":132,"path":202,"stem":203,"children":204,"page":27},"\u002Fko\u002Ftrouble-shooting\u002Fbrolog","ko\u002F3.trouble-shooting\u002F1.brolog",[205],{"title":206,"path":207,"stem":208,"icon":26},"[Nuxt Content] Nuxt Icon 오류 해결과 Custom Collection 기반 오프라인 아이콘 구성","\u002Fko\u002Ftrouble-shooting\u002Fbrolog\u002Fnuxt-icon-restricted-network-troubleshooting","ko\u002F3.trouble-shooting\u002F1.brolog\u002F1.nuxt-icon-restricted-network-troubleshooting",{"id":210,"title":188,"body":211,"date":523,"description":524,"extension":525,"links":526,"meta":527,"navigation":533,"path":189,"seo":534,"stem":190,"__hash__":537},"docs_ko\u002Fko\u002F2.project\u002F2.brobean\u002F1.brobean-dev-log-01.md",{"type":212,"value":213,"toc":520},"minimark",[214,219,232,235,238,241,244,248,251,254,257,273,276,279,281,285,292,299,302,305,308,320,327,329,333,336,339,346,349,356,359,361,365,368,371,374,377,388,391,402,404,408,411,414,417,424,427,429,433,436,439,442,445,457,460,462,466,469,472,486,489,492,494,498,501,504,507,514,517],[215,216,218],"h1",{"id":217},"brobean-프로젝트를-시작하며","🌱 BroBean 프로젝트를 시작하며",[220,221,222,223,227,228,231],"p",{},"새로운 프로젝트를 시작할 때마다 가장 먼저 고민하는 것은 \"",[224,225,226],"strong",{},"무엇을 만들 것인가","\"보다 \"",[224,229,230],{},"왜 이 프로젝트를 만들려고 하는가","\"이다.",[220,233,234],{},"BroBean 역시 단순히 포트폴리오를 하나 더 만들기 위해 시작한 프로젝트는 아니다.",[220,236,237],{},"평소 연인과 함께 가계부를 사용하면서 느꼈던 불편함과, \"이런 기능이 있었으면 좋겠다.\"라는 생각들이 하나둘 쌓였고, 결국 직접 만들어 보기로 했다.",[220,239,240],{},"이번 글에서는 BroBean 프로젝트를 시작하게 된 이유와 프로젝트 이름, 그리고 앞으로 함께 성장할 마스코트에 대해 이야기해 보려고 한다.",[242,243],"hr",{},[215,245,247],{"id":246},"함께-사용할-수-있는-가계부가-생각보다-없었다","💸 함께 사용할 수 있는 가계부가 생각보다 없었다",[220,249,250],{},"시중에는 정말 많은 가계부 서비스가 존재한다.",[220,252,253],{},"하지만 막상 연인이나 부부가 함께 사용할 수 있는 서비스를 찾아보면 아쉬운 점이 많았다.",[220,255,256],{},"물론 시중의 모든 가계부 서비스를 사용해 본 것은 아니지만 직접 사용해 본 일부 무료 가계부 애플리케이션은 업데이트가 중단되었거나 유지보수가 활발하지 않은 경우가 있었고, 공통적으로 아래와 같은 아쉬움을 느꼈다.",[258,259,260,264,267,270],"ul",{},[261,262,263],"li",{},"소비 패턴의 시각적 직관성이 다소 아쉬운 부분",[261,265,266],{},"오래된 UI와 사용성",[261,268,269],{},"대부분의 소비 내역을 직접 입력해야 하는 방식",[261,271,272],{},"자발적인 참여와 몰입을 이끌어낼 인게이지먼트(Engagement) 요소가 다소 아쉬운 구조",[220,274,275],{},"물론 이미 훌륭한 서비스들도 많지만, 내가 원하는 방향과는 조금 달랐다.",[220,277,278],{},"특히 소비를 기록하는 과정이 번거롭다 보니 꾸준히 사용하기 어렵다는 점이 가장 크게 느껴졌다.",[242,280],{},[215,282,284],{"id":283},"조금-더-편하게-기록할-수-없을까","📱 조금 더 편하게 기록할 수 없을까?",[220,286,287,288,291],{},"가장 먼저 고민했던 부분은 \"",[224,289,290],{},"입력을 얼마나 줄일 수 있을까?","\"였다.",[220,293,294,295,298],{},"현재 국내에서는 개인 개발자가 금융사의 ",[224,296,297],{},"마이데이터(MYDATA)"," 정보를 직접 활용하기 어렵기 때문에 카드 결제 내역을 자동으로 가져오는 것은 현실적으로 불가능하다.",[220,300,301],{},"하지만 그렇다고 모든 소비를 직접 입력해야 하는 것은 아니라고 생각했다.",[220,303,304],{},"예를 들어 스마트폰에는 카드 결제가 발생할 때마다 결제 알림이 도착한다.",[220,306,307],{},"이러한 알림을 활용하면 사용자가 직접 입력하는 과정을 크게 줄일 수 있다.",[309,310,317],"pre",{"className":311,"code":313,"filename":314,"language":315,"meta":316},[312],"language-text","\n카드 결제 알림 수신\n\n↓\n\n알림 내용 분석\n\n↓\n\n자동 소비 등록\n\n↓\n\n사용자는 필요한 내용만 수정\n","BroBean 목표","text","",[318,319,313],"code",{"__ignoreMap":316},[220,321,322,323,326],{},"물론 구현 과정에서 해결해야 할 부분은 많겠지만, 최소한 ",[224,324,325],{},"기록하는 과정","만큼은 지금보다 훨씬 편리하게 만들고 싶었다.",[242,328],{},[215,330,332],{"id":331},"오래된-가계부가-아닌-계속-사용하고-싶은-서비스","🎨 오래된 가계부가 아닌, 계속 사용하고 싶은 서비스",[220,334,335],{},"기능만큼 중요하게 생각한 것이 디자인이었다.",[220,337,338],{},"대부분의 가계부 서비스는 오랫동안 운영되면서 기능은 풍부해졌지만, UI는 다소 오래된 느낌을 주는 경우가 많았다.",[220,340,341,342,345],{},"BroBean은 단순히 소비를 기록하는 앱이 아니라 ",[224,343,344],{},"계속 열어보고 싶은 서비스","를 목표로 하고 있다.",[220,347,348],{},"그래서 프로젝트 초반부터 다음과 같은 방향을 정했다.",[309,350,354],{"className":351,"code":352,"filename":353,"language":315,"meta":316},[312],"\n모바일 중심 UI\n\n↓\n\n직관적인 사용성\n\n↓\n\n불필요한 입력 최소화\n\n↓\n\n최근 디자인 트렌드 반영\n","BroBean Design Goal",[318,355,352],{"__ignoreMap":316},[220,357,358],{},"단순히 예쁜 화면이 아니라, 매일 사용하는 서비스에 어울리는 경험을 만드는 것이 목표다.",[242,360],{},[215,362,364],{"id":363},"왜-이름이-brobean일까","🌱 왜 이름이 BroBean일까?",[220,366,367],{},"프로젝트 이름은 생각보다 오래 고민했다.",[220,369,370],{},"처음에는 단순히 가계부를 떠올릴 수 있는 이름들을 생각했지만, 조금 더 프로젝트만의 개성을 담고 싶었다.",[220,372,373],{},"그러던 중 Bean(콩)이라는 단어가 가진 이미지가 굉장히 매력적으로 느껴졌다.",[220,375,376],{},"Bean은 단순히 콩이라는 의미를 넘어 다양한 메시지를 담을 수 있었다.",[258,378,379,382,385],{},[261,380,381],{},"🌱 작은 콩을 키운다 → 돈을 키운다.",[261,383,384],{},"🌱 작은 씨앗 → 작은 습관이 큰 자산이 된다.",[261,386,387],{},"🌱 차곡차곡 모은다 → 꾸준한 저축 습관.",[220,389,390],{},"이런 의미들이 자연스럽게 하나의 서비스 철학으로 이어질 수 있다고 생각했다.",[220,392,393,394,397,398,401],{},"결국 ",[224,395,396],{},"Bro + Bean","을 합쳐 ",[224,399,400],{},"BroBean","이라는 이름을 만들게 되었다.",[242,403],{},[215,405,407],{"id":406},"돈을-키우는-작은-농장","🌾 돈을 키우는 작은 농장",[220,409,410],{},"Bean이라는 이름을 정하고 나니 프로젝트 전체를 하나의 작은 농장처럼 표현할 수 있겠다는 생각이 들었다.",[220,412,413],{},"그래서 앞으로 BroBean에서는 소비와 저축을 단순한 숫자가 아니라 성장 과정으로 표현해 보고 싶다.",[220,415,416],{},"예를 들어,",[309,418,422],{"className":419,"code":420,"filename":421,"language":315,"meta":316},[312],"\n지출 기록\n\n↓\n\n씨앗 심기 🌱\n\n예산 설정\n\n↓\n\n밭 만들기 🚜\n\n저축 목표\n\n↓\n\n나무 키우기 🌳\n\n월말 정산\n\n↓\n\n수확하기 🌾\n\n소비 리포트\n\n↓\n\n성장 일지 📖\n","BroBean Concept",[318,423,420],{"__ignoreMap":316},[220,425,426],{},"아직은 아이디어 단계이지만, 단순한 가계부보다 조금 더 재미있는 경험을 제공할 수 있을 것이라 기대하고 있다.",[242,428],{},[215,430,432],{"id":431},"brobean의-첫-번째-마스코트","🧑‍🌾 BroBean의 첫 번째 마스코트",[220,434,435],{},"프로젝트를 하나의 브랜드처럼 만들고 싶다는 생각은 Brolog를 만들면서도 많이 했었다.",[220,437,438],{},"이번에도 그 경험을 이어가고 싶었다.",[220,440,441],{},"BroBean의 첫 번째 마스코트는 이전 Brolog에서 사용했던 캐릭터의 작은 농부 버전으로 결정했다.",[220,443,444],{},"항상 작은 삽을 들고 다니며 사용자의 돈밭을 함께 가꾸는 친구라는 설정이다.",[446,447,451],"div",{"className":448},[449,450],"flex","justify-center",[452,453],"img",{"alt":454,"src":455,"width":456},"BroBean Mascot","\u002Fimages\u002Fbrobean-symbol.png",350,[220,458,459],{},"아직 서비스에는 적용되지 않았지만, 앞으로 다양한 화면에서 사용자와 함께 성장하는 캐릭터로 활용해 볼 계획이다.",[242,461],{},[215,463,465],{"id":464},"감정을-표현하는-서브-캐릭터도-고민-중","😊 감정을 표현하는 서브 캐릭터도 고민 중",[220,467,468],{},"메인 마스코트 외에도 소비 습관에 따라 감정을 표현하는 작은 캐릭터들을 만들어 볼까 고민하고 있다.",[220,470,471],{},"예를 들면,",[258,473,474,477,480,483],{},[261,475,476],{},"🌱 절약을 잘하면 새싹이 자라고",[261,478,479],{},"😊 목표를 달성하면 활짝 웃고",[261,481,482],{},"🥲 과소비를 하면 잎이 축 처지고",[261,484,485],{},"🌳 꾸준히 저축하면 점점 큰 나무로 성장하는",[220,487,488],{},"방식처럼 사용자의 소비 패턴이 캐릭터에도 자연스럽게 반영되도록 만드는 것이다.",[220,490,491],{},"아직은 아이디어 단계지만, BroBean만의 재미있는 요소가 될 수 있을 것 같다.",[242,493],{},[215,495,497],{"id":496},"이제-brobean의-개발을-시작한다","🚀 이제 BroBean의 개발을 시작한다",[220,499,500],{},"BroBean은 단순히 가계부를 만드는 프로젝트가 아니다.",[220,502,503],{},"사용하기 편한 서비스, 보기 좋은 서비스, 그리고 꾸준히 사용하고 싶은 서비스를 목표로 하나씩 만들어 나가려고 한다.",[220,505,506],{},"앞으로는 Nuxt를 이용한 프론트엔드 개발을 시작으로,",[309,508,512],{"className":509,"code":510,"filename":511,"language":315,"meta":316},[312],"\nFrontend 개발\n\n↓\n\nUI \u002F UX 설계\n\n↓\n\nMock 데이터 기반 기능 구현\n\n↓\n\nBackend API 개발\n\n↓\n\nDatabase 설계\n\n↓\n\n서비스 배포\n","Development Roadmap",[318,513,510],{"__ignoreMap":316},[220,515,516],{},"순서대로 프로젝트를 완성해 나갈 예정이다.",[220,518,519],{},"다음 글에서는 BroBean 프로젝트를 위한 프론트엔드 개발 환경을 구성하고, 기술 스택을 선정한 과정을 기록해 보려고 한다.",{"title":316,"searchDepth":521,"depth":521,"links":522},2,[],"2026-07-30","연인이나 부부가 함께 사용할 수 있는 가계부 서비스를 만들게 된 이유와 BroBean이라는 이름, 그리고 프로젝트를 대표하는 마스코트를 기획하게 된 과정을 소개합니다.","md",null,{"tags":528,"image":455},[400,529,530,531,532],"Project","Planning","Branding","Mascot",{"icon":26},{"title":535,"description":536},"BroBean 프로젝트 시작 이야기 - 가계부를 만들게 된 이유와 이름의 의미","기존 가계부 서비스의 아쉬움에서 시작된 BroBean 프로젝트의 기획 배경과 Bean이라는 이름에 담긴 의미, 마스코트 디자인 방향을 정리합니다.","_JKbSFO-vAuR3Wh8e7SVTeA__yOSC9N8SE8p3RBqU8k",[539,541],{"title":178,"path":179,"stem":180,"description":540,"icon":26,"children":-1},"Nuxt Multi Layer 프로젝트에서 발생한 layer .nuxt 생성 오류를 기반으로 Nuxt 실행 구조, nuxi prepare 과정, build와 generate의 차이를 분석",{"title":192,"path":193,"stem":194,"description":542,"icon":26,"children":-1},"연인과 부부가 함께 사용할 수 있는 가계부 서비스 BroBean 프로젝트를 시작하며, 프론트 기술 스택 선정 과정과 Nuxt 4 프로젝트 생성 및 초기 개발 환경 구축 과정을 기록합니다.",1785398665527]