運営元のロゴ Copyright © 2007-2024 All Rights Reserved by Gijutsu-Hyoron Co., Ltd. ページ内容の全部あるいは一部を無断で利用することを禁止します。個別にライセンスが設定されている記事等はそのライセンスに従います。

APIを作るとき みなさん、毎日API使ってますか?私は、ワンライナーでAPIをコールすることにハマっています。さて、いつも使っているAPIを作る側になったとき、どのように設計していますでしょうか?また、作ったAPIをどのように使ってもらっていますか?そんな疑問に応えるサービスがApiaryです。 Apiaryとは? Apiaryは、REST APIをサクッと書けるサービスです。また、APIドキュメントも生成してくれます。モックサーバも提供してくれます。API利用サンプルコードも作ってくれます。うん、使わないって選択肢は無いですねw。 無料登録すると早速使えるようになります。チームでプライベートなAPI開発をしたければ有料プランを選択してください。 API開発の流れ API開発の流れは、まずはじめにMarkdown形式でドキュメントを書きます。既にサンプルがあるのでこれを使ってみましょう。
エンジニアがアプリ担当とAPI担当で分かれているチームで、API担当のエンジニアがアプリ開発経験が無かったりすると、アプリ担当のエンジニアはどんなAPIがクライアントアプリにとって使いやすいのか、上手く伝えるのに苦労する事がありますよね?本記事はそんな場面でAPI担当のエンジニアに読んでもらう事を想定しています。 APIと型 アプリ側はRESTクライアントにRetrofitやRestkit等、既に広く使われているライブラリを使用する事が多いです。それらのライブラリは、オブジェクト・JSON間の変換機能があり、アプリ側ではJSON等シリアライズされるデータ形式を意識せずに、処理系上のオブジェクトをそのまま扱えます。即ちAPI経由でやり取りされるデータは全て型を持つのです。 例えばAPI側のコードで以下の様に定義されたクラスが
Deleted articles cannot be recovered. Draft of this article would be also deleted. Are you sure you want to delete this article? by @mixiappwchr アプリ向けのAPIの開発時に気をつけてもらえるとうれしい&メンテナンスや実装コストが下がる点をつらつら書きます。 データ構造について データを返すとき、一定のルールを守って返す。例えば当然ですが同じデータ構造はもちろん、似たような構造もルールを作ってproperty名などそろえておく。relationやlistで返すときもどのデータ構造なのかがpropertyで明確にわかるようなっているようにする listを返す場合の形式やpagingが必要な場合の形式はそろえる。配列のデータがない場合も考慮しておく。例
現在ではREST APIはとても一般的な話題です。ほとんどすべてのWebアプリケーションの一部分となっています。シンプルで一貫性があり実際的なインターフェースは必須です。これは皆さんのAPIを他の人が使うことをとても容易にします。皆さんにとってはRESTの実践が日常的に感じられるかもしれませんが、RESTをあまり尊重しない人々もよく見かけます。これがRESTについて投稿するきっかけでした。 この記事にはRESTfulなAPIを設計する時に考慮すべきベストプラクティスがあります。 注意 : ここでのベストプラクティスは、私が過去の経験に基づいて良いと考える事例です。もし違う考えをお持ちであれば、お気軽にメールをくだされば意見交換できると思います。 APIのバージョンを示す APIのバージョンは必須であるべきです。これがあると時間が経ってAPIが変わっても影響を受けません。その方法の1つはUR
概要 新刊にかぎらず、今年読んでいて「あー、良書だなー」って思ったものをあげています。これ、ダメじゃないの?とか、あー、やっぱりこれいいよねっていうコメントもらえると嬉しいです。 基本は、.NETにおけるWeb APIやFW開発でQA * POな人が思う良書です。今年は技術書より論文、言語仕様書、実装を読んでいることが多かったので、去年の半分の30冊くらいしか読んでいないかな。 開発チーム系 エッセンシャル スクラム 作者: Kenneth S. Rubin出版社/メーカー: 翔泳社発売日: 2014/08/01メディア: Kindle版この商品を含むブログを見る スクラムなんとなくわかっているんですけど、自分以外の状況よくわからんしなー、進め方変じゃないかなぁっていうときに、読むとめっちゃ参考になります。 組織パターン 作者: James O. Coplien,Neil B. Harri
この記事ははてなエンジニアアドベントカレンダー2014の16日目です。昨日はid:nobuokaによる「【Retrofit を読む】 利用者が定義したインターフェイスに実装を提供する Java ライブラリの作り方 【リフクレション】」でした。 こんにちは。はてなアプリケーションエンジニアのid:cockscombです。 Webと連携するスマートフォンアプリを開発するとき、Web APIを抽象化したAPIクライアントを作ることがよくあります。これはWeb APIのエンドポイントとメソッドを紐付け、パラメータに名前をつけて、返ってくるJSONのレスポンスを何らかのクラスに当てはめ型付けする、といったようなものになります。 Swiftのモダンな言語機能を利用して、このAPIクライアントを書きましたので、以下に詳解します。例としてGitHubのStatus APIを取り上げています。 またネットワ
ここ数ヶ月にわたって、WebPayはAPIのエラーにまつわる変更を少しずつ行ってきました。 それに付随してドキュメントも拡張しましたが、変更の背景について十分に説明できていない部分がありました。 この記事では、最近のエラーに関連した変更の背景を紹介し、今後どのようにエラーをハンドルすべきか説明します。 記事の内容は執筆時点のものであり、今後同じようにエラーやAPIの変更を行うことがあります。 変更があっても記事の内容はその時点の内容を保持し、ウェブサイトのドキュメントのみ更新します。 必ずウェブサイトのドキュメントを合わせて参照し、手元で動作確認を行ってください。 エラーはなぜ起きるのか WebPayのAPIは、リクエストされた操作ができなかったときにエラーを返すように設計しています。 可能なかぎりエラーにならないような設計、実装を心がけていますが、エラーは絶対に避けられません。 例えば、
こんにちは、ALBERTの太田です。今回からChrome4のリリースまでの間、Google Chrome Extensionsの詳細を追っていきたいと思います。なおタイトルの通り、この連載は先取り! Google Chrome Extensionsの続編となっています。 まず、重要なお知らせがあります。前回の特集で何度か使用していたToolstripsとMoleがベータリリースまでに削除されることが決まりました。その代わりとして、今回解説するBrowser Actionsが利用できるようになります(Important: Toolstrips being removed in favor of browser actions)。また、Browser Actionsに合わせて、第3回で解説したPage Actions APIの新バージョンが提案されています。こちらも詳細は追って解説します。
モバイルファースト室の@tomorrowkey です。 Google I/O 2014で発表されたProject VoltaのBatteryHistorianについて調べました。 目次 注意 Battery Historianってなに? BatteryHistorianを使おう 開発中のBatteryHistorianを使おう 各項目の解説 まとめ 参考 注意 この記事は2014年8月12日 現在 正式リリースされていない開発中のツールを解説しています。 正式リリース時にはツールの使い方や解析結果の見かたなどが変わる場合がありますので、ご注意ください。 Battery Historianってなに? Google I/O 2014でProject Voltaが発表されました。 Project VoltaはAndroidアプリの電力消費の解析をするためのツールを作ったり、アプリの電力消費を抑え
はじめに Web APIを使って様々なサービスと連携するというアーキテクチャはすっかり定着した感があります。みなさんも、Web APIを使ってデータをやりとりするアプリケーションを書く機会も増えているのではないでしょうか。 Web APIを使うアプリケーションの開発では、テストやデバッグをする際のAPIアクセスが悩みどころとなります。本物のサーバを使ったのではテストデータの初期化などに手間がかかりますし、逆にHTTPアクセス自体をスタブやモックを使って間接化してしまうとそれが本当に有効なテストなのか不安が残ってしまいます。 筆者も、仕事やプライベートでのコーディングでこのような悩みに何度も遭遇しました。これらを解決するために開発したのがwwです(wwと書いて'double-web'と読みます)。 ダミーWebサーバ作成ライブラリww(Double Web) wwは、Webサービスの簡単
Today we’re excited to launch an official Hacker News API. We’ve partnered up with Firebase (YC S11) so that the data we’re making available will be near real time, which should be a huge improvement for developers who had to rely on scraping the site for this info. The API is available at https://hacker-news.firebaseio.com/ with some initial documentation and a few examples written by our own Nic
Tweet Marker was an award-winning, cross-platform web service for syncing the reading position between multiple Twitter clients. Thank you Macworld for recognizing Tweet Marker with a Editors’ Choice Award for 2011! After 8 years, I had to shut down the Tweet Marker API. Thanks to all the many third-party Twitter apps that supported Tweet Marker over the years, including: Twitterrific — Mac, iPad,
久々にインスタント・コマースの界隈に動きが見られるようになってきた。STORES.jpの次はもちろんこちら、BASEだ。 簡単にコマースサイトを構築できるプラットフォームBASEは10月1日、開発者向けに構築したネットショップの情報を利用できるAPIを公開した。既にサードパーティーによる利用は開始されており、iPhoneケースなどのオリジナルアイテムを作れるマーケットプレース「Canvath」やクラウド会計のfreeeなど数社の事例が公開されている。 APIによって可能になるのは商品情報の閲覧、注文情報の取得、商品情報の編集、商品情報の検索の4つで、今後順次拡張される。具体的には「このAPIを使ってBASEのモールを独自に作ることもできる」(同社代表取締役の鶴岡裕太氏)とのことで、外部事業者が10万店舗のデータを活用した新しいビジネスを検討することも可能になる。なお、有益なアプリケーション
ZooKeeperは、Apacheソフトウェア財団のオープンソースプロジェクトの1つで、大規模分散システムの協調動作を実現するツール。分散システムが協調動作するために必要なコア機能を提供することで、開発者の負荷を大幅に低減します。HiveやHadoopの新しいスケジューラであるYARNなど、多くのプロジェクト、企業、組織で利用されつつあります。分散システムの協調動作に頭を悩ませていた多くの開発者にとって福音となる、ZooKeeperを使った効果的な分散システムの管理手法、スマートな問題解決法を提示します。 まえがき I部 ZooKeeperのコンセプトと基本 1章 はじめに 1.1 ZooKeeperの使命 1.1.1 これまでZooKeeperなしでどうやってきたのか? 1.1.2 ZooKeeperがしてくれないこと 1.1.3 Apacheプロジェクト 1.1.4 ZooKeeper
<g> <g> <defs> <rect id="SVGID_1_" x="-468" y="-1360" width="1440" height="3027" /> </defs> <clippath id="SVGID_2_"> <use xlink:href="#SVGID_1_" style="overflow:visible;" /> </clippath> </g> </g> <rect x="-468" y="-1360" class="st0" width="1440" height="3027" style="fill:rgb(0,0,0,0);stroke-width:3;stroke:rgb(0,0,0)" /> <path d="M13.4,12l5.8-5.8c0.4-0.4,0.4-1,0-1.4c-0.4-0.4-1-0.4-1.4,0L12,10.6L6.2
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く