
ã宿ããŠããåºãã ããããå€
Feature Flag ã§å°ããåºãå人éçºã®èšèš
Deploy ã®äžã§ããŸãæãæ¢ãŸã£ãŠããã
å·®åã¯éã£ãŠããã
åããã¹ãããèµ€ããªãã
ããã§ãé ã®äžã§ã¯ãåãäžæã鳎ãã
ãç»é¢ããŸã ç²ãã
ã宿ããŠããåºããã
å人éçºã®å€ã¯ãç±ãã®ã«é²ãŸãªãããšãããã
åå ã¯æãã ããããªãã
宿ãåŸ
ã€çãããªãªãŒã¹ãå
å»¶ã°ãã«ããã
7 æãå㯠Feature Flag ãå人éçºã®éçšã«æã¡èŸŒã¿ãŸããã
æªå®æãé ãããã§ã¯ãªãã
å°ããåºãããã®ãå€ã®ãªãªãŒã¹èšèšãšããŠã
å®æåŸ ã¡ããã¡ã°ãé·ããããã«ãŒã«ãªã
ã¿ãªããã¯ãå人éçºã§ãããå°ãæŽããŠããããŒãžããããããäºé±éã»äžãæãšäŒžã³ãçµéšã¯ãããŸããã
åã«ã¯ããããäœåºŠããããŸããã
å€éããããžéããã話ã§ãçæŒã®éäžãå®ãããã«ã¡ã³ããå€ãžç§»ããã
眮ãå Žã¯æŽã£ãã
ãªã®ã«ãæ©èœã®åºãæ¹ã¯å€ããŸãŸã ã£ãã
æ°ããã·ã¥ããŒãã®éªšæ Œã¯ããã
API ã®åãå
ã«èŒããããã
æ¬çªã®å
¥å£ã¯ãæ§ç»é¢ã®ãŸãŸã
çç±ã¯ãã€ãåãã§ãã
ã宿ããŠããèŠãããã
宿ã®å®çŸ©ãææ§ã ãšããã®äžæã¯æ°žé ã«åãŠãã
ãã¿ã³ã®äœçœãç©ºç¶æ
ã®æèšãã¢ãã€ã«ã®äžè¡ââ
æŽãã察象ã¯ãããã§ãèŠã€ããã
ããªãŒã©ã³ã¹ã®æ¡ä»¶ã§ã¯ãææ¥ãå¢çã«ãªãã
å人éçºã§ã¯ãå¢çãèªåã§æããªããšã宿åŸ
ã¡ãæ ç¹ã«ãªãã
æµ·ã®æ¥ã«æ ç¹ãåŒãçŽãã話ãšåãæ§é ã§ããã
å Žæã®èŒªéããªããšç¥æ¥ã溶ããããã«ãåºãæ¹ã®èŒªéããªããšãªãªãŒã¹ã溶ããã
7 æã¯èµ°ãåºãæã§ãã
èµ°ã£ãŠããã®ã«ããŒãžãæ¢ãŸãå€ã¯ããã£ãããªãã
ã宿ããŠããåºã ïŒ å®å šã ã ãšæã£ãŠãã
ãã€ãŠã®åã®å人éçºãªãªãŒã¹ã¯ãã ãããããã§ããã

