Sansan Builders Box

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

開発

ローディング画面をお洒落にする SkeletonView の使い方とハマったポイントまとめ

こんにちは! iOS アプリエンジニアの髙橋佑一朗です! 今回は Sansan アプリ内で使用している Shimmer (シマー) を簡単に表示できるようになる SkeletonView というライブラリについてまとめていきたいと思います。 導入や使い方については公式の README が…

DBMSをGoで実装してみた

こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いの…

レガシーシステムとつきあう

Sansanプロダクト開発部・基盤チームの加畑です。 Sansanプロダクト開発部には、現在約120名のメンバーが所属しています。その中で、私が所属する基盤チームは6名のメンバーで構成されており、データアクセスや認証、メッセージング基盤、CI等開発環境やリリ…

GAEアプリの開発フローにCloud BuildでのCI/CDをいい感じに組み込む

関西支店で新規事業開発室に所属する加藤です。私のチームでは、Google Cloud Platform (GCP) で主にGoogle App Engine (GAE) を使ってシステムを構築しています。 GAEはコマンド1つで簡単にデプロイできますが、チームの開発者が増えるにつれて、デプロイ用…

新サービス開発でインフラ担当がやったこと //主に運用とセキュリティの話

こんにちは。 DSOC Infrastructure Groupの水谷です。*1 趣味は釣りです。 最近、物忘れが激しく本ブログの初稿日すらほぼ忘れてました。 海馬がちゃんと働いているのか不安でなりません。*2さて、今回はDSOCで新規サービスとして開始されたNews配信システム…

AWS ECS & TerraformによるSansanの統合監視運用とその仕組み

はじめに IcingaとMunin Zabbixへの移行 環境構築 Zabbixの監視内容 監視のリリース方法 リソース配分 バージョンの固定化 本監視システムにおけるツラミ Zabbixの独自仕様に消耗する Zabbixの仕様にインフラ構成を追従している リリース手順の複雑化 サービ…

「うわっ…弊社のサービス、遅すぎ…?」を New Relic で劇的に速くした話

Eight事業部 Platform Unit / Engineering Manager の 藤井洋太郎(yotaro) です。 私が属するPlatform Unitはいわゆる基盤チームとも呼ばれ、「アーキテクチャ刷新」「データ基盤整備」「セキュリティ」「環境整備」など多方面での開発・改善を行っています。…

名刺撮影の精度が劇的に向上しました

Sansan株式会社の山本純平と申します。Sansan事業部にてモバイルアプリのプロダクトマネージャをしています。 今年に入ってから、法人向けクラウド名刺管理サービス「Sansan」のコンセプトが新しくなりました。新しいコンセプトは「Sansan, Where Business S…

Salesforce DXを導入した話 Part 2

こんにちは。Sansan CIO室の李です。 さて、前回に続いてSalesforce DX(以下、SFDX)の話です。今回はSFDXの導入手順 [^1]と導入プロセスにおけるTipや注意事項について話していきたいと思います。 Reminder : この記事はSalesforce CLI v46を基準に作成して…

SansanでSalesforce DXを導入した話 Part 1

はじめに はじめまして。Sansan CIO室で社内システムエンジニアをしている李です。 今年4月にSalesforce DXの導入を担当しまして、今回はこのSalesforce DXについて話してみたいと思っています。 Salesforce DX(以下、SFDX)って何?という方もいらっしゃるの…

名刺画像からの企業ロゴ抽出技術

こんにちはDSOC R&D の糟谷です。今回は、Sansanで開発した「名刺画像からの企業ロゴマーク抽出技術」について紹介しようと思います。 SansanやEightでは取り込んだ名刺のロゴマークが表示されるようになっています。表示されるロゴは、Webから取得したもの…

Sansan Androidのこの1年の変化

SansanでAndroidアプリケーションエンジニアをしている山口です。4月からリードエンジニアになりました。 私は昨年7月に入社し、先日無事勤続1周年を迎えたのでSansan Androidにおけるこの1年間の変化について書こうかなと思います。

ソースコードで理解するクリーンアーキテクチャ

はじめに こんにちは。プロダクト開発部の荒川です。 これまで最年少を謳っていましたが、ついに新卒の子にその座を奪われてしまいました。とても残念です。 さて今回のテーマは、皆さんお馴染みクリーンアーキテクチャ(Clean Architecture)です。 クリー…

Eightを例にした、やさしい二段階認証の話

初めまして。Eight事業部のPlatform Unit エンジニアの 李です。 私が属するPlatform Unitは基盤チームとも呼ばれ、Eightをより安心して使えるサービスにするための開発を行っています。 私は主にセキュリティー周りの開発を担当しています。今回は5月末にリ…

Sansan iOS アプリの CI / CD 事情

お久しぶりです。 Sansan iOS アプリエンジニアの中川です。 前回の記事では SwiftLint × Sider と SwiftFormat を使って、 Swift らしくリファクタリングする話を書きましたが、今回は CI / CD についてお話します。 buildersbox.corp-sansan.com

Sansan iOSアプリ開発チームの未来について、Backcastingで考えてみた

