Sansan Builders Box

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

開発

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

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

勤怠を転記したい!「勤怠つけ太郎」誕生秘話

Eight 事業部ビジネスサポートチームの山本です。社内では七瀬と呼ばれています。 業務企画と呼ばれる、事業部の総務をエンジニアの視点でサポートしています。今回は昨年制作した「勤怠つけ太郎」についてご紹介します。

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

はじめに どうも、プロダクト開発部の自称社内関数型担当の福田です。社内でのHaskellの本を読む勉強会を運営しています。 今回は一風変わったモナド、逆状態(反転状態)モナドが面白かったのでHaskellにおける状態モナドと合わせて2部構成で紹介したいと思い…

レイヤードアーキテクチャを振り返る

こんにちは、Sansanプロダクト開発部の清水です。 ある程度のアプリケーションの大きさだと当たり前に使われる事が多い「レイヤードアーキテクチャ」の自分が考える設計のポイントや、実際に運用する際のポイントについて書いてみようかと思います。 基本的…

名刺データ化コストを改善する

はじめまして、DSOC Development Group で開発をしている石畑です。 現在は名寄せチームで、データ統合の機能開発をしています。関連のある名刺データを統合することで、顧客情報を一元管理できるようにしたり、世の中の様々なビジネスデータを収集し、名刺…

Ruby on Lambdaで実現する、Eightの大規模画像処理基盤

Eight事業部 Platform Unit / Engineering Manager の 藤井洋太郎(yotaro) です。 私のチームはいわゆる技術基盤を担当するチームで、パフォーマンス改善、アーキテクチャ刷新、セキュリティ対応といった課題と日々向き合っています。 今回の記事では、昨年1…

Webアプリケーションにおける正しいキャッシュ戦略

こんにちは。プロダクト開発部のサーバサイドエンジニアの荒川です。普段はSansanのスマホアプリのAPIの開発をしています。 今回扱うテーマは皆さん大好きキャッシュ(Cache) です。 Webアプリケーションを開発するエンジニアである以上、キャッシュの存在…

インターフェースに関する覚書 なめらかなプロダクト開発を目指して

はじめに こんにちは。Eight事業部でエンジニアリングマネージャーというお仕事をしているkazu0620です。今回は、このブログに寄稿をできる機会を頂いたので、年明けくらいから何となく考えていた、インタフェースというものについての話をまとめてみました…

マルチモジュールAndroidアプリケーションについてDroidKaigiで登壇しました

Eight事業部でEight Android版の開発を担当している山本です。 2月7日〜8日に開催されたDroidKaigi2019に「multi-module Androidアプリケーション」というタイトルで登壇させていただきました。 スライドはこちら。 当日の発表動画はこちらです。 DroidKaigi…

Sansan CI チームの CI (継続的インテグレーション)

はじめに こんにちは。Sansan 事業部 プロダクト開発部 CI チームの 中田 です。 突然ですが、CI チームと聞いてどんな仕事を想像しますか? 一般的に IT 分野で CI というと 継続的インテグレーション (Continuous Integration) の略です。 ところが Sansan …

.NET から Azure Table Storage へのバッチ処理

高橋 洸 です。今回は最近触った Azure Table Storage の .NET SDK の話をします。簡単に扱えてしまうが故にあっさりハマることがあるので要注意です。 Table Storage は Microsoft Azure のサービスのひとつで、マネージドな NoSQL キーバリューストアを提…

Android 4系のサポートを終了した話

SansanでAndroidアプリケーションエンジニアをしている山口です。 Sansanでは先日Androidアプリのサポートバージョンを2019年4月1日よりAndroid 5.0 以上にさせていただくことをお知らせしました。 jp-help.sansan.com これに至った背景や流れについて書きた…

レガシーシステムのおそうじ

年末ってことで。 Sansan事業部 プロダクト開発部 基盤チームの加畑です。 Sansan Advent Calendar 2018、11日目の記事です。 普段の本ブログは、いまをときめく機械学習領域のスーパーエースたちや、活気溢れる技術イベントや、圧倒的イケメンCTOが登場して…

© Sansan, Inc.