注:本稿はまだ書きかけです!書きかけです!まだ一般に知らしめようとする前にブクマされました!w 間違いの指摘やコメント等は lestrrat @twitter にください!Perl環境の設定方法はここ数年で大きく進化し、変わってきました。ここではアプリケーションのデプロイも見据えた、モダンなperl環境の整え方を紹介していきます。具体的にはperl本体や外部モジュールのインストール方法を解説したのち、Perlを使ったアプリケーションを管理・運用していく際に依存関係等はアプリケーション毎に管理できるようにしてグローバル環境に可能な限り干渉しない方法を紹介します。 目次 1.1 Perl本体のインストール 1.2 依存モジュールの管理・インストール 1.3 Cartonによるアプリケーションの実行環境の構築 tl;dr本稿を読む前にポイントだけ知りたい!という方向けのまとめです: OSに同

某所で 人間の脳には人の顔を識別するための特別な神経回路が最初から組み込まれていて、人の顔の違いを見分けたりというのが、他の図形よりも格段に高速に行えるようになっています。ということで、ログメッセージに顔文字を入れてみたら、なにこれすごいヽ(=´▽`=)ノ ってなったところ。 という発言をみかけたので、つくりました。Log::Minimal::Emotional - https://gist.github.com/hirose31/4958764 「エモーショナル」はお好みなものに容易に再定義可能です。 #!/usr/bin/envperl use strict; use warnings; use utf8; useLog::Minimal::Emotional; $Log::Minimal::Emotional::EMOTION->{CRITICAL} = '⊂二二二( ^ω^)

前置き こんにちは。syohexです。好きな寿司ネタは鯖というかバッテラです。今回は拙作の Graphviz::DSLというモジュールを紹介させていただきます。 Graphviz::DSLはRuby Gemの Gvizに影響され作成したモジュールです。 既存の Graphvizモジュールは OOインタフェースが中心で '$graph->add_node'のようなメソッドを使いグラフを構築していくものが主でした。しかし個人的に OOインタフェースの場合, 最終的なグラフの形状が把握しづらいという印象を持っていました. 'add_node'などのコードを追い, 自分の頭の中でグラフの形状を考える必要があるためと思います. ところが Gvizはそうではなく, DSLを用い, DOTファイルを直接書く感覚に近いものでした. 今までの Graphvizインタフェースは DOTを避けすぎていたように

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 ); これダメ! 絶対ダメ! 死ぬ! 最初に結論を書く 必ず以下のように
僕はWebアプリの開発言語にPerlを使っていますが、Perlで書くためのWeb Application Frameworkとして、 Mojoliciousを最近では利用しています。 Web Application Framework(WAF)とは、 Webアプリケーションの開発を効率的に行うためのライブラリ群(つまりフレームワーク)で、これがなければ少しでも大きめのアプリになると大変な思いをします。以下Mojoliciousについてとりあえずの、参考リンクです。 ちなみに昨日かな?Mojoliciousはバージョン3.0が出ました。PerlのWAFはMojolicious推しな件とそのノウハウ - ゆーすけべー日記 Mojolicious -Perl real-time web framework Mojolicious 3.0 released:Perl real-time we
all your base32 are belong to us スピーカー Yoshinori TAKESAKO (takesako) 応募者 Shibuya.pm 日付: 2009/09/11 16:20 期間: 20 分 言語: 日本語 Fun of the Symbolic PolyglotProgramming http://preview.tinyurl.com/yapcasia2009 D:\YAPC2009\symbol>more yapc.com ;"#{",$/*";}";'[!&,,#>,,`^`[%!@%@!-~`-~/(&,,-!!-!!-!+(&-,+>,,`[-!|-!}/////////$$$[,-(@),~,&(@-$@,+,)(@,(@$,!,",/(@!(@"(@#$@,{,^(@%(@&$@,!,.(@*(@."=:$_]!$-~!`{~!';
あけましておめでとうございます。 今年も何卒よろしくお願いします。 新年の初めなので書き初めをしたいと思います。 元ネタ 週記くらい | Common Lispで書き初め vallog: 2012年が明けたので書き初めしました。lispで。 ソース 試行錯誤して微調整した感じですが。 #!/usr/bin/envperl package App::Kakizome; use strict; use warnings; use GD; use Encode; use Encode::Locale; sub new { my $class = shift;bless {}, $class; } my $mainfont = $ENV{HOME} . '/.fonts/aoyagireisyosimo.ttf'; my $subfont = '/usr/share/fonts/truetyp

Perl道場 説明がはいります。説明がはいります。説明がはいります。説明がはいります。説明がはいります。説明がはいります。
8月14Linuxでデフラグを実行するスクリプト カテゴリ:ハードウェアその他 3年半ほど前に、デフラグに関して下記の記事を書きました。 【参考】独学Linux:Linuxでデフラグが必要のない理由 その後、いろいろな方からのご意見があり、「まったく必要がないわけではなくサーバ用途ではある程度断片化は起こる」「Windowsでも現在のNTFSではLinuxと同様な処置がなされているので記事内容は古い情報に基づいている」「ただしWindowsの方が断片化が起こりやすいという傾向はある」ということがわかりました。 普段は気にしていなかったし、気にする必要はないのかも知れません。ただ、実際に確認する手段を知らないのもどうかなと思い、調べてみたところ、どの程度正確かはわかりませんが、GentooLinuxのフォーラムでディレクトリ単位で断片化されている割合を表示するperlスクリプトを見つけま
先週公開した、じゃらんWebサービスを使ったサンプルサイト「シンプル宿検索」にて、perlのソースコードも一緒に公開してみたのですが、さっそく興味を持ってくれた方から問い合わせを頂きました。cgiを実行させようとしたら以下のエラーが出てしまいました: Can't locateTemplate.pm in @INC (中略) at search.cgiline 5 ...Template.pm モジュールがインストールされてないよ!って怒られています。あー、コード公開する際は必要なCPANモジュールも一緒に添付しといてあげたほうが親切なのかな?いやでもそれ面倒くさいし無理あるなあ・・・。 Webでキーワード "CPAN" を検索すると出てくるCPANの使い方系ページの多くは、そのサーバの root 権限を持っている前提で、サーバの共通ライブラリ下にCPANモジュールを追加する方法を紹
Perlではメモリリーク検出ツールがいくつか開発されているので、top(1)の結果を眺めるよりそういうツールを使うほうが楽である。 さて、メモリリークが発生しているとき、その可能性としてはだいたい以下の4つが挙げられる。Perlレベルでの循環参照 グローバル変数に値をどんどん足しているとき*1 XSレベルでリファレンスカウントの管理ミス XSレベルでmalloc()したメモリの管理ミス この1-3についてはすべてPerlインタプリタ内の出来事であり、Test::LeakTraceを使って検出できる。4を検出するのは難しいが、Test::Valgrindが役に立つ。 Test::LeakTraceのSYNOPSISは歴史的経緯によりごちゃごちゃしているが、テストで使うべき関数はno_leaks_ok()とleaks_cmp_ok()だけである。 たとえば、以下のようにして使う*2。 #!p
Emacs 使ってる人に dis られた挙句、涙目で散々調べまわって苦労したのでメモ。 まずは次のものをインストール cpanm Vi::QuickFixperl_synwrite.vim - checksPerl syntax before allowing file write :vim online .vim/ftplugin/perl_synwrite.vim この二つを真(1)に書き換える let s:default_perl_synwrite_qf = 1 let s:default_perl_synwrite_au = 1 .vimrc に追記 これは各自お好きなように。 " quickfixmap <silent><C-c> :cn<CR>map <silent><C-l> :cl<CR>vim 再起動して use strict; use warnings; u
Mojolicious::Liteは一つのファイルの中に全部突っ込んでWebアプリが作れるということなので、今自分が気になってるものを習作の意味を込めて全部詰め込んでCRUDアプリを作ってみました。jQueryも入れたかったけど書いていてカオスになったのでSNBinderの補助とページャ以外は無しにしました。 色々突っ込んでみたものは以下 Teng ページャ(プラグイン) inflate/deflate triggerの代替 Class::Method::Modifiers Devel::KYTProf Xslate Mojolicious::Liteで継承 SNBinder コンセプト 雑感 Teng nekokakさん作の軽量ORMであるTeng。 Skinnyの後継DBIの薄いラッパー ということで、シンプルさを残しつつさらっと書きたいことはさらっと書けるように配慮されてて良い感じ
皆さん今日もたくさんのサーバを相手にされていることかと思いますが、いくつかのサーバにアクセスして 1 秒間の統計情報(例えばvmstat 1 2)を集めてパッと表示したい時ってどうやってますかね?shell script を学びはじめたばっかりの僕はこんな感じで書いてました。 $ for i in host1 host2 host3; do ssh $i "vmstat 1 2 | tail -1"; done 0 0 0 329004 210836 14275360 0 0 0 2424 1410 1828 0 0 100 0 0 0 0 0 3716112 587704 25921684 0 0 0 488 1643 2026 0 0 100 0 0 1 0 0 555440 265560 14015548 0 0 0 4204 1534 2392 1 0 99 0 0 vmstatと

はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です -はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。はてなグループに投稿された日記データのエクスポートについて -はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記はてなグループ日記のエクスポートデータは2020年2月28
ppencode -JavaScript demo InputtextPerl program Copyright(C) 2005 Yoshinori TAKESAKO. All rights reserved. return totop
はじめましてKindle (6インチ版)でA4サイズ2段組の論文(PDF)を読むことを目的にPDFの版面を片段ずつ分割するためのツールを探していたのですが,perl のPDF::API2というモジュールを利用すれば比較的簡単に 自作できることがわかりました. とりあえず,版面を上下左右に4分割または左右に2分割するスクリプトの例です.LinuxとWindows (Activeperl + MinGW)で動いているようですが, どなたか確認&機能拡張していただければ幸いです. ------------------------<pdfsplit.pl>------------------------ #! /usr/bin/perl usePDF::API2; my $split = 4; while (($_ = shift @ARGV) =~ /^\-/) { $spli
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く