タグ

ブックマーク / techblog.finatext.com (5)

  • Athena+Embulk+BigQueryによるアプリケーションログの分析環境構築

    はじめにこんにちは、Finatextで証券プラットフォーム(Brokerage as a Service、以下BaaS)の開発に携わっている石橋(@bashi0501)です。過去のFinatextテックブログではTerraform、CDKとIaCをテーマにした記事しか書いたことがなかったのですが、今回はログの分析活用をテーマとします。 概要弊社の証券事業ではECSによるワークロードを組んでいます。テーマのアプリケーションログについては標準出力したものをawslogsログドライバーが回収してCloudWatch Logsに送信しています。 ログの検索という観点ではCloudWatch Logs Insightsというサービスでかなりリッチにフィルターや集計を行うことができるのですが、ログデータを元にしたユーザーのファネル分析や業務改善(後述します)に活かしていきたいという意図があるため、マ

    Athena+Embulk+BigQueryによるアプリケーションログの分析環境構築
  • Goにおけるテスタブルな時刻の取り回し

    Photo by steve_jon on Unsplashはじめにはじめまして。Finatext で保険サービスの開発(主にサーバーサイド)をしているすがやです。 いきなりですがみなさん時をかけてますか? 私はかけてます。 …時刻を扱う実装というのは、得てして問題を生みやすいものです。 この記事では時刻の取り回しで生じる問題と、弊社のGoでのサーバー実装におけるそれらの問題との向き合い方を説明します。 時間に起因する課題unit testしづらい問題語り尽くされた話題ではありますが、現時刻に依存した実装はunit testしづらいという問題があります。 たとえば単純な例として呼び出し時点が休日であるかを判定するコードがある場合を考えます。 // IsHoliday 休日か func IsHoliday() bool { dayOfWeek := time.Now().Weekday()

    Goにおけるテスタブルな時刻の取り回し
    L3msh0
    L3msh0 2021/02/25
  • ECS Fargate で S3 bucket を用いた環境変数の運用方法

    はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は我々の一部の現場で取り組んでいる、ECS Fargate 上で利用する環境変数を、 S3 bucket を使って運用しているお話を紹介いたします。 概要ECS Fargate 上で、アプリケーションコードと同期的に環境変数の更新を行いたい。 そのために、mozilla/sops というファイル暗号化ツールを利用して暗号化した環境変数ファイルをアプリケーションコードのリポジトリで管理し、CI/CD ( Codepipeline ) によるデプロイのタイミングで、環境変数ファイルを復号してS3にアップロードし、ECS task上で S3 から環境変数を参照する仕組みを紹介いたします。 解決したい課題環境変数更新とアプリケーションコードデプロイのタイミングが非同期であることECS Farg

    ECS Fargate で S3 bucket を用いた環境変数の運用方法
  • Factory patternでデータベースのテストを効率化する

    An image of a factory from https://unsplash.com/photos/6xeDIZgoPawはじめにこんにちは, FinatextグループのNowcastでデータエンジニア/データサイエンティストをやっている隅田(@yummydum)と申します. データパイプラインを開発していると, データベースからデータを取り出し, 加工し, 結果を再度データベースに格納するという操作を(時には複雑なSQL等を通じて)行うことがよくあると思います. パイプラインの品質を高めるためにこれらの操作はしっかりテストされるべきです. テストの際にプロダクション環境のデータベースを使う訳にはいかないので, プロダクション環境に似せたテスト用のデータベースにテストデータを格納しておき, これをテストに用いれば良さそうです. しかし, テストデータはうまく管理しないと保守性や可

    Factory patternでデータベースのテストを効率化する
  • ISUCON10の予選を4位で通過しました

    こんにちは、Finatextでエンジニアをしている @s_tajima です。 先日行われたISUCON10の予選に、Finatextのエンジニア陣 @s_tajima / 石橋 @atsushi-ishibashi / @yami20 で参加しました。 チーム名は 一口坂46 です。オフィスの前の坂の名前です。 結果として、予選を4位で通過することができました! 私達のチームがどんな戦略でどんなことをやっていたかのブログです。 尚、このブログはチームメンバー3人での共著です。 リポジトリhttps://github.com/s-tajima/isucon10q-hz46-app 事前準備他にもやっていた準備はあるのですが、特に役立ったものを3つほど紹介します。 作業用AWS環境の準備事前練習用のEC2、当日のログアップロード用のS3バケット(後述) 等を作成するためのAWSアカウントを用

    ISUCON10の予選を4位で通過しました
  • 1