ブックマーク / tkengo.github.io (34)

  • Chrome Extensionの話をしよう。ようこそ Hometype が創るマウスレスの世界へ。 · けんごのお屋敷

    vi のようなキー操作で Google Chrome を操作できるエクステンション Hometype の紹介をしたいと思います。元々はエクステンションの作り方の勉強をするために始めた Hometype でしたが github にソースコードを置いて自分が使いやすいようにいろいろ作ってるうちに、会社の同僚が何人か使い始めてたのでとりあえず公開しても良いかなと思って、先日バージョン 0.0.1 を Chrome ストアへ登録しました。ただ実際は、まだ実験的な機能も多く、バグも多く潜んでいると思いますし、テストもないし、最低限の機能しかないので、既存の同類のエクステンションに比べればまだまだ発展途上ではありますが、自分の中でやりたいことはいっぱいあるので開発はずっと続けていく予定です。 Hometype とは 先にも紹介しましたが vi のようなキー操作で Google Chrome を操作でき

    Chrome Extensionの話をしよう。ようこそ Hometype が創るマウスレスの世界へ。 · けんごのお屋敷
  • git の歴史の辿り方 · けんごのお屋敷

    git にはリビジョンを引数として受け取るコマンドがいくつかあります。git show や git reset 、 git log 、 git diff などはその典型でしょうか。これらのコマンドを使う時はリビジョンを指定しますが、その指定の仕方には様々な方法があって、最近自分の知識整理のためにすこし調べてたので、せっかくなのでまとめてみました。 SHA1ハッシュ git はコミット毎にそのコミットに対して SHA1 のハッシュを生成するので、その値をリビジョンの指定に使えます。 $ git show ed9003bcbdb33a0d626911244e5f8e6e244351e9 commit ed9003bcbdb33a0d626911244e5f8e6e244351e9 Author: Kengo Tateishi <xxxx@xxx.com> Date: Sun Feb 9 08:

    git の歴史の辿り方 · けんごのお屋敷
  • レガシープロジェクトで ruby の capybara を使って仕様化テストをやってみる · けんごのお屋敷

    レガシーでテストのないプロジェクトのメンテナンスはつらいものです。テストを書こうにもそもそもテストできるような設計になっておらず、ビューとロジックが分離されていない古い PHP なんかは、なかなかテストを書き始め辛いところもあります。そこで実際にブラウザを起動して自動テストを進めることが出来る capybara を使って仕様化テストをやってみようという試みです。実際に会社では PHP で出来たレガシーなシステムに対して capybara でテストを作ってまわしています。 capybara というと ruby で開発されている有名なウェブアプリケーションテストフレームワークですが ruby でできているからといって rubyプロジェクトにしか使えないわけではありません。capybara にはテストを実行する際に利用するドライバを指定できて、それには selenium や polterge

    レガシープロジェクトで ruby の capybara を使って仕様化テストをやってみる · けんごのお屋敷
    sho-yamasaki
    sho-yamasaki 2014/02/05
    レガシーでもテストはできる
  • spring と direnv を使って Rails と rspec を高速起動。快適開発はじめる · けんごのお屋敷

    spring は最近流行ってるので、既に知ってる方もいると思いますが Rails のプリローダーです。 Rails を使ってる人だったら bundle exec rails console とか bundle exec rails generate model user とか bundle exec rake routes とか、便利コマンドにお世話になることも多いと思います。 でも Rails ってとても巨大なフレームワークなので、コマンド一つ起動するにも Rails の資産が全部ロードされて結構な時間がかかります。なので Rails をあらかじめバックグラウンドで起動しておくことによって、コマンドの起動時間を大幅に短縮してくれるのが spring です。 前は Gemfile には書かずにシステムに gem コマンドでインストールして spring rake routes とかやってて

  • 本当にあったプログラマとデザイナの怖くない話 in Fukuoka.php Vol.11 · けんごのお屋敷

    Fukuoka.php Vol.11 に参加してきました。 リンク先にもあるように今回は NO PHP DAY ということで Fukuoka.php という名前を冠しながらも、誰一人として PHP の話をしなかったという珍しい勉強会でした。残念ながらUstreamの中継はなかったためオープンにはなりませんでしたが、いろいろと勉強になってたくさんインプットができたイベントでした。素晴らしい発表の数々は、後々各発表者の方より資料やブログが公開されると思います。Twitter では #fukuokaphp ハッシュタグで流れを追えると思います。 そんな NO PHP DAY な Fukuoka.php で僕も LT 枠をもらっていたので、ひとつアウトプットをしてきました。 プログラマとデザイナのコラボレーション Web 業界では、プログラマとデザイナが一緒に仕事をすることは多いと思います。一般的

  • 送るをもっとシンプルに。ファイル送信サービス「Intobox」をリリースしました。 · けんごのお屋敷

    「送る」をもっとシンプルに をコンセプトとした Intobox というサービスをリリースしました。 Intobox は Facebook の友逹に対してファイルを送信することができ、送信されたファイルは相手の Dropbox に直接に転送されます。ファイルの受信側では Dropbox のクライアントツールがインストールされていれば Intobox からファイルが送信された後、ダウンロードする手間もなく自動的に自分の端末に同期されます。 Intobox Intobox には Facebook を使ってサインインします。ユーザー登録は必要ありません。サインインできればDropboxの認証画面が出てくるのでそちらも認証を済ませておきます。Dropbox認証時に すべてのファイルやフォルダへのアクセス と表示されますが、実際にはすべてのファイルやフォルダにはアクセスしておらず、受け取り側の Dro

  • FacebookChatAPIを使ってFacebookの友逹にメッセージを送信する · けんごのお屋敷

    Facebook にはチャット機能があって、送ったチャットはここで見ることが出来ます。 もし相手がオンラインなら、画面右下にこんな感じのチャットダイアログが表示されます。 このチャット、使っている人も多いかと思いますが Facebook は Chat API というチャットメッセージ送信のための API を提供していて、この API を通して Facebook の友逹にチャットを送信できます。この Chat API は Graph API とはまったく別の物で、使い方も違います。Graph APIruby から扱うための gem は他にもたくさんあるのですが、それらから Chat API を扱うことはできません。 今回、自分で作ってる Web サービスに通知の仕組みを組み込みたくて Chat APIruby から利用するための gem を作って公開したので、それを紹介したいと思

  • 私達はトトロでさえキャンバスに描画できる · けんごのお屋敷

    先日 @monochromegane と一緒に昼ごはんに行ってペペロンチーノをべてた時「家でもペペロンチーノを作る」という話をしていたら『Vim でペペロンチーノ作るプラグインまだ?』みたいな誰得プラグインの話をしていた僕です。こんにちは。 そんな誰得プラグインに負けないくらい誰得なものが出来上がってしまったのですが、せっかくなので公開しておきます。 HTML5 に canvas というブラウザ上に図を書くための機能があります。結構いろいろなことが出来て、パーティクルを飛び交わせたり、かっこいいアニメーションを作ったり、Flash ばりの表現力があります。前々からこの canvas の勉強をしてみたいと思っていたので、一つなにか作ってみようと思って出来たのがこれです。 canvas にレインボートトロを描画する ※Google Chromeでの閲覧推奨です。1分程度のアニメーションですが

  • Ruby on Rails を使って Dropbox にファイルを送信する · けんごのお屋敷

    Ruby on Rails を使って Dropbox の API を呼び出してファイルを送信したかったので少し調べてみました。DropboxAPI は事前に OAuth 認証でアクセストークンを取得しておき、そのトークンを使って API にアクセスするという一般的なやり方です。 Dropbox アプリの作成 まずは Dropbox のアプリを作らないといけません。アプリに対してユーザーが認証を行ってアクセストークンを発行してもらいます。Dropbox のアプリは https://www.dropbox.com/developers/apps ここから作ることが出来ます。この記事では Dropbox アプリは作成済みの前提で進めていきます。 ちなみに Dropbox アプリは作り方によって、フルアクセスだったり特定の権限しかもらえなかったりします。アプリを作る時に、ウィザード形式でいくつか質

  • 郵便番号から住所を補完する jquery.ajaxzip2 を拡張したよ · けんごのお屋敷

    先日、郵便番号から住所を補完する jQuery のプラグイン jquery.ajaxzip2 を紹介しました。 これは AjaxZip 2.0 - Ajax郵便番号→住所自動入力フォーム(CGI不要版)を jQuery プラグインとして実装したもので、利用するためには自前で JSON 形式の住所データをサーバーに配置する必要がありました。そこで JSON 形式の住所データを準備しなくても良いように JSONP 形式の住所データも読み込めるように jquery.ajaxzip2 を少し拡張してみました。 外部の API を利用して住所を補完する JSONP については、詳しくは検索すれば情報が沢山でてきますのでここでは割愛しますが、要するに JSONP を使えば外部のサービスが提供する郵便番号検索 API などから住所を補完できるようになります。 郵便番号から住所データを引ける JSONP

  • 郵便番号から住所を補完するjQueryプラグインを作ってみた · けんごのお屋敷

    郵便番号から住所を自動的に補完してくれる JavaScript のライブラリに AjaxZip 2.0 - Ajax郵便番号→住所自動入力フォーム(CGI不要版) がありますが、それを jQuery のプラグインとして実装したものを作ってみました。 jquery.ajaxzip2 通常版と、スペースや改行などが圧縮された minify 版があります。使い方はリンク先の github に書いてあるので参考にしてください。 また jquery.ajaxzip2 を実装するにあたって、さらに使いやすくするために従来の AjaxZip2 を少し拡張しました。 拡張機能 次のような機能を新たに追加しています。 住所補完後の動作をコールバック関数で指定可能 郵便番号から住所を補完する際に JSON 形式の住所データを非同期に取得しにいきますが、それが完了した後に呼び出されるコールバック関数を指定できる

  • gitのコミットの歴史を改変する(git rebase) 2 / 2 · けんごのお屋敷

    git rebase パート1の続きです。 fixed(コメントは変更せずにコミットをまとめる) fixed は squash と同じく1つ前のコミットとまとめる機能がありますが squash と違うのはコメントはそのままにするということです。 squash と同じ説明になりますが 70b3379 の メソッド名のタイポ修正 を何事もなかったかのようにしたい時は cce19c9 とまとめてしまいます。いつものように [kengo@tkengo-mac] $ git rebase -i cce19c9~1 こうして pick cce19c9 通信用のクラスの実装とテストの追加 fixed 70b3379 メソッド名のタイポ修正 pick aebf22c テストが落ちてたので修正 とします。すると squash の場合はこの後にコメントを入力する画面が出て来ましたが fixed の場合はそれが

  • Fukuoka.php Vol.7 1周年に参加してきた · けんごのお屋敷

    2013/05/29(水)にFukuoka.php Vol.7 1周年が開催されたので、参加してきました。 僕もちょこちょこ参加させてもらっては、たまに発表枠をもらってしゃべったりしてたのですが、早いものでもう1年経つのですね。この1年で自分自身も大きく成長しました。後から読み返してみたら、どうも二番煎じみたいな日記になってしまいましたが、まあいっか。 勉強会に参加する目的 勉強会に参加する時、どういう気持ちで参加しているでしょうか。 純粋に技術の勉強をする 新技術に触れてモチベーションを高める それぞれ理由はあると思います。僕も最初は純粋に技術目的で参加していました。 もっと大事なこと もちろん技術の勉強も大事なのですが、せっかくいろんな人が集まる場なのですから、それだけじゃなくてもっと出来ることがあるはず。 それは コミュニケーション 是非とも他の参加者の方達と仲良くなりたいと思ってい

  • ZendFramework で HTTP 通信部分をスタブ化してテストする · けんごのお屋敷

    テストしてますか? こないだ業務で ZendFramework を使ったアプリケーションで HTTP 通信の部分をスタブアウトしてテストしたかったので、実際にやってみました。そんなに難しくなかったので、是非やってみると幸せになれるかも! 前提 ZendFramework バージョン1系 Zend_Http_Client を使って HTTP 通信をしている ZendFramework のバージョン2がリリースされてからもうしばらく経ちますが、業務ではバージョン1を使ってる所は結構あるんじゃないでしょうか。 それから ZendFramework を使って HTTP 通信をしようとする場合 Zend_Http_Client というクラスがあります。名前からもわかりますが HTTP 通信のためのクライアントで、通信部分の面倒を見てくれるクラスです。今回のアプリケーションは HTTP 通信部分に Z