Sansan Tech Blog

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

開発

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

日が暮れるのが早くなり、各所でイルミネーションが始まり一年の終わりを感じる今日この頃、みなさんどうお過ごしでしょうか? 今日はEightで展開している中小企業向け名刺管理サービス「Eight Team」にて無料トライアル機能を開発した話をしようと思います…

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

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

Web版Eightのリニューアルと、安全なリリースのための取り組み

こんにちは。Eightでエンジニアをしている藤野です。最近、電動の燻製機を買ったのですが、思った以上に煙が出るので普段使いできそうになくタンスの肥やしになりそうなのが悩みです。 さて今回は、Web版Eightをリニューアルした話と、リリースにあたって障…

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

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

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

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

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

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

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

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

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

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

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

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

Eight Team kintone連携機能の開発

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

Elasticsearch ことはじめ

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

StorybookでReactコンポーネント分割の粒度を見極めよう

はじめまして!技術本部 Bill One Engineering Unit の杉崎と申します。技術ブログ初投稿なのでとても緊張しますね! 普段はフロントエンド成分強めの開発をしており、フロントエンドギルド(チームを横断して特定技術領域の改善やスキルアップをしていく取り…

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

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

GPT に PR レビューをやってもらうために試行錯誤した話

こんにちは。Strategic Products Engineering Unit の横山です。 本記事は Sansan Advent Calendar 2023 2日目の記事です。 adventar.org 現在私は Order One というプロダクトを開発しているのですが、そこでの取り組みとして GPT による PR レビューを Git…

Reviewdog x RuboCop を使って、ローカル環境で Lint をかける機構を自作した

こんにちは、技術本部 Eight Engineering Unit でエンジニアをやっている茂木です。 普段はSansan株式会社で正社員としてフルコミットしつつ、情報系の大学に通っています。 今回は Reviewdog x RuboCop を使って、ローカル環境で Lint をかける機構を Eight…

Eight の Node.js を 16 から 20 にアップデートしました

こんにちは。 Eight でエンジニアをしている鳥山(@pvcresin)です。 今回は、Eight で使用している Node.js をアップデートした際の手順や、ハマったところについてお話ししたいと思います。

Sansan における GitHub Copilot の利用状況について

技術本部 Strategic Products Engineering Unit の P3 です。 拠点は京都の Sansan Innovation Lab というオフィスになります。 Sansan では 2023 年 4 月下旬より、利用希望者に向けて GitHub Copilot の導入を開始しました。 導入から約3ヶ月が経過したタ…

フロントエンドの本番ビルドに SWC を導入して、ビルド時間とメモリ使用量を同時に削減する

こんにちは。 Eight でエンジニアをしている鳥山(@pvcresin)です。 今年はいくつも BBQ の予定がたっていて、コロナ禍前の日常に戻りつつあることを実感しています。 BBQ ならラムチョップが好きです。 今回は、Web フロントエンドの本番ビルドに SWC を導…

Vol.06 Connect によるスキーマ駆動開発のススメ - connect-web フロントエンド編

はじめに こんにちは、技術本部 Bill One Engineering Unit の江川です。 普段は、Bill OneでWebアプリケーション開発をやりつつ、フロントエンド周りの技術的な改善に向き合ったりしています。 今回は、バックエンド編の続きとして、フロントエンドにおける…

【R&D DevOps通信】研究開発部の.NET基盤をご紹介

技術本部 研究開発部 Architectグループの島です。本連載を最初2回*1*2だけ書いてとんずらしていましたが復活です。 今回は、研究開発部にて .NET 技術がどのように使われているか・何に取り組んできたかをご紹介したいと思います。 当社にはSansanなど.NET…

複数のサービスを横断して Web フロントエンド開発の支援を行う、Frontend Enabling 業務の紹介

こんにちは。 Eight でエンジニアをしている鳥山(@pvcresin)です。 最近は芸人のラランドのラジオにハマっています。「お母さんヒス構文」が好きです。 さて今回は、私が普段行っている Frontend Enabling 業務の紹介をしたいと思います。

Sansan iOS アプリにおけるエラー表示周りのソースコード解説

こんにちは、技術本部 Mobile Application グループの山名です。 普段は Sansan iOS チームで iPhone / iPad アプリを開発しています。 今回は Sansan iOS アプリ(以下、弊アプリ)におけるエラー表示周りのソースコードを解説します。

チームが統合され、案件も全員で開発するようになった Sansan iOS チームで試行錯誤したことまとめ

こんにちは、技術本部 Mobile Application グループの山名です。 普段は Sansan iOS チームで iPhone/iPad アプリを開発しています。 本記事は Sansan Advent Calendar 2022 の3日目の記事になります。 adventar.org 前回予告した通り、今回は最近の Sansan …

いちエンジニア視点で見る、Sansan iOS アプリの新機能をリリースするまでの道のり

こんにちは、技術本部 Mobile Application グループの山名です。 早いもので今年も残すところ僅かになってきました。 そういえば大学時代のこの時期は、新卒採用が本格的に始まってそわそわしていたなあと懐かしい気持ちになっている今日この頃です。 そんな…

増え続けるTODOコメントに立ち向かう

データ戦略部*1でエンジニアをしています、22新卒の金子です。 突然ですが、皆さんはコードにアノテーションコメントを使っていますか?アノテーションコメントというのはTODO、FIXME、NOTEなど、コメントに何かしらのプレフィックスを付けて、コメントの意…

Eight で Internet Explorer のサポートを終了するために行ったこと

こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。 2022 年 6 月 15 日、Internet Explorer(IE)のデスクトップアプリの提供が終了しました。 それに伴い、PC 版 Eight では IE のサポートを完全に終了し、閲覧することができなくなりまし…

Sansan アプリにおける iOS 12 のサポート終了対応

こんにちは、技術本部 Mobile Application グループの山名です。 WWDC から早くも1ヶ月が経とうとしており、時の流れの速さを感じています... (ちなみに自分は今年も What’s new in UIKit があることに絶望したのが一番印象に残っています) そんなことはさ…

ハイフンに似た文字が Shift_JIS でエンコードできない問題とその解決策

初めまして! 2022年の3月に入社しました渡邉です。 現在はデータ戦略部という部署に所属しておりまして、多種多様なデータを収集・活用するためのサービス開発に携わっています。タイトルにある通り、今更になって Shift_JIS と格闘する羽目になったのです…

21新卒としてのBill Oneでの1年間を振り返る

こんにちは、技術本部 Bill One Engineering Unitの江川です。 2021年4月に入社し、早くも入社から1年と2ヶ月が経過してしまいました。 いい機会なので今回は入社から今までを振り返り、新卒としてのBill Oneでの経験や学び、感じたことについてお話ししてい…

Sansan iOS アプリにおける iOS 15 対応

こんにちは、技術本部 Mobile Application グループの山名です。 来るべき iOS 16 に思いを馳せている今日この頃ですが、今回は Sansan iOS アプリにおける iOS 15 対応についてお話ししようと思います。

© Sansan, Inc.