You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session. You switched accounts on another tab or window. Reload to refresh your session. Dismiss alert
![kim.pl](https://cdn-ak-scissors.b.st-hatena.com/image/square/1ef26f6cb4349557952890dbe3e567f7f98dc151/height=288;version=1;width=512/https%3A%2F%2Fgithub.githubassets.com%2Fassets%2Fgist-og-image-54fd7dc0713e.png)
2013-01-21 plenvを使ってみた. @tokuhiromさんがplenvという, Perl 5のインストール管理ツールを開発されたそうです. ブログ記事やREADMEをまとめてみると, plenvの特徴は... Rubyのrbenvから影響を受けている. perlbrewと違って, プロダクトごとにperlのバージョンを指定することができる. とても高速で, インストールも簡単. perlbrewのような機能を持つが, 完全な上位互換ではない. ...という感じっぽい. こういう時はグダグダ言わずに入れて試してみるに限る, というわけでさっそく導入してみましょうー! インストール plenvを導入する為にはCPAN/brew/gitを使う方法がありますが, 今回はgitを使って入れてみます. ただ特徴にも書いてあるとおり, どの方法を使うにせよインストールはとても簡単です
タイトルの通り、CSSやJSを含むHTMLを編集していたとします。開発中のローカルのPCでのブラウザを使った確認は、「file://」から始まるURIをアドレスとすればできますね。これは当然です。まどろっこしく例を挙げると、ターミナル上で編集中のHTMLを指定してopenコマンドを叩き、ブラウザを立ち上げると再現できます。 $ open index.html ただ、スマホやタブレットを含んだマルチデバイスでの挙動を実機で確認したい時ってあります。すると「file://」から始まるURIによる参照は他の端末では出来ないので、サーバ上にファイルを置く等の施策が必要になります。それをいちいちFTPやSCPを使い、グローバルなサーバ上にアップロードしてWebサーバでサーブして... ってのはめんどくさ過ぎます。最近だとDropboxで共有かけちゃえ!ってのもやり方としてはアリですが、同期のタイムラ
サキとは彼女の自宅近く、湘南台駅前のスーパーマーケットで待ち合わせをした。彼女は自転車で後から追いつくと言い、僕は大きなコインパーキングへ車を停めた。煙草を一本吸ってからスーパーマーケットへ向かうと、ひっきりなしに主婦的な女性かおばあちゃんが入り口を出たり入ったりしていた。時刻は午後5時になる。時計から目を上げると、待たせちゃったわねと大して悪びれてない様子でサキが手ぶらでやってきた。 お礼に料理を作るとはいえ、サキの家には食材が十分足りていないらしく、こうしてスーパーマーケットに寄ることになった。サキは野菜コーナーから精肉コーナーまで、まるで優秀なカーナビに導かれるように無駄なく点検していった。欲しい食材があると、2秒間程度それらを凝視し、一度手に取ったじゃがいもやら豚肉やらを迷うことなく僕が持っているカゴに放り込んだ。最後にアルコール飲料が冷やされている棚の前へ行くと、私が飲むからとチ
ネタではありません。メリーお正月 Plack上でみんな大好きPHPをphp-cgiを使って動かすモジュールをリリースしました https://metacpan.org/release/Plack-App-PHPCGI https://github.com/kazeburo/Plack-App-PHPCGI PlackにはPlack::App::WrapCGIというモジュールもあって、これを使うと任意の言語で作られたCGIをPlack上で動かすことができます。 ただ、PHPの場合にはshebangがなかったり、実行bitも付いていないことが多いので、WrapCGIでは対応することができません。そこで、今回のモジュールを作りました。中身はWrapCGIのコピペと環境変数の追加だけでできました どうしてこれが作りたかったかというと、管理ツールなどでPHPを動かす為だけにApacheを起動したくな
本連載では第一線のPerlハッカーが回替わりで執筆していきます。今回はgfxこと藤吾郎さんで、テーマはPerlの内部構造です。 内部構造を覗く Perlで開発をしていると、ときどきわかりにくい現象に遭遇することがあります。たとえば、あるデータをJSON(JavaScript Object Notation)にシリアライズするとき、数値としてシリアライズしてほしい値が文字列としてシリアライズされてしまう。あるいは、エンコーディングが正しいはずなのに文字化けが起きる。こんなときは、思いきってPerlの内部構造を覗くことで、何が起きているかを突き止めることができます。 本稿では、Perlの内部構造について解説します。言及するperlはバージョン5.16.0(2012年5月21日リリース)です。また、ターミナルのエンコーディングはUTF-8を想定しています。なお、Perl処理系はC言語で書かれてい
Perl Advent Calendar Japan 2012 は明後日からです、みんな参加して寿司を食べよう! 今年は、真夏なのに advent calendar やってる人がいてて????な顔をしていた yappodoll です今晩和。 今年も advent calendar の季節が始まります。 Perl Advent Calendar 2012 Japan ももちろん開催します! しかしみんなシャイな娘が多過ぎて参加者集まってません! 毎年有用な記事が集まるこのイベントに貴女も参加しませんか!?!?// 今年も Hacker Track も Casual Track も準備万端です! Teng Track や Acme Track や DevOps Track など、あなたのやりたいトラックももちろん開催しますよ! さぁ僕たちとあどべんとカレンダーを食べてみんな美味しい寿司を食べま
サービスをつぶさない為に Web アプリを書く時にやっとくと良い事2選 テンプレートのエラーが出た時にアプリケーションのログだけに書くのでは無く、誰にでも「ここがえらってるよ!」って見えるようにしとくと間違いが少なくなる傾向があるのでテンプレートエンジンでフック出来るようになっておいてたら、それをうまく使うと良い。 また、テンプレートエンジンがレンダリングしてるフェーズで DB にクエリが飛ぶような構造で書いてあると、非エンジニアのカジュアルにテンプレートいじる人が甚大なクエリを実装してしまう可能性があるので、これも早期に発見しないとサービスが止まってしまい会社の売り上げが下がってしまい社員が路頭に迷うケースが発生してしまうので、これらも未然に防がなければならない。 Text::Xslate + Amon2 ならこうかける。 package MyProje::Web; ...; { my
主に KDP をためしてみたいという理由ですが、だしてみました。 Perl で Test を書くときのポイントを押さえてちいさくまとめています。ボリューム的にはちょっとした小冊子程度です。本当に自分で実践につかったことがあるものしかのせてないのがひとつの特徴です。 今回は pandoc でつくってみました。 gumroad からも買えるようにしてみました なお目次は以下のとおり - 前書き - 対象読者 - なにはのっていないか - 想定環境 - カイゼン - Test::More をもちいた基本的なテスト - 便利なユーティリティ関数 - is 関数 - cmp\_ok 関数 - is\_deeply($a, $b[, $msg]); - like($got, $regexp[, $msg]); - subtest 関数でテストケースをネストさせる - Test::More をたすけるラ
おはようございます。 DBI では当たり前のように $dbh->do('BEGIN') と $dbh->do('COMMIT') をつかえばトランザクションがつかえるわけですが、なぜ DBIx::TransactionManager のようなものが必要になったのでしょうか。 それは勿論、DBI で直接 transaction をとりあつかうと問題が発生するケースが存在するからです。 トランザクションと RAII一番おおきいのは、トランザクションが中途半端な状態になってしまうことを阻止することです。たとえば、以下のようなケースでは、おかしなことになってしまいます。 my $dbh = DBI->connect(...); for (@stuff) { eval { $dbh->do("BEGIN"); $dbh->do(q{INSERT INTO t1 (v) VALUES (?)}, $_
https://metacpan.org/release/MIKIHOSHI/Smart-Options-0.01 しばらく前にtagomorisさんの記事が話題になってましたが、perlのオプション解析の標準モジュールであるGetopt::Longは、ぶっちゃけクセがあって使い辛いです。しかも使い方忘れるので毎回POD見なくちゃ……とか。正直、手前味噌ですがoptsとかxaicronさんのGetOpt::Compat::WithCmdとかを使ったほうが幸せになれる気がする。 ただ、optsはあくまで変化球という意識もあって、もうちょっとスタンダードに使い易いモジュールは作れないものかなあ(そして、optsというnamespaceはDISられること必定なので、そっちに機能移植して引っこめたいな)とは思っていたのでした。で、pythonのargparseとか良さげだなーと思ってたんだけど、t
僕のトークでなんか気になった人がいるとのことなので僕の使っているスクリプトを置いておきますね。 #!/usr/bin/env perl use strict; use warnings; use utf8; use Cocoa::BatteryInfo; use Cocoa::EventLoop; use Cocoa::Growl ':all'; growl_register( app => 'Battery Notifier', notifications => ['NotifyLastOneMinite', 'NotifyTimeRemaining'], ); Cocoa::BatteryInfo::time_remaining_handler { my $sec = Cocoa::BatteryInfo->time_remaining_estimate; return unless
細かいことについてはYAPC::Asiaの発表が済んでからまたあらためて記事を書くつもりでいますが、多くの方に関係のありそうな部分だけ先に書いておきます。 デフォルトのトランザクションモードをdeferredからimmediateにしました DBD::SQLite 1.30_02以降、sqlite_use_immediate_transactionというアトリビュートを使えばトランザクションのモードを(デフォルトの)deferredからimmediateに変更できるようにしてありましたが、今回このimmediateの方の挙動をデフォルトとしました。deferredの挙動が必要な方は明示的にsqlite_use_immediate_transactionアトリビュートをfalseにしてください。 といってもわかりづらいと思うのでもう少し平易に言い換えると、今回の変更で(おもに書き込み用の)ト
http://blog.vitamin11.org/2012/09/released-textxslatebridgefillinformlite.html こういう単機能なラッパーモジュールをつくらなくていいようにしたいね、という話が Xslate の開発当初からあって(というか俺がいってて)、こういうのがでてくるのは申しわけないなあ、とおもった(書いた人が残念なのではなく、そういうのを書きたいとおもわせるにいたった開発コミュニティが残念です)。 TT はやたらラッパーモジュールであふれていて、だいぶ馬鹿馬鹿しい状況になっていたので、それを再現したくはなかったのです。Template::Plugin::* ほんとやたら数あるけど、Xslate の場合はそれがなくていいように module option がつかえるようになっているわけですナ。 という前提があった上で、汎用的につかえる解決策
UUID がどういうものであるか,とか UUID の表現形については省略します。 UUID - Wikipedia が参考になるかと。 UUID の仕様として RFC 4122 を参照しました*1。なのでより細かいことについては原文を参照してください。策定されるまでにいろいろ経緯があるのですが,そのへんは http://www.rfcnews.jp/archives/2005/07/rfc_4122uuidurn.html に譲ります。 UUID の構造 UUID の内部構造をおおまかに表すと以下のようになります。 variant 2 bit (3 bit) version 4 bit time 60 bit clock_seq 14 bit (13 bit) node 48 bit 実際には variant フィールドは clock_seq フィールドのオクテットの中に埋め込まれています
JPAの加藤です。 3月にお知らせしていましたが、オンラインで閲覧出来るperldoc.perl.orgの邦訳サイトに当たるperldoc.jpが、tokuhiromさんの個人管理からJPAの運営となりました。 公募していたデザインは、Japan Open Source Design Committee の nagayamaさんに作成していただきました。 今回の運営の引き継ぎにおいて、デザインの一新とともに、コンテンツの拡充・機能の追加を行いました。 最近の翻訳の更新一覧とRSS JPAのMoose関連の翻訳文書(翻訳はcharsbarさん)の追加 カテゴリ別の一覧(search.cpan.org のトップと同じ) 公式、ドキュメント以外の WebPage などの翻訳(その他の翻訳) バージョン間の翻訳のdiff 原文がある場合に対訳の表示 翻訳者向けの情報の追加 トップページの一覧を見て
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く