サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
GPT-4o
techblog.finatext.com
はじめに株式会社ナウキャストでデータエンジニアをしている沼尻です。 この記事では、私が担当している「マッピング」という業務についてご紹介したいと思います。マッピングと言われてもピンと来ないと思いますが、あまり語られることのない(それがゆえに何と呼称したらよいかさえ定かではない)データエンジニアリングの重要な一領域だと思っていて、他社さんにも類似する業務が存在するのではないかと思っています。この記事をきっかけにして、他社さんと情報交換や技術交流などができたら嬉しいですし、ひいては、将来的なマッピング(ないしその類似業務)に関する知識の体系化につながれば幸いです。 マネージャーやエンジニアの募集もしていますので、ご興味を持っていただけたら、この記事の最後に掲載している求人をご確認いただければと思います。 マッピングとは何かナウキャストでは、パートナーから様々なオルタナティブデータ(POSデータ
Photo by Richy Great on Unsplash💡はじめにこんにちは、Finatextグループでサーバーサイドエンジニアの長期インターンをしている@88888888_kotaです。 インターンでは、「Goal Navi」という投資一任運用サービスのバックエンド開発に携わっています。 先日、migrationファイルに変更があった際にDB schema documentを修正するCIを実装しました。そこで、PRを一旦Draft状態で上げたのですが、CIが回るような設定になっていました。 Draft Pull Request(以下、Draft PR)を用いたコード共有は一般的ですが、特別な設定をしない限りCIが回ってしまいます。Draft PRはWIP(作業中)であることを示すために使われることが多く、その場合、CIが回ることはコスト面で無駄になります。また、Draft PR
こんにちは、Finatextの @taiki45 です。この記事はFinatextグループ10周年記念アドベントカレンダーの14日目の記事です。昨日は河端さんが「保険業界の Vertical SaaS『Inspire』のビジネスモデル」という記事を公開しています。 インターネットサービス業界でDesign Docsと呼ばれているプラクティスがあります。これは、それなりに規模のあるなにかを作ったりタスクを行う前に、解決する問題や考慮事項や取りうる選択肢やそのトレードオフなどを文書としてまとめたもの(design doc)を書くというプラクティスです。 Design Docsプラクティスは、複数のチームやある程度の多さのステークホルダーをalignするという側面もあって大企業でよく使われていると思うのですが、中規模(300人程度)の企業でもDesign Docsプラクティスを行うことで、より精
はじめにはじめまして、Finatextでサーバーサイドエンジニアの長期インターンをしている谷口です。この時期になると夏も見え始め、筋トレが捗る季節ではないでしょうか?💪💪 今回は、私が携わっているサービスで、巨大化したSwaggerファイルを分割し、それらからoapi-codegenでコード生成できるようにした話をしたいと思います。 概要私が携わっているサービスでは、OpenAPIをもとにフロントエンドではaspida、バックエンドではoapi-codegenを用いて開発を進めています。開発が進んでいく中で、私を含めたエンジニアの皆さんは「一つにまとめていたSwaggerのファイルが巨大化してしまい扱いづらい」という問題をひしひしと感じていました。 そこで、Swaggerのファイルを分割し、それらをswagger-mergerというライブラリを用いて一つにまとめる方法(こちらのテックブ
こんにちは、Finatextグループのナウキャストでデータエンジニアをしているけびん( Twitter: @Kevinrobot34 )です。 先日「データビジネス×Snowflake ~一歩進んだSnowflakeの活用事例を学ぼう!~」というイベントに登壇し、ナウキャストで開発しているSnowflakeベースのデータ基盤について発表させていただきました。 こちらについて内容を補足しつつ、ブログにもまとめます。 背景ナウキャストはオルタナティブデータの利活用を推進している会社です。POSデータやクレジットカードデータ、位置情報データなど扱っているデータは多岐にわたります。 これまでのチーム体制・システム構成は以下のようにデータソースごとに分かれており、実装やデータ品質に関する考え方などがバラバラでした。 データ基盤Datahubの全体像DWH としては Snowflake を利用Snow
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のティール組織の取り組みについて 自律的組織を実践する試行錯誤の中で現状どのような取り組みを行なってい
こんにちは、エンジニアの @s_tajima です。 今回は、技術的なトピックから少し離れ、僕たちが今取り組んでいる「金融サービスの開発」というのがどんなものなのかを、少しでも具体的にイメージしてもらうための記事を書いてみることにしました。 「普通に使える」金融サービスの開発が難しい理由僕は先日、とある金融サービスを利用するためにとあるWebサイトにアクセスしました。多くの不要な情報の海からなんとか目的の場所にたどり着きますが、「この手続きはインターネットからはお受けできません。0x-xxxx-xxxxにお電話ください」という案内がされていることに気づきます。めんどくさいと思いながらもその番号に電話すると、今度は自動の音声案内が流れます。「xxxのお手続きをされる方は 1 を…」という案内に従い番号を押すと、なんと驚くことに、「この手続きはインターネットからのお申し込みが可能です。 xxx
はじめにこんにちは、Finatext で保険事業のプロダクト開発に携わっている孝橋( @toshipon )です。 Finatextでは、証券や保険といったいくつかの金融領域でSaaSを提供しています。その中の保険事業では、保険商品の販売や保険業務をオンライン上で円滑に行うためのプラットフォーム「Inspire」を開発・提供しています。 最近では BtoB向けのSaaSが活発に開発されて世の中に多く存在していますが、BtoB向けのSaaSとは特定のドメインの特定の業務を、汎用的なサービスの上で行えるようにすることを想定していると思います。その中でも保険のドメインは各社固有の業務が多くあったり、独自の保険商品の規約が存在するため、SaaSとして如何にシステムに落とし込んで提供するかという難しさがあります。 今回は Inspire における保険SaaSを提供するにあたってサービス設計する中で、
こんにちは、Finatextの @s_tajima です。 システム運用において、サーバー上でマルウェアを実行されてしまったり、配信するコンテンツを改ざんされてしまうというのは、セキュリティ上大きな脅威と言えます。金融機関、金融サービス提供者としては、当然そのような状況を防ぐ手を打つ必要があります。今回は、Finatextにおけるマルウェア対策やコンテンツ改ざん対策のお話です。 従来のサーバー運用におけるマルウェアとコンテンツ改ざんの脅威と対策従来のサーバー運用においては、 サーバーにSSH等でシェルアクセスできるようになっている (する必要がある) 正当にシェルアクセスの権限を持つ誰かが不正を働くかもしれないシェルアクセスの権限が不正に利用されてしまうかもしれないサーバーのファイルシステムは、実行ファイルも含めて書き込み可能になっている (する必要がある) シェルアクセスやネットワークに
こんにちは、Finatextのエンジニアの @s_tajima です。 先日、弊社は東証マザーズに上場しました。私はFinatextには2019年の2月に入社したので、今日までで約3年間を過ごしたことになります。上場自体は会社にとっての通過地点であり、「金融がもっと暮らしに寄り添う世の中」の実現のためにはまだまだやるべきことがたくさんあるのですが、せっかくなのでこの3年間の振り返りと、これからについて書いてみようと思います。 弊社は、スタートアップとしては珍しいマルチプロダクトの会社で、かつホールディングス制のために複数の子会社があります。今回は、そんな環境で全社的なシステム基盤を担当しているPlatform Teamというチームでやってきたことを紹介します。プロダクト開発の現場とはちょっと性質の違うエンジニアリングが求められる領域ですが、同様のミッションを持っている方々の参考になれば嬉し
はじめにナウキャストでクレジットカードデータから消費動向を示すJCB消費NOWの開発を担当しているよのです。趣味は卓球で、ものづくり男子所属です。 いつも業務では、AWS Batchを使ってデータパイプラインを構築しておりますが、本記事では、Prefectを試したので、簡単なETLデータパイプラインの構築を通じて、ご紹介します。 記事内容PrefectとはローカルでPrefectでデータパイプラインを実行Prefect Cloud の登録、認証Prefect Cloudを使って、ローカルのデータパイプラインを回す感想1. PrefectとはPrefectは、ワークフロー管理システムで、Pythonでデータパイプラインを比較的簡単に構築することができます。主な要素として、TasksとFlowがあります。 Tasks : ワークフローにおける個別のアクション、関数に対して、@taskとデコレー
※ この記事は 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} 的な文字列 )を探し出し、それを提出することで得点がもらえます。最終的に獲得した総得点を競います。 ジャンル別紹介いくつかのジャンルについて簡単な紹介と、僕が読んだ参考書を紹介していきます。参考書は
はじめにこんにちは、Finatext で保険事業のプロダクト開発に携わっている孝橋( @toshipon )です。 今回は先日、我々の開発しているプロダクトに関する特許出願をおこなった内容についてのお話を紹介したいと思います。 概要普段スタートアップのエンジニアとして業務を行っている中で、特許に関わる機会があまりなく、馴染みがない方ももしかしたら多いかもしれないのですが、そんなエンジニアの方でもなんとなく特許取れそうかな?と思うアイデアがあったときに実際に特許出願までの流れと、エンジニアが特許出願をすることのメリットについて紹介いたします。 特許出願のきっかけきっかけは、私が社内の slack で何気なくつぶやいた一言がきっかけですが、普段開発している中で、プロダクトのビジネスロジックのコードを眺めていたときに、ふと「この複雑な処理をいい感じに成し遂げてるのは、おそらく今までの保険業界には
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を使用しているアプリケーション
昨年末からガバナンスが効くような形で Azure の環境を整備しました。 様々な設定をしたのですが、ここでは特に重要だった6つのポイントにフォーカスし、それぞれどのようなことをしたのか紹介していこうと思います。
こんにちは。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()
次のページ
このページを最初にブックマークしてみませんか?
『The Finatext Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く