Sansan Tech Blog

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

Eightのデータ抽出基盤をサーバーレスで作る際に工夫したこと

こんにちは、Eight Engineering Unitの井上です。 Eightのデータ抽出基盤である Data Management Platform(以下、DMP)の開発を担当しています。 はじめに Eightは330万人を超えるユーザーにご利用いただいており、お預かりしているデータ量も日々多くなっ…

terraform planの自動化に向けて直面した課題と解決策

はじめに こんにちは! 技術本部 Bill One Engineering Unit(以下、Bill One EU)の笹島です。 IaC推進チーム(横串チームの1つ)として、CI環境でのTerraform Planの自動化に取り組んできました。 横串チームとは、Bill One EU内の各グループの垣根のない…

Salesforceの「取引の開始」関連項目がnullになるタイミングについての話

はじめに 初めまして、技術本部 Sansan Engineering Unit Data Hubグループの菊池です。 約6年間Salesforce エンジニアとしてさまざまな経験を積み、2021年1月からSansan株式会社に入社しました。 現在は、営業DXサービス「Sansan」とSalesforce連携を実現す…

ChatGPTを使ってVisualforceでSLDSコンポーネントを使った開発を快適にする

こんにちは、技術本部 Sansan Engineering Unit Data Hubグループの小林です。 今回は、SalesforceのVisualforce開発に当たって、Lightningの見た目で開発をしたいときに便利なSalesforce Lightning Design System(以降、SLDS)コンポーネントを使う際にCha…

Swift Macrosの作り方

こんにちは!技術本部 Mobile ApplicationグループでiOSエンジニアをしている長﨑です。Sansanアプリでは自分たちで定義したSwift Macrosを開発に導入し始めています。Swift Macrosについての勉強会も社内で実施しており、せっかくなので勉強会のコンテンツ…

30代からプログラミングを本格的に始めたエンジニアが生産性について思うこと

最近キーボードで文字を打つのが面倒になってきている技術本部 Eight Engineering Unitの斉藤です。 キーボードは既に100年以上使われ続けているみたいですね。そろそろ新しい入力の方法ができてもよさそうです。 例えば、頭で考えていることが文字に起こせ…

フロントエンドとバックエンドの一貫したバリデーションで開発プロセスに調和と効率化をもたらす

技術本部 Digitization部の湯村です。 新規アプリケーション開発で採用したバリデーションロジックの管理方法を紹介します。

テックリードによる社内キャリアイベントを開催しました

こんにちは。技術本部 Digitization部 Bill One Entryグループでエンジニアをしている大森です。 普段の業務に加えてTech道場というイベントの運営に関わっており、本記事はそのイベントのレポートです。Tech道場とは、最新の技術や生産性を高める技術、そし…

チームで Learning Session を始めてみた

はじめに はじめまして。技術本部 Sansan Engineering Unit Data Hubグループの今村です。みなさんはインプットをどのようにアウトプットしているでしょうか?もちろん業務が1番のアウトプットの場であることは間違いありません。しかし、私たちのチームでは…

AndroidでBluetooth Low EnergyのL2CAP通信を行う方法と開発で得た知見

技術本部 Mobile Applicationグループに所属する北村です。SansanとEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担当しています。今回は昨年9月にリリースした、Eightのタッチ名…

Azure Functionsでの大量データ処理とグレースフルシャットダウン(後編)

技術本部Sansan Engieering Unit Data Hubグループの藤原です。前回はAzure Functions好きにしか刺さらないとがった内容を書いてしまいました。反省しているので、今回は間口を広げて.NETの標準クラスライブラリ好きにも刺さる内容になっています。 前回、グ…

Azure Functionsでの大量データ処理とグレースフルシャットダウン(前編)

技術本部Sansan Engieering Unit Data Hubグループの藤原です。普段はプロダクトのアーキテクチャを改善したり、技術的な課題を解決したり、たまにOSSを書いたりコントリビュートしたりしています。 今年はSansan Data Hubの日々の開発や運用で突き当たって…

生産性指標をFour Keysから変更した話

技術本部 Mobile Applicationグループの山本です。名刺アプリEightの開発を行っています。今回はMobile ApplicationグループのEight開発チームの生産性指標をFour Keysからベロシティを含む別の値に変更した話をします。一般的にはベロシティは生産性指標に…

Active Support Instrumentation について

技術本部 Sansan Engineering Unit Nayose グループでエンジニアをしている冨田です。業務では、Ruby on Rails(以降 Rails)を使って名寄せサービスを開発しています。 今回は、Rails などの Ruby コード内のイベント計測に使われる、Active Support Instru…

Sansan Androidチームのライブラリアップデートの取り組みについて

こんにちは。 この記事は、技術本部 Mobile ApplicationグループでSansan(※プロダクトとしてのSansan)のAndroid開発を行っている、桑原、小林、鎌田、原田の共著でお届けします。 今回は、アプリで使用しているライブラリのアップデートについて、 Sansan…

