Sansan Builders Blog

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

開発

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)です。 最近は、持ち手部分に適度な厚みと重さがあるいい感じのカトラリー(食卓用のナイフ・フォーク等)を探すのにハマっています。 おすすめのものがある方はご一報いただければ幸いで…

Elasticsearch 導入による Eight Career Design の検索機能の改善

こんにちは!Eight事業部でサーバーサイドエンジニアをしている常盤です。 今回は、Eight が提供しているダイレクト採用プラットフォームである Eight Career Design (ECD) の検索機能を検索エンジンの Elasticsearch を利用して刷新した話をしたいと思いま…

Android版SansanのtargetSdkVersionを30にしました

こんにちは、Sansan事業部プロダクト開発部に所属しているAndroidアプリエンジニアの荒です。 先日Sansan AndroidアプリのtargetSdkVersionを30に更新しましたので、その際に必要だった変更などについてお話していきます。 play.google.com targetSdkVersion…

【仕様を読み解く】第2回 Advanced Message Queuing Protocol (2) ~Transport~

こんにちは、プロダクト開発部 Data Hub プロダクトグループの秋田です。気付けばもう12月。随分肌寒くなってきましたね。こたつに入りながらリモートワークをしたいところですが、そういえば我が家にはこたつがないことに今気付きました。本連載では様々な…

iOS アプリで様々なファイルをプレビューできる QLPreviewController の紹介

こんにちは、Sansan プロダクト開発部 iOS アプリエンジニアの相川です。最近個人的に機械学習を勉強していて、数学の勉強もすることになり、毎日新しいことを学ぶことができているのと大学時代に塾講師をしていた経験も少し活きていて楽しいです。 今回は i…

EightでStripeの銀行振込機能(Pilot版)を活用してみた

こんにちは。 Eight事業部で企業向けプレミアムの開発チームのエンジニアリングマネージャーをしている鈴木です。 今はプレイングマネージャー的な働き方をしていたりします。 EightでStripeの銀行振込機能(Pilot版)を活用してみた話をJP_Stripes Advent Cal…

【仕様を読み解く】第1回 Advanced Message Queuing Protocol (1) ~Types~

初めまして、プロダクト開発部 Data Hub プロダクトグループの秋田です。20卒で入社して半年が過ぎ、月日があっという間に過ぎ去る恐ろしさを肌で実感する今日この頃です。本連載では様々なプロトコルやシステムの仕様を読み解いていくことで、それらに込め…

新卒が思う趣味と仕事のプログラミングの違い

新規事業開発室 新卒1年目の山邊です。新規事業開発室のエンジニアが多く集まる関西支店(大阪)でBill One | あらゆる請求書をオンラインで受け取るを開発しています。 私は学生時代に趣味としてプログラミングをしていました。仕事としてプログラミングを…

Eight 、TypeScript はじめました

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

新規事業開発での技術選定の意思と意図 (フロントエンド編)

こんにちは、関西支店で新規事業開発室に所属するソフトウェアエンジニアの加藤です。Bill Oneという新規サービスの開発に携わっています。 バックエンド編の続きとして、フロントエンドで私たちが使用している技術やライブラリを振り返って、どんな意志と意…

【オンライン名刺開発の裏側】ビッグプロジェクトを高速に開発した際の工夫を共有します

こんにちは。Sansan事業部でSansanのAndroidアプリ開発を担当しています北村です。今回はSansanの中でもビッグプロジェクトとなる「オンライン名刺機能」のAndroid開発の裏側として、オンライン名刺開発で得た知見の一部を紹介します。iOS版の記事はこちらと…

新規事業開発での技術選定の意思と意図 (バックエンド編)

こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断す…

テキストサイズを画面サイズに合わせて自動的に変化させる

こんにちは!Sansan事業部 プロダクト開発部のふるしんです。 私は大阪のオフィスでSansanプロダクトのAndroidアプリの開発に従事しています。 play.google.com 皆さん、Androidで画面をデザインしてる時にこんなことを思ったことはありませんか? Pixel3 XL…

© Sansan, Inc.