ひらい ぶらり Hi-Library

ぷろぐらみんぐについて。ときどきどうでもいいことについて。

log4phpでConversionPatternにタブを入れたい

結論:そのままタブをぶち込めばいいΩ ΩΩ逆に言えば"\t"とか"	"とか入れても駄目です。何も迷わずにTABキーを押してください。 vimの設定でタブを全部空白にしていたので変に時間食ってしまいました。 不貞寝したい。

携帯ゲートウェイのIPアドレス帯域の変更を監視する

タイトルのようなことがしたくて色々調べていると、Perlのモジュールに Net::CIDR::MobileJP ってのがあって、この中に各キャリアのIPアドレス帯域がのってるHPをスクレイピングするスクリプトが含まれている・・・ってことがこちらhttp://dsas.blog.klab.or…

MessagePackをPHPで使おうとしたら「undefined symbol: RETURN_NUL」ってでた

はい、お疲れ様です。 僕こと鬼チャラいプログラマーしんばしは困ったらすぐにGoogle先生に聞いてしまうのですが、マスターから「ルーク、ソースを使うのじゃ!」と言われてソースを眺めてみました。無事MessagePackをmake installし、めでたしめでたし。さ…

CentOSでMessagePackのphpバインディングを使う

MessagePackを使おう! ということになりまして。MessagePackはシリアライズのスピード、シリアライズ後のサイズの縮小に優れているシリアライザーです。詳しくは google:MessagePack で漁って見てください。手抜きなう。CとRubyのライブラリとして開発され…

ひとりapache勉強会 apache_module編 その1 「apache_moduleってなに?」

前書き みなさんこんにちは 会社で分不相応な部署で働いてるしんばしです。 会社で神と崇められている方々と仕事をしているわけですが、ミーティングなんかでも神と僕とでは前提になっている知識が違いすぎて置いてけぼりになってしまうことなんかが多々あり…

バグ管理ツールとコードレビューツールを調べてみた

コードレビューの度に、人を集めるのって大変だよねってことでsubversionなんかのバグ管理ツールと連携するコードデビューツールやプラグインを調べてざっくりまとめてみた。デモやら周囲の評判だけで書いているので、うそついてるかもしれないのであしから…

iPhoneのメールで文字入力をすると落ちる

メールに文字入力をして,予測変換がでるのを待っていたらiPhoneが落ちた再起動後も,メールアプリが落ちる.なんぞと思ったがiPhone メール 文字入力 落ちるでぐぐったら一発で解決策が.便利な世の中になったものである.因みに設定→一般→リセット→キーボ…

JTableにチェックボックスを設置

