Sansan Tech Blog

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

開発

増え続ける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)です。 最近は、デザインとエンジニアリングの距離をもっと近くにできないかということばかり考えています。 なかなか難しい課題で、すぐには答えが出そうにありません。 さて今回は、以前書いた…

.NETなCDKで.NETなLambdaを自動デプロイしていく

はじめまして、今年の3月にSansan事業部プロダクト開発部にjoinしました辻田です。.NETは全くの未経験でしたが.NETエンジニアとして日々奮闘中です。 初投稿のこの記事ではわたしが趣味でちょくちょく触ってるAWS CDKについて書こうと思います。CDKの言語で…

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

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

Jetpack DataStore入門〜Proto DataStore実装編〜

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。play.google.com この記事はJetpack DataStore入門〜Preferences DataStore実装編〜 の連載として、Proto DataStor…

Go言語とCloud Runを用いてチーム間のデータ連携システムを作成した話

1. はじめに こんにちは、DSOC サービス開発部 Bill One Entryグループの内田祐司です。 この投稿がSansan Builders Blog 初投稿となります。 今回は、Go言語とCloud Runを用いて他チームとのデータ連携を行う仕組みを開発した時のことを紹介したいと思いま…

Internet Explorer 11 (IE11) に対応するためにやったこと

こんにちは。DSOC サービス開発部 Bill One Entryグループの山﨑です。 クラウド請求書受領サービス『 Bill One 』で取り込まれた請求書のデータ化システム『 Bill One Entry 』を開発するチームでエンジニアをしています。 bill-one.com Bill One Entry の…

マルチテナントSaaSのテナント分離をRow-Level Securityに移行した

こんにちは、クラウド請求書受領サービス「Bill One」の開発に携わっているソフトウェアエンジニアの加藤です。Bill OneはB2BのマルチテナントSaaSであり、データベースとして Cloud SQL 上のPostgreSQLを利用しています。従来はマルチテナントのデータを分…

新卒1年目エンジニアがぶつかった壁を振り返る

こんにちは。DSOCサービス開発部の阿部です。 私は、昨年4月に新卒アプリケーションエンジニアとして入社し、普段は名刺のデータ化システム「GEES」の開発をおこなっています。今回は、新卒入社してからの1年間を振り返って、エンジニアとしてぶつかった以下…

Visual Regression Testingで安心できるフロントエンド環境を作る

こんにちは。Eight事業部で主にフロントエンドを担当している青山です。 今回はEightのWebフロントエンドコンポーネント集にVisual Regression Testingを導入した事例を紹介します。 他社さんの事例や勉強会を見るに敷居も下がってきているようで、遅ればせ…

まだ間に合う!node-sass(LibSass)から sass(Dart Sass)への移行

こんにちは。 Eight で エンジニアをしている鳥山(@pvcresin)です。 違う違うと自分に言い聞かせていますが、おそらく花粉症になってしまいました 在宅勤務で良かったです。 今回は Sass のコンパイルに使用しているライブラリを node-sass(LibSass)か…

Jetpack DataStore入門〜Preferences DataStore実装編〜

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。 play.google.comこの記事では、連載として2020年 9月 2日に1.0.0-alpha01として公開されたJetpack DataStoreにつ…

compass-mixins から PostCSS の Autoprefixer に移行する

こんにちは。 Eight でフロントエンドエンジニアをしている鳥山(@pvcresin)です。 最近、事業部長に Slack の絵文字をプレゼントするという実績を解除しました。 早く使われないかなとそわそわしています。 さて今回は、Sass の mixin を集めたライブラリ…

© Sansan, Inc.