なんとなく開発日記(仮) このページをアンテナに追加 RSSフィード Twitter

現在公開停止中→「KeyJump」Chrome拡張
これらの機能の使用によって発生した何らかのトラブルや損失・損害等につきましては、一切責任を問わないものとします。

2011-08-24

DEncoderというツールを作りました

Decoder / Encoder 合わせてDEncoder。ネーミングセンスはどこに行ったのでしょう。

昨日からTwitterで何回かお知らせしていますが、ブログの方でも。

ネーミングはさておき、様々な形式の文字列をエンコード・デコードする「DEncoder」というツールを作りました!
Web開発者必携(?)のツールです!

今のところ対応してるのは
文字列⇔URLエンコード
文字列⇔Base64エンコード
文字列⇔UTF-7
文字列⇔数値参照←ここだけ自作なので不安定
文字列⇔JSON(Unicodeエスケープシーケンス)
です。リクエストがあれば他の形式にも対応したいと思います。

ここからアクセスできます!

類似のサービスはたくさんあるのですが、
・デザインがすっきりしている(冗長でない)
・入力したらその場で処理をしてくれる
・UTF-7に対応している
というものをすべて満たしているものがなかったので自作しました。

また、多重変換にも対応しています。
「Copy to input area」をクリックすると、OutputエリアにあるものがInputエリアにコピーされます。
2重にURLエンコードされていたりする文字列も簡単にデコードできます!

何か問題がある場合はこちらの記事のコメント、またはTwitter @nash_fsに投げてください。出来る限り早く対応します。
リクエスト等も同じ場所に投げてください。なるべく対応したいと思っています。

カラースターつけてくれたりとかTwitterでつぶやいて広めてくれたり、はてブに登録してもらえたりするとモチベーションがアップします。是非是非よろしくお願いします。

ちなみに製作時間はとっても短いです。jQuery mobileとライブラリのおかげです。

2011-08-15

#spcamp に行ってきました

このツイートを見て、ただ書くのも面白く無いなーと思ったので、ちょっと細工してみました