| 段é | ããæ¹ | èµ·ããŠããããš |
|:---|:---|:---|
| å®è£
| é·ã feature ãã©ã³ã | main ããé ããã |
| ä»äžã | ãããå°ãããç¶ã | äœçœã»æèšã»äŸå€åŠçã§ç¡éå»¶é· |
| ããŒãž | 宿ããŠããäžæ¬ | å·®åã倧ãããDeploy ãæã |
| æ¬çª | å
šéšãã£ãºãã«èŠãã | ããŒã«ããã¯æ³åãéã |å®å
šã«èŠããã
å®éã¯ãå¡ã倧ããããŠããã ãã ã£ãã®ã§ãã
æ°ãã UI ãäœããã³ã«ãæ§ç»é¢ãšæ°ç»é¢ãé ã®ãªãã§äžŠã¶ã
ãã©ã£ã¡ãæ¬çªã«ãããããæ±ºãŸããªããã¡ã«ãå¥ã®ã¿ã¹ã¯ãæ¥ãã
ãã©ã³ãã¯çãããŸãŸãå€ã®ã«ã¬ã³ããŒã ããé²ãã
åé³ã®ããåã¯ãå£é ã®èª¬æããç»é¢ãšæç« ã§äŒããããšãå€ãã
ã ãããããç²ãç»é¢ãèŠããããªãæ°æã¡ã¯åŒ·ãã£ãã
èŠããããªãæ°æã¡ãšåºããªãç¶æ
ã¯ã䌌ãŠéãªããã®ã§ãã
åè
ã¯é
æ
®ã
åŸè
ã¯é²æã®åæ¢ã
äžå€ã®æè¡ã®é¡ãäºã§ãè§ŠãããïŒææŸãããããåãããšããããªã¹ãã®äžã«ãã€ãåãé ç®ããã£ãã
åºãæ¹ããå®æåŸ ã¡ãã忥ãã
é¡ãã¯æžããã
ä»çµã¿ã¯ããŸã ãªãã£ãã
ãã©ã°ã¯éãéãããªãââã§ã¯ã å€ã«ã©ã䜿ãã
転æ©ã¯ãææ³ã ãã§ã¯è¶³ããªãã£ãããšæ°ã¥ããããšã§ããã
æ©èœãã©ã°ã¯éãéãããªãã§æžãããšããããã€ãŠã®åã¯ãã©ã°ãæªå®æã®å庫ã ãšæã£ãŠããã
æ¬çªã¯ falseã
æå
㯠trueã
Deploy ã¯è»œããªãã
æ¶ãæ¥ã¯æžããªãã
å幎åŸãèªåã«èããªããªãã
ããã®ãã©ã°ããã€æ¶ããã ã£ãïŒã
çãããªããã©ã°ã¯éãéã§ãã
ä»çµã¿ãããªãã
ã ãã 7 æã®å®åã§ã¯ãåããã²ã£ããè¿ããŸããã
éãéã«ããªãããã«ãã©ã°ã䜿ããªãââã§ã¯ãªãã
éãéã«ãªããªãæ¡ä»¶ã ããæºãããŠãå人éçºã®ãªãªãŒã¹ã«æã¡èŸŒãã
å€éããããããã€åãããã®èšèšã ã£ãããã«ã
Feature Flag ã¯ããã€ã»èª°ã«ã»ã©ããŸã§èŠããããã®èšèšã§ãã
ãããã€ãæãå€ã®ç¶ããšããŠãèªããã
æãã®æ£äœã倿Žã®å¡ãªããå¡ãåããŠåºãæµãèŠãã
ãã©ã°ã¯éžã§ã¯ãªãã
åºãããã ã®å®å
šæµã«ã¯ãªããã
æµ·ã®æ¥é£äŒã®ããšã®å€ã«ãåãæ±ºããã®ã¯ããã§ããã
宿ããŠããåºãã®ããããã
代ããã«ãæªå®æãæ¬çªã®å ¥å£ã«åºããªãèšèšã§ããŒãžããã
ãèšèšã å人éçºåã Feature Flag ã®æå°æ§æ
å€§äŒæ¥ã® LaunchDarkly éçšãäžäººã«æã¡èŸŒãŸãªãã
åãå€ã«åºå®ããæå°æ§æã¯ã次ã®ãšããã§ãã

