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

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

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

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

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

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

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

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

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

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

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

#spcamp に行ってきました

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

JTI2JTIzMTI0NzUlM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTUlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMzQ4OTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzg3JTNCJTI2JTIzMTAxJTNCJTI2JTIzOTglM0IlMjYlMjMxMjQ3NSUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTclM0IlMjYlMjMxMjUyMiUzQiUyNiUyMzEyNDg2JTNCJTI2JTIzMTI0NTElM0IlMjYlMjMxMjQ2MyUzQiUyNiUyMzEyNTIxJTNCJTI2JTIzMTI0NzMlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyNDYxJTNCJTI2JTIzMTI1MTUlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyNTI0JTNCJTI2JTIzMTI1MDklM0IlMjYlMjMxMjU0MCUzQiUyNiUyMzEyNDg4JTNCJTI2JTIzMTk5NjglM0IlMjYlMjMzMDA1OCUzQiUyNiUyMzIwMDU1JTNCJTI2JTIzMTI0MjYlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMyNjA4MiUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjA4MDglM0IlMjYlMjMzNjIzNCUzQiUyNiUyMzEyMzczJTNCJTI2JTIzMTI0MjglM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyMTAyMSUzQiUyNiUyMzI2MDg1JTNCJTI2JTIzMTIzOTklM0IlMjYlMjMzMTIyNyUzQiUyNiUyMzIxMjA1JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMzMzEzNiUzQiUyNiUyMzEyMzY0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzMwMTcxJTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzI2MzY4JTNCJTI2JTIzMzIwNjYlM0IlMjYlMjMyNjA4NSUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzODElM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMjY0MTIlM0IlMjYlMjMyNDQwMyUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzNTQlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzM4MjkxJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjQyOSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTI0MjklM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzI2MDQxJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyMDEzMiUzQiUyNiUyMzI3OTY5JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM2NSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjEwNTAlM0IlMjYlMjMyODYwOCUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMjE0NjMlM0IlMjYlMjMxMjM2OSUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMjAxMDclM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMyNDQ3MSUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMzA2OTMlM0IlMjYlMjMzNTY3MiUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMjc0OTElM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMjYwNDElM0IlMjYlMjMyMTUyMSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjQ0NDElM0IlMjYlMjMzMTQzNSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMjQ2MDUlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyMDk4NiUzQiUyNiUyMzIwMjUwJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzMwMzQyJTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMyNjQxMSUzQiUyNiUyMzI3NzA0JTNCJTI2JTIzMTI1NDAlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzYyJTNCJTI2JTIzMjAxODQlM0IlMjYlMjMxMjM2NSUzQiUyNiUyMzIxNTEyJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMjg5JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMzNTYxMSUzQiUyNiUyMzMyNjgxJTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMxMjM4OCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzEyNDE1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMzNTQ0MyUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzNjclM0IlMjYlMjMyNjM2MCUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzIxMTA2JTNCJTI2JTIzMjQ4NTklM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMzODkxNCUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzgyMzAlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzNjclM0IlMjYlMjM4NCUzQiUyNiUyMzcwJTNCJTI2JTIzMjcwMDUlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjM4NyUzQiUyNiUyMzEwMSUzQiUyNiUyMzk4JTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE3JTNCJTI2JTIzMTI1MjIlM0IlMjYlMjMxMjQ4NiUzQiUyNiUyMzEyNDUyJTNCJTI2JTIzMTI0NjMlM0IlMjYlMjMxMjUyMSUzQiUyNiUyMzEyNDczJTNCJTI2JTIzMjE1MjElM0IlMjYlMjMxMjM2OSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjE4MzklM0IlMjYlMjMzODk4OCUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMyMzU2OSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxOTk3OCUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMzg2MjclM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIyODklM0IlMjYlMjM1MCUzQiUyNiUyMzIxODM5JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzM1Mjk5JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyNDcyNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzNjUyODElM0IlMjYlMjM2NTI4MSUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzNjclM0IlMjYlMjM4NCUzQiUyNiUyMzcwJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMzMDMzMCUzQiUyNiUyMzM0OTIwJTNCJTI2JTIzMTIzOTklM0IlMjYlMjM2NTM1MSUzQiUyNiUyMzY1MzQ4JTNCJTI2JTIzNjUzNTElM0IlMjYlMjM2NTM0OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMzMDAwMyUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMzUzNzklM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzYzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM1NCUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzIyODEwJTNCJTI2JTIzMTIzNjclM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzIwMTU0JTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MyUzQiUyNiUyMzEyNDI1JTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMyMzU1NCUzQiUyNiUyMzM4MjcyJTNCJTI2JTIzMzAzNDAlM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzM3MDk2JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzYyJTNCJTI2JTIzMzU0NDElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMTIzNzElM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjQyNyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzOTklM0IlMjYlMjMyNDYwNSUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyNTAzJTNCJTI2JTIzMTI1MjQlM0IlMjYlMjMxMjQ3NiUzQiUyNiUyMzEyNTMxJTNCJTI2JTIzMjAwMTMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzIwODQwJTNCJTI2JTIzMTIzNjclM0IlMjYlMjMzNTIyNiUzQiUyNiUyMzEyMzYwJTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc5JTNCJTI2JTIzMTI0MzUlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzI1OTkxJTNCJTI2JTIzMjMzODMlM0IlMjYlMjMzNjg5MCUzQiUyNiUyMzEyNDI2JTNCJTI2JTIzMzA0OTUlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzMwMzMzJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzNTQlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTI0NTQlM0IlMjYlMjMxMjQ2NSUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzM1MjI2JTNCJTI2JTIzMTIzNjAlM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMzMyNTglM0IlMjYlMjMzMDAwMSUzQiUyNiUyMzI2MTc4JTNCJTI2JTIzMzgyOTElM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzIwMTA0JTNCJTI2JTIzMjQ4MTklM0IlMjYlMjMyMDE5NyUzQiUyNiUyMzE5OTc4JTNCJTI2JTIzMTIzOTUlM0IlMjYlMjMyMzU2OSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjclM0IlMjYlMjMxMjM5MCUzQiUyNiUyMzEyNDAzJTNCJTI2JTIzMTIzODclM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyNDI2JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM4MSUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMTk5NzglM0IlMjYlMjMzMzI1OCUzQiUyNiUyMzMwMDAxJTNCJTI2JTIzMjYxNzglM0IlMjYlMjMzODI5MSUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTI0MjAlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjQyOCUzQiUyNiUyMzEyNDAwJTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMyMjgxMCUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIyODklM0IlMjYlMjM4MiUzQiUyNiUyMzEwMSUzQiUyNiUyMzEwMCUzQiUyNiUyMzY2JTNCJTI2JTIzMTE3JTNCJTI2JTIzMTA4JTNCJTI2JTIzMTA4JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjQ2NyUzQiUyNiUyMzEyNTQwJTNCJTI2JTIzMTI0OTglM0IlMjYlMjMxMjU0MCUzQiUyNiUyMzI4OTYxJTNCJTI2JTIzMjE0NTIlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEyMzU0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjUxMSUzQiUyNiUyMzEyNTMxJTNCJTI2JTIzMTI0ODYlM0IlMjYlMjMxMjQ1MSUzQiUyNiUyMzEyNDUwJTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzI2MTc4JTNCJTI2JTIzMjAxOTUlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzEyNTE4JTNCJTI2JTIzMTI1MzElM0IlMjYlMjMxMjQ2NSUzQiUyNiUyMzEyNTIzJTNCJTI2JTIzMTI0MjUlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMjM2MiUzQiUyNiUyMzEyNDE1JTNCJTI2JTIzMTI0MjAlM0IlMjYlMjMxMjM3MCUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzYwMTYlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM4NyUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTI0MTglM0IlMjYlMjMxMjM5MiUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjQxOCUzQiUyNiUyMzM1OTQ2JTNCJTI2JTIzMzM3NzUlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMyOTMwNSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMTIzMDAlM0IlMjYlMjMyNDc3MyUzQiUyNiUyMzIyNTc3JTNCJTI2JTIzMTI0NzUlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE3JTNCJTI2JTIzMTI1MjIlM0IlMjYlMjMxMjQ4NiUzQiUyNiUyMzEyNDUxJTNCJTI2JTIzMTI1MDMlM0IlMjYlMjMxMjUyNSUzQiUyNiUyMzEyNTAxJTNCJTI2JTIzMTI0NTUlM0IlMjYlMjMxMjQ4MyUzQiUyNiUyMzEyNDcxJTNCJTI2JTIzMTI1MTklM0IlMjYlMjMxMjQ5MCUzQiUyNiUyMzEyNTIzJTNCJTI2JTIzMjU5NDUlM0IlMjYlMjMzMTE4NSUzQiUyNiUyMzI2MzYwJTNCJTI2JTIzMTIzMDElM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyNDI3JTNCJTI2JTIzMTIzNjIlM0IlMjYlMjMzOTY0MCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMjY0MTIlM0IlMjYlMjMxMjQzNCUzQiUyNiUyMzM4OTE0JTNCJTI2JTIzMTIzNjUlM0IlMjYlMjMxMjI4OSUzQiUyNiUyMzEyMzgxJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxOTk3OCUzQiUyNiUyMzMzODc5JTNCJTI2JTIzMzI3NzMlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzI2MDQxJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM1OCUzQiUyNiUyMzEyMzg1JTNCJTI2JTIzNTAlM0IlMjYlMjMyMTUxNyUzQiUyNiUyMzEyMzk4JTNCJTI2JTIzMjYwNDElM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzEyNDY5JTNCJTI2JTIzMTI0NTIlM0IlMjYlMjMxMjUzMSUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzYwMTYlM0IlMjYlMjMxMjM2MCUzQiUyNiUyMzEyMzgzJTNCJTI2JTIzMTIzOTglM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzIzMzA1JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMzg3JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzMzMjU4JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzIxODM5JTNCJTI2JTIzMzg5ODglM0IlMjYlMjMyODg1NyUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzUyMTElM0IlMjYlMjMxMjM4OCUzQiUyNiUyMzEyMzY5JTNCJTI2JTIzMTI0MjclM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMTIzNjQlM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjQ2MSUzQiUyNiUyMzEyNTE1JTNCJTI2JTIzMTI1MzElM0IlMjYlMjMxMjUwMyUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzMzMjU4JTNCJTI2JTIzMjA5OTglM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzI0NDcxJTNCJTI2JTIzMjQ4NDclM0IlMjYlMjMyMDk5OCUzQiUyNiUyMzM3MzI2JTNCJTI2JTIzMTI0MzQlM0IlMjYlMjMyMDI4MCUzQiUyNiUyMzEyNDAwJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzEyMjg5JTNCJTI2JTIzMjE4MzklM0IlMjYlMjMzODk4OCUzQiUyNiUyMzI4ODU3JTNCJTI2JTIzMTI0MzQlM0IlMjYlMjMyMjI2NiUzQiUyNiUyMzEyNDE3JTNCJTI2JTIzMTI0MjclM0IlMjYlMjMxMjM2MyUzQiUyNiUyMzI0NzQ1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyNDI5JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMzY0JTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyNDI4JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjQyNSUzQiUyNiUyMzEyNDE4JTNCJTI2JTIzMzE5MzQlM0IlMjYlMjMzNjkxNCUzQiUyNiUyMzEyMzc1JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzNzclM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEyNDI0JTNCJTI2JTIzMTI0MjklM0IlMjYlMjMxMjM3NSUzQiUyNiUyMzEyMzY3JTNCJTI2JTIzMTIzNjIlM0IlMjYlMjMzOTAwMCUzQiUyNiUyMzEyMzU2JTNCJTI2JTIzMTIzNzUlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyMzU0JTNCJTI2JTIzMTIzOTIlM0IlMjYlMjMxMjI4OSUzQiUyNiUyMzEyMzk5JTNCJTI2JTIzMTIzNzklM0IlMjYlMjMxMjM2NCUzQiUyNiUyMzEyNDMxJTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjQzNSUzQiUyNiUyMzEyMzk1JTNCJTI2JTIzMjE1MTclM0IlMjYlMjMyMTA2OSUzQiUyNiUyMzEyNDM0JTNCJTI2JTIzMzUyMjYlM0IlMjYlMjMxMjM2MCUzQiUyNiUyMzEyMzkwJTNCJTI2JTIzMTIzNTYlM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNjklM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzEyNDI0JTNCJTI2JTIzMTIzNTglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzIwODA5JTNCJTI2JTIzMjY2MjglM0IlMjYlMjMxMjM5MSUzQiUyNiUyMzEyMzc3JTNCJTI2JTIzMTIyOTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTI0MjglM0IlMjYlMjMyMDE5NyUzQiUyNiUyMzE5OTc4JTNCJTI2JTIzMjYzNjAlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzkyJTNCJTI2JTIzMjc0OTAlM0IlMjYlMjMxMjQxNCUzQiUyNiUyMzEyNDI1JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzk0JTNCJTI2JTIzMTI0MjYlM0IlMjYlMjMxMjM4MSUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzOTQlM0IlMjYlMjMxMjM5OCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIyODklM0IlMjYlMjMxMjM3MSUzQiUyNiUyMzEyMzcxJTNCJTI2JTIzMTI0MjUlM0IlMjYlMjMxMjQwOCUzQiUyNiUyMzEyNDM1JTNCJTI2JTIzMTIzOTElM0IlMjYlMjMyNzQ5MCUzQiUyNiUyMzEyNDE3JTNCJTI2JTIzMTIzOTAlM0IlMjYlMjMxMjM2MiUzQiUyNiUyMzEyMzY1JTNCJTI2JTIzMTI0MTQlM0IlMjYlMjMxMjM3NyUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTIzODElM0IlMjYlMjMxMjQyOCUzQiUyNiUyMzEyMzkxJTNCJTI2JTIzMTIzOTklM0IlMjYlMjMxMjI5MCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjMxMyUzQiUyNiUyMzEwJTNCJTI2JTIzMTI0NjclM0IlMjYlMjMxMjUyNCUzQiUyNiUyMzM1NTAxJTNCJTI2JTIzMTI0MTclM0IlMjYlMjMxMjM4MyUzQiUyNiUyMzIwMTU0JTNCJTI2JTIzMTIzOTklM0IlMjYlMjMyNjE1OSUzQiUyNiUyMzM4NzUwJTNCJTI2JTIzMjYxNTklM0IlMjYlMjMzODc1MCUzQiUyNiUyMzY0JTNCJTI2JTIzMTEwJTNCJTI2JTIzOTclM0IlMjYlMjMxMTUlM0IlMjYlMjMxMDQlM0IlMjYlMjM5NSUzQiUyNiUyMzEwMiUzQiUyNiUyMzExNSUzQiUyNiUyMzEyNDE0JTNCJTI2JTIzMTIzODMlM0IlMjYlMjMxMjM5OSUzQiUyNiUyMzY0JTNCJTI2JTIzMTEwJTNCJTI2JTIzOTclM0IlMjYlMjMxMTUlM0IlMjYlMjMxMDQlM0IlMjYlMjM1NSUzQiUyNiUyMzQ5JTNCJTI2JTIzNTQlM0IlMjYlMjMxMjM5NSUzQiUyNiUyMzEyNTIyJTNCJTI2JTIzMTI1MDMlM0IlMjYlMjMxMjM2NyUzQiUyNiUyMzEyMzg0JTNCJTI2JTIzMTIzNzMlM0IlMjYlMjMxMjM1NiUzQiUyNiUyMzEyMjkwJTNCJTI2JTIzMTMlM0IlMjYlMjMxMCUzQiUyNiUyMzEzJTNCJTI2JTIzMTAlM0IlMjYlMjM3MSUzQiUyNiUyMzEwMSUzQiUyNiUyMzExMCUzQiUyNiUyMzExNiUzQiUyNiUyMzExMSUzQiUyNiUyMzExMSUzQiUyNiUyMzIwODM3JTNCJTI2JTIzMTI0MjglM0IlMjYlMjMxMjQyNCUzQiUyNiUyMzEyMzU4JTNCJTI2JTIzMTIzNjMlM0IlMjYlMjMxMjM5NCUzQiUyNiUyMzEyMzUzJTNCJTI2JTIzODIzMCUzQg==

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は使わない)
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 ロクにテストもしてませんし…。

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

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

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

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

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

