
ããã«ãçšã¢ããªéçº#2ãèŠç©ãã20人æ¥ã4人æ¥ã«ãå質ã«ãã ããããšãšéçºã¹ããŒãã¯äž¡ç«ã§ãããïŒAIã§ã¢ããªãäœã£ã話
åãèªè»¢è»ç«¶æã«åå ããçµéšãããããããªã®ããã£ãã䟿å©ã ãããªããšãããã«ãå°çšã¢ããªãBREVET PACER PROãã®æ§æ³ããã£ãã
ãèªè»¢è»ç«¶æã®ãã«ãïŒBrevetïŒããšã¯
ãã«ããšã¯ããã©ã³ã¹çºç¥¥ã®é·è·é¢ãµã€ã¯ãªã³ã°ã€ãã³ãã§ãããæ¥æ¬åœå ã§ã¯çµ±æ¬å£äœã§ããAudax JapanïŒãªããã¯ã¹ã»ãžã£ãã³ïŒã®ããšãå šåœçŽ30ã®äž»å¬ã¯ã©ãã«ãã£ãŠéå¶ãããŠãããåã¯åæµ·éããåã¯æ²çžãŸã§ãå šåœåå°ã§å¹ŽéçŽ400ã500æ¬ãã®ã€ãã³ããéå¬ãããŠããã
èµ°è¡è·é¢ã¯200kmïŒå¶éæé13æé30åïŒã300kmïŒ20æéïŒã400kmïŒ27æéïŒã600kmïŒ40æéïŒãªã©ã®èŠå®ã³ãŒã¹ãäžå¿ã§ã1,000kmãè¶ ããè¶ é·è·é¢çš®ç®ãååšãããçé ãé äœãç«¶ããã¬ãŒã¹ãã§ã¯ãªããèµ°è åèªãã«ãŒãããã²ãŒã·ã§ã³ãããŒã¹èª¿æŽãé£äºãäŒæ©ã®ã¿ã€ãã³ã°ã倿ããŠèµ°ããæå®ããããã§ãã¯ãã€ã³ãïŒPCïŒãæéå ã«ééããŠå¶éæéå ã§ã®å®èµ°ãç®æãã
èŠå®æéå ã«å®èµ°ãæãããèµ°è ã«ã¯ãäž»å¬å ã§ããACPïŒAudax Club ParisienïŒããäžçå ±éã®å ¬åŒå®èµ°èªå®ãæäžãããèšå¿µãšããŠè·é¢ããšã«ãã¶ã€ã³ã®ç°ãªããèªå®ã¡ãã«ããè³Œå ¥ã»ååŸã§ããç¹ã倧ããªç¹åŸŽã ã
ãã®èªå®ã¡ãã«ãå®èµ°ãç®æãã€ã€ãéäžã®éã®ããé£äºã楜ããããã«éèŠãšãªãã®ããèµ°è¡äžã®ã¿ã€ã ãããžã¡ã³ãã§ããã
AIã䜿ãã°ã³ãŒããæžããã®ã¯ããã¯ãåœããåã®æä»£ã ã
ãAIã§äœããä»ã®æä»£ãªããã²ãšãã§ã©ããŸã§å質ã«ãã ãã£ãŠåœ¢ã«ã§ããã ãããïŒã ãšèããŠãæ¥ççµéšãããããããèªåã§æãåãããŠè©ŠããŠã¿ãããšã«ããã
èŠä»¶å®çŸ©ã®èšäºãæžããŠãã®ã§ãèå³ãããæ¹ã¯äžèªãã
ã¢ããªã®æŠèŠ
äºåã«ã³ãŒã¹ããŒã¿ïŒGPXãã¡ã€ã«â»äžèº«ã¯xml圢åŒã§ã²ããã座æšãåæãããŠããïŒãèªã¿èŸŒãã§ããããšã§ãèµ°è¡äžã®ã¿ã€ã ãããžã¡ã³ããèªååããã¢ããªã ã
ç«¶æäžã®ä¿¡å·åŸ
ã¡ãäŒæ©æã«ãã¿ã³ãã¯ã³ã¿ãããããšãGPSã§çŸåšå°ãç¹å®ã
æ®ãã®è·é¢ãšå¶éæéãããå®èµ°ã«å¿
èŠãªå¹³åé床ãããäŒããæéããäžçºã§å²ãåºãã
ç²åŽå°æã®ç¶æ
ã§ãçŽæçã«ç¶æ³ãææ¡ã§ããUIã«ãã ãããã¿ããæã®äœçœ®æ
å ±ãšæéã¯ãã°ãšããŠä¿åããããããäºåŸã®ããŒã¹åæã«ã掻çšã§ããããã¢ãã¯ãªä»æ§ãšãªã£ãŠããã
ã©ãããããªãå®éçã«æž¬ããçµæãã»ãããããæããå·¥æ°ãèŠç©ãããå®éã®éçºå·¥æ°ãšæ¯èŒããŠã¿ãããšã«ããã
ãã®èšäºã¯ããšã³ãžãã¢ããã¶ã€ããŒã®ããªãå人éçºã§ãUIUXã«ãã ãã£ãã¢ããªã®å質ããšãéçºã¹ããŒããã¯äž¡ç«ã§ããã®ãããšãããªã¢ã«ãªæ€èšŒãšããŠã®åŽé¢ãããã
ããŒã éçºïŒPMããšã³ãžãã¢ããã¶ã€ããŒããã¹ã¿ãŒïŒãªã20人æ¥ã»ã©èŠç©ããèŠæš¡ã®ã¢ããªã ããä»åã¯ã ããã4人æ¥ã§ãã ããæããã¢ããªãäœãããšãã§ããã
å·¥æ°èŠç©ãããšå®éã®å·®
20人æ¥ã®èŠç©ããå èš³
äŒç»ã»èŠä»¶å®çŸ© ã5人æ¥
ãã¶ã€ã³ 2人æ¥
èšèšã»éçºã»ã€ã³ãã©æ§ç¯  6人æ¥
ãã¹ãã»ãã©ãã·ã¥ã¢ãã 6人æ¥
ãªãªãŒã¹ïŒèšç»ã»å®è¡ïŒ 1人æ¥
AIéçº4人æ¥ã®å èš³
äŒç»ã»èŠä»¶å®çŸ© ã1人æ¥
èšèšã»éçºã»ã€ã³ãã©æ§ç¯  0.5人æ¥
ãã¹ãã»ãã©ãã·ã¥ã¢ãã 2.5人æ¥
ãªãªãŒã¹ïŒèšç»ã»å®è¡ïŒ 0.1人æ¥
CodexãClaudeã®ãããªAIãšãŒãžã§ã³ãã«GCPã®æš©éãæž¡ããŠãã€ã³ãã©æ§ç¯ãŸã§å šéšãä»»ãã«ããã¢ãããŒããããã
ãã ä»åã¯ãäžèº«ããã©ãã¯ããã¯ã¹ã«ãªãã®ãé¿ãããã£ãã®ãšããŸãã¯ç¡æã§è©Šãããã£ããããšããã®ã倧ããªçç±ã§äžæ©ãã€èªåã§æåã確ãããªããé²ãããããGeminiãã察話ããŒãããŒã«éžãã§ããã
4人æ¥ã§ã®éçºãæ¯ããç°å¢
éçºç°å¢ã¯èº«è»œã«ãMacBook AirãVS CodeãVS Codeå ã®TerminalãFigmaã®ã¿ã

