zshのglobal aliasは、意外と使いでがある。ほかの人がどう使っているのか知らないが、僕は主に独自コマンドラインオプションを定義するために使っている。 たとえば、「alias -g — –mydb3=’… 続きを読む »
zshのglobal aliasは、意外と使いでがある。ほかの人がどう使っているのか知らないが、僕は主に独自コマンドラインオプションを定義するために使っている。 たとえば、「alias -g — –mydb3=’… 続きを読む »
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. 二
This is the companion website for the following book. Christopher D. Manning, Prabhakar Raghavan and Hinrich Schütze, Introduction to Information Retrieval, Cambridge University Press. 2008. You can order this book at CUP, at your local bookstore or on the internet. The best search term to use is the ISBN: 0521865719. The book aims to provide a modern approach to information retrieval from a co
use encoding 'utf-8' & encoding::warnings Perl ネタ。 XML まわりなんかを扱うときについて回る UTF-8 フラグ (Unicode フラグ)をどう落とすか的ネタがもりあがっていますねぇ。このネタは拙書の Blog Hacks でも 1 Hack さいて解説してあります。 Blog Hacks ―プロが教えるテクニック&ツール100選posted with amazlet on 05.09.30宮川 達彦 伊藤 直也 オライリー・ジャパン (2004/08/07) 売り上げランキング: 20,714 Amazon.co.jp で詳細を見る たしかに内部的に UTF-8 フラグを落としてバリバリつなげちゃえば、場当たり的に楽は楽なんだけど、内部的に Unicode フラグをもったまま処理して、最後に出力するときに落とす(encode する)と
-> 趣旨と注意書き -> UTF8フラグ? -> UTF8フラグとPerlIOレイヤ -> UTF8フラグのついた文字列を記述する -> Wide character in print ... -> Encode -> utf8::* -> use utf8; -> use encoding; -> use UTF8 と use encoding -> JcodeからEncodeへ -> 情報源 <- モドル 趣旨と注意書き Perl 5.8.x のUnicode 関連です。 正直、5.8.x は、ネタでしか使ってなかったので(ぉ、ちゃんといじったことがありませんでした。 使ってみると、よくわかんなくなったので、ちょっとまとめてみました。 今でもあんまりわかってないかもしれないので、内容は無保証です。 突っ込み歓迎。 Jcode、Encodeのメンテナの弾さんから、ご指摘いただいたので、
昨日のやつ、bast のほうにコミット。次のDBICのリリースに含まれちゃうよ>< 使い方はテーブルクラスで __PACKAGE__->load_components(qw/UTF8Columns Core/); とかしてロードしておき、 __PACKAGE__->utf8_columns(qw/name description/); と文字列カラムを指定。 こうすると $table->name や $table->get_column('name') でとってくる値は utf-8 フラグが自動的にたつ。 逆に $table->name( $name ); とかでは utf-8 フラグが落とされてから保存される。 utf8_columns で自分で指定するだけじゃなく、テーブル単位で文字列カラムにすべてに対して有効になる機能もあるといいかも?
名前 Catalyst::Plugin::Charsets::Japanese - 日本語特有の文字コード操作プラグイン 概要 use Catalyst 'Charsets::Japanese'; # 使用する文字コードを設定 MyApp->config->{charsets} = 'UTF-8'; # もしくは、内部で使いたい文字コードと # 出力データに使いたい文字コードを別々に設定 MyApp->config->{charsets} = { in => 'EUC-JP', out => 'Shift_JIS', }; 説明 近年の日本語環境下でのWEB開発において、サーバーサイドで扱う文字コードとして、 EUC-JP, Shift_JIS, UTF-8 が考えられます。 このモジュールを使うと、選択された文字コードによって適切に、 入出力データのコンバート、Content-Typeの
ひさびさに Blog を書いてみる。 UTF-8 フラグがどうもウザいという人向けにこんな CPAN モジュールがあるそうな。 Unicode::RecursiveDowngrade hashref とか、arrayref とか複雑な構造になった変数 (たとえば XML や RSS を XML::Simple や XML::RSS 等で parse した構造) を、構造を変えることなく、値全ての UTF-8 フラグを一括で落としたい場合にベンーリ。 こんなんして使える模様。 use strict; use XML::Simple; use Unicode::RecursiveDowngrade; use Data::Dumper; my $ref = XMLin('hoge.xml'); # includes flagged UTF-8 my $rd = Unicode::Recursi
Amazon Search とかを EUC ベースから UTF8 ベースで実装し直したのですが、場合によって length や substr 等の文字列関数で処理が違うことが判明。備忘録として記事にしました。 Perl5.8 では Unicode 文字列に対して UTF8 フラグという内部データを設けて、その有無によって文字単位で扱うかバイト単位で扱うかを決定しています。また UTF8 フラグの ON/OFF は utf8 モジュールのutf8::encode() と utf8::decode() によって操作できるようになっています。 バイト単位でUnicode文字列を扱いたいときは、utf8::encode() によって、UTF8 フラグを OFF に、文字単位でUnicode文字列を扱いたいときは、utf8::decode() によって、UTF8 フラグを ON にする必要があります
Perl Tips: Unicode 文字列 Perl 5.6 以降では、文字列に Unicode フラグというのがつきます。 XML など文字コードを明示的に指定した場合などは Unicode 文字列として扱われ、length などが文字セマンティクスで動作します。 ある変数に Unicode フラグがたっているかどうかは、Devel::Peek モジュールでわかります。 use Devel::Peek; Dump $s ここで問題になるのが、文字列連結での自動アップグレード問題といわれるもので、内部的に Unicode フラグがたっている文字列と、そうでない文字列を連結すると、自動的にそうでないほうが Unicode にアップグレードされます。ここが文字化けの原因になります。 1. テンプレートを UTF-8 で記述し、Template-Toolkit で読み込み 2. DB は My
XMLRPC::Liteでutf8フラグをはずすには SOAP::Liteパッケージに含まれるXMLRPC::Liteで自動的にutf8フラグをはずすには、XMLRPC::Deserializer::decode_valueを上書きする。 XML::Liteを使うプログラムに以下を追加 sub XMLRPC::Deserializer::decode_value { my $self = shift; my $ref = shift; my($name, $attrs, $children, $value) = @$ref; if ($name eq 'value') { $children ? scalar(($self->decode_object($children->[0]))[1]) : pack('C0A*',$value); } elsif ($name eq 'array'
Overview mass.pl is the implementation of a relatively simple idea. Instead of interactively doing some task on one machine, then duplicating the effort on N other machines, write a shell script, then scp it to N machines and execute it as root. I don't really expect anyone to use it. It's extremely ugly, but it works well. Ansible is extremely similar, but it requires describing config in YAML an
•1 VA Linux Systems Japan taka@valinux.co.jp Linux World C&D/Tokyo 2001 2001 10 24 Linux World C&D/Tokyo 2001 2001 10 24 u u u u u u u u u u u u u CD Linux if ( A { A B B A if ( A { B return } B •2 u u u u ’ u … ² u u u u u u u u u u u u u u u u u u u u J •3 u u u u … u … u … u … u … u … u u u u u u u u u u … u u u u …… u u u u •4 u u u u u l l l l CD Linux libc.so 4. I/O a.out LINUX fread() 3. I/
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く