JTableにボタンを配置したりするのは大変みたいだが,チェックボックスは比較的簡単に配置できるようだ. まず,JTableにデータをセットするときに Object[][] data = { {"Mary", "Campione", "Snowboarding", new Integer(5), new Boolean(false)}, {"Aliso…

WindowsのCabochaをJavaからexecで使う が 文字化け

WindowsでCabochaをJAVAから使いたい.しかし,Java用のライブラリがないので,execでCabochaを叩いてみる. String cabochaPath = "C:\\Program Files\\CaboCha\\bin\\cabocha.exe"; String command = cabochaPath; Process process = null; try { process …

canvasで爆裂ブロック崩し

時間はないけど,実験のTA中とか暇なので作ってみよう!というわけで爆裂ブロック崩しJavaScript版に挑戦. もちろんIEでは絶対に動きません.自己満足です. ちなみに今のところFireFoxでも重すぎてお話しにならなそう. Chrome限定の予感.とりあえず,本…

グラフを扱うJavaライブラリ「Jung」

GraphvizとかCytoscapeのようなグラフを作ることができそうなライブラリ、Jung。BSDライセンスなので研究にも使えそうです。 しかも中心性を求めるアルゴリズムがいくつか存在するようなので、それっぽいグラフを作るにはもってこいの予感。参考 http://d.ha…

iBATISのファイルマップのWHERE句での大なり小なりの書き方

<select id="findMypTopics" resultMap="TNews-Result"> SELECT hoge_id, hoge_name FROM t_hoge WHERE hoge_id = ]]> 1 </select> 参考:http://pgmemo.blog116.fc2.com/blog-entry-32.html

ModelDrivenという仕組み

ModelDrivenという考え方自体は難しくてよく分からないが http://www.atmarkit.co.jp/aig/04biz/mda.html よくわからんけど、モデルになるものを作って、そこからソースコードを生成するよ!ってお話なのかな?んでプラットフォーム依存をしない、と。よくわ…

POSTやGETで渡された値をクラスに格納する

JavaでO/RマッパをするのにiBATISを使っています。 DBにインサートする時に、マッピングされたクラスに値を格納するわけですが、そのたびに //(抜粋) Emp emp = new Emp(); emp.setName(name); emp.setDept(dept); sqlMap.insert("insertEmpMap", emp); っ…

シンタックスチェック

http://project-p.jp/halt/anubis/blog_show/920 便利。

ファイルタイプ別設定の仕方

$HOME/.vim/ftplugin にphp.vimとか、ruby.vimとかって作っておけば、ファイルタイプに応じて設定を変えられる。 プラグインなんかはファイルタイプ別に設定するほうが無難っぽい。

FireFoxで右クリックだけの処理をしたい

右クリック検知にはcontextmenuなるプロパティがあるらしいですが、FireFoxでは右クリックと同時にクリックも呼び出されちゃいます。 そんなわけで、mouseupかmousedownを使いましょう。mouseupが本来の動作に近いのかもしれない。 var icon = document.getE…

Echo Getter(仮) を作ってみた

http://paseo102.sakura.ne.jp/download/echo_getter.xpiこんなの作ってみた。できること ・定期的にエコーを確認 ・mixi開いてなくてもエコーがチェックできる ・mixi開いてなくてもエコーで発言できる ・mixi開いてなくてもエコーに返信できる ・新しいエ…

XULでdiplayを使うとき

FireFoxのアドオンとかでXULに対して hoge { display: none; } を使う場合の注意。 noneは良いけど、他の値はうまく動かない。使う場合は hoge { display: -moz-box; } を使う。visibilityの時はcollapseにしておけば問題ないらしい。参考:http://piro.saku…

XmlHttpRequestでPOSTする時の文字コード

POSTする先がUTF8ならいいのかな?問題はUTF8じゃない時。 普通は文字コードを指定するパラメタか何かあって、それを元に受け取る側で文字変換してくれればいいんだけど、今回はmixiエコーにポストしようとしていたので見事に弾かれた。 仕方ないからEUCに変…

FireFoxアドオンでModule化した際にApplicationを使う場合

var Application = Cc["@mozilla.org/fuel/application;1"].getService(Ci.fuelIApplication); モジュールではApplicationが定義されていないため、自前で定義してやる必要がある・・・んだと思う。追記 CCもCiも定義されていないので、正確には↓ const Cc =…

XUL でdescriptionの子要素として動的に文字列を格納する

XULにおいて <description>ほげほげ</discription> のように書くと文字列は自動的に折り返してくれるようになる。 が、XULにはinnerHTMLとかinnerTextがない。 descritptionのvalueプロパティに文字列を格納しても一行になってしまう。 var desc = document.createElement("description"…

PEAR::MDB2 の罠

PEAR::MDB2では、ステークホルダに空文字を入れるとNULLと扱われるという、oracleの仕様に合わせたものがデフォルトになっている。やめてー。 MDB2 Error: null value violates not-null constraint空文字がNULL扱いされてnot-nullにしているカラムにNULLが…

MYSQLで文字化け

PEAR::DBから、PEAR::MDB2に移行したら、日本語が扱えなくなった。 Illegal mix of collations (utf8_general_ci,COERCIBLE) and (ujis_japanese_ci,IMPLICIT) for operationこんな感じのエラー。 ちょいっと調べたところ SET NAMES utf8; こんな感じのクエ…

Search Monkey

Search Monkeyについて(Shin_bashiメモ) ・開発者 Yahoo!検索にプラグインの様にアプリケーション色々作れる 現在は Enhanced Result Infobar の二つ。 Enhanced Resultは検索結果を改良できる。 たとえば映画のサイトならば、5つ星での評判などを表示させ…

外部CSSで設定した値やクラスで指定したCSSをJavaScriptで取得する

element.style.* で取得できるのはインラインCSSだけ。 function getStyle(element, style) { if(!/*@cc_on!@*/false) { var cs = document.defaultView.getComputedStyle(element, null); var value = cs.getPropertyValue (style); return value; } else {…

keydown keypressの違い

http://cgi14.plala.or.jp/uz/ubbs/wforum.cgi?mode=allread&pastlog=0001&no=182&page=20&act=pastkeydownは文字通り、なにかのキーが押されたときに反応する。keypressは「文字が入力」された時に反応する。という感じらしい。なのでkeypressでは矢印キー…

IE でsetAttributeは半端な実装 classとかstyleを指定しても反映されない

本日三つ目のエントリー うち二つがIEのダメエントリー。 マウスオーバーでクラス名を変更しようとして e.setAttribute("class", "hoge"); のように実行しても、クラス名が変わる(二重になる?)だけで、cssは反映されない。 どうもIEの実装が終わってるら…

foreach と for + in は違う

これはIEが悪いのかどうかわからないが、とりあえずメモ。 foreachのような挙動をするものとしてfor (var i in data)見たいな文がある。が、これはforeachではない。らしい。詳しくはこちら http://d.hatena.ne.jp/amachang/20070202 for (var i in document…

IEでJSONを扱うときの注意 カンマに気をつけろ!

var test = { url : "http://example.com", text : "test", } って書くとIEではエラー。text : "test", の「,」が曲者。FireFoxとかでは問題ないが、IEではエラーになるようです。

 addEventListenerの罠

for (var i in data) { getElementsByName("div").item(i).addEventListener("click", function() { alert(i) }, false); }こんな風にして、期待しているのは 一個目のdivでは0 二個目のdivでは1 みたいな出方。しかしそうならない。 仮にdata[10]だとすると…

いよいよリリースです

何をリリースなのか書いていいのかよくわからないので書きません。 とりあえず僕が手塩にかけて育てたシステムがリリースされました。 アップした瞬間にエラーだったり、社内に発表するのに誤字だったり、ドジっ子全開ですがとりあえず完成しました!んーま…

SoftBank 3G携帯ではnonumberが使えない

SoftBankでアクセスキーちっくな物を使うにはdirectkeyを指定して、nonumberを書いてやる。nonumberを使うと、対象の文字列の前に数字が付かなくなる・・・とのことだったけど、だめだった。なんでだ。と思ったら3G携帯からnonumber対応しなくなったらしい。…

ライブドアがクリップのデータを公開したので、(IT戦記にならって)早速使ってみた

IT戦記がこんなことしていたので http://d.hatena.ne.jp/amachang/20090115/1232001268学生として、自分もさっそくアプリケーションを作りました。 http://labs.edge.jp/datasets/ これを使ってhttp://paseo102.sakura.ne.jp/test/livedoorclip.htmlこういう…

PHPでXHTMLを書く際の注意(空行入っちゃう件)

XHTMLを書く際には、最初の一行目でxml宣言をしないといけません。 FireFoxに怒られます。 しかし、時々何も出力していないのにechoとかしても、なぜか空行が入り3行目くらいから出力されてしまうことがしばしば。 なぜ、なぜ空行が入る・・・・・・っ! と思って…

PEAR の prepareとかexecute

php

使ったことなかったので、知人に頼まれたもの作る時にせっかくだから使ってみたらクエリの構文エラーでつっかかったなぜにと思ってたら$query = "SELCT * FROM `hoge_table` WHERE `name` = '?'";みたいに、プレースホルダをシングルクオーテーションで囲っ…

絵文字ってなんなの?死ぬの?

携帯用の検索APIを使うために、フォームに絵文字が入ってたらそいつをはずして送ってやる必要があるのでった まるで、正規表現で絵文字をはじく・・・というか、まぁ普通の文字とか記号だけを取得すればいいんだけど・・・・・・どうしろと。大体、フォーム…

JSONPのAjax的使い方

以前、Googleデスクトップのガジェットを作るときにgessyさんの作ったLEAFBANK APIを利用させてもらおうとしたら 「JSONP作ってないから、JSONP作って使っちゃいなYO」 というようなことを言われて 「なるほどなるほど、JSONP使ったほうがいいですね」 って…

Google News RSSの日本語版は適当

適当というか、話題のニュース以外のRSSはタイトルしか表示されない。なんてこったい。ちなみに英語版とか他の言語圏は普通に表示されているみたいです。話題のニュース http://news.google.com/news?hl=ja&ned=ja&ie=UTF-8&oe=UTF-8&output=rss&topic=poト…

GoogleデスクトップでAjax

GoogleデスクトップでAjaxを使う場合は、普段と勝手が少し違うみたいだ。 シンプルなAjaxの書き方は以下なかんじ var httpObj; function loadTextFile() { httpObj = new XMLHttpRequest(); httpObj.onload = displayData; httpObj.open("GET","data.txt",tr…

IE7の標準モードでbodyやhtmlのborderを消せない?

IEにはなぜかbody要素またはhtml要素にborderが既に設定されているのはご存知だと思う。 んで、その余計なborderを消すのに 互換モードの場合 body{border:0} 標準モードの場合 html{border:0} としてやればその余計なborderは消えていたのですがIE7で標準モ…

「.viminfoが保存できません」を解消する

あるとき唐突に「.viminfoが保存できません」と出てくるようになった。 原因は思い至らないが、.viminfoが保存されないとコマンドの履歴などが残らなくて色々と面倒くさい。 というわけでさっそくリーフって見たところ、いくつか解決策を発見。流石LEAFBANK…

クロージャについて3

クロージャについてって言っておいて、肝心のクロージャについて触れてなかったので書きます。 クロージャとは・・・・・・リーフってください。っていうと丸投げすぎるので、なんとなくしかわかってないですけど一生懸命自分なりの解釈を書きたいと思います。 基…

JavaScript クロージャのお話2

・(function(){}()); という書き方もあるみたい。 詳しいことは調べても理解できなかったのでおいおい調べていこうと思う。 この場合は (function(v){alert(v)("helpoppo")}); と記述すればalert("helpoppo");が実行されるようです。 うーん、根っこの部分っ…

JavaScript クロージャのお話

packerを使うときに注意すること ・function(){}; 関数定義の最後に;(セミコロン)を打ってやる。 打たなくても動くのはJavaScriptに自動補完機能があるかららしいです。でもevalで評価した時にそれは働かないらしいので、ちゃんとセミコロンを打つ必要がある…

$(function(){})を使う際の注意

自分で全部JavaScriptを書いているのならいいけれども、どこかにぶち込んで使ってもらうような、ライブラリチックな使い方をするときは注意したいこと。$(function())は$(document).ready(function())の省略系で、この記述が複数個あっても何も問題ない。が…

IEのBODY BORDER=0

IE(多分6まで)でのborderプロパティの値を0にしてやると、ブラウザの周りを囲っている1pxの線が消せます。 コレをやると、背景色をそろえてやればあら不思議、まるでブラウザにくっついてるようにみえる・・・わけですが、そのあたりもDOCUMENT TYPEによ…

大学にて GEO BATTLER 晴れて一位です

「一位は皆さんすでに分かってると思いますが、一つだけなにか凄いのがまじってましたよね」 という前置きのもと、一位をかっさらってきました。 あでぃんごぁーとしてはこれくらい当然にやってこなきゃいけないですね。 何やら、JavaScriptを使ったリッチな…

jQueryで音楽を鳴らす

いまいち調べキレなかったけれども、サウンド系はブラウザでいろいろと処理が違うので厄介そうである。 FireFoxなんかは、QuickTimeのプラグインで再生してたりするようなので、古いとならないのか?要調査。 前回はMP3ファイルだけしか利用できなかったので…

scriptaculousで音楽を鳴らす

GEO BATTLERでキャラクターの攻撃時に音声や効果音が出したかったので調べた。 prototype.jsのプラグインであるscriptaculousでどうやらできるらしい。 使い方はいたって簡単。 Sound.play('sword.mp3');楽勝っすね。 因みに同時に音を鳴らしたい場合は Soun…