Sansan Tech Blog

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

JavaScript

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

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

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

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

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

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

TypeScriptプロジェクトにスキーマ駆動開発を持ち込み、より型安全な世界へ

Bill One Entry*1グループの秋山です。 本題に入る前にお知らせです。9/12 (火) にTypeScriptを活用した型安全なチーム開発をテーマとしたイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com 1. はじめに 1-1. スキーマ駆動開発と…

チームの朝会担当お知らせbotを開発していたら他部署でも使われるようになった話

こんにちは。技術本部Digitization部データ化グループに所属している池田 力と申します。 普段はBill Oneで受領した、紙の請求書をスキャンするシステムの開発に携わっています。 今回の記事ではチームの朝会で使っている朝会担当お知らせbotを開発した話、…

Notion + GASでタスク一覧をSlackに通知してタスク管理をしやすくする

こんにちは!Sansan 技術本部 Mobile Applicationグループのふるしんです furusin (@furusin_oriver) / Twitter私はNotionのTask Listを使って日々のTODOを管理していますが、毎日うまくタスク管理ができている気があまりしません どうすればいいかな?とCha…

勉強会の出欠確認 Bot を全社展開した話

こんにちは、技術本部 Data Hub Engineering グループの秋田です。 最近運動不足で体がなまっているのがちょっとした悩みです。ずっと放置していたリングフィットアドベンチャーを今更ながらやろうと思いつつ記事を書いているので、記事が載る頃にはムキムキ…

今さら聞けないビジュアルリグレッションテストをChromaticで始める

Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケー…

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

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

esbuild-loader 試してみたら開発ビルドが 2〜3 倍速くなった話

こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。 散歩が趣味なので、暖かくなってきて嬉しい今日このごろです。 さて今回は Web フロントエンドのビルド時間短縮のため、esbuild-loader を導入した話をしたいと思います。

Sansan iOS アプリにおけるリリース作業自動化の仕組みを作り直した話 ~ Bolt 編 ~

こんにちは、Sansan 技術本部 Mobile Application Group に所属している iOS アプリエンジニアの相川です。 本記事は「Sansan iOS アプリにおけるリリース作業自動化の仕組みを作り直した話」の 2 作目にあたります。 仕組みを作り直すことになった詳しい背…

人事評価のためのWebアプリケーションを内製化しました

人事部 高橋 です。 本記事は Sansan Advent Calendar 2021 - Adventar の10日目の記事です。このたび、社内で人事評価に使うシステムを内製しました。このたびと言いつつ1年ほど前から運用が始まっていたのですが、やり残し等も落ち着いたこのタイミングで…

EightからjQueryが消えた日

Eight Engineering Unitで主にEightのWebフロントエンドを担当している青山です。 今回はEightが長年利用していたjQueryを依存から削除した、という内容を、その経緯を交えながらお伝えします。 レガシーコードをリファクタリングされているエンジニアの方々…

TypeScript を導入して 1 年が経って感じた良かったこと・困ったこと

こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。 最近は、デザインとエンジニアリングの距離をもっと近くにできないかということばかり考えています。 なかなか難しい課題で、すぐには答えが出そうにありません。 さて今回は、以前書いた…

TypeScript / JavaScript の import を自動でソートする

こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。 マイブームはコンビニで買える GODIVA のベルギーダークチョコレート(アイス)を食べることです。 濃厚で甘すぎず、量も多すぎないところが気に入っています。 今回は TypeScript や Java…

Eight 、TypeScript はじめました

こんにちは。Eight でフロントエンドエンジニアをしている鳥山(@pvcresin)です。 最近は UI デザインとアプリケーションのパフォーマンス改善、ビルド時間の短縮に興味があります。 Eight の Web フロントエンドは JavaScript(JS)で書かれていましたが、…

© Sansan, Inc.