AR とか MR とか VR とか

技術研究所の (あ) です。

マイクロソフトの HoloLens が (ようやく) やってきて、HMD (Head-Mounted Display) 界隈がまた新たな賑わいを見せています。しばらく前は Oculus Rift を使った VR (Virtual Reality) が大流行して、その後はよりお手軽なハコスコ、Cardboard が増えつつあるかなぁ、という感じだったところに、新たな流れを作ることができるのでしょうか。

マイクロソフトは HoloLens を MR (Mixed Reality) デバイス、と称しています。メディア・記事によってはこの MR という言葉をあたかも新たに発明された概念かのように書いていることもありますが、そんなことはありません。現実と仮想を融合、って言うけれど、それって AR (Augmented Reality) とどう違うの?

今回はその辺りを、歴史もふまえてざっと整理しておきたいと思います。

続きを読む


アヒルと “TANSTAAFL”

技術研究所の (あ) です。

弊研究所では機械学習を用いた画像分類などをやってます。
機械学習にもやり方がいろいろありますが、どれも基本的には、「判定したいもの」や「状況」を入力したときに出てくる「答え」が、なるべく正解 (教師データ) と同じに (もしくは近いものに) なるようにするか、あるいは何らかの「ポイント」がなるべく高くなるように学習する、ということをやってます。

すなわち、何らかの評価関数 (コスト関数) の最大値・最小値を探すという、最適化問題を扱っていることになります。この最適化問題に関して、おもしろい名前の定理があります。

その名も「ノーフリーランチ定理 (No-Free-Lunch Theorem)」。”Free Lunch” とは「無料の昼食」のこと。”No Free Lunch” とは「無料の昼食なんてものはない」ということ。

「『無料の昼食なんてものはない』定理」? いったいどういうことでしょう?

続きを読む


シンギュラリティと知性とゾンビ

弊社でも扱っていますが、相変わらず人工知能(AI)や機械学習が世間を賑わわせています。最近では読唇術で人間の能力を上回ったなんていう話 が。「2001年宇宙の旅」の HAL9000 を思い出します。将棋や囲碁でも AI が人間に勝つようになり、「AI が完全に人間を上回るかも?」という話が現実味を帯びてきました。
技術の発展というのは凄いですね。

シンギュラリティ?

技術の発展速度はどんどん速くなっているから、このままある時点まで行くと無限に近い速さになる、というようなことが計算機が発展しだした初期の頃から言われています。
その概念は、特にその「ある時点」をヴァーナー・ヴィンジという SF 作家が 1980年代末に「シンギュラリティ」(Technological Singularity, 技術的特異点) と名づけたことで、広く知られるようになりました。

続きを読む


ネーミングについての失敗談とネーミング辞書「codic」

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

今回はネーミングについての話をしたいと思います。
名前を付けるって難しいですよね。

私はロールプレイングゲームで、主人公の名前を設定するのにもかなり時間をかけてしまうタイプの人間です。
開発時にクラス名やメソッド名の名前を付けるときにも熟考します。

この記事をお読みのSEの皆さん、プロジェクトでは命名規則が遵守されていますでしょうか。

私が過去に配属されたスタートアップのプロジェクトでは、命名規則が整備されていないために統一感のないクラス、メソッドが出来上がり、リファクタリングにとても時間がかかったことがありました。

続きを読む


Future Meetup 第1弾 in クレスコFuture Center!

Future Meetupとは

Future MeetupとはリフレッシュMeetupの名前を改めて、リニューアルしたイベントです。

今回の第一弾のFuture Meetupでは、『私の考える未来について』というテーマで、
下記3つの発表を行っていただきました。
◇「Digital transformation の潮流」 K.M.副会長
◇「複合現実でアイドルとイチャイチャする未来」 SEC R.I. さん
◇「未来を迎える技術者に必要なもの ~ひとりひとりが輝くクレスコ~」 技研研究所 Y.A. さん

futuremeetup_00futuremeetup_09

以下にそれぞれのご発表についての詳細をレポートいたします。 続きを読む


応用情報受けてみた 午後問題編

こんにちは。

技研の「110」です。

11月に応用問題うけてみた 午前問題編を執筆しました。
あれから1か月が経ち、12月16日。
とうとう午後問題もIPAの公式解答が公開され、同時に合格発表でしたね。

というわけで、今回は午後問題編です。
午後問題はセキュリティ以外は選択式のため、今回は私が実際に試験で解いた問題のみを対象にします。
*今回の対象*
情報セキュリティ
プログラミング
システムアーキテクチャ
ネットワーク
データベース

続きを読む


弊社の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

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

続きを読む


HubotでYammer用Botを開発したときのハマりどころ

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

ChatOpsやってますか?「乗るしかない このビッグウェーブに」ということで、今期の開発技術SIGでも「定形作業の自動化 powered by ChatOps」をテーマとしています。

ChatOpsするなら、

ChatツールとしてSlackを導入して、HubotでBotスクリプトを開発して、「PING」って書き込むと「PONG」って返ってきたり、「PUG」って書き込むと、可愛いワンちゃんの画像を探してくれるんです。

みたいな内容はよく見かけますが、エンタープライズ利用を考えると、そう甘くはありません。

弊社の現状における課題と対策

「Slack」のエンタープライズ利用

  • GmailやOffice365を利用しているのに、これ以上、コミュニケーションインフラを増やすことはできません。
  • 今回はOffice365に含まれる「Yammer」でやってみることにしました。

「Hubot」でBotスクリプトを開発

  • Hubotって、Javascriptを便利にしたCoffeeScriptで開発する必要がありますが、そんな言語を書いたことはありません。
  • HubotのRuby版であるLitaなどの利用も考えましたが、Yammerとの接続アダプタが公開されていません。
  • 今回は開発量を最小限とするため、CoffeeScriptを覚えながら、Hubotで開発することにしました。

「PING」って書き込むと「PONG」って返ってくる

  • 特定の入力に対して特定の反応をするのは簡単そうですが、状態の管理はどうするのでしょう。
  • Yammerは「チャット」ではなく「ソーシャル」ですが、Slackと同じ感覚で使えるのでしょうか。
  • 今回のエントリーはこのあたりの課題をどのように乗り越えたか、を紹介します。

続きを読む