æ¹é æå (Ubuntu)ã§éçºãã¦ããµã¼ã(Ubuntu)ã«ãããã¤åºæ¥ãrails 3.1åä½ç°å¢ãä½ãã®ãç®æ¨ ããã¸ã§ã¯ãæ¯ã«ã¦ã¼ã¶ãä½æãã (åã©ã¤ãã©ãªãããã¸ã§ã¯ãæ¯ã«bundlerã§ç®¡çããããã¤ããããã) åæ§ã®çç±ã§rbenvã使ã£ã¦åã¦ã¼ã¶æ¯ã«rubyã®ãã¼ã¸ã§ã³ã管ç æ§æ éçãªãã¡ã¤ã«ã¸ã®ãªã¯ã¨ã¹ãã¯ç´æ¥nginxã§è¿ãæ§æãã¨ãã¾ã(railsã®publicé ä¸ã®ãã£ã¬ã¯ããªã«ãããã¡ã¤ã«ãé©å®nginxã®configã«è¨å®ã追å ããå¿ è¦ãã)ãã¾ãrails3.1ããAsset Pipelineãå°å ¥ããããã/assets/ãã«é¢ãããªã¯ã¨ã¹ãã«é¢ãã¦ãnginxã§ç´æ¥è¿ãããã«ãã¾ããå ãã¦nginx <=> unicornéã®æ¥ç¶ã«ã¯Unix Domain Socketãç¨ãã¾ããã¤ã¡ã¼ã¸ãå³ã«ããã¨ä¸è¨ã®ããã«ãªãã¾ãã unicorn gith
aptitude ãªã©ããæ軽ã«ã¤ã³ã¹ãã¼ã«ããã¦ããããã©ãã½ã¼ã¹ããã¤ã³ã¹ãã¼ã«ããæ¹ã好ã¿ãªã®ã§ããã®æ¹åã§ã®ã¡ã¢ã å¿ è¦ãªã¢ã¸ã¥ã¼ã«ã®ã¤ã³ã¹ãã¼ã« ããã¤ãå¿ è¦ãªã¢ã¸ã¥ã¼ã«ãäºåã«ã¤ã³ã¹ãã¼ã«ãã¦ããã¾ãã $ sudo aptitude install libpcre3 libpcre3-dev -y $ sudo aptitude install zlib1g zlib1g-dev -y $ sudo aptitude install libssl libssl-dev -y nginxã®ãµã¤ãããã½ã¼ã¹ã³ã¼ããã¤ã³ã¹ãã¼ã«ãã¾ãã ãã¼ã¸ä¸é¨ãããã¦ã³ãã¼ãã§ãã¾ããã¤ã³ã¹ãã¼ã«ãªãã·ã§ã³ãªã©ã確èªãã¦ããã¾ãã $ wget http://nginx.org/download/nginx-1.0.9.tar.gz $ tar zxvf nginx-1.0.9.tar.gz
å æ¥ãï¼æãããã£ã¨ãä¸è©±ã«ãªã£ã¦ããOpen Network Labï¼ãªã¼ãã³ãããã¯ã¼ã¯ã©ãï¼ã®æçµçºè¡¨ãçµãã£ãã æ°æã¡ã®æ´çãããæå³ã§ãTwitterã§ã²ãããã¤ã¶ããããã®ãã¾ã¨ãã¦ã¿ã¾ããã ------------------------- ä»ããï¼ã¶æãã£ã¨ãä¸è©±ã«ãªã£ãOpen Network Labï¼ä»¥ä¸ONLï¼ã«ã¤ãã¦ã²ãããã¤ã¶ãããã¨æããONLã¨ãPIRIKAã¨ãé¢ä¿ç¡ããåï¼å°å¶ä¸äºå¤«ï¼ã®è¦è§£ã§ãããã¨ã«ã注æä¸ãããã¾ããããåé¡ããã ããã§ãããå³å»åé¤è´ãã¾ãã®ã§ãã®å ´åããé£çµ¡ä¸ããã ããããæ¸ãäºãããä»ã¾ã§ONLãéãã¦é¢ãã£ãæ¹ãããããONLã«é¢ãããã¨æã£ã¦ä¸ãã£ã¦ããæ¹ã®ãã©ã¹ã«ãªãã°å¹¸ãã§ãã åã@TeamPIRIKAãONLã®åå¨ãç¥ã£ãã®ã¯ç¢ºãï¼æåéç· åã®ï¼æ¥åãããã ã£ãã¨æãããã¼ã ã«åå ãã¦ãããã°ããã® @ayak
http://twitter.com/akamiya Fujisan CTOã¨ãããã社å¤å½¹å¡ http://twitter.com/_Decide_ ã¢ã©ã¤ã¯CTO http://twitter.com/akiyan ã«ã¦ãªCTO http://twitter.com/aoyagikouhei ã¦ãã¼ã¯ãã¸ã§ã³CTO http://twitter.com/araipiyo ãããCTO http://twitter.com/basuke é¢å¿ç©ºé CTO http://twitter.com/bto å ã¦ãã¦CTO http://twitter.com/bud731213 ã°ã©ã ã¡ãã£ã¢CTO http://twitter.com/dankogai ã ãããã ï¼æ ã©ã¤ããã¢CTOï¼ http://twitter.com/entermotion_cto ã¨ã³ã¿ã¼ã¢ã¼ã·ã§ã³CTO htt
ãã¯ãã¯ãããã®ãªãã£ã¹ãåããã件ã«ã¤ã㦠- Future Insightããèªãã§è²ã é£æ³ãã¾ããã ããã§ã¯ã以ä¸ã®ããã«æ¸ããã¦ãã¾ãã ãã§ã«ç´å¾ã®ã§ãããã¸ã·ã§ã³ã«ãã人ãå¼ãæãã¨ããã®ã¯ãªããªãé£ããããã§ã大ä¼æ¥ã®ç 究系ã§é£¼ã殺ãã«ãªã£ã¦ããã¨ã³ã¸ãã¢ãå¼ã£å¼µã£ã¦ããã£ã¦ããã®ãæ¦ç¥ã¨ãã¦ã¯ããããæ°ããã¾ããããã¨æãã¤ãæå¹ãªæã ã¦ã¯ã 大ä¼æ¥ã ãã§ã¯ãªããå士é²å¦è ã¨ããã®ãå®ã¯ããªãã¨ã³ã¸ãã¢ãæ±ãã¦ããã¨æãã¾ãã ä¾ãã°ããç 究ãããè«æãã¨ãããã£ã¼ã«ãã«ã¯é¦´æããæ°å¹´ééããã¦ãã¾ã£ããã©ãã¹ãã«ã¨ãã¦ã¯é常ã«é«ããã®ãæã£ã¦ãã¦ããä½æ¥ãããä»äºãã¨ããé¢ã§ã¯åªç§ãªå士課ç¨å¦çããã¾ãã ãã®ãããªå ´åãè«æãæ¸ãã¨ããä½æ¥ã«é¦´æããªãã£ããã¨ãªã©ã«é¢ãã¦å¤å°è½ã¡è¾¼ãã§ããææã ã£ããããã®ã§ãæåã¯èªä¿¡ãç¡ããããªãã¶ããè¦ãããããããç¥ãã¾ããã
ãA Guide to Hiring Programmers: The High Cost of Low Qualityãã¨ããè¨äºã¨ããã®è¨äºã¸ã®ææã¨ãã¦å¾ã»ã©æ稿ããããA follow up to "A Guide for Hiring Programmers"ãã¨ããè¨äºãããã¾ããã ããã°ã©ãã®éãæ¹ã¨ããã¿ã¤ãã«ã§ã¯ããã¾ããããå 容ã¯ããå°ãåºãã§ãã ä¸é¨èè ã®ç±ãããæ³ããå ç±ãã¦ããããã«è¦ããé¨åããã¢ã¡ãªã«çäºæ ã«è¦ããé¨åãããã¾ããããå ¨ä½çã«èå³æ·±ãå 容ã§ããã 以ä¸ã2ã¤ã¾ã¨ããè¦ç´ã§ãã 3çªã¾ã§ãä¸ã¤ç®ã®è¨äºã§ã4çªä»¥éãäºã¤ç®ã®è¨äºè¦ç´ã§ãã 誤訳çãå«ã¾ãã¦ããå¯è½æ§ãããã®ã§ãæ¯éåæãã覧ä¸ããã æ¦è¦ Perlã®ã³ãã¥ããã£ã§ããã°ã©ããéãäº(ç¹ã«Perléçºè )ã話ãåã£ã¦ãã¦ã以ä¸ã®ç¹ã§ç¥äººéã¨åæãã§ããã ã©ã®ãããªããã°ã©ãã³ã°
å人ã®ã¯ãã¯ãããã¨ã³ã¸ãã¢negipoãããã以ä¸ã®æ¬ããããã¾ãããèªãã§ã¿ã¦é常ã«ãããããã£ãã®ã§ãããããèãããã¨ãæ¸ãã¦ããã¾ãã600ä¸äººã®å¥³æ§ã«æ¯æãããã¯ãã¯ãããã¨ãããã¸ãã¹ (è§å·SSCæ°æ¸)ä¸éª å¾¹ ããããå¹³å ãã¦ãå°ãã¾ãã Amazonã§è©³ããè¦ã by G-Toolsãã¾ãå®æãããããªãæºå¸¯ãµã¼ãã¹ãæãã«ãã¦ä»æ¥æ¬ã§å¢ãã®ãããµã¼ãã¹ã®ä»£è¡¨ã¨è¨ãã°ä»¥ä¸ã®2社ã ã¨æãã¾ãã ã¤ã©ã¹ã ã³ãã¥ãã±ã¼ã·ã§ã³ãµã¼ãã¹[pixiv(ãã¯ã·ã)] ã¬ã·ãæ¤ç´¢No.1ï¼æçã¬ã·ãè¼ãããªã ã¯ãã¯ããã å人çã«ãã®2ã¤ãç´ æ´ããããµã¼ãã¹ã ãªã¨æã£ã¦ããã®ã¯ãä»ã¾ã§è©ä¾¡ããããã¨ã®é£ããã£ãã¤ã©ã¹ããã¬ã·ãã¨ãã人éã®ã¢ã¤ãã£ã¢ãç¥æµãé常ã«è©°ã¾ã£ã¦ããåµä½ç©ã«å¤æ°ã®äººã ããè©ä¾¡ãããå¿«é©ãªã³ãã¥ããã£ãä½ããã¨ãã§ããç¹ã§ããPixivã¯ãæ¥é ããæ¥ç¹ã®ãã
Unicornã®è¨è¨(DESIGNãã) å²å¦ãå¦ã³ãè¨è¨ãå¦ã¶ãåãæ¥ããè±æãå訳ããç¨åº¦ã Unicornã¯ä¼çµ±çãªUnixã®preforkã¦ã§ããµã¼ã ã¹ã¬ããã使ããªããã¨ã§ãã¢ããªã±ã¼ã·ã§ã³ã®ãããã°ã¨ä¿®æ£ãç°¡åã«ã§ãã ã¢ããªã±ã¼ã·ã§ã³ã®èª¿åãæªãã¨ããKILLã·ã°ãã«ã§è©²å½ã¯ã¼ã«ã¼ã ããçä»ãããã¨ãã§ãã Ragelã¨Cã«ããHTTPãã¼ãµã¯Mongrelããæã£ã¦ãã¦ãã ãã®é¨åã®ã¿ãéRubyã§ãä»å¾ãã以å¤ã«éRubyã®ã³ã³ãã¼ãã³ããå¢ããäºå®ã¯ãªã HTTPã®å¦ç ãã¹ã¦ã®HTTPãªã¯ã¨ã¹ãããããå¦çãã Rackã¢ããªã±ã¼ã·ã§ã³ãå®è¡ãã HTTPã¬ã¹ãã³ã¹ãã¯ã©ã¤ã¢ã³ãã«è¿ã keepaliveããã¤ãã©ã¤ãã³ã°ã¯ãµãã¼ãããªã è¨å®ã¯Rubyã®eval()ã§è¡ããã Rubyã¯YAMLããææ§ã§ã¯ãªããããã¯å¦çãã¤ã³ã©ã¤ã³å®ç¾©ã§ãã ä¸ã¤ã®ãã¹ã¿ãã
éåé·ããã¨ããã°æ¾ç½®ãã¦ãã¾ã£ãã®ã ãã©ãã¿è¦ä»ããã®ã§ä¹ ã ã®è¨äºã Unicornã¯Passengerããé ãã£ãï¼ ãªããTwitterã§ãã¢ã¯ã»ã¹å°ãªãã¨ãã¯PassengerããUnicornã®ãéãã®ã«ãã¢ã¯ã»ã¹å¤ããªã£ã¦ããããã®éã«ãªã£ããã£ã¦è©±ãã¿ãããã®ã§ãããåã«Unicornã®workerã足ããªãããããªãã®ãã¨è¿ããã®ã ãã©ãã©ããããã¨ãã¨ãã話ãå°ãã¾ã¨ããã ã¾ããUnicornã®workerã¯1ããã»ã¹ã«ã¤ã1度ã«1ãªã¯ã¨ã¹ãããå¦çããªããã ããä¾ãã°ãåã大éæãªè¨ç®ã ãã©ãå¹³å50msãããã§ã¬ã¹ãã³ã¹ãè¿ãã¢ããªã ã¨ããã°ã1workerã¯20req/secãããã¯è¿ããããªã¨è¦ç©ãã£ã¦ããã¼ã¯æã«100req/secãããã¢ã¯ã»ã¹ãããããã ã£ããworkerã5åãããç«ã¦ã¨ãããªã足ããªãã£ããããã¡ãã£ã¨ããªãã¿ããã«èãããå®éã©ããã
Winã¦ã¼ã¶ãRailsã¢ããªãããããå ¬éãããã¨æã£ãå ´å Windowsã§å¦ç¿ãéå§ããã®ã¯ä¸å¯è½ãªã®ã§Linuxãããã ã§ãWindowsã§é²ãããã¨ãã¦msysGitããããããããçµå±åæ¥ç¡é§ã«ãã ãªããgemãææ°ãããªãã¨æããã gemãåç´ã«ä½¿ã£ã¦ãå¾ããå°ãã®ã§rvmãrbenvãå¿ è¦ã使ãæ¹è¦ããªãã¨ãããªã ãã£ã¨Rails3.2å°å ¥ãjavascriptã¨ã³ã¸ã³ãå ¥ã£ã¦ãªãã®ã§èµ·åããªã ãã£ã¨èµ·å HTMLæ¸ãã¦ãã®ã¯æ å¼±ã ã => hamlãè¦ãã jsæ¸ãã¦ãã®ã¯æ å¼±ã ã => coffee scriptãè¦ãã cssæ¸ãã¦ãã®ã¯æ å¼±ã ã => scssãè¦ãã ãã¹ãæ¸ãã¦ãªãã³ã¼ãã¯ã¬ã¬ã·ã¼ã³ã¼ãã£ã¦ãããã ããããªãã®ã§Rspecããã => Rspecè¦ãã ã¦ããããã¹ãã ãã§ã¯ããããªãã¨ãããcapybaraãããã => capyb
unicorn_railsã®ãªãã·ã§ã³ã§ã¢ããªã®URLã«prefixãã¤ãããã¨ãã§ããã unicorn_rails --path /foo -D -e productionãã®ã¾ã¾å®è¡ããã¨ã«ã¼ãã®ã¨ã©ã¼ãèµ·ããã ã¢ããªã±ã¼ã·ã§ã³å´ã§prefixãå«ãã ãã¹ãèªèã§ãã¦ããªãããã§ããã ENV['RAILS_RELATIVE_URL_ROOT']ãã¢ããªã®ã«ã¼ããã¹ã«ãªãã®ã§ èµ·åæã«å¯¾å¿ãããå¿ è¦ãããã¾ãã è¨å®ãã¡ã¤ã«ã¯config.ruã§è¡ãã¾ãã require ::File.expand_path('../config/environment', __FILE__) # run Foo::Application if ENV['RAILS_RELATIVE_URL_ROOT'] map ENV['RAILS_RELATIVE_URL_ROOT'] do run Foo:
åºæ¬è¨å®ãéçºç°å¢è¨å®ã«å¼ãç¶ããä»åã¯Capistranoãå°å ¥ãã¦èªåãããã¤ã§ããããã«è¨å®ãunicorn+nginxå¨ãã®è¨å®ãå¤æ´ãã¦å¿«é©ã«ãããã¤ã§ããããã«ãªãã¾ããã ãªã¢ã¼ããªãã¸ããªã®ä½æ ãªã¢ã¼ããµã¼ãã¼ã«ãªãã¸ããªãä½æãã¾ãã ä»åã¯å ¨ã¦åããµã¼ãã¼ã§ããã®ã§ãèªåã®ãã¼ã ãã£ã¬ã¯ããªç´ä¸ã«ä½ãã¾ããã $ mkdir -p /home/ntaku/git/sample $ cd ~/git/sample $ git --bare init å¾ããcapistranoã§ã¢ããªãé ç½®ããããã®ãã£ã¬ã¯ããªãä½æãã¦ããã¾ãã # mkdir /var/www ããã¸ã§ã¯ãä½æ ããããã¯ãã¼ã«ã«ã§ã æ°è¦ããã¸ã§ã¯ããä½æãã¦ããã¹ãç¨ã®ã³ã³ããã¼ã©ã¼ã追å ãã¾ãã $ rails new sample -d mysql $ cd sample $ rails g
ã¡ã³ããã³ã¹
ãç¥ãã
é害
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}