Sansan Tech Blog

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

アーキテクチャ

TypeScript開発にモジュラーモノリスを持ち込む

Bill One Entry*1の秋山です。 本題へ入る前にお知らせです。12/23、TypeScript を活用した型安全なチーム開発をテーマにイベントを開催します。弊社社員のうち、TypeScript を日々の開発で活用しているメンバーが登壇します。ぜひお気軽にご参加ください。 …

Railsのマイクロサービスアーキテクチャで構成されたアプリをモノレポ構成に移行した話

こんにちは。技術本部Sansan Engineering Unit Master Data Groupの古本です。 普段は、営業DXサービス「Sansan」の名刺交換した人や企業に関するニュースを表示し、お知らせする「企業ニュース」や「企業情報」を扱うシステムの開発をしています。最近、マ…

【Sansan Tech Talk】インボイス管理サービス「Bill One」の技術的挑戦 〜グローバル展開と開発の複雑性〜

こんにちは、Sansan Engineering Unitで副部長を務めている笹川 裕人です。Sansan技術本部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りする「Sansan Tech Talk」。今回は第2回として、Bill One Engineering Unitのチ…

【Sansan Tech Talk】名刺アプリ「Eight」の技術的挑戦 〜EC2からの移行とモジュラーモノリス化への道〜

こんにちは。Sansan Engineering Unitで副部長を務めている笹川 裕人です。新たにスタートする、この「Sansan Tech Talk」。Sansan技術本部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りします。初回となる今回はEight…

TypeScript開発にRailway Orientedを持ち込み、より型安全なエラーハンドリングへ

Digitization部 Bill One Entry*1グループの秋山です。 はじめに Domain Modeling Made Functionalというスゴ本 補講:Make Illegal States Unrepresentable バックエンドの処理を抽象化する 手続き型プログラミングの典型例 課題1:制約のないエラーハンド…

Eight Androidアプリにおける状態管理の見直し

こんにちは。技術本部 Mobile Application Groupの山本です。EightのAndroid版の開発を行なっています。Eightのアーキテクチャは何度か部分的な見直しを行なっているのですが、現在の主流からは古くなってしまった部分も存在します。そのため全面的に見直し…

Sansan Data Hub・Bill Oneアーキテクト対談:事業を支えるシステムの設計方針を公開【後編】

社内に蓄積された顧客データを整理・統合し、マーケティングに最適なデータに進化させる顧客データ統合サービス「Sansan Data Hub」。そして、あらゆる請求書をオンラインで受け取り、企業全体の請求書業務を効率化するインボイス管理サービス「Bill One」。…

Sansan Data Hub・Bill Oneアーキテクト対談:事業を支えるシステムの設計方針を公開【前編】

社内に蓄積された顧客データを整理・統合し、マーケティングに最適なデータに進化させる顧客データ統合サービス「Sansan Data Hub」。そして、あらゆる請求書をオンラインで受け取り、請求書受領から月次決算を加速するインボイス管理サービス「Bill One」。…

変更に強いコンポーネント設計の方針と規約(Webフロントエンド)

技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設…

Sansan iOS アプリのマルチモジュール化推進方法

こんにちは、Sansan 技術本部 Mobile Application Group に所属している iOS アプリエンジニアの相川です。 本記事は Sansan Advent Calendar 2021 の23日目の記事になります。 adventar.org 現在 Sansan の iOS アプリチームでは開発環境の改善を目的とした…

人事異動のデータ化の取り組み 〜 CamelotによるPDFの表データ抽出

DSOC サービス開発部 GEES/JES/COEグループの松本です。最近はコロナの影響で巣ごもりをしており、家の庭で芝生を育てています。 色々と手抜きをしてしまったがために生え揃いがまばらで、かわいい反面、芝生の上を裸足で歩けるようになるにはまだまだ時間が…

マルチテナントSaaSのテナント分離をRow-Level Securityに移行した

こんにちは、クラウド請求書受領サービス「Bill One」の開発に携わっているソフトウェアエンジニアの加藤です。Bill OneはB2BのマルチテナントSaaSであり、データベースとして Cloud SQL 上のPostgreSQLを利用しています。従来はマルチテナントのデータを分…

各社がアーキテクチャを語る「Engineering Team Presentation」を開催しました

こんにちは、プロダクト戦略開発室の相場です。今回は先日開催した「Engineering Team Presentation 〜各社の事業を支えるアーキテクチャ〜」のイベントレポートをお届けしたいと思います。 sansan.connpass.com

Builders Box イベントレポート 〜クリーンアーキテクチャ〜 (後編)

はじめに DSOC サービス開発部の正木です。普段はアプリケーションエンジニアとして、Sansan や Eight のサービス基盤となるシステムを Rails をメインに開発・運用を行っています。今回は Builders Box - ON AIR #3 Clean Architecture レポートの後編とし…

Builders Box イベントレポート 〜クリーンアーキテクチャ〜 (前編)

はじめに はじめまして。DSOC の Gees・Jes チーム所属の松本です。 普段は 名刺のデータ化システム「GEES」や、人事異動データ化システム「JES」の開発を、主にRuby on Railsで行っています。今回は弊社が運営するBuilders Boxの主催で2021年1月29日 に行わ…

ソースコードで理解するクリーンアーキテクチャ

はじめに こんにちは。プロダクト開発部の荒川です。 これまで最年少を謳っていましたが、ついに新卒の子にその座を奪われてしまいました。とても残念です。 さて今回のテーマは、皆さんお馴染みクリーンアーキテクチャ(Clean Architecture)です。 クリー…

© Sansan, Inc.