サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
iPad Air
techblog.finatext.com
シカゴの象徴「Cloud Gate」、通称「豆」 / 筆者撮影こんばんは。 Finatext のクレジット事業でエンジニアをしています、東郷です。 先日、シカゴの GopherCon 2024 に参加してきたのですが、「Advanced Generics Patterns」を発表した Axel Wagner さんに飲み会で「なんで generics で interface Union を使えないの?」と相談したところ興味深い回答をいただけたので、ここに紹介させていただきます。 大切なお話: なにぶん飲み会の立ち話であり、もしかすると筆者が盛大に勘違いしている可能性もあります。 Axel さんの公式なご見解ではなく、あくまで筆者の認識となりますことをご承知おきください。 Axel による GopherCon 2024 の Axel の登壇 / 筆者撮影GenericsGo 1.18 で ge
UnsplashのKristina Tripkovicが撮影した写真おはこんばんちは。 Finatextグループのクレジット事業でソフトウェアエンジニアをしている Hanake です。 ところで、皆様はローカルでのメール送信をどのようにテストされていますか? SMTP サーバを立ててテストしていますか?もしくは開発環境用にマネージドなメール送信サービスを利用していますか? いずれにせよ、本番との環境の差異やコスト面での課題があるかと思います。 今回は、LocalStack と aws-ses-v2-local を使って可能な限り本番に近い環境で非同期のメール送信をローカルで再現する方法をご紹介します。 LocalStack とはLocalStack は、Amazon Web Services(以下 AWS) のクラウドサービスをローカルでエミュレートするためのツールです。 AWS の主要サ
こんにちは、ナウキャストのデータ&AIソリューションチームの藤井です。今回は、先日開催した、業務改善を目的とした社内AIアイデアソンのレポートを書いていこうと思います! 開催までの経緯Finatextグループは、生成AIに関連したソリューションを提供するデータ&AIソリューション事業を立ち上げ、生成AIを次の競争力の源泉にしようとしています。社内でも生成AI活用が進んでいて、社内専用のGPTチャットやSlackと連携した議事録要約システム等がリリースされています。また、全エンジニアがGitHub Copilotを使えるようになっております。 僕も含めたエンジニアは業務において生成AIをフル活用しており、GPTにSQL文を書かせたり、コーディングの際にもGitHub Copilotを活用してます。 しかし、エンジニアが生成AIを活用している一方で、ビジネスサイドでも生成AIをもっと活用する余
Photo by Aron Visuals on Unsplashこんにちは、Finatextの @s_tajima です。 今回は、社内向けに書いた、「システムのエントロピーをコントロールすることの大切さ」という記事を、社外向けにも公開します。「Finatextは、こんな考えのもとにシステムのアーキテクチャを決めているのか」という参考にしていただけると嬉しいです! この記事における「システムのエントロピー」とは、「システムの無秩序さ・乱雑さ」を表現しています。組織全体で技術スタックが統一されていれば「エントロピーは低い」、バラバラな技術が採用されていれば「エントロピーは高い」と言えます。 システムのエントロピーが低ければ低いほど、環境の把握は簡単で、改修のハードルが低く、自動化等もしやすいです。つまりアジリティが上げやすいのです。 逆に、エントロピーが高くなると、システムの理解に時間がか
はじめに株式会社ナウキャストでデータエンジニアをしている沼尻です。 この記事では、私が担当している「マッピング」という業務についてご紹介したいと思います。マッピングと言われてもピンと来ないと思いますが、あまり語られることのない(それがゆえに何と呼称したらよいかさえ定かではない)データエンジニアリングの重要な一領域だと思っていて、他社さんにも類似する業務が存在するのではないかと思っています。この記事をきっかけにして、他社さんと情報交換や技術交流などができたら嬉しいですし、ひいては、将来的なマッピング(ないしその類似業務)に関する知識の体系化につながれば幸いです。 マネージャーやエンジニアの募集もしていますので、ご興味を持っていただけたら、この記事の最後に掲載している求人をご確認いただければと思います。 マッピングとは何かナウキャストでは、パートナーから様々なオルタナティブデータ(POSデータ
こんにちは、Finatextの @taiki45 です。この記事はFinatextグループ10周年記念アドベントカレンダーの14日目の記事です。昨日は河端さんが「保険業界の Vertical SaaS『Inspire』のビジネスモデル」という記事を公開しています。 インターネットサービス業界でDesign Docsと呼ばれているプラクティスがあります。これは、それなりに規模のあるなにかを作ったりタスクを行う前に、解決する問題や考慮事項や取りうる選択肢やそのトレードオフなどを文書としてまとめたもの(design doc)を書くというプラクティスです。 Design Docsプラクティスは、複数のチームやある程度の多さのステークホルダーをalignするという側面もあって大企業でよく使われていると思うのですが、中規模(300人程度)の企業でもDesign Docsプラクティスを行うことで、より精
Photo by Rubaitul Azad on Unsplashはじめにこんにちは、2021年4月にFinatextに新卒で入社し、まもなく3年目になるToshiya Matsuzakiです。サーバーサイドエンジニアとして、AWSでのインフラ構築とGoによるシステム開発を行っています。 先日、MySQL5.7系互換であるAmazon Aurora v2を使用していたリリース前のプロダクトのデータベースを、MySQL8.0系互換であるAmazon Aurora v3にアップグレードした際に、予期せぬバグが発生しました。調べたところ、MySQL5.7から8.0へのアップグレードに含まれていた破壊的変更点によるものでした。 そこで、今回のバグから得た学びと対応方法について書きたいと思います。現在稼働しているシステムに対して、MySQL5.7系から8.0系にアップグレードをすることを検討してい
こんにちは、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
(写真は私が趣味で撮っているもので、記事の内容とは無関係です。)0. はじめにこんにちは、Finatext で保険事業にてプロダクト開発をしている @toshipon です。 Finatextでは、証券や保険といったいくつかの金融領域で SaaS を提供しています。保険事業では、保険商品の販売や保険業務をオンライン上で円滑に行うためのSaaSである「Inspire(インスパイア)」を開発・提供しています。 今回の記事のテーマは、保険 SaaS 開発における API テストです。 既存の SaaS を利用しているGateway サービス(BFF)と SaaS のコア機能の開発スピードを維持しつつ、保険という金融商品に求められる品質を担保するためのAPIテスト自動化の取り組みについて、ご紹介したいと思います。 1. 保険SaaS開発のテストにおける課題当然ながら、保険という金融商品を取り扱って
こんにちは!Finatextの今中と申します。 FinatextではInspireという保険のオンライン販売のためのSaaSを開発・運用してます。私はこちらでサーバーサイドエンジニアをやっています。 Inspireの開発方針については先日孝橋が書きましたが、今回は以下トピックについてご紹介します! 大切にしている考え方プロジェクトの進め方コミュニケーションなお、これらはInspireに限った話ではなくFinatext全体にも言えることが多いです。ぜひ最後まで読んでいただけたら嬉しいです。 大切にしている考え方Finatextでは全社的に「規律が保たれた自律的組織」を目指しており、いわゆるティール組織と呼ばれる組織構造をイメージするとわかりやすいかもしれません。 参考記事: Finatextのティール組織の取り組みについて 自律的組織を実践する試行錯誤の中で現状どのような取り組みを行なってい
こんにちは、Finatextの @s_tajima です。 システム運用において、サーバー上でマルウェアを実行されてしまったり、配信するコンテンツを改ざんされてしまうというのは、セキュリティ上大きな脅威と言えます。金融機関、金融サービス提供者としては、当然そのような状況を防ぐ手を打つ必要があります。今回は、Finatextにおけるマルウェア対策やコンテンツ改ざん対策のお話です。 従来のサーバー運用におけるマルウェアとコンテンツ改ざんの脅威と対策従来のサーバー運用においては、 サーバーにSSH等でシェルアクセスできるようになっている (する必要がある) 正当にシェルアクセスの権限を持つ誰かが不正を働くかもしれないシェルアクセスの権限が不正に利用されてしまうかもしれないサーバーのファイルシステムは、実行ファイルも含めて書き込み可能になっている (する必要がある) シェルアクセスやネットワークに
こんにちは、Finatextのエンジニアの @s_tajima です。 先日、弊社は東証マザーズに上場しました。私はFinatextには2019年の2月に入社したので、今日までで約3年間を過ごしたことになります。上場自体は会社にとっての通過地点であり、「金融がもっと暮らしに寄り添う世の中」の実現のためにはまだまだやるべきことがたくさんあるのですが、せっかくなのでこの3年間の振り返りと、これからについて書いてみようと思います。 弊社は、スタートアップとしては珍しいマルチプロダクトの会社で、かつホールディングス制のために複数の子会社があります。今回は、そんな環境で全社的なシステム基盤を担当しているPlatform Teamというチームでやってきたことを紹介します。プロダクト開発の現場とはちょっと性質の違うエンジニアリングが求められる領域ですが、同様のミッションを持っている方々の参考になれば嬉し
※ この記事は 2021/09/15 に開催したエンジニア向けイベント「Data Analysis Study #1 データ分析環境について」にて行われた LT「Amazon EMR Studio を用いた EDA 環境の構築」の内容に加筆を行ったものです。 はじめにはじめまして。株式会社ナウキャストでデータエンジニアのお仕事をしている島と言います。現在、ナウキャスト内では EDA 環境の新規構築を目指し、各種サービスの検証などを行っています。この記事では、そこで得られたナレッジなどを共有できればと考えています。 こんな方におすすめこれからデータ分析環境の構築を検討されようとしている方データ分析やデータエンジニアリング業務に携わっている方他社はどのようなデータ分析環境を構築しているのか興味がある方EDA の環境に課題を感じている方About Nowcastナウキャストでは「Alternat
こんにちは、2021年4月にFinatextにエンジニアとして新卒入社したToshiya Matsuzakiです。(twitter:@tm8619_pro) ISUCON11予選に社内メンバー3名(チームメンバー:Satoshi Tajima @s_tajima, Kevinrobot34 @Kevinrobot34)と富士見坂46として出場し、51620点で74位で予選落ちという結果になりました。次回に活かすために今回はその振り返りを記事にまとめ、どのようなことを考えながら8時間(+45分)を過ごしたかを書いていこうと思います。 簡単な自己紹介競技プログラミングをPythonで初め、半年ほどFinatextのグループ会社であるNowcastでデータ分析インターンを経験。 その後、Finatextのインターンで1年半ほどサーバーサイドエンジニアをメインにやってから入社し、現在も引き続きAP
こんにちは。Nowcastでエンジニアをしている片山(@fozzhey)です。 NowcastではワークフローマネジメントツールとしてAirflowを採用しています。 Airflowは日本でもよく採用されており、実際に活用されている方も多いと思います。 しかし、Airflowを使うことはできるけど、実際にどういう仕組みで動いているのかは分からない方が多いのではないでしょうか? せっかくPythonで書かれているのに、Airflowのコードを読まないのはもったいない! ということで、この記事ではAirflowのコードリーディングを行いたいと思います。 なるべくコードやGithubのリンクを貼っていますが、手元のエディターでAirflowのリポジトリを開きながら読んでいただくとより理解が深まると思います。 コードリーディングの題材題材とするDAGとタスクこの記事ではAirflowが提供するサン
Finatextの渋谷です。ソフトウェアエンジニアとしてFinatextのサービス開発と社内向けツール運用を担当しています。 Finatextグループの日本オフィスは130人ほどの規模ですが専任の情シスはおりません。プラットフォームチーム(組織横断で各チームをサポートするチーム)でコーポレートタスクを分担しています。 組織の拡大に伴い手動では煩雑な作業が増えてきたため自動化を進めてきました。 今回は社内向けツールを日々運用していく上で発生した課題をSlack APIを利用し解決しましたので紹介します。 1. Backlog招待期限を失効させない背景Finatextグループではプロジェクト管理にBacklogを使用しています。 Backlogのユーザー登録はメールを送信し招待します。 メールの有効期限は1週間のため期限内に招待完了せず、Backlogに参加できないことが度々ありました。 期限
こんにちは。Finatextでエンジニアをしている @s_tajima です。 今回は、DR(Disaster Recovery)の体制強化の一環で、AWS Backup と AWS Organizations を活用し、自然災害・リージョン障害に対応するための大阪リージョンへのクロスリージョンのバックアップ と、 ランサムウェア等の不正アクセス対策としてクロスアカウントのバックアップ の仕組みを構築したお話です。 先日、FISCから「金融機関等におけるクラウド導入・運用に関する解説書(試行版)」が公表され、合わせてAWSからも『FISC「金融機関等におけるクラウド導入・運用に関する解説書(試行版)」発行によせて』というブログが公開され、その中で大阪リージョンの活用に関しての言及がありました。今回の記事はそんな大阪リージョン活用の一例として参考にしてもらえると嬉しいです。 背景今回の取り組
Photo by Shahadat Rahman on Unsplashこんにちは、Finatextグループのナウキャスト(最近HPリニューアルしたのでみてね)でデータエンジニアをしているけびんです。 前回はプログラミングコンテストの中でもアルゴリズムの力を競う競プロのTipsを紹介しました。最近CTFと呼ばれるタイプのコンテストにも興味を持ち始めたので、今回はこちらの紹介をしたいと思います! CTFとはご存知ない方もいると思いますが、CTFは ”Capture The Flag” の略で、コンピュータセキュリティの技術や知識を競うコンテストです。どこかに隠されたFlag( ctf{test} 的な文字列 )を探し出し、それを提出することで得点がもらえます。最終的に獲得した総得点を競います。 ジャンル別紹介いくつかのジャンルについて簡単な紹介と、僕が読んだ参考書を紹介していきます。参考書は
credly.comはじめにFinatext にソリューションアーキテクトとして新卒入社した中川(Twitter: kakitaroou)です! Finatext のソリューションアーキテクトはお客様の課題に合わせた最適なクラウド金融ソリューションを、AWS を用いることで低コストかつ迅速に提供しています。 したがって、我が社のソリューションアーキテクトには顧客の要件に基づき最適な AWS アーキテクチャを設計する能力が求められます。 本記事では私が AWS 認定ソリューションアーキテクトアソシエイト資格試験に向けてどのように勉強し、どのような結果を得たかについての軌跡をまとめようと思います! 目次・はじめに・受験の動機・試験勉強概要・試験結果概要・おすすめの勉強法・まとめ・さいごに受験の動機私は特に情報系の学部を卒業したわけではなくクラウドやサーバーサイドの知識があったわけではありません
Photo by Joel Holland on Unsplashこんにちは。今年の4月からFinatextにJoinした岩田です。 入社して半月、早速ですがTechBlogを書きます! 今回はSpringで既存のサーバアプリにモックレスポンス機能を搭載する方法についてご紹介します。 なお、ここでのモック機能は単体テストの文脈でよく使われる意味のモックではなく、「実動作環境で、あるリクエストに対して期待するレスポンスを返すようにする機能」 の事を指します。 概要モック機能が必要になるケースは下記のようなケースがあるかと思います。 フロントエンド開発チームがバックエンド開発チームのAPI開発を待たずにアプリの開発、動作確認したい。複雑な状態下(ユーザの状態や時限など)でのレスポンスをEnd to Endテストなどで常に再現したい。これらの課題・要望をSpringを使用しているアプリケーション
こんにちは。Finatextでエンジニアをしている塚本です。 証券プラットフォーム「BaaS」や、それを利用して開発されたアプリケーションのフロントエンドを担当しつつ、現在はバックエンドの実装も行っています。 Finatextに入る前は大手メーカーでSEを3年ほど、その後フリーランスを1年ほどしておりました。フリーランスになってからエンジニアを目指すことを決め、独学でコーディングの勉強を始めています。 ジュニアエンジニアとしてFinatextに入社した私が、約1年半でどの程度成長したのかを振り返りたいと思います。 まず入社当時と現在でどう変わったかがこちらです。 Finatext入社当時コーディングは1人でするのは到底無理。。デベロッパーツールどうやって開くの?rebaseって何?Laravelなら少しだけ知っているVue.js, Go(弊社使用言語)書いたことない ↓1年半経った現在ヘル
はじめにこんにちは、Finatext で保険事業にてプロダクト開発をしている @toshipon です。今回は我々のプロダクトでも活用している AWS Amplify コンソールにおける Custom headers の運用についてお話いたします。 概要Amplify 上で Custom headers を設定する手順についてご紹介いたします。Custom headers は、HTTP レスポンスのヘッダーに指定できる情報を管理するもので、主にデバッグやセキュリティ対策、情報提供に利用されます。 今回は、キャッシュを適切に有効にさせてパフォーマンスを向上させたり、XSSやクリックジャッキング等のWebアプリケーション脆弱性に対処することを目的として利用したいと思います。 また、Content-Security-Policy-Report-Only というセキュリティヘッダー(説明については
はじめにこんにちは、Finatextで証券プラットフォーム(Brokerage as a Service、以下BaaS)の開発に携わっている石橋(@bashi0501)です。過去のFinatextテックブログではTerraform、CDKとIaCをテーマにした記事しか書いたことがなかったのですが、今回はログの分析活用をテーマとします。 概要弊社の証券事業ではECSによるワークロードを組んでいます。本テーマのアプリケーションログについては標準出力したものをawslogsログドライバーが回収してCloudWatch Logsに送信しています。 ログの検索という観点ではCloudWatch Logs Insightsというサービスでかなりリッチにフィルターや集計を行うことができるのですが、ログデータを元にしたユーザーのファネル分析や業務改善(後述します)に活かしていきたいという意図があるため、マ
はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は以前の Fin-JAWS のイベントで少し紹介させていただいた、我々の現場で取り組んでいる、大規模API開発における Swagger を用いたAPI仕様のドキュメント運用方法について紹介いたします。 概要我々の現場では、API ベースのWeb Application を開発する際に、Swagger を用いて API 設計をしたり、BFFサーバー開発者やフロントエンド開発者とのコミュニケーション手段として活用しています。 ただし、Web Application の規模が大きくなってくると、Swagger の 定義ファイルは肥大化してしまい、メンテナンスが困難になってきます。 今回は、Web Application の規模が大きくなっても耐えうる Swagger 定義ファイルの運用方法を
Photo by steve_jon on Unsplashはじめにはじめまして。Finatext で保険サービスの開発(主にサーバーサイド)をしているすがやです。 いきなりですがみなさん時をかけてますか? 私はかけてます。 …時刻を扱う実装というのは、得てして問題を生みやすいものです。 この記事では時刻の取り回しで生じる問題と、弊社のGoでのサーバー実装におけるそれらの問題との向き合い方を説明します。 時間に起因する課題unit testしづらい問題語り尽くされた話題ではありますが、現時刻に依存した実装はunit testしづらいという問題があります。 たとえば単純な例として呼び出し時点が休日であるかを判定するコードがある場合を考えます。 // IsHoliday 休日か func IsHoliday() bool { dayOfWeek := time.Now().Weekday()
こんにちは、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
はじめにこんにちは、Finatext で保険事業のプロダクト開発をしている @toshipon です。今回は我々の一部の現場で取り組んでいる、ECS Fargate 上で利用する環境変数を、 S3 bucket を使って運用しているお話を紹介いたします。 概要ECS Fargate 上で、アプリケーションコードと同期的に環境変数の更新を行いたい。 そのために、mozilla/sops というファイル暗号化ツールを利用して暗号化した環境変数ファイルをアプリケーションコードのリポジトリで管理し、CI/CD ( Codepipeline ) によるデプロイのタイミングで、環境変数ファイルを復号してS3にアップロードし、ECS task上で S3 から環境変数を参照する仕組みを紹介いたします。 解決したい課題環境変数更新とアプリケーションコードデプロイのタイミングが非同期であることECS Farg
Photo by Ash from Modern Afflatus on UnsplashはじめにFinatextでエンジニアをしている浅井です。 弊社では先日「Wealth Wing」という資産運用サービスをリリースしました。 サービスの詳細を知りたい方は、こちらのnoteも合わせて読んでいただければと思います。 Springについてとスクラムの導入については既に他のメンバーが書いているので、 今回はGitHub Actionsについて書いていきます。 概要Wealth Wingの開発チームではGitHub Actionsで ktlintでのフォーマットチェック(以下lint)単体テスト(以下test)シナリオテスト(実際のエンドユーザの動きやバッチ処理の一連の流れを一つのシナリオとして盛り込んだテスト。以下scenario test)を動かしています。 これらの処理に軽く依存関係を持た
はじめにこんにちは、Finatextでエンジニアをしている大木です。主に証券プラットフォーム「BaaS」や、それを利用して開発されたアプリケーションのバックエンドを担当しています。 先日、弊社では新たに証券アプリ「Wealth Wing」をリリースしました!Wealth Wingは入金するだけで運用が始まる、全く新しいタイプのお任せ投資サービスです。(ANAグループと連携した新しい資産運用サービス「Wealth Wing(ウェルス ウィング)」とは) Finatextではどのような開発手法を用いるかの判断は、基本的にそれぞれのプロジェクトのチームに委ねられています。Wealth Wingの開発プロジェクトでは、以下のようなチーム編成のもと、開発手法としてスクラム開発を取り入れました。(自分はこのバックエンド開発の中の1名として参加していました) 日本プロダクトオーナー 1名スクラムマスター
次のページ
このページを最初にブックマークしてみませんか?
『The Finatext Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く