
static linkããã«ããã£ã¦ã®åæ©ã諸注æï¼ãã¡ãããã®ã§å¿ èªï¼ã¯ [twitter:@sonots] ããã® mysql2 gem ã mysql5.6 ã® libmysqlclient.a 㨠static link ããã話 - sonots:blog ãåç §ãã¦ãã ããã ããã§ã¯DBD::mysqlããã«ãããéã®ãªãã·ã§ã³ã®ã¿è¨ãã¾ãã http://dev.mysql.com/downloads/mysql/ ãããã¦ã³ãã¼ãã§ããrpm MySQL-client-5.6.21-1.el6.x86_64.rpm MySQL-devel-5.6.21-1.el6.x86_64.rpm MySQL-shared-5.6.21-1.el6.x86_64.rpm ã®å ´åã $ ldconfig -p | grep libmysqlclient libmysqlclient.s
<html> <head> <title>PerlGuts Illustrated</title> <!-- Generated, do not edit! Edit index-work.html instead --> <style> span.i58, span.i510 {display: inline;} img.i514, div.i514 {text-align: center;} img.i58, img.i510, img.i514, img.i518 {border: none;} </style> <script type="text/javascript"> function Toggle(id) { //<![CDATA[ var ele=document.getElementById(id); if (ele.style.display=='inline') {
ä»åã®ãé¡ foo.so ã«å«ã¾ãã¦ããé¢æ° void func(void) ãPerlããå¼ã³åºãã ãããã¿ã¤ã宣è¨ã®éããå¼æ°ã¯åããªããæ»ãå¤ããªãï¼ãããã¯è¦ãªãï¼ã ããããã¯ããã¤ããã£ã¦ã æ®éãªãXSã¢ã¸ã¥ã¼ã«ãæ¸ãã¦å¯¾å¿ããã ãã ãã®ã·ã³ãã«ãªç®çã®ããã«XSã¢ã¸ã¥ã¼ã«ãæ¸ãã®ã¯ãããã大è¢è£ãããã ããå°ãç°¡åã«ãããã¨æã㨠Inline::C ãå©ç¨ããã ããã§ãå¥ã«æ§ããªãã£ãã®ã ãã©ãä»åã¯ãã®Perlã¹ã¯ãªãããã»ã¼åæã«ä¸¦åèµ·åããå¯è½æ§ããããã³ã³ãã¤ã«ãå¤éã«èµ°ãã®ãé¿ãããã ã¨ãããã¨ã§ãã¡ãã£ã¨çããã¢ããã¼ãã¨ãã¦XSã¢ã¸ã¥ã¼ã«ã®ãã¼ã¹ã«ä½¿ããã¦ããDynaLoaderã¢ã¸ã¥ã¼ã«ãç´æ¥ä½¿ã£ã¦ã¿ããã¨ã«ããã DynaLoaderã¨ã¯ï¼ Perlã§æããããã³ã¢ã¢ã¸ã¥ã¼ã«ã§ã*.soãã¡ã¤ã«ããã¼ããããã®ä¸ã®ã·ã³ãã«ãã¢ã¸ã¥ã¼ã«åå空éã«
XSã使ã£ã¦ã¿ããï¼ã¤ãã§ã«C++ãåå¼·ãããï¼ã¨ããããä»æ¥ã¯Shibuya.pm #9 ã®XSãã¼ã¯ãä½åãè¦ã¦ã¿ãï¼ PerlããXSã®ä¸çããªããã¦ã¿ã ã¾ãã¯ï¼PerlããXSã®ä¸çããªããã¦ã¿ãï¼æ´æ°å¤ã¯ä¸åº¦æåååããã¨æåå表ç¾ããã£ãã·ã¥ãããï¼Devel::Peekã§XSã¬ãã«ã®æ§é ä½ããã³ãããã¨ããããï¼ ã³ã¼ã #!/usr/bin/env perl use strict; use warnings; use Perl6::Say; use Devel::Peek; my $x = 100; say Dump $x; "$x\n"; # æååå say Dump $x; å®è¡çµæ SV = IV(0x80cebc) at 0x800b88 REFCNT = 1 FLAGS = (PADBUSY,PADMY,IOK,pIOK) IV = 100 SV = PVIV
This document provides tips and tricks for optimizing mod_perl performance. It discusses measuring Apache child process memory sharing to identify optimization opportunities. Key recommendations include spawning child processes during Apache startup instead of on request, and tuning configuration settings like MaxRequestsPerChild to control process recycling.Read less
Sub::Retry ã¯ã¯ã¼ã«ã§ã¯ã¬ãã¼ãªã¢ã¸ã¥ã¼ã«ãªã®ã§ãããretry ã®æ¡ä»¶ã exception ã®ã¿ã§ã¡ãã£ã¨æ²ããã£ãã®ã§ãretry æ¡ä»¶ãã«ã¹ã¿ãã¤ãºåºæ¥ãããã«ãã¦ã¿ã¾ããããã§ã«åãè¾¼ã¾ãã¦ã0.03 ã¨ãã¦ãªãªã¼ã¹ããã¦ãã¾ãã Sub-Retry-0.03 - FrePAN ã¦ã¼ã¹ã±ã¼ã¹ ã¨ãã¦ã¯ãCache::Memcached::Fast ã¨ã㧠set ã¨ã get ã«å¤±æããã¨ãã« retry ããã¨ããæãããã¾ãã 第ï¼å¼æ°ã« coderef ãæå®ãããã¨ã§ãretry æ¡ä»¶ãå¤ãããã¾ãã retry ãããã¨ãã¯ãtrue ãè¿ããããã§ãªãå ´åã¯ï¼ã¤ã¾ããæåããå ´åã¯ï¼false ãè¿ãããã«ãã¾ããdefault 㯠以åã®æåã¨åãã§ãã coderef ã®å¼æ°ã¯ return value ã¨åããªã®ã§ããã®çµæå¦ä½ã§å¦çãåãæ¿ãããã¨ã
åæç¥è Perl5 㯠minor version éã§ã¯ãã¤ããªäºææ§ãä¿è¨¼ããã¦ãã Perl5 ã® minor update ã§ã¯ãbug fix ããåºæ¬çã«è¡ãããªã Perl5 Porters ã®ä¿å®çã度åãã¯ä¿¡ç¨ã§ãã perlbrew ã§ã»ããã¢ããããã¨ãã«æ°ãã¤ããã㨠ã¤ã³ã¹ãã¼ã«åãããã©ã«ãã® perl-5.16.3 ãªã©ã¨ãããperl-5.16 㨠minor version ãå«ããªãããã«ããã ä¾: perlbrew install perl-5.16.2 --as perl-5.16 ã»ãã¥ãªãã£ãã£ãã¯ã¹ãã§ãå ´åã®å¦ç chromaticã®è¨äºã§ç¥ã£ãã®ã ããperlbrew ã«ã¯ upgrade-perl ã¨ããã³ãã³ãããããææ°ã®ãã¼ã¸ã§ã³(ãã¤ãã¼ã¢ãããã¼ãã®ã¿)ã«ã¢ããã°ã¬ã¼ããããã¨ãç°¡åã«ã§ããã perlbrew upgrad
Perlã§ã³ãã³ãã©ã¤ã³ãªãã·ã§ã³ãparseãããã¨æãã¨çµè¾¼ã¿ã¢ã¸ã¥ã¼ã«ã¨ãã¦ã¯ Getopt::Std 㨠Getopt::Long ããããããlong style option *1 ã¤ã¾ã --option-name ã®ãããªãªãã·ã§ã³ã解éãã¦ãããã®ã¯ Getopt::Long ã ãã ããªã®ã§æ®éã¯ãã¡ãã使ããã ãã ã 絶対ã«ããã©ã«ããã¤ã¾ã以ä¸ã®ããã«ãã¦ä½¿ã£ã¦ã¯ãããªãã use Getopt::Long; my (@primary, @secondary, $silent); GetOptions( "server-primary|p=s" => \@primary, "server-secondary|s=s" => \@secondary, "silent|S" => \$silent ); ãããã¡ï¼ 絶対ãã¡ï¼ æ»ã¬ï¼ æåã«çµè«ãæ¸ã å¿ ã以ä¸ã®ããã«
注ï¼æ¬ç¨¿ã¯ã¾ã æ¸ãããã§ãï¼æ¸ãããã§ãï¼ã¾ã ä¸è¬ã«ç¥ãããããã¨ããåã«ãã¯ãããã¾ããï¼ï½ ééãã®ææãã³ã¡ã³ãç㯠lestrrat @twitter ã«ãã ããï¼ Perlç°å¢ã®è¨å®æ¹æ³ã¯ããæ°å¹´ã§å¤§ããé²åããå¤ãã£ã¦ãã¾ãããããã§ã¯ã¢ããªã±ã¼ã·ã§ã³ã®ãããã¤ãè¦æ®ãããã¢ãã³ãªperlç°å¢ã®æ´ãæ¹ãç´¹ä»ãã¦ããã¾ããå ·ä½çã«ã¯perlæ¬ä½ãå¤é¨ã¢ã¸ã¥ã¼ã«ã®ã¤ã³ã¹ãã¼ã«æ¹æ³ã解説ããã®ã¡ãPerlã使ã£ãã¢ããªã±ã¼ã·ã§ã³ã管çã»éç¨ãã¦ããéã«ä¾åé¢ä¿çã¯ã¢ããªã±ã¼ã·ã§ã³æ¯ã«ç®¡çã§ããããã«ãã¦ã°ãã¼ãã«ç°å¢ã«å¯è½ãªéãå¹²æ¸ããªãæ¹æ³ãç´¹ä»ãã¾ãã ç®æ¬¡ 1.1 Perlæ¬ä½ã®ã¤ã³ã¹ãã¼ã« 1.2 ä¾åã¢ã¸ã¥ã¼ã«ã®ç®¡çã»ã¤ã³ã¹ãã¼ã« 1.3 Cartonã«ããã¢ããªã±ã¼ã·ã§ã³ã®å®è¡ç°å¢ã®æ§ç¯ tl;dr æ¬ç¨¿ãèªãåã«ãã¤ã³ãã ãç¥ãããï¼ã¨ããæ¹åãã®ã¾ã¨ãã§ãï¼ OSã«å
éçºã¡ã¢ãã®3ã§ããä»å㯠Perl ã®ãã¯ãªãã ä½å¹´ãåã«ä½ã£ãã¦ã§ãã¢ããªã±ã¼ã·ã§ã³ã®ã³ã¼ããéãã¦ã¿ããé»æ´å²ãªã³ã¼ããåºã¦ãã¦æ鬱ãªæ°åã«ãªãããããªçµé¨ããã¾ããããç§ã¯ããã¾ãããã£ã¨ãããªç¾å®ããç®ãèãã¦çãã¦ãã¾ããã ãã¦ãå æ¥ Perl + CGI ã§æ¸ã㦠Apache::Registry ã§é«éåãã¦ãããå®è¡ç°å¢ã Apache ã«ççãã CGIã¢ããªã±ã¼ã·ã§ã³ãçºè¦ãã¾ããããããã£ãä¸ããä½ãç´ãããæ°æã¡ããã£ã¨å ªãã¦ãããã Plack åãããã¨ãªãã©ã¼ã ãã¦ããã¨ãã¾ãããããã®éç¨ã以ä¸è¨ãã¾ããåçããã©ã¢ã»ã¢ãã¿ã¼! ・・・ã¨ãã¯æå¾ ãããå°éãªå¤æ´ãç©ã¿éãã¦ããã®ãã³ãã§ãã æ¹é ãããªãã³ã¼ããããããæ¸ãæãã¦ããã¨ããããã¯ã試è¡é¯èª¤ã®ããããç°å¢ã«ç§»è¡ããã¦ãããªãããªãã©ã¼ã ãé²ãã¾ããé åãã§ãããçµæçã«ãã®å¾ã®éç¨ã楽
Amon2 㧠bootstrap ãæ示çã«ãã¶ã±ã¼ã¹ Amon2 㧠bootstrap ãã¦ããã®ã¯ãdbh ãªã©ã®ãªã½ã¼ã¹ã®ãã£ãã·ã¥ã®ããã¨ããã®ã大ããã§ãã ã§ããããç¡éã« bootstrap ã¡ã½ããããã³ã¾ããã¨ãããããã¨ã«ãªãã¾ãã bootstrap ããç®æã¯ä»¥ä¸ã®ãããªå ´åã§ãã ã¹ã¯ãªããã®é ã¸ã§ãã¯ã¼ã«ã¼ã®ã¸ã§ãåä½ã®éå§æ Web ã®1ãªã¯ã¨ã¹ããã¨(ãã㯠Amon2::Web ã§èªåã§ãã°ãã)
perlã§ããã°ã©ã ãããã¯æã« Data::Dumper ã使ã£ã¦å¤æ°å ã®ãã¼ã¿æ§é ãè¦ãããã¨ãããã¨æãã¾ãã #!/usr/bin/env perl use strict; use warnings; use Data::Dumper; my $var = { array => [1,2,3], hash => { key1 => "val1", key2 => "val2" }, coderef => sub { "this is coderef"} }; print Dumper $var; æ®éã®arrayãhashã§ããã° dumper ã¡ã½ããã使ãæ§é ã確ããããã¨ã¯ã§ãã¾ããcode reference(ã³ã¼ããªãã¡ã¬ã³ã¹)ãè¦ããã¨ãã㨠sub { "DUMMY" } ã¨ãªã£ã¦ãã¾ãå 容ãåãããæãæ¶ã§æ¿¡ãããã¨ã«ãªã£ã¦ãã¾ãã¾ãã $VAR1 = { 'has
2010å¹´08æ23æ¥08:00 ã«ãã´ãªLightweight Languages perl - Data::Decycle ã§æªå¾ªç°ãæã¨ã! Data::Decycleã¨ããã¢ã¸ã¥ã¼ã«ããªãªã¼ã¹ããã®ã§ãç¥ãããã¾ãã /lang/perl/Data-Decycle/trunk - CodeRepos::Share - Trac dankogai's p5-data-decycle at master - GitHub Dan Kogai / Data::Decycle - search.cpan.org Perlã¯å¾ªç°åç §ãè¦æ æåãªè©±ã§ãããPerlã§å¾ªç°åç §ãä½ãã¨ãããã°ã©ã ãçµäºããã¾ã§ãã®åã®ã¡ã¢ãªã¼ã¯è§£æ¾ããã¾ããã perlobj - search.cpan.org use strict; use warnings; { package Dummy; sub new
2007å¹´02æ11æ¥13:45 ã«ãã´ãªLightweight Languages perl - B::Deparse 尻馬ä¹ãã¹ããã¨ãããã¨ã§B::Deparseã®ç´¹ä»ã ãããªããã° - ã¹ã¯ãªããè¨èªç¨ã®ãããã¬ã®ä½¿ãæ¹ - Ruby, Python, Perl ã¹ã¯ãªããè¨èªç¨ã® CUIã®ãããã¬ã®ä½¿ãæ¹ãç°¡åã«ã¾ã¨ãã¾ããã対象è¨èªã¯ Ruby, Python, Perl ã§ããå®ã¯ç§ãããããã¬ã¼ã¯perl -de1ããããã使ã£ã¦ããªã(perl -de1ã¯é常ã«ãã使ãã®ã§ãTerminal.appã®ã¦ã£ã³ãã¦ã®ä¸ã¤ãããå°ç¨ã«ãªã£ã¦ãããã¹ã¯ãªããè¨èªã®ã¤ã³ã¿ã©ã¯ãã£ããªå©ç¨æ³ã«é¢ãã¦ã¯ä»¥åã404 Blog Not Found:LL Intaractiveãã«ã¾ã¨ããã®ã§ãã¡ããã覧é ãã¨ãã¦ãããã§ã¯ãªãã¹ã¯ãªããè¨èªã§ã¯æ» å¤ã«ãããã¬ã¼ã使ããªããããããããã
(There is the Japanese version bellow) There are reasons why Xslate so fast, so this article explains them, which will be added to the Xslate document. Taking precompiling style Template engines which precompile templates are always faster than line-by-line interpreters. Almost all the engines implemented in scripting languages (e.g. Template-Toolkit or Text::MicroTemplate) takes precompiling styl
TTã®158åéãã¨ããxslateã§ããããã®ãã³ããã¼ã¯ã¯Syntax::Kolonã使ã£ã¦ãã¾ãã TTäºæãªSyntaxã§ããã¨ããã®ãSyntax::TTerseã使ãã¨ã©ããªãã®ããªã¨ãããã¨ã§http://github.com/nihen/p5-Text-Xslate/tree/add_tterse_benchã®benchmark/x-rich-enc.plã¨benchmark/x-poor-env.plã«TTerseã追å ãã¦ã¿ã¾ããã 以ä¸çµæ %perl benchmark/x-rich-env.pl Perl/5.12.1 i686-linux Text::Xslate/0.1056 Text::MicroTemplate/0.15 Text::MicroTemplate::Extended/0.11 Template/2.22 Text::ClearSilver/0
ããã«ã¡ã¯ãæè¿ PSP1000 ã®é»æ± ãä¸ç¬ã§åãã¦ãã¾ã£ã¦ã¾ã¨ãã«ã²ã¼ã ãã§ããªã xaicron ã§ãã ãã¦ãã¿ãªãã㯠DBI ããåããã SQL ãã¿ãããªã¼ã¨æããã¨ãããã§ãããã ãããªæã¯ã$ENV{DBI_TRACE} = 2 ã¨ããã¦ã¿ãã¨ãããã¼ãã¨ãã£ã±ããããã°ãã°ãåºã¦ãã¦ã ãã®ä¸ã«å®éã«çºè¡ããã SQL ãã¡ããã£ã¨åºã¦ããããã®ã§ããã¤ãé å¼µã£ã¦ãã¼ã¹ããã°ããæãã§ããï¼ ã£ã¦ããã®ã¯ã ãã¶é¢åã ã£ãããã¾ããããããã¾ãã§ããã ããã§ãuse ããã ãã§ã¨ããããå ¨é¨ã®çºè¡ããã SQL ã STDERR ã«ã¯ãã¦ãããã¢ã¸ã¥ã¼ã«ãæ¸ãã¾ããã ãã®åã DBIx::QueryLog ã§ãããã®ã¾ã¾ã§ããã ã¤ãããã 使ãæ¹ã¯è³æ¥µç°¡åã§ãã©ã£ãã§é©å½ã« use ããã ãã§ããã»ãã«ã¯ä½ãããã¾ããã ããããã¨ã以ä¸ã®ãããªæã㧠STDE
ã©ã³ãã³ã°
ãç¥ãã
ã©ã³ãã³ã°
ãªãªã¼ã¹ãé害æ å ±ãªã©ã®ãµã¼ãã¹ã®ãç¥ãã
ææ°ã®äººæ°ã¨ã³ããªã¼ã®é ä¿¡
å¦çãå®è¡ä¸ã§ã
j次ã®ããã¯ãã¼ã¯
kåã®ããã¯ãã¼ã¯
lãã¨ã§èªã
eã³ã¡ã³ãä¸è¦§ãéã
oãã¼ã¸ãéã
{{#tags}}- {{label}}
{{/tags}}