NTTコミュニケーションズ の技術ブログ

JSON Web Tokenの使いどころ

改ざんを防止するJSONとして注目されているのがJSON Web Tokenです。署名することでデータの改ざんを防止しつつ、URLセーフな仕組みとなっています。JSON自体は誰でも閲覧できるのでセキュアな情報を送るのには適していませんが、改ざんしたとしてもそれを検証する仕組みが用意されていることで安心して利用できます。 そんなJSON Web Tokenがどういった場面で使われている

t_wadaさんによるテスト駆動開発ワークショップが開催されました!(レポート)

2018/2/27(火)に和田 卓人(@t_wada)さんに、テスト駆動開発(Test Driven Development, 以下TDD)の1日ワークショップを開催していただきました! 本ワークショップは前半と後半で2部構成になります。 前半: TDDの講義およびライブコーディング 後半: TDDの実習およびt_wadaさん含む全員参加型のコードレビュー 特に後半の全員参加型のコードレビューはワークショップの特徴的な要素であ

綺麗なAPIを設計するには気をつけたい5つのポイント

綺麗なAPIとは開発者にとって理解しやすく、使いやすいAPIです。さらに提供側にとってはメンテナンスしやすく、拡張性も担保されたものになります。そうしたAPIを設計するのは容易ではありませんが、幾つかのルールを設けておくことでも十分に綺麗に設計できるようになるでしょう。 1. モデル型かアクション型か URLを設計する際にRESTfulに作るのがデファクトになっ

Swagger/OASドキュメントをSwaggerHubで管理しよう

SwaggerやOpen API Specification(以下OAS)はAPIのデファクトフォーマットになってきています。特にこれらのフォーマットでドキュメントを作っておくと、関連するライブラリやドキュメントが自動生成できるのが便利です。 Swagger/OASを使ったモックサーバであったり、テスト環境やエディタなどをまとめて提供してくれるのが SwaggerHub です。Swagger周辺のエコシステムを活用し

オンラインドキュメントへCI/CDを適用している話というタイトルで発表してきた

こんにちは、普段は SkyWay の開発・運用をしている岩瀬( @iwashi86 )です。 先日、クラウドアカデミー 1 という社内勉強会で、SkyWayのドキュメントに適用している継続的インテグレーション(CI)および継続的デプロイ(CD)について講演してきました。発表資料は以下になります。 オンラインドキュメントへCI/CDを適用している話 from Yoshimasa Iwase 内容の要約 内容を3行でまとめる

API界隈における2017年の主な出来事と2018年注目のキーワード

皆さま、明けましておめでとうございます。2018年になりました。個人、企業ともに新しいチャレンジを行っていく計画を立てるのに良い時期です。そこで、APIという視点において今年はどんな年になるのか紹介したいと思います。 ECサイト オンライン決済において、PCI DSSへの準拠が求められています。これは商品売買に限らず、クレジットカードを入力するような決済

APIを企画/提供する際に考えたい5つのこと

APIを公開して新しい収益軸にしたいと考える企業が増えています。しかし、その際に何からはじめれば良いか分かっていない方も多くいます。今回はAPI提供の企画段階から考えていくべきポイントを紹介します。 自社だけの資産を見つける API公開する上で肝になるのが自社独自の資産です。独自性が強ければ強いほど、価値があり他社がおいそれと参入できないものにな
AWS, API

APIを事業化する際に考えたい6つのこと

APIを新しいビジネスとして、新たな収益源にしたいと考えたとしましょう。通常のWebサービスであれば利用する度に課金したり、月額課金モデルなどが有名ですが、APIにおいてはまた別な観点で戦略を考える必要があります。 今回はそうしたAPI事業化に対する懸念点、調査すべき点を紹介します。 販売戦略を立てる どのような事業であってもゴールや販売戦略が必要で
API

APIがレガシー化しないためにできること

APIはシステム連携で使われるため、一度開発してから頻繁に手を入れなくなるかも知れません。しかし常に新しい人たちが使っていくことを考えると、レガシー化して古い技術を使い続けるのも躊躇されます。そこで今回はAPIがレガシー化しないための方法を紹介します。 常に手を加え続ける APIは一度作って終わりではありません。むしろ放置してしまうと実装がどうな

APIのスタブ、モックサーバライブラリまとめ

API開発する際にモックアップサーバがあったり、テストを行う際にスタブのライブラリがあると便利です。スタブはプログラミング言語に依存しますが、モックサーバであればJSONスキーマなどを使って立ち上げられます。今回はそうしたスタブ、モックサーバを紹介します。 heroku/dorante: stub an API from a JSON schema JSON SchemaをベースにAPIサーバのスタブを作成します。単純にJS

HRTechの鍵は投資すべき領域と効率化!「Enterprise APIs Hack-Night #12」レポート

去る2017年11月22日、 五反田のDEJIMA にて Enterprise APIs Hack-Night #12「HRTech」 が開催されました。HRはヒューマンリソース(Human Resource)の略で、HRTechとは人事労務系テクノロジーになります。 今回はfreee社(山本 伶さん)とネオキャリア社(野海 芳博さん)にご登壇いただきました。 労務管理の効率化から人事労務のプラットフォームへ by 山本 伶さん@freee株式会社 freee社は

GraphQLサーバを立てるのに使えるライブラリまとめ

GraphQLを提供する際にイチから構築する必要はありません。すでに各種プログラミング言語向けにサーバ実装が登場しています。今回は言語、フレームワーク別にGraphQLサーバ実装を紹介します。 Go neelance/graphql-go まだ開発途中ですが、2016年10月GraphQL仕様の全実装を目指して開発が進められています。 rgraphql/magellan リアルタイムストリーミングをサポートしたGraphQLサーバで

GraphQL運営で考えるべきセキュリティ

単一のエンドポイントで、クライアント側で指定することで任意のデータを取得できるGraphQLですが、ビジネスで利用する際に必ず注意しなければならないのがセキュリティでしょう。GraphQLを利用、提供する上での注意点を紹介します。 認証 GraphQLではサーバサイドのデータベースのようにID/パスワードのような仕組みは用意されていません。他のAPIと同様に、認証技術と

SwaggerからOpenAPI Specificationへ。コンバーターを試す

ついにOpenAPI Specificationがリリースされました。以前紹介した通り、文書構造が分かりやすくなったのが一番の特徴です。できることとしてはそれほど大きくは変わりません。 そこでこれまでSwagger.jsonで作ってきた内容をOpenAPI Specificationのフォーマットに整えるニーズが出てきます。手作業でやるのはとても大変なので、まずはコンバーターを使ってみましょう。それが Mer
OSS

APIとは。歴史を振り返る

APIはApplication Programming Interface(アプリケーション・プログラミング・インタフェース)の略語です。アプリケーションやシステムを開発するためのインタフェースといった意味になります。 今でこそWeb APIもAPIと呼ばれたりしますが、元々APIというのはデスクトップアプリケーションで用意されている仕組みでした。例えばExcelを外部プログラミングから呼び出してデータ