サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
どうなる?Twitter
buildersbox.corp-sansan.com
「公立はこだて未来大学」にお招きいただき、学生さん向けに講義をさせていただきました。 講義で用いたスライドは公開済みで、既に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グループ、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」略して
本記事はオウンドメディアの閉鎖に伴い、一部編集し転載したものです 初出: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チームあり
技術本部 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では、人と企業にかかわる出会いをビジネスチャンスにつなげるデータベースとして、複数のプロダクトを提供しています。 その中
技術本部 R&D研究員の前嶋です。梅雨の季節ですが、少しでも快適に過ごせるようにOnのCloud 5 wpを購入しました。水に強くて軽快な履き心地で最高ですね。(追記:この記事の公開作業をしている間に梅雨が終わってしまいました) 今回は、データフレームのテストについての記事です。 データフレームのテストをどう書くか データが中心となるサービスのネックになるのが テストをどう書くか です。というのも、データフレームは行×列の構造になっているため、入力あるいは出力値がデータフレームになるような関数が多いプログラムでは、テストケースを書くのが非常に面倒です。仕様の変更があった場合、それぞれのテスト用の疑似データに修正を加えることを考えると、より簡潔にデータフレームのバリデーションをする方法が欲しいところです。実は、データフレームのテストはProperty Based Testingという考え方と
データ戦略部*1でエンジニアをしています、22新卒の金子です。 突然ですが、皆さんはコードにアノテーションコメントを使っていますか?アノテーションコメントというのはTODO、FIXME、NOTEなど、コメントに何かしらのプレフィックスを付けて、コメントの意図、性質を分かりやすくするというものです。 今回の記事では、その中でも最もよく使われるであろう、TODOコメントとの向き合い方について考えたいと思います。 TODOコメントの問題点 何の気なしにTODOコメントを使っていると、以下のような問題が生じます。 数カ月前に書かれたTODOコメントが未対応のまま放置されている。 対応済みのTODOコメントが消されていない。 メンバーによってTODOコメントの温度感が違う。 このような理由から、TODOコメントは増加の一途をたどります。私の所属するプロジェクトはまだ発足から日が浅く、古くとも数カ月前
Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing
Sansan株式会社でAndroidアプリのアーキテクト・マネジメントをしている山口です。今回Sansan/Eightを始めマルチプロダクト体制にシフトしていく中でモバイルのアプリ横断チーム「Future Successチーム」ができたのでそのことについて書きたいと思います。 なぜアプリ横断チームを作ったのか? Sansan株式会社ではSansanやEightを始め、Bill OneやContract Oneなどさまざまなプロダクトが生まれ、ソフトウェアエンジニアの体制がマルチプロダクトに向けて一新されました。 prtimes.jp その中でモバイルエンジニアはMobile Application Groupとして1つのグループになりました。しかし、発足当時は同じグループという箱に入っただけでそれぞれが独立して開発を進めるだけの組織になっていてグループとして一緒になった利点を活かせずいまし
こんにちは、技術本部 Mobile Application グループの山名です。 WWDC から早くも1ヶ月が経とうとしており、時の流れの速さを感じています... (ちなみに自分は今年も What’s new in UIKit があることに絶望したのが一番印象に残っています) そんなことはさておき、今回は Sansan アプリにおける iOS 12 のサポート終了対応についてお話しします。 iOS 12 というと大分前なので、既に世間には沢山知見が溜まっていて楽勝やろなあ…と高を括っていたのですが、思わぬ地雷を踏んでしまったのでぜひ最後までお楽しみください。 修正した内容 KeyWindow の取得方法 statusBar 系の取得方法 UIActivityIndicatorView.Style の指定方法 特定 OS でのみ TabBar のテキストが見切れてしまう その他 おわりに 修
初めまして! 2022年の3月に入社しました渡邉です。 現在はデータ戦略部という部署に所属しておりまして、多種多様なデータを収集・活用するためのサービス開発に携わっています。 タイトルにある通り、今更になって Shift_JIS と格闘する羽目になったのですが、その背景として長期に渡って稼働していたシステムの一部をリプレイスすることになったことがあります。 旧システムは他社のシステムとデータを Shift_JIS でエンコードしたファイルでやりとりしているのですが、これは他社が保守しているシステムとのファイル連携であり、リプレイスプロジェクト期間中に連携ファイル仕様を変えることは現実的ではないという判断です。 背景 突然ですが、皆さまはこれらの文字の違いがわかりますか? 1. − 2. - 3. ー 正解はそれぞれ、 1. 全角のマイナス 2. ハイフン 3. 漢字の一 となっています。
こんにちは、技術本部 Bill One Engineering Unitの江川です。 2021年4月に入社し、早くも入社から1年と2ヶ月が経過してしまいました。 いい機会なので今回は入社から今までを振り返り、新卒としてのBill Oneでの経験や学び、感じたことについてお話ししていこうと思います。 自己紹介 はじめに簡単に自己紹介をします。 私は大学院卒業後、2021年4月にSansan株式会社に新卒として入社しました。 入社前は大学院で自然言語処理の研究をしていたのと、スタートアップでプロダクトの立ち上げをやっていました。 私は就活において企業のミッション・ビジョン・バリューといった組織や文化的な側面を重要視しており、数社を比較した上で最終的にはSansanが最も自分に合ってると感じたので「自分の選んだ道を正解にするぞ!」という気持ちを胸に入社を決意しました。 入社後は新卒としての2週間
はじめまして。 技術本部 Quality Assuaranceグループの岡山です。QAグループとして新たにBill Oneに参画しました。そこで今回は「一人目QAの始め方」についてお話をしたいと思います。 一人目QAとして入ることになったきっかけ 今まではQAグループとしては、プロパーの数の問題もあり、Sansan(PC)、Sansan(mobile)、Data Hub、Eightの4つのプロダクトに参画し、プロダクトの品質を高める活動をしてきましたが、Bill Oneの開発側の体制が大幅に拡大することに伴い、メンバーの増員に耐えうる品質保証体制の確保が急務となり、QAも参画する運びとなりました。 一人目QAとして考えたこと はじめに開発側にプロダクトが抱えている課題感やAsIsとToBeのチーム体制についてヒアリングしました。 ヒアリング結果として上がってきた解決すべき課題は以下のとおり
こんにちは。Eight でエンジニアをしている鳥山(@pvcresin)です。 散歩が趣味なので、暖かくなってきて嬉しい今日このごろです。 さて今回は Web フロントエンドのビルド時間短縮のため、esbuild-loader を導入した話をしたいと思います。 背景 ビルドにかかる時間はプロダクトが大きくなるにつれてじわじわ伸びていき、開発者体験(DX)を悪くする原因となるため、常に短縮する方法を考える必要があります。 Eight の Web フロントエンドは主に TypeScript・React で開発を行っており、ビルドには webpack を使用していますが、 ビルド時間の大部分はこの TypeScript や React の JSX 記法を JavaScript に変換する処理の時間です。 そこで、この処理を代替することのできるより高速なツールを使うことでビルド時間を短縮しようと考
Eightでフロントエンドエンジニアをしている青山です。 今回はEightのCI環境にtextlintという文書校正ツールを導入してみたので、その経緯や実施した内容をお伝えします。 サービスを複数抱えているなど、文書管理が煩雑になってチェックが大変、といった場合に活用できるかもしれません。 textlint.github.io ある日のフィードバック Eight(およびSansanの各プロダクト)では、社内のslackでフィードバックを受け取るチャンネルが存在しています。活発に社内外からのフィードバックが投稿されていますが、ある日の投稿で以下のようなものがありました。 今日届いたお知らせの文言に「副業」というのが使われてました。 Eightでは「副業」使わずに「複業」とする、みたいな方針だった気がしたので、気になりました。 実際このフィードバックが上がった直後には、素早く修正リリースが行わ
こんにちは。 技術本部 研究開発部の高橋寛治です。 Python でプロジェクトを始める際に、ディレクトリ構成を考えたり、パッケージ方法を考えたり、もしくは何か参考になるものを見つけてコピペしたり、と意外と時間をかけていました。 これをコマンド一つで解決する Cookiecutter および社内での活用事例を紹介します。 Cookiecutterとは Cookiecutter とは、プロジェクトテンプレートからプロジェクトを作成してくれるコマンドラインツールです。 ここでのプロジェクトとは、ディレクトリとファイルおよびそれらの命名や記述されている項目を指します。 Cookiecutter には次の2つの側面があります。一つはプロジェクトテンプレートを利用すること、もう一つはプロジェクトテンプレートを作成することです。 インストール Cookiecutter は Python で書かれたライ
こんにちは、技術本部 Bill One Engineering Unitの江川です。 2021年4月に新卒としてSansanに入社したのですが、早いものでもう1年が経ってしまいそうで驚いています。 今回は、そんな早かった1年に思いを馳せつつ、Bill Oneフロントエンドのビルド周りを高速なビルドツールであるViteに移行していった話をしたいと思います。 移行の背景 Bill OneのフロントエンドではReact + TypeScriptを採用しており、ビルド周りには Create React App(以下、CRA)をejectなしで利用していました。*1 CRAは、開発初期にwebpackなどの設定を隠蔽し簡単にセットアップを行えるという利点がある一方で、開発を進めていきコードベースが大きくなってくるといくつかの問題が発生することがあります。 具体的にはBill Oneでは以下のような問
こんにちは。Sansan Builders Blog 編集部です。 今回は、2月28日に開催した【エムスリー山崎氏とSansan西場が語る「エンジニアのチャレンジをどうマネジメントするか」】のイベントレポートをお届けしたいと思います。 本稿では、皆さんから寄せられた質問への回答を、かいつまんでお伝えします。 アーカイブ動画も公開していますので、実際の様子やアフタートークの模様は映像でもお楽しみください。 youtu.be 登壇者 エムスリー株式会社 執行役員/VPoE/PdM 山崎 聡氏(@yamamuteking) ※エムスリーエンジニアリンググループ紹介資料はこちら Sansan株式会社 VPoE/技術本部 研究開発部 部長 西場 正浩(@m_nishiba ) ※Sansanのエンジニア情報サイトはこちら エンジニアのチャレンジマネジメントとは? 現在約300名のエンジニア・研究員
こんにちは、クラウド請求書受領サービス Bill One の開発をしている加藤です。 新しくアプリケーションを開発する際は、それが日本国内をターゲットにしたものであっても、グローバル対応するときに問題が発生したり、そもそもグローバル対応できなかったりする作りにはしたくないはずです。まずは日本の顧客向けにスタートしたBill Oneを開発する際も、同じことを考えていました。 本稿ではグローバル対応の中でも、日付・時刻にフォーカスします。 次の「タイムゾーン呪いの書 3部作」にあるように、日付・時刻の扱いの難しさはよく知られています。 タイムゾーン呪いの書 (知識編) タイムゾーン呪いの書 (実装編) タイムゾーン呪いの書 (Java 編) この3部作は2021年の改訂ということもあり、Bill Oneの開発を始めたばかりの頃に直接参考にできたわけではありません。 初版やエムスリーさんの記事を
はじめまして、技術本部 サービス開発部の上島です。 私はSansanのプロダクトの裏側でデータ統合の役割を担う「名寄せシステム」の開発に携わっています。 今回は、その名寄せシステムのEC2で稼働しているRailsアプリのデプロイの仕組みを、CodePipeline+CodeDeploy+CodeBuildを使った仕組みに移行して、デプロイ環境を改善した取り組みについて、紹介したいと思います。 名寄せシステムとは 関連のある名刺データを統合することで、顧客情報を一元管理できるようにしたり、世の中の様々なビジネスデータを収集し、名刺に紐づけることで、名刺の価値を高めるシステムです。 Ruby(Rails)で開発しており、AWSの利用サービスは EC2、RDS(Aurora MySQL)、S3、ElastiCache(Redis)などがあり、一般的な構成のアプリケーションです。 独自のデプロイシ
技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設計方針や規約・ツールなどについて共有するために書いたものでした。最近、他チームの参考資料として役立ったこともあり、社外向けに手を加えて公開する運びとなりました。 はじめに 機構改革・人事異動情報(β) とは ⚛️ Atomic Design に従う ⚛️ Atomic Design とは ⚛️ Molecules と Organisms の分け方 ⚛️ コンポーネントの設計方法 📝 規約 📝 Component と Container を分ける 📝 データの繋ぎ込みは Organisms 以上で行う 💡 Tips 💡 Atoms はタグ本
こんにちは、Sansan 技術本部 Mobile Application Group に所属している iOS アプリエンジニアの相川です。 本記事は Sansan Advent Calendar 2021 の23日目の記事になります。 adventar.org 現在 Sansan の iOS アプリチームでは開発環境の改善を目的としたマルチモジュール化を行っています。 絶賛行っている最中のマルチモジュール化の技術的な実現方法などについては、作業が進んだらいつか記事にしたいなと思っています。 本記事では Sansan の iOS アプリチームでマルチモジュール化を推進するためにどのようなことをやってきたのかということについて焦点を当てて以下の流れで説明していきます。 過去のマルチモジュール化の失敗とそこから得た学び マルチモジュール化についての知識を持つメンバーが不足していたため、手探りで進
本記事は,Sansan Advent Calendar 2021 第18日目の記事です. こんにちは,研究開発部の内田です.いつの間にやら季節は進んで,街路樹の葉も落ちたり燻んだり,日常の風景からも寒さを感じるようになってきました.最近は,そんな日常に彩りを加えるべく,お花のサブスクリプションサービスを契約し始めました.私自身花に詳しいわけではないですが,なんとなく気分が上がるのでおすすめです. さて,本エントリでは 10/15-10/24 の日程で開催いたしました「Sansan × atmaCup #12」について,遅ればせながらのレポートをお届けしたいと思います. atma.connpass.com atmaCupとは? atmaCupとは,atma株式会社 様が主催するオンサイトデータコンペティションです.データコンペティションは,主催者から出題されるデータに対して,参加者が分析・予
次のページ
このページを最初にブックマークしてみませんか?
『Sansan Tech Blog』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く