| èŠçŽ | å人éçºã§ã®çœ®ãæ¹ | ãããªãããš |
|:---|:---|:---|
| ã¹ã€ããæ¬äœ | ç°å¢å€æ°ïŒäŸ: `FEATURE_*`ïŒ | ãã©ã°å°çš SaaS ãå
ã«å
¥ãã |
| å€å®å Žæ | å
¥å£ïŒã«ãŒãïŒããïŒããŒãžïŒã«è¿ãäžç®æ | æ·±ãé局㫠`if` ãæ£ãã |
| æé | ã³ã¡ã³ãäžè¡ïŒé±æ¬¡ãªã¹ã | ããã€ãæ¶ãã |
| äžé | ãªããžããªãããåæ 3 ã€ãŸã§ | 䟿å©ã ããå¢ãã |
| ç¢ºèª | é± 1 ã§ ON/OFF ãšæ¶ãæ¥ãèŠã | äœãã£ã±ãªã |ãã€ã³ãã¯ãå
šéšããã©ã°ã«ããªãããšã§ãã
ãªãã¡ã¯ã¿ãäŸåæŽæ°ãåã®æŽçââãŠãŒã¶ãŒã«èŠããªã倿Žã¯ããã©ã°ãªãã§å°ããåºãã
ãã©ã°ã¯ãèŠããé¢ã®åºãåãã«äœ¿ãã
ãå€ã® Feature Flagã»åœ¹å²ã
ã»åºã: æ°ç»é¢ïŒæ°ãããŒã®å
¥å£ãéãããŸãŸããŒãžãã
ã»å®ã: æ¬çªãŠãŒã¶ãŒïŒãŸãã¯èªåã®æ¬çªå©çšïŒã«ç²ãé¢ãæããªã
ã»ç³ã: å®å®ãããåå²ãšæ§é¢ãæ¶ã
ã»ããªã: æªå®æãæ°žä¹
ã«èš±ãå庫ã«ããå
¬éããããšã®ä¿å®ãã§ãŒãºã§å
ã«éçšãæžãããšãã®æèŠã«è¿ãã
åºãåã«ãç³ã¿æ¹ãŸã§å«ããŠèšèšããã
ãå®è·µ â ã åœå ã» æé 㻠眮ãå Žãã»ããã§æžã
ã¹ã€ãããè¶³ããšãã¯ãã³ãŒãããå ã«äžè¡ãæžããŸãã
ããã©ã°ã«ãŒãïŒæå°ïŒã
åå: FEATURE_NEW_DASHBOARD
åºãç¯å²: 管çç»é¢ã®æ°ããã·ã¥ããŒãå
¥å£ã®ã¿
æ¶ãæ¥: 2026-08-04ïŒãŸãã¯ãå®å® 2 é±åŸãïŒ
æ¶ãæ¹: æ° UI ãåžžæè¡šç€º â æ§ UI åé€ â env è¡åé€ã³ãŒãåŽã¯ãå ¥å£ã«å¯ããŸãã
// 2026-08-04 ãŸã§ãæ°ããã·ã¥ããŒãæ€èšŒçšãå€ãããæ§ç»é¢ãåé€ãã
const useNewDashboard =
process.env.FEATURE_NEW_DASHBOARD === "true";
export function DashboardEntry() {
if (useNewDashboard) {
return <NewDashboard />;
}
return <LegacyDashboard />;
}åœåã«ãŒã«ã¯éã§ããã®ã§ãåºå®ããŸããã
ãåœåã
ã»FEATURE_ ã§å§ããïŒèšå®å€ãšæ··ããªãïŒ
ã»å¯Ÿè±¡ãåè©ã§åããïŒNEW_UI ãã NEW_DASHBOARDïŒ
ã»åŠå®åœ¢ã«ããªãïŒFEATURE_DISABLE_X ã¯é¿ããïŒç°å¢ã®åãæ¹ã¯ãå人éçºãªãããã§è¶³ããŸãã

| ç°å¢ | å
žåå€ | æå³ |
|:---|:---|:---|
| ããŒã«ã« | true | æ°é¢ãè§Šã |
| Preview | true ãŸãã¯äžéšã®ã¿ | èªåïŒéå®ç¢ºèª |
| æ¬çª | false â æ€èšŒåŸã« true | å
¥å£ã段éçã«éã |倧äºãªã®ã¯ãæ¬çªããããªã true ã«ããªãæé ãæç« ã«æ®ãããšã
ãã©ã°ãããå®å¿æã§ç¢ºèªãé£ã°ããšãæµã食ãã®æ¿ã«ãªãã
ãå®è·µ â¡ã äœããã©ã°ã«ãã äœããã©ã°ã«ããªãã
å€ã«å®éã«æ¯ãåããåºæºã§ãã

