2023-10-01ãã1ã¶æéã®è¨äºä¸è¦§
ã¯ãã㫠海風ã¨ã«ã¹ã¿ããã nikkieã§ã⪠Apache Beamãªããã®ã触ã£ã¦ã¿ã¾ããããªãã¨ããã¼ã ï¼1⨠ç®æ¬¡ ã¯ããã« ç®æ¬¡ Apache Beamã¨ã®åºä¼ã ãªã¢çã«ç»å ´ããè±åèªã®æ°ãApache Beamã§éè¨ ã¹ã¯ãªãã åä½ç°å¢ ç¾æç¹ã®ç解ã¡ã¢ çµããã« Apache Beaâ¦
ã¯ããã« çããã®åå ããã°ãèªã¾ãã¦ããã ãã¦ã¾ããnikkieã§ãã PyCon APACãçµããã次ã®æ°ã«ãªãã«ã³ãã¡ã¬ã³ã¹ã®æºåé²ã§ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ YAPC::Hiroshima 2024 ã¿ã¤ã ãã¼ãã« ãã±ãã 移å & å®¿æ³ Perlã®çµé¨ãªããã©æ¥½ããã§ãï¼ å¦çâ¦
ã¯ããã« ã¤ãã«ã¨ããªã¼ã¡ãããå°ä¸æ³¢ã«1ï¼ãï¸ nikkieã§ãã ãã®è¨äºã¯ã¢ãã¡ã«æ¯ãåããããªã¢ã4話ã®ãã好ããã¤ã³ããèªã£ã¦ããã¾ãã ã§ãããç§ãã²ã¨ãã³ã¨ããªã¼ã¡ãããè¦ã¤ããã¨ä»ã¯è¦çã«å ¥ããªããªã£ã¦ãã¾ãå°ãããä»æã人ãããè¦ã¯ãâ¦
ã¯ããã« PyCon APAC 2023 ã«ã³ãã¡ã¬ã³ã¹2æ¥éãç²ããã¾ã§ããï¼ nikkieã§ãã 1æ¥ç®ã¯ã¹ãã¼ã«ã¼ã2æ¥ç®ã¯ã¹ã¿ãããã¦ãã¾ããã ãã®ã¨ã³ããªã¯ãã¿ã¤ãã«ãå ¨ã¦ã§ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ 好ãã¨ãå«ãã¨ãã¯ãããç·´ç¿ãã¦ãã¹ããæ¸ããããã«ãªããâ¦
ã¯ããã« ãµãã ããã nikkieï¼ãï¼ã§ãã PyCon APAC Day1ããã¼ã¯ãèãã«æ¥ã¦ãã ãã£ãçãã¾ããããã¨ããããã¾ããï¼ ç»å£å ±åã¯æ¹ãã¦ãä»åã¯çºè¡¨æºåã®è£è©±ã§ãã GPT-4ã¯ç§ãæãã¾ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ è±èªã®ã¹ãã¼ã«ã¼ãã¼ããã©ãæºåãâ¦
ã¯ããã« åãããé å¼µãã°... nikkieã§ãã ä»æ¥ã¯Day0ãææ¥ããPyCon APAC 2023ã«ã³ãã¡ã¬ã³ã¹ã§ãï¼ 15åï¼è±èªã§ï¼ãã¹ããæ¸ããããã«ãªãããã®ç¥è¦ãçºè¡¨ããã®ã§ããã話ããããã¨å ¨é¨ã¯15åã«ã¯åã¾ããªãã®ã§ã¨ã³ããªã«ãã¦ãã¾ãã 第2å¼¾ã¯ãâ¦
ã¯ãã㫠解å¤åå¡ããç²ããã¾ã§ããï¼ã²ã¼ã èªä½ã¯Twitterã¢ã«ã¦ã³ãã»ã©ä¸æ°å³ãããªãã¦ããã£ã... nikkieã§ãã ä»é±æ«ã¯PyCon APAC 2023ãç¾å¨ãã¼ã¯æºåã®çã£åªä¸ã§ãã ä»åã¯15åï¼è±èªã§ï¼ãã¹ããæ¸ããããã«ãªãããã®ç¥è¦ãçºè¡¨ããã®ã§ããâ¦
ã¯ããã« ããããã¬ãã¹ã³è¡ãã¼ããããã¼ï¼ ããï¼ï¼1 nikkieã§ãã Ansibleã«é¢ããã¤ã³ãããã®ãã°ã§ãã å æ¥ã®è¨äºã®ãããã¯ãèããä¸ã§èªã¿ã¾ããã ç®æ¬¡ ã¯ããã« ç®æ¬¡ ãAnsibleå®è·µã¬ã¤ã 第3çã 2-1 Ansible ã®ã¢ã¼ããã¯ã㣠2ã¤ã®ãã¼ã â¦
ã¯ããã« ããããã¬ãã¹ã³è¡ãã¼ããããã¼ï¼ ããï¼ï¼ nikkieã§ãã ãAnsibleã§ãããããã¨ã§ããªãããªãã¨ããæ°æ¥èãã¦ããå°ãã¿ã®ã¢ã¦ããããã§ãã Ansibleã®å®å ¨ã«ç解ã¯ããã¡ãã£ã¨å ããªã¨ããåå¦è ã¬ãã«ã§ãã®ã§ã伸ã³ããã«ãæ°ã¥ãã®éâ¦
ã¯ããã« 3話ãã¨ã£ã¦ãããã£ã nikkieã§ãã ãã®è¨äºã¯ã¢ãã¡ã«æ¯ãåããããªã¢ã3話ã®ãã好ããã¤ã³ããååã«èªã£ã¦ããã¾ãã 1å¹ã®åå ´å è¡ä¸æ ãã¶ã£åºãã£ã¦ãã¾ãããã®ããã°ã«ããã³ãã³æªææ¸â¤ï¸ãæ稿ãã¦ãã¾ããã3話ã«ãã¶ã£åºãã£ãç®æâ¦
ã¯ããã« å¤æ´ããããã³ã¼ããæ¸ããªãã®ã«ã½ããã¦ã§ã¢éçºã¨ãèãã¦ããã®ã§ãã 天使æ§1ããããªããããnikkieã§ã ããããããã¨æè¡æ¸ã夢ã®åä½ãæããããã¡ãããã¤æ¬ï¼ãã¡ãããã¤ã½ããã¦ã§ã¢è¨è¨å ¥éãï¼ï¼ å æ¥ï¼10/20ï¼ç¬¬7ç« ãä¾åæ§æ³¨å ¥â¦
ã¯ããã« ããã¹ã³ã¹ã³ã¹ã³ nikkieã§ãã å æ¥injectorã¨ããPythonã©ã¤ãã©ãªã触ãã¾ããã ããã¥ã¡ã³ãã®ä¾ããé¢ãã¦ãå°ãã ãé£æ度ãä¸ããç´ æ¯ãããã¦ã¿ã¾ããã ç®æ¬¡ ã¯ããã« ç®æ¬¡ ä¾åæ§æ³¨å ¥ãã¦ä½ãFizzBuzzã¢ã㪠åä½ç°å¢ injectorã«ããåâ¦
ã¯ããã« ã¿ãã£ã»ã¼ï¼ nikkieã§ã ã¿ã¤ãã«ãå ¨ã¦ã§ãã 10/27(é)ã»28(å)ã¯ææã§ãä¼ããã¾ããããï¼ ç®æ¬¡ ã¯ããã« ç®æ¬¡ 10/27(é) 12:05~12:20ã好ãã¨ãå«ãã¨ãã¯ãããç·´ç¿ãã¦ãã¹ããæ¸ããããã«ãªããã ã ãããªæ¹ã«åãã¦è©±ãã¾ãï¼ãªã¼ãã£â¦
ã¯ããã« ãã£ããæ©ãã¦ãããã1 nikkieã§ã Pythonã®dependency injectionãã¬ã¼ã ã¯ã¼ã¯ã®injectorãå°ãã ã触ãã¾ããã ç®æ¬¡ ã¯ããã« ç®æ¬¡ injector åä½ç°å¢ A Quick Example A Full Example çµããã« P.S. 10/20(é) 第7ç« ãä¾åæ§æ³¨å ¥ãã®ã¡ããâ¦
ã¯ããã« ããªã·ã¿æ°ã¤ããä¸æ°å³ããããã... æãã®ã¬ãã§ãã¡ãªnikkieã§ãã Kubernetesã®Podã®Probeã«ã¤ãã¦ç¥ã£ããã¨ã®ã¾ã¨ãã§ãã ãä¼¼ããããªãã®ã3ã¤ãããªã¼ããããã®èªèããå§ãã¦ã1ã¤1ã¤ãã©ããã£ããã®ããå®å ¨ã«ç解ãã¾ããï¼ ç®æ¬¡ â¦
ã¯ããã« æªæ¥ã¡ãã¨éé¦ã¡ããã赤ã¨éãnikkieã§ãã 以åæ¸ããè¦ç´ã®è©ä¾¡ææ¨ã«ã¤ãã¦ãæãã¬ã¤ãªããã«æ°ã¥ãããã¨ã綴ã£ã¦ããã¾ã ç®æ¬¡ ã¯ããã« ç®æ¬¡ è¦ç´ã¿ã¹ã¯ã®è©ä¾¡ææ¨ Perlã¹ã¯ãªããã®é¢å½± BLEU ROUGE çµããã« è¦ç´ã¿ã¹ã¯ã®è©ä¾¡ææ¨ ä»¥åBEâ¦
ã¯ããã« 2話ããã£ã¡ãããã£ã nikkieã§ãã ãã®è¨äºã¯ã¢ãã¡ã«æ¯ãåããããªã¢ã2話ã®ãã好ããã¤ã³ããååã«èªã£ã¦ããã¾ãã 1å¹ã®åå ´å è¡ä¸æ ãã¶ã£åºãã£ã¦ãã¾ãããã®ããã°ã«ããã³ãã³æªææ¸â¤ï¸ãæ稿1ãã¦ãã¾ãããã¶ã£åºãã£ãç®æã®1ã¤ãâ¦
ã¯ããã« ãããã¨ã夢è²ä¹å¥³1ï¼ã10/19(æ¨)ï¼ãããã¦å§ã¾ã£ãè±æ´²ããã¦ã£ã³ï¼ nikkieã§ãã ã¿ã¤ãã«ãå ¨ã¦ã§ãï¼ ãã1é±éåã«ãªããã§ãããDjangoCongress JP 20232ã§ç»å£ãã¾ããã ç®æ¬¡ ã¯ããã« ç®æ¬¡ Djangoã¢ããªã«ä½ãè¾¼ãã§å¦ã¶èå¼±æ§ï¼SQLã¤ã³â¦
ã¯ããã« ãã¹ã¯ãªãã¿å®å ¨ã«ç解ããï¼ nikkieã§ãï¼â»ã¨ã³ã¸ãã¢ã®"å®å ¨ã«ç解ãã"ã¯ããåãããªããªããã¤ã§ãï¼ å æ¥ã®ã¿ããªã®Pythonåå¼·ä¼#98ã®LTããã£ããã«èå³ãæã£ããã¹ã¯ãªãã¿ã«ã¤ãã¦ç´ æ¯ããã¾ããã â»è§¦ãå§ãã§æ·±ãç解ã¯ããããã§ããâ¦
ã¯ããã« éªç¥åªåãããªãã£ã... ãã©ãã£ã¡ãããã£ãï¼ nikkieã§ãã ã¿ããªã®Pythonåå¼·ä¼#98ããåå ãããã¨ããããã¾ããã ãã¦ããªã³ãµã¤ãã«ã³ãã¡ã¬ã³ã¹ãæ»ã£ã¦ãã¾ããï¼ ãããã¼ã¶ã«åºããããªã¨æ°ã«ãªã£ã¦ããã«ã³ãã¡ã¬ã³ã¹ãèªåç¨ã«ã¾â¦
ã¯ããã« ãããã¯å ¨ç¶åãã£ã¦ãªããã§ããããªããã¾ãéªç¥åªåããããããï¼ 12æ¥å¤ã¯stapyã§ãç¥ãé¨ãï¼ nikkieã§ã 次åstapyã«åãã¦äºç¿ãã¾ãã ç¦ç°ããã®EuroPython 2023ã®ãã¼ã¯ãèãã¾ããã â»ãäºç¿ãã¨æ¸ãã¦ãã¾ãããç¦ç°ããã®stapyçºè¡¨â¦
ã¯ããã« 10/12(æ¨)ã®ã¿ããªã®Pythonåå¼·ä¼#98ããç¥ãé¨ãï¼ãã²ï¼ï¼ nikkieã§ãã å æ¥DjangoCongress JP 2023ã§ç»å£ãã¾ãã1ï¼ç»å£å ±åã¨ã³ããªã¯æ¹ãã¦ï¼ã èå¼±æ§ãä½ãè¾¼ãã Webã¢ããªãDjangoã§å®è£ ãããã¼ã¯ã®æéã¯èªä½ããããµã¤ãã«ã¿ããªã§ä¸â¦
ã¯ããã« ãã¼ãã¨Pã¨å¿æ´ä¸æ ãä¸ç·ãããã楽ããã£ããï¼ï¼ nikkieã§ãã ã¨ããªããããããããããããï¼ï¼ï¼ï¼ï¼â»å¿ã®çµ¶å«ï¼ Sphinxã®ãã¹ãã«é¢ãããã¿ã§ãã Sphinxæ¡å¼µã®ãã¹ãããªãã¡ã¯ã¿ãªã³ã°ãããã¨æãå§ããã®ã§ãããããããèªåã§æ¸ãâ¦
ãªãªã¼ã¹å ±åã¨ã³ããªã§ãã ãsphinx-new-tab-linkã¨ã¯ãªãã ãããã¨ããæ¹ã¯ã以ä¸ã®è¨äºãã¾ãã©ããï¼ ç®æ¬¡ ç®æ¬¡ sphinx-new-tab-link 0.2.0 dirhtmlãã«ãã¼ããµãã¼ã ãã«ãªã¯ã¨ã¹ãããããã ããã®ã§ãï¼â¤ï¸ çµããã« sphinx-new-tab-link 0.2.0 diâ¦
ã¯ããã« DjangoCongress JP 2023ã1æ¥ãããã¨ããããã¾ããï¼ nikkieã§ãã ãã¼ã¯ãããDjangoã¢ããªã«ä½ãè¾¼ãã§å¦ã¶èå¼±æ§ï¼SQLã¤ã³ã¸ã§ã¯ã·ã§ã³ã¨XSSç¯ï¼ãã«ã¤ãã¦å»¶é·æ¦ã³ã³ãã³ãããå±ããã¾ã ç®æ¬¡ ã¯ããã« ç®æ¬¡ ãã¼ã¯ãDjangoã¢ããªã«ä½ãè¾¼â¦
ã¯ããã« ããªã¢ãTVæ¾éã¾ã§39æéåã£ãï¼ nikkieã§ãã ã¿ããªã¼ãæ¥ææ10æã¯ããªã¢ãã§ããã ä»åã¯Sphinxæ¡å¼µã«é¢ããã¡ã¢æ¸ãã§ã ç®æ¬¡ ã¯ããã« ç®æ¬¡ sphinx-new-tab-link åå¨ãç¥ã£ã便å©ãããªSphinxæ¡å¼µ sphinx-copybutton sphinx-hoverxref â¦
ã¯ããã« ç´èã¡ããããèªçæ¥ããã§ã¨ãï¼ nikkieã§ãã ç´è¿ã®ãã¡ããããè¨ã§ãã Response Templatingãå ¨ç¶åããªããã¨ããã£ã¦ã¾ããã ç®æ¬¡ ã¯ããã« ç®æ¬¡ wiremock-docker wiremock-dockerã§ãResponse Templatingã ãªã¯ã¨ã¹ãã®è¨å® ã¬ã¹ãã³ã¹â¦
ç°¡ç¥çã§ãéããã¾ãã ãã£ã¨ããããæ¹ããåãã®æ¹ã¯ãã²æãã¦ãã ããï¼ ç®æ¬¡ ç®æ¬¡ 宿é¡ï¼èªåã§migrateãã¦ããrunserverããç¶æ ã«ããã migrateããrunserverã¾ã§ãã¾ã¨ããentrypoint.shãä½ãï¼ entrypoint.sh Dockerfileï¼å·®åï¼ docker-composâ¦
ã¯ããã« ç¥ã»å£®ç¥çºã³ã©ã è±å½ã³ã©ãããã£ã¨ããããï¼ nikkieã§ãã DBã ãã§ãªããDjangoã¢ããªãdocker compose upã§åããã¨ãããã¼ãã«åãçµã¿ã¾ããã ã¾ã ã¾ã çªãè©°ããããä½å°ãããã®ã§ãããä¸åº¦ã»ã¼ããã¤ã³ããä½ãã¾ã ç®æ¬¡ ã¯ããã« ç®â¦
ã¯ããã« Star Impressionãã«ãã³ãããã... nikkieã§ãã ã¿ã¤ãã«ãå ¨ã¦ãã¯ã¼ã¯ã·ã§ããããã¾ãã ç®æ¬¡ ã¯ããã« ç®æ¬¡ å°ããªãã¯ãã«ã«ãã©ã¯ãã£ã¹ã®ã¯ã¼ã¯ã·ã§ãã è³æé¡ ãã¢ãã¾ãã¨ããã¾ãã Sphinxã§è³æä½æãä»å試ããæ¡å¼µ çµããã« å°ãâ¦