Backcasting (逆算思考) というキーワードを切り口に、我々iOS開発チームの改善活動のこれまでとこれからについて考えてみました。

Developers Boost KANSAI に「Eight iOS を支えるアーキテクチャ」というタイトルで登壇しました

Eight 事業部 iOS エンジニアの河辺です。6月15日に開催された Developers Boost KANSAI に「Eight iOS を支えるアーキテクチャ」というタイトルで登壇しました。 発表資料はこちらです。

SansanのやさしいSQLチューニング

はじめまして。 Webアプリケーションエンジニアをしている黒澤です。 現在は新規事業の立ち上げをしていますが、この間までは法人向け名刺管理サービス「Sansan」の開発を行っていました。突然ですがSQLが遅くて困った経験はありますか?私はよくあります。 …

サーバレスなユーザイベント連携機能を作る

はじめに Eight事業部のサーバサイドエンジニアをしている太田です。 私の行っている新機能の設計の一環で、ユーザイベントの連携機能をサーバレスで作ることを検討しています。 サーバレスという言葉はエンジニアの間では一般的になってきました。しかし仕…

モブプロにやりづらさを感じて改善した話

Sansan 事業部プロダクト開発部の光川です。 私が所属している関西支店のチーム(MAIDO)では、よくモブプログラミング(以下、モブプロと記載)による開発を行っています。 この記事では、私が新入社員としてモブプロによる受け入れを体験した中で 初めてのモ…

WebP変換 & 画像キャッシュサービスをサーバレスで構築する - Feed re:Architect vol.1 -

Eight事業部 Platform Unit / Engineering Manager の 藤井洋太郎(yotaro) です。 前回、以下のRuby on Lambdaを使った画像処理基盤の記事を書かせていただきましたが、 今回の記事では少し前に、Eightフィード機能の高速化の際に行った、「画像フォーマット…

未経験の新卒が配属1ヶ月でやった事

Eight事業部 エンジニアの坂田です。 私は、今年の4月に新卒として入社しました。学生時代はアルバイトでJavaを書いたりしていましたが、Eightで扱っているRailsについてはほとんど扱ったことがなく、未経験でした。 今回はそんな私が「Eightに配属されて最…

SwiftLint × Sider + SwiftFormat で Swift らしくリファクタする

はじめまして。 Sansan iOS アプリエンジニアの中川です。 私は 2014 年新卒として Join し、4 年間はサーバーサイドエンジニアでしたが、直近のスマホアプリ利用率の増加や新コンセプトを体現するためのプロダクトリニューアルでモバイルエンジニアの需要が…

状態を扱うモナド(後編)

前回のおさらい どうも、改めましてプロダクト開発部の自称社内関数型担当の福田です。社内でのHaskellの本を読む勉強会を運営しています。 前回は状態を扱う関数を状態計算と定義し、小さな状態計算を連鎖できるような構造を持たせるための定義を行いました…

Sansan iOS メジャーアップデートの舞台裏

Eight 事業部 iOS エンジニアの河辺です。2019年2月から2019年4月までの2ヶ月間、 Sansan の iOS チームに異動し、先日メジャーアップデートした Sansan iOS の開発をしていました。 Sansan iOS ではメジャーアップデートに伴って、アーキテクチャ刷新や開発…

顧客データHub開発の裏側(後編)

CTO藤倉です。今年3月、法人向けクラウド名刺管理サービス「Sansan」の新機能「顧客データHub」を発表しました。これは、Sansanがこれまで蓄積してきた技術とノウハウを応用したテクノロジーで、独自の「名寄せエンジン」を用いて社内のあらゆる顧客データを…

顧客データHub開発の裏側(前編)

CTO藤倉です。今年3月、法人向けクラウド名刺管理サービス「Sansan」の新機能「顧客データHub」を発表しました。これは、Sansanがこれまで蓄積してきた技術とノウハウを応用したテクノロジーで、独自の「名寄せエンジン」を用いて社内のあらゆる顧客データを…

顧客データHub開発の裏側(中編)

CTO藤倉です。今年3月、法人向けクラウド名刺管理サービス「Sansan」の新機能「顧客データHub」を発表しました。これは、Sansanがこれまで蓄積してきた技術とノウハウを応用したテクノロジーで、独自の「名寄せエンジン」を用いて社内のあらゆる顧客データを…

DSOCコーポレートサイトを動かしているインフラ

導入 DSOCインフラチームの藤田です。 皆さんはDSOCのブランドサイトをご覧になったことはありますでしょうか? 自分の所属している部署のブランドサイトがこんなにかっちょいいなんて、テンションアゲアゲです。ちなみにサイトのコンセプトなどはこちらで紹…

フィード機能におけるDynamoDBの選定理由と活用法

こんにちは。Sansanのサーバサイドエンジニアの荒川です。今回はSansanのアプリに導入されてるフィード機能について、特に中心でもあるDynamoDBについてアーキテクチャを交えながら技術的側面を解説していこうと思います。 Sansanアプリにおけるフィードとは…

© Sansan, Inc.