タグ

ブックマーク / blog.livedoor.jp/xaicron (217)

  • にひりずむ::しんぷる - 京都旅行に行った話

    TODO 2012/03/31 去る 3/17 から 3/18 にかけて京都旅行に行って来ました。「そうだ京都、行こう」って土曜の夕方ぐらいに思ったので。 とりあえずパンツと下と MBA とナイフとランプをかばんに詰めこんでいざ東京駅へ。まず、新幹線に乗るのが久々過ぎて「特急券?乗車券?」ってなってとりあえず特急券だけ買って改札行ったらうんともすんとも言わなくて「仕方ないから Suica 突っ込むか」って自動改札機に入れたら Exception が発生して親切な駅員さんが来て教えてくれました。ありがとう。 で、やっぱり新幹線と言えば駅弁ですね。 チョコボールも欲しいところでしたら残念ながら売っていませんでした。こういう事書くから「第二の mattn」とか言われるんですね。心外です。 で、2時間半ぐらい新幹線に乗ってたら京都に着きました。さて、最初はどこに行こうかなと思ってたら、どうやら

    xaicron
    xaicron 2012/03/31
    書いたよー
  • にひりずむ::しんぷる - HTML::Filter::Callbacks の紹介

    追記あり Yuji Shimada / HTML-Filter-Callbacks - search.cpan.org charsbar さんにパッチを送ったら、「commit bit 付けたから自分でリリースしてちょ」って言われたので、先ほど 0.07 をリリースしました。 それはさておき、このモジュールについての情報があんまり世の中に無いようなので、いい機会なので紹介しようかと思います。 このモジュールを使えば 不要なタグの除去 url の変換 属性の追加、削除 text の置き換え などなどが簡単にできます。 似たようなモジュールとして、HTML::Scrubber というのが昔からあって、よく使われてますが、長年メンテされていなかったり*1、インターフェースがとてもわかりにくかったり*2して、今から使うのは気が引けますが、HTML::Filter::Callbacks は大変直感的

    xaicron
    xaicron 2011/07/07
    追記しました!
  • にひりずむ::しんぷる - 初めての Furl

    巷でとっても速くて便利だねこれってなってる HTTP Client であるところの Furl の簡単なつかい方を紹介します。 そもそも Furl は何かっていうと、perl には LWP っていう超高機能な HTTP Client があって、これがデファクトになってるんですね。 でも、それって結構昔からあって、かつ重厚長大なモジュール群なので結構遅いわけです。とくに CPU 使用率が高い。 そんなわけで、libcurl ぐらい速くて軽い HTTP Client があるといいよねってことで開発されたのが Furl です。 読み方は ふぁーる。 use strict; use warnings; use 5.0100; use Furl; my $furl = Furl->new(agent => 'Madoka-Magica/chu-2'); my $res = $furl->get('ht

    xaicron
    xaicron 2011/02/05
  • にひりずむ::しんぷる - tmux + multi tab に対応した オレオレ cdd コマンド

    cdd - screen の別WINDOWのカレントディレクトリに移動する zsh スクリプト - 川o・-・)<2nd life cdd っていうのがあるわけなんですが、もとのやつは screen でかつ、ターミナルはひとつの状況でしか動かないので、修正して使ってる。 .zsh/etc/cdd at master from xaicron's dotfiles - GitHub 変更点は以下 tmux に対応 複数のターミナル(タブ)に対応 フルパス取得のところで、ruby が入ってないことあるので、perl に変更 これがないと死ねる

    xaicron
    xaicron 2011/01/25
  • にひりずむ::しんぷる - Re: Data::EncoderでBenchmarkしてみた

    Perlが少しだけ出来る気になってます。 JavaScriptはよくわかりません。 Rubyもちんぷんかんぷんです。 Pythonは難しいです。 ActionScript勘弁してください。 Javaあばばばばば。 低級言語できません。

    xaicron
    xaicron 2011/01/22
  • にひりずむ::しんぷる - またエロ画像収集スクリプト書いた for imeero

    xaicron
    xaicron 2011/01/18
  • にひりずむ::しんぷる - いろんな環境で動く Test::Spelling の書き方

    なんか晒すのが流行っているらしいので貼っておきますね。 use strict; use warnings; use Test::More; use Test::Requires 'Test::Spelling'; use Config; use File::Spec; use ExtUtils::MakeMaker; my %cmd_map = ( spell => 'spell', aspell => 'aspell list -l en', ispell => 'ispell -l', hunspell => 'hunspell -d en_US -l', ); my $spell_cmd; for my $dir ((split /$Config::Config{path_sep}/, $ENV{PATH}), '.') { next if $dir eq ''; ($spell_c

    xaicron
    xaicron 2011/01/18
  • にひりずむ::しんぷる - 2010 年でやったこととか

    今年は転職を二回し、そのどちらもキャッシュフローを大失敗し、大飢饉状態が続きましたが、今は意外と持ち直しています。 なんか当にいろいろあった気がするけど、細部はあんまり覚えてないというか、濃すぎて薄いというかまぁそんな感じの年だったような気がします。 来年も程よく忙しく、程よく遊べればいいなと思います。 以下、今年やったこととかを適当に箇条書きで

    xaicron
    xaicron 2010/12/31
    今年のまとめ
  • にひりずむ::しんぷる - Data::Encoder っていうのを書いた

    Yuji Shimada / Data-Encoder - search.cpan.org ネットワーク越しにデータを転送する場合、Storable や JSON や Data::MessagePack なんかを使うと思うのですが、いかんせん全部インターフェースが違います。 このあたりを共通のインターフェースで透過的に扱える、シンプルなモジュールが欲しくて書きました。 似たようなモジュールとして、Data::Serializer というのがあるんですが、ちょこっとコードがゴテっとしているのと、特に encrypt の機能はいらないなーという感じだったので、新しく書いた次第。 使い方は以下のようになります。 use Data::Encoder; my $encoder = Data::Encoder->load('JSON'); my $json = $encoder->encode([qw

    xaicron
    xaicron 2010/12/18
  • にひりずむ::しんぷる - WWW::YouTube::Donwload 0.20 release!!

    ラブプラスのクリスマスパーティのチケットに抽選漏れして、もう生きる気力がわかない xaicron です。こんにちは。これからはラブプラスをやってる奴もリア中扱いすることに決めました。 さて、数日前に唐突に WWW::YouTube::Download が動かなくなっていて、「なんじゃこりゃぁ!!」と思ってみてみたら、http://www.youtube.com/get_video が 404 を返すようになっていました。 これはオワタと思ったんですが、気を取り直して firebug とかでコンテンツをちらっとみてみたらなんか video っぽいのを普通に DL してる!って気付いたので、とりあえず、頑張って対応してみました。 今までと違って、api っぽいのを使っているのではなく、動画ページの HTML 内の JSON ぽい値を正規表現でぶっこ抜いて、そこからダウンロード URL を取って

    xaicron
    xaicron 2010/12/15
  • にひりずむ::しんぷる - MySQL Casual #1 でふわっとした話をしてきました

    去る12月10日(土) に MySQL Casual#1 というのが開催され、主催者であるところの @myfinderさんの目の前に普段座っているという理由だけで、なぜか登壇してきました。 スライドにも書いていますが、MySQL の設定方法だったり、そもそもセットアップのイカしたやり方とか全然知らない感じだったので、だいぶ外枠だけのふわふわした感じの話をすることに。(いつものことですが) とりあえず、懇親会とかでも方々で話されていたように、Sharding とか Partitioning とかをガチでやらなくちゃいけないようなサービスはあまりないんじゃないかなーとも思いますので、こんなんもあるんだねー程度でよいかと思います。(そもそも Sharding って別に MySQL 関係ないし) Partition も実は Range Partition の話しかしてないということに鋭い人は気づい

    xaicron
    xaicron 2010/12/13
    blogged #mysqlcasual
  • にひりずむ::しんぷる - JPerl Advent Calender はじまりました!

    こんにちは!最近 queue をさばけないことで有名な xaicron です。 すでにいろんなところで Advent Calender のことは紹介されていますが、今年は Win32 Track というのを無謀にも開催しました!! win32 - JPerl Advent Calendar 2010 今のことろ参加者が 3人という危機的状況*1なので、ちょろっとでも Win32 で Perl を触ったことがあったりしたらぜひ参加していただきたいと思います!! JPerl Advent Calendar 2010 - Win32 Track : ATND はてさて、無事最後までたどり着けるかな・・・?

  • にひりずむ::しんぷる - App::pmuninstall 0.14 released (many bug fixes)

    Yuji Shimada / App-pmuninstall-0.14 - search.cpan.org -L の時に Can't locate Nantara.pm in @INC 言われる dependencies が正しく表示されない 正常に削除できてるのに failed と言われる core module なのに core module 扱いされない perl の version がとれなくて死ぬ Windows で (ry とか超バグってたので修正しました。 -L 問題は結構めんどくさかったんですが、@tokuhirom++ に助言をもらってなんとか動くようになりました。 ディストリビューション名とインストール先が違うモジュールや、依存関係の取得にWeb API 的なものを使っていない(HTMLスクレイピングしてる)とかあるので、なんかどうにかしたいけど、手元に良いサーバー

    xaicron
    xaicron 2010/11/23
  • にひりずむ::しんぷる - return で返る複数の値は 配列ではない

    return で複数の値を返す場合、配列ではなく、リストとして返る。スカラコンテキストで評価した場合、最後の値が返って来るので注意が必要である。 あんまり正確じゃなかったので>< 16:01 (miyagawa) ( ... ) とか qw( ... ) ってのは「リスト」 16:02 (miyagawa) それを @foo て変数にいれると配列になる 16:02 (miyagawa) my $x = qw( a b c ); 16:03 (miyagawa) http://perldoc.perl.org/perldata.html#List-value-constructors 16:04 (tokuhirom) scalar(qw/a b c/) と scalar(@x=qw/a b c/) のちがいかな というわけで $ perl -E '$x = qw(a b c); say $

    xaicron
    xaicron 2010/11/18
  • にひりずむ::しんぷる - make test で Test::mysqld を永続化させる方法

    実際にどうやってんのかなーって話をあんまりしてなかったので。 まず、こんな感じのモジュールを t/lib/Test/MyApp/mysqld.pm とかで作って M::I::TestTarget の default_test_target() で `make test` を書き換えてやり、t/script/setup_mysqld.pl に とか書いてあげます。 それぞれのテストでは、Test::MyApp::mysqld->setup で mysqld を立ち上げるようにして置けば、 prove で個別にやった時は、それぞれ立ち上がる make test したときは、最初に立ち上げて、あとは使いまわす という感じになります。 ポイントとしては、 $ENV{TEST_MYSQLD} に Test::mysqld のデータ構造をそのまま JSON にして突っ込む Test::MyApp::m

  • にひりずむ::しんぷる - DBI で実際に発行されるクエリーを取得する DBIx::QueryLog を書いた

    季節が変わって、早速風邪をひいています。 さて、もう秋を通り越して冬の様相を呈してきた昨今ではありますが、DBI では、普通はプレースホルダを使い my $stmt = 'SELECT * FROM user WHERE user_id = ?'; my @bind = ($user_id); $dbh->do($stmt, undef, @bind); とか書くと思います。 このときに、実際にバインドされた後の SQL をみたいなーって衝動に駆られると思いますが*1、どう頑張ってドキュメントを読んでもわかりませんね。 こういうときは仕方ないので、$stmt と @bind を両方ログに出してお茶を濁していました。 $self->log->_dump($stmt, @bind); # => SELECT * FROM user WHERE user_id = ?, [1234] でもこれっ

  • にひりずむ::しんぷる - pm-uninstall をちょこっといじった

    某 YAPC のベストトークでも紹介されていた、App::pmuninstall ですが、YAPC 後の Hackathon で、「コアモジュールがカジュアルに消せて超うける」とか「-cとかデフォでよくね?」みたいな話があったので、そんな感じに変更しました。 0.08 からは コアモジュールはいろんな理由から、消せなくなってますので、ご注意ください。 あと、--checkdeps したくない場合は、新しい --no-checkdeps というオプションを作ったので $ pm-uninstall -n Furl とかすれば、よいです

    xaicron
    xaicron 2010/10/25
  • にひりずむ::しんぷる - Module::Install::TestTarget released

    M::I::ExtendsMakeTestなかなかいいです+お願いというかおねだり - D-6 [相変わらず根無し] を受けて、Module::Install::ExtendsMakeTest あらため、Module::Install::TestTarget として、リリースしました Yuji Shimada / Module-Install-TestTarget - search.cpan.org それに伴って、ExtendsMakeTest は duplicated deprecated になったので、そのうち消えます。 以下、SYNOPSIS を貼っときます use inc::Module::Install; tests 't/*t'; # override the default `make test` default_test_target includes => ["$ENV{

    xaicron
    xaicron 2010/10/24
  • にひりずむ::しんぷる - Module::Install::ExtendsMakeTest 0.02 released

    Module::Install::ExtendsMakeTest-0.02 以前書いた、Module::Install::TestPreloadを改良し、Module::Install::ExtendsMakeTest として CPAN にあげました 新しい target を作るのと、元の make test を書き換えるインターフェースが共通していたのでそれを分けたのと、あとは、5.6.2 対応(gfx++)とかそんな感じです。 YAPC::Aisa でも pp と xs のテストを切り替える用途で makamaka さんのプレゼンにもちょこっと登場しています。 通常のモジュールにはあんまり使う必要がない感じですが、プロダクトで特定の env群を指定したい場合とかは結構あるので、そんなときは重宝するんじゃないかと思います。 あと、Text::Xslate とかでも使われてます。

    xaicron
    xaicron 2010/10/17
  • にひりずむ::しんぷる - YAPC::Asia 2010 で発表してきた #yapcasia

    「Web API のすすめ」は割と概念的な話に終始していて、コードベースのもっとゴリっとした話を期待していた人には申し訳ありませんでした。 が、やはり既存の WAF を使っているだけだとわからないことっていうのが多いと思うので、もっと下のレイヤーに降りて、自分で実装するのもありなんじゃないのかなって思っています。 「let's database testing」では、割と見落とされがちなんじゃないかという、DB のテスト方法についてざっくばらんに話しました。ちょっと質的でないことも書いてありますが、重要なのは、「実際に運用される環境に*なるべく*近い環境で、ローカルでテストをする」ってことです。DB テストのほんの足がかりになれば幸いです。 BD テストの話で使ったサンプルのリポジトリは以下になっています。 xaicron's Mayoi at master - GitHub 結構中途半

    xaicron
    xaicron 2010/10/16
    初トークed