Sansan Builders Blog

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

開発

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 を集めたライブラリ…

CircleCI Orbが最高だった件

はじめに こんにちは, Sansan株式会社プロダクト開発部エンジニアの北見です.最近, 個人開発でCircleCIを使ったビルド&デプロイを構築することができました.構築過程で「CircleCI Orb」という機能を見つけたのですが, これが非常に有用だったので, 紹介させ…

Sansan iOS アプリに XcodeGen を導入しました

こんにちは、Sansan プロダクト開発部 iOS アプリエンジニアの相川です。 本記事は Sansan Advent Calendar 2020 - Adventar の 24 日目の記事になります。 Sansan の iOS アプリに XcodeGen を導入することができたので、今回は XcodeGen 導入について以下…

チームのレビュー負荷を見える化するために簡易な Web アプリを作った話

こんにちは。 Sansan 事業部プロダクト開発部で iOS アプリエンジニアをしている中川です。 本記事は Sansan Advent Calendar 2020 の 23 日目の記事です。 今回は iOS アプリ開発ではなく、チーム開発する上での課題と解決へのアプローチに関する話なので、…

eslint-loader の使用をやめることで、ビルド時間を短縮した話

こんにちは。 Eight 事業部でエンジニアをしている鳥山(@pvcresin)です。 最近は、持ち手部分に適度な厚みと重さがあるいい感じのカトラリー(食卓用のナイフ・フォーク等)を探すのにハマっています。 おすすめのものがある方はご一報いただければ幸いで…

© Sansan, Inc.