第42回Template Toolkit:Perl製テンプレートエンジンのデファクトスタンダード 石垣憲一 2011-06-30
Shibuya.pm #12連動企画 本日開催のShibuya Perl Mongersテクニカルトーク#12のテーマは "No Perl, NoSQL, NoKVS" または "Not only Perl, Not only SQL, Not only KVS" ということなので、今回はそれにあわせてYAPC::Asia 2009でも紹介されていたKiokuDBについて簡単に取り上げてみます。 オブジェクトをまるごと保存する 牧大輔氏も『モダンPerl入門』のなかで、データベースをハッシュテーブルのようにとらえて、「基本的にプライマリキーからデータを持ってくる構成のみにすると、ORMを使用することによりキャッシュの導入も含めてチューニングが楽になります」と書いているように、Perlの世界では最近RDBMSやその上位層で頑張りすぎるより、モデリングの仕方そのものを工夫して実装や保守のしや
複数のプロセスでロック状態が異常であると判断し,そのうちの 1つがロックを解除したことにより,別のプロセスがロックしたにもか かわらず,先ほどロック状態が異常であると判断したプロセスによってこの正常なロッ クを解除されてしまう可能性があります. この方法の問題点は,異常なロック状態を解除する操作が正常なロック状態をも 解除できてしまうことにあります.逆に言えば,異常なロック状態を解除する操作に よって正常なロック状態を解除できなければ問題ないわけです.そのためにはどうす ればよいのか? 答えはロック状態が常に変化していけば よいということです.そして,これを実現するのに都合がよいのが rename による方法になります. 最初のスクリプトで説明しますと,ロックファイルが lockfile という 名前のときがロックが解除されている状態で,lockfile987654321 のよう に後ろに
mixiのエコーにコマンドラインから投稿したかったので、perlでスクリプト書きました。 #!/usr/bin/perl use strict; use warnings; use LWP::UserAgent; use HTML::TreeBuilder; use Encode; my $x = 0; my $y = 0; my $mail = 'hoge@hoge.co.jp'; my $passwd = 'hogehoge'; my $next_url = "/home.pl"; my $login_url = 'https://mixi.jp/login.pl'; #my $home_url = 'https://mixi.jp/home.pl'; my $home_url = 'http://mixi.jp/recent_echo.pl';#仕様変更のため、urlを変更 my $
はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28
Consistent Hashing は、 複数のノードにレコードを分散させる方法として、 Amazon Dynamo や Cache::Memcached::Fast などで使われているアルゴリズムです。 この文章では、Perl で実際に Consistent Hashing を実装し、 その特徴を理解することを目的とします。 更新履歴 2008-06-01: 公開 サーバー台数で割った余り (mod) を使用する まず Consistent Hashing と比較するために、レコードに対して整数のハッシュ値を求め、 ハッシュ値をノード数で割った余り (mod) で、ノードを選択するという方法を書いてみます。 ここでは、ハッシュ値の算出に CRC (Cyclic Redundancy Check) を使用しています。 use strict; use String::CRC; use Pe
ネットワークプログラミングの基礎知識 ここでは IP アドレスやポート番号、クライアントとサーバの役割などを説明し、 perl・C言語・Java などでソケット (Socket) を使った HTTP クライアントや POP3 クライアント、簡単なサーバを作成してみます。 要はネットワークプログラミングをやってみよう、ということです。 このページのサンプルプログラムは、RFC などの規格に準拠した「正しい」プログラムではありません。 また、全体的にエラー処理が不十分です (今後改善する予定です)。 あくまでも概要を理解するためのサンプルととらえてください。 もし本気でしっかりとしたクライアントやサーバを書きたいなら、このページを読んだ上で、 さらに RFC を熟読し、そして wget・Apache・ftp コマンドなどのソースを参考にしてください。 このページに間違いを見付けたら、掲示板 で
This webpage was generated by the domain owner using Sedo Domain Parking. Disclaimer: Sedo maintains no relationship with third party advertisers. Reference to any specific service or trade mark is not controlled by Sedo nor does it constitute or imply its association, endorsement or recommendation.
Index: bin/plagger-ircbot =================================================================== --- bin/plagger-ircbot (revision 1977) +++ bin/plagger-ircbot (working copy) @@ -10,6 +10,7 @@ use YAML; use Plagger::ConfigLoader; +use Plagger::Crypt; use POE qw( Session @@ -38,6 +39,10 @@ my $config = $plugin->{config}; +if (exists($config->{server_password})) { + $config->{server_password} = Plagger:
Plaggerは使えばいろいろ便利だが、使えるようにするまでがかなり大変だ。 今から使おうと思っても、古いドキュメントを読んで、その通りやっても出来ないのが、また難しいところ。 その原因は、PlaggerはPerlで動くし、いろいろなモジュールを使うので、それぞれのバージョン毎の互換性みたいなのがきちんととれていないのが原因のようだ。 Plaggerを始めようと考えている方は、その時の最新の情報を元に、なるべく新しいドキュメントを読みながら試行錯誤しながらやるしかない。 Windowsでインストールする際の基本的な流れ ActivePerlをインストール Plaggerを簡単にインストールできるように設定 Plaggerを設定 動かす という感じだが、これが大変。 まずは、http://www.activestate.com/で最新版のActivePerlをダウンロードせずに、古い物がダウ
トップページ >Perl> Perl独習の道 ~今まで、これから~ « iPhoneにはいろいろとダメなところがある、でも…… | トップページ | 天橋立 » 2008/07/24 Perl独習の道 ~今まで、これから~ 今年の初めごろからPerlの勉強をチマチマと続けています。 途中何度も挫折しそうになりましたし、今でも先はまだまだ見えていない状況ではあるのですが、それでも何となく手応えらしきものを感じられるようになりました。 そこでまだまだ道半ばではありますが、ここまでに読んだ本やら参考にしたウェブサイトなどを整理して書いておくようにします。もしかしたら誰かの役に立つかもしれませんし、あるいはもっと良いアドバイスを得られるかもしれませんし。 ということで、まずは書籍。以下、読んだ順番です。 最初に読んだのが、結城さんの「新版Perl言語プログラミングレッスン入門編」[AA] 新版P
jottitのほうに公式ページをつくりました。 値がとれるだけでは退屈、ページ辿りたいし、その先も辿りたいので機能追加。ずいぶんたくましくなりました。あとはキャッシュができればいいですねー。 追加したオプション n 次のページ(別に次じゃなくてもいいけど)のURLを返してくれるXPath、いっぱいマッチさせても最初の1つしかたどりません d ページを辿る回数、デフォルト1 s HTML::Elementがマッチしてる場合にHTMLソースを吐く f 処理しているURLも出力し、結果の値の前にはタブがついているフォーマット(いまひとつなのでなんとかしたい) URLのかわりに- 標準入力から改行区切りでURLをうけとる ためす twitterのfollowingリストを0回ページ継ぎ足しして、そこから抽出したユーザリストのfavoritesをさらに確認、彼らのfavってるユーザ名を集計する。 %
lib/Plagger/Plugin/Filter/EntryFullText/LDRFullFeed.pm http://b.hatena.ne.jp/otsune/20080530#bookmark-8776502 SITEINFOはwedata版に書き換えたほうがよさそう とのことなので書き換えた。HTML::Featureを使ってもっと便利にしたかったのだけど、UAがうまく置き換えられない問題とかが残ってるのであいかわらずEntryFullTextを継承。なのでPPF::EFT::SiteInfoのEFTのyamlがうまく一緒に使えない問題が残ってます。あとPPF::EFT::SiteInfoも野良siteinfoがあればまだ使えるのでこっちは名前かえました。Webservice::WedataはkoyachiさんのところからとってきてくださいWebService::Wedataも
タイトルは釣りです。 実際のタイトルは「Perlのオブジェクト指向がムズカシイだって?んなバカな。だったらPHPで再現してやんよ!」でございます。 ヘイヘイヘイ。そこの君。Perlのオブジェクト指向が難しいだなんていったい誰が言ったんだい? Perlのオブジェクト指向ほど、シンプル且つ柔軟なものはないよ! 単なるパッケージ(名前空間)とリファレンス(データ)をblessという関数で紐付けただけのもなんだから。 第一引数に必ず$selfが来るっていうのも結局の話たんなる関数呼び出しとなんら変わらないのだから。 package Foo; sub new { my $class = shift; return bless { @_ } , ref $class || $class; } sub plus { my $self = shift; my $int = shift; return $s
岡村 直樹(にゃるら)『輝かしい青春』なんて失なかった人。 2023年10月現在、アルバイトが退職となったので次に備えて待機中。 ※なおゲームのシナリオ・企画を担当された『にゃるら』さんとは別の人間です 略歴1988 年代の早生まれ。『輝かしい青春』なんて失なかった人。 2003 年代後半の高校生時代、自滅的にメンタルを病み、そこから 2023年 10月現在も治療中。 とはいえ 2019年 9月頃に N 高等学校を卒業し、 その後 2022年 8月から 2023年 9月末まで Web アプリケーションエンジニアとしてアルバイト就職をするなどした。 2023年 10月現在、次回の備えて精神科でリハビリに通う日々を送っている。 プログラミングスキルは 2005 年頃、 blosxom のために Perl を扱う事を通じて修得し、 そこから 2023年 10月に至るまで継続して腕を磨いている。
2006年08月30日 CPAN→Plaggerインストール(レンタルサーバさくら) 日常的に Perl を触る機会がなく、CPAN など利用した事すらないのだが、とりあえず「じゃぁPla」と言ったので調べてインスコするまでしてみた。 もう Plagger インストールの話も飽きただろうけども、めも的に残しておく。 簡単に説明すると、Plagger をインストールするためには、管理者権限がなければ、CPAN経由でインストールが現実的で、その為にはインストールするサーバに Telnet or SSHでログインできて make が使える事が必須である。 意味が分からない人の為に説明してもよいが、今回はそれをすると長くなるので今度にする。 今日の対象は、レンタルサーバで root 権限がない人(とくにさくら)への情報と、自分の為のメモだから。 ● CPANをユーザー領域にインストールする はっき
文字列 数値をASCII(アスキー)コードに対応する文字に変換するには、chr関数を使用します。 #!/usr/bin/perl use strict; use warnings; # ASCII文字コードでは65,66,67はそれぞれ 'A','B','C'に対応する。 my $a_num = 65; my $b_num = 66; my $c_num = 67; print chr( $a_num ), "\n"; print chr( $b_num ), "\n"; print chr( $c_num ), "\n"; __END__ 続きを読む
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く