タグ

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

  • perl の Win32::GuiTest モジュールを使ってみる。 - IT戦記

    はじめに 久々の perl。突っ込まれるのを期待しつつやってみます。 準備 Strawberry Perl for Windows をインストール PATH を通して、コマンドプロンプトを起動して、 > cpan -i Win32::GuiTestでおk。 何から始めよう IE8 をどこまで操作できるかやってみる。 IE8 を起動 use strict; use warnings; use utf8; system('explorer http://www.google.co.jp/'); おおお。 IE8 のウィンドウハンドルを取得 use strict; use warnings; use utf8; use Data::Dumper; use Win32::GuiTest qw(:ALL); # これをやっておかないと中で shift-jis 前提で扱われるみたい UnicodeSe

    perl の Win32::GuiTest モジュールを使ってみる。 - IT戦記
    Aoba
    Aoba 2008/12/09
  • Perl スクリプトで遅い場所を特定する方法 - Devel::Profiler / Devel::NYTProf

    仕事で書いてる Sledge アプリがあるのですが、先日負荷テストを行った結果びっくりすることに現行アプリの10倍遅いことが判明してしまいました・・・orz Sledge フレームワーク自身が重くないことは今までの経験でわかってるのですが、どうにもソースを見直しているだけでは原因が特定できない・・・そんな活躍するのがプロファイラです。プロファイラの御陰で遅いヶ所を特定することができ、無事に想定するパフォーマンスを得ることができました。この内容に関してはまた別エントリにて。 さて、プロファイラを使うとプログラム実行時の各種情報を収集し、性能解析を行うことが可能です。プロファイラについてもう少し詳しくしるには 性能解析 - Wikipedia あたりを読むと良いでしょう。 プロファイラ(英: Profiler)は性能解析ツールであり、プログラム実行時の各種情報を収集する。特に、関数呼び出しの

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

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

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

    Moose はなにではないか Moose Is Not 実験やプロトタイプ (experimental) おもちゃ (toy) もう一つのアクセサビルダー (accessor builder) ソースフィルタ (source filter) 黒魔術 (black magic) Perl 6 in Perl 5 Mooseとはなにか Moose Is Perlのための完全にモダンなオブジェクトフレームワーク A complete modern object framework for Perl Mooseとはなにか Moose Is Class::MOPのためのシンタックスシュガー (Syntactic sugar) 祖先たち (ancestry) CLOS (Common Lisp Object System) Smalltalk Alces latifrons Perl 6 … 安定して

  • 第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp

    はじめに はじめまして。大沢と申します。 この連載では、筆者が実装したCPANモジュールのClass::Componentを題材にしつつ、近代的なPerlでのプラガブル(拡張可能)なソフトウェアの実装方法を紹介します。 今回は、Class::Componentの概要を説明します。 連載で使うサンプルアプリケーション 連載では、プラガブルなモジュールを作製するという事を考えて、Gopperというサンプルアプリケーションを元に解説を行ないます。 GopperはCodeRepos上のsvnリポジトリに置いてあるので各自checkoutしてください。 svn co -r 271 http://svn.coderepos.org/share/lang/perl/Gopper/trunk Gopper サンプルアプリケーションは連載中にも頻繁にupdateされる事が予想されますので、毎回リビジョン

    第1回 Class::Componentから始めるプラガブルモジュール | gihyo.jp
    Aoba
    Aoba 2007/10/11
  • 遅ればせながらShibuya.pm #8 のまとめ | ブログが続かないわけ

    1. Gungho http://search.cpan.org/dist/Gungho/ http://search.cpan.org/dist/Swarmage/ http://search.cpan.org/dist/POE-Component-MDBA/ makiさんが扱っているものはいつも興味深い。最初に発表を聞いたのは一昨年のYAPCのDateTimeネタ。そのあとはSennaのお話を良く聞いた。そして今回はGungho。 幅広い人。 今まではWebからのデータの収集にXangoを使っていたとのこと。しかし、Xangoは難しすぎるらしく、また、カスタマイズもできないとのこと。それをなんとかしたくてGunghoを作った。 以下、ポイント クローラーはDBにアクセスしない。ひたすらクロールに専念して、とっととworkerに渡す。 workerはジョブキュー方式で実装。そのジョブキュ

    遅ればせながらShibuya.pm #8 のまとめ | ブログが続かないわけ
    Aoba
    Aoba 2007/10/09
    Web::Scraper
  • perl - 勝手に添削 - ニコニコ動画ダウンローダー : 404 Blog Not Found

    2007年08月04日04:30 カテゴリLightweight Languages perl - 勝手に添削 - ニコニコ動画ダウンローダー スライドもなんとか上がったので、リハビリもかねて久々の添削。 Perlでニコニコ動画のflvとコメントxmlをダウンロードする (Yusukebe::Tech) さんざん既出かもしれないけどPerlでニコニコ動画のflvファイルとコメントのxmlファイルをダウンロードするスクリプト。まずは結果から。 #!/usr/bin/env perl # # $Id: nicoget.pl,v 0.1 2007/08/03 19:26:19 dankogai Exp dankogai $ # original: http://yusukebe.com/tech/archives/20070803/124356.html # use strict; use wa

    perl - 勝手に添削 - ニコニコ動画ダウンローダー : 404 Blog Not Found
    Aoba
    Aoba 2007/08/04
    の勉強。
  • Bulknews::Subtech - Cometd

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

    Bulknews::Subtech - Cometd
    Aoba
    Aoba 2007/01/29
    C10K
  • Perl 5はCOPでOOOP : 404 Blog Not Found

    2007年01月26日06:00 カテゴリLightweight Languages Perl 5はCOPでOOOP オブジェクトっていつからこんなややこしいものになったのか。 sumim’s smalltalking-tos - オブジェクト指向言語として必須な要素とは何か? ケイ パーソナルコンピューティングに係わるものをメッセージングで表現。 ストラウストラップ 抽象データ型(この文脈ではユーザー定義型を指す)を「クラス」を使って定義。 クック データに持たせる「手続き」によるデータ抽象化手法(対極に「抽象データ型」。ただし、この文脈で「抽象データ型」は、データに持たせる「型」による抽象化手法を指す) 私に言わせれば、オブジェクトの定義は 404 Blog Not Found:オブジェクトは難しくない。難しいのはクラス 自分が何が出来るのかを知っているデータ で必要十分であり、そして

    Perl 5はCOPでOOOP : 404 Blog Not Found
    Aoba
    Aoba 2007/01/26
    『オブジェクトとは自分が何が出来るのかを知っているデータ』 ああシンプル。
  • [を] Dynamic Programming による類似文字列マッチの実装例

    Dynamic Programming による類似文字列マッチの実装例 2007-01-22-4 [Programming][Algorithm] 「Modern Information Retrieval」(8.6.1 p.216) での Dynamic Programming (DP) の解説のところのアルゴリズムを 素直に Perl で実装したみた。 さらにマッチ箇所取り出しロジックも実装してみた。 DP はいわゆる「類似文字列検索(あいまい検索)」に使うと 便利なアルゴリズム。 実は、大学院でも前の会社でも、PerlやらC++やらで実装して使ってた。 単純ながら使い勝手もよく、まさに現場向きかと。 grep 式に頭から見ていくので計算量的にはイマイチなのだが、 転置インデックス検索などで範囲を絞ってから適用すれば実用上問題ない。 ■定義みたいなの Q1. 二

    Aoba
    Aoba 2007/01/24
  • {perl,ruby} -nle 'print if /start/../end/' : 404 Blog Not Found

    2006年12月22日19:00 カテゴリLightweight Languages {perl,ruby} -nle 'print if /start/../end/' アルファギークでも知らなかったというのは、不思議でもあり当然のようでもあり。 naoyaグループ - naoyaの日記 - if /regexp/../regexp/ Perl で正規表現を .. すると、その間に含まれる文字列という意味でマッチさせられる。 % w3m -dump_source http://www.yahoo.com/ | perl -nle 'print if /^<style/../<\/style>/' とするとこれ、実に由緒正しい使い方で、たしかまだperlがhashすらサポートしていない頃からあったと記憶しています。なにしろsed/awkが起源ですから。 NAME operator - se

    {perl,ruby} -nle 'print if /start/../end/' : 404 Blog Not Found
    Aoba
    Aoba 2006/12/24
    全然知らんかった。覚えておこう。
  • IP アドレスから国コードを検索

    ご無沙汰しています。 自宅サーバの HDD が異音と共にぶっ壊れてしまい、10 分で作る Sledge アプリの動画とかのサルベージが出来ず、すっかり意気消沈の今日この頃、皆様いかがお過ごしですか。 なんか先日、「誰が攻撃しているか突き止めたい」というネタがホッテントリになってて、それに合わせてIPひろばというサイトもホッテントリになってました。 空前の逆探知ブームなのでしょうか。 変なカップヌードルのべかたをする半袖さんが、それを追うように、DNSBLスタイルのクエリーを利用してIPアドレスから国コードを検索というネタを書いていますが、IP アドレスを元に国コードを調べるコマンドラインには、こんな方法もあります。 Geography::Countries と、IP::Country という CPAN モジュールを入れると、ip2cc というコマンドラインツールもインストールされます。

    IP アドレスから国コードを検索
    Aoba
    Aoba 2006/12/20
    IPアドレスから国コード
  • Perl/PHP - Ranvis Script

    Perl使いのPHP的な構文 型,文字列内の変数表現,ヒアドキュメント,リスト ソート 配列・連想配列の並び替え 備忘録 メモ:失敗集

    Aoba
    Aoba 2006/11/24
  • Flickr::API と Cookie を

    だいたい掴んだ。 意味もよくわからず、CGI::Session に secure オプションをつけて、「おかしいなー、クッキー取れないなぁ」とかって半日悩んだ。3連休最後、いろんな意味ですばらしい締めくくり。 Cookie仕様 日語訳 - http://www.futomi.com/lecture/cookie/specification.html 今の会社に転職するまで、CookieJavaScript もないモバイルな環境の仕事しかしてこなかったので(すごい言い訳)、Cookie、知ってはいるけれど具体的にナニをアレしてとか、さっぱりやったことなかったけど、今日ようやく。 CGI::App で Flickr::API を使った認証するのを、Web+DB Press Vol.34 みながら書いてみた。CGI::App化したの以外はだいたい同じ。だらだら全部コード貼り付けておいてみ

  • Six Apart - Tech Talk Blog:f ウェブアプリケーションのテストの仕組みを読み解こう

    はじめまして。Vox 開発エンジニアの谷です。 突然ですが、Vox の開発はいつから始まったのでしょうか。当ブログの以前のエントリーにもありますが、Vox はプレビュー版として3月にサービスが開始されていることからもわかるように、開発は去年から行われていました。となると、もうそれなりに期間の長いプロジェクトですし、アプリケーションの規模でも今では弊社の他の製品に引けを取らないほどになっています。 私が Vox の開発に加わったのは今年の8月なのですが、既に大きく成長していたアプリケーションを前に、最初は「Vox を壊してしまわないだろうか…」という不安を抱えていました。しかし大量のテストコードのおかげで既存のアプリケーションを壊さずに、簡単、確実に機能を追加していくことができたのです。(実際にはテストのおかげで壊れているのが発覚したりしたのですが…) 前置きはこれぐらいにして、Vox は

    Aoba
    Aoba 2006/10/21
  • 404 Blog Not Found:perl - no warnings 'unintialized'

    2006年09月08日05:00 カテゴリLightweight Languages perl - no warnings 'unintialized' はてぶ経由でCharsbarさんからも指摘あり。 [を] not defined とヒアドキュメント 昔はそうやっていたのですが、「use warnings」を使い始めたら、 警告 ("Use of uninitialized value ...") が出るようになったので、 いつも入れているのです…。これまたPerlの世界ではTMTOWTDIな対策があるのだけど、いい機会なのでここでその対策をまとめておきます。 no warnings 'uninitialized'; これが一番基的な対策になります。Scope単位で有効なpragmaなので、 use warnings; sub foo{ no warnings 'uninitiali

    404 Blog Not Found:perl - no warnings 'unintialized'
    Aoba
    Aoba 2006/09/09
    Perl6いいなぁ…
  • javascript - youtube selector + 勝手に添削 : 404 Blog Not Found

    2006年09月06日15:15 カテゴリLightweight Languages javascript - youtube selector + 勝手に添削 たつをさんのYouTube plugin 4 charlowにインスパイヤされて、こんなの作ってみた。 [を] YouTubeプラグイン ## YouTube # usage: {{youtube('ID', 'size:1<2<3<4<5(default)<6<7<...')}} # Ex. {{youtube("e9-L68H0AHU", 2)}} sub youtube { my ($id, $size) = @_; $size = 5 if (not defined $size or $size < 1); my $url = "http://www.youtube.com/v/$id"; my ($w, $h) = (8

    javascript - youtube selector + 勝手に添削 : 404 Blog Not Found
    Aoba
    Aoba 2006/09/07
    添削がちょっと気になるのでアレ
  • プログラミングと開発者のためのCodeZine:Perlで作るモバイルサイトのコツ:第1回(Perl, モバイル, CPAN)

    http://www.cpan.org/。Perlのライブラリ・モジュールソフトウェアやその他のPerlで書かれたソフトウェアを集めた巨大なアーカイブで、世界中のサーバーにその内容がミラーされています。 対象読者 Perlを実行できる環境にて携帯サイトの構築を考えている方。 必要な環境 Apache 1.3系または2系 Perl 5.6以上 User-Agentより端末判別を行う 携帯サイト構築の主な処理として挙げられるのがUser-Agent解析によるキャリア、モデル、シリーズなどの分類処理かと思われます。iモード、EZweb、Vodafoneの3キャリアを判別するだけでも複数のパターンが存在しており、端末のモデルを取得するまでにはさまざまな条件分岐処理の記述が必要となります。それらをスマートに行う方法はHTTP::MobileAgentを使うことで、User-Agent

    Aoba
    Aoba 2006/08/04
  • Apache::Session - セッションデータのための永続フレームワーク

    名前 概要 説明 インターフェース セッションの結びつけ セッションへのデータの格納とデータの取り出し セッションIDの読み込み 永遠に記憶装置からセッションを削除する 動き ロックとトランザクション 実装 戦略 Apacheプロセス間でデータを共有する クッキーでユーザを追いかける 参考資料 作者 名前 Apache::Session - セッションデータのための永続フレームワーク 概要 use Apache::Session::MySQL; my %session; #最初に訪れた人のために新しいセッションを作る tie %session, 'Apache::Session::MySQL'; #そこに何か値を入れる $session{visa_number} = "1234 5678 9876 5432"; #後で使うようにセッションIDを取得する my $id = $session{

    Aoba
    Aoba 2006/07/14
    セッション管理
  • http://e8y.net/blog/2006/07/06/p124.html

    Aoba
    Aoba 2006/07/06
    フック機構