Perl
ãã®è¨äºã¯Perl Advent Calendar 2025 15æ¥ç®ã®è¨äºã§ãã YAPC::Fukuoka 2025éå ¬å¼ãªã¸ã§ã¯ãã³ã³ãéå¬ãã¾ãã smarthr.connpass.com SmartHRããã«ä¼å ´ã貸ãã¦ããã ããç§ãæå±ããã«ã¤ãã¯ã¨å ±å¬ã¨ããå½¢ã§ãªã¸ã§ã¯ãã³ã³ãè¡ãã¾ããã ããã®çºç«¯â¦
ããã«ã¡ã¯ãããããã§ãããæè¿ä½ããããããªã®ã§è¯ãæ´ä½ãæ¢ãã¦ããã¾ããå·å´è¿è¾ºã§ãé¡ããã¾ãã ãã®è¨äºã¯ãPerl Advent Calendar 2019ã®14æ¥ç®ã®è¨äºã§ãã13æ¥ç®ã¯omokawa_yasuããã®Tie::Fileã§å¤§å®¹éãã¡ã¤ã«ãå¦çãã - Qiitaã§ãããä»åâ¦
arukas.io ããã§ github.com ãåãã話 è¦ç´ã¨è¨ããææ³ Arukasã¯ç°¡åã ããã©ããã®è£è¿ãã§å¶éãå³ãã private registryã«ã¯ã¾ã 対å¿äºå®ç¶æ ã ã¨ã VPNã£ã½ãä»çµã¿ããªãã¨ã kuiperbeltãæ³å®ãã¦ããç°å¢ã§ã¯ãªã ç¹å®ã®ã³ã³ããã«å¯¾ããéä¿¡ããâ¦
è¦ç´ WebSocketãããæãã«æ±ã£ã¦ãããããã«ã¦ã§ã¢kuiperbeltã®Dockerfileãä½ã£ã Docker対å¿ã®ããã«å¹¾ã¤ãã®äºæããã£ã ãªãã·ã§ã³ãç°å¢å¤æ°ã§æ¸¡ããããã«ããã¨ã ãã¨ã¾ããããããã£ã çµç·¯ YAPC::Okinawaã§çµæ§å¤§ã çã«å®£ä¼ããã(ã¤ãã)ãªâ¦
è¦ãç®ãè¯ããªãããã«ã¿ã¤ãã«ãå»å¹´ã¨çµ±ä¸ãã¾ãããã©ãããã³ãã¼ã§ããä»å¹´ãYAPC::Asia 2013ã«ãã£ã¦ãã¾ãããã¡ãã£ã¨ã¼ã£ã¡æ°å³ã ã£ãå»å¹´ã¨ã¯éã£ã¦ãHachioji.pmã®äººãã¡ã¨ãã¨ã¯ã¤ã¯ã¤ãã£ã¦ã¾ãããã¯ã¤ã¯ã¤ã¡ãã£ã¨é·ããªã£ã¦ãã¾ã£ãã®ã§ãâ¦
ã¦ãã¹ããã³ãã¼ã§ããã³ã¬ãªãªã¼ã¹ãã¾ãã ââââââââââââââââ Nephia::Plugin::Teng - Simple ORMapper Plugin For Nephia - metacpan.org ââââââââââââââââ ã¦ãã¹ï¼ï¼ï¼ï¼ï¼ï¼ï¼ï¼ãªãã¨ããããã·ãã¼ãã·ã¹ã«ããããã«ãè¶ è»½éãªã¼ã¢ã«ãããã¼ã§ããâ¦
ã©ãããã³ãã¼ã§ããåã°ãããã§ããNephiaã¨ããã¦ã§ããã¬ã¼ã ã¯ã¼ã¯ã@ytnobodyãããä¸å¿ã«Hachioji.pmã®æ¹ã ã¨ã§ä½ã£ã¦ããã¨ããã®ã¯ä»¥åã®è¨äºã§è©±é¡ã«åºããã®ã§ããããªããæè¿æ¹åæ§ãã¯ã£ãããã¦ããã¨ããããããããã¦ã¼ã¶ãã»ããã®ã§ä¸â¦
ã©ãããã®ã£ããã®ã£ãããã©ããããã³ãã¼ã§ãã æè¿å¼ç¤¾ã§ã®å½±ãèããªã£ã¦ããã¾ãããã¦ãããä¸ã¤ã®æè¿ã§ããã@ytnobodyãããä¸å¿ã«éçºããã¦ããNephiaã¨ããminiããã¬ã¼ã ã¯ã¼ã¯ã触ã£ããæ¹é ãããã³ãããããããã¦ãã¾ããã³ã¢ããããâ¦
ã¯ããã©ããã ããã£ã¨DB使ã£ããã¹ããæ©ãããã¼ããã¨ãããã¨ã§ããããã試ãã¦ã¿ã¾ãããDBã§æ©ããã -> ã¤ã³ã¡ã¢ãªãã¼ã¿ãã¼ã¹ï¼ï¼ ã£ã¦æãã§ç絡çã«èãã¦ããããã¢ããã¼ãã§ãã ã¨ããããMySQLã§MEMORYã¹ãã¬ã¼ã¸ã¨ã³ã¸ã³ãªããã®ã使ãâ¦
# HashRefãè¦ç´ ã«ãªã£ã¦ããArrayRefãä½ã my $milkyhomes = [ { foo_id => 1, name => 'ã·ã£ã' }, { foo_id => 2, name => 'ãã' }, { foo_id => 3, name => 'ã³ã¼ããªã¢' }, { foo_id => 4, name => 'ã¨ãªã¼' }, ]; # ãªãããããããããããã³ãã¼â¦
å®ã¯ã¯ã¡ã´ã¼2åç®ã§ãããã³ãã¼ã§ãããããªããã§Hachioji.pm #27 : ATNDã«ãã£ã¦ã¾ããã¾ããã
ã¯ãããã³ãã¼ã§ãããã³ãã£ã§ãã¾ã£ãããã¾ãã¾ãããPerlCasual #5ã«è¡ã£ã¦ãã¾ããã ã·ã¼ãã³çãµã¼ã«ãã¾ãã¾ãªã£ã¦ãã¾ã£ãã¨ã¯ããåã¯ã¾ã ã¾ã ä½ãå´ã§ã¯ãªã使ãå´ã®èº«ã§ãããã¨ãå¤ãã®ã§ããä»ã®äººã®Perlã¢ã¸ã¥ã¼ã«ã®ä½¿ãæ¹ãã¿ãããªã®ã¯è¶ â¦
ããã¯ãããã³ãã¼ã§ããæè¿éº»éã«ããã£ã¦ãã¾ãããããªãããªãã§ãããã©ãæè¿MongoDBãåãé¢ãã£ã¦ããæ¡ä»¶ã«å°å ¥ãã¾ãã¦ãããã¤ã§è§£æããããã¨æã£ããããªãã§ãããPerlã§MongoDBãæ±ãããã®ã¢ã¸ã¥ã¼ã«ãããã¤ããã£ã¦ãMongoDB - A Mongoâ¦
ã¯ããçãããè¦ã¦ããªãã§ãããæéã«ããã°ãã¯ãã³ãã¼ã§ãããªããDateTime::Tinyã£ã¦ããã¢ã¸ã¥ã¼ã«ãã²ãããªãã¨ããè¦ã¤ããã®ã§ããã¤ãã³ãã«éããããã®ãã¨æã£ã¦èª¿ã¹ã¦ã¿ã¾ããã ä½ãããã®Webã¢ããªä½ãã«ãã¦ãæéãæ±ããã¨ã¯å¿ é ã«è¿â¦
ã¯ããã©ããããã³ãã¼ã§ããæè¿ä¸å¦çã¨è¨ããã¦æ°ã«ãã¦ããã¾ããããæ¬æ¥id:hisaichi5518ã«ãå°å¦çã¿ãããã£ã¦è¨ããã¾ãããè¨é²æ´æ°ã§ãã Kageã£ã¦ Perlçã®ããã¯ã¹ã¿ã¼ã§ããæè¿ã¯ããããã£ã¹ããªã©ã§è©±é¡ã®miyagawaãããæ¸ããããããããâ¦
ã¾ããã©ããããä¸è©±ã«ãªã£ã¦ããã¾ããååºãè¦ããã¨ã¡ãã£ã¨ãåãé¢ç½ãåºæ¥ã¦ãã¾ããããã¨èªåãã¦ãã¾ãã¾ããã©ãããã³ãã¼ã§ãããã¦ããªãã§æ¨æ¥GitHubãªããã®API使ããã¿ãããªãã¨æ¸ãããã¨ããã¨ãæ°ããããã¡ãã使ã£ã¦ã¿ããã¨æã£ã¦ãâ¦
ã©ãããGitHubAPIã§ãã«ããã«ãããã«ã¯OAuthãçªç ´ããªãã¨ãããªããã§ãããã©ãéWebApplicationãããã¯ç®¡çè ã®ãã¼ã¯ã³ã§ããããµã¼ãã¹ããããç¯å²ã§ããã°ä¸ååã£ããOKãªã®ã§ãã¦ãã¨ã¼ã«tokenåã£ã¦ããã¤ãä½ã£ã¦ã¿ããã¨ã¾ããConfig::Pitâ¦
ã¯ããç¶ãã¾ãã¦ãã©ãããã³ãã¼ã§ãããããªããã¹ãæã¨ãããããããªæããªã®ã§ãããããå¦ãã§ãã¾ããã§ãåã¯JSON APIãªãããçµæ§èªç±ã«ä½ã£ã¦ããã®ã§ããããã®ã¬ã¹ãã³ã¹ããã¾ããã¨ãã¹ãããããªãã¨ã { entry => [ { hoge_id => 1, card â¦
ããªããã£ã±ãã§ããã©ãããã³ãã¼ã§ããTest::Deep::Between - Number is the range expected - metacpan.orgä¸ããã°ã£ããªã®ã§ã¾ã 0.01ã§ãããã®ãã¡0.02ã«ãªãã¨æãã¾ãã Test::Deep::Betweenã¯Test::Deepã¨åããã¦ä½¿ããå¤åãã§ãã¯ãè¡ãã¢ã¸ã¥â¦
ãã®ã¾ã¾ã§ããmackee/p5-Test-Deep-Between · GitHubä½¿ãæ¹ use Test::Deep; use Test::Deep::Between; cmp_deeply { hoge => 5 }, { hoge => between(4,10) }; ã¿ãããªãany(4,10)ã§ãã§ããããã©ãæ´æ°ãããã§ãã¯ã§ããªããæ°åã大ãããªãã¨é åã§â¦
ã©ãããæ¥ã ããªããªãã¦ã¾ããã@mackee_w/ãã³ãã¼ã§ãããã®è¨äºã¯Hachioji.pm #25ã®çºè¡¨è³æãå ¼ãã¦ãã¾ãã ãã¹ãã¯ããããªãï¼ ãã¶ãã¿ãªããã¬ããã¹ã¿ã¼ã§ä»¥ä¸ã®ãã¨ã¯å¸¸èã¨ãããããã¯ï¼ãã¨æãããã®ã§ã¯ãªããã¨æ³å®ãã¾ããæ¸©ããç®ã§è¦â¦
ãã¯ãããããã¾ãããã³ãã¼ã§ãããã¦ãæ¨æ¥ ISUCON2 ãªãä½ã§ãããã®Webã¢ããªã±ã¼ã·ã§ã³ãã¥ã¼ãã³ã°ã¤ãã³ãã«åå ãã¦ãã¦ã¾ããã詳細ãå ¨ä½ã®æ§åã¯ä»¥ä¸ã®ãªã³ã¯ããã©ãããlivedoor Techããã° : #isucon2 ãªã¢ã«ã¿ã¤ã ãã©ãã¬ãã¼ã æ´æ°çµäºâ¦
ISUCONãããã¨ããã®ã«ISUCONåãããã¨ãè¨ã£ã¦ãã®ã§ãå¤åé度足ããªãã¨ãããããè¦å ãããã§ãããããã©ãã¾ã飽ããã®ã§æ°ããã¢ããªãMaltsã£ã¦ããid:hisaichi5518ããã®ä¿ºå¾ãã¬ã¼ã ã¯ã¼ã¯ã§æ¸ãå§ãã ã¨ã¯ãã俺å¾ãã³ã³ã»ãããããã®ã§ããâ¦
ã¡ãã£ã¨æ¸ããã¨æã£ã¦ããã㨠- ã±ãã±ãã«ã£ãã§Sub::Decoratoræ¸ããã¨ãè¨ã£ã¦ããã§ãããã©ããåããAttribute::Handlersã¨ãSub::Attributeã§åºæ¥ããã¡ããããã¨ãããã¨ã§ãã£ã¦ã¿ãã package AttrStopwatch; use strict; use warnings; use uâ¦
ãããã調ã¹ã¦ãªãã®ã§ããããã®ãããããªããã ãªããPerlã®æµåã«æ²¿ã£ã¦ãªããããããªããã§ãããã©ã Pythonã«ãã£ã¦Perlã«ãªããã®ã£ã¦ããã°ã£ã¦ãã¨ã§ã package MyApp::Util::Decorator; use strict; use warnings; use Sub::Decorator; use Tiâ¦