●インストール

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

●注意

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

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

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

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

●お願い

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

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

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

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が安定してくれば魅力は薄れるでしょう。
拡張機能の形式は、XULJetpackともに.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:イメージとしてはMozillaXML

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

Chrome拡張開発入門の次に読む記事…?

注:未完結の記事です。「これはどうやって実装するの!?」というリクエスト、お待ちしています。

この記事では、主に、「Chrome拡張開発してみたい!とりあえずHelloWorldはできたよ!でも、こういう動作をさせる方法がわからない!!」という方を対象にしています。
※HelloWorldまでの習得は、こちらのサイトが大変わかりやすいと思います。

ほかのサイトで詳しく解説されていることに関しては、そのサイトに丸投げしてしまっています。すみません…。
分からない関数等がありましたら、こちらで調べてみてください。

もくじ
1.選択したテキストを取得する。


ポップアップから、選択部分を取得する
ここは僕も非常に苦戦しました。ポップアップから

	window.getSelection().toString();

を実行しても、返ってくるのは「ポップアップ内での選択部分」で、表示しているページの選択部分は返ってきません。
ここで、メッセージというものを使用します。

具体的なコード例です。

background.html

	var callbacks = [];

	function getSelection(callback) {
		chrome.tabs.getSelected(null, function(activeTab) {
			if (activeTab.url.indexOf('https://') >= 0) {
				callback(null); 
			} else {
				callbacks.push(callback); 
				chrome.tabs.executeScript(null, { file: "content_script.js" }); 
			}
		});
	};

	chrome.extension.onRequest.addListener(function(request) { 
		var callback = callbacks.shift();
		callback(request); 
	});