| å€æŽ | ãã©ã°ïŒ | çç± |
|:---|:---|:---|
| æ°ããã·ã¥ããŒãç»é¢ | ãã | ç²ãé¢ãæ¬çªå
¥å£ããé ãã |
| æ°ãããŒã®äžéš API | ããå Žåãã | ç»é¢ãšã»ããã§åºããšã |
| åã®åŒ·åã»ãªãã¡ã¯ã¿ | ããªã | èŠããªã倿Žã¯å°ããããŒãž |
| æèšã»äœçœã®åŸ®èª¿æŽ | ããªã | ãã©ã°ã®ã³ã¹ãã«èŠåããªã |
| å®éšçãªããé
ç® | ãã | è¿·ã£ããå
¥å£ã ãéãã |
| ããã€ã䜿ããããæ©èœ | ããªãïŒäœããªãïŒ | ãã㯠YAGNI åŽã®è©± |倿ã¯ãåã³äžåã«æ»ããŸãã
ã³ãŒãå²åŠåŽã§æžããåãããå€ã®å®åçšã«çãããŠããŸãã
ããã©ã°ãè¶³ãåã®äžåã
1. äœããã©ããŸã§å°ããåºããïŒå
¥å£ã¯äžç®æãïŒ
2. ãã€ã誰ãããã®ãã©ã°ãå€ããïŒæ¥ä»ããããïŒ
3. ãã©ã°ãæ®ã£ããŸãŸãäœãå£ãããïŒåå²ã®ã³ã¹ãïŒçãããŒããããªãããã©ã°ã¯æ©ãã
ãã©ã³ãã«çããã
ãŸã åºããªãã
ãããç«æŽŸãªéžæã§ãã
çãããããªããååãšæéãã»ããã§æ®ãã
if ã®åã«ãæ¶ãæ¥ãæžãã
ããã ãã§ãååº«ã¯æµã«è¿ã¥ããŸãã
ãæ£åžãã å®æåŸ ã¡ããæ®µéåºããž
èŠçŽãã®çµæãè¡šã«æ®ããŸããã

