Sansan Tech Blog

Sansanのものづくりを支えるメンバーの技術やデザイン、プロダクトマネジメントの情報を発信

サーバーサイド

Vol. 08 Cloud Pub/Sub 基盤におけるアプリとインフラ間の不整合をデプロイ前に検知する

この記事は、Bill One開発Unitブログリレー2025の第8弾、およびSansan Advent Calendar 20259日目の記事になります! こんにちは、技術本部 Bill One Engineering Unit の藪下(@yatsbashy)です。 私が前回投稿したブログリレーの記事では、Cloud Pub/Sub …

Vol. 02 Bill One で刷新したマイクロサービス間の Pub/Sub デッドレター管理

この記事は、Bill One 開発 Unit ブログリレー 2025 の第 2 弾になります! こんにちは、技術本部 Bill One Engineering Unit の藪下(@yatsbashy)です。 今回はマイクロサービス間の非同期メッセージングで発生していたつらみの改善についてご紹介したいと…

EightのエンジニアでKaigi on Rails 2025に参加してきました!

こんにちは!名刺アプリ「Eight」でエンジニアをしている平石です。9/26, 27日に開催された Kaigi on Rails 2025 に、Eightのエンジニアメンバーで参加してきました。今回はそれぞれのメンバーがKaigi on Railsの感想や印象に残ったセッションについてレポー…

テストを実行して、Sorbetのsigを自動生成する

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 先日、スポーツサンダルで炎天下を散歩したのですが、日焼けで足の甲がシマウマみたいになってしまいました。 足にも日焼け止め塗った方が良いかもしれません。 さて今回は…

AWS Step Functionsで本番リリース作業を完全自動化した話

はじめに こんにちは!名刺アプリ「Eight」のエンジニアをしている常盤です。現在はEnhancementチームに所属し、Eightの設計や開発生産性の改善に日々取り組んでいます。 Eightでは週2回の定期リリースを行っていますが、以前はリリース担当者が10回以上の手…

Eight Team HubSpot連携機能のアップデート

名刺アプリ「Eight」でエンジニアをしている菅間(@sugamaan)です。最近はデスク上に置ける観葉植物を探す旅に出ています。 今回はEightで展開している中小企業向け名刺管理サービス「Eight Team」にてHubSpot連携機能のアップデートを行った話をしようと思…

なぜ私たちは住所正規化エンジンをRustで"再発明"したのか? - FFIによる多言語高速化と開発者体験の裏側

Sansan Engineering Unit マスターデータグループ(データ戦略部門)の松本です。 私たちのチームは、「Activating Business Data」というミッションを掲げ、企業の活動の礎となる重要なデータ、いわゆる「マスターデータ」とその利活用という課題に、技術を…

EightでStripeの3Dセキュア認証に対応した話

名刺アプリ「Eight」でエンジニアをしている菅間(@sugamaan)です。今回はEightで展開している中小企業向け名刺管理サービス「Eight Team」にてStripeの3Dセキュア認証(以後3DSとする)に対応した話をしようと思います。 背景 Eight Teamでは決済システム…

EightのエンジニアでRubyKaigi 2025に参加してきました!

名刺アプリ「Eight」でエンジニアをしている菅間(@sugamaan)です。 愛媛で行われたRubyKaigi 2025に、Eightのエンジニアメンバーで参加してきました! 今回は、それぞれの視点からRubyKaigiの感想や印象に残ったセッションについてまとめた記事をお送りし…

EightではRubyへの型導入を進めています

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近は、社内の謎解きが好きな人たちとリアル脱出ゲームに参加しています。 10人ほど必要なイベントでもすぐに人数が集まるので、社内にコミュニティーがあるのはありがたい…

「Eight」のサーバーサイドエンジニアとして中途入社しました

2024年に名刺アプリ「Eight」のサーバーサイドエンジニアとしてSansan株式会社へ入社した、技術本部 Eight Engineering Unit Product Devグループの菅間です。入社して半年が経ったところで、なぜEightを選んだのか、実際に働いてみてどうだったのかについて…

契約書更新履歴をリファクタリングした話

こんにちは、技術本部 Contract One Devの小松です。 Contract One Devチームでは、2024年1月から2024年10月の約10カ月間に渡り、契約書更新履歴のリファクタリングに取り組んできました。 本記事では、このリファクタリングの背景から具体的な進め方につい…

EightをRuby3.2 から Ruby3.3+YJITにアップグレードした結果

こんにちは。Eightでサーバーサイドエンジニアをしている坂田です。 Eightは、ほぼすべての機能を1つのRailsアプリケーションから提供しています。最近、そのアプリケーションのRubyを3.3にアップグレードしました。 また、Ruby3.2時点では見送っていたYJIT…

サービス無停止でElasticsearchのインデックスを再構築する

今年も残すところあとわずか、急いでふるさと納税の返礼品を選んでいる方も多い今日この頃ですが、皆さんはいかがお過ごしでしょうか。 どうも、技術本部 Contract One Devグループの原です。 今年のContract One Devグループは、大きめのプロジェクトとして…

1年間、Rubyコミュニティに参加してみた感想

