ãæ¥æé·ã¹ã¿ã¼ãã¢ããã«ãããDeveloper Productivityåä¸ã®å®ä¾ã ãã¢ã«ãã à Wantedly à Sansan à ããã à Talknoteã http://startuptechtalk.doorkeeper.jp/events/14088
ã¾ããã ãã¼ã¿ã«IDãæããããã¨ããåç´ãªæ¹æ³ã¨ãã¦ã¯ãDBã®æä¾ããauto incrementã使ãå ´åãUUIDãå©ç¨ãããã¨ããããããããã®æ¹æ³ã®å©ç¹æ¬ ç¹ã¯ä»¥ä¸ã®éãã ãã¼ã¿ãã¼ã¹ã®auto incrementã使ãå ´å å©ç¹: ç¹å¥ãªå®è£ ãå¿ è¦ãªã æ¬ ç¹: DBã1å°ã§éç¨ããã¨ãã¼ã¿ãã¼ã¹ãããã©ã¼ãã³ã¹ã»é害ã®ããã«ããã¯ã«ãªã DBãäºå°ã«ããã¨IDã®ã¦ãã¼ã¯ããé åºã®ä¿è¨¼ãå°é£ UUID(v4)â»1ãå©ç¨ããå ´å å©ç¹: åæ£ç°å¢ã§åã ãIDãçæãã¦ãè¡çªããªã IDãå ¬éããããªãå ´åã«ãæ¨æ¸¬ããã«ããIDãçæã§ãã æ¬ ç¹: 128ãããå¿ è¦ãDBã®ã¤ã³ãã¯ã·ã³ã°ãããã°ã©ãã³ã°è¨èªã§æ±ãã¨ãã«ä¸å©ãªãã¨ããã IDããæéã®æ å ±ã失ããããä¾ãã°2ã¤ã®IDãæ¯ã¹ã¦ã©ã¡ããå¤ãæ稿ãå¤æã§ããªã ä¸çã®å¤§ä¼æ¥ãã©ããã¦ãã 調ã¹ã¦ã¿ãã¨å¤ãã®ä¼æ¥ãããã°ãªã©
ã¦ã¼ã¶ã¼ã¤ã³ã¿ãã§ã¼ã¹ããã¤ã¢ããªã±ã¼ã·ã§ã³ã½ããã¦ã§ã¢ã®å¤ãã¯ããMVCãã¢ãã«ã«åºã¥ãã¦è¨è¨ããã¦ãã¾ãã MVCã§ã¯ãããã°ã©ã ããModelï¼ã¢ãã«ï¼ãViewï¼ãã¥ã¼ï¼ãControllerï¼ã³ã³ããã¼ã©ï¼ã¨ãã3ã¤ã®è¦ç´ ã«åå²ãããäºãã«å¼ã³åºãåã£ã¦å¦çãå®è¡ããã¦ããã¾ãã ãã®æ¦å¿µã漫ç»ã§è¡¨ç¾ãããåããããã®ã§ã¯ãªããã¨æãããã©ã¤ãã¦ã¿ã¾ãã è¨å® MVCã¢ãã«ã§è¨è¨ãããããªã«ãã®ç³ãè¾¼ã¿ã·ã¹ãã ããããã¨ãã¾ãã å¦çã®å 容ã¯ããªã«ãã®ç³ãè¾¼ã¿ãããã¦ã¼ã¶æ å ±ããã¼ã¿ãã¼ã¹ã«æ ¼ç´ãããã ãã§ãã ãªã«ãã®ç³ãè¾¼ã¿ã·ã¹ãã ã®æ§æå¡ ç¬¬1話 â ãªã«ãã®ç³ãè¾¼ã¿ã·ã¹ãã ã®æ¥å¸¸ ãªã«ãã®ç³ãè¾¼ã¿ã·ã¹ãã ã®å¦çã®æµããè¦ãã¦ã¿ã¾ãããã ããï¼ã¦ã¼ã¶ãç³ãè¾¼ã¿ã«ãã£ã¦ãã¾ããã⦠ãã®ããã«ãã¢ãã«ããã¥ã¼ãã³ã³ããã¼ã©ã¯ããäºãã«ååãåããªããå¦çãè¡ã£ã¦ãã¾ãã 誰
æ¨æ¥ã®ã¨ã³ããªã§ç´¹ä»ãããWebã¢ããªã±ã¼ã·ã§ã³ã® ããã©ã¼ãã³ã¹åä¸ã®ã³ã å®è·µç·¨ãã§ãããããã¤ãã¹ã©ã¤ãã追å ãã¦ããå®å ¨çãã¨ãã¦å ¬éãã¾ããã ISUCONã ãã«éãããä¸è¬çãªWebã¢ããªã±ã¼ã·ã§ã³ãSQLã®ãã¥ã¼ãã³ã°ã®åèã¨ãªãè³æã¨ãªã£ã¦ããã¨æãã¾ãã®ã§ãè¦ã¦é ãããå¬ããã§ãã ï¼è¿½è¨ï¼ ISUCON4 ãªã³ã©ã¤ã³äºé¸ã®åå ç»é²ãéå§ããã¦ãã¾ãï¼ï¼ï¼Webã¢ããªã±ã¼ã·ã§ã³ãæ¸ãã¦ããæ¹ãã¤ã³ãã©ãæ±ã£ã¦ããã¨ã³ã¸ãã¢ãéç¨ã¨ã³ã¸ãã¢ãããã²ãã£ã¬ã³ã¸ãã¦ãã ããï¼ï¼ç§ãã§ã¾ãï¼ï¼ åå ã¯ãã¡ãããââââ ISUCON4 ãªã³ã©ã¤ã³äºé¸ã®åå ç»é²ãéå§ãã¾ãã \n\n\nISUCONã ãã«éãããä¸è¬çãªWebã¢ããªã±ã¼ã·ã§ã³ãSQLã®ãã¥ã¼ãã³ã°ã®åèã¨ãªãè³æã¨ãªã£ã¦ããã¨æãã¾ãã®ã§ãè¦ã¦é ãããå¬ããã§ãã\n\n## ï¼è¿½è¨ï¼\n\nISUCON4 ãªã³
ããã©ã¼ãã¥ã³500ãã«åãé£ããä¼æ¥ããããèªã¿æ¼ã£ãã¨ãããããã¤ããã¼ã·ã§ã³ã®ã¸ã¬ã³ããï¼é¦è¨³ã»ç¿æ³³ç¤¾åï¼ã®èè ãã¯ã¬ã¤ãã³ã»ï¼ã»ã¯ãªã¹ãã³ã»ã³ã¯ãä¸çã代表ããçµå¶å¦è ã®ä¸äººã ããã®äººãä»ãè¦å¶ãããæ¨æºçãªæè²ãç ´å£ããçå¾ä¸äººã²ã¨ãã®éãã«åãããå¦ç¿ã®åå¥åãé²ããã¹ãã ã¨ããæè²è«ãç±³å½ã§å±éãç©è°ãé¸ãã¦ããããªããæ°æ¿æ¨©ã®æè²æ¹é©ã«ãå½±é¿ãä¸ããã§ãããã«ãªã¹ãã®æè«ãèããã
ç±³Twitterã¯8æ20æ¥ï¼ç¾å°æéï¼ãæ°ã¹ãã 対çã·ã¹ãã ãBotMakerãã®å°å ¥ã«ãããã¹ãã ã40ï¼ åæ¸ã§ããã¨çºè¡¨ããã Twitterã¯ã»ã¼ãªã¢ã«ã¿ã¤ã ã®ãã¤ã¼ãã表示ããã¨ãããµã¼ãã¹ã®æ§æ ¼ä¸ãã¹ãã é®æãæè¡çã«é£ãããã¾ããéçºè åãã«APIãå ¬éãã¦ãããããã¹ããã¼ã¯Twitterã®ã¹ãã 対çã®æã®å ãææ¡ã§ãã¦ãã¾ãã Twitterã¯ãã®2ã¤ã®åé¡ã«å¯¾å¦ããããã«ãBotMakerãæ§ç¯ããããã®ã·ã¹ãã ã¯ããããï¼ã¤ãã³ããçºçããéã«ã©ã対å¦ãããã決ããã«ã¼ã«ï¼ã®éåã§æãç«ã£ã¦ããã1æ¥å½ããæ°åå件ã®ã¤ãã³ãã«å¯¾å¦ãã¦ãããããã»ã¹ã¯ããªã¢ã«ã¿ã¤ã ãã¼ã«ã®ãScarecrowï¼ãããï¼ããScarecrowãè¦éããã¤ãã³ãã«æ©æ¢°å¦ç¿æè¡ã§å¯¾å¦ãããSniperï¼çæè ï¼ããã¦ã¼ã¶ã¼ã®è¡åãã¼ã¿ãåæããå¨æçãªããã»ã¹ã®3段éããã ãããã¯äººéãèª
ãã¯ãããããã¾ããä¼æãè¿ã¥ãã¦ãã¦å®å ¨ã«YAPCã¢ã¼ããªãã ã§ããä»åã¯ä»ã¾ã§ãã¾ãæããã«ãã¦ããªãã£ããã¤ãã³ããã¼ã«ãã¨ããä¼å ´ã«ã¤ãã¦ã¨ãããã§è¡ãªããããã¤ãã³ããã©ãã¯ãã«ã¤ãã¦ãç´¹ä»ãããã¾ãã 2014å¹´ãåãYAPC::Asiaãããã«ããã£ã¦ããªãã¹ãåå è ã交æµåºæ¥ã¦ããã¤ãããæå³ã§ãã©ããªãã»ãã·ã§ã³ã欲ããã¨æã£ã¦ãã¾ããããã®çµæãå¯ä¸é£²é£å¯è½ãªã¤ãã³ããã¼ã«ã®ä¼å ´ãæ大éã«å©ç¨ãããã¨ãããã«ä»æããã¤ãããã¤ãã³ããã©ãã¯ã¨ãããªãã¹ããã¨ã³ã¿ã¡è²ãã®å¼·ãã»ãã·ã§ã³ãèµ°ããããã¨ã«ãã¾ããããã®ä»æãã¨ã»ãã·ã§ã³ãè¦ã¦ã¿ã¾ãããã 以ä¸ããµãµãã¨æ¸ãã¦ã¿ãã¤ãã³ããã¼ã«å ã®å½æ¥é ç½®å³ã§ããåæ¹ãã»ãã·ã§ã³ã¹ãã¼ã¹ãå¾æ¹ã§ã¯ããªã³ã¯ãªã©ãé å¸ãã交æµã¹ãã¼ã¹ã«ãªã£ã¦ãã¾ãã ç¡éã«ã³ã¼ãã¼ãæä¾ããããç¡éã³ã¼ãã¼ããã¼ã¹ãå¾æ¹ã«è¨ç½®ãããã¾ãããããã³
ç±³ç é¢ãã§ã¼ã³ããæ£è 450ä¸äººã®å人æ å ±ãæµåºããäºä»¶ã¯ã4æã«çºè¦ããOpenSSLã®é大ãªèå¼±æ§ãçªãæ»æã§ãããã¯ã¼ã¯ã«ä¾µå ¥ããã¦ãããã¨ãåãã£ãã ç±³ç é¢ãã§ã¼ã³ã®Community Health Systemsï¼CHSï¼ç¤¾ããæ£è ç´450ä¸äººã®å人æ å ±ãæµåºããåé¡ã§ãç±³ã»ãã¥ãªãã£ä¼æ¥TrustedSecã¯8æ19æ¥ã4æã«çºè¦ãããHeartbleedãã¨å¼ã°ããOpenSSLã®é大ãªèå¼±æ§ãçªãæ»æããæµåºã®çºç«¯ã ã£ããã¨ãåãã£ãã¨ä¼ããã CHSã®ãããã¯ã¼ã¯ã¯4ï½6æã«ããã¦å¤é¨ããæ»æãããç³»åã®å»çæ©é¢ãå診ããæ£è ç´450ä¸äººã®æ°åãä½æã社ä¼ä¿éçªå·ãªã©ãæµåºããã¨ããããTrustedSecã¯ããã®åé¡ã«é¢ãã調æ»ã«è©³ããé¢ä¿è ããæ å ±ãå ¥æããã¨ããã ããã«ããã¨ãæ»æè ã¯Heartbleedã®èå¼±æ§ãçªãã¦CHSã®Juniper製ããã¤ã¹ã®ã¡ã¢ãªã
æ è±æ¨¹ æ¥çµãã¸ãã¹è¨è 大éªçã¾ããç¥æ¸å¤§å¦æ³å¦é¨åæ¥å¾ãå ¨å½ç´ã®ç¤¾ä¼é¨è¨è ã¨ãã¦äº¬é½ã»å¤§éªã§äºä»¶ãåæã2009å¹´æ«ã«æ¥æ¬çµæ¸æ°è社ã«å ¥ããçµæ¸é¨ã§ä¸å¤®çåºæ å½ãä¼æ¥å ±éé¨ã§ã¡ãã£ã¢ã»ããããç´ æã»åå¦æ¥çãªã©ãæ å½ã14å¹´3æããæ¥çµBP社ï¼æ¥çµãã¸ãã¹ç·¨éé¨ï¼ã«åºåãã製é æ¥å ¨è¬ãåæãã¦ããã ãã®èè ã®è¨äºãè¦ã
ã»ãã·ã§ã³è©³ç´° Oracle Databaseãã©ãã«ã·ã¥ã¼ãã£ã³ã°ã¨å¯¾çã«ã¤ã㦠Oracle Databaseã®æ§è½åé¡ãä¸å¿ã« åå 調æ»æ¹æ³ ãã¥ã¼ãã³ã°ã¢ããã¼ã ã«ã¤ãã¦ã説æãããã¾ãã ãªã©ã¯ã«ã«ã¹ã¿ãã¼ãµãã¼ãããã¾ãæ´»ç¨ããæ¹æ³ãã説æãããã¾ãã æå¾ã«ãOracle Databaseã®ææ°ãããã¯ï¼ã»ãã¥ãªãã£å¯¾çãDB12c In Memoryãªã©ï¼ããç´¹ä»ãããã¾ãã è¬å¸« æ¥æ¬ãªã©ã¯ã«æ ªå¼ä¼ç¤¾ ãã¼ã¿ãã¼ã¹äºæ¥çµ±æ¬ ã½ãªã¥ã¼ã·ã§ã³æ¬é¨ ä¸é¨ã»è¥¿æ¥æ¬SCé¨ é¨é· æ é²ä¸ MySQLãã©ãã«è§£æå ¥é MySQLã§ããããåé¡ã¨ãã®å¯¾å¦æ³ã«ã¤ãã¦ãMySQLã®ä»çµã¿ã解æã«ä½¿ãããã¼ã«ã»ã³ãã³ãé¡ã¨å ±ã«è§£èª¬ãã¾ãã è¬å¸« æ¥æ¬ãªã©ã¯ã«æ ªå¼ä¼ç¤¾ MySQLã¦ã¼ã¶ä¼ 奥é å¹¹ä¹ ç¬¬ä¸åã§ã奥éããã«ã¯ãç»å£ããã ãã¦ããã¾ãã 第ä¸åä¸å½å°æ¹DBåå¼·ä¼ã§çºè¡¨ããã¹ã©ã¤ã
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}