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

  • Cloudflare Zero Trustで社内システムへのリモートアクセスをよりセキュアで便利にした話

    こんにちは、Finatextの @s_tajima です。 弊社のこれまでのリモートアクセスの環境は、Pritunl というOpenVPNベースのソフトウェアで構築されていました。( 詳しくは、こちらの記事で以前紹介させていただいています。https://techblog.finatext.com/vpn-pritunl-on-aws-68619eda6b36 ) 今回は、このPritunlベースの従来のVPNCloudflare Zero Trustに置き換え、社内システムへのリモートアクセスをよりセキュアで便利にした話です。(“社内” という表現を使っていますが、”オフィスにある” という意味ではなく、”社内メンバー向けの” という意味です。) Cloudflare Zero Trust とはCloudflareと聞くと、CDNの会社というイメージが強いと思います。しかし昨今ではC

    Cloudflare Zero Trustで社内システムへのリモートアクセスをよりセキュアで便利にした話
  • ベンチャー新卒2ヶ月のエンジニアが AWS 認定ソリューションアーキテクトアソシエイト資格試験を受けてみた!

    credly.comはじめにFinatext にソリューションアーキテクトとして新卒入社した中川(Twitter: kakitaroou)です! Finatext のソリューションアーキテクトはお客様の課題に合わせた最適なクラウド金融ソリューションを、AWS を用いることで低コストかつ迅速に提供しています。 したがって、我が社のソリューションアーキテクトには顧客の要件に基づき最適な AWS アーキテクチャを設計する能力が求められます。 記事では私が AWS 認定ソリューションアーキテクトアソシエイト資格試験に向けてどのように勉強し、どのような結果を得たかについての軌跡をまとめようと思います! 目次・はじめに・受験の動機・試験勉強概要・試験結果概要・おすすめの勉強法・まとめ・さいごに受験の動機私は特に情報系の学部を卒業したわけではなくクラウドやサーバーサイドの知識があったわけではありません

    ベンチャー新卒2ヶ月のエンジニアが AWS 認定ソリューションアーキテクトアソシエイト資格試験を受けてみた!
  • Goにおけるテスタブルな時刻の取り回し

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

    Goにおけるテスタブルな時刻の取り回し
  • AWS CloudWatchシリーズでアプリを監視する

    こんにちは、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

    AWS CloudWatchシリーズでアプリを監視する
  • Factory patternでデータベースのテストを効率化する

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

    Factory patternでデータベースのテストを効率化する
  • Pythonで競プロをしよう!〜入門者が知っておくべきTips〜

    こんにちは、Finatextグループのナウキャストでデータエンジニアをしているけびん( Twitter: @Kevinrobot34, AtCoder: Kevinrobot34 )です。先日、PyCon JP 2020で、「Python競プロをしよう! 〜入門者が知っておくべき高速化Tips〜」という題名で発表をさせていただきました。発表時のスライドと動画はこちらです。 この内容について、少し加筆してまとめようと思います。 はじめに最近AtCoderを中心に、競技プログラミングの人気が高まっています。 C++で参加している人が最も多いですが、Pythonで参加している人もかなり増えています。 Pythonは書きやすい一方でC++と比べてしまうと実行速度が遅く、Logicは正しくてもPythonだとTLE(Time Limited Exceeded, 時間超過)してしまうことも少なくあり

    Pythonで競プロをしよう!〜入門者が知っておくべきTips〜
  • 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位で通過しました
  • LoIのさいつよの情報システムを実践していますという話

    はじめにこんにちは、Finatextでエンジニアをしている @s_tajima です。 先日、 リーグオブ情シス 第一回 スーパーリーグ #LoI というオンラインイベントが実施されていました。 詳細はconnpassのページをみていただけるとよいかなと思うのですが、簡単にいうと「僕がかんがえたさいつよの情報システム」をプレゼンテーションし合うイベントです。 そこで発表されていた、さいつよの情報システムのうち、視聴者投票で1位だった吉田さんの提案した構成が、弊社で実際に稼働させているものにすごく近しいものでした。せっかくなのでどんな点が共通していたか、どんな点が異なっていたかというのを紹介してみようかなと思います! 前提条件LoIで提示されていた前提条件は 企業規模: 100~200名業種: インターネットサービス企業 (SaaS型MAツール)一人あたり月額予算: 10,000円情シス人数

    LoIのさいつよの情報システムを実践していますという話
  • 次世代デジタル保険を支える監視・通知の技術

    監視・通知の仕組みの全体像また、弊社では Terraform を用いて IaC ( Infrastructure as Code ) を実現して、各AWSアカウント環境の状態をコードで一元管理していますが、 Datadog の監視項目も Provider が用意されているため、Terraform で管理をすることが可能です。現状はすべての Datadog の監視項目がコード化されているわけではないですが、こちらは随時対応を行っていきたいと思っています。 外形監視外形監視は、WebサイトやAPIエンドポイントが正常に動作していることを、定期的に特定のURLに対して問い合わせをして、期待されたステータスコードや要素を返すことを監視することを目的とします。 弊社では Datadog の Synthetic Monitoring という機能を利用して監視を行っていますが、この機能の特徴としては W

    次世代デジタル保険を支える監視・通知の技術
  • とあるFintechスタートアップのスキルテスト対策

    Photo by Ilya Pavlovこんにちは。Finatextでエンジニアのマネジメントをしている河です。 先日は当社の技術スタックについて紹介しましたが、今回は「FinTech スタートアップでのスキルテストってどんなの?」という話をしたいと思います。 この記事で伝えたいことお伝えしたいのは以下の2点です。 Finatextはエンジニア採用でスキルテストをしています。でも、中身はFinTech 特有のテストというわけではないです。以下、スキルテストの目的から説明していきます。 なぜやるのか我々がスキルテストを実施する目的は、以下の3つです。 1. 技術力・解決能力をみる候補者の方にご提出いただいたレジュメは多くのメンバーの目を通り、それなりに時間もかけて審査していますが、それでも読み取れる情報はかなり限定的です。「大規模プロジェクトに携わった」と記載があっても関与度によって評価は

    とあるFintechスタートアップのスキルテスト対策
  • Re: ゼロから理解するFlask生活

    https://palletsprojects.com/p/flask/はじめにPythonistaの皆さんの中には、Flaskを使ってWEBアプリケーションを構築したことがある方も多いのではないでしょうか? この記事ではそんなみなさんのFlask生活をより良くするべく、Flaskの仕組みを実際にコードを読みながら解説したいと思います。 この記事で紹介すること WSGIの概要と、WSGIを用いた簡単なWEBアプリケーションの実装方法Flaskの実行コードの仕組みFlaskのルーティングの仕組み対象読者 これからFlaskを使って何かを実装しようとしている人Flaskの実装経験はあるが、コードの中身までは理解していない人Pythonの有名ライブラリのコードを読むのが好きな人Flaskの入門コードこの記事では、以下の入門コードを題材として取りあげます。 from flask import Fl

    Re: ゼロから理解するFlask生活
  • 【社内勉強会】圏論的集合論 ~第一回 集合論について~

    Photo by geralt on Pixabayこんにちは. スマートプラスで証券ビジネスプラットフォーム「BaaS(Brokerage as a Service)」を開発している, エンジニアの谷岡です. Finatextグループのエンジニアは, システム開発だけでなく何らかの付加価値を+αで持てるような取り組みを行うことが奨励されています. 取り組みの一つとして, その分野に詳しいエンジニア自身が講師を務める勉強会を週1くらいで開催しているのですが, 私が担当している圏論の回が好評だったので, その内容を数回に分けてご紹介していきたいと思います. なぜ圏論なのか圏論は元々は数学のイチ分野ですが, 物理学・AIといった研究分野のほか, ご存知のとおりプログラミングの世界においても関数型プログラミングのバックグラウンドとして利用されています. また, 過去の研究について圏論で書き直すこ

    【社内勉強会】圏論的集合論 ~第一回 集合論について~
  • CI/CDパイプラインを構築するにあたってaws-cdkにcontributeした話

    はじめにこんにちは、Finatextでエンジニアをしている石橋(@bashi0501)です。 Finatextではコードに近いところでの小さいサイズのtestや静的解析にCircleCI, GitHub Actionsを利用し、クラウド環境へのリリースパイプラインにはより大きいサイズのテストを実環境と同じネットワークで実行したい、デプロイに使うクレデンシャルをむやみに他のサービスに置きたくないという理由からAWS CodeBuild, AWS CodePipelineを使用しています。 これまではCodePipelineによるリリースパイプラインをマネジメントコンソールから丹精込めてお手製で作っていました。が、以前の田島の記事でもあったように50個近くのAWSアカウントがある中でこれまでの方針で継続・展開していくのは厳しくなってきました。 そこでパイプラインは一つのAWSアカウントに集約し

    CI/CDパイプラインを構築するにあたってaws-cdkにcontributeした話
  • Finatextのエンジニアがおすすめするゴールデンウィークに読みたい技術書20冊

    Photo by Jessica Ruscello on Unsplashこんにちは!FinatextホールディングスでPR/DevRelを担当しています、ミヤカワ( @ayumiya_live )です。 いよいよゴールデンウィークですね! 今年はリモートワーク(在宅勤務)のまま連休に突入し、そのまま自宅で過ごす方がほとんどなのではないでしょうか。まとまった時間を学習に充てようかな、というエンジニアもきっと多いはず。 そこで、Finatextグループ(Finatext、スマートプラス、ナウキャスト)のエンジニアに「ゴールデンウィークに読みたいおすすめ技術書」というテーマで1冊ずつ選んでもらいました。 なお、Finatextグループのエンジニア全体としては比較的サーバーサイドに強く、フロントエンドとデータ解析系でエッジの効いたエンジニアが数名いる、という感じですが、今回は特に分野を指定せずに

    Finatextのエンジニアがおすすめするゴールデンウィークに読みたい技術書20冊
  • 【Vue3に備える】実務で使うComposition APIについて考える

    ◆はじめにどうもこんにちは。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

    【Vue3に備える】実務で使うComposition APIについて考える
  • リモートワーク社員80人分のVPN環境を低コストかつスケーラブルに提供する方法

    こんにちは。Finatextでエンジニアをしている @s_tajima です。 新型コロナウイルス感染症の影響により、近年徐々に広まりつつあったリモートワークやテレワークといった働き方やその設備に対する企業の温度感が、「あったらいいね」から「無いとだめ」に急速に変わりつつあるのを感じます。 弊社も先日の緊急事態宣言を受け、 全社的に原則在宅勤務という体制 に移行しました。 そこで今回は、Finatextのリモートワーク(在宅勤務)を支えるVPNのシステムについてご紹介したいと思います。 FinatextのVPNシステムは以下のように運用しています。 月に2万円程度のコストPritunlというオープンソースのソフトウェアを使用AWS上にスケーラブルな形で構築エンジニア・非エンジニア含めて80人ほどの社員が利用今使っているVPNに何かしらの不満がある方、突然VPNの環境が必要になりどのように構

    リモートワーク社員80人分のVPN環境を低コストかつスケーラブルに提供する方法
  • ジュニアエンジニアとして入社してからの1年半を振り返る

    こんにちは。Finatextでエンジニアをしている塚です。 証券プラットフォーム「BaaS」や、それを利用して開発されたアプリケーションのフロントエンドを担当しつつ、現在はバックエンドの実装も行っています。 Finatextに入る前は大手メーカーでSEを3年ほど、その後フリーランスを1年ほどしておりました。フリーランスになってからエンジニアを目指すことを決め、独学でコーディングの勉強を始めています。 ジュニアエンジニアとしてFinatextに入社した私が、約1年半でどの程度成長したのかを振り返りたいと思います。 まず入社当時と現在でどう変わったかがこちらです。 Finatext入社当時コーディングは1人でするのは到底無理。。デベロッパーツールどうやって開くの?rebaseって何?Laravelなら少しだけ知っているVue.js, Go(弊社使用言語)書いたことない ↓1年半経った現在ヘル

    ジュニアエンジニアとして入社してからの1年半を振り返る
  • 金融を“サービス”として再発明するための技術スタック

    こんにちは。Finatextでエンジニアのマネジメントをしている河です。 当社は「金融を“サービス”として再発明する」をミッションとして掲げ、ビジネスの成長とともに技術領域も拡大させてきました。 エンジニアチームは今、私たちが「BaaS (Brokerage as a Service)」と呼んでいる証券サービスのためのシステム基盤と、そのBaaS上のサービス開発に力を注いでいます。 今回は、そんな当社の技術スタックについて紹介したいと思います。 開発環境・CI/CDGitHubSwaggerSonarCloudPostmanTerraformAWS CodeBuildAWS CodePipelineコードはGitHubで管理され、API 仕様管理には Swagger が使われています。SonarCloud を用いてソースコードの健全性やテストカバレッジの可視化を行っています。API開発の

    金融を“サービス”として再発明するための技術スタック
  • レガシーシステムをDocker環境へ移行させた話

    はじめに初めまして、FinatextグループのK-ZONEチームでインターンをしている松永と申します. 現在インターンではバーチャル株投資ゲームの「トレダビ」の改善を行っています. トレダビを長く運用し続けてきた弊社ですが、長年の運用から技術的負債が溜まっていました. その中の一つに、トレダビのローカルの開発環境でゲーミフィケーションサーバ(トレダビにおいてゲーム的な要素を担当するサーバ)がDocker上で動いておらず、ローカルで開発を進める際に特定の画面の確認ができないという問題がありました. この問題をどのように解決したかについて紹介します. トレダビの開発環境についてトレダビはRuby on Rails + MySQL + Java(ゲーミフィケーションサーバ)で運用されており、AWSの開発環境では以下のような構成で動作しています. しかし、トレダビのローカルの開発環境ではゲーミフィ

    レガシーシステムをDocker環境へ移行させた話
  • 1