JTI2JTIzMTI0NzUlM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTUlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMzQ4OTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzg3JTNCJTI2JTIzMTAxJTNCJTI2JTIzOTglM0IlMjYlMjMxMjQ3NSUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTclM0IlMjYlMjMxMjUyMiUzQiUyNiUyMzEyNDg2JTNCJTI2JTIzMTI0NTElM0IlMjYlMjMxMjQ2MyUzQiUyNiUyMzEyNTIxJTNCJTI2JTIzMTI0NzMlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTUlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyNTI0JTNCJTI2JTIzMTI1MDklM0IlMjYlMjMxMjU0MCUzQiUyNiUyMzEyNDg4JTNCJTI2JTIzMTk5NjglM0IlMjYlMjMzMDA1OCUzQiUyNiUyMzIwMDU1JTNCJTI2JTIzMTI0MjYlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMyNjA4MiUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjA4MDglM0IlMjYlMjMzNjIzNCUzQiUyNiUyMzEyMzczJTNCJTI2JTIzMTI0MjglM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyMTAyMSUzQiUyNiUyMzI2MDg1JTNCJTI2JTIzMTIzOTklM0IlMjYlMjMzMTIyNyUzQiUyNiUyMzIxMjA1JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMzMzEzNiUzQiUyNiUyMzEyMzY0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzMwMTcxJTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzI2MzY4JTNCJTI2JTIzMzIwNjYlM0IlMjYlMjMyNjA4NSUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzODElM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMjY0MTIlM0IlMjYlMjMyNDQwMyUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzNTQlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzM4MjkxJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjQyOSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTI0MjklM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzI2MDQxJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyMDEzMiUzQiUyNiUyMzI3OTY5JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM2NSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjEwNTAlM0IlMjYlMjMyODYwOCUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMjE0NjMlM0IlMjYlMjMxMjM2OSUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMjAxMDclM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMyNDQ3MSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMzA2OTMlM0IlMjYlMjMzNTY3MiUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMjc0OTElM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMjYwNDElM0IlMjYlMjMyMTUyMSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjQ0NDElM0IlMjYlMjMzMTQzNSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMjQ2MDUlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyMDk4NiUzQiUyNiUyMzIwMjUwJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzMwMzQyJTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMyNjQxMSUzQiUyNiUyMzI3NzA0JTNCJTI2JTIzMTI1NDAlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzYyJTNCJTI2JTIzMjAxODQlM0IlMjYlMjMxMjM2NSUzQiUyNiUyMzIxNTEyJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMjg5JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMzNTYxMSUzQiUyNiUyMzMyNjgxJTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMxMjM4OCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzEyNDE1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMzNTQ0MyUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzNjclM0IlMjYlMjMyNjM2MCUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzIxMTA2JTNCJTI2JTIzMjQ4NTklM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMzODkxNCUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzgyMzAlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzNjclM0IlMjYlMjM4NCUzQiUyNiUyMzcwJTNCJTI2JTIzMjcwMDUlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjM4NyUzQiUyNiUyMzEwMSUzQiUyNiUyMzk4JTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE3JTNCJTI2JTIzMTI1MjIlM0IlMjYlMjMxMjQ4NiUzQiUyNiUyMzEyNDUyJTNCJTI2JTIzMTI0NjMlM0IlMjYlMjMxMjUyMSUzQiUyNiUyMzEyNDczJTNCJTI2JTIzMjE1MjElM0IlMjYlMjMxMjM2OSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjE4MzklM0IlMjYlMjMzODk4OCUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMyMzU2OSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxOTk3OCUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMzg2MjclM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIyODklM0IlMjYlMjM1MCUzQiUyNiUyMzIxODM5JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzM1Mjk5JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyNDcyNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzNjUyODElM0IlMjYlMjM2NTI4MSUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzNjclM0IlMjYlMjM4NCUzQiUyNiUyMzcwJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMzMDMzMCUzQiUyNiUyMzM0OTIwJTNCJTI2JTIzMTIzOTklM0IlMjYlMjM2NTM1MSUzQiUyNiUyMzY1MzQ4JTNCJTI2JTIzNjUzNTElM0IlMjYlMjM2NTM0OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMzMDAwMyUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMzUzNzklM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM1NCUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzIyODEwJTNCJTI2JTIzMTIzNjclM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzIwMTU0JTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyNDI1JTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMyMzU1NCUzQiUyNiUyMzM4MjcyJTNCJTI2JTIzMzAzNDAlM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzM3MDk2JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzYyJTNCJTI2JTIzMzU0NDElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMTIzNzElM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjQyNyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzOTklM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyNTAzJTNCJTI2JTIzMTI1MjQlM0IlMjYlMjMxMjQ3NiUzQiUyNiUyMzEyNTMxJTNCJTI2JTIzMjAwMTMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzIwODQwJTNCJTI2JTIzMTIzNjclM0IlMjYlMjMzNTIyNiUzQiUyNiUyMzEyMzYwJTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzI1OTkxJTNCJTI2JTIzMjMzODMlM0IlMjYlMjMzNjg5MCUzQiUyNiUyMzEyNDI2JTNCJTI2JTIzMzA0OTUlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzMwMzMzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzNTQlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTI0NTQlM0IlMjYlMjMxMjQ2NSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzM1MjI2JTNCJTI2JTIzMTIzNjAlM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMzMyNTglM0IlMjYlMjMzMDAwMSUzQiUyNiUyMzI2MTc4JTNCJTI2JTIzMzgyOTElM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzIwMTA0JTNCJTI2JTIzMjQ4MTklM0IlMjYlMjMyMDE5NyUzQiUyNiUyMzE5OTc4JTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMyMzU2OSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjclM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDAzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyNDI2JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM4MSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMTk5NzglM0IlMjYlMjMzMzI1OCUzQiUyNiUyMzMwMDAxJTNCJTI2JTIzMjYxNzglM0IlMjYlMjMzODI5MSUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTI0MjAlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjQyOCUzQiUyNiUyMzEyNDAwJTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMyMjgxMCUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIyODklM0IlMjYlMjM4MiUzQiUyNiUyMzEwMSUzQiUyNiUyMzEwMCUzQiUyNiUyMzY2JTNCJTI2JTIzMTE3JTNCJTI2JTIzMTA4JTNCJTI2JTIzMTA4JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjQ2NyUzQiUyNiUyMzEyNTQwJTNCJTI2JTIzMTI0OTglM0IlMjYlMjMxMjU0MCUzQiUyNiUyMzI4OTYxJTNCJTI2JTIzMjE0NTIlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEyMzU0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjUxMSUzQiUyNiUyMzEyNTMxJTNCJTI2JTIzMTI0ODYlM0IlMjYlMjMxMjQ1MSUzQiUyNiUyMzEyNDUwJTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzI2MTc4JTNCJTI2JTIzMjAxOTUlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzEyNTE4JTNCJTI2JTIzMTI1MzElM0IlMjYlMjMxMjQ2NSUzQiUyNiUyMzEyNTIzJTNCJTI2JTIzMTI0MjUlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM2MiUzQiUyNiUyMzEyNDE1JTNCJTI2JTIzMTI0MjAlM0IlMjYlMjMxMjM3MCUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzYwMTYlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzM1OTQ2JTNCJTI2JTIzMzM3NzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyOTMwNSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzMDAlM0IlMjYlMjMyNDc3MyUzQiUyNiUyMzIyNTc3JTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE3JTNCJTI2JTIzMTI1MjIlM0IlMjYlMjMxMjQ4NiUzQiUyNiUyMzEyNDUxJTNCJTI2JTIzMTI1MDMlM0IlMjYlMjMxMjUyNSUzQiUyNiUyMzEyNTAxJTNCJTI2JTIzMTI0NTUlM0IlMjYlMjMxMjQ4MyUzQiUyNiUyMzEyNDcxJTNCJTI2JTIzMTI1MTklM0IlMjYlMjMxMjQ5MCUzQiUyNiUyMzEyNTIzJTNCJTI2JTIzMjU5NDUlM0IlMjYlMjMzMTE4NSUzQiUyNiUyMzI2MzYwJTNCJTI2JTIzMTIzMDElM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMTIzNjIlM0IlMjYlMjMzOTY0MCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMjY0MTIlM0IlMjYlMjMxMjQzNCUzQiUyNiUyMzM4OTE0JTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjI4OSUzQiUyNiUyMzEyMzgxJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxOTk3OCUzQiUyNiUyMzMzODc5JTNCJTI2JTIzMzI3NzMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzI2MDQxJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzEyMzg1JTNCJTI2JTIzNTAlM0IlMjYlMjMyMTUxNyUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjYwNDElM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzEyNDY5JTNCJTI2JTIzMTI0NTIlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzYwMTYlM0IlMjYlMjMxMjM2MCUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzIzMzA1JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzMzMjU4JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzIxODM5JTNCJTI2JTIzMzg5ODglM0IlMjYlMjMyODg1NyUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzUyMTElM0IlMjYlMjMxMjM4OCUzQiUyNiUyMzEyMzY5JTNCJTI2JTIzMTI0MjclM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE1JTNCJTI2JTIzMTI1MzElM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzMzMjU4JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzI0NDcxJTNCJTI2JTIzMjQ4NDclM0IlMjYlMjMyMDk5OCUzQiUyNiUyMzM3MzI2JTNCJTI2JTIzMTI0MzQlM0IlMjYlMjMyMDI4MCUzQiUyNiUyMzEyNDAwJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMjg5JTNCJTI2JTIzMjE4MzklM0IlMjYlMjMzODk4OCUzQiUyNiUyMzI4ODU3JTNCJTI2JTIzMTI0MzQlM0IlMjYlMjMyMjI2NiUzQiUyNiUyMzEyNDE3JTNCJTI2JTIzMTI0MjclM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzI0NzQ1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyNDI5JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMzY0JTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyNDI4JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyNDE4JTNCJTI2JTIzMzE5MzQlM0IlMjYlMjMzNjkxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEyNDI0JTNCJTI2JTIzMTI0MjklM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzNjIlM0IlMjYlMjMzOTAwMCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyMzU0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjI4OSUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzNzklM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzEyNDMxJTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjE1MTclM0IlMjYlMjMyMTA2OSUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzUyMjYlM0IlMjYlMjMxMjM2MCUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyNDI0JTNCJTI2JTIzMTIzNTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzIwODA5JTNCJTI2JTIzMjY2MjglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTI0MjglM0IlMjYlMjMyMDE5NyUzQiUyNiUyMzE5OTc4JTNCJTI2JTIzMjYzNjAlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMjc0OTAlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyNDI1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTI0MjYlM0IlMjYlMjMxMjM4MSUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTI0MjUlM0IlMjYlMjMxMjQwOCUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMyNzQ5MCUzQiUyNiUyMzEyNDE3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM2MiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzODElM0IlMjYlMjMxMjQyOCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzOTklM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTI0NjclM0IlMjYlMjMxMjUyNCUzQiUyNiUyMzM1NTAxJTNCJTI2JTIzMTI0MTclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzIwMTU0JTNCJTI2JTIzMTIzOTklM0IlMjYlMjMyNjE1OSUzQiUyNiUyMzM4NzUwJTNCJTI2JTIzMjYxNTklM0IlMjYlMjMzODc1MCUzQiUyNiUyMzY0JTNCJTI2JTIzMTEwJTNCJTI2JTIzOTclM0IlMjYlMjMxMTUlM0IlMjYlMjMxMDQlM0IlMjYlMjM5NSUzQiUyNiUyMzEwMiUzQiUyNiUyMzExNSUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzY0JTNCJTI2JTIzMTEwJTNCJTI2JTIzOTclM0IlMjYlMjMxMTUlM0IlMjYlMjMxMDQlM0IlMjYlMjM1NSUzQiUyNiUyMzQ5JTNCJTI2JTIzNTQlM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzEyNTIyJTNCJTI2JTIzMTI1MDMlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjM3MSUzQiUyNiUyMzEwMSUzQiUyNiUyMzExMCUzQiUyNiUyMzExNiUzQiUyNiUyMzExMSUzQiUyNiUyMzExMSUzQiUyNiUyMzIwODM3JTNCJTI2JTIzMTI0MjglM0IlMjYlMjMxMjQyNCUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzUzJTNCJTI2JTIzODIzMCUzQg==

