Unipos engineer blog

Uniposの開発者ブログ

Scala Matsuri 2019にエンジニア2人で発表してきました #ScalaMatsuri

Fringeのエンジニアの藤野です。

6/27(木)〜6/29(土)で開催されたScala Matsuri 2019に弊社のエンジニア2人が発表してきました!

Scala Matsuri

Scala Matsuriは、2013年に開催されて以来、今回で第6回目になる日本で最大のScalaのカンファレンスです。 海外からもScalaエンジニアが多く参加し、セッション中に日英の同時通訳も行われます。

ScalaMatsuri 2019|日本最大級の Scala のカンファレンス

場所は東京国際交流館で行われ、 1日目がトレーニングDay、2日目がカンファレンス、3日目がアンカンファレンスでした。 1日目のトレーニングDayは参加できなかったのですが、豪華なOSSのコミッターがチューターとして参加されていました。

scalaconfjp.doorkeeper.jp

弊社は大名スポンサーとして参加しました。 f:id:fringeneer:20190703100005j:plain

カンファレンスDay

3つの会場を使って発表が行われました。

セッション内容は、来年リリースされる予定のScala3、Graal VM、DDD、関数型プログラミングなどバラエティに飛んだものでした。

セッション一覧

弊社エンジニアのセッション

弊社からは2人のエンジニアが発表したので簡単に紹介させて頂きます。

ハイパフォーマンスScala

Uniposでサーバーサイドエンジニアをしている藤野の発表です。 広告配信で開発していた時の経験を元に、Scalaで高いパフォーマンスを出すためにどうすれば良いか話しました。

f:id:fringeneer:20190701131418j:plain

ピュアなドメインを支える技術

広告配信システムでサーバーサイドエンジニアをしている小紫の発表です。前々回以来の2回目の発表でした。 Scalaの言語機能やCQRSなどの設計思想を使ってどのようにドメイン層を抽象化するか話しました。

f:id:fringeneer:20190701131335j:plain

感想

海外からもたくさんのScalaエンジニアが来日していて、大規模でグローバルなカンファレンスでした。 カンファレンスDay、アンカンファレンスDayはどれも興味深い内容の発表ばかりで、また来年も参加したいと思いました。

このようなカンファレンスを運営してくださった運営スタッフの皆様本当にお疲れ様でした! 自分個人としては、前日のスピーカーディナー、発表前の通訳の方との打ち合わせといったカンファレンスだけでなく様々な所で、スタッフの方がScala Matsuriを良いカンファレンスにしようという姿勢が見れてとても感動致しました。ありがとうございました!

Elm記事執筆と、社内Elmチームにワクワクさせられている話

Fringe81エンジニアの関です。

Elm記事執筆

6/24(月)に発売されたWEB+DB PRESS vol.111にて、同僚の海老原くんとElm記事の共同執筆を行いました。

今回は読者の方に素早くElmアプリケーション構築を体験してもらうことを目指しまして、8ページと短い記事の利点を活かすことができればという思いがあります。 網羅性という意味では盛り込みきれなかった内容も多々ありますが、Elmはとても優れた言語設計がなされているので、一度さわれば虜になってどんどん独学が進んでいくのではないかと思っています😊

世の中のプログラマーがステキ言語Elmに出会うキッカケになればとても嬉しいです。

f:id:fringeneer:20190630171902j:plain:w300

そして、執筆のはなしをツラツラ書こうかなとも思ったんですが、この機会に書き残したいなと思ったことが他にもありまして。 Elm記事執筆以外にも、僕の周りでいろんなElmワクワクが生まれているんです。

社内Elmチームにワクワクさせられている話

弊社Fringe81では2016年にElmを採用しまして、その時の自分の思いやその後は別記事に書いていたりします。

