Kenichiro Ota @oota_ken æºæã®è¨ç®ãªãã¾ã ãããéå©ããã¸ã·ã§ã³ã®è¨ç®ã¨ãã«ãªãã¨ãã»ã©ãã¾ãæ½è±¡åããªãã¨ããªã¢ã«ãã£ãºã ã®æ©æµã«ã¯ãããããªãã¦ãããããããã¾ã§ã®åªåãæ¬å½ã«å´åã«è¦åã£ããã®ã§ãããã¨ããã®ãé£ããã¨ãããªã®ã§ãã 2010-03-13 20:25:26 Kenichiro Ota @oota_ken ãã¡ãããããªããã£ããå¤é貨ä¼è¨ãå¤å½çºæ¿ã¿ããã«æ¬è³ªçã«ãªãã¸ã§ã¯ãæåã¨ãããã³ã°ããããåéãããããã§ããã£ã±ããã¡ã¤ã³ãã¨ã«é©ç¨ãããã¯ããã¸ã¼ã¯ç°ãªãã¨ããçµè«ã«ãªããããããªãã®ã§ãã 2010-03-13 20:26:54 Masayoshi Hagiwara @masayh ãã®æç¹ã§ãã®æè¡ï¼OOï¼ã®éçãæãã¾ããã©ããªã«åªããæè¡ã§ãæ±ãã«ãããã®ã¯é©åã¨ã¯è¨ãã¾ããããã¶ã¤ã³ãã¿ã¼ã³ã®å°å ¥ãªããã¦ããè¨è¨ãã§ããªãã®
2013-09-18 oop ã¯ã©ãå®ç¾©ãããã¹ãã ããã? ç´ç²ãªãã¸ã§ã¯ãæåããã°ã©ãã³ã° ç´ç²ãªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ã¯ä»¥ä¸ã®ããã«å®ç¾©ã§ãã: ãªãã¸ã§ã¯ãã使ã£ãããã°ã©ãã³ã°ã ãªãã¸ã§ã¯ãã¨ã¯ä½ã? ä»ã®ãªãã¸ã§ã¯ãã¸ã®åç §ãä¿æããäºåã«ãªã¹ãã¢ãããããã¡ãã»ã¼ã¸ãåä¿¡ãããã¨ãã§ããä»ã®ãªãã¸ã§ã¯ããèªåèªèº«ã«ã¡ãã»ã¼ã¸ãéä¿¡ãããã¨ãã§ããã¢ãã ã§ãä»ã«ã¯ä½ãããªããã¡ãã»ã¼ã¸ã¯ååã¨ãªãã¸ã§ã¯ãã¸ã®åç §ã®ãªã¹ãããæ§æãããã ããã§ããã¾ããè¨ãåãã¯åãèãããã®ã ãã©ãã¢ã¤ãã£ã¢ã¯ãªãã¸ã§ã¯ãæåã¨ããè¨èãä½ã£ãå¼µæ¬äºº Alan Kay (2003) ããã®ãã®ã ããã以å¤ã¯ãç´æ¥ oop ã«é¢ä¿ç¡ãããå®è£ ä¸ã®è©³ç´°ã ã ãã®å®ç¾©ããå°ãåºãããã®ãèãã¦ã¿ããã ã¾ãã¯åå空éã ãC ã®é¢æ°ã¨éã£ã¦ã¡ãã»ã¼ã¸ (å¥åã¡ã½ãã) ã¯ãªãã¸ã§ã¯ããã¨ã«
2011å¹´ã«èªãã è«æç´¹ä» ã¾ãã¯ç§ã¯å¦ä½ã«ãã¦å¿é ããã®ãæ¢ãã¦éçã«åä»ãããããªãã¸ã§ã¯ãæåè¨èªãæããããã«ãªã£ãã æ¸ãã人: ã㨠æ¸ããæ¥: 2011å¹´12æ18æ¥ ä»å¹´èªãã é¢ç½CSè«æç´¹ä»ã«ã¬ã³ãã¼ã®5æ¥ç®ã®è¨äºã§ãã ããã Sound polymorphic type inference for objects ã¾ãã¯ç§ã¯å¦ä½ã«ãã¦å¿é ããã®ãæ¢ãã¦éçã«åä»ãããããªãã¸ã§ã¯ãæåè¨èªãæããããã«ãªã£ãã Covariance and Contravariance: Conflict without a Cause å ±å¤ã¨åå¤: çç±ç¡ãå¯¾ç« What is Object-Oriented Programming? ããã¯ã»ãã¥ã»ã¶ã»ãªãã¸ã§ã¯ãã»ãªãªã¨ã³ãããã»ããã°ã©ãã³ã° Sound polymorphic type inference for objec
PHP Advent Calendar 2013 - 6æ¥ç® æ¨æ¥ã¯@fivestrããã®Composerã使ã£ãç°¡åTravis CIè¨å®ã§ããã TL;DR ãªãã¸ã§ã¯ãæå/MVCã§ãã¾ãæãããã¦ããªãã£ããã®ã¯ä½ãªã®ãï¼MVCããç¶ãã½ããã¦ã§ã¢ã¢ã¼ããã¯ãã£ã¼ã®ããã®å ãã¯ä½ãªã®ãï¼Reenskaugå士ãç¥ã£ã¦ãã¾ããï¼ Wikipediaã«ããã°Reenskaugå士ã¯1930å¹´çã¾ããMVCã¨ããæ¦å¿µãä¸ã®ä¸ã«éãåºãããè«æãMODELS - VIEWS - CONTROLLERS (pdf)ãã¯1979å¹´ã§ãããã49æ³ã®æã¨ãããã¨ã«ãªãã¾ãã1960å¹´ããã½ããã¦ã§ã¢ãæ¸ãå§ãã1973å¹´ãããªãã¸ã§ã¯ãæåã§ã½ããã¦ã§ã¢ãéçºãã¦ãããç¾å¨ã§ãç¾å½¹ã§ã½ããã¦ã§ã¢ã®ä¸çã«ããã£ãããã¾ãï¼ex 2009å¹´ã®è¬æ¼ï¼ããããã°ã©ãæ´42å¹´ (* Clean Coder
Last week I gave a talk about Object-Oriented Programming at Michelin, the company I am working for. I talked about writing better code, from STUPID to SOLID code! STUPID as well as SOLID are two acronyms, and have been covered quite a lot for a long time. However, these mnemonics are not always well-known, so it is worth spreading the word. In the following, I will introduce both STUPID and SOLID
2013-06-25 Railsãããããªããå«ãã - Rails ã§ã® OO è¨è¨ã«ã¤ã㦠ruby rails æè¿ã¯ãã£ã¨ Rails æ¸ãã¦ããã§ãããæ¸ãã°æ¸ãã»ã©å«ãã«ãªã£ã¦ãããã§ãã å¦æ æçãªãã¤ãªãã§ããã Rails ããã®æªãã¨ããã°ã£ããè¦ãã¦ãã¦ãããä¸ç·ã«ããããªããã§ãã ã§ãå¥ããã»ã©ãããªãã⦠ã¨ããæç´ã«ã¿ãããã Rails ã§ã®è¨è¨ã«ã¤ãã¦ã®è°è«ã§ãã é·ããã©ã³ã¼ãã¯ä¸ååºã¦ããªãã®ã§éå¤ä¸ã«ã§ãããã§ãã ããã 注æ ä¸é¨ã«ã¯ãããè¨èé£ããã§ã¦ããã®ã§ãèªãã§ä¸å¿«ã«ãªãããããã¾ããã ä¸å¿«ã«ãªã£ãã¨ãã¦ã責任ã¯è² ãããã¾ãã 次ã®ãããªæ¹ã®æå¾ ã«æ²¿ãçµè«ã¯ã§ã¾ãããæ®å¿µã§ããã Sinatra, Padrino ã®äºº é¢æ°åã®äºº éçåä»ãã®äºº C ã®äºº TL;DR Rails ã«ã ã¾ãããªãã èªåã®éãè¦å®ããã 欺çã«ã¿ã¡ã Ra
ãã®è¨äºã§ã¯ãç§ããªãã¸ã§ã¯ãæåã®ã©ããæãã©ããç´ æ´ãããã¨æãã¦ãã¦ããã®ããã§ãªããªãã¸ã§ã¯ãæåã使ããã¨ãé¿ãã¦ããã®ããæ¸ãçãã¦ããã¾ããé¢æ°åè¨èªä½¿ãã®æ¹ã§ãããªãã¸ã§ã¯ãæåã®ä½ãããã®ãããããªããããªãã¸ã§ã¯ãæåé£ãããã»è¤éãããã¨ãã£ãããæ¹ã«ãã²èªãã§ããã ãããã¨æã£ã¦ãã¾ããã¾ããããªãã¸ã§ã¯ãæåè¨èªå®ç§ã«ç解ããããã¨æã£ã¦ããæ¹ã«ãèªãã§ããã ãããæãã¾ãã ãªããããã§ã®ãªãã¸ã§ã¯ãæåã®å®ç¾©ã¯ããåè¨èªã§ãªãã¸ã§ã¯ãæåã¨å¼ã°ãã¦ãããã®ãã¹ã¦ãã¨ãã¾ããJavaãScalaãJavaScriptãSmalltalkãRubyãCommon LispãOCamlããªãã¸ã§ã¯ãæåã¨å¼ãã§ãããã®ãã¹ã¦ã®ç·ç§°ã§ãããã£ã¨ã¾ã¨ããªå®ç¾©ãç¥ãããæ¹ã¯ä»¥ä¸ã®è¨äºãããããã§ãã ãªãã¸ã§ã¯ãæåã®æ¦å¿µã®çºæè ã¯èª°ã§ããï¼(æ¹è¨ç) - Smallta
å ã®ã¨ã³ããªã§ä»¥ä¸ã®ããã«è¿°ã¹ãä¼ç·ã®ååã¨ã³ããªã¨ãªãã¾ãã ããã¦ãget_user()ã¨ããååã¯ãµã³ãã«ã³ã¼ãã«ã¯ãããã¡ã ãããã®ååãéãæ·±ãã¨æã£ã¦ãããããã«ã¤ãã¦ã¯ã¾ãå¥éåãä¸ãããã ãã®ã¡ã½ãããæ§æããåèªã§ããget, userã¨ãã«åé¡ãããã¨èãã¦ãããããããã«ã¤ãã¦è¦ã¦ããã¾ãã Userã¨ã¯å ·ä½çã«ä½ã ããã¯ãããã話ã§ãã¾ãèªåãã¹ãã¯ããã®Userã®å®ç¾©ãæãã¦ãã ãããã§ããã å¤ãã®æ¥åã·ã¹ãã ã§ã¯ã¦ã¼ã¶ï¼ã¢ã¯ã¿ï¼ãè¤æ°åå¨ãã¦ãããåã«ãã¦ã¼ã¶ãã¨è¨ã£ãå ´åã«æã対象ãæèã«ãã£ã¦ç°ãªããã¨ãå¤ãã ããã«å¯¾ãã¦ã¯ãEmployee, Staff, Administrator, Visitor, Sponsorãªã©å¥ã®å ·ä½çãªåèªã«ç½®ãæããããªãããæ¤è¨ãããã¨ã«ãªãã ãã¦ã¼ã¶ããä¸æãªã·ã¹ãã ã§ããã°Userã¨åä»ããã®ã妥å½ã ããï¼
ãããªçµé¨ã¯ããã¾ãããã ä¹ ãã¶ãã«é½ä¼ããç°èã®å®å®¶ã«å¸°ã£ãããããæ¬å½ã«ä¹ ãã¶ãã ãæ£æ©ãã¦ãå¹¼å°ã®é ã®æãããæãåºãæã¿ä»ããçºä¸¦ã¿ãæ©ãã¦ã¿ãããã¨ããããããæ£æ©ã«åºããã¦ã¿ãã¨çºã¯ãã£ããæ§å¤ãããã¦ããããã®æããã風æ¯ããä»ã¯ããããªãã ãã¡ããããããæªãããã§ã¯ãªããæã¯ç§»ãããæ代ã¯é²ãã§ãããçºãå¤ãããªãã¦ã¯ãªããªããé·æã«ã¨ãããã¦æã®å§¿ãç¶æããã®ã§ã¯ãªãããããç©æ¥µçã«æ°ããæ代ã«åãã£ã¦å¤åãã¦ããã¹ãã ããã ããã¡ãã£ã¨ã ãã»ã³ãã¡ã³ã¿ã«ãªæ°åã«ãªã£ãããã¦ã ãªãã¸ã§ã¯ãå¶æ¥½é¨ã¯ãªã¹ãã¹ã¤ãã³ãï¼ï¼ï¼ï¼ ã«è¡ã£ã¦ããã®ã ããã©ãæ£ç´ã«åç½ããããã¡ãã£ã¨ãããªæ°åã ã£ããã§ãã ããããã¡ãããããªãã¸ã§ã¯ãå¶æ¥½é¨ã¯ãµã¤ã³ã¼ã«æ¥½ããã£ãããã«ã§ãã»ã³ããªæå¾ ãããåããããªãã£ãã ããä»åã®ãªãã¸ã§ã¯ãå¶æ¥½é¨ã®ãã¼ãã¯ããªãã¸ã§ã¯ãæåãã¸ã¨å帰
ãªããå¾®å¦ãªè©±ã®æµãã«ã 3. åæã«èããªããã°ãªããªããã¨ãæ¸ãããã㨠ï¼ä¸ç¥ï¼ ãªãã¸ã§ã¯ãæåããã°ã©ãã³ã°ã®å¦ç¿ã«ã¹ã³ã¼ãã移ãã°ãããªã¢ã¼ãã£ãºã ã¨ç¶æ¿ã絡ã¾ãªãåçè¨èªã使ã£ã¦å¦ãã æ¹ããæ ¼æ®µã«æ¥½ã ã¨æãã¾ããããªã¢ã¼ãã£ãºã ã®ãã¨ãèããã¨ãã¯ããªã¢ã¼ãã£ãºã ã®ãã¨ã ããå·®åããã°ã©ãã³ã°ã®ãã¨ãèããã¨ãã«ã¯å·®åããã°ã©ãã³ã°ã®ãã¨ã ããèãã¦ãããã¾ãã é£ããè¨èª - ã¿ããã ã«ã ããªã¢ãã£ãºã ã¨ç¶æ¿ã¯è¡¨è£ä¸ä½ãªã®ã§ï¼çæ¹ã ããèããã®ã¯ãããããããï¼ ãé£ããè¨èªãã®è£è¶³ - ã«ã¬ã¼ãªãè¾å£Javaãªè»¢è·æ¥è¨ ã¨ãã¦ãåã³ã¡ã³ãæ¬ã§ã >ããªã¢ãã£ãºã ã¨ç¶æ¿ã表è£ä¸ä½ã®æ¦å¿µ ãã¼ã£ã¨ï¼ã表è£ä¸ä½ã®æ¦å¿µãã¨ã¯æ¸ãã¦ãã¾ããããï¼ã表è£ä¸ä½ã§ä½¿ç¨ãããã®æ¹ãé©åãã¨ï¼å®ç¾©ä¸ã¯é¢ä¿ãªãæ¦å¿µã§ãã£ãã¨ãã¦ãï¼å®éã«ä½¿ç¨ããä¸ã§è¡¨è£ä¸ä½ã§ä½¿ç¨ããã®ã§ååã«æè»ã§å®ç¨ç
ãã¼ãã³ã»ãã¡ã¦ã©ã¼æ°ã«ããã°ãã¢ããªã±ã¼ã·ã§ã³ã®ä¸æ ¸é¨ã§ãããã¸ãã¹ãã¸ãã¯ãæ§ç¯ããæ¹æ³ã«ã¯ãTransaction Scriptãã¿ã¼ã³ã¨Domain Modelãã¿ã¼ã³ã®2éããããã¨ãããDomain Modelãã¿ã¼ã³ã¯ããã¼ã¿ã¨æ¯ãèãã1ã¤ã®ãªãã¸ã§ã¯ãã«ã¾ã¨ãããªãã¸ã§ã¯ãæåã®ãã¯ããã¯ãé§ä½¿ããããæ¹ã ãä¸æ¹ã®Transaction Scriptãã¿ã¼ã³ã§ã¯ããã¼ã¿ã¨æ¯ãèãã¯å¥ã ã®ãªãã¸ã§ã¯ãã«åããæ¯ãèããã¹ã¯ãªããçã«æ·¡ã ã¨ããã°ã©ãã³ã°ãã¦ããã æ¥æ¬ã§ã¯Transaction Scriptãåªå¢ ãã®2éãã®ãã¡ãæ¥æ¬ã§ã¯Transaction Scriptãã¿ã¼ã³ã®æ¹ãåªå¢ã ãæ¥æ¬ã®ãªãããªã³ãªã¼ãã¼ãè»ä¸¦ã¿Transaction Scriptãè¦ãã¦ããã ãã¨ãã°ãSeasarã®éçºè ã§ããã²ããããæ°ã¯ãå¤ããããã¼ã¿ã¨æ¯ãèããåé¢ããã¢ããã¼ã
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}