ã³ãŒãã®å®è£ ãšæèã®ããŒãããŒãšããŠGeminiã 3.1 Proã&ã匷åçæèã¢ãŒãããæŽ»çšããã
ããŒã éçºã§ã¯ã仿§ã®å ±æãã®ããã®ããã¥ã¡ã³ãäœæããä¿®æ£äŸé Œããšãã£ãã³ãã¥ãã±ãŒã·ã§ã³ãå¿ èŠã«ãªãããAIãšå¯Ÿè©±ããªããé²ãããšããããå€§å¹ ã«åæžã§ããã
ããã«å·¥æ°ã倧ããå§çž®ã§ããæå€§ã®çç±ã¯ãæææ±ºå®è ã§ããåèªèº«ããã¶ã€ã³ãæç€ºããŠãã©ãã·ã¥ã¢ããããããšãšãAIãæ°ç§ã§ã³ãŒããåºåããŠãããããšã ã
ãšã³ãžãã¢äžåšã§çµãã€ã³ãã©åºç€ïŒGCP/FirebaseïŒ
ã¢ããªãå®çšã¬ãã«ã§å ¬éããã«ã¯ãã€ã³ãã©ã®å®å®æ§ãæ¬ ãããªãã
ããŸãã¯ç¡æã§è©Šãããããšããç¹ã§ããç¡ææ ãå å®ããŠããGCP/Firebaseã¯æé©ãªéžæè¢ã ã£ãã
ãã©ã®æè¡ã䜿ãã¹ããããšããã¢ãŒããã¯ãã£ã®åºæ¬ç¥èããããã°ãããšã¯AIããã£ããããæ§æãçµãã§ãããã
ä»åæ¡çšããGCP/Firebaseã®æ§æ
1) WebãµãŒã (ããã³ããšã³ãã®ãããã€ãµãŒã)
Firebase Hosting (10GBãŸã§ç¡æ): PWAãšããŠã®ããã³ããšã³ããé ä¿¡ãããã¹ãã£ã³ã°ç°å¢ã
ãããã€æ¹æ³: Terminalãã "% firebase deploy" ã³ãã³ãäžçºã§ããã¡ã€ã«ãšç»åããµãŒãã«ã¢ããããŒãããã
2) DB (ããŒã¿ããŒã¹)
Cloud Firestore (NoSQL DB): äœçœ®æ å ±ïŒç·¯åºŠã»çµåºŠïŒãã¿ã€ã ã¹ã¿ã³ããæ®ãè·é¢ãªã©ã®ãã°ãä¿åããããŒã¿ããŒã¹ã
ç¡æç¯å²ïŒãŸããã®ç¯å²ãè¶ ããããšã¯ãªãïŒ
ããã¥ã¡ã³ãã®èªã¿åã: 50,000å / æ¥
ããã¥ã¡ã³ãã®æžã蟌ã¿: 20,000å / æ¥
3) èªèšŒåºç€
Firebase Authentication: Googleã¢ã«ãŠã³ãã«ããOAuthèªèšŒããã©ãã«æã®ããŒã¿åŸ©æ§ãæ¬äººç¢ºèªã®ããã®ã»ãã¥ã¢ãªãã°ã€ã³ç®¡çã
Google Cloud (GCP) OAuth åæç»é¢: Googleãã°ã€ã³æã«è¡šç€ºããã¢ããªã®ãã©ã³ãã£ã³ã°èšå®ã
4) ãªãã©ã€ã³åŠç
Firestore Persistent Local Cache: 黿³¢ã®å±ããªãå±±ééšããªãã©ã€ã³ç°å¢ã§ãããŒã«ã«ã«ãã°ããã£ãã·ã¥ããéä¿¡å埩æã«èªåã§åæããæ©èœãããã¯å±±ã®äžãèµ°ããã«ãçŸå Žã§äœ¿ãäžã§å¿ é ã®èŠä»¶ã ã£ãã
å©çšã·ãŒã³ã¯ãç²åŽèç©ã®æ¥µéç¶æ ããå±±ééšã§ãããã¯å®å®ããªãç¶æ³ã®æè¡éžå®
ãããããä»åãªãiOSãAndroidã®ããã€ãã£ãã¢ããªãã§ã¯ãªãããWebã¢ããªïŒPWAïŒããéžãã ã®ãã
PWAïŒProgressive Web AppsïŒãšã¯ãç°¡åã«èšãã°ãWebãµã€ããã¹ããã¢ããªã®ããã«äœ¿ããæè¡ãã®ããšã ã
ããããApp StoreãGoogle PlayããããŠã³ããŒãããªããŠããURLãéããŠãããŒã ç»é¢ã«è¿œå ãããã ãã§ãã¹ããã«ã¢ã€ã³ã³ãäœæãããéåžžã®ã¢ããªãšåãæèŠã§äœ¿ããã
ãã€ãã£ãã¢ããªã¯OSããšã®éçºãå¿
èŠã«ãªããã¢ããªã¹ãã¢ã®å¯©æ»åŸ
ã¡ãšããã¿ã€ã ãã¹ãçºçãããä»åã¯éçºã¹ããŒããšããã®ãURLã²ãšã€ã§ããã«ãŠãŒã¶ãŒãžé
åžã§ããæè»œãããåªå
ããã
ãå±±ééšã®åå€ã§ã䜿ããã®ãïŒããšããæå€§ã®æžå¿µããåè¿°ã®Firestoreã®ããŒã«ã«ãã£ãã·ã¥ãªã©ã掻çšããã°ãWebæè¡ã§ååã«ã¯ãªã¢ã§ãããšå€æããããã ã
ãã«ãã®çŸå Žã¯ãçŽå°æ¥å ãå€éèµ°è¡ã極床ã®ç²åŽãå¬çšã®åæã°ããŒããšãã£ãéé ·ãªç°å¢ã ã
ãã®æ¥µéç¶æ
ã®èŠæ±ä»æ§ãæºããã¢ããªãäœããšãªããšãäœãç¹æ®ãªã¢ãŒããã¯ãã£ãå¿
èŠã«æãããããããªãã
ã ããç¹å¥ãªæè¡ã¯å¿
èŠãªãã
ãããããµããæšæºçãªWebã®æ§æã§ãŸã£ããåé¡ãªãã
éèŠãªã®ã¯ãèŠæ±ä»æ§ã«å¯ŸããŠãã©ã®æè¡ïŒãã¡ã€ã«ïŒã«ãã©ããªåœ¹å²ãæãããŠè§£æ±ºãããããšããæè¡éžå®ãšåœ¹å²å®çŸ©ã ã
HTML: ã¢ããªå šäœã®éªšæ Œã¥ããã
CSS: èŠæ±ã»èŠæã«åºã¥ããŠUIããã³ãããèšè¿°ããã¹ã¿ã€ã«ã·ãŒãã
JavaScript (JS): çŸåšå°ã®ååŸãGPXããŒã¿ãšã®ç §åããããŠçµéæéããã貯éã¿ã€ã ãããå¿ èŠGrossé床ãã匟ãåºãèšç®ããžãã¯ã
JSON: ã¢ããªã®èšå®å€ãããŒã¹ããããŒã¿ã®ç®¡çã