そして、最近になって色々と新しい発見に出会うことができました。

  • 若手エンジニアが中心となって定例勉強会を開催。「どうしたらもっとElmと仲良くなれるか?」を積極的に学びあう
  • 社内SlackでElmの最新動向のキャッチアップや、それにまつわる議論が活発に行われる
  • 一緒に記事を書いた海老原くんが、社内のElmアーキテクトとして立ち上がり、開発ルールを整備
  • 榛葉くんがアプリのmain関数に手を加えることで、計測ツールとメインロジックを分離することを提案
  • 岡田くんがビルドスピードを劇的に改善
  • 泉くんがElm Europeにスピーカーとして登壇

いろいろありますが、これらが僕にとってはとても嬉しいことで!

僕の思いを一言でいうと「仲間たちがとっても心強い」んです!

はじめは自分が引っ張っていく必要があったんですが、今は様々なメンバーがどんどんチャレンジしてElmの知見を深めて、面白い活動をしてくれているんです。 自分がトライするのでは出てこないような意外性のあるトピックにも出会うことができるんです。

弊社では3年かけて、のべ20人ほどの弊社エンジニアが業務でElmコードを書いてきました。いま、「Elmを採用して一番良かったことは?」と問われたら、このElmersの活発な姿を見ることが出来たことと答えます。

これからさらに仲間が増えていくと思いますし、更にどんなワクワクに出会えるのかとワクワクしています(笑)

たくましい仲間に感謝しつつ、自分も皆に刺激を与えられるように頑張ろうと思います😁

de:code2019 に参加しました #decode2019

Fringe81エンジニアの大沼です。

2019年5月29日、30日に開催されたde:code2019にエンジニアの藤江と共に両日とも参加してきました!

f:id:fringeneer:20190607143832j:plain
de:codeパネル

de:codeとは?

Microsoft社(以下MS)が開催するイベントで、MSが提供する最新技術や実際の活用事例を紹介する、日本では最大級のイベントになります。 AI/MR(Mixed Reality)、クラウド、開発ツール全般と技術範囲も広く、MSの提供する技術に興味がある人にはおすすめのイベントです。 昨年度は弊社からは別のエンジニアが参加しましたが、私達は今回が初参加となります。主にクラウド領域、Azureの最新技術に興味があり参加しました。

www.microsoft.com

以下、Keynote及び印象に残ったセッションについて紹介したいと思います。

Keynote

はじめに日本MSの平野氏から、MSのサービス・製品の現状、今後の展望についてのお話がありました。 クラウドもエッジのデバイスもインテリジェントになっていくこと、人工知能やMRに力を入れていくこと、などの内容でした。

次にJared Spataro氏からの、Microsoft 365とWindowsの最新機能についての紹介でした。 現代の働き方の中心にあるのはアプリでもデバイスでもなくヒトである、とした上で、MS 365上でメール、予定表、Teams、Onedriveなどがシームレスに連携することや、 WindowsやEdgeなどに追加された生産性を高めるための機能についての紹介がありました。 また、Windowsの最新動向として、先日のMS Build で発表されたWindows版React Nativeやターミナルの新機能、WSL2についての話がありました。

更にお次はJulia White氏による、開発者向けの新機能紹介がありました。GitHubとAzure Pipeline/Boardで構築するCI/CDシステムのデモや、AI/IoT系サービスの紹介やデモ、AKSやいくつかのDB系PaaSの新機能・課金体系の紹介でした。 Azure Pipelineは私たちのチームでも採用を検討しているので、実際にこのように各種サービスを組み合わせて使っていくんだなという雰囲気を感じることができました。

最後はAlex Kipman氏による、KinectやHololensといったMR技術まわりの最新情報のお話でした。 いままでのKinectやHololensに触れたことはありましたが、およそ比較にならないほどデバイスもソフトウェア側の技術も進歩していて驚きがありました。

9時半からお昼までということで長いKeynoteだなと思っていましたが、実際話を聞いているとそれぞれのテーマに使う時間やデモのテンポもよく、どのテーマも新鮮で興味深かったので中だるみすることなく聞くことができました。