| | 以åïŒå®æåŸ
ã¡ïŒ | ä»ïŒãã©ã°ä»ãïŒ |
|:---|:---|:---|
| ããŒãž | å
šéšã§ããŠãã | å
¥å£ãéãããŸãŸå
ã«èŒãã |
| å·®å | 倧ãããªã | å°ããåãããã |
| Deploy ã®ææš | æ¢ãŸãããã | ãå
¥å£ã¯éããŠãããã§äžæ©åºãã |
| æ¬çªã®èŠãæ¹ | å
šéš or äœããªã | æ§é¢ã®ãŸãŸïŒæ€èšŒã ãæ°é¢ |
| è² åµ | é·ããã©ã³ã | çãæéã€ããã©ã°ïŒäžé 3ïŒ |
| 鱿¬¡ | æèŠã§ãããšã§ã | ãã©ã°äžèЧã 5 åèŠã |Before / After ãæèŠã§ã¯ãªãäžè¡ã§æ®ããšãç¿æã®èªåã«ãäŒãããŸãã
## Feature FlagïŒå€ïŒ
- ããŸéããŠãããã©ã°ïŒæå€§ 3ïŒ:
- ããããã®æ¶ãæ¥:
- ä»é±ãªã³ã«ããïŒãªãã«æ»ãã:
- æ¶ãããã©ã°ãšæ§é¢ã®å逿ç¡:Obsidian ã®é±æ¬¡ã«ããã®ãããã¯ã ãè¶³ããŠãè¶³ããŸãã
ç¶ããããšã®ããã·ã¥ããŒããšåãã§ãæžç¹ããªãã
éããŠããæµã®æ°ãšãç³ããæ°ã ããèŠãã
ã倱æè«ã ãã©ã°ãå¢ãããããŠé§ãæ»ã£ã ïŒæ±ïŒ
æåã®äºé±éã§ãäºã€å€±æããŸããã
ã倱æ â ã 䟿å©ã ããåã€ç®ãè¶³ãã
äžé 3 ãèªåã§ç Žã£ãã
ããã®å®éšãèšå®ç»é¢ã®å®éšãã¬ããŒãã®å®éšââ
å
šéšå°ããåºãããã«èŠããã
å®éã¯ãå
¥å£ãäžã€ã«å¢ããã©ããæ¬çªã®çå®ãåãããªããªã£ãã
ã³ãŒãå²åŠã§æžããé§ããå®ååŽã«ãæ»ã£ãŠããã
察çã¯åçŽã§ãåã€ç®ãè¶³ãåã«äžã€æ¶ãã«ãŒã«ã«ããããšã
å¢ãããªãå
ã«ç³ãã
å¢ãããªãé±ã®ç²Ÿç¥ãšæããŸãã
ã倱æ â¡ã æ¶ãæ¥ãæ¥é±ãšã ãæžãã
æ¥é±ã¯ãæ¥é±ã«ãªããšå¥ã®æ¥é±ã«ãªãã
æ¥ä»ã®ãªãæéã¯ãæéãããªãã
察çãšããŠãã«ã¬ã³ããŒã鱿¬¡ããŒãã« YYYY-MM-DD ãæžãããšã«ããã
ææ§èªã¯çŠæ¢ã
ãå®å®ãããããçŠæ¢ã«è¿ãã
å®å®ã®å®çŸ©ãäžæã§æžããªããªãããŸã ãã©ã°ãè¶³ããªãã
ããäžã€ãç°å¢å·®åã®äºæ
ããããŸããã
Preview 㯠trueãæ¬çªããã€ã®éã«ã trueââ
確èªãé£ã°ããèªåã®ããã§ãã
ãããã€åã® 30 ç§ãã§ãã¯ã«äžè¡è¶³ããŸããã
ãDeploy åã»30 ç§ã
ã»æ¬çªã® FEATURE_* ã¯æå³ã©ããã
ã»å
¥å£ã¯éããŠãããïŒéããªã誰åãã
ã»æ¶ãæ¥ã¯ãŸã æå¹ããå®è·µçšã ä»å€ããã§ããæå°ã® Feature Flag ãã§ãã¯ãªã¹ã
åãèšèšãå°ããå§ãã圢ã«èœãšããŸãã
ãå人éçº Feature Flagã»æå°ã
1. ã宿åŸ
ã¡ãã§æ¢ãŸã£ãŠãã倿Žãäžã€æžã
2. èŠããå
¥å£ãïŒ â Yes ãªããã©ã°åè£
3. äžåïŒç¯å²ïŒæ¶ãæ¥ïŒæ®ããšå£ãããã®ïŒã«çãã
4. FEATURE_ åïŒã³ã¡ã³ãã«æ¶ãæ¥ãæžã
5. å
¥å£äžç®æã ãåå²ããïŒæ·±ã if ãå¢ãããªãïŒ
6. ãªããžããªã®åæãã©ã°ã¯ 3 ãŸã§
7. é± 1 ã§äžèЧãèŠãŠãæéåãã¯ç³ãïŒæ§é¢åé€ãŸã§ïŒéå
·ã¯æå°ã
ç°å¢å€æ°ãšå
¥å£ã®åå²ãšã鱿¬¡ã®äºåã
LaunchDarkly ã¯ãäžäººã§äžéãå®ããªããªã£ãŠããã§ããã
æ¥é±ã®ããŒãã«è¿ã話ããå
ã«äžèšã ãã
ã¹ã³ãŒããååã«ãã YAGNI ã¯ããäœããªããåŽã®èšèšã§ãã
Feature Flag ã¯ããäœã£ããã®ããã©ãèŠããããåŽã®èšèšã
äž¡æ¹ããããšãå€ã®å人éçºã¯åã«åºããããªããŸãã