2011-06-30

Twitter4jで片想い管理

7/1 id:crimsonwoodsさんの指摘を受けて修正

タイトルの通りです。
片想い管理しようとしてもなかなかどうもうまい方法が見つからなかったので、備忘録としての意味も込めて。

	private HashSet<String> follower = new HashSet<String>();
	private void getFollowers(Twitter tw) {
		try {
			IDs followers = tw.getFollowersIDs(tw.getId(), -1);
			long[] followerIDs = followers.getIDs();
			for (int i=0; i<followerIDs.length; i++) {
				follower.add(String.valueOf(followerIDs[i]));
			}
		} catch (IllegalStateException e) {
			e.printStackTrace();
		} catch (TwitterException te) {
			te.printStackTrace();
		}
	}

流れ:
1.followerという名前のHashSetを作るHashMapを作る(はっきり言って<String, String>の後の方のStringは使わない)
2.getFollowerIDsでフォロワーの一覧を取得。
3.getIDsでID(ScreenNameではなく、数字で構成されるID)を取得。
4.HashSetにIDを追加しまくる(さっき言った通り値の"true"は使わない)

こういうメソッド作って最初に呼び出して、つぶやきが飛んできたときに

	follower.contains(String.valueOf(status.getUser().getId()));

trueなら両想い、falseなら片想いという感じで判定可能です。

