ãŽãŒã¹ã
ãã°ããåã«ã Ghostãšãããããžã§ã¯ããKickstarterã¹ã¿ãŒãã¢ãããµã€ãã§ç«ã¡äžããããŸããããã®ã¹ããŒã¬ã³ã¯ãåãªãããã°ãã©ãããã©ãŒã ãïŒããã°ã®ã¿ã®ãã©ãããã©ãŒã ïŒã§ããã å€ãã®äººã ããã®ã¢ã€ãã¢ãæ°ã«å ¥ã£ãŠããããããžã§ã¯ãã¯å ã®25,000ãã«ã§ã¯ãªããã»ãŒ200,000ãã«ã調éããŸããã çŸåšããããžã§ã¯ãã¯æŽ»çºã«éçºãããŠãããããŒãžã§ã³0.3.3ã¯ãã§ã«å ¬åŒWebãµã€ãããããŠã³ããŒãã§ããŸãã
ç§ã¯ãä»ã®å€ãã®äººãšåæ§ã«ããã®ãããžã§ã¯ãã«éåžžã«èå³ããããŸããã ãŸãããããã«ãªãã¶ã€ã³ã奜ãã§ãã 第äºã«ãWordpressã¯ç§ã®ããŒãºã«åãããŠå°ãåé·ã§ãããä»äºã«å°ã銬鹿ããŠããŸãã ãããŠç¬¬äžã«ãæè¿Ghostã話é¡ã«ãªã£ãŠããNode.jsäžã§GhostãéçºãããŠãããšããäºå®ã«æ¹ãããŸããã ç§ã¯ã ãåãªãããã°ãã©ãããã©ãŒã ããšã¯ã©ã®ãããªãã®ã§ããããå®éã«è©ŠããŠã¿ãããšã«ããã¡ã€ã³ããã°ãžã®è¿œå ãšããŠWindows Azureã«èªåã§ã€ã³ã¹ããŒã«ããããšã«ããŸããã
Windows Azureã§ãµã€ããäœæãã
GhostãçŽæ¥äœ¿çšããåã«ããã¹ããããµãŒãã¹Webãµã€ããäœæããå¿ èŠããããŸãã ããã¯ãéåžžã©ããWindows Azure管çããŒã¿ã«ãä»ããŠè¡ãããŸãã [æ°èŠ]ã¡ãã¥ãŒïŒããŒãžã®äžéšã«ãããã©ã¹èšå·ïŒã§ã[èšç®]-> [Webãµã€ã]-> [ã¯ã€ãã¯äœæ]ãéžæããŸãã çŸåšã®æ®µéã§ã¯ãã³ã³ããŒãã³ããäºåã«ã€ã³ã¹ããŒã«ãããŠããªã空ã®ãµã€ããå¿ èŠã§ãã å¿ èŠãªãã®ã¯ãã¹ãŠãããã«ãå±ãããŸãã
ãµã€ããäœæããããããã€ãã®èšå®ãè¡ãå¿ èŠããããŸãã ãŸããGhostãæ£ããæ©èœããããã«ãè³ã§ç¹å®ã®ãã§ã€ã³ããäœãå¿ èŠããããŸãïŒè©³çŽ°ã«ã€ããŠã¯ã以äžãåç §ããŠãã ããïŒã [æ§æ]ã¿ãã«ç§»åããŠãã¢ããªã®èšå®ã»ã¯ã·ã§ã³ãèŠã€ããŸãã ãã®äžã«æ¬¡ã®è¡ãäœæããå¿ èŠããããŸãïŒKEY = NODE_ENVãVALUE = productionã
次ã«ã皌åäžã®ã³ã³ãã¥ãŒã¿ãŒããã¯ã©ãŠãã«ããŒã¿ã転éããæ¹æ³ãæ§æããå¿ èŠããããŸãã ãããè¡ãããã«ãWindows Azureã¯TFSãGitãªã©ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ããµããŒãããŠããŸãã Ghostãããžã§ã¯ãã¯ãªãŒãã³ãœãŒã¹ã§ãããGitHubèªäœããæäŸããããããWebãµã€ãã«Gitãªããžããªãèšå®ããŠäœæ¥ããŸãã ããã¯ç°¡åã«å®è¡ã§ããŸãã[ã¯ã€ãã¯ã¢ã¯ã»ã¹]ã¿ãïŒã¯ã©ãŠããšçš²åŠ»ã®å ŽåïŒã«ã¯ã[ ãœãŒã¹ç®¡çã®çµ±å]é ç®ããããŸãã
[ãœãŒã¹ç®¡çããå±éãèšå®]ãã¯ãªãã¯ãã[ ããŒã«ã«Gitãªããžããª]ãéžæããŸã ã
䜿çšå¯èœãªãªãã·ã§ã³ã®äžã«ã¯ãTFSãä»ã®ããŒãžã§ã³ç®¡çã·ã¹ãã ïŒDropboxãå«ãïŒããããŸãããããã§ã¯GitãéžæããŸãã
ããã§Windows Azureã¯ã©ãŠãã®æ§æãå®äºããæãèå³æ·±ãéšåã§ããGhostã®ã€ã³ã¹ããŒã«ãšæ§æã«é²ãããšãã§ããŸãã
äœæ¥ç°å¢ã®ã»ããã¢ãã
Ghostãã€ã³ã¹ããŒã«ããæ¹æ³ã¯2ã€ãããŸãã æåã®æãç°¡åãªæ¹æ³ã¯ããããžã§ã¯ãã®å ¬åŒãŠã§ããµã€ãããæ¢ã«ã³ã³ãã€ã«æžã¿ã®ãã¡ã€ã«ãçŽæ¥ããŠã³ããŒãããããšã§ãã ãã®æ¹æ³ã¯ããŠãŒã¶ãŒåŽã§è¿œå ã®ã¢ã¯ã·ã§ã³ãå¿ èŠãšããªããã䟿å©ã§ãã ãã ãããããžã§ã¯ãã¯éçºã®ã¢ã¯ãã£ããã§ãŒãºã«ãããããéèŠãªä¿®æ£ãå«ãŸããŠããªãææ°ããŒãžã§ã³ã®ãããžã§ã¯ããããŠã³ããŒãããªããšãããªã¹ã¯ããããŸãã ç§ã®å Žåã¯ããã§ããã ãããžã§ã¯ããµã€ãããã¢ãŒã«ã€ããããŠã³ããŒããããšãå®å šã«ã€ã³ã¹ããŒã«ãããŠããŒã«ã«ã«èµ·åãããäžé£ã®ãã¡ã€ã«ãååŸããŸããããã¯ã©ãŠãã§ã®äœæ¥ã¯ãŸã£ããæã¿ãŸããã§ããã
ãããã£ãŠãçŸæç¹ã§ã¯ãå°æ¥åé¡ãçºçããªãããã«ãæåã¯ããé·ãéã®ããé²ããæ¹ãè¯ããšèããŠããŸãã é·ãéã®ãã¯ãå®æããããã±ãŒãžãGhostãœãŒã¹ããåå¥ã«çµã¿ç«ãŠãããšã§ãã ãããŠãæåã¯éåžžã«è€éã«èãããŸãããå®éã«ã¯ãã¹ãŠã«10ã15åäœåã«è²»ããå¿ èŠããããŸãã
ãããã£ãŠãæçµçã«å¿ èŠãªããšïŒ
- Node.jsãã€ã³ã¹ããŒã«ããŸãã é åžã¯å ¬åŒã®Node.js Webãµã€ãã§è¡ãããŸãã éåžžã®Windowsããã°ã©ã ãšããŠã€ã³ã¹ããŒã«ããŸãã äž»ãªããšã¯ãPATHã«ç»é²ãããŠããããšã確èªããããšã§ããããã«ãããåŸã§ã·ã¹ãã ã§ãã«ãã¹ãæå®ããã«nodeã³ãã³ãã䜿çšã§ããŸãã
- gitã®ã¯ã©ã€ã¢ã³ããã€ã³ã¹ããŒã«ããŸãã Windowsçšã®ã³ã³ãœãŒã«ã¯ã©ã€ã¢ã³ãã¯ããããŠã³ããŒãã§ããŸãã ãµã€ã ãŸããå€éšã®PATHã«å¿ èŠãªãã¹ãæžã蟌ãããã«ãããæ¢ããŸããããããªããšãç¹å¥ãªGit Bashã³ãã³ãã©ã€ã³ããäœæ¥ããå¿ èŠããããŸãã
- Gruntãã€ã³ã¹ããŒã«ããŸãã ããã¯ãJavaScriptãããžã§ã¯ããã³ã³ãã€ã«ããããã®ãŠãŒãã£ãªãã£ã§ãã GhostãœãŒã¹ããçºè¡ããæ¢è£œã®ããã±ãŒãžãäœæããããã«å¿
èŠã§ãã Gruntãã€ã³ã¹ããŒã«ããã«ã¯ãã³ãã³ãã©ã€ã³ãã
npm install grunt-cli --g
ã³ãã³ããå®è¡ããã ãã§ãã npmããã°ã©ã ã«ã¯nodejsãä»å±ããŠãããæ¬è³ªçã«ã¯Debian Linuxã®apt-getã®ãããªããã±ãŒãžãããŒãžã£ãŒã§ãã ä»äºã«å¿ èŠãªãã¹ãŠã®æ¡åŒµæ©èœãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ã§ãã䟿å©ãªãã®ã - Gruntãæ©èœããããã«ã¯ãRubyãè¿œå ã€ã³ã¹ããŒã«ããå¿ èŠããããŸãã å ¬åŒãŠã§ããµã€ãããããŠã³ããŒãããããšãã§ããŸãã
- Gruntã«ã¯ãBourbonãšSassãšåŒã°ããRubyçšã®2ã€ã®æ¡åŒµæ©èœãå¿
èŠã§ãã 1ã€ã®ã³ãã³ã
gem install bourbon
ã§äž¡æ¹ãgem install bourbon
ã§ããŸãã
ããã§ãäœæ¥ç°å¢ã®ã»ããã¢ãããå®äºããŸããã
ãŽãŒã¹ãã®æºå
ãŽãŒã¹ãã®æºåã¯2ã€ã®æ®µéã«åãããŠããŸãã æåã®æ¹æ³ã¯ãGitHubã®å ¬åŒãªããžããªãããã¡ã€ã«ãååŸããŠã³ã³ãã€ã«ããããšã§ãã 2çªç®ã¯ãWindows Azureã§ããã°ãéå§ããããã®æ§æããã³ãã®ä»ã®æçµæ§æã§ãã ããå§ããŸãããïŒ
GitHubã®Ghostãªããžããªã¯ãã®ã¢ãã¬ã¹ã«ãããŸã ã ã³ã³ãã¥ãŒã¿ãŒäžã®ãããžã§ã¯ããã¡ã€ã«ãååŸããã«ã¯ãGit BashïŒæé 2ã®åã®æé ã§ã€ã³ã¹ããŒã«ããïŒãéãããã®ãããžã§ã¯ããä¿åãããã©ã«ããŒã«ç§»åããŠãã³ãã³ããå®è¡ããŸãã
git clone https://github.com/TryGhost/Ghost.git
ãã°ãããããšãå¿ èŠãªãã¹ãŠã®ãã¡ã€ã«ãå«ãGhostãªããžããªã®ããŒã«ã«ã³ããŒããã·ã³ã«è¡šç€ºãããŸãã ããã«ãã¢ã¯ã·ã§ã³ã¯æ¬¡ã®ãšããã§ãïŒïŒã®åŸã®ã¢ã€ãã¢ã¯ã³ã¡ã³ããšèŠãªãããå®è¡ã§ããŸããïŒã
ïŒãããžã§ã¯ããã¡ã€ã«ãçŽæ¥ãããã©ã«ããŒã«ç§»åãã npmã€ã³ã¹ããŒã« ïŒãã®ã³ãã³ãã¯ãGhostãå¿ èŠãšãããã¹ãŠã®node.jsããã±ãŒãžãããŠã³ããŒãããŠã€ã³ã¹ããŒã«ããŸã ããªã声ã®åæå ããªã声 ïŒãããã®ã³ãã³ãã¯ãããžã§ã¯ãããã³ã³ãã€ã«ãããã€ã³ã¹ããŒã«çšã®ããã±ãŒãžã圢æããŸã
ããã§ãå¥ã®ãã§ã€ã³ããäœæããå¿ èŠããããŸãã å®éãAzureã§å®è¡ãããŠããNode.jsãµã€ãã¯ãããã©ã«ãã§server.jsãšãããã¡ã€ã«ãéå§ããŒãžãšèŠãªããŸãã Ghostã§ã¯ãéå§ããŒãžã¯index.jsã§ããããããããã®éããèªåã§è§£æ±ºããå¿ èŠããããŸãã ããã¯éåžžã«ç°¡åã§ãã ã¡ã¢åž³ã§ãGhostã®ã«ãŒããã£ã¬ã¯ããªã«server.jsãã¡ã€ã«ãäœæããããã«1è¡æžã蟌ã¿ãŸãã
var GhostServer = requireïŒ './ index'ïŒ;
å€æŽãä¿åããŸãã ããã§ãWindows Azureã¯Ghostæ§æãã¡ã€ã«ãæ£ããæ€åºã§ããããã«ãªããŸããã
ããã§ãAzureã§æ°ããããã°ãå ¬éããæºåãã»ãŒæŽããŸããã æ§æãæ§æããããã ãã«æ®ããŸãã ããã§ã¯ãã¹ãŠãéåžžã«ç°¡åã§ãã Ghostã®ã«ãŒããã£ã¬ã¯ããªã«config.example.jsãšãããã¡ã€ã«ããããŸãã ååãconfig.jsã«å€æŽããç·šéçšã«éããŸãã
次ã«ããã®ãããªãããã¯ãæ¢ããŸãã
çç£ïŒ{ //ãã¹ãåã®åŸã«ãã¹ãµãã£ãã¯ã¹ãå«ããããšã¯ã§ããŸãã-ããµããã£ã¬ã¯ããªãã¯ïŒãŸã ïŒãµããŒããããŠããŸããïŒ urlïŒ 'http://my-ghost-blog.com'ã ã¡ãŒã«ïŒ{}ã ããŒã¿ããŒã¹ïŒ{ ã¯ã©ã€ã¢ã³ãïŒ 'sqlite3'ã æ¥ç¶ïŒ{ ãã¡ã€ã«åïŒpath.joinïŒ__ dirnameã '/content/data/ghost.db'ïŒ }ã ãããã°ïŒfalse }ã ãµãŒããŒïŒ{ //ããŒãã® `net.ServerïŒlistenïŒïŒ`ã«æž¡ããããã¹ã ãã¹ãïŒ '127.0.0.1'ã //ããŒãã® `net.ServerïŒlistenïŒïŒ`ã«æž¡ãããããŒããiisnodeã¯ããã `process.env.PORT`ã«èšå®ããŸã ããŒãïŒ '2368' } }ã
çç£ãããã¯ãæ¢ããŠããããšã«æ³šæããŠãã ããã ããã¯ãæçš¿ã®æåã«DEV_ENVãã©ã¡ãŒã¿ãŒã®å€ãèšå®ããããã®æ§æã§ãã ããã§ã¯ããããã¯ã®æåã®urlãã©ã¡ãŒã¿ãŒãšæåŸã®portãã©ã¡ãŒã¿ãŒã®2ã€ã®ããšã«èå³ããããŸãã æåã®URLã¯ãããã°ãååšããURLã«å€æŽããå¿ èŠããããŸãã Windows Azureã®å Žåãããã©ã«ãã§ã¯ããã®URLã¯<YOUR-SITE> .azurewebsites.netã®ããã«ãªããŸãã Webãµã€ãã®ãã¡ã€ã³ãæåã§ç»é²ããå Žåã¯å€æŽã§ããŸãããããã¯å¥ã®è©±ã®ãããã¯ã§ãã ããŠãããŒãå€ã¯è¡process.env.PORTã«å€æŽãããŸã ïŒåŒçšç¬ŠãªãïŒã åèšãããšã次ã®ããšãããããŸãã
çç£ïŒ{ //ãã¹ãåã®åŸã«ãã¹ãµãã£ãã¯ã¹ãå«ããããšã¯ã§ããŸãã-ããµããã£ã¬ã¯ããªãã¯ïŒãŸã ïŒãµããŒããããŠããŸããïŒ urlïŒ 'httpïŒ// <YOUR-SITE> .azurewebsites.net'ã ã¡ãŒã«ïŒ{}ã ããŒã¿ããŒã¹ïŒ{ ã¯ã©ã€ã¢ã³ãïŒ 'sqlite3'ã æ¥ç¶ïŒ{ ãã¡ã€ã«åïŒpath.joinïŒ__ dirnameã '/content/data/ghost.db'ïŒ }ã ãããã°ïŒfalse }ã ãµãŒããŒïŒ{ //ããŒãã® `net.ServerïŒlistenïŒïŒ`ã«æž¡ããããã¹ã ãã¹ãïŒ '127.0.0.1'ã //ããŒãã® `net.ServerïŒlistenïŒïŒ`ã«æž¡ãããããŒããiisnodeã¯ããã `process.env.PORT`ã«èšå®ããŸã ããŒãïŒprocess.env.PORT } }ã
æåŸã®æé ã¯ããããžã§ã¯ãã®ã«ãŒããã©ã«ããŒã«ãã.gitignoreãã¡ã€ã«ãéãã以äžã®è¡ãèŠã€ããŠã³ã¡ã³ãããããšã§ãã
ïŒ/ã³ã¢/ã¯ã©ã€ã¢ã³ã/è³ç£/ css ïŒ/ core / built ïŒconfig.js
ãããè¡ããªãã£ãå ŽåãWindowsã«ããã°ãã€ã³ã¹ããŒã«ãããšãã«ãAzure Gitã¯åã«ããããã³ããŒãããç¡èŠããŠããŸããã
Windows Azureã§ãµã€ããå ¬éãã
ããã§ãæçµã¢ã¯ã·ã§ã³ãã€ãŸããµã€ãã®å ¬éã®æºåãæŽããŸããã ãããè¡ãã«ã¯ãGit Bashã§ããã€ãã®ã³ãã³ããå®è¡ããŸãã
git addã git commit -m "æåã®ãŽãŒã¹ããããªãã·ã¥" git remote add azure httpsïŒ//glamcoder@ghost-test-glamcoder.scm.azurewebsites.netïŒ443 / ghost-test-glamcoder.git git push azure master
ãŸããè¡ã£ããªããžããªãžã®ãã¹ãŠã®å€æŽãä¿åããŸããã ãã®åŸãç¹å®ã®ã³ã¡ã³ããä»ããŠã³ãããããŸããã 3è¡ç®ã§ã¯ããªã¢ãŒãGitãªããžããªãžã®ãªã³ã¯ãäœæããŸããã ãã®ãªããžããªã®ã¢ãã¬ã¹ã¯ãWindows Azureã®ãã¹ãŠã®Webãµã€ãå°çšã«äœæããïŒæåã«ãããè¡ããŸããïŒã[å±é]ã¿ãã§ç¢ºèªã§ããŸãã æåŸã®ã³ãã³ãã¯ãWindows AzureãµãŒããŒäžã®ãã¹ãŠã®ãã¡ã€ã«ãéä¿¡ããŸãã å ¬éããã»ã¹äžã«ãµãŒããŒã§ããŸããŸãªã³ãã³ããã©ã®ããã«å®è¡ããããã確èªã§ããŸãã çµäºãããšããµã€ãããã§ã«ã¯ã©ãŠãã§åäœããŠããããšã確èªã§ããŸãã次ã®ãããªãã®ã[å±é]ã¿ãã«è¡šç€ºãããŸãã
ããã°ãåããŠèšå®ããã«ã¯ããªã³ã¯<YOUR-WAY-TO-BLOG> / ghostã«åŸã£ãŠãã ããã管çè ã®ãŠãŒã¶ãŒåãšãã¹ã¯ãŒããå ¥åããããæ±ããããŸãã ãã®åŸãæ°ããããã°ã®ã€ã³ã¹ããŒã«ãšã»ããã¢ãããå®å šã«å®äºããäœæãéå§ã§ããŸãïŒ
é 匵ã£ãŠ
ãŽãŒã¹ãã®å°è±¡
ã¡ã€ã³ã®ããã°ïŒ http://ghost.glamcoder.ru/ ïŒãšäžŠè¡ããŠãGhostã2çªç®ã®ããã°ãšããŠã€ã³ã¹ããŒã«ããŸãããä»äºã®å°è±¡ãå ±æããããšæããŸãã
ããããå§ããŸãããã ãŸããç§ã¯ããŒã¯ããŠã³ãæçš¿ãæžãããã®ããŒã¯ã¢ããèšèªãšããŠæ¬åœã«å¥œãã§ãã éåžžã«ãããã§ãç·šéãç°¡åã§çŽæçã§ãã ãããŠã圌ã¯ãããªã¿ã¯ã§ãããã圌ã®é åãå¢ããŠããŸãã ããã¯ãMS Wordãšæ¯èŒããLaTeXã®ãããªãã®ã§ãã
第äºã«ããŽãŒã¹ãã¯ã¹ããŒãã«åäœããŸãã Wordpressãããã¯ããã«é«éã§ããã©ã°ã€ã³ã«ãã£ãŠãçµããããŸããã ããã¯Node.jsã®ã¡ãªããã§ã¯ãªãããšã¯æããã§ããïŒãããããããããããŸãããïŒããããžã§ã¯ãã®è¥ãã§ãããNeroã®ãããªãã«ãã³ã³ãã€ã³ã«ãªã£ãŠããŸããã ããããéçºè ã¯ã決ããŠãããªãããšã¯ãªããåžžã«ã¯ãªãŒã³ã§ã·ã³ãã«ãªãŸãŸã§ãããšäž»åŒµããŠããŸãã èŠãŠã¿ãŸãããã
第äžã«ãç§ã¯ãã®ãã¶ã€ã³ã奜ãã§ãã ãã¹ãŠãã·ã³ãã«ã§ãç解ã§ããã»ã©ããã以äžã®ãã®ã¯ãããŸããã ããããªãºã ã¯æé«ã§ãã
ããã¯ãããããGhostã®ãã¹ãŠã®å©ç¹ã§ã¯ãããŸããããå°ãªããšãæãé¡èãªãã®ã§ãã
ãã€ãã¹ã§ã¯ããã¹ãŠãããã»ã©åçŽã§ã¯ãããŸããã ç§ã®æ倧ã®äžæºã¯ãããã°ãã€ã³ã¿ãŒãã§ãŒã¹ã«ãã£ãŠã»ãšãã©ã«ã¹ã¿ãã€ãºã§ããªãããšã§ãã ã€ãŸã ãã¹ãŠã®èšå®ã®ãã¡ãããã°ã®ååãšèª¬æãããã³ã¡ã€ã³ããŒãžã®èæ¯ç»åã®ã¿ãç·šéã§ããŸãã ãã¹ãŠããã以äžã®ãã®ã¯ãããŸããã ã¡ãã¥ãŒããŠã£ãžã§ããããœãŒã·ã£ã«ãµãŒãã¹ã®åºçç©ã¯ãããŸããã ãããã¯ãŒã¯ã æçš¿ã®äžã«ã³ã¡ã³ããããããŸããã èšãæããã°ãããã°ã«ã¯ããã¹ãã®äœæã«åœãŠã¯ãŸããªããã¹ãŠã®ãã®ãå®éã«ã¯æ¬ ããŠããŸãã ããã«ãããããããç§ã¯ããããã€ãã¹ãšåŒã¶ããšã¯ã§ããŸããã ããã¯ãææ ¢ããªããã°ãªããªããã©ãããã©ãŒã ã®æ©èœã§ãã å¿ èŠãªä¿®æ£ã¯ãèªåã§æžãããšãã§ããŸãã æåéãã®æå³ã§-ãœãŒã¹ã³ãŒããéããããã«å¿ èŠãªã¢ãžã¥ãŒã«ãè¿œå ããŸãã ããšãã°ãæšæºãã¥ãŒãã³ãã¬ãŒããç·šéããŠYandex.Metricaã®ã³ãŒããæ¿å ¥ããŸããã Disqusããã®ã³ã¡ã³ããæ¥ç¶ããããã«åãããšãè¡ãããšãææ¡ãããŠããŸãã åµé æ§ã®å®å šãªèªç±ïŒ
æåŸã«èšãããããšã ããªãããªã¿ã¯ãããã°ã©ããŒãæè¡è ïŒå¿ èŠãªãã®ã«äžç·ãåŒãïŒã§ãããããªãºã ã奜ããªããGhostã¯ããªãã«ã¢ããŒã«ããã§ãããã æå°éã®åŽåã§ããã«åäœããããã«äœ¿ããããã«ãããå Žåã¯ãéãéããŠãã ããã ããã«ãGhostã®ã¡ã³ããŒã¯ããã°ã§ç¬èªã®ãã¹ãã£ã³ã°ãéå§ããããšãçŽæããŸãããããŠããããããããã¯ããªãã«ãšã£ãŠäŸ¿å©ã ãšæãããŸãã ãããä»ãGhostã«ã¯å€ãã®æäœæ¥ãå¿ èŠã§ãã
PSèšäºã¯ãScott Hanselmanã®ããã°ã®è³æã䜿çšããŠäœæãããŸããã ããã§ã¯ãã¹ãŠãåãã§ãããããæè¡çã«ã®ã¿ã§ãã
PPS Postã¯ãGitãšWindows Azureã«ç²ŸéããŠããªã人åãã«å€ãã®æ¹æ³ã§æžãããŠããŸãã ã ããç§ã¯é床ã®è©³çŽ°ãšã·ã³ãã«ãããizeã³ããŸãã ããªãã®ã³ã¡ã³ããææ¡ããã³ãã¯ãã€ã§ã倧æè¿ã§ã:)