ã¢ã¼ããã¯ãã£ãè¨è¨ãã㨠ããµã㨠Forkwell Library #77 Dec 19, 2024 Takeshi Yonekubo
ã¯ããã«å ·ä½ã¨æ½è±¡ãè¡ãæ¥ãããã¨ã®éè¦æ§ã¯ããããããªæ¹ãè¿°ã¹ããã¦ãã¦ãçè ãæ¬å½ã«ããã ã¨æãã¦ãã¾ããããããã¾ãã§ãã人ã¨ã§ããªã人ã¨ã§ãå¹´åãæ°ç¾ä¸åã®ã¬ã³ã¸ã§å¤ãã£ã¦ããã¨è¨ã£ã¦ãéè¨ã§ã¯ãªãã®ã§ã¯ã¨æãã¾ãã ææ¸ãã¢ã¼ããã¯ãã®æç§æ¸ãã§ã第1ç« ã«ä»¥ä¸ã®è¨è¿°ãããã¾ãã æ½è±¡ã¨å ·è±¡ãèªç±èªå¨ã«è¡ã£ããæ¥ããããè½åãããã¨ãã¨ã¦ãéå®ãã¾ãã ãã¢ã¼ããã¯ãã®æç§æ¸ã第1ç« ãããã ãå ·ä½ã¨æ½è±¡ãè¡ãæ¥ãããã¨ãã表ç¾ãã®ãã®ã極ãã¦æ½è±¡åº¦ãé«ãããããã³ã¨ããªã人ãããã§ããããã人ã«ãã£ã¦ãã®è§£éãç°ãªãå¯è½æ§ãããã§ãããããã®è¨äºã§ã¯ããå ·ä½ã¨æ½è±¡ãè¡ãæ¥ãããã¨ããè¡çºãå ·ä½ä¾ãéãã¦ç¢ºèªããç解度ãæ·±ãããã¨æãã¾ãã è¨èã®æ´çã¾ãã¯è¨èã®æå³ã確èªãã¦ããã¾ãã ãæ½è±¡ã (abstraction)äºç©ã¾ãã¯è¡¨è±¡ã®æãå´é¢ã»æ§è³ªãæ½ãé¢ãã¦ææ¡ããå¿çä½ç¨ã
8ã¤ã®ãã¼ã¿ç³»ãã¼ã«ãBigQueryããDatabricksããdbtããFivetranããLightdashããLookerããSnowflakeããTROCCOâãã«39社ãããå¯ç¨¿é ããã¬ãã¥ã¼ãããå社ã®ãã¼ã¿ã¢ã¼ããã¯ãã£ãã¾ã¨ããè¨äºã§ããå社ã®æè¡é¸å®ã®èæ¯ã工夫ãªã©ã®ç¥è¦ãå¾ã¦ããã ãå ´ã¨ãªãã°å¹¸ãã§ãã â»ãã¼ã«åã»ãå¯ç¨¿ä¼æ¥åå ±ã«ã¢ã«ãã¡ãããé ã§æ²è¼ãã¦ããã¾ã BigQueryBigQuery ã¯ãGoogle Cloud ã®è²»ç¨å¯¾å¹æã«åªãããã«ããã¼ã¸ãåã®åæãã¼ã¿ ã¦ã§ã¢ãã¦ã¹ã§ãããã¿ãã¤ãè¦æ¨¡ã«å¯¾å¿ãã¦ãããè¨å¤§ãªéã®ãã¼ã¿ã«å¯¾ãã¦ã»ã¼ãªã¢ã«ã¿ã¤ã ã§åæãè¡ããã¨ãã§ãã¾ãã â¼BigQueryã¨ã¯ï¼æ©è½ãç¹å¾´ã»è£½åã®æ¦è¦ã¾ã¨ããã¼ã¸ã¯ãã¡ã https://findy-tools.io/products/bigquery/49 â¼Findy Too
åãããããããã°ã©ã ã®æ§æã¯ã©ããã£ããè¨è¨ã§ããã®ã§ãããã? ãã®æ¬ã§ã¯ãæèã¨ååã¨ããäºã¤ã®åãå£ã§ããã°ã©ã ã®æ§é ã¨ããã°ã©ãã¼ã®èªèãã©ãçµã³ä»ãã¦ããã®ãã解ãæããã¾ãã æ¬æ¸ã¯ä»¥ä¸ã®ãããªæ¹ã ã«ãå§ãã§ãã ð¤å¤§ããã¦è¤éãªããã°ã©ã ã綺éºã§åãããããè¨è¨ã«ã¾ã¨ãããã¨ããã¾ãã§ããªãã¦å°ã£ã¦ããããã°ã©ãã¼ ðµä»ã®äººãæ¸ããããã°ã©ã ãèªãã¨ãã«ãã©ãã«ä½ãæ¸ããã¦ããã®ãææãããã¤ãããªãã¦è¿·ã£ã¦ãã¾ã人 ð§DRY ã¨ã SOLID ã¿ãããªããã°ã©ã è¨è¨çè«ã«é¢å¿ããã£ã¦ãé¢é£ããäºæã«ã¤ãã¦ã®ç¥èãèå¯ãæåãããè¨è¨ãªã¿ã¯
æè²ç¥2023ç§ DAY1 HALL C 14:30 - 15:15 ãã¨ã³ã¸ãã¢ãç®æãåãã¡ã¯ã©ãçããããï½ã½ããã¦ã§ã¢ã¢ã¼ããã¯ãã®ãããï½ã ã®ç»å£è³æã§ãã https://talent.supporterz.jp/geeksai/2023autumn/information/#1021-1430-HallC
ãããå¦çã¯æ¢ã«å 人ã®æ¹ã ãå¤ãã®ãã¬ãã¸ãå ¬éãã¦ããã¦ãã¾ãããããã§ããªãé£ãããå¤ãããªããã¼ãã ã¨æã£ã¦ãã¾ãã ãã®è¨äºã¯ãçè ãããã¾ã§ã®éçºçµé¨ã§æ°ã¥ãããããå¦çã®å®è£ ãã¬ãã¸ãæ´çããä½ç³»åãç®æãã¦æç« ã«ãã¾ããã ããã§ã®å 容ããããè¯ã課é¡è§£æ±ºã«è²¢ç®ã§ããã°å¹¸ãã§ãã èªèº«ã®æççãªæèæ´ç(ã¡ã¢æ¸ã)ã®å»¶é·ã§å 容ãæ´çãããããä¸é¨æ¸ãæ¯ããçµ±ä¸ããã¦ããããèªã¿ã«ããããããã¾ããããäºæ¿ãã ãããð ãããå¦çã®é£ãããããå¦çã¯é£ããã 人ã«ãã£ã¦ã¯ç°¡åãªãã¼ãããããã¾ããããèªåã¯é£ãããã¼ãã ã¨æã£ã¦ãã¾ãã ãé£ããã®æ ¹æºã¯ä½ãï¼ããèããã¨ã1. èæ ®ç¹ãå¤æ§ã«ããã㨠2. 解決ãã課é¡ã«ãã£ã¦çãã大ããå¤ããã㨠ã«æ´çã§ãã¾ããã ãã®2ç¹ã¯ãã©ã®ã½ããã¦ã§ã¢éçºã«ãå½ã¦ã¯ã¾ãé ç®ã§ã¯ããã¾ããããã¨ãããå¦çã«ããã¦ã¯é¡èã«ç¾ãã¾ãã
ã¢ããªã±ã¼ã·ã§ã³éçºã§ãããã¸ãã¹ãã¸ãã¯ã¯åé¢ãããã ã¨ããController ã«ãã¸ãã¹ãã¸ãã¯ãæ¸ããªãã¨ãã£ããã¨ãããè¨ãããã¨æãã¾ãã ãããããã¸ãã¹ãã¸ãã¯ã¨ããè¨èã®æå³ãèããã調ã¹ãããã¦ã¿ã¦ãããã·ã¹ãã ã®ã³ã¢ã®é¨åãã¨ããã·ã¹ãã ã®ç®çã«ãªãå¦çãããã¨ãããã¿ãããªãã¨ãè¨ãããããã¦ãããåããã¾ããã§ããã ãããªä¸ãã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã DDD ã®æ¦è¡çè¨è¨ã«ã¤ãã¦å¦ã¶ãã¨ã§ãããã¸ãã¹ãã¸ãã¯ã¨ã¯ä½ãããããã¸ãã¹ãã¸ãã¯ã¯ã©ãå®è£ ããããã«ã¤ãã¦ãèªåãªãã®èããæ´çããã¦ããã®ã§ããã®è¨äºã§ã¯ãããã¾ã¨ãã¾ãã â» ææ§ãªè¨èãèªåã¨ãã¦ã©ã使ã£ã¦ãããã¨ãã話ã«ãªãã¾ããéãæå³ã§ä½¿ãæ¹ãããã¨æãã®ã§ãã注æãã ãã ãã¸ãã¹ãã¸ãã¯ã¨ã¯ä½ã ãã·ã¹ãã ã®ã³ã¢ã®é¨åãã¨ããã·ã¹ãã ã®ç®çã«ãªãå¦çãããã¨ãããã¨ãã£ã説æãæ£ããã¨ã¯æã
ã¡ã«ã«ãªã§åçæ¤ç´¢ã¨Edge AIãã¼ã ã«æå±ãã¦ããæ¾äºï¼ãã¶ãï¼ã§ããæ©æ¢°å¦ç¿ã®ã¢ãã«ãæ¬çªãµã¼ãã¹ã«çµã¿è¾¼ãããã®è¨è¨ãã¯ã¼ã¯ããã¼ããã¿ã¼ã³ã«ãã¦å ¬éãã¾ããã Githubã§OSSã¨ãã¦å ¬éãã¦ããã®ã§ãèå³ããæ¹ã¯ãã²ãç¬è¦§ãã ããï¼ PRãIssueãåãä»ãã¦ãã¾ããç§ã®ä½ã£ããã¿ã¼ã³ä»¥å¤ã«ããæç¨ãªãã¿ã¼ã³ãã¢ã³ããã¿ã¼ã³ãããã°å ±æãã¦ã¿ã¦ãã ããï¼ GitHubï¼https://github.com/mercari/ml-system-design-pattern GitHub Pagesï¼https://mercari.github.io/ml-system-design-pattern/README_ja.html ãªãæ©æ¢°å¦ç¿ã·ã¹ãã ã®ãã¶ã¤ã³ãã¿ã¼ã³ãå¿ è¦ãªã®ã æ©æ¢°å¦ç¿ã¢ãã«ã価å¤ãçºæ®ããããã«ã¯æ¬çªãµã¼ãã¹ã社å ã·ã¹ãã ã§å©ç¨ãããå¿ è¦ãããã¾ãããã®ã
å®è·µã¯ãªã¼ã³ã¢ã¼ããã¯ãã£Â - è¤éåãã大è¦æ¨¡ECãµã¤ããã¢ããã¤ãºããã¢ãã¿ãã¦ã®äºä¾ ã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã®ã¡ãªããã¨ã¯ï¼ã¾ãããã«ãã¦å°å ¥ãããï¼é£è§£ãªã¤ã¡ã¼ã¸ã®ããã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã®æ¦è¦ãæ¡ç¨äºä¾ã«å¦ã³ã¾ããä»åãåæããã®ã¯å·¥æ¥ç¨éæ¥è³æãªã³ã©ã¤ã³ã¹ãã¢ã®ãã¢ãã¿ãã¦ãããµã¼ãã¹ã®éçºãç¶ãã¦ããã«ã¤ããå社ã®ã·ã¹ãã ã¯è¤éåãè¥å¤§åãã¦ãããæ§ã ãªèª²é¡ãçããããã§ãããããã課é¡ã«å¯¾å¿ãã¹ããã·ã¹ãã ã®ã¢ããã¤ã¼ã¼ã·ã§ã³ã«åãçµãéãåãå ¥ããã®ã¯ãã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã§ãããåã¢ã¼ããã¯ãã£ãã©ã®ããã«å®è£ ããã®ããã¢ãã¿ãã¦ã®ã¨ã³ã¸ãã¢3人ã«èãã¾ããã åãå ¥ããã¹ããèªååããã·ã¹ãã ã®æ£å¸¸åä½ãä¿è¨¼ ã¦ããããã¹ãå°å ¥ã®ç§è¨£ã¯ããã¹ããæ¸ããã¼ãã«ãä¸ãããã㨠ã¯ãªã¼ã³ã¢ã¼ããã¯ãã£åã¯ãâå¹¹âã®å¦çããæãã¤ãã ã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ãå ¨ç¤¾çã«å±é
ããããGoFã®23åã®ãã¶ã¤ã³ãã¿ã¼ã³ãç¥ã£ã¦ããã«è¶ãããã¨ã¯ãªããããã¬ã¼ã ã¯ã¼ã¯ã»ã©ã¤ãã©ãªã«æº¶ãè¾¼ã¿ããã¦ãã¦ãç¾ä»£ã§ã¯ç¥ããªããã¡ã«ä½¿ã£ã¦ããã¨ã«ãªãã®ã§ãä½è£ãããã°ã
æ¬é ã¯ãC# Tokyo ãªã³ã©ã¤ã³ãä¸çä¸ããããããClean Architectureãä»ãã«ããçºè¡¨ã®ç»å£å稿ã¨ãªãã¾ããéå»ã«çºè¡¨ãã.NETçã®è¨äºã¯ãã¡ãã«ã¢ã¼ã«ã¤ããã¦ãã¾ãã æ¬ç¨¿ã®ãµã³ãã«ã³ã¼ãã»PPTã¯ãã¡ãã§å ¬éãã¦ãã¾ãã ãCC BY-SA 4.0ãã§å ¬éãã¦ãã¾ãã®ã§ãæ°ã«å ¥ã£ã¦ããã ãããå¶å©ç®çå«ããã©ã¤ã»ã³ã¹ã®ç¯å²ã§èªç±ã«å©ç¨ãã¦ããã ãã¦åé¡ããã¾ããã github.com ã¾ãåç»ã以ä¸ã§é ä¿¡ãã¦ãã¾ãããããããã°ã覧ãã ããã ä¸çä¸ããããããClean Architecture ã¯ããã« ã¾ãåãã«ãã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã®èª¤è§£ãããã¡ãªäºã¤ã®ãã¨ã«ã¤ãã¦ã話ããã¦ããã ãã¾ãã ãã®ä¸ã§ãã¯ãªã¼ã³ã¢ã¼ããã¯ãã£ã®æ¬è³ªã¨ã¯ä½ãï¼æ¼ããã¦ããã¹ããæ¬å½ã«éè¦ã ã¨èãã¦ããä¸ã¤ã®äºã«ã¤ãã¦ãã話ããã¾ãã 注æäºé ãã¦æ¬é¡ã«å ¥ãåã«ãå°ã注æ
å é±ã® (Emit) ã«ã³ãã¡ã¬ã³ã¹ã§ã¯ãåè¶ããè¬æ¼ã®æ°ã ãèå³ã®å°½ããªãããã«ãã£ã¹ã«ãã·ã§ã³ãè¡ããããµã¼ãã¬ã¹ã³ãã¥ããã£ã®åªç§ãªä»²éãã¡ã«åºä¼ã£ã¦è²´éãªæè¦äº¤æãããæ©ä¼ãããããããã¾ããã ããã§ã¯èª°ããä¸æ§ã«ãã³ã¹ãããããµã¼ãã¬ã¹é©ç¨ã®æ¨é²ã®éµã ã¨ã¿ãªãã¦ãã¾ããããªã³ããã³ãå®è¡ã¨çæ¥ã®å¼¾åæ§ã¯ã稼åçãæé©åãã¤ã¤ã稼åæéã¨ä¿¡é ¼æ§ãããã«é«ãç¶æ ã«ä¿ã¡ã¾ããå¾é課éå¶ã¯ã³ã¹ããç´æ¥çã«å®éåã§ãããã®ã«å¤ãã¾ãããå ´åã«ãã£ã¦ã¯ æ¡å¤ãã® ç¯ç´ ã«ãªãå¯è½æ§ãããã¾ããããã«ãã£ã¹ã«ãã·ã§ã³ã§ãGartnerã®ã¢ããªã¹ãã® Anne Thomas ã¯ãä¼æ¥ã¯ã©ã¤ã¢ã³ãã¯âã³ã¹ãâãæå©ã¨ããçç±ãããµã¼ãã¬ã¹ã«èå³ãæã¤ãã¨è©±ãã¾ããã ããããã¯ãã¼ãºããªã·ã¹ãã ã«ããªã¼ã©ã³ãã¯ããã¾ãããã¡ãªãããå¾ãã«ã¯ä½ããç ç²ã«ããªããã°ãªããªãã®ã§ãããã¯ããã¸ã¼ã«ãã
ã¢ããªã¹ã¨ãã¦ç®¡çããã«ã¯è¤éãããã¨ããã·ã¹ãã ã§ãªãéãããã¤ã¯ããµã¼ãã¹ã¯æ¤è¨ããããªãã¦ãããã½ããã¦ã§ã¢ã·ã¹ãã ã®å¤§å¤æ°ã¯ãåä¸ã®ã¢ããªã·ãã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦æ§ç¯ãããã¹ãã§ããããã®ã¢ããªã¹å ã®ã¢ã¸ã¥ã¼ã«æ§ãè¯å¥½ã«ãªããã注æãæãå¿ è¦ã¯ããããå¥åã®ãµã¼ãã¹ã«åãããã¨ãã¦ã¯ãããªããè¦æ¨ ã¢ããªã¹ã¨ãã¦ç®¡çããã«ã¯è¤éãããã¨ããã·ã¹ãã ã§ãªãéãããã¤ã¯ããµã¼ãã¹ã¯æ¤è¨ããããªãã¦ãããã½ããã¦ã§ã¢ã·ã¹ãã ã®å¤§å¤æ°ã¯ãåä¸ã®ã¢ããªã·ãã¯ã¢ããªã±ã¼ã·ã§ã³ã¨ãã¦æ§ç¯ãããã¹ãã§ããããã®ã¢ããªã¹å ã®ã¢ã¸ã¥ã¼ã«æ§ãè¯å¥½ã«ãªããã注æãæãå¿ è¦ã¯ããããå¥åã®ãµã¼ãã¹ã«åãããã¨ãã¦ã¯ãããªãã â Martin Fowler æ確ã«æ§é åãããã¢ããªã¹ãæ§ç¯ã§ããªãæããªããã¤ã¯ããµã¼ãã¹ããã®çãã ã¨æãã®ãã Simon Brown å§ãã« ãã¤ã¯ããµã¼ãã¹ã®å©ç¹ã¨æ¬
ããã«ã¡ã¯ããµã¼ãã¹éçºé¨ã®æ£®å· (@morishin127) ã§ãã主ã«ã¯ãã¯ãããã® iOS ã¢ããªã®éçºã«æºãã£ã¦ãã¾ãã æ¥ã ã¢ããªãéçºããä¸ã§ãè¿é ã¯æé©ãªã¢ã¼ããã¯ãã£ã¨ã¯ä½ããèããªããè²ã ãªå½¢ã試è¡é¯èª¤ãã¦ãã¾ããä¸ã®ä¸ã§æ¡ç¨ããã¦ããã¢ãã¤ã«ã¢ããªã®ã¢ã¼ããã¯ãã£ã«ã¯æ§ã ãªãã®ãããã¾ããMVC, MVP, MVVM, VIPER, Clean Architecture ãªã©ãªã©ãéçºãã¦ããããããã¯éçºãããã¨ãã¦ããã¢ããªã±ã¼ã·ã§ã³ã§ã©ããã£ãã¢ã¼ããã¯ãã£ãé¸æãããã¨ããã®ã¯é£ããåé¡ã§ããé¸æããããã«ã¯ã¢ã¼ããã¯ãã£ã«æ±ããè¦ä»¶ãå®ç¾©ããå¿ è¦ãããã¾ãããã®è¨äºã§ã¯ç§ãã¢ã¼ããã¯ãã£ã«æ±ããè¦ä»¶ã¨ãããããããç¨åº¦æºããã¨èãã MVVM 㨠Flux ã¨ãã2ã¤ã®ã¢ã¼ããã¯ãã£ã§å®è£ ãããµã³ãã«ãè¦ã¤ã¤ãã®é·æã»çæã«ã¤ãã¦èãã¦ã¿ããã¨æãã¾ãã ã¢ã¼
ï¼»53é¸ï¼½å½å 注ç®ã®Webãµã¼ãã¹ã»ã¢ããªã大調æ»ï¼Â ããã°ã©ãã³ã°è¨èªããã¬ã¼ã ã¯ã¼ã¯ãã¢ã¼ããã¯ãã£ã®ä¸è¦§ã2017å¹´ã æã®æ°ã»ã©åå¨ããWebãµã¼ãã¹ãã¢ããªããã®è£å´ãè¦ãã¦ã¿ãã¨ãéçºå½æã®ãã¬ã³ããéçºè ã®è¨è¨ææ³ãè¦ãã¦ãã¾ãã53ãµã¼ãã¹ã®ãã¬ã¼ã ã¯ã¼ã¯ãã¢ã¼ããã¯ãã£ãéçºå¹çåãã¼ã«ãéãã¾ããã å½å ã ãã§ãæã®æ°ã»ã©åå¨ããWebãµã¼ãã¹ãã¢ããªããã®è£å´ãè¦ãã¦ã¿ãã¨ãéçºå½æã®ãã¬ã³ããéçºè ã®è¨è¨ææ³ãè¦ãã¦ãã¾ãã ä»åã¯53ãµã¼ãã¹ï¼è¿½è¨ãå«ãï¼ã®ãã¬ã¼ã ã¯ã¼ã¯ãã¢ã¼ããã¯ãã£ãéçºå¹çåãã¼ã«ãéãã¾ãããé¸å®çç±ããçãããã ãããµã¼ãã¹ã«ã¤ãã¦ã¯ãã¢ã¼ããã¯ãã£ãé¸ãã çç±ãç´¹ä»ãã¦ããã¾ãã C2Cãã³ãã¼ã¹ ã¡ã«ã«ãªãã³ã³ãã©ãBASEãTokyo Otaku ModeãSTORES.jpãSnapmartãIQON æ å ±ãµã¼ãã¹ ã°ãã·ã¼ã価
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}