Septeni Engineer's Blog

セプテーニ・オリジナルのエンジニアが綴る技術ブログ

もくもく会@セプテーニオリジナルが10回目を迎えました

こんにちは。セプテーニ・オリジナルの池田です。

2016年よりセプテーニのカフェスペースで開催してきましたもくもく会ですが、
先日ようやく10回目を迎えました。

▲10回目の様子

タイミングが良いのでこれまでの内容や、実際の様子を紹介しようかと思います。

続きを読む

新宿Geek Lounge#4 分析基盤Meetup ver2 を開催しました

はじめまして、昨年 11 月に入社しました田邊(@emaggame)と申します。今回は先日 2018/04/02(月)に弊社にて実施いたしました 新宿Geek Lounge#4 分析基盤Meetup ver2 の開催模様をお伝えします。

オープニング

弊社 CTO 河内より、本 Meetup 開催の趣旨説明と乾杯です。年度初めというお忙い中、多くの方にご参加いただきありがとうございます!

f:id:spinningplates:20180402193318j:plain:w300

続きを読む

ScalaMatsuri2018で登壇してきました!

セプオリの下村です(@s10myk4)
3/16 ~ 3/18の初の3日間開催された ScalaMatsuri2018に参加してきました!

弊社では、カンファレンス、アンカンファレンスでの登壇やオーガナイズ含め 5人のメンバーが登壇しました。

Twitterから画像やコメントのリンクを拝借しております。
もし問題がある場合は対応いたしますので、お手数ですが@s10myk4までご連絡いただけますと幸いです。

カンファレンス

  • Purely Functional Play Framework Application(@AoiroAoino)

www.slideshare.net

アンカンファレンス

続きを読む

継続モナドを使ってwebアプリケーションのユースケース(ICONIX)を表現/実装する

前書き

セプオリのしもむらです(@s10myk4)

弊社では、DDDによるソフトウェアの設計手法を積極的に採用していますが、
私は、DDDを具体的な開発プロセスの中で実践する際にユースケース駆動での予備設計を行うことで
要件定義フェーズからドメインについての理解を深め、
顧客が求める要望の理由についてより深い解釈ができるようになりました。

ユースケース駆動による予備設計によって、概念的にどのような方法で顧客の要求(機能要求)が実現されるかをユースケースとして言語し、 それをドキュメントとして管理・更新していましたが、AtlassianのConfluenceでの運用はコードとの同期が大変でした。

ユースケースの概念モデルをそのまま実装に落とし込むことで、

  • 異常系の考慮漏れを減らせるのでは?

  • 正常系と異常系が1つのユースケース上で表現される凝集度の高い部品が作れるのでは?

  • メンバーが仕様を理解しやすいドキュメント性の高いコードが書けるのでは?

  • コントローラーでのよく登場する手続きを汎用的なユースケースとして表現できるのでは?

  • コントローラーで実装されるロジックを極力減らしたい

みたいなことを実現できそう、したいと考えていました。

そこで、@pab_tec さんの「継続モナドを使ってWebアプリケーションのコントローラーを自由自在に組み立てる」を何度も読んだり、青山さん(@AoiroAoino)(同僚)に教えてもらい、
どうやらWebアプリケーションの処理構造を表現する上で
継続モナドというものがとても良さそうだということを知りました。

私がいるチームのプロダクトでは、全面的に取り入れていて上記で書いた実現できそう、したいと思っていたことが大方できていると考えています。
ユースケースに正常系と異常系が網羅的に表現され、コントローラーは機能要求をどのユースケースを組み合わせることで実現するかという関心に終始させることができました。

続きを読む

AWS System Manager Parameter Store と typesafe config をいい感じに組み合わせたい

こんにちは。AWS好きの河内です。今年も早いものでもう3月ですね。

サービスで利用するアクセスキーやパスワードなどの機密情報管理、どうやるのがスマートなのか思いを巡らせています。 PaaS 環境なら機密情報を管理するための仕組みが用意されていることが多そうですが、今回は EC2 の上で直接動いているサービスが対象です。AWS では System Manager Parameter Store が提供されています。

AWS Systems Manager パラメータストア は、設定データ管理と機密管理のための安全な階層型ストレージを提供します。

私の身の回りでは Scala 、特に Play で作られているアプリケーションが多いので parameter store と typesafe config と組み合わせる方法を模索しました。

続きを読む