| | 以å | ä» |
|:---|:---|:---|
| å¿ç | ç²ãããåºããªã | ç²ãé¢ã¯å
¥å£ã§éãããã |
| ãã©ã³ã | é·åœåãããã | main ã«å¯ãããã |
| æ¬çª | å
šéšèŠããããäœãåºããªãã | 段éåºã |
| 鱿¬¡ | ãããšã§æŽããã | ãã©ã°ã®çæ»ãèŠã |
| ææ
| Deploy ã§æ¢ãŸã | æµã®åããã«äžæ©åºãã |宿ãåŸ ããªãå€ã¯ã éã«åºãå€ãããªã
ã«ãŒãã³ãéããçæŒã«ãéãã«å®è£
ããã
å€ã¯ãããã«ä»»ããã
ç¥æ¥ã¯ãæ ç¹ã®èŒªéã§åºåãã
7 æã®èšèšã¯ãã©ãã匷床ãåãã話ã§ããã
Feature Flag ãåãã§ãã
宿ãåŸ
ããªãããšã¯ãéã«æãããšã§ã¯ãªãã
æªå®æã®å
ãå
¥å£ã§èª¿å
ããããšã§ãã
éšå±ããšééããéµã§ã¯ãªãã
äžæ®µã ãèœãšã調å
åšã
ãªã³ã«ãããçµããã§ããªãã
ãªãã«æ»ããŠãåå²ãæ¶ããŠãåããŠä»äºãçµããã
ããä»ãDeploy ã®äžã§ã宿ããŠããããšæ¢ãŸã£ãŠãããªãã
ãã®å®æã¯ãæ¬åœã«ä»æ¥å¿
èŠãªå®æãã
ãããšããåºãæ¹ã®èŒªéããªãã ããââ
äžåºŠã ãåãçŽããŠã¿ãŸãããã
å°ããåºãå€ã¯ã宿ã®å®çŸ©ãäžããå€ãããªãã
åºãåäœãå°ããããå€ã§ãã
å€éãžéãããéããã®äžã§ãæµãäžæ¬è¶³ãã
ãã®å
ã§ãæã¯å°ãã ã Deploy ãæŒãããããªãââ
åã«ã¯ããããã¯ã£ããèŠããŸããã
ã²ãšãããš
å®æåŸ ã¡ã®ãã©ã³ããéãããšããå°ãã ãåã¡ãæããŸããã
åã£ãçžæã¯ãå質ãããªãã
ããã£ãšæŽããŠããããšèããããçµããã®ãªã声ã§ãã
ç²ããã®ã¯ãå
¥å£ã®åããã«çœ®ãã
main ã«ã¯ãç³ãã圢ã§èŒããã
æ¶ãæ¥ãæžãã
äžéãå®ãã
å€ã®æè¡åŠç¿ã¯ãæ°ãããã¬ãŒã ã¯ãŒã¯ãããå ã«ãã®åºãæ¹ãããããªããšæããŸããã
åãããã«ãå®æåŸ ã¡ã§å€ãæ¢ãŸã£ãŠãã人ã®ãã³ãã«ãªãã°å¬ããã§ãã

