graph-easy はアスキーアートのグラフを簡単に生成できるツールです。Perl のインストールされた環境で動きますが、Perl プログラミングの知識は必要ありません。使い方も簡単です。たとえば次のようなテキストを用意し、
Automator ってなんか超高機能なマクロみたいなイメージがありますが、とても便利なのでご紹介。 もともとは、会社の上司が Windows から Mac に移行したのだけれど、"秀丸みたいに選択範囲を ruby で evalできないの" とおっしゃっており、しかも Emacs は微妙とのことなので、Automator でどうにかしてみた。Service でできるんじゃないかねと教えてくれた同僚に感謝。 追記(2013/02/24) デバッグ方法を別エントリに書きました できること 文字列選択して Ctrl+= を押すと選択文字列が ruby で実行されます。編集可能なテキストエリアならだいたい何処でも。 作り方 アプリケーション ディレクトリにある Automator を起動します。 新しくサービスを作ります ユーティリティ > "シェルクスクリプトを実行"というアクションを選んで右の
最近になって急に、開発言語がPerlからRubyとObjective-Cに早変わりして大変です。 そして、Perlの感覚でRubyを書いていると「What!?」ってなったことがあったので、 久しぶりに記事にしてみました。 下記はPerlのコードです。 #!/usr/bin/env perl use strict; use warnings; use utf8; if (0) { my $message = 'hoge'; } print "$message\n"; が、当然エラーは出ます。 Global symbol "$message" requires explicit package name at.. Execution of.. aborted due to compilation errors. message変数のスコープがIfブロック内なので当たり前ですよね。 下記はRub
前回の(1)はこちらから。 参考にすべきCPANモジュール 以下では古いものから新しいものまで、クローラを作る際に参考になるCPANモジュールを紹介します。 LWP::RobotUA、WWW::RobotRules PerlにおけるHTTPクライアントと言えば、何はともあれLWP::UserAgentです。LWPのパッケージの中にはLWP::RobotUAというrobots.txtを解釈するbot用のUserAgentを作るクラスが含まれています。RobotUAはLWP::UserAgentを継承したクラスで、ユーザエージェント文字列とFromヘッダに使用するためのメールアドレスの指定が必須になっています。また、robots.txtでDisallowの指定があるURLにはアクセスできないようになっていたり、リクエストごとにデフォルトで1分のウェイトが入っていたりと、行儀の良いモジュールです
クローラのように、ユーザからの入力に応じて任意のURLにHTTPリクエストを発行するソフトウェアは、誤ってプライベートネットワークへのリクエストを処理しないようにする必要があります。悪意のあるユーザが故意にプライベートなネットワークに対してリクエストして、内部情報にアクセスするといった攻撃を行う可能性があるからです。 PerlではLWPx::ParanoidAgentやLWPx::ParanoidHandlerといったモジュールが便利です。これらのモジュールは、リクエスト先のURLをチェックしてプライベートネットワークへのリクエストを禁止してくれます。単にIPアドレスをチェックするだけでなく、ホスト名をDNSで解決して得られたIPアドレスをチェックしたり、リダイレクト先のURLをチェックしたりしてくれます。まさに偏執的です。 このLWPx::ParanoidAgentと同様の機能をもったG
Perl で、浮動小数点数の整数化 (小数点以下の切り捨て) をやる場合、 int() を常用していたけど、どうやら、これは基本的に推奨されてないということを、今更ながら知る。 これって常識? % perldoc -f int int EXPR int Returns the integer portion of EXPR. If EXPR is omitted, uses $_. You should not use this function for rounding: one because it truncates towards 0, and two because machine representations of floating point numbers can sometimes produce counterintu- itive results. For exam
Net::Server - Extensible, general Perl server engine Net::Server - Perlによる拡張可能な汎用サーバエンジン 概要¶ #!/usr/bin/perl -w -T package MyPackage; use Net::Server; @ISA = qw(Net::Server); sub process_request { #...コード... } MyPackage->run(port => 160); exit; 取得方法¶ * Single Server Mode * Inetd Server Mode * Preforking Simple Mode (PreForkSimple) * Preforking Managed Mode (PreFork) * Forking Mode * Multiplexing M
例えば、Vimで図を描くには、DrawItが有名ですが、私の場合、こういった操作が複雑な、特にキーバーンドを覚えるのが面倒なプラグインを使うことはあまりありません。 ここで、Shell(Terminal)で描く事が多いのですが、そんな時は、graph-easyを使います。 ArchLinuxの場合、Perlは元から入ってるというか、ほとんどのOSには最初から入ってるので、以下のコマンドでインストールできると思います。 $ graph-easy <<<'[ MacBook Air ] -- LAN --> [ WOL Server ] -- LAN --> [ File Server ],[ Post Server ]' +-------------+ LAN +-------------+ LAN +-------------+ | MacBook Air | -----> | WOL S
以前http://tech.naver.jp/blog/?p=1369の記事を読んだのだけれど、それまでにprocessの知識が無かったりして、まったく理解できませんでした。そこでWorking with UNIX ProcessesやServer::Starterの中身を呼んでようやくhot deployの仕組みを理解できた(気になっている)ので、Server::Starterの実装を追いながら、それをまとめてみます。 hot deployとは hot deployとは「再起動の時にリクエストの処理を続けながら、変更の内容を反映するための手段」です。 通常serverをrestartさせるときは、stop -> startの流れになると思いますが、この場合stopしてから、start出来るまでの期間にリクエストを処理できない期間が発生します。その期間なしにdeployする仕組みがhot
Perl Hackers Hub 第24回PSGI/Plack実践入門―Starman、Starlet、Twiggy、Plack::Middleware、Server::Starter(1) 本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回のハッカーはWEB+DB PRESS Vol.50~55まで「大規模Webサービスの裏側」を連載し、本連載でも第11回以来の2度目の登場となるkazeburoさんこと長野雅広さんで、テーマはPSGI/Plackです。 なお本稿のサンプルコードは、本誌サポートサイトから入手できます。 幅広く使われるようになったPSGI/Plack 本連載でPSGI(Perl Web Server Gatewary Interface)/Plackについて取り上げるのは2回目です。1回目は2010年2月に発売されたWEB+DB PRESS Vol.55に
NAME DBIx::Class::Relationship - Inter-table relationships SYNOPSIS ## Creating relationships MyApp::Schema::Actor->has_many('actorroles' => 'MyApp::Schema::ActorRole', 'actor'); MyApp::Schema::Role->has_many('actorroles' => 'MyApp::Schema::ActorRole', 'role'); MyApp::Schema::ActorRole->belongs_to('role' => 'MyApp::Schema::Role'); MyApp::Schema::ActorRole->belongs_to('actor' => 'MyApp::Schema::Act
2008年09月24日23:09 Perl perl 任意の文字コードのファイルを扱う perlでファイルを扱うときに、そのファイルがどの文字コードでエンコードされているのかわからないことがあります。文字コードがわからないと、文字コードを変換するときに困ってしまいます。どうしたらいいの!?助けて!! ・・そんなときはこれでおkです(・∀・) #!/usr/bin/perl use strict; use warnings; use Encode; use Encode::Guess; for my $file (@files) { # sjisとかeuc-jpとかのファイル open my $fh, $file or die $!; my $data = join '', <$fh>; close $fh; my $enc = guess_encoding($data, qw/shiftj
Mac OSXでImage::Magickをインストールするのにはちょっとコツがいります。 この記事のとおりにやればいけます。 コツ ImageMagickをhomebrewでインストールしない Image::Magickをcpan/cpanmでインストールしない 環境 OSX 10.9.5 (mavericks) Perl 5.20.1 ImageMagick 6.8.9-8 Q16 Image::Magick 6.89 (たぶん Yosemiteでも同じ手順でいけると思います。どなたか追試していただけると助かります。) はじめに:ImageMagickとImage::Magickの違いを知る [Perl]ImageMagickとImage::Magickの違いについてそろそろ一言いっておくか。 http://dqn.sakusakutto.jp/2011/08/perl-imagema
When you expect a large number of results, you can ask DBIx::Class for a paged resultset, which will fetch only a defined number of records at a time: 結果セットが膨大になりそうなら、ページ処理された結果をDBIx::Classで取得できます。 一回に、決まった数のレコードしかとってきません: my $rs = $schema->resultset('Artist')->search( undef, { page => 1, # page to return (defaults to 1) rows => 10, # number of results per page }, ); return $rs->all(); # all recor
ファイルをエンコード perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' < file ファイルをデコード perl -MMIME::Base64 -ne 'print decode_base64($_)' < file 標準入力をエンコード echo "This is a test." | perl -MMIME::Base64 -0777 -ne 'print encode_base64($_)' 標準入力をデコード echo "VGhpcyBpcyBhIHRlc3QuCg==" | perl -MMIME::Base64 -ne 'print decode_base64($_)'
続きです。 perlによるwebアプリケーション作成手順 - Catalyst編 - その1 - 城好きwebプログラマーの生態メモ 前回はSampleというアプリを作成して試しに起動させるところまで出来ました。 今回はアプリで処理を書き始める前の初期設定を書いていきます。 ログの設定 Catalystの場合は use Catalyst qw/-Debug/;こうするとデバッグ用のログが出力されます。 デフォルトでこの設定になってるはずです。 しかし必ずしもデバッグ用のログが必要かといわれればそうではありません。 環境によって変えられるようにしておきます。 $ cd /path/to/Sample $ vim lib/Sample.pmファイルを開くと以下の記述があると思います。 use Catalyst qw/ -Debug ConfigLoader Static::Simple /;
題名¶ Moose::Manual::FAQ - Mooseについてのよくある質問 よくある質問¶ モジュールの安定度¶ Mooseは「実用レベルに達して」いますか¶ はい! 誰でも知っているような有名サイトの中にもMooseを使って高トラフィックなサービスを構築しているところがたくさんあります。ほかにもMooseを本番環境で使っている人は数え切れないほどいます。 これを書いている時点で、Mooseは数百個のCPANモジュールの依存モジュールになっています。http://cpants.perl.org/dist/used_by/Moose MooseのAPIは安定していますか¶ はい。95%のユーザが利用するシュガー関数のAPIについては非常に安定していますし、変更があっても100%後方互換にします。 メタAPIについてはそれほど盤石ではありません。一部については効率や一貫性を向上させるた
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く