サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
techblog.finatext.com
こんにちは。Finatextでエンジニアをしている @s_tajima です。 新型コロナウイルス感染症の影響により、近年徐々に広まりつつあったリモートワークやテレワークといった働き方やその設備に対する企業の温度感が、「あったらいいね」から「無いとだめ」に急速に変わりつつあるのを感じます。 弊社も先日の緊急事態宣言を受け、 全社的に原則在宅勤務という体制 に移行しました。 そこで今回は、Finatextのリモートワーク(在宅勤務)を支えるVPNのシステムについてご紹介したいと思います。 FinatextのVPNシステムは以下のように運用しています。 月に2万円程度のコストPritunlというオープンソースのソフトウェアを使用AWS上にスケーラブルな形で構築エンジニア・非エンジニア含めて80人ほどの社員が利用今使っているVPNに何かしらの不満がある方、突然VPNの環境が必要になりどのように構
はじめに初めまして、FinatextグループのK-ZONEチームでインターンをしている松永と申します. 現在インターンではバーチャル株投資ゲームの「トレダビ」の改善を行っています. トレダビを長く運用し続けてきた弊社ですが、長年の運用から技術的負債が溜まっていました. その中の一つに、トレダビのローカルの開発環境でゲーミフィケーションサーバ(トレダビにおいてゲーム的な要素を担当するサーバ)がDocker上で動いておらず、ローカルで開発を進める際に特定の画面の確認ができないという問題がありました. この問題をどのように解決したかについて紹介します. トレダビの開発環境についてトレダビはRuby on Rails + MySQL + Java(ゲーミフィケーションサーバ)で運用されており、AWSの開発環境では以下のような構成で動作しています. しかし、トレダビのローカルの開発環境ではゲーミフィ
はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は以前の Fin-JAWS のイベントで少し紹介させていただいた、我々の現場で取り組んでいる、大規模API開発における Swagger を用いたAPI仕様のドキュメント運用方法について紹介いたします。 概要我々の現場では、API ベースのWeb Application を開発する際に、Swagger を用いて API 設計をしたり、BFFサーバー開発者やフロントエンド開発者とのコミュニケーション手段として活用しています。 ただし、Web Application の規模が大きくなってくると、Swagger の 定義ファイルは肥大化してしまい、メンテナンスが困難になってきます。 今回は、Web Application の規模が大きくなっても耐えうる Swagger 定義ファイルの運用方法を
監視・通知の仕組みの全体像また、弊社では Terraform を用いて IaC ( Infrastructure as Code ) を実現して、各AWSアカウント環境の状態をコードで一元管理していますが、 Datadog の監視項目も Provider が用意されているため、Terraform で管理をすることが可能です。現状はすべての Datadog の監視項目がコード化されているわけではないですが、こちらは随時対応を行っていきたいと思っています。 外形監視外形監視は、WebサイトやAPIエンドポイントが正常に動作していることを、定期的に特定のURLに対して問い合わせをして、期待されたステータスコードや要素を返すことを監視することを目的とします。 弊社では Datadog の Synthetic Monitoring という機能を利用して監視を行っていますが、この機能の特徴としては W
こんにちは、Finatextの @s_tajima です。 弊社のこれまでのリモートアクセスの環境は、Pritunl というOpenVPNベースのソフトウェアで構築されていました。( 詳しくは、こちらの記事で以前紹介させていただいています。https://techblog.finatext.com/vpn-pritunl-on-aws-68619eda6b36 ) 今回は、このPritunlベースの従来のVPNを Cloudflare Zero Trustに置き換え、社内システムへのリモートアクセスをよりセキュアで便利にした話です。(“社内” という表現を使っていますが、”オフィスにある” という意味ではなく、”社内メンバー向けの” という意味です。) Cloudflare Zero Trust とはCloudflareと聞くと、CDNの会社というイメージが強いと思います。しかし昨今ではC
はじめにこんにちは、Finatextでエンジニアをしている @s_tajima です。 先日、 リーグオブ情シス 第一回 スーパーリーグ #LoI というオンラインイベントが実施されていました。 詳細はconnpassのページをみていただけるとよいかなと思うのですが、簡単にいうと「僕がかんがえたさいつよの情報システム」をプレゼンテーションし合うイベントです。 そこで発表されていた、さいつよの情報システムのうち、視聴者投票で1位だった吉田さんの提案した構成が、弊社で実際に稼働させているものにすごく近しいものでした。せっかくなのでどんな点が共通していたか、どんな点が異なっていたかというのを紹介してみようかなと思います! 前提条件LoIで提示されていた前提条件は 企業規模: 100~200名業種: インターネットサービス企業 (SaaS型MAツール)一人あたり月額予算: 10,000円情シス人数
こんにちは、Finatextグループのナウキャストでデータエンジニアをしているけびん( Twitter: @Kevinrobot34, AtCoder: Kevinrobot34 )です。先日、PyCon JP 2020で、「Pythonで競プロをしよう! 〜入門者が知っておくべき高速化Tips〜」という題名で発表をさせていただきました。発表時のスライドと動画はこちらです。 この内容について、少し加筆してまとめようと思います。 はじめに最近AtCoderを中心に、競技プログラミングの人気が高まっています。 C++で参加している人が最も多いですが、Pythonで参加している人もかなり増えています。 Pythonは書きやすい一方でC++と比べてしまうと実行速度が遅く、Logicは正しくてもPythonだとTLE(Time Limited Exceeded, 時間超過)してしまうことも少なくあり
はじめにこんにちは、Finatextで証券プラットフォーム(Brokerage as a Service、以下BaaS)の開発に携わっている石橋(@bashi0501)です。過去のFinatextテックブログではTerraform、CDKとIaCをテーマにした記事しか書いたことがなかったのですが、今回はログの分析活用をテーマとします。 概要弊社の証券事業ではECSによるワークロードを組んでいます。本テーマのアプリケーションログについては標準出力したものをawslogsログドライバーが回収してCloudWatch Logsに送信しています。 ログの検索という観点ではCloudWatch Logs Insightsというサービスでかなりリッチにフィルターや集計を行うことができるのですが、ログデータを元にしたユーザーのファネル分析や業務改善(後述します)に活かしていきたいという意図があるため、マ
https://palletsprojects.com/p/flask/はじめにPythonistaの皆さんの中には、Flaskを使ってWEBアプリケーションを構築したことがある方も多いのではないでしょうか? この記事ではそんなみなさんのFlask生活をより良くするべく、Flaskの仕組みを実際にコードを読みながら解説したいと思います。 この記事で紹介すること WSGIの概要と、WSGIを用いた簡単なWEBアプリケーションの実装方法Flaskの実行コードの仕組みFlaskのルーティングの仕組み対象読者 これからFlaskを使って何かを実装しようとしている人Flaskの実装経験はあるが、コードの中身までは理解していない人Pythonの有名ライブラリのコードを読むのが好きな人Flaskの入門コードこの記事では、以下の入門コードを題材として取りあげます。 from flask import Fl
はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は我々の一部の現場で取り組んでいる、ECS Fargate 上で利用する環境変数を、 S3 bucket を使って運用しているお話を紹介いたします。 概要ECS Fargate 上で、アプリケーションコードと同期的に環境変数の更新を行いたい。 そのために、mozilla/sops というファイル暗号化ツールを利用して暗号化した環境変数ファイルをアプリケーションコードのリポジトリで管理し、CI/CD ( Codepipeline ) によるデプロイのタイミングで、環境変数ファイルを復号してS3にアップロードし、ECS task上で S3 から環境変数を参照する仕組みを紹介いたします。 解決したい課題環境変数更新とアプリケーションコードデプロイのタイミングが非同期であることECS Farg
◆はじめにどうもこんにちは。Vueが好きすぎて社内でVueを布教している@_slontです。 今回のテックブログでは、これからリリースされる待望のVue 3を万全の体制で迎えるべく、新機能の中でも個人的にアツいと思っているComposition APIについての考察をしたいと思います。 Composition APIは一体僕たちにどんな驚きをプレゼントしてくれるのか。それを確かめるために我々はアマゾンの奥地へとむk(ry さて、近々リリース予定のVue 3は、パフォーマンス改善の他、Composition API, Fragment, Portal, Suspenceなど様々な新機能があります。 参考:まもなくやってくる Vue.js 3その中でも、大規模プロジェクトに弱いと言われていたVueの銀の弾丸として(?)、ユーザが待ち望んだComposition APIが、2系のプラグイン@vu
こんにちは。Finatextでエンジニアをしている塚本です。 証券プラットフォーム「BaaS」や、それを利用して開発されたアプリケーションのフロントエンドを担当しつつ、現在はバックエンドの実装も行っています。 Finatextに入る前は大手メーカーでSEを3年ほど、その後フリーランスを1年ほどしておりました。フリーランスになってからエンジニアを目指すことを決め、独学でコーディングの勉強を始めています。 ジュニアエンジニアとしてFinatextに入社した私が、約1年半でどの程度成長したのかを振り返りたいと思います。 まず入社当時と現在でどう変わったかがこちらです。 Finatext入社当時コーディングは1人でするのは到底無理。。デベロッパーツールどうやって開くの?rebaseって何?Laravelなら少しだけ知っているVue.js, Go(弊社使用言語)書いたことない ↓1年半経った現在ヘル
こんにちは、Finatextの六つ葉と申します。現在、グループ会社のナウキャストが開発中の新サービスのAWSインフラを担当しております。 本稿では、AWS CloudWatchシリーズでアプリを監視する方法について延べます。 まず、アプリ本体の仕組みを紹介します。 アプリの仕組みこのアプリは、一般的なSPAによるフロントとWebAPIのバックエンドによる構成になります。Fargateに関してはAuto Scalingを設定しています。 アプリの監視システム監視システムは、ログ・通知・死活監視・ダッシュボードの4つの部分で構成されています。 X-Ray、CloudWatch LogsからのアクセスログCloudWatch AlarmsとSNS、ChatbotでのSlack、メール通知Synthetics Canaryからの死活監視CloudWatch Logs InsightやMetrics
Photo by steve_jon on Unsplashはじめにはじめまして。Finatext で保険サービスの開発(主にサーバーサイド)をしているすがやです。 いきなりですがみなさん時をかけてますか? 私はかけてます。 …時刻を扱う実装というのは、得てして問題を生みやすいものです。 この記事では時刻の取り回しで生じる問題と、弊社のGoでのサーバー実装におけるそれらの問題との向き合い方を説明します。 時間に起因する課題unit testしづらい問題語り尽くされた話題ではありますが、現時刻に依存した実装はunit testしづらいという問題があります。 たとえば単純な例として呼び出し時点が休日であるかを判定するコードがある場合を考えます。 // IsHoliday 休日か func IsHoliday() bool { dayOfWeek := time.Now().Weekday()
こんにちは、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アカウントを用
credly.comはじめにFinatext にソリューションアーキテクトとして新卒入社した中川(Twitter: kakitaroou)です! Finatext のソリューションアーキテクトはお客様の課題に合わせた最適なクラウド金融ソリューションを、AWS を用いることで低コストかつ迅速に提供しています。 したがって、我が社のソリューションアーキテクトには顧客の要件に基づき最適な AWS アーキテクチャを設計する能力が求められます。 本記事では私が AWS 認定ソリューションアーキテクトアソシエイト資格試験に向けてどのように勉強し、どのような結果を得たかについての軌跡をまとめようと思います! 目次・はじめに・受験の動機・試験勉強概要・試験結果概要・おすすめの勉強法・まとめ・さいごに受験の動機私は特に情報系の学部を卒業したわけではなくクラウドやサーバーサイドの知識があったわけではありません
Photo by Ash from Modern Afflatus on UnsplashはじめにFinatextでエンジニアをしている浅井です。 弊社では先日「Wealth Wing」という資産運用サービスをリリースしました。 サービスの詳細を知りたい方は、こちらのnoteも合わせて読んでいただければと思います。 Springについてとスクラムの導入については既に他のメンバーが書いているので、 今回はGitHub Actionsについて書いていきます。 概要Wealth Wingの開発チームではGitHub Actionsで ktlintでのフォーマットチェック(以下lint)単体テスト(以下test)シナリオテスト(実際のエンドユーザの動きやバッチ処理の一連の流れを一つのシナリオとして盛り込んだテスト。以下scenario test)を動かしています。 これらの処理に軽く依存関係を持た
An image of a factory from https://unsplash.com/photos/6xeDIZgoPawはじめにこんにちは, FinatextグループのNowcastでデータエンジニア/データサイエンティストをやっている隅田(@yummydum)と申します. データパイプラインを開発していると, データベースからデータを取り出し, 加工し, 結果を再度データベースに格納するという操作を(時には複雑なSQL等を通じて)行うことがよくあると思います. パイプラインの品質を高めるためにこれらの操作はしっかりテストされるべきです. テストの際にプロダクション環境のデータベースを使う訳にはいかないので, プロダクション環境に似せたテスト用のデータベースにテストデータを格納しておき, これをテストに用いれば良さそうです. しかし, テストデータはうまく管理しないと保守性や可
Photo by Jessica Ruscello on Unsplashこんにちは!FinatextホールディングスでPR/DevRelを担当しています、ミヤカワ( @ayumiya_live )です。 いよいよゴールデンウィークですね! 今年はリモートワーク(在宅勤務)のまま連休に突入し、そのまま自宅で過ごす方がほとんどなのではないでしょうか。まとまった時間を学習に充てようかな、というエンジニアもきっと多いはず。 そこで、Finatextグループ(Finatext、スマートプラス、ナウキャスト)のエンジニアに「ゴールデンウィークに読みたいおすすめ技術書」というテーマで1冊ずつ選んでもらいました。 なお、Finatextグループのエンジニア全体としては比較的サーバーサイドに強く、フロントエンドとデータ解析系でエッジの効いたエンジニアが数名いる、という感じですが、今回は特に分野を指定せずに
Photo by geralt on Pixabayこんにちは. スマートプラスで証券ビジネスプラットフォーム「BaaS(Brokerage as a Service)」を開発している, エンジニアの谷岡です. Finatextグループのエンジニアは, システム開発だけでなく何らかの付加価値を+αで持てるような取り組みを行うことが奨励されています. 取り組みの一つとして, その分野に詳しいエンジニア自身が講師を務める勉強会を週1くらいで開催しているのですが, 私が担当している圏論の回が好評だったので, その内容を数回に分けてご紹介していきたいと思います. なぜ圏論なのか圏論は元々は数学のイチ分野ですが, 物理学・AIといった研究分野のほか, ご存知のとおりプログラミングの世界においても関数型プログラミングのバックグラウンドとして利用されています. また, 過去の研究について圏論で書き直すこ
こんにちは。Finatextでエンジニアをしている@s_tajima です。 この記事は、CTOA Advent Calendar 2020の、12/9の記事です。 弊社では、日本CTO協会の出している、DX Criteria を使って自分たちの開発体制についてのアセスメントをしています。 初回は2019年12月頃に実施し、最近あらためて今の状況を確認してみました。 結果として、初回に比べて大きな改善傾向がみられたので、今回はその詳細について紹介します。 尚、今回紹介するアセスメント結果は私が全社の状況を俯瞰することを心がけて実施したものですが、これとは別にチーム単位でのアセスメントをしていたりもします。 アセスメント結果の比較画像2回分のアセスメントの結果を並べた画像をお見せします。 左が2019年12月、右が2020年10月の時点のアセスメント結果です。 結果として、青(=ポジティブな
Lapper is a wrapper programs for Container running on Lambda. (Beta) - Finatext/lapper AWS Lambdaのエラー通知どうするか問題Finatextでは、サーバレスなタスク実行の基盤として、AWS Lambdaを活用しています。 具体的なユースケースとしては、 CloudWatch EventsのSchedule expressionsをトリガーにした、定時処理SQSやS3のEvent NotificationやCloudWatch Eventsの特定のイベントをトリガーに起動する、非定時処理API Gateway等を介したHTTPSリクエストをトリガーにした、Webサーバとしての処理あたりがあります。 Lambdaを使うことによる恩恵はあらためて言及するまでもないと思いますが、非常に便利に使っています
はじめにこんにちは、Finatext で保険事業にてプロダクト開発をしている @toshipon です。今回は我々のプロダクトでも活用している AWS Amplify コンソールにおける Custom headers の運用についてお話いたします。 概要Amplify 上で Custom headers を設定する手順についてご紹介いたします。Custom headers は、HTTP レスポンスのヘッダーに指定できる情報を管理するもので、主にデバッグやセキュリティ対策、情報提供に利用されます。 今回は、キャッシュを適切に有効にさせてパフォーマンスを向上させたり、XSSやクリックジャッキング等のWebアプリケーション脆弱性に対処することを目的として利用したいと思います。 また、Content-Security-Policy-Report-Only というセキュリティヘッダー(説明については
Photo by Ash from Modern Afflatus on Unsplashはじめにこんにちは。Finatextでエンジニアをしている山﨑です。 弊社では、先日「Wealth Wing」という資産運用サービスをリリースしました。そのシステムのバックエンドは、Spring + Kotlinを用いてアプリケーションを構築しており、インフラストラクチャ層ではSpring Data JPAを用いています。 本稿では、以下のような、Spring Data JPAを組み込んだ場合に発生する課題に対する解決策を、弊社の実例を通して示します。 データベースマイグレーションはどうすべきかIn-Memory DB(H2DB)ではなく、MySQL等を使ってJUnitでテストしたいデータベースアクセスを「書き込み専用」「読み取り専用」で呼び分けをしたい最後に、本稿に関するサンプルも添付していますので
はじめにこんにちは、Finatextでエンジニアをしている @s_tajima です。 Finatextでは、現在約40個のAWSアカウントを管理しています。 それぞれのAWSアカウントは、あるサービス専用になっていたり、いくつかのサービスが同居していたり、本番環境用だったり、開発環境用だったりと用途は様々です。 この中には、 証券ビジネスプラットフォームのBaaS を提供しているAWSアカウントも含まれます。 このBaaSに限らずとも、金融ドメインで広くサービスを提供しているFinatextでは、その基盤となっているAWSのセキュリティの管理が非常に重要になってきます。 今回は、弊社がAWSのセキュリティを担保するためにどんな運用をしているかというお話です。 既に複数のAWSアカウントを管理している方、特に管理はしているもののいまいち適切な状態になっていないと感じている方に読んでいただけ
Photo by Ilya Pavlovこんにちは。Finatextでエンジニアのマネジメントをしている河本です。 先日は当社の技術スタックについて紹介しましたが、今回は「FinTech スタートアップでのスキルテストってどんなの?」という話をしたいと思います。 この記事で伝えたいことお伝えしたいのは以下の2点です。 Finatextはエンジニア採用でスキルテストをしています。でも、中身はFinTech 特有のテストというわけではないです。以下、スキルテストの目的から説明していきます。 なぜやるのか我々がスキルテストを実施する目的は、以下の3つです。 1. 技術力・解決能力をみる候補者の方にご提出いただいたレジュメは多くのメンバーの目を通り、それなりに時間もかけて審査していますが、それでも読み取れる情報はかなり限定的です。「大規模プロジェクトに携わった」と記載があっても関与度によって評価は
はじめにこんにちは、Finatextでエンジニアをしている石橋(@bashi0501)です。 Finatextではコードに近いところでの小さいサイズのtestや静的解析にCircleCI, GitHub Actionsを利用し、クラウド環境へのリリースパイプラインにはより大きいサイズのテストを実環境と同じネットワークで実行したい、デプロイに使うクレデンシャルをむやみに他のサービスに置きたくないという理由からAWS CodeBuild, AWS CodePipelineを使用しています。 これまではCodePipelineによるリリースパイプラインをマネジメントコンソールから丹精込めてお手製で作っていました。が、以前の田島の記事でもあったように50個近くのAWSアカウントがある中でこれまでの方針で継続・展開していくのは厳しくなってきました。 そこでパイプラインは一つのAWSアカウントに集約し
Photo by Joel Holland on Unsplashこんにちは。今年の4月からFinatextにJoinした岩田です。 入社して半月、早速ですがTechBlogを書きます! 今回はSpringで既存のサーバアプリにモックレスポンス機能を搭載する方法についてご紹介します。 なお、ここでのモック機能は単体テストの文脈でよく使われる意味のモックではなく、「実動作環境で、あるリクエストに対して期待するレスポンスを返すようにする機能」 の事を指します。 概要モック機能が必要になるケースは下記のようなケースがあるかと思います。 フロントエンド開発チームがバックエンド開発チームのAPI開発を待たずにアプリの開発、動作確認したい。複雑な状態下(ユーザの状態や時限など)でのレスポンスをEnd to Endテストなどで常に再現したい。これらの課題・要望をSpringを使用しているアプリケーション
はじめにこんにちは、Finatextでエンジニアをしている大木です。主に証券プラットフォーム「BaaS」や、それを利用して開発されたアプリケーションのバックエンドを担当しています。 先日、弊社では新たに証券アプリ「Wealth Wing」をリリースしました!Wealth Wingは入金するだけで運用が始まる、全く新しいタイプのお任せ投資サービスです。(ANAグループと連携した新しい資産運用サービス「Wealth Wing(ウェルス ウィング)」とは) Finatextではどのような開発手法を用いるかの判断は、基本的にそれぞれのプロジェクトのチームに委ねられています。Wealth Wingの開発プロジェクトでは、以下のようなチーム編成のもと、開発手法としてスクラム開発を取り入れました。(自分はこのバックエンド開発の中の1名として参加していました) 日本プロダクトオーナー 1名スクラムマスター
次のページ
このページを最初にブックマークしてみませんか?
『The Finatext Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く