ãã®ããã«ãèŠæ±ä»æ§ããæšæºçãªæè¡ã¹ã¿ãã¯ã®åœ¹å²ãã«åè§£ããèšèšãšããŠAIã«æž¡ãã
ããããWebã®åºæ¬ç¥èã«åºã¥ãæè¡éžå®ã®å
šäœåãæããŠããã°ãAIã¯ç¬æã«åå°ãšãªãæ§ææ¡ãã³ãŒããåºããŠãããã
ããããAIãåå°ãäœã£ã段éã§ã¯ããŸã èŠæ±ããã¯ãªãªãã£ã«ã¯éããŠããªããæçµçãªã¢ããªã®ã¬ãã«ãåŒãäžããã«ã¯ãããããã®ããã»ã¹ãéµã«ãªãã
ã¯ãªãªãã£ã決ããã®ã¯ã劥åãªããèšèªåããšããªãã€ã¯ã
æçµçã«æåŸ ããã¯ãªãªãã£ãŸã§æã£ãŠãããæå€§ã®çç±ã¯ãAIã®æ§èœã§ã¯ãªãã
ãã©ããªã¢ããªã«ãããããããŠãŒã¶ãŒã«ãšã£ãŠã©ããªäœéšããã¹ããããšãããã ããã培åºçã«èšèªåããçŽåŸãããŸã§AIãšã©ãªãŒãéããããšã«ããã
ããŒã éçºã«ãããŠããæ å ±ã®åªå 床ã¯ãã£ã¡ãäžã ãããã£ã¡ã®ãã¿ã³ã®æ¹ã匷床ãé«ãããšãã£ã现ããªUI/UXã®ãªãã€ã¯ã¯æ¥åžžè¶é£¯äºã ã
ãã¡ããããŒã ã§å¯Ÿå¿ã§ããããšã ããããã¥ã¡ã³ããæŽæ°ããæå³ãããåãããã³ãã¥ãã±ãŒã·ã§ã³ã¯ã©ãããŠãçºçããã
ã¹ã±ãžã¥ãŒã«ã®éœåã§ãPMåŽãåªå 床ãäžããŠçå°ãããããšãããã ããã
ããããçžæãAIã®ã¿ãªããã®ã³ãã¥ãã±ãŒã·ã§ã³ã®ã¿ã€ã ã©ã°ã¯ãªãã
ããã§éèŠã«ãªãã®ãã人éåŽãæã€UI/UXããWebã»ã¢ããªéçºã®ãåºæ¬ç¥èãã ã Â
ç¥èããããããããAIãæžããŠããæšæºçãªæ§ææ¡ãéžå®æè¡ã«å¯ŸããŠãããã¯è¯ãããçŸå Žãæ³å®ãããšããã¯ããä¿®æ£ãã¹ãããšç確ãªãã£ãŒãããã¯ãè¿ãããšãã§ããã
ãããã£ãŠèªåãçŽåŸãããŸã§AIã«ã³ãŒããæžãçŽããŠä»äžããŠãã£ãã
æ¬æ¥ãªãæå³ã®ããåãããçºçãããšããããã©ããªã¢ããªã«ãããããäžçªåãã£ãŠããèªåèªèº«ããçŽæ¥AIãšå£æã¡ããŠèŠä»¶ããããã¯ããžæ³šå ¥ãç¶ããããã
ããããå質ãšã¹ããŒããäž¡ç«ã§ããäžçªã®çç±ã ãšæãã
ãŸãšã