マネージド Kubernetes ガチ本番運用 in ZOZOTOWN

ZOZOテクノロジーズの鶴見氏・竹内氏による、AKS(Azure Kubernetes Service)運用勘所の紹介セッション。 既存のオンプレミス環境から、なぜマネージドなKubernetesへ移行しようと思ったのか、 その背景から、実際に本番稼働・運用してみての知見を紹介されていました。 弊社でもAKSをプロダクトの一部で利用していますが、改めて他企業の事例を聞くことによって、色々刺激になりました。 移行してよかったこととして、オンプレと比較してリリースが楽になったことなどが話されてて共感できましたし、 逆に、弊社でも見落としていたつまり所など解説されていてとても参考になりました。

弊社よりも大きい規模でKubernetesクラスタを運用していることもあり、今後私たちが直面するであろう問題を先取りして学べたとても興味深いセッションでした。

祝 東日本リージョン一般提供! Azure Application Insights 基礎と実践

MS MVP for Azureの芝村氏とMS竹田氏のAzure Application Insightsについてのセッション。 どのような機能かというところから始まり、基本的な使い方、運用における注意、実践的なことについてのお話をきけました。 Azure Functions や App Service でこの機能を有効にしておくことで、サービス単体のパフォーマンスモニタリング・エラー収集だけでなく、 内部で呼び出している別のFunctionsや、Functions/App Serviceに限らずほかのAzureのPaaSのパフォーマンスやエラー(デモでは内部で呼んでいるFunctionsのエラーのスタックトレース、また更にそこからのSQL Databaseのクエリ時間などを取得していました)の情報も1つの画面でわかるようになっていて、とても便利そうでした。

私たちのチームではApp Serviceに乗せはじめたサービスもあるので、これから是非使ってみたいと思います。

脆弱性はなぜ生まれ、どのように攻撃されるのか? 安全なアプリを開発、運用するためのきほん

MSの垣内氏による、脆弱性のトレンドをその歴史から紐解いていくセッション。 Internet Explorer脆弱性対策の歴史を事例に、 「脆弱性の悪用」→「悪用コードの実行」→「ダイレクトな実被害」と攻撃のトレンドが変化してきていることを解説されました。 これらの攻撃に、どのように対策を取るのが効果的なのか。

  • セキュリティライフサイクルを用いてセキュリティリスクを洗い出す方法
  • 脆弱性悪用指標の定義によって悪用を防ぐ方法
  • 直接的な実被害へ繋がる例として、標的型攻撃などのソーシャルハックを防ぐ方法

様々な方法を解説されていました。 また、簡単にセキュリティチェックを行えるツールをいくつか紹介しており、今後弊社でもぜひ活用していきたいと思いました!

昨今の脆弱性を歴史から紐解いて網羅的に学べる、非常に満足度の高いセッションでした。

参考: www.microsoft.com

まとめ

両日とも、主にクラウドに関するセッションに参加しましたが、最新のAzureやMicrosoftのサービス動向・活用事例に触れることができ、大変知見が深まりました。 もう少しセッション内容を深堀りして聞いてみたいと思った時、Ask The Speakerコーナーで登壇を終えた直後のスピーカーと1対1で会話がをするこができ、より詳しく話しを聞けたのがよかったです。 また、Expoエリアでは、HoloLensを活用した自動車の点検のデモや、クラウドの質問に答えていただけるコーナーなどがあり、とても充実していました。

f:id:fringeneer:20190607161514j:plain
EXPOエリアのようす

f:id:fringeneer:20190607162540j:plain
EXPOエリアのフォトブースでの写真

最新・新鮮な技術情報に2日間どっぷり浸かることができて本当に楽しかったです。 今回学んだことはどれもプロダクトへ活かせそうなので、これから積極的に取り入れていきたいと思います!