タグ

ブックマーク / perl-users.jp (10)

  • パスワード設定をコードに書かない(Config::Pit) - モダンなPerl入門 - モダンなPerl入門

    パスワード設定をコードに書かないようにするには Config::Pit をつかいます。 なぜ必要なの? アカウント情報が必要なWebサービスを利用するスクリプトを作るとき、アカウントやパスワードをスクリプトのコードに直接書き込むと(ハードコーディング)、そのスクリプトがほかの人に見られてしまうことによりパスワードが漏洩してしまいます。 Config::Pitは、外部ファイルにWebサービスのアカウント情報を格納しておき、スクリプト側で必要なときに、読み出しできるようにします。これにより、スクリプト内にアカウント情報をハードコードすることがなくなり、スクリプト単体でのパスワード漏洩が防げます。 例:コードを配布しようとして、 #!/usr/bin/perl use strict; use warnings; use utf8; use Encode; use WWW::Mechanize;

    mrorii
    mrorii 2012/01/28
  • 使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual

    gfxと申します。 Perlは後方互換性を重視しているので、標準モジュールはめったに取り除かれる事がありません。しかしそれでも、いくつかのモジュールが将来的に取り除かれる見込みです。そのようなモジュールは使用しないほうがいいでしょう。また、取り除かれはしないものの、様々な理由から使用すべきでないモジュールもいくつかあります。今日は、そういった使うべきでないモジュールを紹介します。なお、このエントリの対象バージョンは5.8から5.14を想定しています。 さて、まずは取り除かれるモジュールです。現在のところ、以下の三つのモジュールが5.14でコアから削除される予定です。 Class::ISA Pod::Plainer Switch Class::ISAはクラス階層を直列化するモジュールですが、5.10以降はmroに取って代わられました。5.10未満のバージョン用にはMRO::Compatが用意

    使っちゃいけない標準モジュール - Articles Advent Calendar 2010 Casual
    mrorii
    mrorii 2010/12/24
  • Algorithm::SVMLight をインストールして使ってみよう - JPerl Advent Calendar 2009

    Algorithm::SVMLight をインストールして使ってみよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? overlast(さとうとしのり)です。 僕は普段、自然言語処理技術を活用する仕事に従事しています。 Perl は「アイディアが浮かんでからコードを実行するまでの早さ」や「急で無茶な仕様変更への対応のしやすさ」などが好きで使っています。最初に Perl で実装して、後日速度が求められるようになったら、遅い部分だけ C / C++ で書き直すことが多いです。 Perl の CPAN モジュールの Author の方にはいつもお世話になっております。当にいつもどうもありがとうございます。 さて今回は、教師あり学習を用いる識別手法の一つである Support Vector Machine

  • Mac OS Xでもlocal::libをつかってCPANモジュールを入れよう - JPerl Advent Calendar 2009

    Mac OS Xでもlocal::libをつかってCPANモジュールを入れよう - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? 概要 local::libは簡単にいうとCPANモジュールをシステム標準とは違う任意のディレクトリにインストールする設定を支援してくれる便利ツールです。root権限の無いレンタルサーバーでCPANモジュールをインストールするために使われたり、Remedieのように依存CPANモジュールごとまとめて配布するのに使われたりします。 今回はMac OS Xでsudo権限を使わずにCPANモジュールをインストールするための方法を解説します。 標準のPerlのモジュールと後からインストールしたCPANモジュールを別ディレクトリに分けておけるので OSのインストールしなおしでもバージョン

    mrorii
    mrorii 2010/07/27
  • Acme::EyeDropsでアナタも記号プログラマー! - JPerl Advent Calendar 2009

    最近、全裸で転職しました。sugyanです。 まだまだPerlのことはよく分からないトーシロですが、大好きなモジュールを紹介したいと思います。 はじめに Perlは非常に柔軟な言語で、TMTOWTD【There's More Than One Way To Do It.】と言われる通り、同じ処理をするプログラムでも色んな書き方ができます。 例えばプログラムを予約語だけで書いてみたり、記号だけで書いてみたりできちゃうわけですね。 そんなスーパーハッカーみたいなことをやってみたい!という願望はPerl好きの変態な皆さんなら誰しも持っているのではないでしょうか!? 今回紹介するモジュールAcme::EyeDropsは、そんな変態プログラミングをお手伝いしてくれるモジュールです。 CPANからインストールできます。最新バージョンは1.55です。 使い方(初級編) まずは何も考えず普通のプログラムを

  • CPANライブラリ - モダンなPerl入門

    CPANモジュール入門 Perl Mongers が普段つかっているオススメの CPAN モジュールを厳選して紹介する こんなとき、どんなモジュールをつかったらいいの?という疑問に答えられるようなドキュメント(になる予定) モバイル関連のモジュールについては扱わない。量も多いから別枠で。 目次 HTTP LWP::UserAgent LWPx::ParanoidAgent Web::Scraper HTTP::Engine O/R Mapper DBIx::Class Data::ObjectDriver テンプレートエンジン Template-Toolkit HTML::Template Text::MicroMason メール 送信(Email::MIME + Email::Send) パーズ(Email::MIME) データ CSV(Text::CSV_XS) JSON(JSON.p

  • キャッシュしよう

    京都観光で散財しすぎて貯金がないmalaです。こんにちは。キャッシュの話を書きます。 色んなキャッシュがあります データベースから引く前にmemcachedから取得したり テンプレートエンジンのレンダリング結果をキャッシュしたり 各種ウェブサービスのリクエスト結果をキャッシュしたり その他諸々CPUったり時間のかかる処理をキャッシュしたり 簡単に思いつくのはこの程度ですが、スケーラブルなウェブサイトを構築するには常識的に考えてそんなのキャッシュしねーだろうというようなものをキャッシュする必要があります。 DateTimeをキャッシュしよう 同じ時刻に対するDateTimeオブジェクトをキャッシュします。 package MyDateTime; use strict; use base qw(DateTime); my %CACHE; sub now { my $class = shif

    mrorii
    mrorii 2010/07/23
  • Perlではじめるテキストマイニング - JPerl Advent Calendar 2009

    Perlではじめるテキストマイニング - JPerl Advent Calendar 2009 Perl に関するちょっとした Tips をのっけてみるよ。ちゃんと続くかな? ■前置き みなさんこんにちは。ダウンロードたけし(寅年)です。来年は年男なので今からお正月が待ち遠しい35歳2児の父です。 ここ数年、web広告業界ではコンテキスト解析とかユーザの行動分析とか、いわゆるデータマイニング/テキストマイニング系の話題が花盛りです。 自分もそんな業界に属しているんですが、ふと気がつくと日語のテキストマイニング系モジュールを量産してしまっているので、ここらでいくつか紹介してみたいと思います。 今回はインターネットからブログなどのコンテンツを取得して、それを意味解析してクラスタリングする、といったようなことを題材にモジュールの紹介をしてみます。 ■HTML::Featureで文抽出 まずは

  • XS code template - 動的にXSUBを生成する - エキスパートPerl - Perl-users.jp

    XSコードはふつうPerlコードよりも多機能で高速ですが,書くのが難しいため敷居が高いことも事実です。また,いちいちコンパイルしなければならないのも煩わしい点です。 ところで,Perlにはクロージャという仕組みがあり,動的にコードを生成することができます。したがって,XSでクロージャに等しいことを実現できれば,XSコードの煩わしさを避けつつXSの利益を享受することができます。 なお,この文書はXSによるコード例を解説していますが,XSそのものについては解説しません。 XSについてはperlxstutやperlxs,perlapiを参照してください。 クロージャの分析 まず,Perlのクロージャを分析します。Perlのクロージャは以下のようなものです。 sub make_accessor{ my($name) = @_; return sub{ $_[0]->{$name} }; } my

    mrorii
    mrorii 2010/01/15
  • バイナリファイルを解析する

    Perlといえばテキスト処理や正規表現が得意で、バイナリを扱うような話についてはあまり聞かない印象があります。Perlが持つ関数pack/unpack等でもバイナリ処理は可能ですが、今回はData::ParseBinaryを使ってバイナリファイルを気軽に解析してみましょう。 基 ファイルからストリームを作る 解析したいファイルをData::ParseBinaryで扱えるストリームに変換します。 use Data::ParseBinary; my $stream = CreateStreamReader(File => $file_handle); 解析したい構造を定義する Struct関数で解析したい構造を定義します。Struct以下には基データ型やコンテナ型、ビット/バイトパディング型、制御構文型等を使用できます。各型に指定したラベルが解析結果として得られるハッシュのキーとなります。

  • 1