流れの1.を見て普通の配列でもいいじゃないか!と思った方、鋭いです。
でも普通の配列を使うと、片想いかどうか判定するときに、最悪、配列の要素数だけループする必要が出てきてしまいます。
これはとても効率が悪い(と思う)ので、どうしてもHashSetにIDを持ってきたく、このような実装になりました。

今思うとキーの方をString型にする必要はあったんでしょうか…
相変わらず僕のすることはよく分からないですねw ロクにテストもしてませんし…。

ツッコみ大歓迎ですので、「ここおかしいよ!」というところがあったらぜひ教えてください。

2011-05-29

他のタブからYoutubeやニコニコ動画の操作ができる「MovieController」Chrome拡張を公開しました!

需要あるんでしょうか…w

今、XSPという拡張機能を作ってまして、その副産物です。
Youtubeやニコニコ動画を作業用BGMとして流している方、多いと思います。
で、それらを一時停止したいとき、いちいちそのタブに切り替えるのって面倒じゃないですか?
その面倒を解消するのが、MovieControllerです。

f:id:nash716:20110529191820p:image

インストールすると、右上にアイコンが出ます。
クリックすると、ほかのタブで開いている動画が一時停止されます。
もう一度押すと、再生されます。
ただそれだけです。

●インストール

サーバの設定ミスってました 少々お待ちください

