タグ

perlに関するdekillcanerのブックマーク (423)

  • 喰らえ10年鍛えた俺の test.pl !! - 大西ブログ

    こんにちは、2011年くらいにディレクターになってめっきりPerl書かなくなった id:onishi です。 この記事は Perl5 Advent Calendar 2015 18日目です! 書き捨てのコードを test.pl という単一ファイルに __END__ と共に上に追加し続けて10年。3万行超に成長した俺の test.pl から厳選したコード群を喰らえ、という主旨の記事です。 今日のお品書きはこんな感じです。 list() fotolife wq punycode statuscode 結びの言葉 ( [PR]この目次ははてなブログの目次機能で自動生成しています ) ちなみに、書き捨てのコードから良いものは、プロジェクトのリポジトリに入れたり、~/bin/ に置いたりしています。今日は ~/bin/ に移った厳選処理も紹介しますね。 とにかく test.pl にいろんな処理が書か

    喰らえ10年鍛えた俺の test.pl !! - 大西ブログ
  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • 橋本商会 » Net::Google::Calendarで予定一覧を取得する

    CPANモジュールのNet::Google::Calendarを使うとGoogleカレンダーの情報に簡単にアクセスできる。 まずcpanで installNet::Google::Calendar という風にインストールする。 そしてこんな感じで、イベント一覧を最近更新された順に取得して表示できる usestrict; usewarnings; useNet::Google::Calendar; my$url=”your-google-calendar-api-url”; my$cal=Net::Google::Calendar->new(url=>$url); $cal->login(‘your-gmail-address@google.com’,”your-password”); for($cal->get_events()){ print$_->title.”¥n”; print$_

    橋本商会 » Net::Google::Calendarで予定一覧を取得する
  • 日本Perl改造計画 とほほの Perl編 その1 - Shohei Yoshida's Diary

    みなさんは Perlを勉強し始めた人のブログエントリーを見てこんなことを 思ったことはないでしょうか ? 「なんでこんな古臭いコードを書いているんだ」 私は結構有ります。3引数の openでなかったり、ベアワードが大量に 使われていたり、myが使われていなかったり。なんでそういうコードを 書くのかはその人達に聞いてみないとわからないですが、以下のことが 考えられます。 古い書籍を見ている 古い内容のサイトを見て書いている 1については時間が解決してくれるかもしれないですが、そのようなを すべて抹消するというのは現実的ではない。なんで 2をなんとかできないか 考えてみました。 google.co.jpで「perl」でググった結果(2011年11月11日現在) Perl - Wikipedia とほほのperl入門 The Perl Programming Language - www.pe

    日本Perl改造計画 とほほの Perl編 その1 - Shohei Yoshida's Diary
  • UNIVERSAL::isa($hoge, 'Huga') を使うべきではない - daily dayflower

    ことの理由と出典をいつも忘れてしまうので,メモメモ。 if ($obj->isa('Huga')) { ...... } みたいなコードはよく使うんですが,$obj が bless されたオブジェクト(か,クラス名の文字列スカラー)じゃないとエラーを吐くので,一時期,以下のように書いてました。 if (UNIVERSAL::isa($obj, 'Huga')) { ...... } でもそれはイカーン,とどこかで読んだような気がして探してたら,「続・初めてのPerl 改訂版」の「14.2 オブジェクトの動作に関するテスト(pp.186-188)」に書いてありました。 しかし,これではオブジェクト指向メカニズムを否定することになり,それはそれで問題を起こします(→脚注)。 脚注 特に,Animal がカスタムの isa メソッドを持つ場合(中略),UNIVERSAL::isa を呼び出してし

    UNIVERSAL::isa($hoge, 'Huga') を使うべきではない - daily dayflower
  • Perl道場 PerlエンジニアがつくるPerlエンジニアのための検定試験

    Perl道場 説明がはいります。説明がはいります。説明がはいります。説明がはいります。説明がはいります。説明がはいります。

  • Testing Web Application 2011秋 - tokuhirom's blog

    とにかく楽に、お気軽に。お気軽にテストを追加できて、お気軽にテストを実行できる。というのがなによりも重要です。 追加しようとおもったときに「どう追加したらいいかわからない」という状況になりがちなので、あらかじめいろいろな構成要素ごとにテストをひととおりかいてみるというのも重要だとおもいます。O/R Mapper のクラスのテストとか、model のテストとか、コントローラのテストとか、JSON API のテストとか。。 ExtUtils::MakeMaker でテストをうごかさないExtUtils::MakeMaker を素でつかうと blib/ とかつかってきてうざいので、Makefile.PL に以下のような hack をほどこしてあります。ウェブアプリケーションで blib/ とかにコピーする必要ないですよね。実運用でも blib/ でうごかさないし、インストールもしませんし。 #

  • PHPやPerlで変数の記号に「$」が使われる理由

    PHPPerlで変数を定義するとき、当たり前のように先頭に「$(ドル/ダラー)」をつけていますが、ふと、 「変数の前に付ける記号はなぜ『$』なんだろう?」 と思い立ち、そんなことはもののに書かれているのかもしれませんが、ネットで調べてみました。 ちなみにPerlで「$」を使うのはスカラ変数だけです。 1.「$」はBASIC言語から使われている BASIC言語では変数の型で文字列を表すときに、次のように「$」を使っています。ただし変数の前ではなく後につけています。 10 READ A$ 20 READ B$ 30 C$=A$+B$ 40 PRINT C$ また「『$』はBASICの名残で使っているようです」という記事をみつけました(ただしVBの話として)。 2.「$」は「ストリング」? 仮にPHPPerlなどがBASICの名残で「$」を継承していると仮定しても、なぜBASICでは「$」

    PHPやPerlで変数の記号に「$」が使われる理由
    dekillcaner
    dekillcaner 2011/09/27
    どこかで読んだ覚えがあるんだけど、初めてのPerlだったかな
  • Apache、mod_perl さようなら!さくらVPSで Nginx + Starman - ワタブログ

    2011年06月12日23:10 Apache、mod_perl さようなら!さくらVPSNginx + Starman カテゴリ Tweet Apache よりも速くて簡単、と噂の Nginx を、いい機会なので試してみたかった Starman と一緒に導入してみた記録。フロントエンドNginx 、バックエンドに Starman という構成ですね。Nginx をプロキシとして動作させて、アプリ部分は Starman でまかなうという感じですね。 PSGIアプリをつくる作ると言っても、今回は Web アプリケーションフレームワークである Amon2 で使えるヘルパースクリプトを実行するだけ。 $ cpanm Amon2 $ amon2-setup.pl MyApp なんてお手軽なんだ!これだけで即 plackup app.psgi で起動できます。ちなみに MyApp/htdocs

  • https://qiita.com/questions/115

  • Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ

    http://d.hatena.ne.jp/tokuhirom/20110710/1310303859 でAmon2::Liteが出てきて、Mojolicious::Liteのようにアプリが書けるようになったので、 Mojolicious::Liteを使ってMarkdownをリアルタイムプレビューしてみた - アリ 昨日のリアルタイムプレビューは... - アリ リアルタイムプレビューしたい - アリ これと同じものもAmon2::Liteで同じように簡単に書けるようになったはず、ということで練習がてら書いてみた。 #!/usr/bin/env plackup use strict; use warnings; use Amon2::Lite; use Encode 'encode_utf8'; use Text::Markdown 'markdown'; use Text::Xatena

    Amon2::Liteでmarkdownその他のリアルタイムプレビュー - すぎゃーんメモ
  • TinyURLをつくってみよう 〜 軽量フレームワークAmon2入門 (4) 〜 - tokuhirom's blog

    インストール今回は Amon2 の最新版が必要なので、すでにインストールしている場合でもあらためてインストールしてください。 環境は OSX, linux を想定していますが、Windowsでもそれほどかわらないかと思います。Windows でやっていてわからなかったら mattn さんにきいてください。 さて、Amon2 のインストールは非常に容易です。Amon2はCPANにリリースされていますから、通常のCPANモジュールと同様にcpanmコマンドでインストールできます。 % curl -L http://cpanmin.us | perl - Amon2 Amon2::DBIで、インストールが完了します。テストに失敗する場合には、コメント欄などできいてください。 TinyURLを作るぐだぐだとかたっていても何もつたわらないと思うので、チュートリアルに入りましょう。 とりあえず、簡単で

  • Algorithm::Diff で類似文字列検索

    Algorithm::Diff で類似文字列検索 2008-04-22-3 [Algorithm][Programming] Perl のモジュール Algorithm::Diff[2004-12-12-2]を使って、線形時間で類似文字列検索するサンプルプログラム。 まあ、 agrep があればそれでいいんですけどね。 サンプルコード(ads.pl): #!/usr/bin/perl use strict; use warnings; use Algorithm::Diff; use utf8; use Encode; use open ':utf8'; binmode STDIN, ":utf8"; binmode STDOUT, ":utf8"; my $key = shift; my @seq1 = split(//, decode('utf-8', $key)); while (<

    Algorithm::Diff で類似文字列検索
  • each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)

    特別な条件がないかぎり、each()は使うべきではありません。代わりにkeys()/values()を使うべきです。その理由は2つあります。 each()は遅い each()でハッシュ全体をループするのは遅いです。これは、keys()/values()がその内部の値をそのまま参照する*1のに対し、each()は代入しないとその値を使えないからです。 ベンチマーク: #!perl use strict; use warnings; use Benchmark qw(cmpthese); my %hash = map { $_ => $_ } ( 1 .. 10000 ); cmpthese -1, { each_k => sub { while(my $key = each %hash) { } }, each_kv => sub { while(my($key, $value) = eac

    each()は遅い上に微妙な問題も起きやすい - Islands in the byte stream (legacy)
  • Amon2でTengを使いたいときには - アリ

    Amon2のflavorを書いてみた。 こうすることで、 % amon2-setup.pl --flavor Teng MyApp みたいにできるので便利。 あと、TengにはTeng::Schema::Dumperがあるのでschemaの生成が楽。

    Amon2でTengを使いたいときには - アリ
  • テスト駆動開発のすすめ - Perl日誌

    hachiojipmに行ってきたのですが#4でも#5でもTestを書くのが難しいという声が聞こえたので「テストは書いてみると簡単」「テストがあると開発が楽」という事を伝えてみようと努力する試みです。 ということでサンプルコードを書いてみました。 https://github.com/okamuuu/Sample-Plack-Test 紹介するサンプルコードについて ここで紹介しているスクリプトはある男がBlogを作ろうと思ったがどうせたいしたことしないので俺俺WaFをつくってやろうとして実際にやったテスト駆動開発です。 おもむろにt/web.tとかつくってみる 最初にテストを書いてみましょう。 #!/usr/bin/env perl use strict; use warnings; use Test::Most; use Plack::Test; use HTTP::Request::C

    テスト駆動開発のすすめ - Perl日誌
  • 引数の明示という観点からのPerlモジュール群 | hirobanex.net

    Perlモジュールのバリデーターと呼ばれるジャンルのモジュールなどをバリデーションという観点ではなく、引数を明示するという観点から整理しました。 バリデーターの種類 バリデーターというものは、一般的に引数が期待される型など(整数か、文字列か、URLか、メアドか等)になっているかどうかをチェックするというものです。特に、Webアプリにおけるフォームから入力されるデータのチェックに活用されることが多いです。そういういった意味から、Perlのバリデーターモジュールはフォーム系と非フォーム系に分類することができます。 フォーム系のバリデーター等 FormValidator::Lite CPANにも紹介されている強力なフォームバリデーターです。フォームバリデーターとしては、フォームの型の定義、チェック、エラーメッセージの定義、が必要ですが、やりたいであろうことのだいたいがそろっているモジュールで実

  • CPAN本には入っていないけど、抑えておきたいフレームワークモジュール群 | hirobanex.net

    今さらながらtomitaさんが執筆された通称CPANPerl CPANモジュールガイド』の感想を、CPAN自体の感想と、CPANに触発されてという感じでメモしたと思います。 CPAN自体の感想 非常にたくさんのモジュールが紹介されていて大変勉強になります。半分以上が使ったことがないです。なので、使ったことがないモジュールをやりたいことに沿って探して使用するというベタな使い方いいです。 あと、ぼくがいいなと思ったのは、使ったことがあるけどマジメにドキュメント呼んでいないモジュールの解説を読んでより理解を深めるという使い方です。 個人的に、CPANモジュールは、モジュール名で検索して出てきただれかのブログ記事を参考にぱぱっと書いたり、ドキュメントのSYNOPSISをぱっと動かしてみて適当に使うということが多いです。それに加えて、英語のドキュメントはなかなかしっかり読むには腰が重くて細

  • Perl の URI モジュールにおける文字列とオクテット列の扱いに関して: Days on the Moon

    Perl の URI モジュールには ASCII 外の文字の扱いに関して欠陥がある。ここでは Perl における URI の扱いについて述べ、URI モジュールの修正方針を提案する。 この記事で取り上げた問題に関して主たる部分は URI.pm 1.59 で (この提案とは違った形で) 修正済みであり、この提案は obsolete です。 用語の定義 URI RFC 3986 (日語訳) で定義される識別子。 URI.pm Perl の URI モジュール。ここでは、ファイルとしての URI.pm だけでなく、URI パッケージ下に含まれるコード全般を指す。断りがない限りバージョン 1.58 に基づく。 文字列 UTF-8 文字列と Latin-1 文字列のいずれか。 UTF-8 文字列 Perl の文字列値で、UTF8 フラグが立っているもの。 Latin-1 文字列 Perl の文字列

  • はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知

    はてなグループの終了日を2020年1月31日(金)に決定しました 以下のエントリの通り、今年末を目処にはてなグループを終了予定である旨をお知らせしておりました。 2019年末を目処に、はてなグループの提供を終了する予定です - はてなグループ日記 このたび、正式に終了日を決定いたしましたので、以下の通りご確認ください。 終了日: 2020年1月31日(金) エクスポート希望申請期限:2020年1月31日(金) 終了日以降は、はてなグループの閲覧および投稿は行えません。日記のエクスポートが必要な方は以下の記事にしたがって手続きをしてください。 はてなグループに投稿された日記データのエクスポートについて - はてなグループ日記 ご利用のみなさまにはご迷惑をおかけいたしますが、どうぞよろしくお願いいたします。 2020-06-25 追記 はてなグループ日記のエクスポートデータは2020年2月28

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知