ã¿ãªããããã«ã¡ã¯ããšã³ãžãã¢ãæã€ãã°ããã"ã·ã§ã¢æå"ã®èæ¯ã«è¿«ããã®é£èŒãã€ãã«ã¯ã©ã€ããã¯ã¹ïŒ
ãããŸã§5åã«æž¡ã£ãŠãšã³ãžãã¢ç¹ååQ&Aãµã€ããteratail(ãã©ãã€ã«)ãã«ãããååçããããåçãŠãŒã¶ãŒãžã®ã€ã³ã¿ãã¥ãŒãéããããªãèªèº«ã®ç¥èãããŠããŠãã·ã§ã¢ããã®ãïŒããæ¢ã£ãŠãããä»åã¯ããšã³ãžãã¢ã®ã³ãã¥ããã£æåãäœã£ãŠããteratailãšãã¹ããŒããŠãŒã¶ãŒã®koyhogeæ°ã«ã·ã§ã¢æåã®ããããŸã§ããšããããããã䌺ã£ããæåŸã®ã€ã³ã¿ãã¥ãŒã¯åç·šã»åŸç·šã®2åã«åããŠãå±ãããã
ãªãŒãã³ãœãŒã¹åããæ å ±ãå ±æããããšã§ãœãããŠã§ã¢ã¯çºå±ããŠãã
ãkoyhoge(å°å±±å²å¿)ã ååäŒç€Ÿã»ãæç 代衚瀟å¡ãæ¥æ¬UNIXãŠãŒã¶äŒ(å¹¹äº)ãå§ããæ¥æ¬PostgreSQLãŠãŒã¶äŒãæ¥æ¬PHPãŠãŒã¶äŒãªã©ãå€å²ã«ãããOSSã³ãã¥ããã£ã®æŽ»åãæ¯ããã2007幎ã«ã¯OSSè²¢ç®è è³ã«ãéžã°ããŠãããå ±èæžã«ãPHPãšã³ãžãã¢é€æèªæ¬ããLaravelãšãã¹ããŒãé€æèªæ¬ããªã©ãteratailã§ã¯ãšãã¹ããŒããŠãŒã¶ãŒãšããŠPHPé¢é£ã®è³ªåã«åçäžã
ââ ãããããé¡ãããŸããkoyhogeããã¯æ®æ®µã©ããªãä»äºããããŠããŸããïŒ
ããªãŒã©ã³ã¹ã®ãšã³ãžãã¢ãšããŠããã°ã©ã ãæžããŠããŸããé±2ïœ3æ¥ã¯ããäŒæ¥ã®ç€Ÿå ã·ã¹ãã ãäœããããšã®é±1ïœ2æ¥ã¯ãããã£ã®ããããã£ã¯ã©ãŠãmobile backendãã®ãšãã³ãžã§ãªã¹ã掻åãã¢ã€ã©ã³ãã®æè¡é¡§åãšããŠãæäŒããããŠããŸãããã50æ³ã§ããã"çŸåœ¹"ãšããŠæŽ»åããŠããã®ã§ãããšã³ãžãã¢35æ³å®å¹Žèª¬ã¯ã©ãã«ãã£ãã®ã ããããšããæãã§ããã
ââ ãã€ãããšã³ãžãã¢äººçãå§ãŸã£ãã®ã§ããïŒ
ã³ã³ãã¥ãŒã¿ãŒã«åããŠæ¬æ Œçã«è§Šããã®ã¯ã倧åŠãç幎ããæã§ããã倧åŠã®ææ¥ãåãã以å€ã¯æéããããããšããšã³ã³ãã¥ãŒã¿ãŒã«èå³ããã£ããããããã°ã©ãã³ã°ã®ãã€ããå§ããŸãããç¥äººã®ç޹ä»ã§å»ºç¯çšã®3DCGåç»ãäœãã¹ã¿ãžãªã®ç«ã¡äžãã«åå ããŸãããããã§ããããªã2000äžåã»ã©ããã¯ãŒã¯ã¹ããŒã·ã§ã³ã§ããã°ã©ãã³ã°ãæžãããšã«ãªããCèšèªãUNIXãX Window Systemãšã©ãã©ãç±äžããŠãããŸããããã®åŸã®ç€ŸäŒäººç掻ã§ã¯ãµãŒãã¹éçºã®äžæµããäžæµãŸã§äœã§ããããŸãããããããªããã€ã¹ãOSã«å¯ŸããŠãéçºçµéšããããŸãã
ââ ãšã³ãžãã¢æŽã¯çŽ30å¹ŽïŒæã®ãšã³ãžãã¢ã®"ã·ã§ã¢æå"ã¯ã©ãã§ãããïŒ
ä»ã®ãšã³ãžãã¢ã«ãšã£ãŠããœãŒã¹ã³ãŒããå ¬éããã®ã¯åœããåã«ãªãã€ã€ãããŸããèªåãèŠåŽããæã«ä»äººã®ããŠããŠããã£ããå¬ããããèªåãåŠãã ããšãäœã£ããã®ãä»ã®äººã®æå©ãã«ãªãã®ã¯å¬ãããããªãã§ãããä»ã ãšãããããã®äŒæ¥ããœãŒã¹ã³ãŒããå ¬éãããšããã§ãçç±ããã¡ãã¡èããŸãããããæã¯ããªãã§ãããªããšããã®ïŒããšããã¯ãªããããããã§ãããããã±ãŒãžã売ããããªäŒæ¥ãããããå€ã«ã³ãŒããåºããªããŠèããããªãäžçã§ãããOSS(ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢)ãäž»æµã«ãªã£ãã®ã¯ãããæè¿ã§ããçŸåšã®Firefoxã®å身ã§ããNetscapeããœãŒã¹ã³ãŒããå ¬éãããšããªãããããªã«ãèããŠãããã ãããžãã¹ã«ãªããªããããªããããšè©±é¡ã«ãªããããã
ââ ããããã©ããã£ãŠ"ã·ã§ã¢æå"ãåºæ¥ãŠãã£ãã®ã§ããããïŒ
BSD UNIXãããªãŒãœãããŠã§ã¢ãªã©ãåºå§ããããããããããã¥ãŒã¹ããšãããã±ããªã¬ãŒåŒã®ã€ã³ã¿ãŒãããæ²ç€ºæ¿ã«ããšã³ãžãã¢ãã¡ãããããªãœãããŠã§ã¢ãæçš¿ããããã«ãªããŸãããããã§ããã¯äœ¿ãã/䜿ããªããšããæ å ±ãå ±æãããŠããããã«ãªã£ãã®ããã·ã§ã¢æåãåºãŸã£ããã£ããã®ã²ãšã€ã ãšæããŸããã¡ãªã¿ã«ãPerlãäœã£ãLarry Wallã¯ãrnããšããããããã¥ãŒã¹ãªãŒããŒãäœã£ãããšã§æåã«ãªã£ã人ã§ãã
ãªãŒãã³ãœãŒã¹åããããœãããŠã§ã¢ã«ããããããå°ã£ããšãããä»ãå ããŠããããšã§ãå°æ¥ã®èªåãå°ããªããªã£ãŠãããŸãããããã£ãŠãœãããŠã§ã¢ã¯çºå±ããŠããŸããããœãããŠã§ã¢ãè¯ããªã£ãŠãããããéçºè ãåãã§æ å ±ããªãŒãã³ã«ãããã§ããããŸã¿ããªãããã°ã§èšäºãæžãããSNSã§æ å ±ãã·ã§ã¢ãããããã®ããteratailã®ãããªQAãµã€ããããã§ãããçµå±ã人ã«å¯ŸããŠãã£ãããšã¯ãåŸã èªåã«è¿ã£ãŠãããã§ããåãããªãããšãã°ã°ã£ããèªåã®ããã°ãåºãŠãããªããŠããšã¯è¯ãèããŸããã
ââ ããèããšãšã³ãžãã¢ã«éã£ã話ã§ããªããããªæ°ãããã®ã§ãããããããæ¥åžžçãªããŠããŠã®ã·ã§ã¢ã¯ä»æ¥çš®ã§ã¯ããŸãèããŸããããã
ããã¯ä»ã®æ¥çãæçããŠãããããããªãããªãã·ã¹ãã éçºã£ãŠãŸã ãŸã éæž¡æãªãã§ããããããããªããšã詊ããŠãããããªããšã倱æããŠããã®çµéšãç©ã¿äžããŠããã®ãæ¥çå šäœã®é²æ©ã«ç¹ãã£ãŠãããã ãšæããŸããããšãã°ãå¶æ¥è·ã®å Žåã¯æŽå²ããããŸãããæ¥çã«ãã£ãŠããã©ã€ããããã®ã§ãäžäœæãæã¡ã«ããã®ãããããŸããããšã³ãžãã¢ã®ãããªç¹åããŠããŠããã€æªéæãªæ¥çã¯ããŠããŠãå ±æããããšã«ã¡ãªãããããã®ã§ãã
ââ éã«ããšã³ãžãã¢å士ã§ãã·ã§ã¢ããªãæä»£ã£ãŠãã£ãã®ã§ããããïŒ
ãã£ã±ããããããªãããã¯é£ããã£ãã§ããå€å°ã¯ãã£ããããããŸããããä»ã»ã©é »ç¹ã«ããåããã§ããªãã£ãã®ã§ãç§ã瀟äŒäººã«ãªã£ã90幎代ã¯ã幎ã«1ïœ2åãã倧ããªã€ãã³ãã§èŠªãããªã£ã人ãšè©±ãåããããã§ãããããã°ããªãã£ãã®ã§ãæ å ±ãåŸãææ®µã¯æžç±ãéèªãæéã®æµãããã£ããã§ããããã¯ããäœã£ãŠãåºãŸãã®ã«1ïœ2ã«ææãããŸãããããããæä»£ã ãšã·ã§ã¢ããã«ããããã³ãã¥ããã£ãã§ãã«ããã§ãã
ãå°ã£ãŠããããšã解決ããããšã³ãžãã¢å士ã§ãã£ãŠããããšã¯æãšå€ãããªã
ââ koyhogeããã¯ããŸããŸãªèšèªãŠãŒã¶ãŒäŒãç«ã¡äžããããŠããã£ããããŸãããã«ã³ãã¡ã¬ã³ã¹ã®ã¹ã¿ã€ã«ã¯ä»¥åãä»ãåãã§ããïŒ
å®éã«ç«ã¡äžãããåå ãããŠãŒã¶äŒã¯BeOSãããã§ãå®ã¯ããŸæŽ»åããŠãããŠãŒã¶äŒã®çºè¶³ã«ã¯ç§ã¯çµ¡ãã§ããŸããã1983幎ã«èªçããæ¥æ¬UNIX ãŠãŒã¶ãŒäŒ(jus)ã«ã¯1989幎ããåå ããŠãŸãããããã§ã¯å¹Žã«2åæ±äº¬ãšå€§éªã§ã·ã³ããžãŠã ãšãã£ãã¡ãã£ãšåŠè¡ã£ãœãã€ãã³ãããã£ãŠããŸãããè«æçºè¡šãšå±ç€ºããŒã¹ããããããŒã¹ã§ã¯åäŒæ¥ãã¯ãŒã¯ã¹ããŒã·ã§ã³ãåºããŠããŠæ åœè ãšè©±ãããšãã§ããŸããããã§ããããªè©±ãèããããããããªäººãšè©±ãããããã®ãäžè¬çã§ãããã ããä»ã®ã«ã³ãã¡ã¬ã³ã¹ã®åœ¢åŒãšã¯ã¡ãã£ãšéãã®ããªãã©ã¡ãããšãããšã¢ã«ãããã¯ãªé°å²æ°ã§ãããã
ââ ãã³ãºãªã³ã®ãããªå匷äŒåœ¢åŒã®ã€ãã³ãã¯ãããŸãããïŒ
åœæã¯ãããªã«ãããŸããã§ãããããããªäžãæ¥æ¬UNIXãŠãŒã¶ãŒäŒã®å¹¹äºäŒã§è°è«ãããŸããŠãæ¯å¹Žåæè¡éèªã®4æå·ã§å ¥éç¹éãçµãŸããããšãããåå¿è åãã«äœäŸ¡æ Œã§å匷äŒãæ¯æãã£ãŠããã°ãŠãŒã¶å±€ã®åºäžãã«ãªãã®ã§ã¯ãªãããšãã話ã«ãªããŸãããäŒè²»1000åãšããåœæã«ããŠã¯ç Žæ Œã®äŸ¡æ Œã§å匷äŒãå§ããã奜è©ã§ãç¶ããŠããããšã«ãªããŸããã1996幎ãããããã¯ãããŠããããŸã§ã«100å以äžãã£ããããšæããŸããå匷äŒã®åŸã¯æèŠªäŒãšããä»ãšå šãåãã¹ã¿ã€ã«ãã ãã20幎åããä»ã®æµããã§ããŠããããšã«ãªããŸããã
ãã®åŸ1999幎ããã«ãããã¯ãŒã¯ãæ®åããããšã§ãããããªã³ãã¥ããã£ãçãŸããŠãããŸãããåæè¡ã®ãŠãŒã¶ãŒäŒãèªçããŠãã£ããã§ããæ¥æ¬PostgreSQLãŠãŒã¶ãŒäŒãæ¥æ¬PHPãŠãŒã¶ãŒäŒããã®é ã«çãŸããŸããã
ââ æ å ±ã¯ã©ã®ããã«å ±æããŠãããã§ããïŒ
JUNETãšããé»è©±ç·ãã€ãã£ããããã¯ãŒã¯ãããœã³ã³éä¿¡ããå§ãŸãããã®åŸIPãããã¯ãŒã¯ãæ®åãå§ããŠãããŸãããåœæã¯å€§ããªã·ã¹ãã ããœãããŠã§ã¢ã ãšé»è©±ç·ã§éããªãã®ã§ã倧容éããŒãã«èšé²ãããã®ãå芧ããŠããŸãããå芧ã®åå è ã¯ããããã¥ãŒã¹ã§åéããåå è ã®å芧ã«ãŒããæ±ºããéµäŸ¿å°å ãå® é 䟿ã§å±ãããã®ãæå ã§ã³ããŒãããæ¬¡ã®äººã«éãããšããäœæ¥ã§ãã386BSDãšããPC-UNIXã®å芧ã®ãšãã¯ã30ïœ40æã®3.5ã€ã³ããããããŒãéãåããŸãããä»ã§èšãGit cloneã§ãã£ãŠããããšãç©ççã«ãã£ãŠããæãã§ããã90幎代ã®åŸåé ãããUNIXãŠãŒã¶ãŒåãéèªãåºå§ããã®ã§ãããä»é²ã§ä»ããŠããCD-ROMã売ãã«ãªã£ãŠãããããã§ãã1995幎ããããã€ã³ã¿ãŒããããæ®åãå§ããæ å ±å ±æã¯ããããã¥ãŒã¹ãšã¡ãŒãªã³ã°ãªã¹ããäž»æµã«ãªããŸããã
ââ ã¡ãŒãªã³ã°ãªã¹ãã¯ã©ã®ããã«æŽ»çšãããŠããã®ã§ããïŒ
æè¡ç³»ã¡ãŒãªã³ã°ãªã¹ããæãã圹å²ã®6å²ãQ&Aã§ããããåå¿è ãåãããªãããšãçºä¿¡ããŠãåãã人ãè¿ä¿¡ããŠããŸãããçµå浩ããããæè¡ç³»ã¡ãŒãªã³ã°ãªã¹ãã§è³ªåãããšãã®ãã¿ãŒã³ã»ã©ã³ã²ãŒãžããšããããã¥ã¡ã³ããæžãããã®ãããããããããšãããçãŸãããã®ã§ããçãã«ãã質åãæããåå¿è ãå€ãã£ãã®ã§ããã§ãã¯ãªã¹ãçãªããã¥ã¡ã³ããäœã£ãŠããããã§ããæè¡ã ããããªããŠãã€ã³ããéèŠã ããšããããšãæžããŠãããŠãããåœæã¯ã¡ãŒã«1ééãã³ã¹ããçµæ§æãã£ãŠããã®ã§ã質åã®ä»æ¹ãåçã®ä»æ¹ãæªããšã¯ã¬ãŒã ã«ãªãçšã§ããããã¡ãŒã«ã®ã·ã°ããã£(眲å)ã¯4è¡ã«æããã¹ãããªããŠããä»ã®æèŠã§ã¯å€ãªã«ãŒã«ããã£ããããã§ããã
ââ ããã§ããã®æåãåºæ¥ãŠãããšããããšã¯ãçãã人ãããããããã£ãŠããšã§ãããïŒ
æ ¹æ¬çã«ã¯æãä»ãå€ãã£ãŠããªããšæããã§ãããããŒã«ãèå°ã¯å€ãã£ãŠããŠããå°ã£ãŠãã人ãããŠããã®äººãå©ãããšèªåã®ã¡ãªããã«ãªããšããã®ãã¿ããªåãã£ãŠããŸãã
ââ ãå°ã£ãŠãã人ãå©ããã¡ãªãããã£ãŠïŒ
ãã¡ããèªåãå°ã£ãŠãããšãã«å©ããŠããã£ãæ©è¿ããããããšããã®ãããã ããããèå³ããã話é¡ããã£ããããã§èª¿ã¹ãããšã«ãã£ãŠèªåã®ç¥èãå¢ããã質åãè¯ãåé¡æèµ·ã«ãªã£ãŠãããã§ãã
Rubyã®éçºè ã§ãããŸã€ããšããã²ãããããããªè©±ãããŠããŸãããããœãããŠã§ã¢ãšã³ãžãã¢ãããŸã䜿ãã«ã¯ãã¡ããã©è¯ãç²åºŠã§åé¡ãããããäœãããšã ããšãçµå±ããšã³ãžãã¢ã¯åé¡ãããã°ããã解決ããããªããã§ããããã ãããã®åé¡ãããããäœãç¶ããŠãããã°æè¡ãäžãã£ãŠãããšãããç°¡åãããŠãé£ããããŠããããªããããé©åãªé£ããã®åé¡ãé©åºŠã«åºãç¶ããããšã倧äºãçµå±ãå°ã£ãŠãããã®ãã©ãã©ã解決ããã®ããšã³ãžãã¢ã®çŽ è³ªãªãã§ãã
30幎ã«ããã£ãŠç¯ããããã·ã§ã¢æåãã®ä»åŸã¯ïŒ
koyhogeæ°ã€ã³ã¿ãã¥ãŒååã§ã¯ã30幎ã«ããã"ãšã³ãžãã¢æ¥çã®ã·ã§ã¢æå"ã®æãç«ã¡ã䌺ã£ãããããããã¥ãŒã¹ãã®èªçã«ããããšã³ãžãã¢ã®ã·ã§ã¢æåã圢æãããŠãã£ãããšãåŠã¹ããåæã«ãããŒã«ã¯å€åããŠãã£ãŠãæ ¹æ¬çã«ãšã³ãžãã¢ããã£ãŠããããšã¯ãå°ã£ãŠããããšã解決ãããããšã§ãããäžè²«ããŠå€ãã£ãŠããªããšããããšãåãããéåžžã«è峿·±ãã€ã³ã¿ãã¥ãŒãšãªã£ãã
åŸç·šã§ã¯ãkoyhogeæ°ã®èãããšã³ãžãã¢ã³ãã¥ããã£ã®æ¬è³ªãšä»åŸããããŠkoyhogeæ°ãªãã§ã¯ã®teratailã®äœ¿ãæ¹ãªã©ããäŒããã7åã«æž¡ã£ãæ¬é£èŒãç· ãããããæçµåããæ¥œãã¿ã«ã
å·çè 玹ä»
æšäžéç
![]()
1988幎çãŸããçŠå²¡çåºèº«ããšã³ãžãã¢ç¹ååQ&Aãµã€ããteratailãã®DevRel(æè¡è åãåºå ±)æ åœã2013幎ã«ã¬ãã¬ãžãŒãºã«æ°åã§å ¥ç€Ÿãã1幎ã§ãããå¶æ¥ãã³ãšãªã£ãåŸãçŸåšã®teratailããŒã ã«ãžã§ã€ã³ã幎é30以äžã®ãšã³ãžãã¢åãã€ãã³ã/å匷äŒãéå¬ããŠããã奜ããªãã®ã¯JavaScript(ãã ããçŽ äºº)ãšã¹ããŒããŒãã




