タグ

2017年12月13日のブックマーク (7件)

  • スキーマファースト開発のススメ - onk.ninja

    第 2 部 で 現在 5 派閥ぐらいありそうです。 と書いた中でなぜ OpenAPI を選んだのかというと、 JSON Hyper-Schema は Hypermedia の技術なので、1 サーバ 1 クライアント、同一チームで両方を見るという private API では出番が無い。 RAML はコミュニティ規模が OpenAPI, API Blueprint に比べて小さかった OpenAPIAPI Blueprint、生 JSON Schema だと、OpenAPI が一番「RESTful API」に特化していて、かつ詳細度が高い といった辺りです。 OpenAPIruby だとライブラリが (当時は) 少なかったのですが、まぁ作れば何とかなるだろうと採用しました。 最近のトレンドでも Swagger 1 強になってるっぽくて、良い選択をしたなぁと思っています。 Open

    スキーマファースト開発のススメ - onk.ninja
  • Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside

    CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ

    Swagger+JSON SchemaでAPIの型をテストして開発サイクルをスピードアップさせた話 - pixiv inside
  • SwaggerでRESTful APIの管理を楽にする - Qiita

    背景 最近は変化し続ける要件に対応するために、システムも柔軟であることが求められています。 そのため、部分的に変更やスケールの可能なシステムを構築し、API経由で連携するマイクロサービス的アーキテクチャが増えてきています。 そういった設計の中で問題になっていくのが、従来のモノリシックなアプリケーションではIDEやコンパイラなどで行っていた、機能間のインターフェイスをどう管理するかという部分です。 Swaggerとは? SwaggerとはRESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、またそれらを扱うための仕様などを提供するフレームワークです。 公式サイトでは、The World's Most Popular Framework for APIsと謳っています。 その理由は、マイクロソフト、Google、IBM、SmartBearなどを大手の企業を含む「Open

    SwaggerでRESTful APIの管理を楽にする - Qiita
  • AWS FargateとLambdaでサーバーレスなクローラー運用 - orangain flavor

    これはWebスクレイピング Advent Calendar 2017の7日目の記事です。こんな感じでAWS FargateとAWS Lambdaを使ってサーバーレス(EC2レス)なクローラーを作ります。 この記事はFargateでのクローリング処理にフォーカスしており、クロールしたHTMLをS3に保存するところまでを主に解説します。Lambdaの方はおまけ程度の扱いで、スクレイピングしたデータの扱い(データベースへの格納など)はスコープ外です。 長くなったので目次です。 背景 AWS Fargateの登場 クローラーの構成 やってみる 1. ScrapyプロジェクトでSpiderを作る 2. Scrapy S3 Pipelineをインストールする 3. Scrapy S3 Pipelineプロジェクトに追加する 4. ScrapyプロジェクトDockerizeする 5. Amazo

    AWS FargateとLambdaでサーバーレスなクローラー運用 - orangain flavor
  • Rails: STI(Single Table Inheritance)でハマったところ|TechRacho by BPS株式会社

    最近Rails でSTI を使う機会があったのですが、幾つかハマるポイントがありました。 1. 親クラスを継承したクラスが読み込まれない 継承した子クラスのモデルを親クラスと同じファイルにまとめていると、エラーになる場合があります。 # app/models/user.rb class User < ActiveRecord::Base end class Admin < User end class Guest < User end # rails console で実行 irb(main):001:0> Admin.all NameError: uninitialized constant Admin この問題はRails の自動読み込みの仕組みに関連して起こるようです。 Rails の自動読み込みの話 読み込みされていないクラス/モジュールがあった場合、名前から読み込みするファイルを

    Rails: STI(Single Table Inheritance)でハマったところ|TechRacho by BPS株式会社
  • 検索エンジン最適化(SEO)スターター ガイド

    フィードバックを送信 コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。 検索エンジン最適化(SEO)スターター ガイド ウェブサイトの構築時には、ユーザーを念頭に置き、見つけやすく閲覧しやすいサイトになるよう工夫するのが普通です。検索エンジンもユーザーの一種ですが、コンテンツを見つけるためにユーザーの手助けをします。SEO(検索エンジン最適化)では、検索エンジンにコンテンツを理解させることで、ユーザーが検索エンジンからサイトを見つけてアクセスすべきかどうかを判断できるようにします。 検索の基事項では、ウェブサイトが Google 検索の表示対象となるために特に重要となる事項を説明しています。Google のインデックスに確実に登録される方法はありませんが、検索の基事項に沿って作成したサイトは Google の検索結果に表示されやすくなります。SEO とは

    検索エンジン最適化(SEO)スターター ガイド
  • Think Lab|一人で深く考えるためのソロワーキングスペース

    一人で深く考えるための ソロワーキングスペースです Think Lab は、集中力を測定できるメガネ型デバイス「JINS MEME」の研究成果を用い、「世界で一番集中できる場所」というコンセプトで開発したワークスペースです。潜在的な集中力を引き出し、生産性の高い仕事をしたい、というあなたにおすすめです。 Think Lab? 一人で深く考えるための ソロワーキングスペースです Think Lab は、集中力を測定できるメガネ型デバイス「JINS MEME」の研究成果を用い、「世界で一番集中できる場所」というコンセプトで開発したワークスペースです。 潜在的な集中力を引き出し、生産性の高い仕事をしたい、というあなたにおすすめです。

    Think Lab|一人で深く考えるためのソロワーキングスペース