※ 本記事はSansan Advent Calendar 2024およびRuby Advent Calendar 2024の14日目の投稿です こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 仕事部屋が寒すぎて脚がキンキンに冷えているので、分厚いルーズソックスみたい…

EightでStripeのトライアル機能を導入した話

日が暮れるのが早くなり、各所でイルミネーションが始まり一年の終わりを感じる今日この頃、みなさんどうお過ごしでしょうか? どうも技術本部Eight Engineering Unit Product Devグループの平石です。今日はEightで展開している中小企業向け名刺管理サービ…

Eightの検索機能をCloudSearchからOpenSearchに移行して得たもの

こんにちは!技術本部Eight Engineering Unitでサーバーサイドエンジニアをしている常盤です。 名刺アプリ「Eight」では最近、検索機能のうち2つをAmazon CloudSearchからAmazon OpenSearch Serviceに移行しました。今回は、移行した背景やそのメリットを紹…

EightのエンジニアでKaigi on Rails 2024に参加してきました!

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 10月25, 26日に有明で行われたKaigi on Rails 2024に、Eightのエンジニアメンバーで参加してきました! 今回は、それぞれの視点からKaigi on Railsの感想や印象に残ったセッ…

HTML用ERBファイルのフォーマットを統一した話

こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近、ミスタードーナツのミニオンコラボの商品を食べたのですが、 どれも美味しくて見た目もかわいいので最高でした。 特にポン・デ・リングベースのものは、表面のキャン…

EightのエンジニアでRubyKaigi 2024に参加してきました!

はいさい!名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 沖縄で行われたRubyKaigi 2024に、Eightのエンジニアメンバーで参加してきました! Eightロゴのポーズをする参加メンバー 今回は、それぞれの視点からRubyKaigiの感想や印象に…

SendGridを活用したメールの送受信機能を開発した話

こんにちは、技術本部 Strategic Products Engineering Unit Order One Devグループの中塚です。 Order Oneの新機能としてメール連携機能をリリースしました。 受注専用アドレスがOrder Oneユーザに対して発行され、そのアドレスに対して注文メールを送信す…

Eight Team kintone連携機能の開発

こんにちは。技術本部 Eight Engineering Unit でエンジニアをしている辻です。 少し前にはなりますが、Eight Teamの新しいオプション機能としてkintoneとの連携機能をリリースしました。 規模的にも結構大きめの開発だったので、具体的にどのように作ったか…

Elasticsearch ことはじめ

Contract One の開発チームで EM をやっている石畑です。Contract One は「契約データベースから、収益を最大化する」をタグラインに、契約業務や管理の効率化だけでなく、契約データをビジネスに活かすためにさまざまな機能開発を行っています。 その中で最…

Elasticsearch(OpenSearch)を活用した採用候補者検索の同義語辞書整備の取り組み

技術本部 Eight Engineering Unit でエンジニアをしている平石です。今回は、Eight で提供している採用サービス Eight Career Design (ECD)の候補者検索機能における、検索ヒット件数改善の取り組みについて紹介していきます。materials.8card.net

Cloud Pub/Subにおけるペイロードラップ解除のローカル実行環境でハマったこと

はじめに こんにちは、技術本部 Bill One Engineering Unitの石川です。 Bill OneのComplicated Sub Systemチーム(通称Kombu)に所属していて、システム全体の課題を解決しつつメインでは請求書検索の改善に取り組んでいます。 本記事は Sansan Advent Calend…

Elasticsearch (OpenSearch) を活用した採用候補者検索機能の精度チューニングの取り組み

こんにちは!技術本部 Eight Engineering Unit でサーバーサイドエンジニアをしている常盤です。 今回は、Eight が提供している採用プラットフォームである Eight Career Design (ECD) の候補者検索機能の検索精度を改善した取り組みを紹介したいと思います。…

Vol.08 Bill One での操作ログのテーブル設計パターン

はじめに こんにちは。Bill One Engineering Unit の佐々木です。Bill One では主に請求書の発行機能の開発に取り組んでいます。 今回、表題の操作ログについての記事を書こうと思った動機としては、操作ログの記録はよくあるユースケースの割に都度都度、考…

Vol.05 Connect によるスキーマ駆動開発のススメ - connect-go バックエンド編

はじめに こんにちは! 技術本部 Bill One Engineering Unit の市川です。 私の所属するチームでは Bill One の新規マイクロサービス開発に Go 言語と Connect を採用してスキーマ駆動開発を実践しています。 今回は Connect を導入して実感した良いところを…

Google App Engine の dispatch.yaml を使ってモノリシックなサービスを簡単に分割してパフォーマンスを改善した話

技術本部 Digitization 部 Bill One Entry グループの山﨑です。インボイス管理サービス「Bill One」のデータ化を行うサービス Bill One Entry を開発するチームでエンジニアをやっています。 media.sansan-engineering.com

FastAPIの標準機能+αで作るアクセスコントロール

初めまして。技術本部Digitization部データ化グループでエンジニアをしている池田力です。 FastAPIでアクセスコントロールの仕組みを実装しようとしたところ、インターネット上に情報が少なく、ちょうど要件に合ったライブラリもなかったため、0から設計する…

© Sansan, Inc.