2016å¹´6æ8æ¥ã® appengine ja night #33 ã®çºè¡¨è³æã§ãã
ã¯ã©ã¦ãã³ã³ãã¥ã¼ãã£ã³ã°ãµã¼ãã¹ã¯ã徿¥ã«ãªãæ¡å¼µæ§ãæã¡ã好ããªã¨ãã«å¥½ããªã ãã®ãªã½ã¼ã¹ã使ããã·ã¹ãã åºç¤ãæä¾ãããã®ã§ãããããããã®ç¹æ§ãçããã«ã¯ãã¯ã©ã¦ãäºæ¥è ãã¨ã«ç°ãªãè¨è¨ã®ã«ã¼ã«ãå®ããªããã°ãªãã¾ããã ããã§æ¬é£è¼ã¯ãç±³Googleã®ãµã¼ãã¹ãGoogle App Engineãã«ç¦ç¹ãå½ã¦ããã®ããã¶ã¤ã³ãã¿ã¼ã³ãã«ã¤ãã¦è§£èª¬ããã¾ããããã§ã¯ãã¯ã©ã¦ããµã¼ãã¹ã®ç¹æ§ãçãããããå¶ç´ãåé¿ãããããããã®è¨è¨ãã¦ãã¦ããã¶ã¤ã³ãã¿ã¼ã³ã¨å¼ãã§ãã¾ãã ä»å解説ããè¨è¨ãã¦ãã¦ãããã¶ã¤ã³ãã¿ã¼ã³ãã¨å¼ã¶ãã¨ã«ãéåæãæã¤èªè ãããããããã¾ããããããããã¯ã©ã¦ãè¨è¨ã®ãã¶ã¤ã³ãã¿ã¼ã³ã ãã¨è¨ãããã®ã¯ãä»å¾ãã¾ãã¾ãªç¥è¦ãéã¾ã£ã¦ç¢ºç«ãã¦ããã®ã ã¨æãã¾ããç¾å¨ã¯ãã®ç¥è¦ãå°ããã¤ãã¾ã£ã¦ãã¦ããæ®µéã§ããããä»åã®é£è¼ããããããç¥è¦ã®ä¸ã¤ã«ãªã£ã¦ã»ã
AmazonããBeanstalkãçºè¡¨ããã¾ããã http://aws.typepad.com/aws_japan/2011/01/introducing-amazon-beanstalk.html Beanstalkãééã£ã¦ãããã©ãåãããããä¾ããã¨å¶éã®ãªãAppEngineã®ãããªãã®ã§ãã Googleããã¯App Engine for Business(4Bã¨çç¥)ãSalesforceããã¯VMforceãç»å ´ãã2011å¹´ã®PaaSã¯ããããã®æè¡ã®æ¦ãã«ãªãã§ãããã ã©ã®æè¡ãåã¤ã®ãäºæ³ããåã«ãPaaSã«ã¯ãäºã¤ã®åéãåå¨ãããã¨ãçè§£ãã¦ããã¾ããããã½ã¼ã·ã£ã«ç³»ãªã©ã®ã¹ã±ã¼ã«ã¢ã¦ããå¿ è¦ãªåéã¨ãã以å¤ã§ãã ããããã®åéã§å¿ è¦ã¨ããããã®ãéãã®ã§ãåéãã¨ã«åè ãäºæ³ããå¿ è¦ãããã¾ãã ã¹ã±ã¼ã«ã¢ã¦ããå¿ è¦ã¨ããªãåéã§æ±ããããã®ã¯ãå¶éã®ç¡
G-Proxyã¯Google App EngineãSSLãããã·ã«ããã [/s2If] G-Proxyã¯Google App Engine/Java製ã®ãªã¼ãã³ã½ã¼ã¹ã»ã½ããã¦ã§ã¢ã10æ°å¹´åã®ã¤ã³ã¿ã¼ãããã§ãããã·ã¨ããã¨ã¢ã³ã°ã©ãªé°å²æ°ããã£ããã¾ã伿¥ã«ããã¦ã¯ã¤ã³ã¿ã¼ãããæ¥ç¶éåº¦ã®æ¹åãã»ãã¥ãªãã£ä¸ã®çç±ã§ç¨ãããããã¨ãå¤ãã£ãã ã㢠ä»ã§ã伿¥ã§ã¯ä½¿ããã¦ããã ããããæè¿ã§ã¯ä¸è¨ã®çç±ä»¥å¤ã§ã使ããããã¨ããããä¸ã¤ã¯Firesheepã¨è¨ãå ¬éç¡ç·LANãã¿ã¼ã²ããã«ããæ å ±æ¼æ´©ããéãããããããä¸ã¤ã¯ä¸å½ã®æ¤é²ããéããããã«ä½¿ãããã®ã ããããG-Proxyã ã G-Proxyã¯Google App EngineãWebãããã·ã«ããã½ããã¦ã§ã¢ã ãGoogle App Engineã§ã¯SSLãç¡æã§æä¾ããã¦ããã®ã§ãG-Proxyã使ãã°å¸¸æSSLã使
ããæ°æ¥ãTwitterä¸ã§ appengine ã«é¢ããçºè¨ãããããç®ã«ããããããè¦ãéãããæ³¨ç®ãããã¦ã¯ããããæãåºãããã¦ãã人ãå¤ããã¨ããã®ãç¾ç¶ã ãããããã§ãç§ãããã²ã¨è¨ã App Engine ã¯ç´ç²ãªã½ããã¦ã§ã¢ã»ã¨ã³ã¸ãã¢ã«ã¨ã£ã¦ã®å¤©å½ ç§èªèº«ãè²ã ãªéçºç°å¢ã試ãã¦æ¥ãããç§ã®ããã«ããã°ã©ãã³ã°ã大好ãã§ãæ°ããè¨èªãç°å¢ãå¦ã¶ã®ã楽ããã¦ä»æ¹ãç¡ãã¨ã³ã¸ãã¢ã«ã¨ã£ã¦ã¯ããApp Engineã¯å¤©å½ãã¨ããã®ãæ£ç´ãªææ³ãSQLãRailsã®ããã«ä¸è¦éçºå¹çãè¯ããã¦ã¯ãããããç´æçã«å®è¡å¹çã¨ããææ¡ã§ããªããè£å©è¼ªä»ãããã°ã©ãã³ã°ãã¨éããApp Engineä¸ã§ã®ããã°ã©ãã³ã°ã¯ãã¡ãã£ã¨æãæãã¨ããã«å®è¡å¹çã®æªãã¨ãã¦è·³ãè¿ã£ã¦ãããä¸è¼ªè»ããã°ã©ãã³ã°ãã æ°ããè¨èªãå¦ã¶ã®ãè¦ãªãApp Engineã¯é¿ããæ¹ãè¯ã ç¾æç¹ã§ãPyt
æ©ãããæé©åãªã¸ãµã³ @makotokuwata ã¾ãAppEngineããã¾ãã¡ãã¬ã¼ã¯ããªãã®ã¯ããéãéããä»çµã¿ãç¨æããã¦ããªããã¨ã¨ãDatastore (Bigtable) ã®ä½¿ãæ¹ãé£ãããã¨ã®2ç¹ã ã¨æãã 2010-11-05 23:11:32 æ©ãããæé©åãªã¸ãµã³ @makotokuwata 1ç¹ç®ã®ãééã·ã¹ãã ã«ã¤ãã¦ãAppEngineã¨æ¯ã¹ã¦ããã¨ãã°iPhoneã¢ããªã¯ååãã¬ã¼ã¯ãã¦ããã¨ããããã©ãããã¯ãã¯ãiPhoneã¢ããªã¯è²©å£²ãã¦åçãåºããå¯è½æ§ããããã¨ã大ããã 2010-11-05 23:12:58 æ©ãããæé©åãªã¸ãµã³ @makotokuwata ããã«æ¯ã¹ã¦ãGAEã¯ã¤ã³ãã©ã¨éçºç°å¢ã¯æä¾ãããã©ãééã®ä»çµã¿ã¯æä¾ã§ãã¦ãªããè¨ãæ¹ãå¤ããã¨ãç¡æã§ä½¿ããç°å¢ã¯æä¾ãã¦ãããã©ãåçãä¸ããããã®ç°å¢ã¯æä¾ã§ãã¦ãªããããã
CirruxCacheã¯Python製/Google App Engineç¨ã®ãªã¼ãã³ã½ã¼ã¹ã»ã½ããã¦ã§ã¢ãGoogleã¯ä¸çä¸ã«ãµã¼ããæã¡ãã¢ã¯ã»ã¹å ã«ã¨ã£ã¦æãé«éã«å¿çã§ãããµã¼ãã鏿ãã¦ãã¼ã¿ãè¿ãã¦ãããããã¯Google App Engineã§ãã£ã¦ãå¤ãããªãã 管çç»é¢ã¯ãªã é«éã«ãã¼ã¿ãè¿ãã¨ãããã¨ã¯ãããããã·ã³ãã«ãªCDNï¼ã³ã³ãã³ãã»ããªããªã¼ã»ãããã¯ã¼ã¯ï¼ã¨è¨ããã¨ãã§ããããç¥ããªãããã®å¯è½æ§ãèãéçºããã¦ããã®ãCirruxCacheã ã CirruxCacheã¯Google App Engineä¸ã«ç«ã¦ãéçãªã³ã³ãã³ãï¼ç»åãªã©ï¼ããã£ãã·ã¥ããããã¨ã§æ¬¡åããã®ã¢ã¯ã»ã¹ãé«éåãããã®ã ãTTLã®è¨å®ãè¡ããããæ» å¤ãªãã¨ã§ã¯æ´æ°ãããªãã³ã³ãã³ãï¼ç»åãªã©ï¼ã«å¯¾ãã¦ç¨ããã®ãè¯ãã ããã è¨å®ã¯ã³ã¼ãã§è¡ãã ãã£ãã·ã¥å¯è½ãªIPã¢ãã¬ã¹
App Engineã§ä½¿ããè¨èªã¯åºæ¬çã«ã¯Pythonã¨Javaã§ããããã§ã¯ãã©ã¡ããé¸ã¶ã®ãè¯ãã®ã§ããããã ãã以å¤ã®è¨èªã®äººåãã®è©±ã¯å¾ããåºã¦ããã®ã§ãã°ãããã®ã¾ã¾ãèªã¿ãã ããã è¶£å³ãªãã°åã«å¥½ããªãã®ãé¸ã¶ã ãã§ããã®ã§ãããä»äºã§ä½¿ãããã«ã¯ãé·æã¨çæããã¡ãã¨ææ¡ããä¸ã§é¸ã¶å¿ è¦ãããã¾ããã¾ããããã§ã®è©±ã¯è¨èªã¨ãã¦ã®ä¸è¬çãªè©±ã§ã¯ãªãApp Engineã§ä½¿ãã¨ãéå®ã®è©±ã¨ãã¦ãèªã¿ãã ããã ã¾ãå®å®åº¦ã§ãããã¤ã³ãã©é¨åã®å®å®åº¦ã¯ãã©ã¡ããåºæ¬çã«åãã§ãããããããã¨ãã¾ã£ããåããã®ã使ã£ã¦ããã®ããããã¾ããã ãã®ä¸ã§åãAPIã®é¨åã¯ãã¤ã³ãã©ã¨ç´æ¥çµã³ã¤ãã¦ããä½ã¬ãã«ãªé¨åã¨ä½ã¬ãã«ãªAPIã®ä¸ã«æ§ç¯ãããé«ã¬ãã«ãªé¨åã¨ã«åãã¦èããå¿ è¦ãããã¾ãã ä½ã¬ãã«ãªAPIã¯LLAPIã¨å¼ã°ããããã¾ãããå®å®åº¦ã¯ãPythonã¨Javaãåã
"Google App Engine Java ã®è²ã ãªæ©è½ããå®éã«ã³ã¼ãã£ã³ã°ããªããä½é¨ãã¦ã¿ãã" ã¨ãã主æ¨ã®ãã¨ãGoogle App Engine for Java ã®ã³ã¼ãã©ããããã¾ã§ã«3åéå¬ãã¦ãã¾ãããJava ã使ã£ã Web ã¢ããªã±ã¼ã·ã§ã³ã®éçºçµé¨ã¯ããããã©ããApp Engine ã¯åãã¦ã¨ããæ¹åãã§ãæ¯åã峿¥å®å¡ã«éãã¦ãã¾ã人æ°ã³ã¼ã¹ã§ãã ãã®ã³ã¼ãã©ãã§å©ç¨ãã¦ããææã¯ãGTUG ã®ã¡ã³ãã¼ã¨Google ã®ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ãã¡ãå ±åã§ä½ãä¸ãããã®ã§ããã³ã¼ã¹è¨è¨ããããã¥ã¡ã³ãã®å¶ä½ãã³ã¼ã¹åå è ã®ãã£ã¼ãããã¯ãåæ ãããªã©ããã¾ãã¾ãªé¢ã§GTUGã¡ã³ãã¼ã®æãã¿ãªãååãããã ãã¾ããã ããã¦ããããããã®ã³ã¼ã¹ææãGoogle App Engine Code Lab for Javaããä¸è¬ã«å ¬éãããã¨ã«ãªãã3æ11
èªå® ç¨ã®ãããã·ãã»ããããã°ãèªç±ã«ãããã·ãæä½ããä¼ç¤¾ã妿 ¡ã«ãã¬ãã«ãããã®ã§ããæãéãä½ãã¾ããç±³ã©ã¤ãããã«ã¼ã§ã¯ä¸ã¶æåã«ã»ããã®ä»æ¹ããã©ã¤ãããã«ã¼æ¥æ¬çã§ãéå»ã«ãFreeProxyãããç´¹ä»ãã¦ãã¾ãããã¼ã ãããã¯ã¼ã¯ãããã£ã¦ããéã«ãSSH SOCKSãããã·ãã»ãããã¦ãªã¢ã¼ããã©ãã£ãã¯ãä¿è·ï¼ãªã³ã¯å è±èªï¼ãå®å ¨ã«ãã¦ãããã¨ããå¿ããªãã PCã®é»æºãå ¥ãã£ã±ãªãã«ãã¦ãããããªããããã¦èªå® ãããã¯ã¼ã¯ä»¥ä¸ã®é度ããæ±ãã®æ¹ã¯ãGooogle Apps Engineãéãã¦ããã¼ã ãããã¯ã¼ã¯ããç¬ç«ãããããã·ã¸æ¥ç¶ããã©ã¦ãºããã®ããªã¹ã¹ã¡ã§ããä»ã®å¤§ãã£ã±ãªãããã·ã«é ¼ãå¿ è¦ã¯ããã¾ãããGoogleã¢ã«ã¦ã³ããã¨ãã°ãApps Engineãéãã¦ãç¡æã§èªåå°ç¨ã®ãããã·ãéç¨ã§ãã¾ãããã¸ã¿ã«ãã¯ããã¸ã¼ããã°ããDigital Insp
ä»é±ã«å ¥ã£ã¦ãTiny Message ã«ç¶ãäºã¤ç®ã® Google App Engine ãã¼ã¹ã®ãµã¼ãã¹ããªãªã¼ã¹ãããï¼æ¥ãããã§è©¦é¨çã«ä½ã£ã Tiny Message ã¨ã¯ç°ãªããä»åã®ãã®ã¯ã丸äºã¶æéå¯ãéãæããã§ä½ã£ãåä½ã§ããã ç±³å½åãã®ãµã¼ãã¹ãªä¸ã«æå¾ å¶ã®SNSãªã®ã§ãããã§ã¯ãµã¼ãã¹ãã®ãã®ã¯å ¬éããªãããããã¤ããã ãã£ã¦ä½ã£ãé¨åãããã®ã§ãããã«ã¤ãã¦èªã£ã¦ã¿ãããã¨æãã 1. 対象ã¨ãªãã¦ã¼ã¶ã¼ã®çµã込㿠FacebookãTwitterã®ãããªå·¨äººãåå¨ãã¦ããä¸ã§ãããã«ã¾ã£ãããã対æãããããªã½ã·ã¢ã«ã»ãããã¯ã¼ã¯ã»ãµã¼ãã¹ãä½ã£ãã¨ããã§ç¡è¬ãªã ãã§ãããããã§ãéã«å¯¾è±¡ã«ããã¦ã¼ã¶ã¼å±¤ã究極ã«ã¾ã§çµãè¾¼ãã§ãå½¼ãã®ã©ã¤ã¹ã¹ã¿ã¤ã«ã«å¾¹åºçã«ããããããµã¼ãã¹ãä½ããã¨ã«ããå·®å¥åãã¯ãããã¨ããæ¦ç¥ã鏿ã対象ã¯ãLAã«ä½ãï¼ï¼ãï¼ï¼ä»£ã®ç¤¾äº¤
ããªãã§ãå¤å®ãã¯ã¼ã«ãã¸å¤æ°ã®ã¢ã¯ã»ã¹ãããã¨ããããã¾ãm(_ _)m 1ææ«ã«ãªãªã¼ã¹ããå½åã¯å ãã®ã¢ã¯ã»ã¹ã ã£ãã®ã§ãããTwitterã§ç«ãä»ãã¦ããã¯ä¸æ°ã«ã¢ã¯ã»ã¹ãéã¾ããæ°ãä»ãã°2æ1æ¥ã2æ16æ¥ã§4,000,000PVãè¶ ãã¾ããã èªåã§ã¯çµ¶å¯¾ã«èãã¤ããªãã§ãããã¦ãã¼ã¯ãªå¤å®ãããããã§ãã¦ãç§èªèº«ãã¨ã¦ã楽ããã§ãã¾ã:-Dï¼é¢ç½ãçºæ³ããã人ã¯ä¸ã®ä¸ã«ãããããããã®ã§ãï¼ ãã®ãµã¤ãã¯Google App Engine(GAEï¼ï¼Pythonã§æ§ç¯ãã¦ããã®ã§ããããã®ã¢ã¯ã»ã¹æ°ãªãã§ã¯ã®GAEä¸ã§ä½é¨ã§ãããã¨ãããã£ã¨æ¸ãã¦ããã¾ãã ç¡æï¼èª²éï¼ ã¾ãã¯ããã«å¤§äºãªãã¨ã ããªãã§ãå¤å®ãã¯ã¼ã«ãã§ã¯GAEã課éç¶æ ã«ãã¦ãã¾ããç¡æã®Quotaã§ã¯ã¨ã¦ãã§ã¯ãªãã§ããããã®ã¢ã¯ã»ã¹ã¯æãã¾ãã:D GAEå ¬å¼ãµã¤ãã«ã¯ æéç´ 500 ä¸ãã¼ã¸
Google App Engineä¸ã§ã¢ããªãä½ãã¯ããã¦ç´äºã¶æãããããã¨åãã£ã¦æ¥ããã¨ãããã®ã§ãèªåã¸ã®ã¡ã¢ãå«ãã¦ã¾ã¨ãã¦ã¿ããã¾ãã¯ãDatastoreã®è©±ããã ãªã«ããã大åãªã®ã¯ãã¼ã¿ãã¼ã¹ã®è¨è¨ ãããã¾ãã¨è¨ãã°ãããã¾ãã®è©±ã ããApp Engineä¸ã§ã¢ããªãä½ãä¸ã§ãã£ã¨ã大åãªãã¨ï¼ï¼é ã使ãã¹ãã¨ããï¼ã¯ããã¼ã¿ãã¼ã¹ã®è¨è¨ã§ãããç¹ã«ãªã¬ã¼ã·ã§ãã«ã»ãã¼ã¿ãã¼ã¹ï¼RDBï¼ä¸ã§ã®ã¢ããªä½ãã«æ £ãã人ã«ã¯ã大ããªãçºæ³ã®è»¢æããå¿ è¦ãªã®ã§ãããã¯æ³¨æãå¿ è¦ã ç¹ã«çµ¶å¯¾ã«ãã£ã¦ã¯è¡ããªãã®ã¯ã å°æ¥RDBä¸ã¸ç§»è¡ã§ããããã«ã¬ã¤ã¤ã¼ãä½ã£ã¦ããã®ä¸ã«ã¢ããªãä½ã RDBä¸ã«ä½ã£ãã¢ããªããã¼ã¿ã¢ãã«ãå¤§å¹ ã«å¤æ´ããã«App Engineä¸ã«ç§»æ¤ãã RDBãåæã«è¨è¨ããããã¬ã¼ã ã¯ã¼ã¯ãApp Engineä¸ã«è¼ãã¦ããã®ä¸ã«ã¢ããªãä½ã ãªã©ãApp En
社å ã§Google App Engineã®ããåå¼·ä¼ããããã¨ã«ãªã£ãã®ã§ãæè¡è ãããAPIã¨ãBigTableã¾ããã¨ããããããªã¼ã¨æã£ã¦è²ã ããã¥ã¡ã³ããããã£ã¦ããã¨ãããæããããé常ã«é¢ç½ããã®ãè¦ã¤ãã¦ãã¾ã£ãã ããã¯ãæéä½ç³»ãããã¦ãã®GAEç´¹ä»ãµã¤ãã«ã¯ããã¾ã§ç¡æã以éãã¿ãããªå½¢ã§ããã£ã¨æ¸ãã¦ãããã ãã©ãæã£ã以ä¸ã«å¥¥ãæ·±ããDoCoMoãã½ãããã³ã¯ã¢ãã¤ã«ããå¥¥ãæ·±ãããããããã®æéä½ç³»ã«ãã£ã¦ã¢ããªã±ã¼ã·ã§ã³ã®ä½ãæ¹ã«ã¾ã§å½±é¿ãåºã¦ããå¯è½æ§ãããããããªã£ã¦ããã¨ãJPAã¨ãJDOã¨ãéçºç°å¢ã¨ãç´¹ä»ããã®ãªãã¦é¦¬é¹¿é¦¬é¹¿ãããªã£ã¦ãã¾ã£ããGoogle App Engineåå¼·ä¼ãã£ã¦åç®ã§äººå¼ãã©ããªããããã¼ã£ã¨æéã®è©±ã£ã¦ããã ãããï¼ãªãã ãããªãã åºæ¬çãªæ¦å¿µããªã½ã¼ã¹ã¨ã¯ã©ã¼ã¿ ãã¦ãGoogle App Engineã«ã¯å©ç¨å¯è½ãªè³
Google App Engineã§åä¿¡ã¡ã¼ã«ã®å¦çãã§ããããã«ãªã£ãã å ·ä½çãªæé ã¯ãã¡ãã http://code.google.com/intl/en/appengine/docs/java/mail/receiving.html æé ã¯ããã ã¾ããappengine-web.xmlã«æ¬¡ã®è¨å®ã追å <inbound-services> <service>mail</service> </inbound-services> ããããã¨ã[email protected]ail.comã«ã¡ã¼ã«ãæ¥ãã /_ah/mail/<address> ã¨ããURLãå¼ã³åºãããããã«ãªãã ãªã®ã§ã次ã®ãããªãµã¼ãã¬ãããããã³ã°ãweb.xmlã«è¿½å ãã¦ãµã¼ãã¬ããã§å¦çãããã <servlet> <servlet-name>mailhandler</servlet-name>
ç¬æ¸å æµ·ã®æ¼å¸«ã®ç¶ãã GAEãåºãæã ãã¹ã±ã¼ã«ããã¤ã£ã¦ããããªå¤§éã®ã¢ã¯ã»ã¹ããªãããªããæ100ä¸PVãããã¾ã§ãªããããã®7800åï¼å°ç¨ãµã¼ãã¼ï¼ã§è¡ããããããªãã®ããªï¼ã ãªãã¦æã£ã¦ãããããªé¢¨ã«èãã¦ã¦è§¦ã£ã¦ãããªãã£ããè±äº¬é¢é¢¨ã«è¨ãã°ã³ãã³ãã®ã¯ã½ç³é ã®æã¡ä¸»ã ã£ããã¨ãããä¸å¹´åè¿ãé ãã¦æè¿è§¦ã£ã¦ã¿ãã¨ããããªããã¹ã²ã¼ç°¡åã ããã»ã¨ãã©ã®Webãµã¤ãã¯ç¡æã§è¡ãããããç¡æã¾ã¼ã³ãåºãã ã©ãããGoogleæ§ã®æå³ã¯ä¿ºã®æã£ã¦ãã®ã¨ã¯éããããã 髿§è½ãªåæ£ç°å¢ã«ã°ããæ³¨ç®ãã¦ããããGAEã¯ããæå³ã"ç¡æãµã¼ãã¼"ãªã®ã ãGAEã«ã¯"0å"ãã"æ ¼å®å°ç¨ãµã¼ãã¼1å°ç¨åº¦"ã¾ã§ãå ¨ã¦ãªãã¬ã¤ã¹ã§ãã¡ãããããªç¡æã¬ã³ã¿ã«ãµã¼ãã¼ãµã¼ãã¹ã¨ããå´é¢ãããã"WordPressãåãåºåãç¡ãç¡æã¬ã³ã¿ã«ãµã¼ãã¼"ããã£ããã¿ããªä½¿ãã ããï¼MySQLã¨S
App Engineã§ç¾å®çãªééå¦çã«ã¤ãã¦èãä¸ã§ãã ãã©ããçãªã®ã§ãæªããç¹ãããã°ãææããã ããã°å¹¸ãã§ãã ã³ã¡ã³ãã§æ å ±ããã ãã¾ããã Distributed Transactions on App Engineã§ç´¹ä»ããã¦ãæ¹æ³ã¨åºæ¬çã«åããªã®ã§ãããããåé¡ãªãåãããã§ãããããã¨ããããã¾ããã ä»åã¯ãããªå³ã使ãã¾ãã ãã®å³ã®èªã¿æ¹ã¯ãç¢å°ã®æ¹åã«ã¦ã¼ã¹ã±ã¼ã¹ã®ä¸é£ã®å¦ç(ã¾ãã¯ãªã¯ã¨ã¹ãã®å¦ç)ãæµãã¦ãã¦ãå³ã«è¡ãã»ã©æéãçµéãã¦ãã¾ããããã¦ãç¢å°ãããåºãã«ãã¦ããåè§å½¢ã¯ããã®ã¦ã¼ã¹ã±ã¼ã¹ä¸ã§æä½ããã¨ã³ãã£ãã£ã表ãã¦ãã¾ãã ã¾ããå·¦å³ã®ä½ç½®ãåãç¢å°ã¯ãåºæ¬çã«ã¯åãæå»ã«çºçããã¤ãã³ãã表ãã¦ãã¾ããä¸è¨ã®å³ã§ã¯ãA, B, Cãããããã®å£åº§ã¨ã³ãã£ãã£ãåæã«æä½ãã¦ããæãã§ãã ä¸¦è¡æ§å¶å¾¡(ãããã) æåã®å³ã®ããã«ããã
Solidot | æ°æµªä¹æ¨åºApp Engineä¸å½å¤§æãã¼ã¿ã«ãµã¤ãã®Sina.comãSina App Engine(SAE)ããªãªã¼ã¹ãã¾ãããç¾å¨ã¢ã«ãã¡ãªãªã¼ã¹ã§ããSina App Engineã¯Sina.comã®ãµã¼ãã¼ãªã½ã¼ã¹ãå©ç¨ãã¦Webã¢ããªã±ã¼ã·ã§ã³ãæ§ç¯ã§ãããµã¼ãã¹ãéçºç°å¢ã¯PHP 5.3.0ãMysql 5.0.86ãMemcacheã¨Fetch URL APIãå©ç¨ã§ããããã§ããããã¯è¨ãã¾ã§ããªãGoogle App Engineã¨ç«¶åãããµã¼ãã¹ã§ããããååãããã¦å¯¾æããæ°æºã ã¨ãã£ãæãã§ãããä¸å½ã§ãä»å¾ã¯ã©ã¦ããµã¼ãã¹ãæ¬æ ¼åãã¦ããã®ã§ãããããSAEåãã®ã¢ããªã±ã¼ã·ã§ã³ã®éçºã¯GAEã¨åããSDK使ã£ã¦éçºãã¦ãããã¤ããã¨ãããã®ã ãã¥ã¼ããªã¢ã«ãæµãèªã¿ããæãã§ã¯ãã£ããæè»½ã«éçºã§ãããã§ãããããGAEã«ä¼¼ã¦ã¾ããããã
Google App Engine ã®Datastoreã«ã¯ãé常ã®ãªã¬ã¼ã·ã§ãã«ãã¼ã¿ãã¼ã¹ã¨æ¯ã¹ãæã«ããã¤ãã®å¶éããããããã®ä¸ã¤ãããã®ããããã£ã®å¤ã¯å¸¸ã«ã¦ãã¼ã¯ã§ãªããã°ãªããªããã¨ããæå®ï¼ã¦ãã¼ã¯å¶éï¼ãã§ããªããã¨ã§ããã Invoice IDã®ããã«èªåçæãããã®ã§ããã°ãã¢ããªã±ã¼ã·ã§ã³å´ã§ãªãã¨ããããã¨ãç°¡åã ããã¡ã¼ã«ã¢ãã¬ã¹ããã³ãã«åãªã©ãã¦ã¼ã¶ã¼ãå ¥åãããã®ã«ãªãã¨ãã¦ãã¼ã¯ã§ãããã¨ããã¡ãã¨å¤å®ããä¸ã§Entityãä½ããã¨ãå¿ è¦ã«ãªãã ãã¡ãããåç´ã«ãæç¡ããã§ãã¯ãã¦ããªããã°ä½ããã¨ããããã°ã©ã ã§ã¯ã¹ã¬ããéã®ç«¶åã«å¯¾å¿ã§ããªãã®ã§ãããã¯ãã©ã³ã¶ã¯ã·ã§ã³ã使ã£ã¦ã¢ãããã¯ã«å¦çãããå¿ è¦ãããã App Engineä¸ã§ãã©ã³ã¶ã¯ã·ã§ã³ãå®ç¾ããã«ã¯ãã¨ã³ãã£ãã£ã°ã«ã¼ãã¨ããä»çµã¿ã使ã£ã¦è¡ãããæ°ãã¤ããªããã°ãããªãã®ã¯ãã¨ã³
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}