Sansan Tech Blog

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

2024-01-01から1年間の記事一覧

JiraAPI×GAS×LookerStudioで生産性指標測定ダッシュボード作成

はじめまして、技術本部 Sansan Engineering Unit Master Data Groupの佐藤です。普段は人事異動情報、企業ニュース、役員管理職情報の収集や提供をするシステムの開発を行っています。現在技術本部では、単月の生産量を2倍にするという目標を掲げ、生産量向…

【Turning Encounters into Innovation in Cebu】 Vol. 2: Development insights

Welcome back to Sansan Global Development Center blog! I'm Vani from the Engineering Team, and I'm excited to share our team's journey and development process with you. In this blog post, we'll dive into the evolution of our engineering te…

Automating everything with macOS and Ollama

Hi, I'm Juan Martínez, Researcher at Sansan's R&D Department.During the last year our team has been building a growing number of applications that leverage the power of Large Language Models (LLMs) to activate the business data of Sansan u…

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

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

Kubernetesクラスタ更新時のマニフェスト差分をGitのブランチで吸収する

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋にある中部支店に所属しています。 Kubernetesのマニフェスト管理方法とクラスタのバージョン更新時の運用方法を変更したため、共有します。

同期的なコミュニケーションでチーム内の距離を縮める

研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋の中部支店に所属しています。 普段はCircuitというアプリケーション基盤を作っています。 先日、チームメンバーと同じ会議室に集まり、業務とワークショップを行いました。

Node.jsによるReverse Proxy実装をGoでリプレイスした話

Node.jsによるReverse Proxy実装をGoでリプレイスした話 技術本部 Bill One Engineering Unit(以下、Bill One EU)の川原です。23卒としてSansan株式会社に入社し、インボイス管理サービス「Bill One」の開発をしています。今回はNode.jsによるReverse Prox…

iOS/macOSオンデバイスで爆速で動作する音声認識モデルWhisperKit

iOSエンジニアの堤です。先日3月28日に開催された弊社主催のLTイベントで、「WhisperKitがだいぶ良いので紹介する」というタイトルで発表しました。 スライドはこちら: www.docswell.com 本記事は、同発表をベースとしつつ、(LTでは時間が足りないので)発…

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

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

BigQueryを使ってCrashlyticsのデータを分析する

技術本部 Mobile Applicationグループ所属の大塚です。名刺アプリ「Eight」のAndroidアプリの開発と、営業DXサービス「Sansan」とEightの両プロダクトをまたぐプロダクト横断チームの一員として、モバイル領域の中長期的な技術的課題の解決や、PoCの開発を担…

MongoDBのoplogについて理解を深めた話

こんにちは、Sansan Engineering Unit マスターデータグループの金子です。 私たちが開発しているシステムの中に、MongoDBを採用しているシステムがあります。私自身NoSQLを使用しているシステムの開発に携わるのは初めてなので、毎日いろいろな学びを得てい…

Sansan iOSアプリにおけるPrivacy Manifests対応の詳細と詰まったこと

こんにちは、技術本部 Mobile Applicationグループで iOSアプリケーション開発しています。武田です。2月29日にAppleから発表がありました。それは5月1日からPrivacy Manifestsに対応していないアプリはアップデートができなくなる、という内容です。これに…

【R&D DevOps通信】Google Compute Engine + GPUで動作するMLサービスの基盤を刷新した話(技術選定編)

技術本部 研究開発部 Architectグループの島です。見習い12年目です。 今回は、当社のデータ化技術の粋である「NineOCR」について、そのインフラ・デプロイの基盤を刷新したお話をします。NineOCRに関しては、以下の記事などをご参照ください。 buildersbox.…

Metalシェーダーで形状のアニメーション

技術本部の堤です。弊社には「Geek Seek Workshop」という社内勉強会を支援する制度がありまして、かなり活発に利用されています。私もその制度を利用して、もう1名の同僚と「リアルタイムグラフィックスの数学 - GLSLではじめるシェーダプログラミング」と…

Jest のメモリまわりでハマった話

こんにちは、Sansan Engineering Unit の渡邉です私たちのチームではTypeScriptで開発しており、テストはJestを用いて書いています。ある日からテストが結構な頻度で落ちてしまうように(FLAKY *1に)なっていました...。 そこで、テストがFLAKYになっている…

「エンジニア組織の成長を加速させる」Sansan技術本部 新VPoE 就任インタビュー

こんにちは、Sansan Tech Blog編集部です。今回は2016年に入社し、関西開発拠点の立ち上げを経て新規事業のプロダクト開発責任者となり、4月1日にSansan株式会社のエンジニア組織全体のマネジメント責任者であるVPoE(Vice President of Engineerの略)に就…

チーム開発合宿 2024 in 徳島県神山町(技術編)

こんにちは、研究開発部 Architectグループの辻田です。 この記事はチームメンバー合同で作成した記事です。 先日、神山ラボへ開発合宿に行ってきました。この記事では合宿中に取り組んだ内容について紹介します。合宿の目的や、全体の様子はチーム開発合宿 …

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

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

チーム開発合宿 2024 in 徳島県神山町(レポート編)

こんにちは、研究開発部 Architectグループの辻田です。 今年も神山ラボへ開発合宿に行ってきました!新メンバーも加わり、チームとしては2回目の開発合宿*1です。本記事では合宿レポートを紹介します。合宿で取り組んだ技術的な内容は別記事で出しますので…

Firehoseを介したS3への中間データ保管と検索性強化

はじめに こんにちは、研究開発部 Architectグループの辻田です。 SansanではユーザーフィードバックがSlackのフィードバックチャンネルに集まります。研究開発部ではこれらからモデルやアルゴリズムなどの改善をしています。 そのため、より多くのフィード…

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のタッチ名…

© Sansan, Inc.