タグ

Perlに関するadillaのブックマーク (43)

  • 64通りのkamipoを出力する - すぎゃーんメモ

    発端 @Kamipo 2014-04-22 21:06:52 via Twitter for Mac to @kamipo @sugyan 2014-04-22 21:06:57 via YoruFukurou to @sugyan @KAMIPO 2014-04-22 21:10:34 via Twitter for Mac to @kamipo @kamipO 2014-04-22 21:10:59 via Twitter for Mac to @kamipo @kamIpo 2014-04-22 21:11:04 via Twitter for Mac to @kamipo @kAmipo 2014-04-22 21:11:10 via Twitter for Mac to @kamipo @KaMiPo 2014-04-22 21:11:33 via Twitter for Mac

    64通りのkamipoを出力する - すぎゃーんメモ
    adilla
    adilla 2014/04/25
  • Perlワンライナー&マルチライナー集

    perl_oneliner_example PBV�_U P� �_U Perl ワンライナーサンプル集 ■概要 障害解析のためのログの調査、非互換対応でのソースコードの調査といった テキスト処理で使った Perl ワンライナーのサンプル集です。 Perl ワンライナーは以下の点が良いと思います。 ・PerlOracle Database (10g以降) に同梱されている。 従って、Windows プラットフォームでも使える。 ・awk、sed、grep の正規表現の書き方などをそれぞれ覚えれない。 awk、sed、grep でできることはだいたい Perl でできるので、 Perl に絞ると覚えることを減らせる。 ・最小限の労力で最大限の仕事ができる。 ちょっとしたプログラムを書くような処理でも Perl ワンライナーを 使うとたった1行で済むことがあります。 ■Perlワンライナ

    Perlワンライナー&マルチライナー集
    adilla
    adilla 2014/03/30
  • パール、アナルを使え!または私は如何にして Perl のワンライナーを書けるようになったか - 詩と創作・思索のひろば

    簡単に言うとこういうことです。今日はこれだけ覚えて帰ってください。 perl -anal -e "…" 同様のオプションは Ruby でも使えます。 解説 -a いきなり見かけないオプションですが、入力を空白文字で区切り、@F という配列に入れてくれます。それ以外の影響はないので使わないときでも指定して問題なし。2 回指定してるのも意味ないです。語呂合わせです。Ruby の場合は $F ですね。 -n -e で指定されたコードを LINE: while (<>) { … } で囲みます。標準入力やファイルを一行ずつ処理するときに便利。sed や grep が簡単に書けますね。ワンライナーでは多様するオプションでしょう。代わりに -p を指定することで最後に print; することもできます。 -l -n や -p が指定されているときに各入力を chomp します。また、各出力に改行を追加

    パール、アナルを使え!または私は如何にして Perl のワンライナーを書けるようになったか - 詩と創作・思索のひろば
    adilla
    adilla 2013/10/03
  • Hatena-Textbook/mvc-web-application-with-plack.md at master · hatena/Hatena-Textbook · GitHub

    講義の中での位置づけ Perl DBアクセス Webアプリケーションフレームワーク ← イマココ! JavaScript 今日の内容 1. HTTPとURI 2. Webアプリケーション概説 3. MVC 4. Hatena::Newbie 5. Webアプリケーションにおけるセキュリティの基 おまけ1. PSGI/Plack おまけ2. Plack、Router::Simple、Text::Xslateを利用した簡易WAF 課題 以下、Web Application FrameworkはWAFと表記します 1.HTTPとURI Webアプリに入る前のウォーミングアップです 知ってる人は聞き流してください Webの基になる2つの技術 HTTP URI HTTP HTTP (Hypertext Transfer Protocol) 中身はテキストで書かれたヘッダと(あれば)ボディ リクエ

    adilla
    adilla 2013/09/12
  • ここをおさえれば Perl 情報通になれるよというサイト一覧 - tokuhirom's blog

    Perl 関連の情報をあつめるには、僕は以下のサイトをみています 個人ブログ TATSUHIKO MIYAGAWA'S BLOG http://weblog.bulknews.net/ 最新の miyagawa 情報がえられます。 Charsbar::Note http://d.hatena.ne.jp/charsbar/ 最新の DBD::SQLite 情報などがえられます。 Hateburo: kazeburo hatenablog http://kazeburo.hatenablog.com/ kazeburo さんのサブブログっぽいやつ。nomadscafe.jp の方と使いわけがよくわからない。 あと「はてぶろ」で検索してもみつからない。 おまとめ情報 FrePAN http://frepan.64p.org/ 手前味噌ですが、FrePAN の feed を購読すると、Chnag

    adilla
    adilla 2013/09/10
  • 初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記

    この記事は abicky.net の 初めて Perl でコードを書く時に知っておきたかったこと に移行しました

    初めて Perl でコードを書く時に知っておきたかったこと - あらびき日記
  • ゆーすけべー日記

    __papix__ 君が主催をして開催している Perl入学式 というイベントがあります。Unix/Linux/OSXの環境構築から始まり最終的にはWebアプリケーションをつくるハンズオン形式の勉強会を今年は年6回に分けて開催しているようです。かなり丁寧にPerlを教えているという印象があって、それがどんな雰囲気か以前から気になっていたのですが、昨日「Perl入学式 in 東京 #2」にサポーターとして途中から参加させてもらいました。 簡単に感想を述べると「これはすごくいい」。肝は最適な練習問題が所々出され、するとみんな黙々とコーディングし始めるんだけど、それが終わると、参加者同士でコードを見せ合って「これで合ってるかな?」「私はこんな風に書いたよ」と言うようなコミュニケーションが生まれてたりしているのです。正直その様子を見て感嘆しましたよ。 *追記「Perl入学式の補講があるらしいよ!」

    ゆーすけべー日記
    adilla
    adilla 2013/07/02
  • サービスごとに異なるパスワードを使い分ける方法 - kazuhoのメモ置き場

    最近、パスワードの使い回しをしているユーザーに対する攻撃が出回るようになってきています (参照: パスワード攻撃に対抗するWebサイト側セキュリティ強化策 | 徳丸浩の日記) が、マスタパスワードからサービスごとに異なるパスワードを自動生成するのが簡単な対策ですよね。 プログラマなら(もしくはコマンドライン操作に慣れているのなら)、こんな感じでできるかなーと思います。 $ perl -MDigest::HMAC_SHA1 -wle 'print Digest::HMAC_SHA1->new($ARGV[0])->add($ARGV[1])->b64digest' "my-master-password" example.com Mau83v+ml6dRViOZhcRdHM0NXzY $HMAC 関数にマスターパスワードとサービスのドメイン名をわせて、その出力をサービス専用のパスワードにす

    サービスごとに異なるパスワードを使い分ける方法 - kazuhoのメモ置き場
    adilla
    adilla 2013/05/11
  • ひさびさに STDIN キャプチャしようとしたら、ちょっとだけハマった - tsucchi の日記 2nd season

    Perl 5.18 からは、PerlIO::scalarでopenできるのはバイト列だけになるようです。 とのことだったので、「あれ?utf8の文字列を STDIN 経由でキャプチャしたらどうなるんだっけ?」とか、ちょっと気になったのでやってみた。 最初に書いたのがコレ。(いつものやつです) #!/usr/bin/perl use strict; use warnings; use utf8; use Test::More tests => 1; sub cat { my $result = ''; while( <STDIN> ) { $result .= $_; } return $result; } { my $inputs = "あ\nい\nう\n"; open my $IN, '<', \$inputs; local *STDIN = *$IN; is( cat(), "あ\nい

    adilla
    adilla 2013/04/29
  • サンプルコードによるPerl入門のコーディングルール - Perl入門ゼミ

    Perl › コーディングルール サンプルコードによるPerl入門は、以下のコーディングルールに従って作成されています。参考にどうぞ。 スタイル インデントはスペースで2 sub parse { my $str = shift; my $tree; ... return $tree; } 1行は79文字以内 1行は79文字以内で書いています。 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa スペース 括弧 () の内側にスペースを入れない my @nums = (2, 4, 5); my %ages = (kimoto => 20, ken => 25); my $total = (2 + 3) + 2; while ($num == 2) { ... } for (my $i

    サンプルコードによるPerl入門のコーディングルール - Perl入門ゼミ
    adilla
    adilla 2013/03/29
  • Perlの食えない事情 - 演算子編 - アリ

    Perlえない事情 より おっと、そうです、Perlには演算子が多すぎるのでした。せっかくの機会なので、Perlの演算子を紹介します。 ビーナス演算子: 0+, +0 数値として評価してくれます。意外とよく見かけますね。 なぜこの演算子を使う必要があるのかというと、Perlは文字列と数値を明確に区別できないからです。scalarを文字列として解釈するならば文字列として、 print 0+ '10'; #=> 10 print 0+ '123b'; #=> 123 print '1.2e3' +0; #=> 1200 print [] +0; #=> 4303367864 ちなみに、文字列として評価するときにはこのようにするとかっこいいと言われています。 $obj.q(); 一見メソッド呼び出しのように見えますが $obj . ''; と等価です。 ベビーカー演算子: @{[ ]} 文字

    Perlの食えない事情 - 演算子編 - アリ
    adilla
    adilla 2013/02/04
    全然しらねーw
  • 開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー

    開発メモその3です。今回は Perl のおはなし。 何年も前に作ったウェブアプリケーションのコードを開いてみたら黒歴史なコードが出てきて憂な気分になる、そんな経験ありませんか。私はあります。ずっとそんな現実から目を背けて生きてきました。 さて、先日 Perl + CGI で書いて Apache::Registry で高速化している、実行環境が Apache に癒着した CGIアプリケーションを発見しました。おえ〜っ。一から作り直したい気持ちをぐっと堪えて、これを Plack 化したりとリフォームしていくとしましょう。その過程を以下記します。劇的ビフォア・アフター! ・・・とかは期待せず、地道な変更を積み重ねていくのがコツです。 方針 いきなりコードをがりがり書き換えていくというよりは、試行錯誤のしやすい環境に移行させていきながらリフォームを進めます。遠回りですが、結果的にその後の運用が楽

    開発メモ#3 : レガシーなCGIアプリケーションのリファクタリング - naoyaのはてなダイアリー
    adilla
    adilla 2013/01/29
  • Webアプリにおけるキャッシュ。オレオレ事例 - ゆーすけべー日記

    Webアプリにおいて、アクセスやデータ量が多く/大きくなってくると、 バックエンドのパフォーマンスが低下しがちです。 MySQLなどのRDBMSにデータを置いている場合は適切に クエリーを改善する、インデックスを張る、といった策で解決する場合もありますが、 キャッシュを効果的に利用することでより高負荷に対応できる可能性があります。 また、外部APIへの問い合わせなど、どうしてもネットワークや他のリソースのレスポンスタイムに 引きずられる部分に関しては情報を手元にキャッシュしておくと何かとよいでしょう。 今回はWebアプリケーションのレイヤーで最近僕がどのようにキャッシュを使っているのか? の事例を紹介しつつまとめてみたいと思います。 キャッシュについてとその基 そもそもキャッシュとは、簡単にふわっと表現するならば、 「一時的に情報を手元の近い場所に置いておいて利用する手法、もしくはその一

    Webアプリにおけるキャッシュ。オレオレ事例 - ゆーすけべー日記
  • 第16回 Perl内部構造の深遠に迫る(1) | gihyo.jp

    連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はgfxこと藤吾郎さんで、テーマはPerlの内部構造です。 内部構造を覗く Perlで開発をしていると、ときどきわかりにくい現象に遭遇することがあります。たとえば、あるデータをJSON(JavaScript Object Notation)にシリアライズするとき、数値としてシリアライズしてほしい値が文字列としてシリアライズされてしまう。あるいは、エンコーディングが正しいはずなのに文字化けが起きる。こんなときは、思いきってPerlの内部構造を覗くことで、何が起きているかを突き止めることができます。 稿では、Perlの内部構造について解説します。言及するperlはバージョン5.16.0(2012年5月21日リリース)です。また、ターミナルのエンコーディングはUTF-8を想定しています。なお、Perl処理系はC言語で書かれてい

    第16回 Perl内部構造の深遠に迫る(1) | gihyo.jp
    adilla
    adilla 2012/12/18
  • vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual

    @tokuhirom です。Perlを書き始めて8年ほど経ち、Perlで何か作る際の効率化の手法がそれなりに確立してきたので、それを思いつくままに紹介しようと思います。主に多言語から来てPerlにほどんど慣れてない方などを想定しています。 僕の秘伝のタレ的な .vimrc の中から perl に関係ある部分だけをぬきだしてお教えしましょう。すべて設定すればだいぶ快適になりそうです。とかかいてると教えるのもったいない気分になってきた。 ぼくの環境 僕は vim の環境として以下のようなものを指定しています。mattn さんからは DIS られがちです。 neosnippet unite.vim pathogen vim-perl プロジェクトの成果物をつかう https://github.com/vim-perl/vim-perl なんか最近、perl-vim から vim-perl にかわ

    vim で Perl を書くときのための tips - Articles Advent Calendar 2012 Casual
  • Graphviz::DSL - 「逆に考えるだ, DOTファイルっぽく書いちゃってもいいさと」 - Articles Advent Calendar 2012 Hacker

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

    Graphviz::DSL - 「逆に考えるだ, DOTファイルっぽく書いちゃってもいいさと」 - Articles Advent Calendar 2012 Hacker
  • App::YG - ログをう゛ぁーてぃかるぱみゅぱみゅしちゃう!! - Articles Advent Calendar 2012 Hacker

    やあハッキングモンスターのみんな、元気かーい? ぼくは普通です。 きょうはみんなでログをう゛ぁーてぃかるぱみゅぱみゅしちゃうぞ!あ、こんにちは bayashi です。 さて、ログは見てるかい?cat してるかい? tail してるかい? GB単位のログを vim で開いてフリーズさせてやいないかい?ログは吐いたら終わりじゃいけないぜ!ちゃんとうぉっちしないと鬼がでちゃうぞ!! とはいえ、そんなログも、たいていは1行につらつらと書かれてて見るのがつらいね!!例えばこんなやつだ。 $ tail log 127.0.0.1 - bayashi [10/Oct/2000:13:55:36 -0700] "GET /apache_pb.gif HTTP/1.0" 200 2326 "http://www.example.com/start.html" "Mozilla/4.0 (compatible

    App::YG - ログをう゛ぁーてぃかるぱみゅぱみゅしちゃう!! - Articles Advent Calendar 2012 Hacker
  • Data::Section::Simpleで__DATA__をカジュアルに使おう! - Articles Advent Calendar 2011 Casual

    初めまして、@nqounetです。 2011年はYAPC::ASIAデビュー(参加という意味で)したので、アドベントカレンダーもデビューしたいと思います。 そんな新人の私でもカジュアルに使えそうな Data::Section::Simple を紹介します。 「ヒアドキュメント」って知ってますよね? my $html = <<"EOM"; <html> <head><title>タイトル</title></head> <body>ボディ</body> </html> EOM こんなヤツです。 古いCGIファイルを見るとよくありますよね? でも、ヒアドキュメントを使っているコードが見難いと思ったことはありませんか? 思いますよね。 そんな時には「__DATA__」を使うと簡単にコードが見やすくなります。 #!/usr/local/bin/perl use utf8; use 5.008001;

    Data::Section::Simpleで__DATA__をカジュアルに使おう! - Articles Advent Calendar 2011 Casual
    adilla
    adilla 2012/12/08
  • Term::UI - サクッと対話的に入力を求める - Articles Advent Calendar 2011 Casual

    こんにちは、コンビニに行くたびに店員さんから舌打ちされるdameninngennです。サックリと書きます! 対話的に処理を進めるスクリプト書いたりしますよね!あの[yes/no]とか聞かれて入力するやつです!! 例えばrsyncで--dry-runオプション付きで一旦実行して、そこから[yes/no]を聞いて当にsyncするかどうかみたいな感じのやつです!!! まず、標準入力から受け取るだけであれば、 my $str = <STDIN>; chomp $str; # do something # ... こんな感じに受け取ったりするかと思いますが、当に[yes/no]が入力されたのか判定したりそうじゃなかったらもう一回入力求めたりとか書くのめんどくさいですよね。 そこらへんのめんどくささとかを解消してくれるTerm::UIというモジュールがあります。 誤解を招くかもしれませんがTerm

    Term::UI - サクッと対話的に入力を求める - Articles Advent Calendar 2011 Casual
    adilla
    adilla 2012/12/08
  • Mojolicious::Lite を使って一人ぼっちSNS「AloneSNS」を作る。 - Articles Advent Calendar 2012 Casual

    おでんが美味しい季節になって来ましたね。たまごがないとおでんをべた気になれない mattn ですこんにちわ。 Twitter や Facebook に代表される大型SNS(ソーシャルネットワーク)を見ると、数年前には考えられない程の動的コンテンツを扱っていて、機能は目覚しく移り替えし、Ajax API を使うなんてのは当たり前の世の中になりました。 もはや「Ajax API を提供してクライアントサイドで動的コンテンツを整形する」といった事は、こういった大規模サイトでなくとも一般的な状況になりつつあります。 モダンなウェブサイトを作る際、僕はよく API を先に作ります。データベース設計が終わった段階で、それを API としてサーブする為の仕組みを作ります。 Java であれば エンティティ DAO (Data Access Object) サービス といった流れでしょうか。Perl

    Mojolicious::Lite を使って一人ぼっちSNS「AloneSNS」を作る。 - Articles Advent Calendar 2012 Casual
    adilla
    adilla 2012/12/08