BPStudy#188ãè¦ä»¶å®ç¾©ãå¦ã¼ããChatGPTãæ·»ãã¦( https://bpstudy.connpass.com/event/281289/ ) ã®ç»å£è³æã§ãã 2023å¹´4æ28æ¥(é)ã«éå¬ã
RESTful Web API ã®å®è£ ã¯ãRepresentational State Transfer (REST) ã¢ã¼ããã¯ãã£ã®ååã使ç¨ãã¦ãã¯ã©ã¤ã¢ã³ãã¨ãµã¼ãã¹éã®ã¹ãã¼ãã¬ã¹ã§ççµåã®ã¤ã³ã¿ã¼ãã§ã¤ã¹ãå®ç¾ãã Web API ã§ãã RESTful ã§ãã Web API ã¯ããªã½ã¼ã¹ã«å¯¾ãã¦æä½ãå®è¡ãããã¤ãã¼ã¡ãã£ã¢ ãªã³ã¯ã¨ HTTP æä½ç¶æ ã³ã¼ããå«ããªã½ã¼ã¹ã®è¡¨ç¾ãè¿ãæ¨æº HTTP ãããã³ã«ããµãã¼ããã¦ãã¾ãã RESTful Web API ã¯ã次ã®ååã«å¾ãå¿ è¦ãããã¾ãã ãã©ãããã©ã¼ã ã«ä¾åãã¦ãã¾ãããã¤ã¾ããã¯ã©ã¤ã¢ã³ãã¯å é¨å®è£ ã«é¢ä¿ãªã Web API ãå¼ã³åºããã¨ãã§ãã¾ãã ãã©ãããã©ã¼ã ã®ç¬ç«æ§ãå®ç¾ããããã«ãWeb API ã¯æ¨æºãããã³ã«ã¨ã㦠HTTP ã使ç¨ããæç¢ºãªããã¥ã¡ã³ããæä¾ããJSON ã XML ãªã©
ã¯ããã« ããã«ã¡ã¯ï¼yamakazu (@yamarkz) ã§ãã è¿æã®è¡ãã¤ãã¹ã¼ãã¼ããµãããã¹ãã¢ã«ãªã£ãã®ã§ãããåæããã¨ã¦ãè¯ãããåºã®é°å²æ°ãæããã¦ãä»äºçµããã®è²·ãç©ãæè¿ã®æ¥½ãã¿ã«ãªã£ã¦ã¾ã ð¥³Â ðð¥ ãã¦ä»åã¯ãéçºæ¹é¢ã®ãã¬ãã¸ã¨ãã¦å¤é¨API飿ºã®è©±ãç´¹ä»ãã¾ããé常ã«ããããªé åã®è©±é¡ã§ãããããã人ã«ã¯ããããããªå 容ã§ãã èå³ã®ããæ¹ã¯ãã²æå¾ã¾ã§èªãã§ã¿ã¦ãã ããã åæ© æ°ããå¤é¨API飿ºã®éçºã«çæããã¡ã³ãã¼ã®å©ãã«ãªããããããè¯ãå¤é¨API飿ºãå®ç¾ãããã¨ããæããããããã¾ã§éçºãçµé¨ãã¦ããä¸ã§çè§£ããåæãç´¹ä»ãã¾ãã å ã ã¯ç¤¾å åãã«æ¸ãæºãã¦ããããã¬ãã¸ã¡ã¢ã®å 容ã§ãããç¹å¥ç¤¾å ã«çãã¦ããå¿ è¦æ§ããªãã®ã§ããã£ãããªãããã°ã«ãã¦ãã¾ããã¨æããããã§çãåãã¾ããã ããã¯ç¤¾å ã®ååã«åããå 容ã§ãããªãããä¼¼ãå¢
howto-tech-docs.md æè¡ææ¸ã®æ¸ãæ¹ ãã®ã¡ã¢ã¯ãç§ï¼@ymmt2005ï¼ãé·å¹´ã«ããã£ã¦ã½ããã¦ã§ã¢ãããã¯ãéçºã«é¢ãã£ã¦ã㦠2022å¹´ç¾å¨ããããã»ããè¯ãã¨èãã¦ãããã¹ããã©ã¯ãã£ã¹ã§ãã ç§å¦çãªåæçã«åºã¥ãããã§ã¯ãªãçµé¨åã§ãããããä»å¾ãéæè¦ç´ããã¨ãããã¾ããã ããã«æ¸ãã¦ãããã¨ãå¸¸ã«æ£ããããã§ãããããã½ããã¦ã§ã¢éçºã«é©ããããã§ãããã¾ããã ããããªãããå®åçµé¨ãè±å¯ã§ãã¢ãã³ãªæè¡ã¹ã¿ãã¯ã«æããã¨ã³ã¸ãã¢ã®çµé¨åã¯ä¸å®ã® å½¹ã«ç«ã¤ã®ã§ã¯ãªããã¨èãã¦è¨ãã¾ãã æè¡ææ¸ã¨ã¯ ããã§ã¯ãã½ããã¦ã§ã¢éçºã§æè¡è ãæ¸ãã¹ãææ¸ã¨ãããã¨ã«ãã¾ãã ã½ããã¦ã§ã¢ã¨ã³ã¸ãã¢ã«ãå½¹å²ããããããããã¢ã¼ããã¯ã㨠independent contributor ã§ã¯æ¸ãææ¸ãéãã¨ãããã¨ã¯ããã§ãããããã©ãããã§ã¯ãã£ã¡ãã«ãã¾ãã
# Event ãã¼ã¿ã¢ããªã³ã°ã¨ãã¼ã¿åºç¤ã®æ§ç¯ã»éç¨ ï¼ç¬¬14åã¡ã ãã³ã©ãï¼CARTA HOLDINGS x ã¡ã ããã¼ã¿ ååã¤ãã³ã https://churadata.connpass.com/event/254417/ ã»ããã®ããããããæé«ã®ã¬ããã¼ãã£ã³ã¯ãåºç¤ â¦
ãã®åº¦ã3å¹´åã«æ¸¡ã£ã¦å¤ããã¡ã«ã«ãªã2022å¹´5æã«éè·ãããã®å¤ãããã³ãã³ã®Metaã«Senior Machine Learning Engineerã¨ãã¦è»¢è·ãããã¨ã決ã¾ãã¾ããï¼ããããâ('Ï')ããã®éç¨ã§ãæ±äº¬ããã³ãã³ãã³ã®Big Techåè¨5ç¤¾ãæ°ã¶æããã¦å¯¾çãã颿¥ã«è¨ãã ã®ã§ãããã§å¾ããã¦ãã¦ãããã§å ±æã§ãããã¨æãã¾ãã颿¥ãåããéã«NDAï¼Non Disclosure Agreementï¼ã«ãµã¤ã³ããã®ã§å ·ä½çãªé¢æ¥ã®è©³ç´°ã«ã¯è§¦ãããã¾ããããä¼ããããç¯å²ã§ã§ããéãè¨è¿°ãã¦ãã¾ãã ã¾ããMetaããæçµçã«æç¤ºããããªãã¡ã¼æ¡ä»¶ãæå¾ã«è¨è¼ãã¦ããã¾ãããªã«ã¶ãæ¥æ¬ã«ããã¦ã¯çµ¦ä¸ã®è©±ã¯çããããã¨ãããã¨ãããããã®é¨åã ãææ¥æ¬ã®æåã¨ã³ã¸ãã¢ã«å£ã£ã¦ææã«ãã¦ããã®ã§ããããèå³ã®ããæ¹ã¯æ¯éãè³¼å ¥ããã ããã°ã¨æãã¾ãï¼1ã³ã¤ã³åã®éé¡ã§
ã¯ããã« ã¿ã¤ãã«ã®ã¨ãããRDBã®ãã¼ã¿ã¢ããªã³ã°ã»ãã¼ãã«è¨è¨ãè¡ãéã«åèã«ãã¦ããèãæ¹ã¨é¢é£è³æãã¾ã¨ãã¾ããã P.S. ãªãã¨æ¬è¨äºå ã§ããã¤ãåèã¨ãã¦æãããã¦ããã£ã¦ããå¢ç°ããã»ãã¨ãã ãããã»å¥¥éããã»ãã¼ã ãããããã³ã¡ã³ãããã ããã¨ãã§ãã¾ããã æ¬å½ã«ãããã¨ããããã¾ãã åæ RDBãæ¡ç¨ããã®ã¯äºå®ãç¡é§ãªãæ£ããè¨é²ãããã æ£è¦åããã©ã³ã¶ã¯ã·ã§ã³ãå¶ç´ã¨ãã¼ã¿æ´åæ§ åºæ¬çã«ã¯å§ãã«çæ³ã¨ãã¦éåè«ã»ãªã¬ã¼ã·ã§ãã«ã¢ãã«ã«åºã¥ãã¦æ£è¦åãèã(è«çè¨è¨)ãããã©ã¼ãã³ã¹ãªã©ã®ç¾å®åé¡ã«å¯¾ãã¦æãåããã¤ãã¦ãã(ç©çè¨è¨) å¶ç´ãæå¤§éå©ç¨ãã cf: âP91ã âP.29,41 âP56ã â5ç« âP347ï½ æ å ±ã¨ãã¼ã¿ ãã¼ã¿ï¼åãªãäºå®ã®å¤âãããæ°¸ç¶åãã¦èãããã®ãRDB æ å ±ï¼ãã¼ã¿ããçã¿åºãããæå³ãç®çã®ãããã®âRDBã
ããã«ã¡ã¯ãshirou(@r_rudi) ã¨ç³ãã¾ããã¢ã¼ããã¯ãã¨ããåã®éç¨ä¿ããã¦ãã¾ãã Alpaca Japanã§ã¯ã2021å¹´8æã«ãã¢ã«ãã«è¨¼å¸ãã¨ãã証å¸ãµã¼ãã¹ãã¯ããã¾ããã ãã®ä¸é£ã®æç« ã¯ãã¢ã«ãã«è¨¼å¸ã®è£å´ã®ã·ã¹ãã ããã®éçºä½å¶ãªã©ã«ã¤ãã¦è¿°ã¹ããã®ã§ãããªãã¹ã証å¸åéã«éãã説æãã¦ããäºå®ã§ãã®ã§ã証å¸ãµã¼ãã¹ãç«ã¡ä¸ãããã¨ãã¦ãã人ãã¡ã«ã¯ãã¡ããããã以å¤ã®æ¹ã«ãåèã«ãã¦ããã ãããããªæç« ãç®æãããã¨æã£ã¦ãã¾ãã ã¢ã«ãã«è¨¼å¸ã¨ã¯ã¢ã«ãã«è¨¼å¸ã®è©³ç´°ã¯ãã¼ã ãã¼ã¸ãã覧ãã ãããã¾ãã第ä¸ç¨®éèååå弿¥è ç»é²å®äºæã®ãã¬ã¹ãªãªã¼ã¹ã«ãããã¢ã«ãã«è¨¼å¸ããµã¼ãã¹ã®ç¹å¾´ãè¨è¼ããã¦ãã¾ãã å ¨ä½è¨è¨æ¹éã¾ãæåã«ãã¢ã«ãã«è¨¼å¸ãæ§æããã·ã¹ãã ã®å ¨ä½è¨è¨æ¹éã«ã¤ãã¦èª¬æãã¾ãã ãã¤ã¯ããµã¼ãã¹ vs ã¢ããªã·ãã¯è¨è¨ã¯2018å¹´ä¸é ããããã
DHHã® Dependency injection is not a virtue(2013) ã¨ããè¨äºã¯æåã§ãããã¡ããã¨ããæ¥æ¬èªè¨³ãæå¤ã¨ãªããããªã®ã§ãæ¸ãåºãã¦ã¿ã¦æã£ããã¨ãè¦ç´ãã¦ã¿ãã[1] Rubyã®ã¨ã³ã¸ãã¢ã®ä¸ã«ã¯ãä½ãèããã«ä»ã®ã¢ãã«ã®newãæ¸ãã¦ã人ã®å²åãå¤ãã¨ããï¼ã³ã¼ãã¬ãã¥ã¼æã®ãã¢ãªã³ã°ã«ããï¼ä½æããããã¾ã8å¹´åã®è¨äºãªã®ã§çµé¨ã®æµ ã人ã¯èªãã ãã¨ããªã人ãããã¨æãã該å½ããæ¹ã¯æ¯éèªãã§ã»ããã å ¨é¨èªãæéãç¡ã人ã¯è¦ç´ã¸. åæã¨è¨³æ In languages less open than Ruby, hard-coded class references can make testing tough. If your Java code has Date date = new Date(); buried in its guts,
失æããå¦ã¹ããã¨ã¯å¤ãããã¾ããä¾ããããèªåã®å¤±æã§ãªãã¦ãã失æãèå¯ãããã¨ã§æè¨ãå¾ããã¨ãã§ãã¾ããããã§ä»åã¯æåãªè¨è¨å¤±æäºä¾ãç´¹ä»ãããã®å¤±æãèå¯ãã¦ããããã¨æãã¾ãã ãã¤ãã®æ¿æ²»å®¶ãªããã¼ã»ãã¹ãã«ã¯æ°ã¯ãæè ã¯çµé¨ã«å¦ã³ãè³¢è ã¯æ´å²ã«å¦ã¶ãã¨ããã®è¨èãæ®ãã¦ãã¾ããããã»ã©ã®éå»ã®å¤±æã¨ãããã®ã¯è²¡ç£ãªãã§ããæ¬è¨äºã§ãéå»ã®æ´å²çãªå¤±æäºä¾ããæè¨ãå¦ã³ãããªãã®è¨è¨ãã¦ãã¦ã¨ãã¦æ´»ããã¾ãããï¼ï¼ ä»åç´¹ä»ãã失æäºä¾ã¯ ãã¤ã¢ãããªã¼ã¸ã§ã³ã·ã¼ããã«ã§èµ·ãã空ä¸éè·¯è½ä¸äºæ ã§ãã è¨è¨å¤æ´ã«æ½ããªã¹ã¯ãèãã¦ã¿ãã äºä¾èª¬æã®åã«ãã¾ãã¯åé¡ã§ããèãã¦ã¿ã¾ãããã ä¸å³ã®éè·¯ã¯ãæ±ã¨ã¯ãã·ã£ããããã§æ¯ãããã¦ãã¾ããå½åã¯âè¨è¨Aæ¡âã§é²ãã¦ãã¾ããããæ±ãé·ããããã¨ãæ½å·¥ãããã¥ãããã¨ãããæ±ãåå²ããâè¨è¨Bæ¡âã«å¤æ´ãã¾ãããããã§ãææã®
ãµã¼ãã¹çµäºã®ãç¥ãã ãã¤ãYahoo! JAPANã®ãµã¼ãã¹ããå©ç¨ããã ãèª ã«ãããã¨ããããã¾ãã ã客æ§ãã¢ã¯ã»ã¹ããããµã¼ãã¹ã¯æ¬æ¥ã¾ã§ã«ãµã¼ãã¹ãçµäºãããã¾ããã ä»å¾ã¨ãYahoo! JAPANã®ãµã¼ãã¹ããæé¡§ãã ããã¾ãããããããããé¡ããããã¾ãã
Wantedly Engineer blogã«æ¬éç¿ä¼è³æãé²è¦§åãã«åç·¨ãã¾ããï¼ ãã²ã覧ããã ããã¨å¹¸ãã§ãï¼ æ¬è¨äºã¯ã綺éºãªAPIéç¿ä¼@Wantedlyã®è³æã¨ãã¦ä½æããããã®ã§ãã åæã«ãã¡ãã®ã³ã¼ããåç §ãã¦ãã ããã ãã¤ã¯ããµã¼ãã¹ æµè¡ãã®ãã¤ã¯ããµã¼ãã¹ãä½ãããã®ã åã èªç±ãªè¨èªãArchitectureã§ãµã¼ãã¹ãç«ã¦ããã é害ã®å½±é¿ãé¨åç å¤åã«å¼·ã åå¥ããã㤠etc... ãã¤ã¯ããµã¼ãã¹åãããããã«ããããããã¨ãã¯å ¨ã¦APIã§è¡ã å é¨ã®APIã§ãã£ã¦ãå¤é¨ã«å ¬éã§ãããããªã¯ãªãªãã£ã®APIã使ãããããå ã«ãµã¼ãã¹ãä½ã£ã¦ãããã¨ãéè¦ APIGatewayã¨BFF API Gateway Pattern å ¬å¼ãµã¤ããã ãè¦ãç®ã¯ã¢ããªã·ãã¯ãå®è£ ã¯ãã¤ã¯ããµã¼ãã¹ã ä¸ç®æè¦ã«è¡ãã°å ¨ã¦ã®APIãè¦ã¤ãããã ç´°ããæ¨©é管çãå¯
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}