タグ

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

  • perl & javascript - nested list comprehension : 404 Blog Not Found

    2008年03月10日15:30 カテゴリLightweight Languages perl & javascript - nested list comprehension これをperljavascriptでやろうという試み。 Matzにっき(2008-03-03) - [言語] CS 11: Python track: python idioms List Comprehensionの解説で results = [(x, y) for x in range(10) for y in range(10) if x + y == 5 if x > y] という例題がある。そうか、forって複数指定できるんだ。Perl的には 404 Blog Not Found:perl - 格子点を生成する関数の生成 同じ考えです。 http://codepad.org/mTJcx3Nb su

    perl & javascript - nested list comprehension : 404 Blog Not Found
  • 2007年に人気伸びたのはPython、Ruby/Perlは微減 - builder by ZDNet Japan

    さあ、その想いをカタチにしよう。 Google Cloud が企業の未来に向けた生産性 向上とコラボレーション実現のヒントを解説 単純なインフラ製品の販売ではない DX、コンテナプラットフォームの実証など 自社の取り組みで得られた知見を顧客に提案 ビジネスのためのデータ基盤構築 DX時代の企業成長はデータ活用が鍵 新たな展開を後押しするSQL Server活用 ITインフラ運用からの解放 HCI+JP1による統合運用による負荷激減で 次世代IT部門への役割変革へ一歩前進 EDRトップランナー対談:後編 セキュリティ戦略を転換せざる得ない背景と EDRのような手法が必要な理由に迫る オープンソース活用はあたりまえ! そんな今だからこそ改めて考える 企業ITにおけるOSS活用のメリットとリスク 結果に差がつくウェビナーへの投資 デジタル営業時代における見込み顧客獲得へ ウェビナーの運用・集客・

  • Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー

    ifconfigの出力をsedでパース — ありえるえりあ まだ Linux を触り始めて間もない頃に、サーバーを構築していてローカルの IP アドレスをシェルスクリプトから利用する必要があって、どうやって取得するべきだろうかと小一時間悩んだのですが結局分からず Perl の正規表現で ifconfig を parse したことがありました。ioctl() を使ってデバイスを操作する必要がある、ということを知ったのは数年後、割と最近のことです。なんということでしょう。 では、Perl で IP アドレスを取得する場合ですがモジュールを使ってよいのであれば IO::Interface がよいだろうと思っています。IO::Interface は Pure Perl ではありませんが、XS で ioctl() を呼び出しているので比較的高速且つ素直な実装だと思います。 #!/usr/local/

    Perl でローカルのアドレスを取得する - naoyaのはてなダイアリー
  • Perlメモ/CGI::Sessionモジュール - Walrus, Digit.

    的にはセッション系モジュールの役割は、特定のキー=セッションIDに紐付けて、データを保存したり、読み込んだりといったことです。 セッションIDの受渡しはCGI側でする必要があります。 セッションIDの受渡しとしては、パスに含める方法、CGIパラメータに含める方法、Cookieに保持させる方法がありますが、この内最後のCookieに保持させる方法についてです。 CGIモジュールとCGI::Sessionモジュールを組合わせて使用する場合、Cookieを使用するセッションIDの受渡しを特に意識せずに行えるようになっています。 オブジェクト生成では、次のようにCGI::Sessionのコンストラクタの第二引数に、セッションIDの代わりにCGIオブジェクトを渡します。 ドライバやシリアライザなどのデータソース名(第一引数)、およびオプションの指定(第三引数)は任意のものを指定して構いません。

  • HTTP::Cookies - クッキー(Cookie)の格納と管理

    Hippo2000 (2000/7/28) HTTP::Cookiesモジュールなのです。 作者はGisle Aasさんです。メールで許可をいただきました。 目次 名前 概要 説明 メソッド サブクラス 著作権 名前 HTTP::Cookies - クッキー(Cookie)の格納と管理 概要 use HTTP::Cookies; $cookie_jar = HTTP::Cookies->;new; $cookie_jar->add_cookie_header($request); $cookie_jar->extract_cookies($response); 説明 クッキー(Cookie)は、サーバー側の接続が接続のクライアント側に情報を格納し、取り出すという両方が出来る一般的な機能です。クッキーについてのさらなる情報は<URL:http://www.netscape.com/newsr

  • Twitter ベイジアンフィルタプロキシ

    Twitter で following が増えてくるにつれて、タイムラインに目を通すのが大変になってきた(という程きちんと見ている訳ではないが)。 さっとタイムラインをなめて面白そうな情報をピックアップしたい時は、「おはよう」とか「風呂入った」とか「トイレ」とかは除外して読みたい(そういう書き込み自体は嫌いじゃないのだが、人生はあまりにも短い)。 Twit や P3:PeraPeraPrv では NG ワード指定ができて、それらを含むステータスは表示しないようにできるのだが、Twitter の書き込みは揺らぎが激しすぎて指定しきれないという弱点がる。 ということでベイジアンフィルタでフィルタリングしてみることにした。 自前で Twitter クライアントを作る気はないので、proxy の形でさっと実装してみた。 #!/usr/bin/perl use strict; use warning

    Twitter ベイジアンフィルタプロキシ
  • perl - myとourとscopeと : 404 Blog Not Found

    2008年01月10日10:15 カテゴリLightweight Languages perl - myとourとscopeと うーん、微妙に違います。 local と my - IT戦記 our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 以下のコードを見てみましょう。何と表示されるでしょうか。 { package Foo; our $bar = 'baz'; } our $bar = 'drink'; warn $bar; warn $Foo::bar; 「ソースに限定する」あるいは「ファイルに限定する」のだとしたら、この挙動はありえないはずです。 ここで、Perlのスコープに関するルールを覚えておきましょう。すっごく簡単です。 {}は、問答無用でスコープを作る = b

    perl - myとourとscopeと : 404 Blog Not Found
  • my と local のサンプル - IT戦記

    local と my - IT戦記の続き local と my の違いが分かるサンプルを書いてみた our $foo = 0; do { # ... (1) local $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 0 }->(); do { # ... (2) my $foo = 1; do { print "$foo\n" }; # 1 sub { print "$foo\n" } # 1 }->(); ちなみに do {...} は return の扱いを除いて (sub {...})->() と等価だと考えていいです。まあ、関数をその場で呼び出すようなものですね。単なる {...} との違いは、 {...} が式ではなくて文(ブロック)であって、 do {...} は式(do 関数の呼出し)というところで

    my と local のサンプル - IT戦記
  • local と my - IT戦記

    すっきりした>< - 宇宙行きたい このエントリの our 名前をスコープに限定. local 値をスコープに限定. my 名前と値の両方をスコープに限定 は、ものすごく分かりやすいし正しいと思うんですけど、たぶん昔の僕だったら理解出来なかったかもしれません>< our 名前をソース上のスコープに限定. local 値をスタック上のスコープに限定. my 名前と値の両方をソース上のスコープに限定 なら、理解しやすいと思います>< 今でも local 宣言のあるスコープ内で関数呼出しがあると混乱するの僕なのです>< 追記 弾さんが反応してるので、追記 404 Blog Not Found:perl - myとourとscopeと えっと 僕の「ソース上のスコープ」という言葉が良くなかったです><ごめんなさい そういう意味で言ったわけではなくて、「ソース上の(なんらかの記述の位置で決まる範囲の

    local と my - IT戦記
  • [Perl] my と local と our の違いについて - 竹迫の近況報告

    404 Blog Not Found:perl - myとourとscopeと みんな難しく考えすぎです。 (例外については後で考えることにして)とりあえず以下の基をおさえておけば混乱することはないと思います。 ■ our 宣言について our はグローバル変数をスマートに使用するための宣言です。our は use vars と等価と考えてください。 our $var; は use vars qw($var); と等価。 our $var = 1; は use vars qw($var); $var = 1; と同じ動きをするもの、と覚えておけばOKです。それ以上の違いは基的にないと考えて構いません。 ひとつ実用上の違いがあるとすれば、our は Perl 5.6 以降の built-in なのに対して、use vars は vars.pmPerlスクリプトで実装されています。し

    [Perl] my と local と our の違いについて - 竹迫の近況報告
  • Text::CSV は日本語入ってるとダメなんだ、、、orz

    Text::CSV で parse したらエラー出まくりだったので、エラーになってる CSVのファイルをのぞくと日語の行がエラーになっていた、、、orz どうやら、日語入っているとダメみたい、、っで、検索してみたら「勝手に添削 - PerlによるCSVファイルの高速集計 2 - 404 Blog Not Found」で、Text::CSV_XS で、{binary=>1} のオプションを付けると、どうやら日語混じりでも OK らしいので、さっそくインストールしてコードを修正。モジュール名の変更だけで済んだ。 use strict; use warnings; use Text::CSV_XS; $| = 1; my $file = './hoge.csv'; my $csv = Text::CSV_XS->new({binary=>1}); open my $fh, '<', $fi

  • perl - ソースが読みにくいには訳がある - そして愛も : 404 Blog Not Found

    2007年12月26日17:45 カテゴリOpen Source perl - ソースが読みにくいには訳がある - そして愛も Can't agree more! まつもとゆきひろのハッカーズライフ:第10回 ソースを読もう (2/2) - ITmedia エンタープライズ このように、ソースコード読解の経験を積むと、読みやすいソースコードと読みにくいソースコードがあることに気がつくと思います。わたしが最悪と思ったのは、(失礼ながら)Perl5のソースコードです。 このPerlのソースコードの読みにくさが、Perlの実装の分化の一番の妨げになってきた。Perlより新しいRubyにYARVが生まれたり、Pythonにあれだけ多彩な実装があるのは、その裏返しと言っていい。Perlにもそういう動きがなかったわけでもないのだが、他の言語のようにうまく行っていないのは、ソースコードの読みにくさが確か

    perl - ソースが読みにくいには訳がある - そして愛も : 404 Blog Not Found
  • perl - 5.10.0 released! : 404 Blog Not Found

    2007年12月19日12:00 カテゴリLightweight LanguagesAnnouncement perl - 5.10.0 released! その 20歳の誕生日に、Perlは5.10.0になりました。 Rafaël Garcia-Suarez / perl-5.10.0 - search.cpan.org 日時間では一日後の12月19日 03:11ですが、GMTではまだ12月18日。当初スケジュールより2ヶ月ほど押しましたが、ついに誕生です。 Dan the Perl Monger From: rgarciasuarez@gmail.com Subject: Perl 5.10.0 is released Date: December 19, 2007 03:11:46 JST To: perl5-porters@perl.org Message-Id: <b77c1d

    perl - 5.10.0 released! : 404 Blog Not Found
  • いいかげんにしろ佐藤秀 : 404 Blog Not Found

    2007年12月19日17:30 カテゴリLightweight Languages いいかげんにしろ佐藤秀 DISは基的にスルーする私だが、これはあまりにひどすぎて看過できない。 佐藤秀の徒然\{?。?}/ワカリマシェン:小飼弾氏が赤木智弘氏を嗤える当の理由 では、なぜ小飼弾さんは搾取されないのだろうか? 理由は一つ、弾さんはこの日国内で最強の既得権益者の一人だからだ。 ウィキペディアの説明によると、弾さんは歌代和正氏開発の、Perlで記述された日語符号による文字列の相互変換するライブラリjcode.plの派生品開発者だ。 詳しいことは、ど素人なので分からんけれど、要するに「日語」という最大最強の非関税障壁に守られた既得権益者の1人なのだ。 まず、私はJcode.pmのメンテナーであると同時に、Encodeのメンテナーでもある。もちろん小飼弾 - Wikipediaにも書いてあ

    いいかげんにしろ佐藤秀 : 404 Blog Not Found
  • javascript vs perl - プライベート変数による初期化 : 404 Blog Not Found

    2007年12月15日20:00 カテゴリLightweight Languages javascript vs perl - プライベート変数による初期化 はてブを見ると、「これ、ほんとに差が出るの?」と思っている方も結構いらっしゃるようなので。 Life is beautiful: Javascript、クロージャを使ったプライベート関数の隠蔽について 「うーん、マッピングのためのオブジェクトを毎回作り直しているところかな。」 以下、10000回実行した結果をミリ秒で表示します。ここで_nがnaiveな実装、_cがクロージャーを使って変数初期化を一度で済ませている例です。疑っている方はソースをご覧下さい。 プログラム: p(benchthis(10000, code2name_n, 'ja' )); p(benchthis(10000, code2name_c, 'ja' )); 出力

    javascript vs perl - プライベート変数による初期化 : 404 Blog Not Found
  • 404 Blog Not Found:javascript - Array#sortがオレquicksortより遅い!?

    2006年11月23日14:45 カテゴリLightweight Languages javascript - Array#sortがオレquicksortより遅い!? な、なんだってー!? ごっつええブログ - JavaScriptによるソートアルゴリズムの比較実験 『JavaScriptを使って一定以上の数量をもった数値配列をソートする場合は、組み込みメソッドよりもクイックソートを使用したほうが高速である』 自分でも検証してみた。 どうやらMozilla系列のJavaScript実装に関しては嘘ではないらしい。以下で確認してほしい。 Firefox 2に関してはほぼ同等だが、Mac IE 5, Safari 2.0.4, Opera 9.02ではbuiltinの方が速かった。しかしその差は最も大きかったSafariでも3倍程度で、builtinとしてはやはり遅いように見える。 # of

    404 Blog Not Found:javascript - Array#sortがオレquicksortより遅い!?
  • perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found

    2007年11月27日13:30 カテゴリLightweight Languages perl - 文字列ばらしはsplit //, $strで うーん、ここがあきまへん。 [を] 転置インデックスによる検索システムを作ってみよう! 9 my @char = ($c =~ /([\x00-\x7f]|[\xC0-\xDF][\x80-\xBF]| 10 [\xE0-\xEF][\x80-\xBF]{2}| 11 [\xF0-\xF7][\x80-\xBF]{3})/gsx); 文字列をばらして(utf8の)文字一つ一つの配列にするには、バイト列に正規表現をかますのではなく、utf8文字列にしてからそれにsplit //をかますのが一番です。単にわかりやすいだけではなく、その方がずっと高速です。以下、Benchmark。 #!/usr/local/bin/perl use strict; u

    perl - 文字列ばらしはsplit //, $strで : 404 Blog Not Found
  • LLいろいろ、スコープいろいろ : 404 Blog Not Found

    2007年12月01日18:45 カテゴリLightweight Languages LLいろいろ、スコープいろいろ このスコープの「レキシカルさ加減」が、実は言語によって結構違うので、この機会にちょっとつっこんでおくことにする。 ハタさんのブログ : javascriptを初めて学ぶ人についてのおさらい。その1 変数で宣言したものには、参照先が決まっています。その参照の範囲はスコープとも呼びます。ここでいきなり問題。以下のコードは何をalertするでしょうか? (function(){ var i = -1; for(var i = 0; i < 10; i++){ /* whatever */ } alert(i); })() (function(){ var i = -1; for(var i = 0; i < 10; i++){ /* whatever */ } alert(i);

    LLいろいろ、スコープいろいろ : 404 Blog Not Found
  • perl|javascript - 文字列じゃないhash key : 404 Blog Not Found

    2007年04月10日16:30 カテゴリLightweight Languages perl|javascript - 文字列じゃないhash key なぜamachangが「すごい」といっているかおわかりになるだろうか。 IT戦記 - ActionScript 3.0 の勉強会資料 経由 amachang - ActionScript 3.0 勉強会資料 flash.utils.Dictionary このクラスはすごい ある意味 ECMAScript の 常識をぶち壊す 神秘のようなもの ECMAScript もビビる! 俺もビビる あ、ちょ、痛っ 石投げないで>< 以下のJavaScriptを考えてみよう。 var a1 = []; var a2 = [1,2,3] var o1 = {}; var o2 = {'one':1, 'two':2, 'three':3}; var di

    perl|javascript - 文字列じゃないhash key : 404 Blog Not Found
  • perl, et al. - キーの存在確認 : 404 Blog Not Found

    2007年06月10日02:15 カテゴリLightweight Languages perl, et al. - キーの存在確認 格的添削はあとまわしにして、Perlに限らないつっこみどころを先に。 [を] Wikipediaのキーワードリンクを使って関連語データを作ってみた ソースを見てすぐわかるのは、ハッシュキーの存在確認をdefinedでしているところ。このソースの場合たまたま動いてしまっているけど、「値が未定義」なのと「そもそも存在しない」とでは意味も異なる。以下のcode snippetを動かしてみれば、その違いがよくわかる。 my %hash = ( key => undef ); while(my ($k, $v) = each %hash){ printf "exists \$hash{$k} = %d\n", exists $hash{$k}; printf "def

    perl, et al. - キーの存在確認 : 404 Blog Not Found