サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
猫
buildersbox.corp-sansan.com
技術本部 Data Hub Engineering Unitの光川です。 先日、「技術本部総会」という技術本部に所属するメンバーが一同に集まる場でOST(オープンスペーステクノロジー)を実施しました。 本記事は、そのOSTの運営レポートです。 背景 弊社のエンジニアは336人。 そのうち210人はコロナ禍で入社した人たちです。*1 弊社ではリモートワーク率が高まったり、オフラインで集まるイベントが激減したため チームや部門を超えた横の繋がりがなかなか作れずにいました。 そんな背景で、社内交流のためのイベントをオフラインで開催することになったと聞きました。 OSTをやることになったきっかけ 自分は今年1月に開催されたRSGT2023 *2 に参加しました。 そこで初めてオフライン大規模OSTを体験しましたが、OSTの仕組みのおかげで知らない人だらけのイベントでたくさんの方々と交流ができました
こんにちは。 Eight でエンジニアをしている鳥山(@pvcresin)です。 今年はいくつも BBQ の予定がたっていて、コロナ禍前の日常に戻りつつあることを実感しています。 BBQ ならラムチョップが好きです。 今回は、Web フロントエンドの本番ビルドに SWC を導入した話をしたいと思います。 目次 背景 esbuild と SWC 事前検証 ビルド処理の移行イメージ 移行作業 ハマったポイント 結果 まとめ 背景 Eight では Web フロントエンドの本番ビルドを AWS CodeBuild で行っていますが、長年の開発によりコードベースが膨らみ、それによってビルドに要求されるメモリ領域も日々増加していました。 そしてある日を境に、OOM Killer(Out Of Memory Killer) によるプロセス停止で時々ビルドが失敗するようになってしまいました。 これは C
こんにちは、研究開発部 Architectグループの藤岡です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行ったので、その内容を公開します。 目次 目次 研修の目的 研修の概要 実践編の概要 アプリケーションを作成 バッチを作成 gokartとは パイプラインを実装 APIを作成 FastAPI とは APIを実装 ディレクトリ構成 実行 Webアプリを作成 Streamlitとは Webアプリを実装 Docker化 デプロイ ECRにイメージをプッシュ アプリケーション基盤 Circuitについて アプリのマニフェストを作成 研修終了後 終わりに 研修の目的 この研修の主な目的は、新卒社員がスムーズに業務に入れるようにすることです。 研究開発部にはさまざまなバックグラウンドを持つ研究員が入社するため、チーム開発の経験がない方もいます。 そのため、Gitの操作やプルリクエス
はじめにこんにちは。技術本部 Bill One Engineering Unitの田畑です。 昨年11月に横串チームとしてIaC(Infrastructure as a Code)改善チームが立ち上がりました。横串チームとは、Bill One Engineering Unit(以下、Bill One EU)内の各Groupの垣根を超えた横断チームのことで、Bill Oneで抱えている課題を解決するために有志で集まったメンバで構成されています。*1 IaC改善チームとは、文字通りインフラのコード化を改善するチームで、Bill One EUではTerraformを採用しています。 この記事では、立ち上げから半年間取り組んできた活動内容や今後の展望についてを、活動を振り返りつつ説明します。 なお、この記事は【Bill One 開発 Unit ブログリレー】という連載記事のひとつです。 目次 はじ
はじめに こんにちは。技術本部Bill One Engineering Unitの柳浦です。 BIll One ではGoogle CloudのError Reportingサービスにより、アプリケーションで発生したエラーを検知し、運用に活用しています。この記事では、Bill OneにおけるError Reportingの活用方法について紹介します。 なお、本記事は【Bill One 開発 Unit ブログリレー】という連載記事のひとつです。 はじめに Error Reporting Bill OneにおけるError Reportingの活用 エラー運用フロー Error Reportingを使った運用フローの工夫 Slack通知のカスタマイズ レポート通知が長時間停止する問題の対策 今後の取り組み おわりに Error Reporting Error ReportingはGoogle C
はじめに こんにちは! 技術本部 Bill One Engineering Unit の市川です。 私の所属するチームでは Bill One の新規マイクロサービス開発に Go 言語と Connect を採用してスキーマ駆動開発を実践しています。 今回は Connect を導入して実感した良いところを、バックエンドの話を中心に実例を交えながらご紹介していきます。 なお、本記事は【Bill One 開発 Unit ブログリレー】という連載記事のひとつです。 目次 はじめに 目次 Connect とは Connect の良さ・メリット Protocol Buffers ベースのスキーマ駆動開発 Connect を用いた開発の大まかな流れ Proxy 不要でブラウザから直接 API が呼べる connect-go が net/http ベースであること REST API との共存が可能 net/
はじめに こんにちは、技術本部Bill One Engineering UnitでBill Oneのアーキテクトを担当している加藤です。最近までSREチームの一員として、Webアプリケーションのオブザーバビリティ1 向上に取り組んできました。開発チームの規模が拡大するなか、誰でも簡単にアプリケーション内部の状態を理解し、信頼性やパフォーマンスに関する問題を未然に防げるようにするためです。 Bill Oneではメインのアプリケーション実行環境としてフルマネージドなCloud Runを使用しています。今回はCloud Runで稼働するWebアプリケーションにOpenTelemetryを適用し、Cloud Trace以外のAPM (Application Performance Management) にトレースを送信した際の学びをご紹介します。 Cloud TraceはGoogle Cloud
はじめに こんにちは! 技術本部 Bill One Engineering Unit の市川です。 Bill One に Join してから早いもので 1 年が経ちました 🌸 今回は 2022 年 9 月ごろから 3 カ月かけて実施した、 Bill One の React フロントエンドにおける Visual Regression Testing (以下、VRT) 導入について、 フロントエンドチームの取り組みや導入時の進め方を紹介していきます。 なお、本記事は【Bill One 開発 Unit ブログリレー】という連載記事のひとつです。 目次 はじめに 目次 VRT 導入の背景 フロントエンドチームの紹介 テスト方針の改定 Storybook と Chromatic Bill One における VRT 導入の進め方 1. VRT 対象 Component の絞り込みとゴール設定 2.
こんにちは、研究開発部のDataAnalysisグループの糟谷勇児です。 今回は、統計学について書いていこうと思います。ただし今回の対象は研究員の方ではなく、統計学初心者の方を想定しています。 皆さんはスマホのゲームはやりますか? 最近はガチャでアイテムやキャラをゲットするゲームが多いですよね。 私もガチャが大好きです。 ガチャはいいですね。モンスターハンターなどのゲームも好きですが、最強の武器を手に入れるのはいつも一番強い敵を周回して素材を集めた後で、それ以上倒しに行きたい敵がいなかったりします。 しかしガチャは運次第では最初から最強のぶっ壊れキャラを引くことができるのです。 ところで、私の趣味はガチャの期待値計算をして某巨大掲示板に投稿することです。 そんな生活をしていて思いついてしまいました! 「ガチャだけで大体の統計学を学べるんじゃね?」 統計学はギャンブルから生まれたともいわれて
はじめに NineOCR とは NineOCR が抱える課題 Amazon SageMaker Training とは SageMaker Training の始め方 事前準備 AWS が提供しているコンテナイメージを拡張する方法 独自のコンテナイメージに SageMaker Training Toolkit をインストールする方法 スクラッチでコンテナイメージを作成する方法 まとめ 学習ジョブの実行 学習結果の確認 終わりに はじめに こんにちは、研究開発部の石井です。 本エントリーでは、弊社の OCR エンジン「NineOCR」の開発フローに SageMaker Training を導入した話を紹介します。 NineOCR とは NineOCR は Sansan が独自に開発した名刺特化の OCR エンジンです。 名刺をデータ化するフローの中で実際に活用されており、タスクの高速化・高精
はじめに 技術本部 R&D の小松です。先日、一橋大学の手島健介教授より『経済セミナー』2023年2・3月号をご恵贈いただきました。 www.nippyo.co.jp 手島教授はその中で「米国経済学会データエディター制度の取り組み 再現性向上のためのreplicationチェック」を書かれています。私たちが『経済セミナー』にて「実証研究マネジメントのためのツールキット」の連載時に、手島教授を始めとした研究者の皆さんに草稿を確認いただいたのですが、このトピックはその際に出た議論をまとめられたものです。 そこでは手島教授が体験した、採択された研究論文の再現性チェックのプロセスが事細かに書かれており、興味深いです。現在 AEA P&P のために replication code を準備している私たちにとっても、大変参考になっています。 その中で論文の筆者として行うべきこととして、以下の4点が挙げ
こんにちは。研究開発部の青見 (@nersonu) です。 そろそろ花粉症の季節ですね。週1でしか出社しない私は、なんとか引きこもって数ヶ月しのぎたいところです。 さて、今回は BERTopic という OSS について、さっくりとした手法の解説もしつつ、簡単に文書のクラスタリングを試そうと思います。 github.com 目次 目次 BERTopic とは 文書の埋め込み 文書のクラスタリング トピック表現 手法の概要まとめ BERTopic を試してみる インストール モデルのロード クラスタリングの実行 結果の確認 トピックごとの単語の重要度 トピックごとの文書を眺めてみる 次元削減手法・クラスタリング手法の変更 使ってみての所感 BERTopic とは BERTopic はいわゆるトピックモデリングを行うための OSS です。 トピックモデルは、文書集合から「トピック」は何が含まれ
社内に蓄積された顧客データを整理・統合し、マーケティングに最適なデータに進化させる顧客データ統合サービス「Sansan Data Hub」。そして、あらゆる請求書をオンラインで受け取り、請求書受領から月次決算を加速するインボイス管理サービス「Bill One」。いずれも急成長を遂げており、Sansan株式会社の事業の柱になっているサービスです。 これらのサービスは、データの処理効率やシステムの信頼性などを向上させるために、さまざまなアーキテクチャの工夫が行われています。今回は「Sansan Data Hub」と「Bill One」それぞれの開発の中核を担う千田智己と加藤耕太にインタビューし、前後編の2回に分けて記事化。前編では、両サービスのアーキテクチャ設計の工夫や思想について語ってもらいました。 【Sansan Data Hub】アーキテクチャ解説 ――「Sansan Data Hub」
はじめに こんにちは、 Mobile Application Group で iOS アプリエンジニアをやっている多鹿です。 前回は Sansan / Eight の iOS アプリにて共通で使っている社内ライブラリを Swift Package Manager (以降 SwiftPM) に対応させた話の「その1」を公開しました。 buildersbox.corp-sansan.com 今回はもう一つの社内ライブラリを SwiftPM に対応させた話になります。 はじめに SwiftPM 対応した社内ライブラリについて 対象リポジトリのディレクトリ構成 対応手順と注意点 1. ライブラリが依存する OpenCV の xcframework 化 OpenCV の xcframework 生成スクリプトを利用する ① Python スクリプトを動かすのに必要な依存ツールのインストール ② Op
「公立はこだて未来大学」にお招きいただき、学生さん向けに講義をさせていただきました。 講義で用いたスライドは公開済みで、既にTwitterやはてブでも反響をいただいております。 スライド内には埋め込み動画やリンク等、Speaker Deckでは再現されないものもあるので、講義資料をあらためて「記事形式で」全ページ公開したいと思います。 講義のテーマ/構成について 講義のタイトルは「学びを仕事に繋げる」としていますが、 「海外進出」(外貨を稼ぐという選択肢を持つ) 「成長サイクル」(継続的に成長する) と併せた 3本立て 1 にしています。 講義のテーマは非常に悩んだのですが、私の経験から学生さん向けに話せるもっとも価値のある内容はなんだろう?どうやったら90分飽きずに聞いてもらえるだろう?と考えた結果このようになりました。 2 学生さん向けの講演ではありますが、現場でバリバリ活躍されている
研究開発部Architectグループの堤(@shu223)と申します。新任マネージャーとして自身のキャッチアップも兼ねて、研究開発部の技術や成果物について紹介する記事を書いています。 buildersbox.corp-sansan.com 第5弾となる今回は、Sansan/Eightのニュース配信システムがどのように実現されているか、またその中で研究開発部のどのような技術が利用されているかについて紹介したいと思います。 ニュースの種類 現在、SansanやEightでは以下のようなニュースを配信しています。 人事異動情報 社内の共通人脈の通知 企業の最新ニュース 同業他社の最新動向 ニュースフィード 企業の最新ニュース ニュース配信のための自然言語処理技術 質の高いビジネスニュースを配信するために、以下のような研究開発部の自然言語処理技術が利用されています。 固有表現抽出 ジャンル判定 プ
はじめに 研究開発部の小松です。 本記事は Sansan Advent Calendar 2022 の17日目の記事になります。 adventar.org 普段こちらのブログではネットワーク経済学をテーマに細々と書いています。今回は少し話題を変えて、日頃の分析でお世話になっている R のパッケージ {targets} に (半年ぐらい前になりますけれど) OSSコントリビュートした話をします。 普段の業務では Python と R 両方使っていますが、素早い対応が求められる分析業務では私は R を使っています。{tidyverse} によるデータハンドリングに慣れた身からすると、pandas での処理はまどろっこしく感じられて未だに慣れません。*1 その R を用いた分析の生産性を向上に大きく寄与しているのが、1年程前に使い始めた {targets} です。以下の記事にも、研究開発部の R
研究開発部 Architectグループにてデータエンジニアとしてデータ基盤の開発・運用を担当しているジャン(a.k.a jc)です。 データ基盤の構築はETL処理の実装やパイプラインの監視だけでなく、セキュリティ、データアクセス制御管理もデータエンジニアリングライフサイクルの一環として、重要な存在になっています*1。データ基盤の第四弾となる今回は、BigQuery上に構築したデータ基盤におけるGoogleグループ・IAMによるアクセス制御を中心に紹介したいと思います。 また、過去のデータ基盤関連の記事も併せてお読みいただければと思います。 【R&D DevOps通信】データ基盤におけるGitHub Actionsを使ったTerraformとCloud ComposerのCI/CD - Sansan Tech Blog 【R&D DevOps通信】Cloud Composerを用いたデータ基
こんにちは。研究開発部Architectグループ、ML Platformチームの神林です。ML Platformチームは主に研究開発部の成果を最大化するための基盤開発を行っているチームです。この記事では、Kubernetes(EKS)を導入することになった経緯や、周辺技術の選定、運用する上で必要な設計について書いていきます。 導入の経緯 研究開発部では、プロダクトのコアな技術を開発している特性上、プロダクト組織からの要求等で、絶え間なく新しい機能を提供していく必要があります。私達Architectグループのエンジニアは、新しい機能提供のためのインフラ構築を行っていますが、毎回0からアーキテクチャ設計を行っていたため、構築するためにそれなりに大きな工数をかけていました。また、デプロイ方法もCodeBuild、CodePipeline、GitHub Actions等様々なサービスを使っており、
研究開発部Architectグループの堤と申します。新任マネージャーとして自身のキャッチアップも兼ねて、研究開発部の技術や成果物について紹介する記事を書いています。 第三弾となる今回は、Sansanの名刺データ化フローの中で使われている弊社が独自開発した名刺に特化した文字認識エンジン「NineOCR」についてご紹介します。 Sansanの名刺データ化フロー NineOCRについては本日プレスリリースが出た通り、データ化範囲が名刺記載の「全項目」 1 となり、いずれの項目でも高い読み取り精度を実現しています。 独自開発の背景 名刺のデータ化では、Emailアドレスや電話番号などを1文字間違えただけでも大問題です。 Sansanでは従来より、オペレーションセンターでの人力処理とコンピュータによる処理をうまく組み合わせて、高精度を維持しつつ、コスト削減やスケーラビリティの両立を実現してきました。
研究開発部Architectグループの堤と申します。新任マネージャーとして自身のキャッチアップも兼ねて、研究開発部の技術や成果物について紹介する記事を書いています。 buildersbox.corp-sansan.com 第二弾となる今回は、「スマキャプ」と社内で呼んでいる技術について紹介します。スマキャプではスマホ上で機械学習モデルの推論処理をオンデバイスで行っているのですが、筆者がもともとiOSエンジニアだったこともあり、本記事ではそちらについて厚めに解説しようと思います。 OCR結果を即時に返すSmart Captured(スマキャプ) 営業DXサービス「Sansan」やキャリアプロフィール「Eight」を縁の下で支える社内システムのひとつが、「GEES」と呼ばれる名刺のデータ化システムです。GEESは、セキュアに、高精度に、低コストに名刺をデータ化するためのシステムです。 Sans
研究開発部 Architectグループの堤と申します。今年4月より、まったくの門外漢だったところから研究開発部でマネジメントを担当することになりました。入社して早6カ月が経とうとしていますが、マネジメントの面でも技術面でもまだまだ学ぶことだらけです。キャッチアップしたことの整理も兼ねて、これからしばらくの間、研究開発部の技術や成果物について紹介する記事を書いていきたいと思います。 まず第一弾として、本記事ではSansanの名刺データ化フロー 1 の中で使われている研究開発部の技術についてご紹介します。 2 切り出し(背景分離) 物体検出・セグメンテーション技術を用いて、背景から名刺を切り出します。 こちらは、スマホのカメラ経由で名刺を取り込む場合は、オンデバイスで処理を行っています。こちらについてはまた記事を書きたいと思っています。(弊社ではこの技術を「Smart Captured」略して
Bill One 開発組織 ( *1 ) のグループマネージャーをしている山口です。 日々、マネージャーの役割として数十名の仲間と話す機会があり、成長観点でスキル向上の相談を受けることがあります。単にスキルといっても業務を遂行するためには多種多様なスキルが必要です。それゆえ、どのスキルに向き合うか悩んでいる人が多いように感じます。本記事はそのような人のサポートになればと思い執筆しています。 本記事ではスキルを便宜的にハードスキル、ソフトスキルと分類し、現代のエンジニアに要求されるスキルを考察します。そして、メタスキルという「スキルを俯瞰したスキル」の重要性について触れます。 ※ 本記事で扱う各スキルの概念は学問分野、ビジネス分野において、あいまいな使われ方をしています。あくまでも、とある組織のマネージャーが日頃の業務を通して得た経験からの整理としてご覧ください。 ハードスキル、ソフトスキル
本記事はオウンドメディアの閉鎖に伴い、一部編集し転載したものです 初出:2018.06 BNL(Business Network Lab) 加筆:2022.09 弱いから有益なのではなく、つながっていない者同士をつなぐ「橋渡し」こそが本質である。Sansan株式会社のデータ化およびデータ活用組織、技術本部 研究開発部の研究員、前嶋直樹が解説。前編・中編・後編の3つの記事に分けてお届けする。 SNSが普及し、より多くの人と継続してコミュニケーションが取れるようになったことにより、1970年代に社会学の分野で提示されていた「弱いつながり」の価値に、最近あらためて注目が集まっている。 しかし、そもそも「弱いつながり」という考え方は、社会ネットワーク理論の研究から出てきたものである。そこでBNL編集部は、Eightの運営会社であるSansan株式会社のデータ化およびデータ活用を担う技術本部 研究開
こんにちは。Sansan Tech Blog 編集部です。 先日Speaker Deckに「Bill One 開発エンジニア 紹介資料」を公開しました。 speakerdeck.com この記事では資料を元に、Sansanが提供するインボイス管理サービス「Bill One」の開発組織についてご紹介します。 Bill Oneとは さまざまな方法・形式で届く請求書をオンラインで一括受領し素早くデータ化する、社内の請求書をクラウド上で一元管理できるサービスです。 bill-one.com 2022年7月には、インボイス制度を見据え「請求書発行機能」の提供も開始しています。 開発組織の体制 Bill Oneのプロダクト開発チームにはPdMやアーキテクト、エンジニア、デザイナーの約40人が所属しています。 チームは表参道の本社、関西支店、福岡支店の3拠点に置かれており、1チーム5名前後で6チームあり
こんにちは、R&D Architectグループの藤岡です。今回は Step Functions(以下SFn) が実行途中で失敗した場合に、失敗した時点から再開できるような仕組みを実現したので、その内容について共有します。 <2024/2/8追記> AWS公式で Step Functions の失敗した時点から再開する機能がサポートされたので、この記事の内容は古くなりました。 https://aws.amazon.com/jp/about-aws/whats-new/2023/11/aws-step-functions-restarting-workflows-failure/ 背景と課題 今回、R&D内で稼働しているバッチの1つに関してシステムのリプレイスを行うことになりました。リプレイスを行う理由は主に以下の2つです。 バッチが途中で失敗した際の復旧作業が複雑になっていた。 バッチで処理
技術本部 Eight Engineering Unit(社内通称:Eight EU)の秋本です。普段は Eight をインフラ面からお世話することでご飯を食べています。 酷暑が続いていますね。酷暑は人々の健康を害し、健康が害されると稼動可能な人員が減り、人員が減ると業務負荷が増え、業務負荷が増えるとオペミスが発生しやすくなります。オペミスが発生してもバックアップがあれば最悪なんとかできる事が多く、もはや運用作業にはバックアップ取得が欠かせぬものとなっています。 本項では Eight におけるバックアップ取得の前史を述べ、そのうえで AWS Backup を導入していい感じになった風景を述べるものになります。 AWS Backup 導入まで Eight で使用しているデータの置き場所は以下があります。Eight では現状 AWS のみを使用しています: サービス 用途 S3 名刺画像データ、
こんにちは。Sansan Tech Blog 編集部です。 2022年7月27日に、LINE社・SmartHR社・freee社・Sansanの4社合同「サーバーサイドエンジニア採用説明会」がオンラインにて開催されました。 この記事では、登壇した加畑(技術本部 Sansan Engineering Unit / テクニカルリード)の登壇資料をもとに「Sansan」のサーバサイドエンジニアの仕事や働く環境、現在の課題などをご紹介します。 当日の様子も公開されていますので、ぜひ合わせてご覧ください。 youtu.be sansan.connpass.com Sansanのサーバサイドエンジニアについて speakerdeck.com Sansanが提供するサービス Sansanでは、人と企業にかかわる出会いをビジネスチャンスにつなげるデータベースとして、複数のプロダクトを提供しています。 その中
研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。ちなみに名古屋にある中部支店に所属です。 今回はPoetryでプライベートパッケージ(ライブラリ)を扱うテーマです。 追記(2022/11) Poetry 1.2で新たに追加された機能をプライベートパッケージの観点からまとめました。 合わせて御覧ください。 buildersbox.corp-sansan.com 目次 追記(2022/11) 目次 はじめに 調査結果 所感 Poetryでのパッケージ作成方法 パッケージ作成 パッケージのビルド パッケージの公開 プライベートパッケージへの公開 (おまけ) パッケージに含めたくないファイルの制御 AWS CodeArtifact パッケージ作成方法 AWS CodeArtifactでプライベートリポジトリを作成 pyproject.tomlにプライベー
次のページ
このページを最初にブックマークしてみませんか?
『Sansan Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く