WebFluxとKotlinでReactive Web

この記事は 『CRESCO Advent Calendar 2017』 10日目の記事です。

VPA関連を書こうと思ったけれど、他の人と被りまくりそうな気がするので回避。

「ねえGoogle、WebFluxでAPIを実装してみて」
「Alexa、KotlinでAPIを実装してみて」

Spring 5.0のリリースで、WebFluxやKotlinのサポートが追加されました。
Spring WebFluxは、リアクティブプログラミングが出来る新しいフレームワークです。
Spring MVCはServlet APIベースでしたが、Spring WebFluxはReactive Streamベースの新しいHTTP API上に実装されています。

続きを読む

Jenkins2のPipelineの運用方法2つ試してみた

この記事は 『CRESCO Advent Calendar 2017』 9日目の記事です。

VPA関連を書こうと思ったけれど、他の人と被りまくりそうな気がするので回避。

「ねえGoogle、Jenkins2から登場したPipelineを試してみて」
「Alexa、Jenkins2から登場したJenkinsFileも試してみて」

ちなみにこの記事内容は、APIやPipelineの内容考えるところから含めて8時間くらい費やし、完成には至らず。
もっと時間を作れれば良かった。。。計画性のなさを反省。

続きを読む

コードを書かずにGoogle Home(Google assistant)に何か言わせるものを作ってみる

この記事は 『CRESCO Advent Calendar 2017』 8日目の記事です。

はじめまして。あかみーと申します。

今年はAmazon Echo、Google home、Clova WAVEと様々なスマートスピーカーが発売された一年でした。
これから更に普及してスマートスピーカーがある日常が当たり前になる日がすぐ来るかもしれません。

今回はスマートスピーカーの中でもGoogle Homeに自分で指定した何かを言わせる方法を簡単に紹介します。
この方法は Googleのアカウントさえあれば誰でも試すことができます。
コーディングをする必要もありません!
Google Homeを持っていない人も、Google Assistantのアプリさえスマホにインストールすれば誰でも試す事が可能です。(Googe Homeの中身はGoogle Assistantだからです。)
今回紹介するものは、約20~30分程度でできます。興味のある方は是非トライしてみてください。

続きを読む

GitBucketのPushをHookするプラグインを作ってみた

こんにちは。先週アドベントカレンダーを待てずにブログを出してしまったせいで、若干ネタ切れの(ほ)です。

※この記事は 『CRESCO Advent Calendar 2017』 6日目の記事です。

最近は企業でもソースコード管理にGitを使用していることが多いと思いますが、ホスティングには何を使用していますでしょうか。

GitHub Enterpriseを使用している企業もあると思いますが、ソースコードは社外に預けたくないという企業もまだ多いと思います。
そんなときに候補になるのが各種Githubクローンだと思いますが、弊社のあるプロジェクトではGitBucketを使用しています。

そのプロジェクトの人から
「masterブランチに管理者以外がPushできないようにしたい」
という話を聞いたのでプラグインを作ってみたのですが、GitのコマンドをHookするプラグインの作成方法が記載されているサイトを見つけられなかったので、ここに書いておきます。

(ちなみに、GitHubでもProtected branchesはGitBucketと同様にForce PushやDeleteを防ぐだけで、通常のPushは防げません。)

続きを読む

AWSで実現する簡単サーバーレスアーキテクチャ(新サービス「Cloud9」でもやってみる)

この記事は 『CRESCO Advent Calendar 2017』 5日目の記事です。

こんにちは、Y K です。

普段はAWS関連のお仕事がメインです。
開発、構築、テスト、アーキテクトやら、運用保守となんか役割がよくわかりません。
見積もりもやったりします。
さっさと、Admin権限つけたロールを付与してほしいものです。

弊社でも、最近サーバーレスアーキテクチャを適用しているプロジェクトがちらほら見られます。

先日、私は「ServerlessConf Tokyo 2017」で Serverless Tech Challenge に参加してきました。
1dayハッカソンみたいなものです。
惜しくも商品であるギフト券は逃しましたが、それ以上の収穫があったように思います。

続きを読む

Web APIクライアントのコード生成

こんにちは、特派員のI.Mです。
今回はAPIのお話です。

※この記事は 『CRESCO Advent Calendar 2017』 4日目の記事です。

SAP API Business Hub

SAP API Business Hubをご存知でしょうか?
所謂APIのカタログサイトで、SAPやそのパートナーが公開しているAPIの情報が閲覧できたり、トライできる環境です。
既に学習済みのモデルですがSAP Leonardo Machine Learningの一端がここで体験できます。
(利用にはSCNアカウントの作成(無料)が必要です)

続きを読む

Windows Application Driverでらくらく自動化

こんにちは、技術研究所の「むらたん」です。
この記事は 『CRESCO Advent Calendar 2017』 3日目の記事です。

ロボットを使って業務を自動化するRPA(Robotic Process Automation)が注目されています。
ロボットを使うメリットはあちこちで語られているので詳細は割愛しますが、自動化への期待はIT業界でも高く、苦行のようなテスト実施の自動化はプログラマの夢と希望であったりします。
Webブラウザをスクリプトで操作する「Selenium」というオープンソースのライブラリがあります。ブラウザの起動、指定されたURLの表示、入力値の設定、ボタンアクション、画面イメージの保存など、ブラウザで行う操作をプログラミングして実行できます。スクリプトで記述できることは何でも出来るので、Webシステムのテスト自動化のデファクトスタンダードになりつつあります。
この考え方を流用して、iOSやAndroidのアプリケーションを操作する「Appium」が登場しました。と、歴史を語りだすと止まらなくなるので、そろそろ本題です。

MicrosoftさんのGithub公式アカウントには「Windows Application Driver」が公開されており、Appiumで「Windowsアプリケーション」が操作できます。

!?
これ、Windowsパソコンを操作できるってことは、Webアプリだろうが、Excelだろうが、何でもスクリプトで操作できる最強ツールでではなかろうか。
でも、操作するためのスクリプトを書くのも辛いという方もいらっしゃると思うので、今回は実行環境の構築もプログラミングも簡単な「Python」で行います。
Selenium/Appium、Pythonを知らない方にも実践していただけるよう、細かく説明していきます。

続きを読む

新米IT-Dのススメ

この記事は 『CRESCO Advent Calendar 2017』 2日目の記事です。
こんにちは。IT-Dの「110」です。
あれ?と思ったあなた。弊社ブログのかなりのマニアとお見受けします。
前回の記事までは技術研究所の「110」として、あんな記事こんな記事を書いていました。
この秋、技研を卒業し現場に舞い戻りエンジニアになるかと思いきや、ここで任された職種が予想もしないものだったんです。

続きを読む