技術情報

弊社のSwagger活用方法の紹介

こんにちは、技研のブルマンです。

社内の諸事情により、しばらくブログを書けてなかったのですが久しぶりの執筆です。

今回は開発で最近取り扱っている「Swagger」の活用方法について紹介したいと思います。
※ちなみにこの記事は社内の「CRESCO Advent Calendar 2016」の12/15分の記事です。

「Swagger」って何?

まず始めに「Swagger(http://swagger.io/)」とは何かを簡単に説明します。

SwaggerはWebAPI仕様ドキュメントのフォーマットおよびビューワーなどを提供するフレームワークです。「Swagger Specification(Spec)」と呼ばれるJSON形式のWebAPI仕様を記述すると、Webページで仕様を確認できたり、各種コードを生成できたりします。

主に以下のコンポーネントから構成されています。

Swagger Editor Swagger Specのエディタ
Swagger UI Swagger Spec から動的にAPIドキュメントを生成するツール
Swagger Codegen Swagger Specからクライアントのコードを生成するツール

WebAPI仕様を記述する仕様としてデファクトスタンダードになりつつあり注目の技術です。

RESTful APIの記述標準化を目指す「Open API Initiative」をマイクロソフト、Google、IBMらが立ち上げ。Swaggerをベースに
http://www.publickey1.jp/blog/15/open_api_initiative.html

弊社では外国拠点で開発を行うオフショア開発、地方拠点で開発を行うニアショア開発も積極的に推進しており、スマホアプリはオフショア、サーバサイドは国内で開発のような事例も増えてきています。

続きを読む


Chocolateyで楽々Windows開発環境構築

こんにちは、技術研究所の「どらお」です。

最近、私用PC(Windows)を新しくしたのですが、今まで使っていたソフトを一日がかりで再インストールしなおしました。
PCのセットアップって正直「めんどくさい」ですよね。
※若い頃は、自分好みにカスタマイズしているみたいで楽しかったと感じたりもしましたが。

このような状況はプロジェクトでもよく思います。

弊社では開発のメインマシンにWindows OSを利用しているのですが、プロジェクトが変わったりすると今まで使っていたPCを返却して、別のPCが支給されることがあります。

そのため、今まで使っていた開発に必要なソフトを再インストールする必要があり、
「インターネット検索」→「サイト接続」→「OSとバージョンを確認しダウンロード」→「インストール」
という作業を都度都度実施していき最悪の場合、インストール作業で一日が終わってしまうこともあります。

続きを読む


PowerPoint で図形を融合したり切り抜いたりする

技術研究所の(あ)です。
ひさびさの PowetPoint 活用ネタです。

今回は「図形の結合」機能についてです。

シンプルなドロー系のお絵描きアプリだと、円・楕円や長方形、星形などは描けてもレンズのような形は描くのが大変だったりします。円を二つ描いて、その重なる部分だけが切り出せれば…と思うわけですが、今の PowetPoint だとまさにその機能があります。例によって制限的なところもありますが、例によって使いこなせれば便利です。
今回は Windows10 + PowerPoint2016 の環境で試しています。

続きを読む


スマホでコントロールできる電池、MaBeee を使ってみた

技術研究所の(あ)です。
世の中、“IoT”がいろいろと騒がれていますが、データを収集して活用したい、という観点からか、センサ側にばかり注目が集まっている気がします。でも、IoT は出力・アクチュエータ側も考えるとさらに世界が広がるのです。とはいえ、簡単な表示を行うくらいならともかく、何かを動かす・動きを制御しようと思うと、「ちょっと試す」のハードルも途端に高くなります。

そんな中、「Bluetooth を介してスマホから出力を調整できる電池サイズのデバイス」が登場しました。昨年 (2015年) の 11月にクラウドファンディングが開始され、無事出荷、つい最近、2016年 8月4日からは一般販売も開始された MaBeee です。これを早速入手して使ってみましたので簡単にレポートします。

続きを読む


Caffe のハマりどころ三題

技術研究所の(あ)です。
他の記事もいくつか書きましたが、最近、機械学習をちょこちょこ試してます。その一環で、オープンソースのフレームワークの Caffe での画像分類も試してみました。ウェブ等でいろいろ調べて試行錯誤しつつインストールしたり実行してみたりしたのですが、いくつか凄まじくハマったところがありましたので、それらの点について、同じようなトラブルに出くわした方々のためにここにメモっておきます。

1. インストールでハマったところ

Caffe (version は 1.0.0-rc3 てことでいいのかな?) をインストールしたのは、Ubuntu の載った AWS の GPUインスタンス上に CUDA 7.5 (GPGPU のライブラリ) を入れて、という環境です。

事前に「必要なライブラリ等が多くて、インストールがたいへん」と聞いていましたが、確かにたいへんでした。具体的な手順等は検索するといろいろ出てくるのでここでは端折ります。調べて出てくることに加え、make の途中で既に入れたはずのライブラリが「ない」と言われるので、パスを修正したりシンボリックリンクを張ったり、などの作業はいくつかやりましたが、このへんはまあ、ちょっと Unix に慣れた人ならば普通に対応できる範囲だと思います。

続きを読む


Let’s EncryptでSSL証明書を楽々自動更新

はじめまして、ビジネス開発室の『ab』です。
今回は、商用利用も可能な無償の証明書発行サービス『Let’s Encrypt』を紹介したいと思います。

はじめに

弊社のとあるプロジェクトで使用しているredmineはAWS上でセキュアに動いてはいるのですが、
SSL証明書はオレオレ証明書を使用していました。
なので、証明書の有効期限を気にしながら、発行(更新)時はいくつもコマンドを叩いて、確認して・・・
といったとってもメンドクサイ運用をしていました。
そんな面倒な作業から解放されたい・・・
というか、そもそも「オレオレ」ってどうなのよ・・・?
というわけで、それら全てを解決してくれそうなLet’s Encryptを導入してみました。
同じようにそんなモヤモヤから解放されたい!と思っている方の参考になれば嬉しいです♪

続きを読む


WEBセーフカラーとビットマップに出会った日

こんにちは。技術研究所の「110」です。

私は秋期の応用処理技術者試験に向けて勉強中なのですが

今日はそこで私が疑問に思った問題について書きたいと思います。

件の問題は以下のように書いてありました。

“ディスプレイの解像度が800×600画素のとき,最大216色の色数で表示できるパソコンがある。解像度を1,600×1,200画素にしたとき,表示できる最大の色数は幾らか。ここで,主記憶の一部をビデオメモリとして使用することはないものとする。”

これはあるテキストにのっていた過去問題の抜粋なのですが、最大216色というワード。違和感がありませんか?

1ピクセルあたりのビット数で色数が決定するから、色数は2のn乗になる。

テキストにそう書いてあったはず。なのに、216って2の累乗には存在しないのです。

続きを読む


適当にサンプルを選ぶ

技術研究所の(あ)です。
ここ数年の流行りの機械学習ですが、僕もちょっと機械学習を用いた画像分類を試してみる機会がありました。
識別したい対象 (例えば猫) が写っている画像(正例)と、写っていない画像(負例)を用意し、機械学習アルゴリズムで学習させると、「その対象 (猫) が写っているか?」という確信度を返す分類器ができあがります。

試したシステムの説明では「正例と負例は同じくらいの数で学習させるとよい」と書いてありました。

手持ちの写真がたくさん (例えば1万枚) あって、その中に猫の写真が100枚 (集合C としましょう) あったとしたら、猫の写ってない写真を残りの 9900枚 (not-C としましょう) から 100枚選んでやる必要があります。どうせならなるべく偏りがないよう、ランダムにせねばなりません。
C と、not-C から選んだ100枚から、それぞれ同じ割合でランダムに学習用データとテスト用データに切り分ける必要もあります。どうやって選ぶのがスマートかなー、調べれば出てくるよなー、と思ったのですが、その前にちょっと自力で考えてみました。

続きを読む


スプリントプランニングとプランニングポーカーのやり方

こんにちは、技研の「むらたん」です。

先日、客先で開発チームのメンバーとしてスクラムを実践している社員から「スクラムが上手く回っていない」という相談を受けました。

具体的には、以下の内容です。

① プランニングしたポイントがスプリント期間中に膨らみ、予定していた作業を達成できない。その結果、プロダクトオーナーに悪い印象を持たれてしまう。
② ポイントが膨らむ理由は「環境整備」や「調査」のように、プロダクトには直接関係なく、スプリントプランニングで計画しきれていないタスクを行う必要が出てくるためである。
③ そもそも、メンバーによってベロシティが異なるから、ポイント自体の扱い方がよくわからない。

現場を観察しておらず、立ち話で聞いた程度の情報なので外れているかもしれませんが、聞く限りでは以下の印象です。

  • ポイントと工数が同じものとして扱われており、ポイントで見積もることの本質が理解できていない。
  • プロダクトオーナー(PO)、スクラムマスター(SM)、開発チームというロールの役割と責務の認識が正しくない。

今回のエントリーでは、ここから推測される問題について触れたいと思います。

免責事項
以降、スクラムの用語を用いた説明になります。用語の説明はスクラムガイドあたりを参考にしてください。

続きを読む