タグ

2015年5月4日のブックマーク (4件)

  • APIKitでSwiftらしいAPIクライアントを実装する

    Feb 22, 2015 堅牢で使いやすいAPIクライアントをSwiftで実装したいをライブラリにまとめてAPIKitとしてリリースしました。 なお、”Swiftらしい”というのは主観です。 https://github.com/ishkawa/APIKit 利用側のコード リクエストに渡すパラメーターは型によって明らかになっている。 レスポンスはモデルオブジェクトとして受け取れる。 成功時にレスポンスを非オプショナルな値で受け取れる。 失敗時にエラーを非オプショナルな値で受け取れる。 // リクエストに渡すパラメーターを型で制限 let request = GitHub.Endpoint.SearchRepositories(query: "APIKit", sort: .Stars) GitHub.sendRequest(request) { response in // option

    APIKitでSwiftらしいAPIクライアントを実装する
  • 堅牢で使いやすいAPIクライアントをSwiftで実装したい

    Feb 17, 2015 昨年末にはてなの@cockscombさんと@yashiganiさんがつくっていたSwiftでenumとジェネリクスを活用したかっこいいAPIクライアントを書くが 面白かったので、これを参考にしつつSwiftらしい堅牢で使いやすいAPIクライアントを考えてみました。 目標としたのは以下の3つの条件を満たすことです。 レスポンスはモデルオブジェクトとして受け取る (便利) 個々のリクエスト/レスポンスの定義は1箇所で済ます (変更しやすくしたい) リクエストオブジェクトはAPIクライアントから分離させたい 例にはGitHub System Status APIを使用しています。 サンプルコードはGitHubに上がっています。 APIクライアントのインターフェース APIの呼び出し用に用意されたメソッドはcallのみで、callに渡すリクエストによってレスポンスの型が変

    堅牢で使いやすいAPIクライアントをSwiftで実装したい
  • 企業独自Chrome拡張の配布方法を考えてみる::Route4610

    ChromeStore以外のページから拡張インストール で少し書いたんだけど、企業独自の拡張を配布するのは結構悩みどころ。 けど、ChromeStore以外からのページからインストールさせる方法があれば比較的安全にわかりやすく実装出来そうってことで、方法を考えてみる。 まずは今の現状から。 今うちの会社ではGoogleAppsをChromeで使わせていて、その前のグループウェアにあった機能でGoogleAppsに足りない機能を一部拡張で実現させている。 その拡張を配布する方法としては、 一台一台手動でインストールしてあげる Chromeストアで一般公開して必要に応じて、社員がStore内を検索してインストール Chromeストアで限定公開したリンクをメールや掲示板で連絡し、社員がそこからインストール ログオンスクリプトでレジストリに拡張の情報を書き込み、自動でインストール がある。 1.

    企業独自Chrome拡張の配布方法を考えてみる::Route4610
  • 無料音楽アプリ「iLoveMusic」はどこから音楽ファイルを取得しているのか

    iPhone App Storeの無料アプリ総合ランキング2位に「iLoveMusic」という無料で音楽を聞けるアプリがありました。目立つので気になっていた人も多いかと思います。私も気になって説明を読んでみたのですが、すぐわかったのは、音楽データはインターネット上で公開されているサービスに掲載されているコンテンツで、ダウンロード機能はない(ストリーミング再生)ということでした。そしてユーザーたちは、著作権にまつわる問題や法律(違法かどうか)が気になっているようです。 私の場合は、「このアプリが音楽データを一体どこから持ってきているのか」「当にインターネット上で公開されているデータからストリーミング再生しているのか(iLoveMusicのサーバーでキャッシュしていたりしないのか)」が気になりました。 この点については、多くの利用者やその他のいろいろな立場の人(権利者とか)も気になっていると

    無料音楽アプリ「iLoveMusic」はどこから音楽ファイルを取得しているのか