Order Oneでのドメインイベント実装

技術本部 Strategic Products Engineering Unit Order One Devグループで受注業務のDXから、事業を加速するプロダクトOrder Oneの開発をしている山邊です。 本題に入る前にお知らせです。2/27 (火) に「自由な発想でつながる、失敗談を語るLTパーティー」と…

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

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

AWS Glueを使ってバッチ処理を60倍高速化した話

初めまして、技術本部Digitization部データ化グループ所属の高田です。 今回はAWS GlueのJobを使ってバッチ処理を60倍高速化した話をします。 この記事は以下の内容を共有しています。 AWS Glueの概要とメリット Apache Sparkの概要とメリット Pythonを使っ…

Apollo GraphQL× Express で Playground ページの URL パスを変更する方法

こんにちは、Sansan Engineering Unit の渡邉です🦐 直近で Apollo GraphQL の Express 向けライブラリを利用して API を開発していたのですが、 Playground ページに個別の URL パスを設定する方法が調べても良いページが見つからなく困ったので記事にまとめ…

Eight iOSアプリにおけるNFCを利用したタッチ入場機能の開発

技術本部Mobile Applicationグループの藤門です。 23卒としてSansan株式会社に入社し、iOS版のEightの開発に従事しています。今回の記事の目次は以下の通りです。 本記事の概要 BIS 2024について タッチ入場受付機能について タッチ入場受付機能でNFCを利用…

バックログへの向き合い方の変遷

こんにちは、Eight事業の開発責任者の大熊です。 Eight事業では、ビジネスパーソン向けの名刺アプリ「Eight」を中心にそのプラットフォーム上でさまざまなサービスを展開しています。最近ではビジネスイベントとITを掛け合わせた新しいイベント体験を創出す…

アプリ開発者が Privacy Manifests 対応でやることについて調べてみた

はじめに こんにちは。技術本部 Mobile Application グループで iOS アプリエンジニアをやっている多鹿です。 さて、 WWDC 2023 にて Privacy Manifests が発表されましたね。そして、2024年春にはこの対応がされていないアプリはリジェクト対象になるという…

2023アドベントカレンダーの社内LT大会の開催報告:技術とチキンでつながる一夜

こんにちは。 技術本部研究開発部の高橋寛治です。 Sansan Advent Calendar 2023を書いた人達で交流と技術への理解を深めるために、社内でLT*1会を実施しました。 準備が少なくテンポ良く会として進められるため、LT形式を取りました。 また、フライドチキン…

Data Hub グループでのバーチャルオフィス(Teamflow)活用事例

はじめに こんにちは、技術本部 Sansan Engineering Unit Data Hub グループの髙芝です。 私は同グループで開発チームのリーダーを務めています。いわゆるプレイングマネージャー的な立ち位置で、プロダクト開発に関わる一連の業務(プロジェクト管理、要件定…

NFCタグ読み取り機能を使ったイベント受付機能を開発した話

技術本部Mobile Applicationグループの森です。 EightのAndroidアプリを開発しています。Eight主催のイベントでEightアプリを使って簡単に入場できる機能を開発したので、その紹介をしたいと思います。

レガシーに向き合う - Reactのクラスコンポーネントを置き換える前にやるべきこと

こんにちは。Eightでエンジニアをしている藤野です。 Sansan Tech Blogに最後に記事を書いたのが2020年12月なので、約3年ぶりの投稿になります。時の流れって恐ろしい。 今回は、Reactのクラスコンポーネント(Class Component)を関数コンポーネント(Function…

Bill One開発文化のおかげでOSSにコントリビュートできた話

はじめに 技術本部 Bill One Engineering Unit (兼 情報セキュリティ部 CSIRT グループ) の茂木です。 現在は「さばかん」という名前のチームに所属しており、PdL[^1]という役割をしています。 今回は Bill One の開発文化の影響で sqlc という OSS にコント…

Floating UIのすすめ: 特徴と使い方を紹介

こんにちは。2023年にSansanに新卒として入社し、Eightでエンジニアをしている徳永です。人生初ブログとなるのでドキドキしながら書きました。ユーザーがボタンなど特定の要素をクリックまたはタップしたときに表示される、小さなウィンドウやボックスの UI …

GitHubにプッシュする前にシークレットスキャンを行う機構を自作した

こんにちは、技術本部 Eight Engineering Unit でエンジニアをやっている茂木(@shinnopo_)です。 今回は前回のブログで執筆した、ローカル環境で Lint をかける機構を利用して、pre-commit 時にシークレットスキャンを行うようにした話をしていきます。 前…

社内交流のために大規模OSTをやりました(2回目)

技術本部 Sansan Engineering Unit Data Hub グループの光川です。先日、技術本部総会という技術本部に所属するメンバーが一同に集まるイベントの2回目が開催されました。その中のコンテンツとしてOST(オープンスペーステクノロジー)を実施しました。前回…

© Sansan, Inc.