content_script.js

	chrome.extension.sendRequest({ "text": window.getSelection().toString() });

popup.html

	var bg = chrome.extension.getBackgroundPage();
	bg.getSelection(function(selection) {
		// selection.text に選択部分が入っているので、それを使ってゴニョゴニョ…(ノ゚д゚(; ̄Д ̄)ゴニョゴニョ…(ノ゚д゚(; ̄Д ̄)する
	});

ソースコードの説明
1.[background.html]getSelectionが呼び出されたとき、現在表示しているタブの情報を取得し、保護されているページかどうかを判断。*1
2.[background.html]保護されていなければ、content_script.jsを、表示しているタブに注入。
3.[content_script.js]ウィンドウの選択部分を取得し、background.htmlに送る。
4.[background.html]getSelectionの引数のコールバック関数に、content_script.jsから送られてきたデータを渡す。
5.送られてきたデータをごにょごにょする。

以上が選択部分を取得する基本的な流れです。
popup.htmlは何をしてるんだ!!という意見があると思います。そういう方はこちらをどうぞ。

参考にさせていただいたサイト
この説明でわからなければ、上記のサイトを参照していただくことを推奨します。
こちらのスクリプトは、上記のサイトのスクリプトで、特に重要な部分を抜き出したものです。

*1:保護されているページの場合、そのあとのexecuteScriptが使用できないため。

