サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
ノーベル賞
blog.clouder.jp
Google Chart APIでQRコードが作成可能となり劣勢に立たされている気がしないでもないImager::QRCodeを作っているclouderです。 こんにちは。 以前からImager::QRCodeでCPAN Testerからエラーレポートがあがってきたのを先日一気にfixして上げたのですが、そのときに苦労した点がいくつかあったので記しておきます。 苦労した点その1 Imager::QRCodeではlibqrencodeというCのライブラリを使ってQRコードを作成しているのですが、このlibqrencodeのAPIがちょっと見ない間に変っていて(関数の名前とか引数の数とか)、あるバージョン以降のlibqrencodeをインストールした環境ではImager::QRCodeが動かなくなっていました。 どうもあるメジャーバージョンアップの際に関数名の変更が行なわれたっぽいのですが、そ
Yokohama.pmテクニカルトークが先週金曜日に行なわれたので、それに行ってきました! 参加人数は20数人とShibuya.pmに比べればぜんぜん少ない人数ではあったけど初回ということもあり、とても和やかな雰囲気のテクニカルトークで個人的にはとてもよかったです。 今回は主に横浜近辺在住の方々が多く参加していたようですが(一部千葉や埼玉の方もいました><)、飲み会などでも「時間を気にしなくていい」という意見が多く、その点でもやって良かったんじゃないかなぁと感じています。 今後もしばらくはこじんまりと着実な感じで2、3ヶ月に1回ぐらいのペースでやっていけたらと思っています。 なお、自分が発表したImagerのプレゼンは以下にあります。興味のある方はどうぞ。
crontabで、月末に処理をしたいというものがあってそのソリューションを探していたら こんなのを発見したので、ご紹介。 55 23 28-31 * * /usr/bin/test $( date -d '+1 day' +%d ) -eq 1 && /path/to/script ようは、testにて、次の日が1日かどうかを確認して、OKだったら/path/to/scriptを実行させる。 時分はご自由にどうぞ。28-31はとりあえずしかたないな。 と、こんなこと調べてたけど、実は最近のcrontabだとそういう指定がピロっとできたりしたらショックだな…。
ZIGOROuさんのOpenIDの記事を読んで、Net::OpenID::Consumerをインストールしようとしたのですが、Net::OpenID::ConsumerはCrypt::DHを使っていて、そのCrypt::DHはMath::BigInt::GMPを使った方が速度が早いらしいということで、早速Math::BigInt::GMPをインストールしようとしてみたところMacBook AirにはGMP(The GNU MP Bignum Library)が入ってないことが発覚。 ネットを検索したら、 yoshidasterさんの「 Mac OSXにNet::OpenID::Serverをインストール 」や 弾さんの「備忘録 - Intel Mac vs. GMP」や「gmp-4.2.2-core2」などがひっかかりました。 これらを試してみたのですが、どうもうまくインストールできません
ustreamには録画機能がありますよね。 先日開催されたモバイル勉強会でも録画したものが公開されていたりします。 この録画されたもの(flv形式のファイル)をダウンロードすることができれば、それをmp4に変換してiPodで見られちゃうぜ!と思い、ちょっとハックしてみたところ、かなりめんどくさいですが方法がみつかりました。 でも、今のところアナログな方法しかなくシステマチックする方法はみつかっていません。 具体的な方法は以下。 ※この方法をやるためには前提条件としてFirebugがインストールされたFirefoxが必要となります まずダウンロードしたい対象のチャンネルのURLを開く 普通に http://ustream.tv/channel/example/ を開くだけです。 次にダウンロードしたい録画された動画をクリックする 先程開いたページの Past Clips からダウンロードした
例のGearmanのあれですが、naoyaさんが調べてくれてます(Gearmanのやつ、Gearmanのやつ#2)。 とりあえず、問題となる箇所をsysread()ではなく、recv()でMSG_WAITALLをすることにより64kb以上のデータでも問題のなく取得できることを確認しました。すげー。 変更は下記のような感じにしました。ほぼnaoyaさんが書いた修正案そのままです。 --- Util.pm.old 2007-06-30 06:40:24.000000000 +0900 +++ Util.pm.new 2007-09-29 13:55:10.278878000 +0900 @@ -1,6 +1,7 @@ package Gearman::Util; use strict; +use Socket; # for MSG_WAITALL # I: to jobserver # O:
Posts Aug 27, 2018 Hello world in Elm Jul 30, 2018 Dynamic Proxies Jul 23, 2018 Functional Interface Jul 19, 2018 Annotation basics in Java May 11, 2016 SPM with Xcode May 10, 2016 Using libraries in Swift 3.0 May 10, 2016 Creating Swift 3.0 Project May 9, 2016 Installing Swift 3.0 Mar 17, 2015 How to use hubot Feb 27, 2015 Where is an arrow for initial view controller
ソースを見るのが一番早く、正確に理解ができると思うのですが、その前のとっかかりとしてSledgeの内部について少し書いてみたいと思います。 SledgeにはSledge::Pages::Baseというモジュールがあり、このモジュールにはSledgeのライフサイクルの根幹となるメソッド群が定義されています。Sledgeの内部を調べたりAPIを調べる際には、まずここから調べ始めるべきです。 Sledgeのライフサイクルをものすごく単純にすると、下記のような感じになります。 init [AFTER_INIT] dispatch init_dispatch [BEFORE_DISPATCH] post_dispatch_foo dispatch_foo [AFTER_DISPATCH] output_content [AFTER_OUTPUT] このライフサイクルでなにが行なわれているかというと、
ThinkITに「SledgeによるWebアプリケーションフレームワーク入門」を書かせて頂きました。今回から数回にわたってWebアプリケーションについて紹介しながら、Sledgeではどう実現するのかについて、にぽたん研究所な人、#!shebang.jpな人 、自分の三人で書かせて頂く予定です。 この連載では、主題が「Webアプリケーションフレームワーク」なのでSledgeの詳しい説明を盛り込んでいません。そこで、この際なのであちらでは書ききれなかったSledgeの設定方法についての説明をこのページで書こうかと思います。 とりあえずSledgeを使ってページが表示できるまでを書いていきます。 途中で挫折したらすみません…。 今回の目標としてhttp://sledge.example.com/index.cgiにアクセスをしたら Hello World と表示するだけのアプリケーションを作成す
Module::Installを使ったCPANモジュールはincというディレクトリがあって、その中にinc::Module::Installなどのファイルが同梱されています。なぜ、inc::Module::Installなどが含まれているかというと、これによってModule::Installがインストールされていないマシンでも、そのモジュールをインストールできるという利点があります。 Module::Installを使ったモジュールのプロジェクトを作るのは意外と簡単で、module-starterなどでプロジェクトの雛形を作り、以下のような感じでMakefile.PLをModule::Install用に書き換えてやるだけでいいのです(module-starterはテンプレート機能があるので、$HOME/.module-starter/の設定で最初からMakefile.PLをModule::
※追記があります。最新バージョンは1.1です。 先日作った mod_loadaverage_redirect にもう少し機能を追加して mod_loadaverage_action という名前でリリースします。名前が変ったのでディレクティブ名もLoadAverageRedirect***からLoadAverageAction***に変わっているので注意してください。 Source: mod_loadaverage_action-1.0.tar.gz Repository http://svn.clouder.jp/repos/public/mod_loadaverage_action/tags/REL-1.0/ 追加された機能は、今までは一つのリダイレクト先しか指定できなかった(LoadAverageActionURL)のですが今回からは LoadAverageActionRule という
emacsを使っていてよく使う機能といえば「C-x C-f」つまりFind fileですね。この時にperlの開発をしていると、モジュールとかは先頭がキャピタライズされているために、深い階層のクラスとかになるとシフトを毎回押さなければなりません。そんなときに今回紹介する設定をしておけば、先頭が大文字のファイル/ディレクトリを補完する場合でも、小文字を入力すれば勝手にemacsがそれを大文字に補完をしてくれます。これで慣れてしまったので今はこれがないと結構辛い…。 (setq completion-ignore-case t) ちなみに、自分はtcshを使っているのだが、tcshでも下のように設定すると同じ効果が得られます。この設定は、大文字小文字を区別しないという効果と、あとはConfig.pmというのを、% ls c.pとやってTABを押すだけで、% ls Config.pmと補完してく
最近はなにかとEmacsでUTF-8を扱いたいことが多くなってきたのですが、基本的にアプリはeucで書いていたのでUTF-8は必要なときになんとかすりゃいいやと思ってました。 でもこないだ、あるアプリを作ろうとやっているときにふと、「あーこのアプリはフルUTF-8で書こうかな」と思い立ち、さてどうしたものかと考えました。 自分のつたない知識で、「emacsでUTF-8を扱うにはMule-UCSというパッケージをインストールしなきゃならない」というのがあって、やっぱこれしかないのかなぁめんどくさいなと思っていつつも他に方法ないのかよということで、調べたり聞いたりしたところ、どうやらemacsのcvs版だとネイティブにUTF-8を対応しているらしいということがわかり、さっそくcvs版のemacsをcheckoutしてきて、makeしてみました。 そして$HOME/.emacsに(utf-tra
skkimeを使っていて、skkのskk-rom-kana-rule-listを設定したいと常々思っていたのだが、 プロパティで1つ1つ登録しなきゃならんのでメンドイ!と思いつつ、なにかよい方法はないのかと ググっていたらレジストリに直接登録すればいいということがわかりました。 レジストリの場所は、 HKEY_CURRENT_USER\Software\TT\Windows\CurrentVersion\SKKIME\1.0\RomaKanaRuleList らしいです。 ということで、ある一部で流行っているperlのWin32系モジュールを使用して一括登録が できるプログラムを作ってみました。 プログラムは下記になります。なおこのプログラムを実行すると上記のレジストリを一旦消して、 新たに登録するのでご注意を。 自分で登録する項目を変えたい場合には、__END__以下を編集してください。
coLinuxを使っているというのをmiyagawaさんのブログで見て喚起されたのでインストールしてみることにした。たしか1年ぐらい前に試そうと思って、挑んだときにはなんかめんどくさそうだったのでほっておいたんだけど…。 ということで自分なりにインストールで躓いたところなどを説明しつつインストールログを書いてみます。 ちなみにインストール環境はWindows XP SP2です。 coLinuxのダウンロード http://colinux.sourceforge.net/で最新版(2005年5月時点で0.6.2)をダウンロードしてくる。ダウンロードするファイルはcoLinux-0.6.2.exeです。colinux-0.6.2.tar.gzの方はソースなのでいりませんが、自分でコンパイルしたいという方(あんまりいないと思いますが…)はこちらをどうぞ。 とりあえず、インストール まず起動すると
今まで GD::Barcode::QRcode の独壇場だった QR Codeを Perl で作るためのライブラリですが、ここで一つ対抗馬として、Imager::QRCodeを作って、CPAN に上げてみました。 G::B::QRcode と比べて良いところは以下。 出来上がったものはそのままImagerのオブジェクトになっているため、出来た画像に対していろいろできます。 白黒の部分の色を Imager::Color で指定できるようになっていますので、白地に緑とか青とか赤とかの QR code ができちゃったりします。 GDなどのインストールはいりません。libqrencodeという小さなライブラリを入れるだけでさくっと動きます。 ただ、ぶっちゃけちゃうと GD::Barcode::QRcode よりも速度が若干遅いです。 以下ベンチマークになります(ベンチマークプログラムは最後に載せて
Twitterで更新がけっこうおおくてメッセやIRCとかで見るのがめんどうなので、shebangさんのOSXのGrowlみたいなのをWindowsでできないのかなぁと調べたら、Snarlというアプリを発見。これ、Growlインスパイヤみたい。しかもRubyのインターフェイスがあるので、こりゃいいやということで、Rubyでプログラムを書いて更新情報を出せるようにしました。 このプログラムを使うには事前にgemでruby-snarlをインストールしておく必要があります。 コードは以下。使い方はSnarlを立ち上げておいて、以下のプログラムをDOSのコマンドラインで、引数にtwitterのidとpassを渡して実行するだけです。Rubyのコードこんなに書いたの初めて…。これでいいのかどうかわからんけど一応動いてます。でもSnarlのバグなのか日本語がちょっと微妙…。ちゃんとUTF8で指定してやっ
はてなと時期を同じくして clouder.jp も自宅サーバからさくらインターネットに移行しまして、Subversion と Trac をインストールしたのですが結構苦労したので覚え書きとして残しておきます。 とりあえず、Subversion と Trac のインストールに必要なソフトウェアは以下です。今回インストールしたバージョンも記しておきます。 ちなみに今回インストールしたサーバはFreeBSD 6.1で、Perl、Python、Ruby はインストール済。でも Trac は Python だけあれば動きますので、Perl と Ruby はインストールされてなくてもよいです。 Subversion関連 neon-0.25.5.tar.gz swig-1.3.31.tar.gz subversion-1.4.2.tar.gz Trac関連 httpd-2.0.59.tar.gz sql
さきほどHTTP::MobileAgentの0.27をCPANにアップしました。 HTTP::MobileAttributeがものすごい勢いで開発がすすんでいる今、 なんとなく寂しい今日この頃なのですが、とりあえずDoCoMoのguidに対応した次第です。 で、話の本題はこっちじゃなくて、今回のCPANアップでShipItを初体験しました。 ShipItはなにかってーと、svnやsvkやgit(?)などで管理しているCPANモジュールをさくっとCPANへアップするためのモジュールです。 どうやるかっていうと、ShipItがインストールされててかつ設定ファイルなどがちゃんと設定されていれば、コマンドラインでshipitと打つだけ!あとはShipItが勝手にリポジトリに適切なリリースタグをつけてくれて、CPANへのアップまでやってくれちゃうというすばらしいものです。 Brad++ とりあえずイ
ずっとやろうと思っていた cvs から subversion への移行を今年の初めの頃にやったので、その時にやったことを書きます。 (※参考にしたページを一番下に記しておきますのでそちらもご覧ください) svnのインストール これは他の方が書いていると思いますのでそちらを参照してください(オイ cvsからsvnへリポジトリの移行 これはcvs2svnというpythonのスクリプトがあるので、それを使いました。 % cvs2svn -s /path/to/svn/repos /path/to/cvs/repos これで /path/to/cvs/reposにあるcvsのリポジトリが、/path/to/svn/reposにsvnのリポジトリとして変換されます。 これはサクっといくと思います。 subversion流に管理するために一旦ダンプする ここまででも、まぁ使えなくはないですが、subv
私的なものばかりですが、いつも忘れていろんなサーバに探しに行くので、メモっておこうと思って書きました。 他にお勧めがあったら教えてください。 同名のファイルを開いたとき Switch to buffer などでファイル名がわかりやすく見えるようになる設定 (require 'uniquify) (setq uniquify-buffer-name-style 'post-forward-angle-brackets) これを設定するとファイル名が同名だった場合にそのファイル名の後ろに file.txt<foo> file.txt<bar> といった感じで一階層上のディレクトリ名がでるようになります。もしその階層のディレクトリ名も同じだったら、もう一階層上のディレクトリ名も出て、違いがわかるまでディレクトリ名が出るようになります。 HTMLなどのコーディングで META タグにあるコーディン
ffmpegをインストールして、下記のブログに載っていたオプションで生成した動画を iPod へ転送したらあっけなく見られました。(いやうそ、その前に試行錯誤すること3時間でした…) FFMPEG And The Video iPod | Huebel Family Online ffmpeg -vcodec xvid -b 350 -qmax 10 -bufsize 4096 -g 300 -acodec aac -ab 96 -ac 2 -i input.avi -s 320x240 -aspect 16:9 output.mp4 ちなみにffmpeg のインストール方法は「第152回 早く来い! iPod with Videoの到着を待ちきれずにH.264エンコード(2)」を参考にしました。ここに載っている、FAAC、FAAD2、x264、liba52、そして追加で libxvidを
今日からiモードIDが取得できるようになりましたが、いかがお過しでしょうか。 HTTP::MobileAgentにも,これを取得できるようにするAPIを作ろうと思ったのですが、せっかくなのでそれ以外のキャリアのものも同じAPIで取得できた方がいいだろうと思い、DoCoMoならX-DCMGUID、KDDIならX-UP-SUBNO、SoftBankならX-JPHONE-UIDを取れるようにしてみました(まだCPANにはアップしてません)。 いまのところ関数名をuser_id()にしているのですが、HTTP::MobileUserIDとだだかぶりしてます! なにか他に良い関数名の案がありましたら教えてください! この機能を実装しているブランチはこちら↓です。 http://coderepos.org/share/browser/lang/perl/HTTP-MobileAgent/branche
にぽたんが海外に行くということで開かれたnipotan niteに行ってきました。 会場につくと、すでにものすごい数の人、人、人。 こんだけ人が集まったのはひとえににぽたんの人柄なんだろうなぁと羨しく思いました。 で、にぽたんの登場!kuboonさんのマジックでの登場となりました。 後日談ですが、この登場のためにけっこう無理な体勢のまま待っていたため腰が痛かったよと笑いながら(?)話してくれました。 ギークの方達のLTあり、おもしろビデオあり、泣ける演出ありで、近年まれにみるいい壮行会だったなぁと思いました。 そして総合司会(?)で、subtech界隈からもおそれられていると噂の941さんから花束贈呈。無造作に渡す姿が、941さんらしい。でも熱いものを感じました。 そんなこんなで一次会が終り、二次会。 subtechやらkuboonさんのマジック披露(すごかった!弟子入りしたい!)やらなん
Firefoxでmailto:リンクをクリックするとなにも設定していない場合にはOutlookが開いて、毎回標準のメーラーにしますかの確認が開いたり、そもそもOutlook使いませんから!状態だったので、この開くソフトをBeckyに変えたいと思って調べました。 方法は簡単で、コンパネ→フォルダオプション→ファイルの種類といって(なし)URL:MailToプロトコルにて、「詳細設定」を開き「open」を選択し、「編集」ボタンを押す。次に、「DDEを使う」のチェックを外してから、アクションを実行するアプリケーションに「"C:\Program Files\RimArts\B2\B2.exe" %1」と入力すればオッケイ。 詳しくは、こちらのFirefox FAQをご覧下さい。 ちなみにUNIXな環境でemacsでwanderlustを使っている場合には、下のようなscriptを用意しておいて、そ
先日リリースした Extractor の Bookmarklet(コメントをチェック(浮き出る版))のデザインや仕様を変えました。主な変更点としては、「マウスでドラッグできる機能」が付いたのとデザインをがらっと変えました。 その際にma.laさんの最速インターフェース研究会で紹介されていたJavaScriptでの遅延ロードのテクニックを拝借させて頂きましたので、覚え書きのつもりで今回どのようにしてそれを使ったのかについて書いておきます。 まず、先に紹介した Extractor の Bookmarklet がなにをやっているかというと、現在見ているページに script タグのエレメントを生成して、他のドメインのJavaScriptのソースを読み込んでいます。Bookmarklet を分解すると下記になっています。具体的には createElement で script タグを生成して、各プ
emacserの間で密かなブームとなっているyasnippet.elをインストールしてみました。 実はsnippet的なものを使うのは初めてだったので、ちょっと細かく覚える意味も含めてインストール方法から書いてみます。 インストール方法は簡単で、2つ方法があります。横着は人は上記ページの「yasnippet-bundle-0.3.1.el.tgz」をダウンロードしてきて、解凍してできたyasnippet-bundle.elを適当なディレクトリ(例えば$HOME/.emacs.d/plugins/とか)に置いて、以下のように設定します。 (add-to-list 'load-path "~/.emacs.d/plugins") (require 'yasnippet-bundle) このyasnippet-bundleってやつは、各種言語用(など)のsnippetの設定もlispの中に同梱し
ひげぽん OSとか作っちゃうかMona- - Catalyst入門 と お作法について templateの include rootからのパスを指定してやればよい [% include templates/user/username.tt %]はてなのひげぽんさんがCatalystについて書いていたのでそれを受けて書いてみます。上記のこれは、root/base/の中に読み込みたいincludeファイルを入れてやると、それがTTのINCLIDE_PATHに入っているので [% include username.tt %]で読み込めるようになります。Catalyst::View::TTの103行目付近にその記述があります。ちなみに、テンプレートの中にデフォルトで使えるようになってる変数はbase($c->req->base), c($c), name($c->config->{name})の3
自作のemacsでPerlモジュールのTemplate Toolkitの文法を使うためのモードです。これはマイナーモードになっていて、html-helper-modeと一緒に使うようになっています。こちらからダウンロードできます。 自分はこれを1年以上使っているのですが、今はこれがないとTTの文法を書くのは辛いです。 一番使うのはC-c iで[%%]を挿入ですね。色は一応付くのですが、複数行に渡ったりすると色が付かなかったりします。 html-ttはhtml-helper-modeのバージョンに依存しそうな気もするので、もしまだhtml-helper-modeがインストールされていないならいいのですが、されている環境だと今使ってるhtml-helper-modeと互換がない場合も考えられ、上書きでインストールをする必要がでてくるかも…。互換のあるhtml-helper-modeのインストー
次のページ
このページを最初にブックマークしてみませんか?
『Clouder::Blogger』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く