Sansan Tech Blog

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

開発

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 対応についてお話ししようと思います。

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

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

textlintによる表記ゆれ撲滅

Eightでフロントエンドエンジニアをしている青山です。 今回はEightのCI環境にtextlintという文書校正ツールを導入してみたので、その経緯や実施した内容をお伝えします。 サービスを複数抱えているなど、文書管理が煩雑になってチェックが大変、といった場…

gokart の環境変数周りでバグを発見したので、修正 PR を出したら爆速でリリースされた話

こんにちは。技術本部 R&D 研究員の青見です。 4月で社会に出て1年になりました。 この時期は花粉症が辛くて記憶がくしゃみにかき消されがちですが、入社式のやっていきを思い出して2年目も頑張っていきます。

ビルドシステムをcreate-react-appからViteに移行した話

こんにちは、技術本部 Bill One Engineering Unitの江川です。 2021年4月に新卒としてSansanに入社したのですが、早いものでもう1年が経ってしまいそうで驚いています。 今回は、そんな早かった1年に思いを馳せつつ、Bill Oneフロントエンドのビルド周りを高…

ロバストネス図を開発で活用してみた話

こんにちは。技術本部 Bill One Engineering Unit の前田です。普段はBill One のWebアプリケーション開発をしつつ、チーム内ではPdL(プロダクトリード)という役割を担っています。入社して初めてのSansan Builders Blogの執筆になります。よろしくお願い…

国際化を意識したWebアプリケーションにおける日付・時刻の扱い方

こんにちは、クラウド請求書受領サービス Bill One の開発をしている加藤です。 新しくアプリケーションを開発する際は、それが日本国内をターゲットにしたものであっても、グローバル対応するときに問題が発生したり、そもそもグローバル対応できなかったり…

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

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

GitHub Actions で Pull Request 作成時の手間を削減した話

こんにちは。技術本部 Mobile Application グループの多鹿です。 本記事は Sansan Advent Calendar 2021 15日目の記事です。 adventar.org この記事では、 GitHub Actions を用いて Sansan iOS チームでの Pull Request (以降 PR と記載) 作成時の決まり事を…

GIF しか残ってなかったオリジナルのローディングを CSS アニメーションで再現した話

こんにちは。 Eightでフロントエンドエンジニアをしている鳥山(@pvcresin)です。 気づいたら開発者体験(DX)向上の取り組みばかり記事にしていたので、たまには実装の記事も書いていこうと思います。 今回は、ローディングを CSS アニメーションで実装し…

EightからjQueryが消えた日

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

EC2インスタンスのデプロイを CodePipeline + CodeDeploy + CodeBuildで改善した話

はじめまして、技術本部 サービス開発部の上島です。 私はSansanのプロダクトの裏側でデータ統合の役割を担う「名寄せシステム」の開発に携わっています。今回は、その名寄せシステムのEC2で稼働しているRailsアプリのデプロイの仕組みを、CodePipeline+Code…

Microsoft Teams ビデオ会議アプリの作り方の紹介

こんにちは。技術本部 Sansan Engineering Unit 所属の八藤丸です。私は中途採用で昨年9月に入社して11ヶ月ほどになる、関西支店で勤務するエンジニアです。今回の記事では、6月末にリリース*1した Microsoft Teams ビデオ会議連携機能の概要とビデオ会議の…

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

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

© Sansan, Inc.