【3月度】 社内勉強会を開催しました。
こんにちは。ジオロジックでインターンをしているmatzです。
ジオロジックでは、毎月月末に「ジオロジックカンファレンス」という勉強会を行っています。
3月分のエンジニア勉強会、ジオロジックカンファレンスの様子を紹介します。
「RDRA 1.0」@guuu
guuuさんが RDRA について発表してくださいました。
プロダクト開発を行う上で要件定義は重要なフェーズです。
きちんと要件定義ができていないと、手戻りが発生して開発が迷走してしまうこともあります。そんな要件定義をうまく行う方法の一つがRDRAです。
RDRAを利用することで、システム価値からシステム外部環境・システム境界・システム・ドメインモデルまで、マイルストンをおきながら設計をすすめることができます。
また、ステークホルダーと共通認識を構築しながら要件を定義することが出来るそうです。そして、一連の流れで設定した要件を、システムから外部環境まで整合性をとることで、システムとして価値を提供できているのかをチェックしながら進めることができます。
これが、RDRAという要件定義手法を用いる最大のメリットだそうです。
図を使ってわかりやすくRDRAについて紹介されているので、是非チェックしてみてください。
「Depth First Search (優先探索)」@matz
私、matzはDepth First Search (深さ優先探索) について発表しました。
深さ優先探索とはツリー構造のデータ型やグラフの全てのノードを順番に訪れるためのアルゴリズムです。「深さ優先」と呼ばれる理由は最初のノードから、目的のノードまでノードの子を通して深く伸びていくからです。
深さ優先探索をコードにして表すと、
def dfs(node, Graph) {
visit(node)
marked[node] = true
for (child of node.neighbours(Graph)) {
if not marked[node]:
dfs(child, Graph)
}
}
markedが必要な理由は訪問済みのノードには印を付けるためです。
固定ツールバーの実装方法についても紹介しているので是非チェックしてみてください。
「EC2/Fargate」@anzai
anzaiさんがEC2 / Fargate でのロギング構成についてSidecar patternを用いた FireLens と fluent bit による構成について紹介してくださいました。
現状の構成では、EC2上のアプリケーションのログを収集するために、EC2起動テンプレートでfluentdインストールと起動を行っていますが、(Fargate移行も見据えて)起動テンプレートに依存しない形の構成について説明してくださいました。
また、FireLens と fluentbitを使うことで、標準出力経由でのログ収集ができること、ログをファイル出力する場合と標準出力する場合の比較、fluentbitの設定方法などについても紹介してくれました。
guuさん、anzaiさん、ありがとうございました!