自分の中のプログラミングの常識というものは、ときどき現実のハードウェアに合わせて調節しないといけない。ハードウェアが進歩し続けているので、コンピュータで簡単にできることと相対的に難しいことのバランスが変化し続けているからだ。ここでは特にストレージにフォーカスして書こうと思う。 昔はメモリが相対的にとても貴重な資源だったので多くのプログラマがメモリを節約することに血道を上げていた。例えばWindowsの初期の頃に設計されたデータ構造には、メモリをバイト単位ででもいいから節約したいという意図の痕跡がいまでも多く見受けられる。DRAMの次に速い記憶装置はHDDだったので、メモリが足りなくなればHDDにデータを保存せざるを得ないのだが、DRAMとHDDのランダムアクセスの速度差は、机の上の本の開いているページを見るのと、その本をAmazonで注文して到着するのを待つのと同じくらいのスケールで違うの
今年初開催となる名古屋支社の楽天テクノロジーカンファレンスに行ってきた!面白かったー!今、帰りの新幹線。僕は何かあったときに助けてねってくらいでいたんだけど、何もすることなかったし、みんな楽しんでたし、ピザとチョコとビールとチョコおいしかったし最高だったなー!スタッフのみんなも、来てくださったみなさんも、素敵でした!お疲れ様でした! さて。そんな中、「名古屋に行くよー!」って言ってたら、なんと、きょんさんが遊びに来てくれて。しかも僕の相談に乗ってくれたのでした。幸せすぎた。ので、そのおすそ分け。 僕の相談? こんな話: どんな風に開発してる? どこまで自動化してる? TDDやってる? 知識の共有をどんな風にしてる? ドキュメントは書いてる? どんな風に開発してる? スクラムって最大30日で1スプリントとかいうよね。僕のチームはそれよりは短くて10営業日で1スプリントが多いかな。でも、まだ慣
こんにちは、阪本です。 以前、「Springfox+Swagger+Bootprintによる即席REST API仕様書作成」というエントリーを書きましたが、今回はパラメータの制約をドキュメントに反映する方法について確認してみます。 なお、今回はSpringfoxのバージョンを2.3.1にしています。 @ApiModelPropertyによる制約の指定 まずは、Swagger Annotationを使ってパラメータの制約や説明の追加を行ってみます。 前回使用したEmployeeクラスに、@ApiModelPropertyアノテーションを追加します。 package swagger.entity; import java.util.Date; import javax.validation.constraints.NotNull; import javax.validation.constra
こんにちは。阪本です。 世の中、Swaggerが注目を浴びてきていますね。 開発のスピードアップが求められる中、「外部IF仕様書なんて書いてられねぇ!!」なんて言って実装をバリバリ進めてしまいそうですが(アカンアカン)、そうは言っても外部IF、他社との仕様調整も必要。 そんなときに有効な、実装しながら仕様書も作れるSpringfox+Swaggerに加え、ドキュメント生成ツールのBootprintを使って、簡易的な仕様書を作ってみました。 仕様書の動的生成 以下のようなシンプルなSpringBootアプリケーションから、REST APIを生成してみます。 @SpringBootApplication public class SwaggerExampleMain { public static void main(String[] args) { SpringApplication.run
この記事は RECRUIT MARKETING PARTNERS Advent Calendar 2015 の投稿記事です。 全国100万人のサーバサイドエンジニアのみなさん、こんにちは。産まれたばかりのサービスゼクシィキッチン で主にサーバサイドを担当している yewton です。最近きゅんきゅんしてますかー? さて、昨今の新規サービス開発で避けて通れないのはWeb APIドキュメント作成ですね。今どきスマホアプリが無いサービスなんてあんまり無いでしょう、たぶん。APIドキュメントがクライアントとサーバ間の唯一のI/Fなわけですので、しっかり運用していきたいですよね。 とはいえExcelやらWordやらWikiやらに一生懸命書いていったって、メンテされずに陳腐化していくのがオチですね?このあたりは 以前もこのブログで取り上げられているので、ぜひ今一度読んでいただけるとよいと思います。 以
Swaggerはオープンソース・ソフトウェア、オープンなフォーマットと言うこともあり、関連するライブラリが幾つか存在します。OpenAPI Initiativeが設立されたこともあり、業界標準となっていけばさらに登場してくるのではないでしょうか。 今回はそんなSwaggerによる開発を補助するソフトウェアを紹介します。 Swagger2Markup/swagger2markup SwaggerファイルをベースにMarkdownファイルを生成するソフトウェアです。若干癖のあるツールですが、MarkdownファイルであればPDFをはじめとして他のドキュメントフォーマットにも展開しやすくなります。 Markdownフォーマットは他の多くのドキュメントシステムでも使われていますので、そういったシステム向けにドキュメントをコンバートする際にも便利です。 BigstickCarpet/swagger-
2020-06-11 ZOZOMATのクロスプラットフォーム3D Android Objective-C Xcode iOS macOS 設計 C++ 3D ZOZOMATとは何でしょうか?オンラインで靴を購入する際に、サイズが合わないという問題を解決する仕組みです。1台のスマートフォンと紙製のZOZOMATだけで、正確に足のサイズを測れます。足をスキャンすると、高精度の3Dモデルが生成されます。最適なサイズの… ZOZOMATのクロスプラットフォーム3D 2020-06-11 近似最近傍探索Indexを作るワークフロー 機械学習 自動化 設計 マイクロサービス バックエンド インフラ Kubernetes Airflow はじめに こんにちは。ZOZO研究所のshikajiroです。主に研究所のバックエンド全般を担当しています。ZOZOでは2019年夏にAI技術を活用した「類似アイテム検
先日、採用に関して、プログラミングを仕事にしたいという方からの問い合わせを受けた。採用の問い合わせについては、社長である私が第一報を返している。今回受けた相談への回答は、他の方にも参考になるのではないかと思い、本人の了承を得た上で、そのまま公開させてもらうことにした。 プログラミングをはじめて楽しくなったので仕事にしたいと思っている方や、これからの時代を生き残るにはプログラマだと考えて仕事にしたいと思っている方など、本気でプログラミングを仕事にしたいと思っている方にとって参考になれば幸いだ。 プログラマ採用に関する質問 現在建築会社で働いているのですが、IT関連の情報をニュースやネットで見かける度に関わりたいという欲が抑えきれなくなり、プログラミングの勉強を始めました。 色々なサイトを巡り、オブジェクト指向を理解した方がよいということでJavaから入ったのですが、コードを書いては消し、思っ
概要 フロントエンジニアや外部に公開するAPIを用意する時、APIドキュメントを書くのは地味に面倒ですよね。 最近ではswaggerを筆頭に、ドキュメント生成ツール(Mockサーバーも内蔵しているものもある)が充実してきているので、それを使っていい感じにドキュメントを作りたいと思います。 play2もswagger pluginがあるので、それを使ってドキュメント生成をコード側でやってしまいましょう。 (筆者はswaggerを使ったことがなかったので、swagger自体の使い方も含んだ記事になります。) 環境 (執筆時点では、swagger-playがplay2.5対応しきれていなかったので、forkされたものを使用しています) Play 2.5 swagger-play (CreditCardsComがforkしたもの) ソースコードはこちら ゴール (アノテーションベースで)ある程度わ
こんにちは、井上です。 「Swaggerで始めるモデルファーストなAPI開発」を見て興味を持ったので、Swaggerをちょっと触ってみたのですが、すぐに、これ1ファイルの YAMLファイルでメンテナンスするの超しんどくない?と感じました。 なので、分割する方法を調べてみました。で、みつけたのが下記エントリ。 How to split a Swagger spec into smaller files 方法としては、別々のファイルに書いた定義を $ref で参照しておき、それを json-refs でマージして1ファイルに戻すというやり方のようです。 下記のような YAML ファイルを、 swagger: '2.0' info: version: 0.0.0 title: Simple API paths: /foo: get: responses: '200': description:
1. © Recochoku Co.,Ltd. Proprietary and Confidential 2017/02/07 Swaggerを利用した 新規サービス開発 株式会社レコチョク 事業システム推進部 ミュージックアーキテクトグループ 松木 佑徒 2. © Recochoku Co.,Ltd. Proprietary and Confidential 2017/02/07 自己紹介 2 職業:フルスタックエンジニア(自称) 言語:C# (2008~2010) -> Java (2011~2015) -> Python (2016~) 趣味:ドラム / ジャグリング Yuto Matsuki @yustam_jp id:yustam 2008: 某SIerにてシステムエンジニアとして色々な現場で仕事をする 2014: 株式会社レコチョクに転職 2014-2015: レコチョクの楽曲DB
CTO兼福岡オフィス立ち上げ担当として新アプリを作っている@edvakfです。 JSON APIを開発しているとこういう問題がありがちですよね。 仕様どおりにAPIの形式を作ったはずだけどなんか自信が持てない テストでいくつかのキーが存在するかの簡単なチェックはしてるつもりだけど、全部チェックするのは大変すぎる APIのControllerやViewをリファクタリングしたらレスポンスの形が変わってアプリがめっちゃクラッシュし始めた というのが怖くて誰もリファクタリングできなくなった APIドキュメントがメンテされない 知らない間にレスポンスのフィールドが増えてたけどドキュメントに書いてない これらを解決したい!と思って試行錯誤したら、スマートに解決することができました。この記事ではRailsのことについて書きますが、考え方は他の言語・フレームワークでも同じです。 なお、今回使ったgemのバ
Swaggerのテンプレートを魔改造した話 #渋谷java 1. Hidetake Iwata NTT DATA CORPORATION 第二十回 #渋谷java Swaggerのテンプレートを 魔改造した話 2. 2 3. Agenda 今日話すこと 1. 複数チームによるAPI開発の課題 2. What is OpenAPI? 3. サービス開発におけるOpenAPIの利用 今日話さないこと ● 大規模SI 3 4. 1. 複数チームによるAPI開発 4 5. 複数チームのAPI開発でよくある話(1/4) コンポーネントチームが並行開発を行う場合を考える。 5 フロント エンド サービスA サービスB フロントエンドチーム バックエンドチーム コンテンツプロバイダ 6. 複数チームのAPI開発でよくある話(2/4) 6 フロント エンド サービスA サービスB このAPI仕様で 提供
こんにちは。バックエンドエンジニアのじょーです。 みなさんは、開発初期の段階でWeb API(以下API)の実装が追いつかずクライアント側が開発できないという経験をしたことはありますか? クライアント側はAPIがないと開発が滞ってしまうことがありますが、かといってAPIの開発も始まったばかりではすぐに必要なAPIを提供することができません。その問題を解決し、両者でスムーズに開発をすすめるために有効な方法の1つに、APIモックの作成があります。 弊社では、開発初期の段階でWeb APIのモックを作成し、スムーズに開発できるようにしています。 以前は、Apiaryをモック作成ツールとして利用していましたが、記法やエディターに使いづらい点があり最近Swaggerに移行しました。 本記事では、Swaggerを使ったAPIモックの作成方法と手順、また気をつけるべき点などを紹介します。 目次 Swag
背景 最近は変化し続ける要件に対応するために、システムも柔軟であることが求められています。 そのため、部分的に変更やスケールの可能なシステムを構築し、API経由で連携するマイクロサービス的アーキテクチャが増えてきています。 そういった設計の中で問題になっていくのが、従来のモノリシックなアプリケーションではIDEやコンパイラなどで行っていた、機能間のインターフェイスをどう管理するかという部分です。 Swaggerとは? SwaggerとはRESTful APIのドキュメントや、サーバ、クライアントコード、エディタ、またそれらを扱うための仕様などを提供するフレームワークです。 公式サイトでは、The World's Most Popular Framework for APIsと謳っています。 その理由は、マイクロソフト、Google、IBM、SmartBearなどを大手の企業を含む「Open
15. Swagger What is Swagger? The goal of Swagger™ is to define a standard, language-agnostic interface to REST APIs which allows both humans and computers to discover and understand the capabilities of the service without access to source code, documentation, or through network traffic inspection. When properly defined via Swagger, a consumer can understand and interact with the remote service with a
Kubernetesは、Dockerに依存しない軽量コンテナランタイム「cri-o」正式版1.0リリースした。cri-oはコンテナランタイムとしてはDockerに競合するが、コンテナイメージなどを作る機能などは備えていない。 cri-oは、Kubernetesの育成プロジェクト(Kubernetes Incubator Project)として開発されています。 Red Hatに所属するcri-oエンジニアリングチームのDaniel Walsh氏は、cri-oのオフィシャルブログに投稿された記事「CRI-O 1.0 is here」で、Dockerに依存しないコンテナランタイムであるcri-oの開発動機について次のように説明しています。 We felt at the time that the upstream Docker project was changing too quickly
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く