●注意

・クリックしても効かないんだけど!!
→もう一回クリックしてください。大人ではありませんが大人の事情です。

・バグ発見!!
→是非このコメント欄からお知らせください。

・対応サイト増やして!!
→コメント欄に書いていただければ、できる限り対応します。

・複数のタブで動画サイト開いてるんだけど!!
→一番右のタブの動画が一時停止/再生されます。大人ではありませんが大人の事情です。

●お願い

気に入っていただけたら、Twitterやはてブ等で広めていただけると、逆立ちしながら喜びますのでよろしくお願いします。

2011-05-11

いろいろなブラウザの拡張機能の開発しやすさを比較してみた

ということで、主要3ブラウザの拡張機能の開発しやすさを比較してみたいと思います。
ここでは、Firefox、Chrome、Operaについて。




FirefoxChromeOpera
ユーザー数
開発言語Jetpack or XUL or GMJS+HTML+CSS or GMJS+HTML+CSS
公開方法Add-ons for FirefoxChrome webstore*1Opera Extensions


大体こんな感じです。次はブラウザごとにもう少し詳しく見ていきましょう。

●Firefox
最近Jetpackという、新しい拡張機能の開発方法が登場しました。
今までは難解なXUL*2を使って開発する必要がありましたが、Jetpackではその必要がなく、UI部分の実装がとても簡単になりました。
Jetpackはまだ出始めということもあり、APIの仕様が定まっていなかったり、出来ないor実装が難しい部分も多くありますが、今後期待できる開発方法です。
対してXULは、Firefox 4以前に使用されていたユーザーインタフェース言語です。Jetpackでは実装できない細かいUIが指定できること、設定画面の実装が容易なのが特徴です。もちろんFirefox 4でもXULはサポートしていますが、Jetpackが安定してくれば魅力は薄れるでしょう。
拡張機能の形式は、XUL、Jetpackともに.xpiです。XULで開発する場合、必要なファイルの入ったフォルダをまとめてzip圧縮、拡張子をxpiに変更することで作成できます。*3Jetpackの場合、「cfx xpi」というコマンドで作成できます。
拡張機能を変更した場合、XULの場合はFirefoxの再起動、Jetpackの場合は「cfx run」で変更が反映されます。

●Chrome
おそらく、拡張機能の開発が最も容易なブラウザだと思われます。
UIもマニフェストファイルに記述するだけで済み、他の拡張との変数の衝突などもすべて自動で回避してくれます。
また、設定画面の製作が簡単で、拡張機能の変更の反映も「再読み込み」をクリックするだけです。
ただ、ポップアップの挙動が不安定です。『バージョンによっては』document.location = "…"; でのページ遷移が認められていません。
拡張機能の形式は、.crxです。「拡張機能のパッケージ化」から簡単に作成できます。
ただし、Chrome webstoreに掲載する場合は、初回に$5をGoogle Checkout経由で支払う必要があります。(今までに一つでも公開したことがある人は除く)
自由度はFirefoxほど高くありませんが、ブラウザ拡張を開発したいだけならChromeがおすすめです。

●Opera
最近アドオン機能が実装されたこともあり、よく分からない仕様となっています。
ためしに開発してみましたが、「あってるはずなのに動かない…」が多くて投げてしまいましたw
変更は、アドオンのアンインストール→再インストールで反映されます。
拡張機能の形式は、.oexです。必要なファイルの入ったフォルダをまとめてzip圧縮、拡張子をoexに変更することで作成できます。

●まとめ
自由度の高いFirefox、お手軽なChrome、今後に期待のOpera。
ちなみにSafariはDeveloper登録が面倒で手を出していませんw

相変わらず読みづらい日本語で申し訳ないです。こればっかりは…。
あ、間違ってるところあると思うので、もし見つけたらコメント欄からツッコんでください。出来る限り早く修正します。
コメントとかはてブとかスターとかもらえると雄叫びをあげながら喜ぶと思います。

*1:初回公開時に$5が必要

*2:イメージとしてはMozilla版XML

*3:こちらは簡易的な方法です。