AIR(AS3)でキーボードショートカットを設定・取得する方法

適当にAIRでアプリケーションを作ってるのですが、「キーボードショートカットを設定・取得する」といったことをしようと思っても、いい資料が見つからなかったので、メモしておきます。
分かる方は別に調べなくても分かるんでしょうが…^^;

1.イベントリスナを登録

	stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyboardDown);

※注意
creationCompleteのハンドラの中にこれを書くとエラーになります。
それでも書きたい場合は、

	setTimeout(function():void {
		stage.addEventListener(KeyboardEvent.KEY_DOWN, onKeyboardDown);
	}, 100);

と書けば動くかと思います。

2.押されたキーを判別する

1でハンドラとしてonKeyboardDownを指定したので、その中でどのキーが押されたのかを判別します。

	import mx.controls.Alert;

	private function onKeyboardDown(event:KeyboardEvent):void {
		if (event.ctrlKey && event.keyCode == Keyboard.ENTER) {
			Alert.show();
		}
	}

ここでは、Ctrl+Enterが押されたときに、Alertさせています。この部分の処理を変更すれば、ショートカットキーの実装は完了です。
Ctrl+Enterではなく、ほかのショートカットキーを登録したい場合は、if文の中身を変えてください。

ちなみに…
event.ctrlKeyは真偽値で、Trueなら、Ctrlキーが押されていることになります。
event.keyCodeにはNumber型で、キーコードが入っています。

全くActionScriptについては初心者なので、ここがおかしい、説明が変、こうすると後々よくないことが起きる、等あるかと思いますので、その際はコメント欄からお気軽に指摘してください。よろしくお願いします。