Life, Education, Death

プログラミング以外でも思ったことをつらつらと書きたい

PHPだって非同期処理できるもん!

最近の図書館システムが気になったので調べてみた

本を貸し借りするときに使えるWebサービスが欲しくて、ちょっと調べてみた。 とりあえず図書館システムから OPACって? 「Online Public Access Catalogue」の略で、ネットワークを介して利用できる図書館の所蔵目録データベースのこと。 Web上から利用でき…

構造デザイン講義を読んで

読んでいくつか気になる言葉があった たまに違うジャンルの本を読むことはすごく刺激になるので、プログラミングに関係ない本にチャレンジしていこうと意識している。今回はふと目についたので、建築分野の本を読んでみた。 「構造デザイン講義 - 内藤廣」は…

スキーマレスなDBが使いたくなったのでMongoDBはじめました

なぜMongoDBか? そもそも、どんなものがあるのか知らなかったので少し調べてみた。MongoDB前々から聞いたことがあったが を見ていると、CouchDBというのもあるようだ。 ここでそもそも条件を思い出す。 内向けかつローカルサーバーを建てる前提 大きなシス…

GWTでJSONPしたいのですよ。

いつからSDKに入っているかよくわからないのですが、2.0にはもうJsonpRequestBuilderという便利なクラスが導入されていました。http://google-web-toolkit.googlecode.com/svn/javadoc/2.0/com/google/gwt/jsonp/client/JsonpRequestBuilder.html String url…

フレームワークを考える際には、何か具体的なアプリケーションを考えるといいらしい

↓のようなことを2年前からずっと言ってて全然作業してないし、忘れてた。 すでにこんなのがあるわけですが http://booklog.jp/users/zzzでも自分でフルスクラッチでつくりたーい[要求定義] ・本を簡単に管理したい ・特に出先で確認したい ・簡単に検索して…

jaikuengineはじめました

ふと出会った ちょっとやりたいことを試しているうちにjaikuengineなるオープンソースのTwitterクローンに出会った。出会った時点で開発は終了していたし、GAEで動くようになってるし面白い出会いだった。小さなメッセージ発信サービスを試したいので、しば…

FusionCharts Freeでカッコイイグラフを表示する

できること http://www.fusioncharts.com/free/gallery/を見ての通り、フリー版でも十分に様々なグラフを表示できる。アニメーションもするのでちょっとかっこよさを注入したいときにも便利。グラフはflash側で描画するタイプのライブラリなので、単にパラメ…

FusionCharts Freeでカッコイイグラフを表示する

できること http://www.fusioncharts.com/free/gallery/を見ての通り、フリー版でも十分に様々なグラフを表示できる。アニメーションもするのでちょっとかっこよさを注入したいときにも便利。グラフはflash側で描画するタイプのライブラリなので、単にパラメ…

CreativeCommonsの素材について(Google編)

素材収集の際にそれがCreativeCommonsかどうか簡単に調べられるのか気になったので調べてみた。 google画像検索でライセンスごとに絞り込む Google検索APIにrestAPIがあり、JSONで結果を返してくれる。詳細はここで 公式のドキュメントにはないが、画像検索…

認証フィルタを使ってみる

目標 認証を実装するために Slim3、GAE/JでGoogleアカウントの認証 その2 - ありの日記を参考にしながら、認証のフィルタを実装する サーブレットフィルタについて サーブレットフィルタは"サーブレットコンテナ"→"サーブレット"にリクエストが送信される間…

透過的な自己申告型エラー訂正のパターンがいいんじゃないかと思った

GAE上で動くものをSlim3で実装しながら、考えていたことをまとめてみた。まだ熟考されてない・・・ 簡単に図を書いておいて、後で思い出せるといいな キャッシュはしておきたいけど、データが違っているときに面倒だ Webサービスの場合レスポンスが大事だ。…

iPhoneアプリでスクレイピングしたい的なことを聞かれたので調べてみた。

調べるのは出来たが、MacがないしObjective-Cとか書けないので調べた結果だけです。 結果としてはlibxml2を使えばいいだけっぽい。 標準のライブラリにはSAXしかないらしい XMLを扱うライブラリにはシーケンシャルにタグを調べていくSAXとゴリっと先に全部パ…