ä»åã¯Webéçºãã¢ããªéçºãªã©ãã¯ãªãšã€ãã£ããªçŸå Žã®çµéšè åãã«ãæ å ±å ±æã®äžã€ãšããŠãã®èšäºããŸãšããã
ä»åã®æ€èšŒãéããŠãã·ã¹ãã ã®ãåºæ¬ç¥èããšçŸå Žã®è§£å床ãé«ããã°ããšã³ãžãã¢ããã¶ã€ããŒãäžåšã§ããå質ãšã¹ããŒããäž¡ç«ããŠã¢ããªãäœããããšãããã£ãã
ããŠãiPhoneã§ã®å£æã¡ããå§ãŸã£ããMacã§ã®éçºãã§ãŒãºã¯ããã§äžæŠå®æã ã
ããããæ¬¡ã¯ãå®éã®çŸå Žãšãªã100kmã»ã©ã®ã³ãŒã¹ã«åºãŠã詊走ããè¡ããå®å°ã§ã®äœ¿ãå¿å°ã確ãããå°ãã§ãéåæãããã°ããã«æçŽããå ããŠããã€ããã ã
次åã¯ãçŸå Žã§ã®ãã¹ããçµãã詊走ã¬ããŒããããå±ãããã䜵ããŠãèå³ãæã£ãŠããããµã€ã¯ãªã¹ãã®æ¹ã
ã«ãå®éã«äœ¿ã£ãŠãããããããã¢ããªã®URLãå
¬éããäºå®ã ã
- #çæAI
- #ç§ã®ä»äº
- #Gemini
- #ã¢ããª
- #çŸå Ž
- #èªè»¢è»
- #å人éçº
- #æè¡
- #éçº
- #ããŒããã€ã¯
- #ã¢ããªéçº
- #AIãšã§ããããš
- #ããã³ãããšã³ãžãã¢ãªã³ã°
- #ãµã€ã¯ãªã³ã°
- #UIãã¶ã€ã³
- #JavaScript
- #ããŒã³ãŒã
- #AIéçº
- #UXãã¶ã€ã³
- #ã¿ã€ã ãããžã¡ã³ã
- #PM
- #äœã£ãŠã¿ã
- #ã¢ãžã£ã€ã«
- #figma
- #ãããã¯ããããžã¡ã³ã
- #UIUX
- #ããã³ããšã³ã
- #VScode
- #èŠä»¶å®çŸ©
- #Webéçº
- #ãã«ã
- #GCP
- #ããŒã³ãŒã
- #éçºèš
- #Firebase
- #ãã³ã°ã©ã€ã
- #PWA
- #ãã¶ã€ã³ã®ä»äº
- #æè¡éžå®
- #ãšã³ãžãã¢ã®ãªã¢ã«