ããããŠèªã¿ãã
âŒ ææ³åŽã®äžæ¬ãšããŠïŒéãéã«ããªã話ïŒ
ä»åã®å®åèšèšã®åæã§ãã
æéãšååããªããã©ã°ã¯ãä»çµã¿ãããªãããšãã話ã
⌠åºãåã«ãæ¥äžã®éãããå®ãç·ãšããŠ
å°ããåºãèšèšããçæŒã®éäžããã£ãŠããç¶ãââãã®å段ã§ãã
⌠æãã®æ£äœããå¡ãã§ãããšã
ãã©ã°ã¯éžã§ã¯ãªãã
åºãããã ã®å®å
šæµããšããæèŠã®åç¹ã§ãã
⌠觊ãããïŒææŸããããåããå€ã®å ¥å£
ãåºãæ¹ã忥ããããé¡ãäºã ã£ããšããããã仿¥ã®ä»çµã¿ãžç¹ãããŸãã
⌠åºããããšã®éçšãå ã«æžã話
åºãã»ç³ãã»æ®ããªãã
ä¿å®ã®æž©åºŠæãè¿ãèšäºã§ãã
次ã®äžæ©ãäžç·ã«æ±ºããäœæŠäŒè°å®€ãž
宿åŸ
ã¡ã§æ¢ãŸããªãªãŒã¹ã
ãã©ã°ãè¶³ãã¹ããããŸã ãã©ã³ãã«çããã¹ããã
äžäººã ãšãååº«ãšæµã®å¢ç®ããŒãããããã§ãã
äœæŠäŒè°å®€ã§ã¯ãå人éçºã®åºãæ¹ââåœåãäžéãæ¶ãæ¥ã鱿¬¡ã®èŠæ¹ââããçŸå Žã®ç²åºŠã§åãåããå Žæã«ããããšæã£ãŠããŸãã
Feature Flag ã®ç¶ãããæ¥é±ã® YAGNIïŒã¹ã³ãŒãååïŒãšã»ããã§æŽããããšããå¿
èŠãªã¿ã€ãã³ã°ã§èŠããŠã¿ãŠãã ããã
ãnote 質åç®±ãâ» æ°æ©èœ
ãèããããã©ãèããªãã
ãããã質åã»ã©ã
å®ã¯èª°ãã®åœ¹ã«ç«ã€ã
note質åç®±ã
éããŸããã
ããªãŒã©ã³ã¹ 15 幎ç®ã®ãšã³ãžãã¢ã«
ãªãã§ãèããŠã¿ãŠãã ãã ð®
ðïž ãã©ãã¯ãŒéå®
ïŒåŸã ãã¡ã³ããŒã·ããã®ã¿ã«ãªãäºå®ïŒ
https://note.com/qa/digiangler777
Substack ã¯ãããŸãã
ãããŸã§èªãã§ãã ãããããããšãããããŸããã
X ã§ã¯çãèšèã§ãnote ã§ã¯æŽçããæç« ã§çºä¿¡ããŠããŸãããSubstack ã§ã¯ããã£ãšéäžçµéã®æèãåããããªãã£ãèè€ãæè¡è ãšããŠæ¥ã èããŠããããšãæžããŠããŸãã
ããèå³ãããã°ãèŠããŠã¿ãŠãã ããã
äŒç€Ÿå¡ïŒå
ã·ã¹ãã ãšã³ãžãã¢ïŒããããªãŒã©ã³ã¹ãšãªãã
15 幎ç®ã«çªå
¥ããŸããã
çŽæãšé害察å¿ã«è¿œãããæ¯æ¥ã®äžã§ã
ããã£ãšèªç±ã«ããã£ãšæ¬è³ªçã«ãã®ã¥ããããããã
ããæã£ãã®ãç¬ç«ã®ãã£ããã§ãã
çŸåšã¯ãæè¡ãšæç« ã軞ã«ã
ä»äºãã©ã¯ã«ãªãä»çµã¿ãç¶ããããåãæ¹ãçºä¿¡ããŠããŸãã
ãããªãŒã©ã³ã¹ã«ãªã£ãŠ15幎ç®çªå ¥ã
â ãããšãïœããªãŒã©ã³ã¹éçºè à ã¹ããŒãªãŒãã©ãŒ (@digiangler) March 3, 2026
14幎ãšããææ¥ã¯é·ãããã§ã
ãã£ãšããéã ã£ãã
æåãããšèšããã»ã©ã®æŽŸæãã¯ãªãããã©ã
仿¥ãŸã§ãšã³ãžãã¢ãšããŠã飯ãé£ã¹ã
æ°ããã³ãŒããæžããŠããã
ããã ãã§åå幞ããªããšãªãã ãšæãã
ææ¥ã¯ææ¥ã§ããŸãæ·¡ã ãšãâŠ