ããã«ã¡ã¯ãerwinã§ãã 仿¥ã¯ãè¨è¨ã®è©±ããã¾ãã ã§ãããã¯ããã¢ã¼ããã¯ãã£ã¼ãã£ããããããã¨ãã話ã§ã¯ããã¾ããã è¨è¨ã誤ãã¨ãæ®éã«æ»ã¬ãââããã¯ãçåæ§é ã®è©±ã§ãã Juval Löwyã®ãRighting Softwareããèªã¿ãªããã âæªæ¥ãæã¦ãè¨è¨ã¨ã¯ä½ãâããããä¸åº¦èãã¦ã¿ã¾ãã ããããè¨è¨ã®ãæ£ãããã£ã¦ä½ï¼è¨è¨ããæ£ãããã©ãããã§è©ä¾¡ããã®ã¯ç°¡åã§ãã ã§ãããã®ãæ£ããããæªæ¥ã®å¤åã«èãããæ§é ãã©ããã¾ã§ãèãããã¦ããã§ããããã æ§é ãªãâæ£ããâã¯ã表層çãªå®å¿ã§ããããã¾ããã âã¡ããã¨ãã£ã¦ãâã®ã«å£ããçç±å¤ãã®ç¾å ´ã§ã¯ãè¨è¨ã¯ãã¡ããã¨ãã¦ãããã¤ããã§ãã æ æ ¢ã§ãæ´èµ°ã§ãããã¾ããã è¨è¨æ¸ãããããå·¥ç¨è¡¨ãããã ã§ãããä½ãæ£ããè¨è¨ããã®åºæºããªãã çµæããããªã詳細è¨è¨ã«èµ°ã£ã¦ãã¾ãã ã§ãã詳細è¨è¨ï¼ç»é¢â
SOLIDååã¨ããã®ãããã®ã ãã©ãååã¨ãã¤ã¤ ããããã«æ³¨æãªã¿ãããªãã¨ãè¨ãããèªåã§å¡©æ¢ ãæ¢ããªãã¨ãããªããªãå ¨ç¶ååãããªãããã¨ãããã¨ã§ãã¾ã好ãã§ã¯ãªãã®ã ãã©ããã®ä¸ã§ãããã§ã¯Oã«ãã¦ã¯ã¾ãéæ¾ééååã£ã¦æå³ãªãããã£ã¦è©±ãã éæ¾ééååã®åå ¸ã¯ã¡ã¤ã¤ã¼ã®ããªãã¸ã§ã¯ãæåå ¥éãã§ã第2çã«ã¯æ¬¡ã®ãããªè¨è¿°ãããã¾ãã(åçãæ¸ãã¦ããã¨ã¯ã ãããåãã§ã2çã®ã»ããæ´çããã¦è¨è¿°ãå¤ããªã£ã¦ã¾ã) ã¢ã¸ã¥ã¼ã«ã¯éãã¦ããã¨åæã«éãã¦ããã¹ãã§ãã ãã ããã®ã¡ã¤ã¤ã¼ã®æèã§ãããããªã¢ã¸ã¥ã¼ã«ã®æ¡å¼µã£ã¦ãããªãããã¨ã ããã§ã¡ã¤ã¤ã¼ã®æèã§ã®æ¡å¼µã¨ããã®ã¯ãã¢ã¸ã¥ã¼ã«èªä½ã«æããããã«ãæ©è½ã®è¿½å ã夿´ãã§ããã¨ãããã®ã§ããç¶æ¿ä½¿ã£ã¦ããæãã«æ©è½è¿½å ãã§ããè¨è¨ããæ¡å¼µã«éããã¦ãããã¨ãããã¨ã§ãã ã§ãã¾ãããããªã©ã¤ãã©ãªã®æ¡å¼µããããªãã§ãã
2024å¹´7æ13æ¥ã®å¤§å祥寺.pmã§çºè¡¨ãããå¤å ¸ãã¡ã¤ã³ã¢ãã«(ãã¿ã¼ã³)ã®è§£è±ãã®ã¹ã©ã¤ããã°ã§ãã ãã®2åã§æ¸ããã¦ãããã¡ã¤ã³ã¢ãã«ãã¿ã¼ã³ããå¤å ¸ãã®å¯¾è±¡ã«ãã¾ãã ãã¡ã¤ã³ã¢ãã«ãã¿ã¼ã³ã¯ãè¤éãã«å¯¾å¦ãããããã¨è¿°ã¹ã¦ãã¾ããããå¤å ¸ã§ã¯æ¬¡ã®2ç¹ã課é¡ã¨ãªã£ã¦ããã¨èãã¾ãã ããã2ç¹ã«ã¤ãã¦åå¥ã«è¦ã¦ããã¾ãã ã¾ããã¡ã¤ã³ã¢ãã«ãã¿ã¼ã³ããã Patterns of Enterprise Application Architecture(以éPofEAA)ã§ã¯ãã®ããã«å®ç¾©ããã¦ãã¾ãã PofEAAã®ãã¡ã¤ã³ãã¸ãã¯ã®ç« ã§ä½¿ããã¦ãããåçèªèãã®ä¾ãåãä¸ãã¾ãã ContractãProduct, RecognitionStrategyãªã©ã¨ãã£ãã¯ã©ã¹ãä½ããã¦ããããã®ã¤ã³ã¿ã©ã¯ã·ã§ã³ã§ãã¸ãã¹ãã¸ãã¯ãå®ç¾ãããã¨èª¬æããã¦ãã¾ãã ã§ã¯ããããã®ãã¡ã¤
ããã«ã¡ã¯ãimazã§ãã10å¹´ã¡ãã£ã¨Railsã¨ã³ã¸ãã¢ããã¦ãã¾ãã ã¤ã³ãã©ã¯è¦æãCSSãJavaScriptã徿ã§ã¯ãªããã¢ã¼ããã¯ãã£ã¨ãè¨è¨ã徿ã§ã¯ãªã⦠SQLã¨ããããã°ã好ãã§ããçãããããã¨ã好ãï¼ ä½æ¥ä¸ãã¡ããã¡ãç¬ãè¨ãåºãã®ã§ãªãã£ã¹ã§åããªãã¿ã¤ãã§ãã Re: è¯ãã³ã¼ãã£ã¦ã©ããªã³ã¼ãã§ããï¼ã¨ãã質åãåãããä½ã¨çããã snoozer05.hatenablog.jp 仿¥ã¯ãã¾ã ããã®è¨äºãèªãã§ãç§ãªãã©ãçããããªããèªåã®å ´åã¯ããã ãªããã¨æã£ããã¨ãæ¸ãã¦ããã¾ãã è¯ãã³ã¼ããæ¸ãããã« ç§ãã³ã¼ããæ¸ãã¨ãã«å¿ããã¦ããã®ã¯ãã³ã¼ãããªãããããã®ã説æã§ããããã«ãããã¨ãã§ãã ã³ã¼ãã®ä¸è¡ä¸è¡ã«å¯¾ãã¦ãã©ããã鏿è¢ããã£ã¦ãªããã®ã³ã¼ããé¸ãã ã®ãã¨ããã®ãçè§£ã§ãã¦ããã®ãè¯ãç¶æ ã ã¨æã£ã¦ãã¾ãã ç°¡åãªä¾ ãã¨ã
Googleã«åå¨ããã³ã¼ããèªã¿ãããä¿å®ããããå½¢ã«ä¿ã¤åãçµã¿ãè¡ãã°ã«ã¼ããCode HealthããããDRYãæ©ã¾ã£ã¦é©ç¨ããªããã¨ãã¨é¡ããè¨äºãå ¬éãã¾ããã Google Testing Blog: Don't DRY Your Code Prematurely https://testing.googleblog.com/2024/05/dont-dry-your-code-prematurely.html DRYã¯ãDon't Repeat Yourselfãã®ç¥ç§°ã§ãã³ã¼ããéè¤ãããªããã¨ãéè¦ããèãæ¹ã§ããéè¤ããã³ã¼ããåå¨ãã¦ããã¨ãç¹å®ã®æ©è½ã夿´ãããã¨ããæã«åãæ©è½ãæã¤é¨åãå ¨ã¦æ¢ãã¦åæã«å¤æ´ããå¿ è¦ããããè¦è½ã¨ãããã¹ãçºçããå±éºæ§ãé«ã¾ãã¾ãã䏿¹ãã³ã¼ãã®éè¤ãé²ãã¦ããã°ä¸ã«æã ãã夿´ããã°OKã¨ããããã ä¸è¦DRYãå³ããé©ç¨
JSON Schemas are available for the following {0} files: Auto completion In supported JSON editors like Visual Studio and Visual Studio Code, schema files can offer auto-completion and validation to make sure your JSON document is correct. See a list of editors, validators and other software supporting JSON schemas. Tooltips When a JSON editor supports schemas, tooltips can help inform the user abo
æ¦è¦ å ãµã¤ãã®è¨±è«¾ãå¾ã¦ç¿»è¨³ã»å ¬éãããã¾ãã è±èªè¨äº: 37signals Dev â Pending tests åæå ¬éæ¥: 2023/03/01 åèè : Jorge Manrubia -- 37signalsã®ã¨ã³ã¸ãã¢ã§ã æ¥æ¬èªã¿ã¤ãã«ã¯å 容ã«å³ãããã®ã«ãã¾ããã ç§ã¯ããã¹ããã¡ã¼ã¹ããã§ä½æ¥ãããã¨ãããã¹ãã§ã³ã¼ãã®è¨è¨ãæ¯æ´ãããã¨ãããã£ãã«ããã¾ããã æè¿ã®ç§ã¯ã37signalsã§ããæ°ãããã¨ã«åãçµã¿å§ãã¾ãããä½ã決ã¾ã£ã¦ããªãç½ç´ã®ç¶æ ãªã®ã§ä½æ¥ã¯ããããé²ã¿ãæ¥ãæ¥ãæ¥ãæ¥ããã£ã¦ããããã«ãªã¯ã使ãã¦ãã¾ããä¼è°ã«å ç«ã£ã¦æ©ãã«æãã¦ããããã¨æã£ã¦ãããã«ãªã¯ã«ã¯ããããªã以ä¸ãå«ã¾ãã¦ãã¾ããã ã覧ã®ããã«ãç§ã¯ã»ã¨ãã©ã®å ´åãã¹ããæå¾ã«æ¸ãã¦ãããã¨ãè¦ã¦åãã¾ããä¾å¤ãããã¨ããã°ããã¹ããæ¸ããã¨ã§æçã§çµæããã£ã¼ãããã¯ã§
ID ãæ¡çªããã¨ãã«ãã使ããã UUID Version 4 ã®èª²é¡ã¨ãã¦ãé åºæ§ããªãã½ã¼ããã«ãããã¨ããå´é¢ãããï¼ULID (Universally Unique Lexicographically Sortable Identifier) ã使ãã°ã½ã¼ãã§ããããã«ãªãã¨ããè¨äºãåã«æ¸ããï¼ kakakakakku.hatenablog.com é¢é£ãã¦èª¿æ»ããã¦ãããï¼æ¨æºåå£ä½ IETF (Internet Engineering Task Force) ã«ãã£ã¦ï¼UUID Version 6, 7, 8 ã¨ããæ°ãã仿§ãææ¡ï¼ãã©ããæ®µéï¼ããã¦ãããã¨ãçºè¦ããâï¸UUID Version 6, 7, 8 ã®ç®çãç°¡åã«ã¾ã¨ããã¨ãã¿ã¤ã ã¹ã¿ã³ãæ å ±ã使ã£ã¦ã½ã¼ãã§ãã ID ãæ¡çªã§ããããã«ãããã¨ãªãï¼ãããã®ä»æ§ãåãè¾¼ã¾ããã¨ï¼UUID ãæ´»ç¨ããå¹ ãã
Rails ã«ã¦ true, false ã«å¯¾ãããã¼ã¯ã locale ã«ç»é²ãããã¨ãã¦ãã㪠yml ãæ¸ããã
www.aoky.net æèªãã Steve Yeggeã®ãããã«æ¡å ãã®C++ ã®è©±ã«ãSTLä½è ã OOP ã¯å«ãã ã¨è¨ã£ã¦ãã¦ã·ã§ãã¯ãåãããã¨ãããã¨ãæ¸ãã¦ãã£ã¦ããµã¼ãã¨æã£ã¦ããããæè¿Alexander Stepanovã®ã¤ã³ã¿ãã¥ã¼è¨äºãèªãã§ãã¦ããã£ã½ã話ããã£ãã www.stlport.org Yes. STL is not object oriented. I think that object orientedness is almost as much of a hoax as Artificial Intelligence. ã¯ããSTL ã¯ãªãã¸ã§ã¯ãæåã§ã¯ããã¾ããããªãã¸ã§ã¯ãæåã¯ã人工ç¥è½ã¨åããããããã ã¨æãã¾ãã ãã®äººã®å¥ã®ã¤ã³ã¿ãã¥ã¼è¨äºãé¢ç½ãã stepanovpapers.com Using animals as an exa
sourceless index about contact The Documentation Triangle (or, why code isn't self documenting)At some point in your coding career, you've probably heard something like: "My code is self documenting" or "Code IS documentation" These statements can be hard to argue against, especially if they come from someone who is more experienced than you. A lot of the trouble is that they are not wrong â well,
bkããã° ããã°ã©ãã³ã°ãããããã¦ãã¦ã«ã¤ãã¦ã®ããã° 2004-2011å¹´ã«æ¸ãã¦ããããã°ã®ã¢ã¼ã«ã¤ãã§ãã æºã®ä¸ã®ãã®ã®ã¯ã¤ã¤ã¬ã¹å - Microsoft Arc Keyboard ã®å°å ¥ iPodã¯ä½ãå¤ããã®ã? 人ãåé¡ã«ã¶ã¡å½ãã£ãã¨ãã«ã¯ãã©ãããã? ã½ããã¦ã¨ã¢ã®è¥å¤§åã«ã¤ãã¦ãã®ç¶ã ã½ããã¦ã§ã¢ã®è¥å¤§åã«ã¤ã㦠ããç¨åº¦ã®å¹´é½¢ãè¿ããããã°ã©ããæ±ããæ©ã¿ Unicode ã®éªã ãã¾ è¨å®ãã¡ã¤ã«ã®æ´ç - Emacs ç·¨ è¨å®ãã¡ã¤ã«ã®æ´ç - zsh ç·¨ ãã¿ã¼ã³ãWikiãXP ï½æãè¶ ããåµé ã®åå ãããã³ããã·ã¥ç©èª - åããå¤ããã³ã³ãã¥ã¼ã¿ GNU diff ã®å°å³ã ãã©ä¾¿å©ãªæ©è½ C++ ã® string 㨠vector ã® reserve() ã®æå æå·å - ãã©ã¤ãã·ã¼ãæã£ãåä¹±è ãã¡ Best Software Writin
ã100åÃ3åï¼301åãåé¡ã§ã»ãã³ãå ¬å¼ã«è¬ç½ªãè¦ç¿ãã¹ãã¯ãã¤ãªã³æ¹å¼ããï¼ãå®¢ã®æ··ä¹±ãåé¿ããçãï¼1/3 ãã¼ã¸ï¼ ãäºåã®åç¥ãä¸è¶³ãã¦ããã¾ãããã¨ããè©«ã³ç³ãä¸ãã¾ãã ã»ãã³âã¤ã¬ãã³ã»ã¸ã£ãã³ã¯9æ18æ¥ããããªè¬ç½ªæãå ¬å¼Webãµã¤ãã«æ²è¼ãããã»ãã³ã¯æ¶è²»å¢ç¨ã«å¯¾å¿ããããã9æ16æ¥ããæ¯æéé¡ã®è¨ç®æ¹æ³ã夿´ãããããããã客ã«å¯¾ãã¦äºåã«ååãªèª¬æããªãã£ããããç¾å ´ãæ··ä¹±ã䏿ºã®å£°ãããã£ã¦ãããTwitterä¸ã«ã¯ããåºèã§ã¯ã©ããããã¨ãã§ãã¾ãããã¯ã¬ã¼ã çã¯å ¨ã¦ã»ãã³ã¤ã¬ãã³æ¬é¨ã¾ã§ãé¡ããã¾ããï¼è¡¨è¨ããï¼ã¨ããPOPãæ®å½±ããç»åãæç¨¿ããã¦ããã
èªåãã³ã¼ãã£ã³ã°é¢æ¥å¯¾çã®ããã«è§£ãã¦ããã£ã LeetCode ã®åé¡ãã³ã³ã»ãããã¨ã«ã¾ã¨ãã¾ãããã«ãã¼ããã³ã³ã»ãã㯠LinkedList Stack Heap, PriorityQueue HashMap Graph, BFS, DFS Tree, BT, BST Sort Dynamic Programming Binary search Recursion Sliding window Greedy + Backtracking ã§ãã ãããã®åé¡ã 30 å以å ã«å®è£ ã§ããã°é¢æ¥ã®æºåã¯æ´ã£ãã¨è¨ã£ã¦ããã¨æãã¾ããEasy 㨠Medium ã§åé¡ã¯æ§æããã¦ã¾ãã鲿ã管çããããã«Google Spreadsheetãç¨æãã¾ãããã³ãããã¦ãèªç±ã«ã使ããã ããã ãããã®åé¡ã¯ãLeetCode ã®ãªã¹ãæ©è½ã§ãå ¬éããã¦ãã¾ããã¯ãã¼ã³ããã°èªåããã§ã«ã©
æ¸ãæ¹ãææ§ã§åæãåãã¦ãªããã é£ããå²ã«ã¡ãªãããèããã å¤é¨ç¥èãå ¥ãããã¡ãªããã大ãããã å¯èªæ§ãè½ã¡ããã æ¸ããªãiOSã¨ã³ã¸ãã¢ãå¤ããå¦ç¿ã³ã¹ãã大ãããã ããã¸ã§ã¯ãã®é²ã¿ãé ããªããã ãªã¼ããããã¼ã ãå ´å½ããçãã¼ã ã ãã ç§ã®ã¹ã¿ã³ã¹ã¯ãä¾ãã°COBOLãJavaãã¨ããã·ã¼ã³ã§ãå¸å ´ã«COBOLã¨ã³ã¸ãã¢ãå¤ããªãCOBOLãæ¡ç¨ããããæä»£ãJavaã«åãæ¿ãã£ã¦ããªãJavaãæ¡ç¨ããã¿ãããªæãã§ãã Swiftãªããã¯ãã¼ã¸ã§ã³4.1ãããã§Objective-Cããå®å ¨ç§»è¡ãã¾ããã2.3ã§ã¯æ©ãã£ãã§ããï¼2.3ãã触ã£ã¦ã¾ããï¼ ä»¥ä¸è©³ç´°ã æ¸ãæ¹ãææ§ã§åæãåãã¦ããªãåé¡ ãâ¯â¯ã¯è¯ããã®ã ã ãâ¯â¯ã¯é£ããã¦ããããããªãã ãã®2ã¤ã®æè¦ã並ãã§ããæãç§ã¯é常ã«è¦æãã¾ãã ç¾ä»£ã®ã½ããã¦ã§ã¢éçºã¯ãã¼ã æ¦ã§ããããæ¸ãæ¹ã«ã
BDD/ATDDãå¦ã¶ä¸ã§æé©ãªæ¸ç±ãThe BDD Books - Discoveryãã翻訳ãã¦åºçãã¾ããï¼ #bddbooks - ãããã³ãªã¼ã®ããã° ããããããã¨ã«æ¨è¦æãæ¸ãæ©ä¼ãé ããã®ã§ãåºçããä¸è¶³å ã«èªã¾ãã¦ããã ãã¾ããã ç§ã®æ¨è¦æã¯ä»¥ä¸ã®ããã«æ¸ãã¦ã¾ãã BDDã«ã¤ãã¦ãªãã¨ãªãç¥ã£ã¦ãããã¨ããæ¹ã¯å¿ èªã§ãã 䏿®µéæ·±ãçè§£ã¨ç´å¾ãå¾ãããã¯ãã§ããç§ãããã§ããã ãã¸ãã¹ã¨éçºã®å調ã«ã¤ãã¦æ¬æ¸ãèªã¿ãèããããã¦å®è·µãããã¨ã§ãæ¥ã ã®ã½ããã¦ã§ã¢éçºãããè¯ãã§ããã¨æãã¾ãã æ¨è¦æã«ã¯æåæ°ã®ç®å®ããã£ãã®ã§ããªãããã£ã¨æ¸ãã¦ã¾ããããã£ã¨ææ³ãè¨ãããã®ã§ãã®è¨äºãæ¸ãã¦ããæ¬¡ç¬¬ã§ãã æ¬ã¯ãã¡ãããè²·ãã¾ãã BDD Books - Discovery⦠Gáspár Nagy è et al. [PDF/iPad/Kindle] ï¼é¢ä¿ãª
åå¼·ä¼ã§ èªã¿ãããã³ã¼ãã®ã¬ã¤ãã©ã¤ã³ ããã£ã¦ãã¦åªçã§ããã®ããããã¨æ¸ããã¦ããã®ã§ããåªçã«ã¤ãã¦ãµããµãããæè¦ã ã£ãã®ã§èª¿ã¹ãã¡ã¢ã â ãã£ãã調ã¹ã訳ã§ã¯ãªãã®ã§è§£éãééã£ã¦ããå¯è½æ§ãããã¾ã :pray: åªçæ§ idempotency, idempotence åãæä½ãä½åº¦ç¹°ãè¿ãã¦ããåãçµæãå¾ãããã¨ããæ§è³ª f(x) = f(f(x)) ãæç«ãã (æ°å¦çãªå³å¯ãªåªçæ§ï¼) abs(-100) = abs(abs(-100)) ãªã®ã§ abs() 颿°ã¯åªçæ§ããã sqrt(16) === sqrt(sqrt(16)) ã¯æç«ããªãã®ã§ sqrt() 颿°ã¯åªçæ§ããªã Math.random() ã¯å®è¡ãã度ã«å¾ãããçµæãç°ãªãã®ã§åªçæ§ã¯ãªã å§ç¸®ãã zip ã zip(zip(x)) ã¨ãã㨠archive ãäºéã«ãªãã®ã§ zip(x)
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}