サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
災害への備え
dev.chrisryu.com
JavaScript で連想配列のKey値を知りたいとき。 例えば、 var hoge = {"moge":"aaa" , "toge":"bbb"}; なんてのがあって、"aaa" 、"bbb"の値は、hoge['moge']、hoge['toge']で取得できるけど、このmoge,toge自体の値を知りたい。 そんなときは、for ~ in 文。 for ( var index in hoge){ alert(index); } で、分かります。
プログラミングの中でStringをあれやこれやこねくり回すシーンは良くあります。 文字を分割したり、トリムしたり、固定長にしたり。 そんなとき、自前でUtilクラスを作る前に、Jakarta Commons Langを利用してみましょう。 便利なメソッドが揃っていて、プログラミング効率は格段にアップするはずです(知っている人は知っている話なので、そんな人は読み飛ばしてください)。 ダウンロードはこちら↓から。 The Jakarta Site - Commons Lang Downloads 数あるクラス/メソッドの中から、今回はベーシックなStringUtilsクラスの split()、substringBefore()、substringAfter()、substring()を紹介します。 ということで、 String test = "hoge=1&moge=2"; のようなパラメータ
Twitterのデザイン変更に伴い、Twitter翻訳Greasemonkeyとbookmarkletをアップデートしました。 Greasemonkey:Translate Twitter bookmarklet:Translate Twitter Twitterのデザインは結構頻繁に更新されてるんですが、今回は、発言部分のspanタグのクラス名が変わってしまい、クラス名でspanタグを特定していた部分が動作しなくなってしまってました。 そのクラス名の変更ですが、"entry-content"から"entry_content"に変わるという修正で、始めどこが変わったのかまったく気づきませんでした。まいったね。 で、このスクリプトですが、日本よりも海外の人の方が反応してくれていて、いくつかのブログで紹介していただきました。 紹介していただいたブログは、はてぶでまとめています。 はてなブックマ
病み上がり職場復帰のリハビリ代わりに、下記jQueryの$(function)の挙動をソースから追っかけてみました。 [jQuery] $(function)はonload後には効かない Kawa.netブログ(川崎有亮)/ウェブリブログ jQuery の $(function) が ready イベント発生後だと動かない問題の解決法 - IT戦記 で、amachangの jQuery.event.special.ready.setup() /* または */ $.event.special.ready.setup() は、たしかjQuery1.2.2から実装されたイベントAPIの一種なので、それ以前のバージョンのjQueryでは使えないので使うときはバージョンを要チェックです(ちがってたらゴメンナサイ)。 川崎さんが困っている、 具体的には、DOM 構築完了後に、script 要素を D
Google App Engine - Google Code Googleが無償のアプリケーションホスティング環境「Google App Engine」をリリースしたよ! まずは先着10000名で利用者募集していたから速攻申し込みました(といっても、画面からGoogleアカウントのパスワード入力しただけだけど)。 で、数時間後にメールが来て、利用可能になりました。 アプリはpythonで作るんですね。python2.5だって。いいねー。レンタルサーバだと2.3とか2.4しか使わせてくれないところが多いからなー。 今、チュートリアルに従って、ローカルで遊んでいるけれど、かなり良い感じ。 こういう開発キットこみこみで無償で提供って、Googleさん、どんだけ太っ腹なんでしょうか。 というわけで、簡単なアプリを作ってみることにします。 http://dev.chrisryu.com/ 鹿児島出
今日からはてなで働くことになりました。 ということで、独自ドメインで運営してきたこのブログはサブ的な扱いにして、ダイアリーの方のブログをメインのブログとしたいと思います。なので、こちらのブログは更新頻度が落ちることになりそうです。 でもって、お約束の入社しましたエントリは↓こちら。 はてなに入社しました - rm -Rf いきなりのSIerからの転身ですが、世界中のユーザにおもしろいサービスを届けられるように精進していきたいと思います。 今後ともよろしくお願いいたします。
2009年度版のCompact Calendarが発表されていたので、さっそく祝日を日本対応しました。 ※コメント欄での指摘を受けて祝日を修正しました。(2008.10.08) ダウンロードは以下からどうぞ。昨年リクエストのあったPDF版も用意しています。 Compact Calendar 2009 (日本語版)(月曜始まり)(Excelテンプレート) Compact Calendar 2009 (日本語版)(日曜始まり)(Excelテンプレート) Compact Calendar 2009 (日本語版)(月曜始まり)(PDF) Compact Calendar 2009 (日本語版)(日曜始まり)(PDF) また、先日公開したCompact Calenar Creator も併せてどうぞ。好きな期間を指定して、PDFのCompact Calendarが作れます。 Compact Cale
MashupAward4thに出品するために、AIRではてなハイククライアントを作りました。 Hi9とは (Hi9) 締め切り間際にあわてて作ったので、機能はそこまで充実してません。 version0.1でできるのは、以下のとおり。 はてなハイクへの投稿 はてなハイクの閲覧 関連キーワードの取得(はてなハイク・Reflexa・TRIPIT) Kizasiからブログで話題になっていることの取得 これから実装しようかなと思っているのは、以下の機能です。 自動更新 スターの付け外し Reply MashupAward4で利用しているAPIは、 Adobe AIR KizAPI Reflexa TRIPIT です。 はてなハイクの特徴である、キーワードに対しての投稿を支援する意味で、Kizasiからブログで語られているホットな話題のリストを表示したり、入力したキーワードに対して関連するキーワードを
「WEB+DB PRESS Vol.46」のRecent Perl Worldに載っていたThrifの記事が面白かったので、とりあえずMacBookに環境構築してみました。 ちなみにThriftはFacebook発の多言語RPCフレームワーク。もちろんオープンソース。異なる言語で書かれたプログラムを、RPCでつなげるというフレームワークです。 以下のfacebookのサイトからソースをダウンロード。 http://developers.facebook.com/thrift/ ダウンドーロしたファイルを適当なディレクトリに移動(僕の場合ルート直下にprogramingディレクトリを作成してそこに移動) ./configureを実行。 tar xfv thrift-20080411p1.tar cd thrift-20080411p1 ./configure すると以下のようなエラーが。 c
Google Street Viewもりあがってますねー。 おもしろポイントがはてブにもいくつかポストされているようです。 で、Google Street Viewをはてブするには、いちいちページ内の「リンク」をクリックして、表示されたURLをはてブのページからPOSTする必要があります。 面倒なので、Google Street View用のはてブBookmarkletを作りました。 Street Viewをはてブ javascript:(function(){if(window.location.host.indexOf('maps.google.')==0){var u = document.getElementById('link').href;var p = prompt('ページの名前を入力','Googleマップ : ');window.location='http://b.h
プログラミングファースト開発の必要性 - ひがやすを blog システムエンジニア不要説 - masayangの日記(ピスト通勤他 ↑この辺のエントリを読んで思ったこと。 ちょっと前に、会社の中で議論したのが「設計書と仕様書は違うんじゃね?」という話。呼び名が違うから、そりゃ内容も違うんですけどね。 仕様書は、アプリケーションの仕様を定義するもの。アプリケーションの処理方式とか、コード値とか、或いはデータ取得の条件とか。のちのちメンテナンスフェーズで確実に必要になり、かつドキュメントとして残してあった方が良いもの(SIer的には顧客と合意しておくべきもの)は、仕様書というくくり。 設計書は、アプリケーションの製造段階でプログラマが主に参照するドキュメントという位置づけ。要件定義から参加していて、かつ少数精鋭で開発する場合は設計書なんて指針だけ書いてあれば、詳細なものは必要ないんじゃないかと
すげーコード見つけた - へたれプログラマな日々 こんな簡単な書き方で文字列から数値だけを抜き出してる。 この処理が秀逸だよなぁ。必ず偶数番目に数値がくるっていうのが目からウロコ DIGITS = re.compile(r'(¥d+)') >>> print DIGITS.split('abc123a4bcd56') ['abc', '123', 'a', '4', 'bcd', '56', ''] >>> print DIGITS.split('123a4bcd56e') ['', '123', 'a', '4', 'bcd', '56', 'e'] なるほどねー。 個人的にはPythonの以下の記法がおもしろいなーと思いました。 pieces[1::2] これで、piecesという配列のインデックス1から最後まで2ステップ(1つ飛ばし)でスライスしちゃうと。 JavaScriptにも似
Google Chart APIにあるGoogle-o-meterってちょっとおもしろいです。 ↓こんなURLで、 http://chart.apis.google.com/chart?chs=225x125&cht=gom&chd=t:80&chl=now ↓こんなグラフが取得できます。 パラメータの意味は以下の通り。 chs : グラフの大きさ(横 x 縦) cht : グラフのタイプ(Google-o-meterのときはgom) chd : グラフのデータ(,区切りで複数指定可) chl : ラベル(|区切りで複数指定可) ↓ということで、こんな感じのグラフもできます。 http://chart.apis.google.com/chart?chs=400x200&cht=gom&chd=t:90,80,20&chl=today|yesterday|tomorrow ラベルに日本語を指
Greasemonkey勉強会で紹介したJavaScriptのTips。 hoge.jsにhogeFuncが定義されていて、hoge.jsを読み込んですぐにhogeFuncを実行したいとき。 ↓こんな風に書いちゃうと、エラーになってしまいます。 var s = document.createElement('script'); s.type='text/javascript'; s.charset = 'utf-8'; s.src = 'hoge.js'; document.getElementsByTagName('head')[0].appendChild(s); hogeFunc();//この時点ではまだhoge.jsがロードされていない可能性が高い hoge.jsのscriptタグをappendした後、実際にhoge.jsがダウンロードされ、JavaScriptが解釈されるまではh
以前に紹介したTIS発のオープンソース社内SNS「SKIP」のダウンロードが開始されました。 まずはversion0.9がリリースされているようです。 SKIP - オープンソースSNS「SKIP」を公開しました。 ダウンロードはこちらから。 サイトはMovableTypeで、リポジトリはSubversion、ドキュメントはGoogle Site、Issue TrackingはRedmineですよ。今風ですねぇ(←この感想がすでに死語)。 今夜はFirefox3のダウンロード開始日だし、オープンソース界隈がにぎやかですなぁ。 明日は業務後に、SKIP開発者達も交えて、Greasemonkeyの勉強会を開催予定。 如何にTCポータル(社内でのSKIPの名称)をGreasemonkeyでHackするかというところに主眼を置いて、というかいつのまにか置かれていて、勉強会を前に、社内SNSの掲示板
jQueryのSubversionリポジトリにtestフォルダがあって、jQuery自身のテストが納められていたのですが、そこで使われているテスティングフレームワークがQUnitとしてトップレベルのプロジェクトになったようです。 QUnit - jQuery JavaScript Library これを使うと簡単にjQueryプラグインのテストコードが書けちゃいます。 使い方は以下の通り。 提供されているメソッド test( name, test ) : nameにテストの名称、testには実行するテストを関数の形で渡します。 module( name ) : テストの途中で、テスト対象のモジュールや関数の目印を付けたいときに使います。nameにはモジュールの名称を渡します。 ok( state, message ) : stateがtrueならOK、falseならNGという判定になります
気づかれた方も多いと思いますが、先日、Googleのfaviconが新しくなりました。 以前の大文字Gのfaviconから、今度は小文字のgのfaviconへ。色も紫になり、結構大胆なイメージチェンジだと思いました。 Googleの公式ブログでは、このfavicon変更の経緯や、モバイル版、iPhone版のfaviconが公開されています。 Official Google Blog: One Fish, Two Fish, Red Fish, Blue Fish また、これ以外に、デザイン制作の過程で出来上がったfaviconも公開されています。 結構色んなパターンを作ってるんですね。 faviconの変更はこれで終わりというわけではなく、今後ユーザのフィードバックを得ながら、改善できるものは改善していくみたいです。 ↓faviconのアイデアがある人は、作成したファイルを下記ページからフ
一昨日に引き続きJaxerの話。 今回は、jQueryをサーバサイドでも使えるよという内容です。 jQueryを一度でも使ったことのある方は、その便利さに、もうjQueryなしには生きられない感じになってしまってるのではないでしょうか(僕だけか?)。 John Resigのサンプルコード jQueryを作ったJohn Resigさんのブログで、jQueryをサーバサイドでも使うというサンプルコードが公開されています。 <html> <head> <script src="http://code.jquery.com/jquery.js" runat="both"></script> <script> jQuery(function($){ $("form").submit(function(){ save( $("textarea").val() ); return false; });
「Amazon ベストセラー ビューア」の技術解説第2弾です。1回目はこちら。 画面を部分的に書き換えることで、いちいち画面全体が再描画されるのを待たずに利用できるAjaxアプリケーションのデメリットとして、URLの管理が難しい、という点が挙げられます。 URLという点を何も気にせずにAjaxアプリケーションを作ってしまうと、ブラウザのアドレス欄に表示されているURLをコピー(あるいはブックマーク)して、別のブラウザ(ウィンドウ)でそのアドレスを表示したとき、表示されている内容が大きく異なってしまうということがあります。 たとえば、Google Maps で、地図をぐりぐりしながらお店を検索した後、「あ、ここだここだ」とついうっかりアドレス欄のURLをコピーしてしまい、後で、自分がまったく意図しなかった地域のURLをコピーしてしまったという経験はないでしょうか。 Google Mapsでは
昨日公開した「Amazon ベストセラー ビューア」では、左側の商品のサムネイルで、オレンジ色のカーソルを実装しています。キーボードの、hで左に移動、lで右に移動、jで下に移動、kで上に移動します。 今回は、こうしたダミーフォーカスの実装方法を解説します。 とっても、やり方は簡単で、フォーカスを表現するスタイルシートのクラスを定義して、そのクラスを付け外しするだけです。 「Amazon ベストセラー ビューア」では、フォーカスを定義するスタイルシートのクラスとして、以下のようなクラスを定義しています。 #feed img{ padding:3px; } #feed img.selected { background-color:#FF8C00; } id="feed"のエレメント(サイトではdiv)の下にあるimgは、すべてpadding:3pxとし、selectedというクラスが指定され
「Amazon ベストセラー ビューア」を作ってみました。 Amazonの各カテゴリのベストセラーランキングRSSを拾ってきて、表示します。 左側がサムネイル、右側が左でオレンジ色のカーソルがフォーカスされているアイテムの詳細です。 マウスでカーソルを移動し、クリックで下のエリアに一次保存(カートには追加されません)、ダブルクリックでAmazonの商品ページが開きます。 一般の方向けにマウスでの操作を実装しましたが、実はキーボードで操作できるというのが、このビューアのウリになります。 ページに書いていますが、viのように、h,j,k,lでカーソル移動、Enter,v で商品ページポップアップ、s でクリップ、c , x でカテゴリ切り替え、という操作になります。 最初戸惑うかもしれませんが、慣れてくると結構楽しいです。 初期表示が 10 x 10 の100個表示モードになっていますが、キー
昨日、YouTubeの新しいAPIが公開されました。 これまでのAPIはビデオの内容を検索するだけのシンプルなAPIだった記憶がありますが、今回はものすごいことを提供してきました。 なんと、ビデオのアップロードや、エンコードの変換、ホスティングなどを一手にYouTubeが引き受けてくれるのだそうです。自分のサイトに動画コンテンツの投稿、閲覧機能をつけたいと思っていたけれど、転送量やディスク容量、技術的な問題で断念していた人も多いはず。今回のAPIで、そういうもろもろの問題をクリアできちゃうわけです。すごいね、Google。 ただ、表向きにはYouTubeやGoogleの名前は出なくても、動画コンテンツはしっかりとGoogleのディスクに収められていくわけで。まあ、それがGoogleのねらいなんでしょうね。 HTMLファイルや画像に比べて動画ファイルのファイルサイズは大きいので、自社サーバに
Google がAJAX Libraries APIを公開しました。 AJAX Libraries API - Google Code 代表的なAJAX のライブラリをGoogleがホスティングしてくれていて、使うときは、 <script src="http://www.google.com/jsapi"></script> <script> // Load jQuery google.load("jquery", "1.2.6"); </script> こんな風に書くと、jQueryのバージョン1.2.6を読み込んでくれます。 対応しているライブラリは以下の通り。 jQuery prototype script.aculo.us MooTools dojo たいしたことないAPIのようにも思えますが、GoogleのAPIを既に利用しているページであれば簡単に利用できますし、ライブラリのキ
先日のJUIで刺激を受けて、ちょっとしたマッシュアップアプリを作っているのですが、そこでJavaScriptでキーバインドを実装することにしました。 で、jQueryを使っていたので、適当なプラグインがないかと探してみたら、よさげなのを発見。 js-hotkeys - Google Code $.hotkeys.add('a', fn); こんな感じでキーバインドできます。クロスブラウザ対応もちゃんとやっていてくれるみたいです。 デモ・テストは↓こちらで。 デモページ
JUI Tokyo 2008に参加してきました! 無謀にもLTとか申し込んじゃったりして。 スピーカ(LT含む)の席は一カ所に固められていて、なんとamachangさんの隣に座れました。もっとお話しすれば良かったのですが、久しぶりに知らない人ばかりのところに飛び込んだので、ちょっと気後れしちゃいましたよ。だめだね、こりゃ。 まずは各セッションの内容と感想から。 jQuery UI / Paul Bakaus (パウル・バカウス) さん フルタイムの仕事でjQuery UIやってるそうです。 jQuery UIの機能とか説明しつつ簡単なデモをいくつか。 Drag & Drop 等のよくある機能から、Effect API とか。 Dragしても、要素をposition:absoluteじゃなくてfloatしたまま扱うから、要素を3つfloatさせて並べているところで、真ん中の要素をドラッグして
textareaのサイズを入力にあわせて調整するJavaScript (イラストdeブログ開発記) 404 Blog Not Found:javascript - 勝手に添削 - textareaの高さを自動調節 textareaの高さ調整は前に書いたことがあって、for文回さずにこう書きました。 イチ に 三 function resize_textarea(ev){ var textarea = ev.target || ev.srcElement; var lines = textarea.value.split('\n').length + 1; textarea.setAttribute("rows", lines); } split 大好き。 と、思ったけど、動きが変ですね。後で調整しよ。
JUIのことを書こうかと思いましたが、まずはこちらのニュースから。 うちの会社で利用されている社内SNSがオープンソース化されることが発表されました! TIS、企業向けSNS「SKIP(スキップ)」のソースコードを公開 : 2008年度(ニュースリリース) TIS株式会社 日経プレスリリース プロジェクトの指揮を執られていた(というかコード書いていた)XPのドンこと倉貫さんのブログでも報告されています。 社内向けSNSをオープンソース化するプレスリリースが出ました - kuranukiの日記 いやー、すごい。これはすごいよ。 コードの公開はもう少し先になるみたいですね。 これまでオープンソースなSNSと言えばPHPのOpenPNEがまず挙げられてましたが、それ以上に良いアプリだと思いますので、これを機に社内SNSを導入されてみてはいかがでしょうか。コードはRuby on Railsで書かれ
はじめまして。 twittreが勝手にスクロールしてくれれば良いのにと思って探しています。 twitter 自動更新 の検索でこちらに飛んできました。 しかし、自分にはプログラムの心得が無く、お作りになったtextが何言語なのかも、どうしたら実行?できるのかわかりません。 ”どこを見ろ”でかまいませんので、使用法を教えてもらえないでしょうか。
オリジナルはこちら↓ So When Do We Get Folders in Gmail? A 「君のアドバイスにしたがってGmailを使うようにしたよ! こいつはすごいね! でも、フォルダが使えないみたいなんだ。Gmailでフォルダが使えるようになるのはいつだい?」 B 「Gmailにはすでにフォルダに似たものが用意されているよ。ラベルって言うんだ。フォルダとの主な違いはメールにいくつもラベルをつけられるところかな」 A 「あー、なるほどねー。でもさ、メールをいくつものフォルダに分けるってのはそんなに便利じゃないと思うんだけど」 B 「たとえば君がメールを仕訳するときにラベルを作るとするじゃないか。そのときに、1つのメールが1つのカテゴリにぴったりはまらないこともあるよね?」 A 「あれ、だめだ、これ動かないよ。『招待』ってラベルを作って1つのメールにラベルをつけてみたんだけど、『受信
次のページ
このページを最初にブックマークしてみませんか?
『でぃべろっぱーず・さいど』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く