背景色と文字色の組み合わせを勝手に考えてくれる機能が欲しい

調査 ふとしたことから、そういうアルゴリズムがないか知りたくなった。 Color Combinations and Readability(翻訳)を見ると二つの色が見やすいかどうか数値化するアルゴリズムはあるようだ。 exeになってるものもあった。 http://www.infoaxia.com/tools/cc…

iPad用のサイトを作りたい

iPad用のWebアプリが作りたいので、色々調べてみました Web Clip Web ClipとはホームスクリーンにWebサイトのショートカットをおける機能のこと。登録されるショートカットのアイコンは任意に設定できる。 To specify an icon for the entire website (every…

iPad用のペンが欲しい。

絵を描くようになったので、猛烈に欲しくなってぐぐってみた。 http://necojarashi.blogspot.com/2010/05/diyipad.htmlの極細ペンがすごかったので、工作意欲が沸いてしまったのです。 準備編 まずはペンを探しにいきました。短くなった鉛筆でも使えるように…

Slim3+Twitter4jでTwitterボットを作った

目標 スクレイピングして必要な情報を取ってくる スクレイピング対象の更新に合わせて、起動する スクレイピングした情報をまとめて、Twitterにポストする 実装 スクレイピング XPathなどを使ってクールにスクレイピングを決めようと思っていたが、壊れたHTM…

eclipseでnoseを自動実行するようにする

元ネタ noseとeclipseを使ったときに何か便利なツールがないかと調べていたときに見つけたこのブログのエントリーでeclipseの自動ビルド機能を使ってnoseの自動実行をやっていたので自分でも試してみた。 手順 手元のeclipseが英語版の3.4.1なので日本語版の…

iframe内にOAuthの認証ページを表示したい

OAuth認証は楽チンだったが Twitter4jを使ってOAuth認証をしたのでそんなにはハマらなかった。 OAuthがわかっていれば、Twitter4jはさくさく使えるライブラリだった。 その辺のメモはまた今度しないとけない。 OAuthの認証を行うときに遷移して認証するペー…

C++ではじめるテンプレートエンジン入門

ClearSilverとは ClearSilverはC++で使えるテンプレートエンジンでHDFと呼ばれるデータをテンプレートファイルに注入する仕組みになっている。HDFはテキストとしても表現できるが、プログラムのコードとしても表現できるようになっており柔軟に対応が出来る…

simplejsonが使いたい

問題 Google App Engineにて import simplejsonと書くとImport Errorで怒られる。 答え ここにあった。 http://groups.google.com/group/google-appengine/browse_thread/thread/37e680e19daeae76 from django.utils import simplejson とすればいいようだ。…

PATHを通したい。ただしCUIからに限る

修正 前回のスクリプトだと、addした際に;が余分につくので修正した。 Windowsの環境変数をコマンドから編集したい とある事情により、ちょろっとコマンドから編集する機会があったので、調べてみたら @IT:Windows TIPS -- Tips:WSHで環境変数を設定する …

AS3を使ってみる

またまた備忘録。 ローカルファイルが扱いたい。 http://cocoasaurus.com/blog/2009/09/air-5.htmlによると、 Fileオブジェクトを使用すると、ファイルの情報取得やコピーなどができるようになります。 更にFileStreamクラスと組み合わせるとファイルの読み…

やっとAS3をはじめてみました。

AS3の印象 ActionScriptと言えば、やっぱりECMAScriptなのでJavascriptみたいなもんだから、余裕だなぁと思っていたがJava 5 と ActionScript 3 の構文比較 - flashrodをみてみると、ぜんぜん違うし! Javaに本当に近い感じ。Javascriptより色々硬くなってい…

install

1. save source to twitter_replylist.user.js 2. change source code 'your username' & 'your password' Reply list JS for Opera UserScript // ==UserScript== // @name twitterExt_listreply // @namespace http://d.hatena.ne.jp/Nilfs/ // @descripti…

reply list. Twitterのlistに返信したいの巻

ちょっと気になるアドイン1

http://visualstudiogallery.msdn.microsoft.com/ja-jp/be0123a2-6d23-4b68-9f82-d43840bc655d ショートカットの一覧表示をしてくれるっぽい。たまに使うかな? MetalScroll extension RockScrollの後継っぽい。 ClassAccessor Generator extension NUnitに…

MT-5255という今まさに欲しかったバーコードリーダが売ってた

見つけたときにこれは!と思ったものの何者かわからなかったので、http://noppoland.at.webry.info/200910/article_45.htmlを見てから購入。とりあえず、使えることが確認できないと300円でもゴミがたまって困る。 汎用USBドライバ 組み込みとかハード側には…

楽天テクノロジーカンファレンス2009に行ってきた

去年も参加して、なかなか楽しかったこのイベントに今年も参加してきました。 主な動機はおいしいご飯のために! 会場ではid:MadBoo、id:kanonjiと合流し、また二次会ではid:troterといい感じに情報交換ができていい流れでした。 感想 個人的にはちょっと疑…

Operaで日本語URLを変換するブックマークレット

更新 Firefoxで動かなかったのでコードを修正しました。 動機 Amazonとかのサイトではよく日本語URLでアドレスバーに表示されるようになってきていて、 Operaでも日本語URLで表示される。 わかりやすくていいんだけども、 そうすると、メッセンジャーとかに…

iGoogleガジェットを作ってる

外部のサイトをクリッピングしたいのです gadgets.io.makeRequestを使うと任意のサイトの一部を持ってこれる。 var params = {}; params[gadgets.io.RequestParameters.CONTENT_TYPE] = gadgets.io.ContentType.DOM; var url = "取得元URL"; gadgets.io.make…

templateでObserverパターン

20091109 修正 ListenerCollection::Remove()内のstd::vector::erase()にconst_iteratorを渡していたのをiteratorに修正。vector::erase - C++ Referenceをみる限り、const_iteratorで通らなそう。書いたのが結構前だけど、(VC9で)通してから貼り付けたつも…

多重継承でオーバーロード?

C++

下のようなコードが通るのを知らなかった。 class HogeA{ public: virtual void Foo( int x ) = 0; }; class HogeB{ public: virtual void Foo( int x, int y ) = 0; }; class TestC : public HogeA, HogeB{ public: void Foo( int x ) { std::cout << x << …

デザインパターンのまとめ

最近またデザインパターン病が再発し、調べまくっています。 だいぶブックマーク数も増えてきたので、最近、調べたものをまとめてみます。 調べているのは色々な分野をまたぐのでプログラム以外もあったりする。デザインパターン自体は正直、使える場面が少…

Debug Hacks発売記念講演 Debug Hacks Conference 2009へ行ってきた。

デバッグデバッグ もうだいぶ経ってしまったけども、4/23のDebug Hacks Conference 2009へ行ってきた。 この本の内容は近々、必要になることではなく、もう少し未来に必要な内容だなぁと勝手に思っていたのだが、 そんなことを言ってる間に必要になる内容か…

<input type='reset' />で作られるリセットボタンはフォーム内のinputタグやselectタグの値をvalueに戻してくれる。 valueに入ってる値を無視して、とりあえず空にして欲しかったので、関数を書いた。 /** * 指定したフォームの入力を空の設定する * * @method resetFormValues * @…

YUI LoaderのaddModuleの使い方

自作のスクリプトファイルをYUILoaderでロードする - うなの日記とかが使い方の説明がしっかり書いてあって参考になった。 var loader = new YAHOO.util.YUILoader(params); loader.addModule(XXX);としたときの読み込むJSファイル内でYUI Loaderを呼び出し…

HHKじゃないふつーのキーボードが使いたいんだ! 最近はメカニカルキーボードにはまっていまして、IBMの古いやつをヤフオクで探して使っているのです。 残念ながら、CtrlとCapsLockの位置がだめだめなのです。キーの位置を入れ替えたい! というわけで、Wind…

結論から言ってFreeTDSが原因だった模様

突然のDNSエラー IEであるページを開いたら、DNSエラーと表示された。少なくとも他のページは見れるし、自分で作っているページなので外部の影響はないと思われる。 apacheのエラーログを開いたら There was a problem connecting to the server freetds と…

ようするにMSSQLでPDOでODBCなんてしちゃいけないんだ

まず http://bugs.php.net/bug.php?id=365612年くらいほって置かれているバグ。このおかげで、PDOのメインの機能(だと思っている)プリペアドステートメントが使えないようだ。 どんなデータでも""つけて文字列として値をセットしてしまうようなエラー文に…

ファイルサイズを調べたい

boost::filesystem::file_sizeを使うと簡単 boostを使うのはとてもいい選択だなぁとよく思うけども、file_size以外の関数を使わないのに使うのがちょっと大げさかなと思って、fstreamだけで調べる方法をメモしておく。 今回はファイルサイズを取得するには?…

PHPでSQL Serverに接続したい

前提 SQL Serverと別にLinuxのWebサーバーがいて、その中のPHPからDBに繋ぎたい How-to: Linux talks to Microsoft SQL Server by PHP Data Objects (PDO) その2 Memory Over:Connecting to SQL Server 2005 via unixODBC - livedoor Blog(ブログ) を主に…

Common SQL EnviromentがPostgreSQL8.3で使えない問題

cseには結構お世話になっています 簡単にDBに繋げて、昔は使っていました。最近はもっぱらpgAdminで色々やっていたわけですが、テーブル定義書が生成したくてpgAdmin以外のツールを探していたわけです。 cseの問題 ここの質問にあるように PostgreSQLの7.4.7…

PHPの仕様なのかバグなのか不明

PHP

サンプルコード 通らないコード function hoge( $foo, $bar ){ var_dump($foo, $bar ); } 通るコード function hoge( $foo, $bar ){ var_dump($foo, $bar ); } PHPは通常、全角スペースがあるとパースエラーで落ちるが 残念ながら、関数の引数の宣言のあたり…

Web上で使えるPHPのコンソールが欲しい

PHP

きっかけ 今書いた新しいクラスのメソッドを仮のパラメータを入れて動くかどうかだけ知りたいときがあって ブラウザの上で実行したい!って思ったのが始まり。 現状 とりあえずtextareaにtabキーでスペースが4つ挿入されるエディタになりました。 今までは e…

PDO -There is no active transaction-

謎のエラーThere is no active transaction ググってもいまいち出てこない上に、PDOExceptionのerrorInfoプロパティの中身がNULL。 詳細不明の変な状況に陥った。 原因 fetch時にFETCH_CLASSを指定するかfetchObjectを実行するときに渡すクラス名がその時点…

memcachedとphp-libmemcachedのインストール

他のマシンでもインストールするときに便利なようにメモしておく。 CentOS 5にて動作確認。最後のphp.iniに書き込むところだけは個々に設定が必要かなと。 #!/bin/bash wget http://www.monkey.org/~provos/libevent-1.4.9-stable.tar.gz tar xzfv libevent-…

memcachedとSmarty

はじめに Smartyは遅い。そこでSimplateを使おうと話になった。 SimplateはSmarty互換でシンプルなPHP拡張実装。実装がCなのでとても早いという評判なので早速使ってみた。 Simplateを試す 公式のインストールの項目の通り、ソースからインストールした。こ…

Yahoo UI Library Dom.getElementsByClassNameを使ってはまること

CSSクラス指向Javascriptingをしている 例えば、CSSのクラス名'button'があるエレメントにはButtonウィジェットの機能をつけて、加えて'toggle'というクラス名も持っていたらトグルボタンウィジェットにする。 みたいなことを頻繁にやっている。 CSSのクラス…

VMWare Virtualization Forum 2008に行ってきた

はじめに 11月18日に行われたVMware Virtualization Forum 2008 : ホームに行ってきた。VMWareの無償版を使ってUbuntu入れて、おー簡単じゃんかぁ(パチパチ)程度で全然知らないことが多い。 難しいセッションには参加しなかった。何か面白い情報が見つかれ…