タグ

ProgrammingとPerlに関するagwのブックマーク (433)

  • tokuhirom blog

    Blog Search when-present<#else>when-missing. (These only cover the last step of the expression; to cover the whole expression, use parenthesis: (myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack trace ("~" means nesting-related): - Failed at: ${entry.path} [in template "__entry.ftlh" at line 3, column 25] - Reached through: #include "__entry.ftlh" [in template "entry.ftlh" at

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

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

    はてなグループの終了日を2020年1月31日(金)に決定しました - はてなの告知
  • Perl DBI: MySQL から SQLite への移行 - DeNA 技師のメモ

    地味なんだけど、同じ Perl DBI なのに MySQLSQLite で挙動が違っていてハマった点:MySQL で SELECT した後、SELECT の取得結果があるかどうかをステートメントハンドルオブジェクトの rows メソッドを使い「if ($sth->rows)」などでチェックしていたが、SQLite だとこれが効かず、SELECT できた場合でも 0 が返る。『入門 Perl DBI』によるとSELECT 文に対しては、すべてをフェッチすることを除いて、返される行数を知ることはできない。(中略) したがって、SELECT 文に rows メソッドや DBI::rows を利用することは勧められない。とのこと。MySQL の時はたまたま使えているということか。SQLite の場合、$dbh->commit や $dbh->disconnect する前に、SELECT に使

  • ベイジアンフィルター Perlで作りたい人に教えてあげたいちょっとしたこと - プログラマでありたい

    昨日のはてなのホットエントリーに『入門ベイズ統計』の読みどころという記事が載っていました。ベイズ理論の人気は根強いですね。 ベースとしての数式は割とシンプルなので、自分で実装してもそれ程手間は掛からないかもしれません。しかし、CPANのモジュールとして提供されているので、そちらを使用するのも良いかと思います。私が知っている所では、Algorithm::NaiveBayesが簡単で使いやすかったです。 昔書いたコードですが、下のサンプルでは簡単なスパムフィルターを作っています。spam.txtとham.txtは、それぞれのコーパスを形態素解析して作った単語のみのリストです。test.txtは、判定したい文章から抽出した単語のリストです。スパムとハムの量を増やせば、これだけでも割と使い物になります。 応用例としては、スパムとハムの2種類のカテゴリだけではなく、複数種類のカテゴリを作ればブログの

    ベイジアンフィルター Perlで作りたい人に教えてあげたいちょっとしたこと - プログラマでありたい
  • LLからCL? - 書評 - 実践Common Lisp : 404 Blog Not Found

    2008年07月28日10:00 カテゴリ書評/画評/品評Lightweight Languages LLからCL? - 書評 - 実践Common Lisp 共訳者の佐野様より献御礼。 実践Common Lisp Peter Seibel 佐野匡俊 / 水丸淳 / 園城雅之 / 金子祐介訳 [原著:Practical Common Lisp] なんでこういう Common Lisp がなかったかという、さまざまな意味で21世紀的な Lisp。LL、特に「P言語」の読者は必読。CLに走るせよ、LLに留まるにせよ。 書「実践Common Lisp」は、英文学科(と便宜的に訳すが、ずばりEnglish)を卒業してジャーナリストとなった後、PerlプログラマーJavaプログラマーを経てCommon Lispプログラマーとなった異色の「第二世代 Common Lisper」である著者が、

    LLからCL? - 書評 - 実践Common Lisp : 404 Blog Not Found
  • サブルーチン引数の参照渡しについて - 旧燈明日記

    ここ数日、私を悩ませた「@_の要素アドレス可変問題」ですが・・・、結局、私の「参照渡し」についての認識不足が原因でした。 弾さんの力強い一言で閃きました。 Perlにおいて、引数を格納する配列@_は、常に参照(reference)です。値(value)ではありません。 http://blog.livedoor.jp/dankogai/archives/51076794.html 私は、「参照渡し」を知ってはいたのですが、どこかで、なぜかC言語でのポインター渡しと勘違いをしていたみたいです。 ということで、復習してみます。 まず、サブルーチン引数の引き渡しには以下の2種類があります。 実引数の値が仮引数に渡される(値渡し)。 実引数の参照が仮引数に渡される(参照渡し)。 値渡しは、仮引数を変更しても実引数は変更されません。 ポインター渡しも、実は、ポインターを値渡しているのです(C言語では、

    サブルーチン引数の参照渡しについて - 旧燈明日記
  • perl - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found

    2008年07月06日19:30 カテゴリLightweight Languages perl - 暗黙的な参照 # @_ と $_ Good Question! @_の要素の$_[0],$_[1]等は、格納するべきアドレスが可変! - 燈明日記 なぜ、こんな仕様にしたのだろうか・・・。 Good Question だけあって、Good Reasons もきちんとあります。 @_と$_の秘密 まず、事実を再確認しておきましょう。 Perlにおいて、引数を格納する配列@_は、常に参照(reference)です。値(value)ではありません。 これが何を意味するかというと、@_への書き込みが、呼び出し元への書き込みとなるということです。 実際に様子を見てみましょう。 [Run via CodePad] sub inc { ++$_[0] } my $a = 0; print $a, "\n"

    perl - 暗黙的な参照 # @_ と $_ : 404 Blog Not Found
    agw
    agw 2008/07/27
    勉強になる。大変良質なエントリ。
  • @_の要素の$_[0],$_[1]等は、格納するべきアドレスが可変! - 旧燈明日記

    普通、配列は以下のように、要素毎に代入しても、リストで一気に代入しても、要素のアドレスは変わりません。 use strict; use warnings; my @array; $array[0] = "1"; $array[1] = "2"; print "array[0]-> " . \$array[0] . "\n"; print "array[1]-> " . \$array[1] . "\n"; print "\@array-> " . $array[0] . $array[1] . "\n"; @array = ("A", "B"); print "array[0]-> " . \$array[0] . "\n"; print "array[1]-> " . \$array[1] . "\n"; print "\@array-> " . $array[0] . $array[1

    @_の要素の$_[0],$_[1]等は、格納するべきアドレスが可変! - 旧燈明日記
  • Perlコミュニティ活動で宮川達彦氏が日本人で初めて「白駱駝賞」受賞:CodeZine

    オープンソースのプログラミング言語であるPerlは、多くのボランティアの努力によって支えられている。白駱駝賞(The White Camel Awards)は、そうしたコミュニティ活動における貢献者を称えるため、1999年のPerlカンファレンスではじまった。現在ではPerlファウンデーションが毎年OSCONで発表する形となっており、昨年はティム・オライリー(Tim O'Reilly)氏も受賞している。 今年の白駱駝賞は、7月21日から25日まで開催されているOSCON 2008の2日目夜のイベント「Tuesday Evening Extravaganza(火曜の夜は大騒ぎ)」で発表された。受賞者は、宮川氏のほか、オーストラリアのPerlコミュニティからヤシンタ・リチャードソン(Jacinta Richardson)氏と、イスラエルでYAPC::Israelなどを主催するガボール・ザボ(

  • perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found

    2008年07月02日23:00 カテゴリLightweight Languages perl - デフォルト値のperlらしい指定法 Perl Cookbook (English) Christiansen / Torkington [邦訳: Perlクックブック] これでもよいのだけど、さらに恰好つけるとよりperlらしくなるので。 デフォルト値の扱い。 - サンプルコードによる Perl 入門 Scalarによるデフォルト値 sub num{ my $num = shift; # .... } ここは sub num{ my $num = shift || -1; # .... } の方がわかりやすい。0または''を入力値、すなわち非デフォルト値として扱いたい場合のみ、 sub num{ my $num = shift; $num = -1 if not defined $num;

    perl - デフォルト値のperlらしい指定法 : 404 Blog Not Found
  • ラリー・ウォール@Perlは、とっっても愛妻家!/Tech総研

    現在、あなたがお使いのブラウザは、Cookie(クッキー)をブロックする設定になっています。 リクナビNEXTでは、個人情報保護と利便性の観点からクッキーの使用をお願いしています(個人情報収集等の目的では使用しておりません)。お手数ですが、ブラウザの設定を変更してください。

  • no warnings 'whatever' - Unknown::Programming

    404 Blog Not Found:perl - use warnings; # -w でなくて # 2008年06月20日 mzp mzp *プログラム参考, Perl use warningsで再帰を書くと、毎回警告されるのがうざい。 http://b.hatena.ne.jp/mzp/20080620#bookmark-9012282 id:mzpさんのブクマ米にちょっくら反応。 再帰で警告出るのを回避するには「recursion」をつかえばおk。 no warnings 'recursion'; sub plus { my $count = shift || return 0; return plus($count-1) + $count; } print plus(100); 警告出ないお>< とまあコンナ感じでno warnings 'whatever'使えば解除したい警告だ

    no warnings 'whatever' - Unknown::Programming
  • perl - use strict; # and be happy : 404 Blog Not Found

    2006年05月21日05:20 カテゴリLightweight Languages perl - use strict; # and be happy どうやら私のでは、啓蒙が全然足りなかったらしい。 Perl/CGI辞典 - 土井 毅さん 著 - にて use strict が推奨されていない件について - iandeth. p.104 strict プラグマは、Perlスクリプトでの記法を厳密にするためのプラグマです。 (中略) これにより、宣言の曖昧な変数への参照を発見できます。 [参考] strict プラグマは厳密すぎるため、通常のプログラミングではあまり使用しません。 ... orz このが20世紀に出たというのであれば驚かないけど、今年に出たというのは、Perl5 Porterとしてもショックである。 しかし、確かにuse strict; # or dieという姿勢だけ

    perl - use strict; # and be happy : 404 Blog Not Found
  • perl - use warnings; # -w でなくて : 404 Blog Not Found

    2008年06月19日21:45 カテゴリLightweight Languages perl - use warnings; # -w でなくて 最近は、さすがにuse strict;されていない実践コードを目にすることもほとんどなくなってきたのだけど、まだ残っているのがuse warnings;利用。以下と併せて読んでいただけると幸いだ。 404 Blog Not Found:perl - use strict; # and be happy -w って何? warnings って何? まず、以下のプログラムを見てみよう。 #!/usr/local/bin/perl use strict; sub distance { my ( $a, $b ) = @_; return sqrt( $a**2 + $b**2 ); } print distance(@ARGV), "\n"; % p

    perl - use warnings; # -w でなくて : 404 Blog Not Found
  • クロージャによるOOP - Tociyuki::Diary

    ふと思いついて試してみたのですが、Perlでもクロージャを使ったOOPを扱えるみたいです。たぶん既出なのだろうと思いますが、見つけきれなかったのでエントリーを打ってみます。 例1. UP/DOWNカウンタ sub Counter::new { my $this = {}; $this->{class} = shift; my( $value, $step ) = ( 0, 1 ); $this->{step} = sub { $step = shift if @_ > 0; $step }; $this->{value} = sub { $value = shift if @_ > 0; $value }; $this->{up} = sub { $value += $step }; $this; } my $c1 = Counter->new(); $c1->{value}->(10);

    クロージャによるOOP - Tociyuki::Diary
  • 第4回 Perlでデータベースを操作

    ところで“データベース”とは何でしょうか。前回はデータベースを知っているものとして話を進めましたが,データベースをご存知ない方のために,ここで簡単に説明しておきます。 データベースはファイルと同様に,データの入れ物です。ファイルが単純なたなだとすれば,データベースは倉庫番のいる倉庫に相当します。格納や取り出しなどのデータ操作はすべて倉庫番に依頼して行います。 倉庫番が面倒を見るので,倉庫の中にどのようにデータが格納されているのか,利用者は気にする必要がありません。この倉庫番に当たるものがデータベース管理システム(DBMS)です。 DBMSは複数のプロセスが同時に更新することを防ぐためにロックを管理したり,トランザクションといって一連の処理を1つの固まりとし,途中でそれまでの処理を元に戻したり(Rollback),最終的に確定する(Commit)ことを可能にします。 リレーショナル・データベ

    第4回 Perlでデータベースを操作
  • Chapter 1. Introducing CGI and mod_perl を読んで - libnitsuji.so

    Practical Mod-Perlというがあるのだけれど、その内容はオープンソースになっている。 mod_perlはいつかちゃんと勉強しなきゃと思っていたので読みはじめました。 んで、やっぱり書かないと覚えないし身に付かないし。 - CGIの歴史 まあ、これはね。問題ないでしょう。 HTTPを使ってデータをやりとりします。ヘッダとデータは空行で区切られます。リクエストを受け取ってレスポンスを返します。レスポンスではヘッダーでMIMEタイプとか文字コードとかを指定します。Apacheはmod_cgiを使ってスクリプトを実行します。環境変数を使っていくつかのパラメータを受け取れます。HTTP_USER_AGENTは簡単に偽装できます。HTTP自体にはURIの長さ制限がないけどサーバーとクライアントにはあるので注意しましょう。ユーザーから受け取った値を使ってレスポンスを作成する場合はクロスサ

    Chapter 1. Introducing CGI and mod_perl を読んで - libnitsuji.so
  • SQLite - Perl

    スポンサードリンク PerlSQLiteに接続 PerlではDBD::SQLiteを使います。 ここでは一通りの操作をやってみます。 準備 CPANからDBD::SQLiteもってくる $ perl -MCPAN -e shell cpan> install DBD::SQLite DBIを入れていないひとは入れるかどうか聞かれるので[yes]をタイプ テスト用のテーブルを作成 $ sqlite3 test.db ".schema t2" CREATE TABLE t2( a integer primary key autoincrement, b text not null ); カラム'a' はautoincrement にしています。 サンプルコード 3行insert autoincrement で入った値を取得 insertした3行をまとめて取得 #!/usr/bin/perl

  • Perl逆引き辞典 - サンプルコードによる Perl 入門

    Perl › here Perlの逆引き辞典です。発展的な話題もこちら。 特徴を解説 バージョン情報 データベース プログラムの自動試験 ソケット プロセス間通信 ワンライナー 統計・解析 XS入門 言語実装の研究 豆知識 モジュール基礎 オブジェクト指向 日付・時刻 文字コード ビット演算子 Perl › here

    Perl逆引き辞典 - サンプルコードによる Perl 入門
  • Net::Server で UNIX ドメインのサーバを書いてみる - daily dayflower

    Perl で UNIX ドメインのサーバを書くことになりました。でもSocket(or IO::Socket)をそのまま使うのは面倒くさい*1。ということで CPAN をあさってたら Net::Server というものがありました。POE というのもあって最終目標からすると勉強する価値ありそうだったんですが,さすがに牛刀ぽかったので Net::Server で書いてみることにしました。 接続すると単純に /bin/date コマンドの内容を返す(そして close する)サーバを書いてみます。DateServer.pm という名前で下記のとおり。 package DateServer; use strict; use base qw( Net::Server::Fork ); use IPC::Run; sub new { my ($class) = @_; return $class->

    Net::Server で UNIX ドメインのサーバを書いてみる - daily dayflower