ããŒã1 Webåæãšèšªåè ã®ãœãŒã¹ã®æ±ºå®ã«ã€ããŠ
åé¡
ããªãäºçŽ°ãªäœæ¥ããããŸãïŒç§ãã¡ã®ãµã€ãã«æ¥ã蚪åè ã®ãœãŒã¹ãç¹å®ããããšã§ãã ç§ã¯ããªãã®ããšã¯ç¥ããŸããããé·ãéãGoogleã¢ããªãã£ã¯ã¹ã®Cookieã®æ¬äœã«å¯çããŠããŸããã ç§ãã¡ã®åæã¯ããœãŒã¹ã®æžãæããã»ãã·ã§ã³ã®ã¢ã«ãŠã³ãã£ã³ã°ã®åé¡ã解決ããäžè¬ã«ã解æãªãã¡ã©ãŒã®ãã¹ãŠã®è²»çšãæé€ããŸããã ããããè¯ãããšã¯ãã¹ãŠçµãããŸãã
GoogleãUniversalã®ããŒã¿çããªãªãŒã¹ãããšããé ããæ©ãããGoogle Cookieã«å¥ããåãããããèªåã§è¡ãæ¹æ³ãåŠã¶å¿ èŠãããããšãæããã«ãªããŸããã ãããããã以æ¥ã圌ã¯ClassicãšUniversalã®éäºææ§ã宣èšããŸããããããŸã§ã®ãšãããããªãã¯æ£ç¢ºã«åº§ãããšãã§ããŸãããClassicã¯é·ãéãµããŒããããŸãã
GA Cookieã®æ°ããããŒãžã§ã³ã§ã¯ããŠãŒã¶ãŒIDã1ã€ã ãæ®ã£ãŠããŸãã åæã¯ããããµãŒããŒã«éä¿¡ããããã§ãã¹ãŠã®èšç®ãæ¢ã«å®è¡ããŸãã ãããŠä»ã§ã¯ãCookieãjsãä»ããŠãœãŒã¹ãããœãŒã¹ã«é¢ããæ å ±ãååŸããããšã¯ã§ããŸããã
ãããæè¿ãGoogleã¯ãŠãŒã¶ãŒãã¹ãã£ãã¯ã§åªããçªãããã«ãªããŸããããããã¡ã€ã«ã³ã³ããŒã¿ãŒ-ClassicâUniversalãå±éããŸããã ãããŠãããã§ããŒã«ã®ãŠã£ã°ãªã³ã°ãéå§ããå¿ èŠããããŸãããªããŒã±ãã£ã³ã°ãªã¹ããUniversalã«è¿œå ãããæç¹ã§ãã¯ã©ã·ãã¯ã¢ããªãã£ã¯ã¹ã¯æçµçãªãªãŒããŒãåãåããŸãã ãããŠãããã¯ããã»ã©é ããªããšæããŸãã
ãã®ç¹ã§ãç§ã¯èªäœã®utmz cookieãžã§ãã¬ãŒã¿ãŒã«çãŸããŸããã ãããŠããããœãŒã¹ãã¹ã¿ãŒãšåŒã³ãŸããã
æåã«ãã©ãŒã ã«ã€ããŠ
ãžã§ãã¬ãŒã¿ãŒã¯ã Ruby on Railsçšã®ããŠã³ãå¯èœãªãšã³ãžã³åœ¢åŒã§äœæãããŠããŸã ã ãã¹ãŠã®Railsã¢ããªã±ãŒã·ã§ã³ã«gemãšããŠçŽ æ©ã調æŽããã³ã³ãœãŒã«ããã®åäžã³ãã³ãã§æŽæ°ã§ããŸãã ã¢ãžã¥ãŒã«ã¯ç¬ç«ããŠãããããèªäœã§ãã¹ãŠãå®è¡ããŸãã ãœãŒã¹ã«é¢ããããŒã¿ã䜿çšããŠãé»è©±çªå·ããµã€ãäžã®ã³ã³ãã³ãã眮ãæããã¢ããªã±ãŒã·ã§ã³ãšãšãã«ä¿åãããããªãåæã«äœ¿çšã§ããŸãã ç¹å®ã®ã«ãŒã«ã«åŸã£ãŠãã¢ãžã¥ãŒã«ã¯ãœãŒã¹ïŒããã³å€æ°ã®ãã©ã¡ãŒã¿ãŒïŒãèšç®ãã蚪åè ã®Cookieã«ä¿åããŸãã
GitHubãžã®çŽæ¥ãªã³ã¯ïŒ https : //github.com/alexfedoseev/sourcebuster
ç§ã¯ãŸã README.rdocã®èšèšãç解ããŠããŸããããã®éçšã§ãããã«ä¿®æ£ããŸãã
ã³ã³ãã³ãã«ã€ããŠ
ã»ãšãã©ã®ããžãã¯ã¯GAããžãã¯ãç¹°ãè¿ããŸãããããã€ãã®éãããããŸãã
ããŒã¿æ§é ããå§ããŸãããã
ããŒã¿æ§é
åèšã§ã4ã€ã®äž»èŠãªçš®é¡ã®ãã©ãã£ãã¯ããããŸãã
- utm -utmã¿ã°ã§ããŒã¯ããããã©ãã£ãã¯
- ãªãŒã¬ãã㯠-ãªãŒã¬ããã¯æ€çŽ¢ãšã³ãžã³ã®çµæããã®ãã©ãã£ãã¯
- çŽ¹ä» -玹ä»ãã©ãã£ãã¯ïŒãµãŒãããŒãã£ã®ãªãœãŒã¹ããã®ãªã³ã¯ïŒ
- typein-çŽæ¥é·ç§»
以äžã®ç»åã®ãã£ã«ã¿ãªã³ã°ããžãã¯ïŒ
ãããã£ãŠã蚪åè ããããã®4ã€ã®ãã¹ã±ããã«è©°ããŸãã
次ã«ã1人ã®èšªåè ãç°ãªããœãŒã¹ããç°ãªãæéã«ãµã€ãã«ã¢ã¯ã»ã¹ã§ããããããœãŒã¹ãæžãæããããã®ã«ãŒã«ãäœæããå¿ èŠããããŸãã
ãœãŒã¹ãæžãæããããžãã¯
æžãæãããžãã¯ã¯ãGoogleã¢ããªãã£ã¯ã¹ã®ããžãã¯ã«åŸããŸãã
åç §ãªã³ã¯ã¯ãçŸåšã®ã»ãã·ã§ã³ã§äœãäžæžãããªãããšã«æ³šæããŠãã ããã çç±-äŸã§èª¬æããŸããããå€ãã®å ŽåãçŸåšã®èšªåäžã«ã蚪åè ã¯å®éã®ãœãŒã¹ã§ã¯ãªããµãŒãããŒãã£ã®ãªãœãŒã¹ãããµã€ãã«ã¢ã¯ã»ã¹ããŸããããšãã°ãç»é²ãæå¹ã«ãããªã³ã¯ããã£ãã¡ãŒã«ãµãŒãã¹ããã§ãã
ãã®ã·ã¹ãã ã§ã¯ãçŸåšã®èšªåã«é¢ããããŒã¿ãäžæžãããããšã«å ããŠãæåã®èšªåã«é¢ããããŒã¿ãä¿åããããšã«ããŸããã ã€ãŸããå€ææã«ã蚪åè ã®æåãšçŸåšã®ãœãŒã¹ã«é¢ããããŒã¿ãåŸãããŸãã
ã¢ãžã¥ãŒã«ã䜿çšããŠæ£ç¢ºã«åŒãåºãããšãã§ãããã®ïŒ
- æåã®ãœãŒã¹ã®ããŒã¿ïŒ
utm_sourceãutm_mediumãutm_campaignãutm_contentãutm_term - çŸåšã®ãœãŒã¹ã«é¢ããåãããŒã¿
ïŒãŠãŒã¶ãŒãå¥ã®ãœãŒã¹ããç¹°ãè¿ã移è¡ããå ŽåïŒ - æåã®èšªåæ¥
- ãšã³ããªãŒãã€ã³ã
- ãœãŒã¹ãæžãæããããå®å šãªãã¡ã©ãŒ
- IPããã³ãŠãŒã¶ãŒãšãŒãžã§ã³ããŠãŒã¶ãŒ
ã¢ãžã¥ãŒã«ã®ã€ã³ã¹ããŒã«
ã¢ãžã¥ãŒã«ãåºå®ãããRailsã¢ããªã±ãŒã·ã§ã³ãæ¢ã«ãããšä»®å®ããŸãã
Gemfileã¢ããªã±ãŒã·ã§ã³ã§ã次ãè¿œå ããŸãã
ã€ã³ã¹ããŒã«ïŒ
ããã¯ããŠã³ãå¯èœãªãšã³ãžã³ã§ãããããåé¢ãããåå空éã«ååšããŸãã
routes.rbãè¿œå ããŠãã¢ããªã±ãŒã·ã§ã³ã«ããŠã³ãããŸãã
次ã«ããã¹ãŠã®ç§»è¡ãã³ããŒããŠå®è¡ããå¿ èŠããããŸãã
ã³ããŒïŒ
ãããŠå®è¡ïŒ
ããŒã¿ããŒã¹ã«ã¯3ã€ã®æ°ããããŒãã«ããããŸãã
ãããã䜿çšããŠäœãããå¿ èŠã¯ãããŸãããæ¢ã«ããŒã¿ãããã«äœ¿çšã§ãããããã®ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã
ããŠã³ãå¯èœãªãšã³ãžã³ã®è©³çŽ°-http://guides.rubyonrails.org
ã¢ãžã¥ãŒã«ã¯ã»ãšãã©æ¥ç¶ãããŠããŸãããæåŸã®ã¿ããã¯æ®ããŸããã¢ããªã±ãŒã·ã§ã³ã®ã©ãã«ã§ãCookieãèšå®ã§ããŸãã ãããè¡ãã«ã¯ã ã¢ããªã±ãŒã·ã§ã³ã®application_controller.rbã«è¿œå ããŸãã
æºåå®äºã®ããã§ãã ãšã³ãžã³ã¯ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒãã䜿çšãããããã¹ã¿ã€ã«ãèªåã§ã«ã¹ã¿ãã€ãºã§ããŸãïŒãããå€æŽããå¯èœæ§ããããŸãïŒã äœããããŸããããªãå Žåãç§ã¯äœããèŠéãå¯èœæ§ããããŸã-æžã蟌ã¿ã
Gemfileã¢ããªã±ãŒã·ã§ã³ã§ã次ãè¿œå ããŸãã
gem 'sourcebuster', :git => "git@github.com:alexfedoseev/sourcebuster.git"
ã€ã³ã¹ããŒã«ïŒ
bundle install
ããã¯ããŠã³ãå¯èœãªãšã³ãžã³ã§ãããããåé¢ãããåå空éã«ååšããŸãã
routes.rbãè¿œå ããŠãã¢ããªã±ãŒã·ã§ã³ã«ããŠã³ãããŸãã
mount Sourcebuster::Engine => "/sourcebuster"
次ã«ããã¹ãŠã®ç§»è¡ãã³ããŒããŠå®è¡ããå¿ èŠããããŸãã
ã³ããŒïŒ
bundle exec rake sourcebuster:install:migrations
ãããŠå®è¡ïŒ
bundle exec rake db:migrate
ããŒã¿ããŒã¹ã«ã¯3ã€ã®æ°ããããŒãã«ããããŸãã
- sourcebuster_referer_sources
ã«ã¹ã¿ã ãœãŒã¹ããŒã¿ã - sourcebuster_referer_types
玹ä»ã®çš®é¡ã«é¢ããããŒã¿ïŒçŽ¹ä»ãã©ãã£ãã¯ã®å Žåã¯åºæ¬çã«utm_mediumïŒã - sourcebuster_settings
ã¢ããªã±ãŒã·ã§ã³èšå®ïŒã»ãã·ã§ã³æéãšãµããã¡ã€ã³åŠçïŒã
ãããã䜿çšããŠäœãããå¿ èŠã¯ãããŸãããæ¢ã«ããŒã¿ãããã«äœ¿çšã§ãããããã®ã€ã³ã¿ãŒãã§ã€ã¹ããããŸãã
ããŠã³ãå¯èœãªãšã³ãžã³ã®è©³çŽ°-http://guides.rubyonrails.org
ã¢ãžã¥ãŒã«ã¯ã»ãšãã©æ¥ç¶ãããŠããŸãããæåŸã®ã¿ããã¯æ®ããŸããã¢ããªã±ãŒã·ã§ã³ã®ã©ãã«ã§ãCookieãèšå®ã§ããŸãã ãããè¡ãã«ã¯ã ã¢ããªã±ãŒã·ã§ã³ã®application_controller.rbã«è¿œå ããŸãã
class ApplicationController < ActionController::Base include Sourcebuster::CookieSettersHelper before_filter :set_sourcebuster_data helper_method :extract_sourcebuster_data # some code private def set_sourcebuster_data set_sourcebuster_cookies end end
æºåå®äºã®ããã§ãã ãšã³ãžã³ã¯ã¡ã€ã³ã¢ããªã±ãŒã·ã§ã³ãã³ãã¬ãŒãã䜿çšãããããã¹ã¿ã€ã«ãèªåã§ã«ã¹ã¿ãã€ãºã§ããŸãïŒãããå€æŽããå¯èœæ§ããããŸãïŒã äœããããŸããããªãå Žåãç§ã¯äœããèŠéãå¯èœæ§ããããŸã-æžã蟌ã¿ã
䜿çšãã
ã¢ãžã¥ãŒã«ã䜿çšããå Žåã ããã¯ããŒã¿çã§ãããããªãã®éçºçµéšã®ãã人ã«ãã£ãŠæžããããã®ã§ããããšãèæ ®ããŠãã ããïŒæçš¿ã®æåŸã«ããã€ãã®æ®µèœããããŸãïŒã
ãã®ã¢ãžã¥ãŒã«ã¯ä»¥äžã®ã¡ãœãããæäŸããŸãïŒããæ£ç¢ºã«ã¯ãã¡ãœããã¯1ã€ã ãã§ãããç°ãªãããŒã¿ãåŒãåºããŸãïŒïŒ
ã¢ãžã¥ãŒã«ã¡ãœãã
# C (utm / organic / referral / typein) extract_sourcebuster_data(:sb_first, :typ) # C utm_source extract_sourcebuster_data(:sb_first, :src) # C utm_medium extract_sourcebuster_data(:sb_first, :mdm) # C utm_campaign extract_sourcebuster_data(:sb_first, :cmp) # C utm_content extract_sourcebuster_data(:sb_first, :cnt) # C utm_term extract_sourcebuster_data(:sb_first, :trm) # (utm / organic / referral / typein) extract_sourcebuster_data(:sb_current, :typ) # utm_source extract_sourcebuster_data(:sb_current, :src) # utm_medium extract_sourcebuster_data(:sb_current, :mdm) # utm_campaign extract_sourcebuster_data(:sb_current, :cmp) # utm_content extract_sourcebuster_data(:sb_current, :cnt) # utm_term extract_sourcebuster_data(:sb_current, :trm) # extract_sourcebuster_data(:sb_first_add, :fd) # extract_sourcebuster_data(:sb_first_add, :ep) # , extract_sourcebuster_data(:sb_referer, :ref) # ip extract_sourcebuster_data(:sb_udata, :uip) # user agent extract_sourcebuster_data(:sb_udata, :uag)
ã¢ãžã¥ãŒã«ãã¹ãããŒãžïŒ http : //sandbox.alexfedoseev.com/sourcebuster/showoff
ããŸããŸãªãœãŒã¹ããã¢ã¯ã»ã¹ããŠãã¢ãžã¥ãŒã«ã決å®ããå 容ã確èªã§ããŸãã
ãã®ã¢ãžã¥ãŒã«ã§ã¯ãããã€ãã®è¿œå ãã©ã¡ãŒã¿ãŒãæ§æããããšãã§ããŸãã
ããã©ã«ãèšå®
ã€ã³ã¿ãŒãã§ãŒã¹ïŒ http : //sandbox.alexfedoseev.com/sourcebuster/settings
ã»ãã·ã§ã³æé
ãŠãŒã¶ãŒã®æåŸã®ã¢ã¯ãã£ããã£ããã蚪åãå®äºãããšã¿ãªããããŸã§ã®æéã ããã©ã«ãã§ã¯30åã§ãååäœã§ç€ºãããŸãã
ãµããã¡ã€ã³åŠç
ããã¯åºæ¬çã«GAã®_setDomainNameã«é¡äŒŒããŠããŸãã äŸã§èª¬æããŸãã
ãµããã¡ã€ã³ããããµã€ãããããšããŸãããïŒ
- site.com
- blog.site.com
- shop.site.com
ãŸãã site.comããŒãžããblog.site.comãžã®é·ç§»ãå éšçãªéåç §é·ç§»ãšèŠãªããŸã ïŒã€ãŸãã1ã€ã®ãµããã¡ã€ã³ããå¥ã®ãµããã¡ã€ã³ã«åãæ¿ããŠãããœãŒã¹ã¯äžæžããããŸããïŒã ãããè¡ãã«ã¯ãèšå®ã§ããµããã¡ã€ã³ãããããããã®éã®ãã©ãã£ãã¯ã¯ãªãã§ã©ã«ã§ãã£ãŠã¯ãªããªããããã§ãã¯ããå¿ èŠãããã ãã¡ã€ã³ãã¹ãããã£ãŒã«ãã§ãµã€ãã®ã«ãŒããã¹ããè¿œå ããŸãããã®ãµããã¡ã€ã³ã¯ãã¹ãŠãã¢ãžã¥ãŒã«ã«ãã£ãŠ1ã€ã®ãµã€ããšèŠãªãããŸãã ããã§ã¯ã ãsite.comãã瀺ãããŠããŸãã
ãã£ãŒã«ãã«blog.site.comãæå®ãããšã alex.blog.site.comããblog.site.comãžã®ç§»è¡ã¯éåç §ã«ãªãã alex.blog.site.comããshop.site.comãžã®ç§»è¡ã¯æ¢ã«åç §ã«ãªããŸããã©ãã£ãã¯ã
è¿œå ã®ãœãŒã¹
ã€ã³ã¿ãŒãã§ãŒã¹ïŒ http : //sandbox.alexfedoseev.com/sourcebuster/custom_sources
ã·ã¹ãã ã«ã¯ãå€æ°ã®è¿œå ãœãŒã¹ã®åŠçãã«ã¹ã¿ãã€ãºããæ©èœããããŸãã
èšå®ã¯ã次ã®ãã©ã¡ãŒã¿ãŒã«åŸã£ãŠè¡ãããŸãã
- ãã¡ã€ã³
åŠçããŠãããœãŒã¹ã¯ããã«äžèŽããŸãã - ãšã€ãªã¢ã¹
çŸãã/ãããããããœãŒã¹åã - ãã£ã³ãã«
referral ã organicããŸãã¯socialãæå®ã§ããŸãã - ãªã¯ãšã¹ããã©ã¡ãŒã¿
æ€çŽ¢ãšã³ãžã³ã®URLã®ããŒã¯ãŒããã©ã¡ãŒã¿ãŒã
ãã®è¡šã®äŸã¯ãäŸã§èª¬æããæãç°¡åãªæ¹æ³ãå¿ èŠã§ãã
äŸ1
ã·ã¹ãã ã§Bingæ€çŽ¢ãããªãŒã¬ããã¯ãã©ãã£ãã¯ãžã®ç§»è¡ãæ€èšããå¿ èŠããããŸãïŒããã¯äºå®ã§ãïŒã
bing.comã«ã¢ã¯ã»ã¹ããæ€çŽ¢ããã¯ã¹ã«ãappleããšããã¯ãšãªãå ¥åãããšã次ã®åœ¢åŒã®ã¢ãã¬ã¹ãå«ãæ€çŽ¢ããŒãžã«ãªãã€ã¬ã¯ããããŸãã
www.bing.com/search ïŒ q = apple ïŒgo =ïŒqs = nïŒform = QBLHïŒpq = appleïŒsc = 8-5ïŒsp = -1ïŒsk =ïŒcvid = 718ad07527244c319ecebf44aa261f64
ããã«åºã¥ããŠãæ°ããç¹å¥ãªãœãŒã¹ãäœæããŸãã
- ãã¡ã€ã³ïŒ bing.com
- ãšã€ãªã¢ã¹ïŒ bing
ãŸãã¯ãå¿ èŠã«å¿ããŠãäœãèšè¿°ããªããŠãããªãã¡ã©ãŒãã¹ãã眮ãæããããŸãã - ãã£ã³ãã«ïŒ ãªãŒã¬ããã¯
- ããŒã¯ãŒããã©ã¡ãŒã¿ïŒ q
ããã¯ãæ€çŽ¢çµæãå«ãããŒãžã®URLã«ãããïŒããšã= your_queryãã®æ§é ã®éã®èšå·ã§ãã
ããã§ããã®ãããªããŒãžã«ç±æ¥ãããã¹ãŠã®ãã®ããªãŒã¬ããã¯ãã©ãã£ãã¯ãšèŠãªãããŸãã
äŸ2
ãœãŒã·ã£ã«ããã®ç§»è¡ã匷調ããå¿ èŠããããŸãã å¥ã®ã°ã«ãŒãã®ãããã¯ãŒã¯ã
åæ§ã®ãã¿ãŒã³ã«åŸããŸãã
- ãã¡ã€ã³ïŒ facebook.com
- ãšã€ãªã¢ã¹ïŒ facebook
- ãã£ã³ãã«ïŒ ãœãŒã·ã£ã«
- ããŒã¯ãŒããã©ã¡ãŒã¿ïŒ äžèŠ
ã§ãã ããã§ãfacebookããã®ãã¹ãŠã®ã¯ãªãã¯ãªã³ã¯ïŒutmã¿ã°ã§ããŒã¯ããããã®ãé€ãïŒã¯ããœãŒã·ã£ã«ãã£ãã«ã®äŸ¡å€ãæã€ããã«ãªããŸãã
ãã¡ã€ã³ãã£ãŒã«ãã§ã¯ããŸãŒã³ïŒ.comã.com.ruãªã©ïŒãå®å šã«æå®ããå¿ èŠããããŸãã å€facebook.comãæå®ãããšããã¡ã€ã³facebook.com.ruããã®ãã©ãã£ãã¯ã¯ãã®ãã£ã«ã¿ãŒã«è©²åœããŸããã ãããŠããã¡ã€ã³m.facebook.comãã-ååŸããŸãã
ãã¹ã
ãœãŒã¹ïŒ https : //github.com/alexfedoseev/sourcebuster/blob/master/test/integration/navigation_test.rb
ãã¹ãã®å€§éšåã¯ããœãŒã¹ãæ£ããèå¥ããã³æžãæããããŠããããšã確èªããããã®ã»ã¬ã³ãã¹ãã§ãã ãããã¯Rubyã§äœæãããŸããããã¢ãžã¥ãŒã«ã®ã³ãŒãã ãã§ãªããååãšããŠãã¹ãŠã®å®è£ ïŒããšãã°ã誰ããphpãŸãã¯jsã«ç§»æ€ããå ŽåïŒããã§ãã¯ã§ããããã«å®è£ ãããŠããŸãã ã€ãŸããã¡ãœããããã¹ãããã®ã§ã¯ãªããäœæ¥ã®çµæããã¹ãããŸãã ãŸããããã§ã¯ä»£çãªãã¡ã©ãŒã¯äœ¿çšãããŸããããå®éã®ãªãœãŒã¹ããã®å®éã®é·ç§»ããã¹ããããŸãã ãŸããYandexãçºè¡äžã«äœããå€æŽããå ŽåïŒããšãã°ãhttpsã«åãæ¿ãããšãªãã¡ã©ãŒã匷å¶çµäºãããŸãïŒããã¹ãã§ããã衚瀺ãããŸãã ãã¹ãŠãæ¬åœã«çãã§ãã
ããã§ããã¹ãã¯éåžžã«éèŠã§ããããã¹ãèªäœãèšè¿°ãããŠããŸãããå¿ èŠã«å¿ããŠç解ã§ããŸãã
æžãæããããã³ãŒãããã¹ãããã«ã¯ã次ã®ãã®ãå¿ èŠã§ãã
- ç¹å®ã®ã«ãŒã«ã«åŸã£ãŠæ§æãããããŒãž
ïŒ ãã¹ãããŒãžã®ã³ãŒããåç §ããããŒã¿ãããã¯ã®IDãèŠã€ããŸããããããã°ã質åããŸãïŒ - æ€çŽ¢ãšã³ãžã³ã§ã€ã³ããã¯ã¹å
ïŒYandexãGoogleã3çªç®ã®è¿œå ïŒããšãã°ãã©ã³ãã©ãŒïŒïŒ - ç¹å®ã®ãªã¯ãšã¹ãã®ããã5
- +ãœãŒã·ã£ã«ãããã®ããŒãžãžã®ãªã³ã¯ã ãããã¯ãŒã¯ããã³ãµãŒãããŒãã£ïŒåç §ïŒãµã€ã
äžéšã®ã³ãŒããããã¯ã«ã¯ããã¹ããå®è¡ããåã«æ§æããå¿ èŠãããå®æ°ãå«ãŸããŠããŸãã ããããããäœãæ£ç¢ºã«æºåããå¿ èŠãããããæ確ã§ãã
ã¯ãããã¹ãã®å®è¡ã«ã¯çŽ20ã30åããããŸãã
ç§ã¯ç¹°ãè¿ããŸãïŒã¢ãžã¥ãŒã«ã®æäœäžã ããã¯ããŒã¿çã§ãããããªãã®éçºçµéšãæã€äºº ïŒããã«ã€ããŠã¯ä»¥äžã®ããã€ãã®æ®µèœïŒ ã«ãã£ãŠæžãããããšãèæ ®ããŠãã ããã
ããŒã2 ç§ãšRailsã«ã€ããŠ
ç§ã¯3.5幎ã€ã³ã¿ãŒãããããŒã±ãã£ã³ã°ã«æºãã£ãŠããŸããããããã»ã©æã§ã¯ãããŸãããããã©ãã£ãã¯ã®çæã¯ç§ã®ãã®ã§ã¯ãªããšããçµè«ã«éããŸããã ãã©ãã£ãã¯ã§ã¯ãªãæå³ãçæãããã ãããŠãã³ãŒããæžãå§ããŸããã ããã¯çŽ9ã¶æåã«èµ·ãããŸããã ç§ã¯ITæ°åŠã®èæ¯ãæã£ãŠããŸãããæåããèªåèªèº«ã§ãã¹ãŠãæãäžããªããã°ãªããŸããã§ããã ã¯ãªã¹ã»ãã€ã³ããã€ã±ã«ã»ããŒãã«ããã®ä»ã®ã€ã³ã¿ãŒãããã®æ¬ã¯ç§ãå©ããŠãããŸããã
ãã®çµæãç§ã¯èªåã§ããã°ãæžããŸããããçŽ5ãæåã«äŒæ©ãäœåãªãããããã®ã¢ãžã¥ãŒã«ã¯ããŠã³ã¿ã€ã åŸã«æåã«æžãããã®ã§ãã Railsã³ãã¥ããã£ã®ã¡ã³ããŒã«ãå®è£ ãæ¹å€ããæ確ã§ããã»ã©æªããªãåŠæ ¡ãææãããããé¡ãããŸãã ãã®éãã£ãšãRubyã§æžããŠããçããŠãã人ã«äŒãããšã¯ã§ããŸããã§ããããã¹ãŠãç解ããããšã¯éåžžã«å°é£ã§ãã
æ¹å€ãäºåã«æè¬ãããã®æçš¿ã誰ãã«åœ¹ç«ã€ããšãé¡ã£ãŠããŸãã ããã°ã£ãŠã