タグ

ブックマーク / blog.kyanny.me (13)

  • 例えば OSFA な API をやめる - @kyanny's blog

    OSFA == one-size-fits-all 単一の API で全てをカバーするのをやめたらどうか、ということ。 APIのバージョニングは限局分岐でやるのが良い - Hidden in Plain Sight @kenn 最近はRESTfulなエンドポイントは完全に後方互換なまま、クライアントごとにオーケストレーション層(radical versionin)を設けるという方向にシフトしようとしている。詳しくは http://t.co/zODm7mFr5B— Tatsuhiko Miyagawa (@miyagawa) February 28, 2014 この話のポイントとはちょっとずれてる && Podcast 聴いてないのですが。 Quipper プラットフォームで内部的に利用されている API も、 /v1 というパスの下にはえててごく一部のエンドポイントだけ /v2 がある、み

    例えば OSFA な API をやめる - @kyanny's blog
    hokaccha
    hokaccha 2014/03/07
  • ルーク、 MongoLab を使え! - @kyanny's blog

    五月の終わりから Quipper で働いている。 Quipper は DeNA の co-founder である渡辺雅之氏がロンドンで創業したモバイル学習プラットフォームの会社で...みたいな話は長くなるし、読者の興味を引きそうにないのでやめておく。このへんの話を詳しく知りたい人は渡辺によるハーバード・ビジネス・レビューの連載をどうぞ。 ソフトウェア開発者にとって一番気になるのは、会社の事業内容とか売上利益よりも、「どんな環境でソフトウェア開発をしているのか」じゃないだろうか。どんなインフラを使っているのか、バージョン管理やタスク管理はどうしているのか、自動テストはどのくらいやっているのか、開発手法はアジャイルなのか、 Mac で開発できるのか、椅子は六万円以上か(冗談ですよ)、などなど。 こういった、ソフトウェア開発者が日々過ごす広義の「環境」について言えば、 Quipper はかなりい

    ルーク、 MongoLab を使え! - @kyanny's blog
  • コマンドラインから適当なランダム文字列を得る - @kyanny's blog

    たまに適当なランダム文字列が欲しくなることがあり、 Ruby の SecureRandom というライブラリが便利でよく使うのですが、都度 irb を起動するのもだるいのでだるくならないようにしてみました。 kyanny/securerandom-cli https://github.com/kyanny/securerandom-cli 使い方 securerandom.rb を $HOME/bin あたりに保存して PATH を通し $ ./securerandom.rb --install とすると同じディレクトリに hex とか uuid とかいう symlink がはられます。 $ hex 10 とか $ uuid とかするといい感じのランダム文字列が得られます。 SecureRandom って打ってる間に思考が止まってしまったり SecureRamdon と打ち間違えてイラッと

    コマンドラインから適当なランダム文字列を得る - @kyanny's blog
    hokaccha
    hokaccha 2012/11/03
    homebrewでインストールしたpwgen使ってる
  • tig でいま見ているコミットをブラウザで開く - @kyanny's blog

    tig で Git リポジトリのログを読んでるときに「このコミットのページをブラウザで見たい!でもコピペするのは面倒だ!」と思ったので o 押したら開くようにした。 tig のキーバインドは .tigrc というファイルでカスタマイズできる。外部コマンドの呼び出しができるし、いまみている commit の SHA1 を渡せるので、こんな感じで hub コマンドを呼び出せる。 だいぶ楽なのでおすすめです。

    tig でいま見ているコミットをブラウザで開く - @kyanny's blog
    hokaccha
    hokaccha 2012/10/17
  • Rails と時刻 - @kyanny's blog

    時刻の扱いは難しい。タイムゾーンを跨ぐと格別に難しい。 Rails を使っていても難しさに変わりはない。むしろ時刻のやっかいな部分を隠蔽してくれるが故に余計にややこしくなることもある。 config.time_zone と config.active_record.default_timezone Rails アプリケーションで時刻を司る代表的な設定値は config.time_zone と config.active_record.default_timezone だ。いずれも config/application.rb で設定できる。詳細は Ruby on Rails Guides: Configuring Rails Applications 参照。 config.time_zone でアプリケーションのタイムゾーンを設定する。デフォルトでは UTC になる。日向けのウェブサイトで

    Rails と時刻 - @kyanny's blog
  • 書評: リーダブルコード - @kyanny's blog

    オライリー・ジャパン高様より献いただきました。ありがとうございます。 「The Art of Readable Code」については過去にブログで二度触れたことがありますが*1、日語訳の出版に際し改めて紹介すると、これはコーディングに上達したい人のためのです。良いコードとは読みやすいコードである、と明確な定義をまず述べて、具体的にどのようなコードが読みやすいのか、読みづらいコードのどこをどう改善すれば読みやすくなるのかを掘り下げていきます。 このが素晴らしいのは、徹底して具体的かつ実践的なテクニックを取り扱っていることです。ともすれば抽象的で主観的な内容になりがちなコードの読みやすさという話題を扱っていながら、豊富なサンプルコードと的確な改善例を示すことで、誰もが日々のコーディングに取り入れて毎日のコードをより良くしていけるように配慮されています。 書で紹介されている考え方やテク

    書評: リーダブルコード - @kyanny's blog
  • bundle のなかで bundle する - @kyanny's blog

    Bundler.with_clean_env と bundle install --gemfile について追記しました bundle exec した環境下でさらに bundle exec したいことがある。 bundle exec rake resque:work で起動した Resque ワーカーのなかで system("bundle exec rake spec") のような外部コマンドを呼び出すとか。ありますよね。ぼくは最近ありました。そしてハマった (そしてググりづらかった) のでこれ以上犠牲者を増やさないためにブログに書く。 bundler は実行時にいくつかの環境変数を定義するが、この場合問題になるのは BUNDLE_GEMFILE と GEM_HOME だ。 BUNDLE_GEMFILE は bundler が参照する Gemfile のパスで、 GEM_HOME は ge

    bundle のなかで bundle する - @kyanny's blog
  • APIs: A Strategy Guide を読んだ - @kyanny's blog

    APIs: A Strategy Guide を読んだ。 このAPI の設計や実装に関するではない。もっと大局的な、 API を取り巻くエコシステム全体のあり方を論じるだった。要するに、開発者視点では得るものが少なかった。とはいえ一ヶ月半近くかけて主に通勤中に、最後のほうはすっとばしながら、無理やり読んだので章ごとのざっくりしたまとめと感想を書く。 Chapter 1 The API Opportunity そもそもなんで API があると良いのかについてビジネス的な視点で触れている。スマートフォンのようなリッチなモバイル端末が世界中で爆発的に普及しているのでさまざまなデバイス向けに素早くコンテンツを提供できるかどうかが重要になる、そこで API ですよ、という流れ。 あと一般に API というと一般に公開してサードパーティの開発者に利用してもらう public API を想像し

    APIs: A Strategy Guide を読んだ - @kyanny's blog
  • Homebrew に (ささやかながら) 貢献するには - @kyanny's blog

    Homebrew は GitHub 上で開発が進められているので、新しい Formula を追加するとか既存の Formula を改良するとかして upstream に取り込んでもらいたい場合も当然 GitHub を使います。 Formula Cookbook というページに詳しく作法が書いてあるのだけど長い*1ので、手元で Formula を編集し終えていざ Pull Request を送る際に気をつけるべき点だけピックアップしてみました*2。 一行目には50文字以内で要約を書く。空行を挟んでコミット内容の説明を書く。 要するに Gitのコミットメッセージに関する注意点 のガイドラインに従ってね、ということ https://github.com/mxcl/homebrew を fork する fork した自分のリポジトリに対して変更を push する Pull Request を送る

    Homebrew に (ささやかながら) 貢献するには - @kyanny's blog
    hokaccha
    hokaccha 2012/03/16
  • おれがはてなブログPro初日に1年コースを契約した理由 - @kyanny's blog

    http://b.hatena.ne.jp/entry/staff.hatenablog.com/entry/2012/02/13/172342 はてなブログProに対して「高い」とか「競合に比べて機能が少なすぎる」とか「腕に覚えがあるエンジニアならさくらのVPSで全部自力で作れてしまう」とか、肯定的ではないコメントが散見されるので、初日にProにした俺ががなぜ1年分8200円を払う気になったのか書いてみる。 高い? 当に?他が不当に安すぎるのでは?これは正直いって職業柄ふつうの人に比べて金銭感覚が狂ってる自覚はある。けどあえて書くと、ウェブサービスの価格は安すぎる。BtoCなウェブサービス運営の仕事に就いたことがある人ならば同意してもらえると思う。フリーミアムとか無理だから。はてなブログはリリース当初から記事下にアドセンスをでかでかと貼っていて評判が悪かったけど、広告モデルは規模が全て

    おれがはてなブログPro初日に1年コースを契約した理由 - @kyanny's blog
    hokaccha
    hokaccha 2012/02/15
    「ウェブサービスの価格は安すぎる」全くもってそう思います
  • HTML5 の file API と jQuery でブラウザにファイルをドラッグ&ドロップしてアップロードするサンプルを作った - @kyanny's blog

    GitHub - kyanny/html5_file_api_ajax_upload_sample: HTML5 file API + ajax file upload sample HTML5 の file API というのが面白そうなのでちょっといじってみた。 デモを動かすには Plack と JSON と Path::Class が必要です。このブログ読んでる人ならどれも ready for use ですよね。もしまだのひとは cpan -i Plack JSON Path::Class でよろしく。 git clone して plackup して Firefox 3.6.x 以降で開いてください。 複数ファイルをドロップしたときになんかうまく動いてない気がするとか、 app.psgi の書き方がだいぶいい加減とか、微妙なところはたくさんあるけどとりあえず動くところまでいけたので公開

    HTML5 の file API と jQuery でブラウザにファイルをドラッグ&ドロップしてアップロードするサンプルを作った - @kyanny's blog
  • カヤックxクックパッド技術者交流会に行ってきた - @kyanny's blog

    カヤック×クックパッド主催 技術者交流会のお知らせ?おいしいソースのつくり方? - KAYAC engineers' blogに行ってきたので感想を書くよ。 bowls カフェがオシャレ 初 bowls カフェだったけど、すごいオシャレでびっくりした。オフィスの下にあんなお店があるなんてかっこいいなぁ。プロジェクターがすごいでかかった。 アジェンダもオシャレ アジェンダが配られたんだけど、それもオシャレだった。参加申し込み時に「参加者の皆さんへ一言お願いします」って欄があって、何に使うんだろと思いつつ自己紹介を書いたのだけど、それが見開きで全員分載っていたので驚いた。これいいなぁと思うと同時に、今日は普段俺が参加している勉強会とかとは別種の会なのかもなと思った。 参加者もみんなオシャレ・・・な気がする 場所がオシャレ、小道具もオシャレだからすっかり何見てもオシャレに見えるようになってしまっ

    カヤックxクックパッド技術者交流会に行ってきた - @kyanny's blog
  • シェルスクリプトを .app 化して「システム環境設定 -> アカウント -> ログイン項目」に入れて OS 起動時に自動実行する - @kyanny's blog

    追記 launchd でも「起動時に実行」は実現できるそうです。コメントで教えてもらいました。あとはてブコメントより、 Automater でもできるっぽいです。 タイトルが長ったらしいのはあとで自分が忘れたときのために検索性を高める意図があります。 http://www.pqrs.org/tekezo/macosx/doc/makeapp/ に書いてある通りにした。というか、サンプルの zip ファイルをダウンロードして、そのまま起動スクリプトとアイコンだけ上書きしてリネームして使わせてもらった。 要するにこういうディレクトリツリーで必要なファイルを配置してやればいい。これで Finder からはアイコン一個のアプリケーションに見えて、「ログイン項目」に追加して起動させられる。 [kyanny@kyanny-laptop2 ~/Applications/LingrIRCGateway.a

    シェルスクリプトを .app 化して「システム環境設定 -> アカウント -> ログイン項目」に入れて OS 起動時に自動実行する - @kyanny's blog
    hokaccha
    hokaccha 2009/01/31
  • 1