元自民党衆院議員の河村建夫さん(81)、よりによって社名ロンダリング4回で怪しいIR連発中のクオンタムソリューションズの会長に就任へ 自社株を担保に借金しているENECHANGE(エネチェンジ)筆頭株主兼社長の城口洋平さん、粉飾決算疑惑による株価下落で追証を喰らい保有株の一部が強制決済される
タグ検索の該当結果が少ないため、タイトル検索結果を表示しています。
ビル点検員に変装→オフィスにラズパイ持ち込んで社内システム侵入 Sansanが本当にやった“何でもアリ”なセキュリティ演習(1/6 ページ) ビル点検の作業員に変装して、もしくは偽の名刺や社員証を作り、従業員に変装してオフィスに侵入。「Raspberry Pi」を社内ネットワークに接続することでシステムに侵入し、感染を広げて従業員の端末を乗っ取る──これは、クラウドベースの名刺管理サービスなどを手掛けるSansanが実施したセキュリティ演習で、実際に試みられたサイバー攻撃だ。 名刺管理や請求書管理サービスを手掛け、顧客や“顧客の顧客”の情報まで扱うことになるSansanにとって、セキュリティは重要事項だ。セキュリティポリシーの制定に加え、「CSIRT」「SOC」といったセキュリティ組織の整備、従業員教育、技術面など多面的な対策を施している。その一環として、攻撃者の視点に立って、どんな経路で
こんにちは。プロダクト開発部の荒川 id:ad-sho-loko です。突然ですが、皆さんはこんな疑問を持ったことはありませんか? データベースの内部実装はどうなっているのか? トランザクションとはどのようなアルゴリズムで実現されているのか? NoSQLが遅いのはなぜか? 古典的なデータベースとは内部的にどのように違うの? データベースを何かしらの形で利用しているのにも関わらず、意外と内部の仕組みを理解していない場合が多いかと思います。僕もそうです。*1 しかし、エンジニアたるもの、その仕組みを知ることは非常に重要です。僕もデータベースについて勉強しようといくつかの本やサイトを調べていたのですが、なかでもCMU(カーネギーメロン大学)のDatabase System Groupがアップロードしている講義が最も勉強になりました。 www.youtube.com そして本ブログでは、上記の講義
最近キーボードで文字を打つのが面倒になってきている技術本部 Eight Engineering Unitの斉藤です。 キーボードは既に100年以上使われ続けているみたいですね。そろそろ新しい入力の方法ができてもよさそうです。 例えば、頭で考えていることが文字に起こせたら、AIに任せるよりももっと便利だと思います。 前置きはさておき、Sansanではちょっと前にエンジニアの生産性と生産量の最大 化が話題になっていました。このブログをご覧の方ならご存知の方も多いのではないでしょうか。 私はこれまで何度か転職をしていますが、どの職場でも例外なくこの話題が挙がりました。 チームとして、あるいは事業としてどう最大化するかが基本前提となるのですが、私が今回話したいのは個人としての生産性の最大化についてです。 私は個人の生産性を上げることもチームの生産性を上げるのと同じくらい非常に大事なことだと考えてい
はじめに みなさんこんにちは。Sansan事業部プロダクト開発部のiOSエンジニア荒川です。 以前はRDBMSの記事*1を寄稿し、好評いただいたこともあり、定期的に車輪の再発明系の記事を書いていこうと思います。 さて本日はタイトルの通り、VimやEmacsに代表されるターミナルで動作するインラインテキストエディタをGoで開発してみました。 ソースコードは以下のリポジトリに置いているため、ぜひ参考にしてください。 github.com 完成品 文字だけだとイメージも湧きにくいので、まずは完成品をお見せします。 最低限エディタの動きは出来ている、というレベルの完成度ですね🙏 特徴 1000行インラインエディタ 文字入力/挿入/削除 画面スクロール キーボードショートカット ファイル読み込み/保存 Goのコードハイライト機能 実装の方針 今回はただ開発するだけではなく、いくつかのこだわりポイン
Sansanは10月25日、テストコードについての研修資料を無料公開した。4月に実施した新卒の技術研修で使った資料の一部で、入社2年目の社員が作成。Pythonのテストフレームワーク「pytest」でのテストコードの書き方や、VSCodeでのテスト方法などを解説している。 同社はテストコードの便利な点として「実行確認しやすい」「リファクタリングや修正後に実行結果や振る舞いが変わっていないことを確認できる」「コードの挙動が理解しやすい」を挙げる。テストコードの重要性を理解し、テストコードを活用できるようになることを目的に研修を行ったとしている。 関連記事 新卒向け「統計学の基礎」100ページ超 SaaS企業が無料で資料公開 ブレインパッドが、新卒研修で使った統計学の学習資料を公開した。統計学の基礎を解説したもので、ページ数は100ページ超。スライド公開サービス「Speakerdeck」から無
こんにちは、関西支店で新規事業開発室に所属するソフトウェアエンジニアの加藤です。Bill Oneという新規サービスの開発に携わっています。 バックエンド編の続きとして、フロントエンドで私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきます。 Bill Oneは今年の1月ごろにピボットし、それまで開発してきたフロントエンドを全て捨て、1から作り直しました。ピボットの際に改めて技術選定を行い、それまで使っていたライブラリ等を見直したので、本稿ではピボット前後で変化した箇所を中心にフロントエンドの技術選定を紹介します。 前提 改めて前提です。私たちのチームで開発しているBill Oneは今年の5月にローンチしたばかりのサービスで、チームのエンジニアは5名です。開発しているアプリケーションはSingle Page Application (SPA) で、エンジ
自己紹介 こんにちは。名刺メーカーDevグループの伊藤惇です。 私は2022年4月にSansanに新卒として入社して、現在に至るまで名刺データの作成および印刷発注をするサービスの開発に携わっています。 名刺メーカーDevグループでは、偶然タイミングが重なったこともあり、私が入社してからこれまでの間に5人が育児休暇を取得しました。 そうした中で感じた育休に対する考え方の変化を振り返りたいと思います。 なお、本記事はSansan Advent Calendar 2023の14日目の記事です。 名刺メーカー育休スケジュール 名刺メーカーDevグループの規模感 チームの人数やプロダクトのフェーズによっても育休のインパクトが変わってくるので、私が所属する名刺メーカーDevグループの規模感について補足しておきます。 チーム人数 後述するAさん、Bさん、Cさんの育休取得時は約15人ほどのチームでした。そ
「いらない機能はさっさと消したい」負債解消の初手「消す」を組織全員で実践する方法【Sansan西場正浩】 2024年1月16日 Sansan株式会社 執行役員 VPoE/VPoP 西場 正浩 大学院で数理ファイナンスの博士号を取得後、大手銀行で数理モデルの開発に従事。その後医療系IT企業でエンジニアやプロダクトマネジャー、事業責任者、採用人事などを幅広く務める。2021年にSansan株式会社へ入社。技術本部研究開発部でマネジメント業務に当たり、現在はVPoEとしてエンジニア組織の整備と強化を、さらにVPoPとして、営業DXのためのSaaS「Sansan」のグロースを担う。 X(@m_nishiba) note 多数のビッグプロダクトがローンチから10周年を迎える昨今、技術的負債は多くの開発チームにおいて巨大な課題となっています。積み重なった負債の影響で開発生産性が下がり、返済しようにもリ
クラウド型名刺管理サービスを運営するSansanが、反社会的勢力のチェック機能を開発すると発表。名刺を読み取った際に、名刺情報にリスクのある企業名が含まれていると、アラートを発して取引を未然に防ぐ。2020年3月の実装を予定する。 Sansanは10月30日、クラウド型名刺管理サービス「Sansan」向けに、反社会的勢力のチェック機能を開発すると発表した。ユーザーがスキャンした名刺情報にリスクのある企業名が含まれていると、アラートを発して取引を未然に防ぐ。2020年3月の実装を予定している。 リスクのある企業のデータベースを持つ金融データプロバイダー、英Refinitivの協力のもとで開発する。読み取った名刺情報をRefinitivのデータベースと照合し、リスクの有無を判定。反社会的勢力に該当する場合は、名刺をスキャンしたユーザーが所属する企業のコンプライアンス担当者や事業部責任者に通知を
Sansan 技術本部 情報セキュリティ部 CSIRT グループの川口です。 2023年4月からセキュリティエンジニアで新卒として、Sansan に入社しました。 現在は ログ基盤(SIEM)のログの取り込み部分の機能修正、問い合わせ対応、インシデント対応などの業務に取り組んでいます。 今回は内定者インターンシップで開発した、自宅ルータの脆弱性検知システムについて紹介します。 目次は以下の通りとなります。 開発に至った経緯 作成したシステム 技術的な話 EDR ポートスキャン チケットシステムへの起票 SOAR まとめと今後の課題 開発に至った経緯 新型コロナウイルスの流行に伴い、リモートワークという言葉をよく耳にするようになったと思います。 弊社でも緊急事態宣言下においては、原則リモートワークとなり、現在はオンライン・オフラインを併用した働き方をしています。 ここで問題となってくるのが自
反対意見を知れば分かりあえるのか?偏った集団でも正しい決定ができるのか?フェイクニュースほど広まりやすいのか?良好な人間関係はパフォーマンスを向上させるのか?研究者が束になってかかれば、社会的現象を予測できるのか? こんにちは、Sansan DSOC R&D研究員の前嶋です。普段はつながりに効く、ネットワーク研究小話という連載を書いていますが、今回はここ2,3年の計算社会科学の潮流を紹介したいと思います。 計算社会科学(Computational Social Sciences)は、SNSなどのビッグデータ解析やオンライン上での実験などを用いて社会現象を定量的に分析するという、社会科学と計算機科学の融合分野です。 日本でも最近、マシュー・サルガニックによる概説書”Bit by Bit”が翻訳され、社会科学の研究者のみならず、広くその名前が知れ渡りました。日本には計算社会科学研究会というコミ
こんにちは、研究開発部 Data Analysisグループの笛木です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行いました。 こちらのブログの続きでテストコードについての研修資料を一部公開します。研修では新卒2年目の私が1年間で部内のコードなどから学んだ情報を共有しました。至らない部分もあるかもしれませんが、ご参考になれば幸いです。 こちらの研修で使用したGitHubのコードリンクは以下です。適宜、ご参照ください。 github.com 目次 目次 はじめに この研修の目的 研修スコープ外 テストコードについて テストコードの便利な点 テストコードの悪い例 テストコードに関するFAQ pytestによるテストコードの書き方 ファイル名 ディレクトリ 基本編 Parametrize Fixture 異常系 Mock indirect conftest 知っておくと活用する場
Digitization部 Bill One Entry*1グループの秋山です。 はじめに Domain Modeling Made Functionalというスゴ本 補講:Make Illegal States Unrepresentable バックエンドの処理を抽象化する 手続き型プログラミングの典型例 課題1:制約のないエラーハンドリング 課題2:低い可読性 課題3:エラーハンドリングの低い網羅性 Railway Oriented Programming TypeScriptで型安全にエラーハンドリングする ステップ1:サブ関数の出力はResult型で表現する ステップ2:サブ関数にResult型を入力できるようにする ステップ3:サブ関数を連結する ステップ4:網羅的にエラーハンドリングする おわりに 付録 TypeScriptの全文サンプル はじめに エラーハンドリングは重要な処
「公立はこだて未来大学」にお招きいただき、学生さん向けに講義をさせていただきました。 講義で用いたスライドは公開済みで、既にTwitterやはてブでも反響をいただいております。 スライド内には埋め込み動画やリンク等、Speaker Deckでは再現されないものもあるので、講義資料をあらためて「記事形式で」全ページ公開したいと思います。 講義のテーマ/構成について 講義のタイトルは「学びを仕事に繋げる」としていますが、 「海外進出」(外貨を稼ぐという選択肢を持つ) 「成長サイクル」(継続的に成長する) と併せた 3本立て 1 にしています。 講義のテーマは非常に悩んだのですが、私の経験から学生さん向けに話せるもっとも価値のある内容はなんだろう?どうやったら90分飽きずに聞いてもらえるだろう?と考えた結果このようになりました。 2 学生さん向けの講演ではありますが、現場でバリバリ活躍されている
Bill One Entry*1グループの秋山です。 本題に入る前にお知らせです。9/12 (火) にTypeScriptを活用した型安全なチーム開発をテーマとしたイベントを開催します。 ぜひ、お気軽にご参加ください! sansan.connpass.com 1. はじめに 1-1. スキーマ駆動開発とは 1-2. Testing Trophyとの関係性 2. 構成 2-1. 最初の構成と課題 2-2. 最終的な構成 3. バックエンド 3-1. スキーマから型ファイルを作る 3-2. APIハンドラに型を与える 3-3. バリデーターを追加する 3-4. huskyでスキーマ変更を検知する 4. フロントエンド 4-1. スキーマからAPIクライアントを作る 5. パターンマッチングを持ち込む 6. まとめ 1. はじめに 1-1. スキーマ駆動開発とは 詳しい解説は他の記事に譲り、一言
技術本部 データ戦略部 Newsグループの木田です。 最近、初めて自作キーボードに挑戦しました。ちょうど2枚目のモニターも買ったので、モニター2台と自作キーボードで快適に記事を書いています。 予めお断りしておきますが、この記事は元々、社内向けに設計方針や規約・ツールなどについて共有するために書いたものでした。最近、他チームの参考資料として役立ったこともあり、社外向けに手を加えて公開する運びとなりました。 はじめに 機構改革・人事異動情報(β) とは ⚛️ Atomic Design に従う ⚛️ Atomic Design とは ⚛️ Molecules と Organisms の分け方 ⚛️ コンポーネントの設計方法 📝 規約 📝 Component と Container を分ける 📝 データの繋ぎ込みは Organisms 以上で行う 💡 Tips 💡 Atoms はタグ本
こんにちは、研究開発部 Architectグループの藤岡です。 4/26(水)〜 4/28(金)で研究開発部内の技術研修を行ったので、その内容を公開します。 目次 目次 研修の目的 研修の概要 実践編の概要 アプリケーションを作成 バッチを作成 gokartとは パイプラインを実装 APIを作成 FastAPI とは APIを実装 ディレクトリ構成 実行 Webアプリを作成 Streamlitとは Webアプリを実装 Docker化 デプロイ ECRにイメージをプッシュ アプリケーション基盤 Circuitについて アプリのマニフェストを作成 研修終了後 終わりに 研修の目的 この研修の主な目的は、新卒社員がスムーズに業務に入れるようにすることです。 研究開発部にはさまざまなバックグラウンドを持つ研究員が入社するため、チーム開発の経験がない方もいます。 そのため、Gitの操作やプルリクエス
こんにちは、新規事業開発室に所属するソフトウェアエンジニアの加藤です。私は関西支店でBill Oneという新規サービスの開発に携わっています。 弊社にはSansanのカタチという企業理念があり、働く人々が体現すべきValuesの1つに「意思と意図をもって判断する」があります。ソフトウェアエンジニアとして、意志と意図をもって利用する技術を選定することは当然かもしれませんが、細部までそれを徹底するのは難しいこともあります。本稿では、私たちが使用している技術やライブラリを振り返って、どんな意志と意図があるかを確認していきたいと思います。 などと硬めのことを書きましたが、他所のチームでは普通に使われているライブラリを意外と知らなかったりするので、似たような記事を読みたいなと思って、技術選定を公開してみる次第です。まずはバックエンド編です。 前提 私たちのチームで開発しているBill Oneは今年の
どのようにデータ分析基盤を構築してきたか、活用までの道のりや苦労を現場の人間に聞く「データ分析基盤Developers Night」。4回目の今回は、「活用されるデータ基盤」をテーマに、Sansan株式会社の千葉祐大氏が登壇。データ分析基盤を改善するまでに浮き彫りになった課題と、そこからどのようにストレスなく利用できる分析基盤を作ったのか、また設計の方針から実際に運用してわかった今後の課題について話しました。 ※新型コロナウイルス対策のためオンライン開催に変更されています。 開発エンジニアからデータエンジニアへ 千葉祐大氏(以下、千葉):Sansan株式会社の千葉からは「Sansan DSOC を支える名刺データ分析基盤」の構築、運用上の困ったことなどについて発表します。 まず自己紹介をします。3年前にSansanにジョインして、現在はデータエンジニアの仕事をしている千葉祐大です。データエ
はじめに こんにちは。DSOC 研究開発部 Architect Group Data Direction Teamの有山です。 気温が上がってきて夏っぽくなってきましたね。毎年夏用にTシャツを集めるのが趣味なのですが、今年は個人的にブームが再燃してるGOODENOUGH*1を古着で集めようかなと考えています。 ところで皆さんは普段何の言語を書いていますか? Data Direction Groupでは主にPythonを使用していますが、ある時から四則演算の計算順序やif文の条件分岐はどうして正しく動くのだろうと疑問に思うようになり、実際に正しく動かしているシステムを理解してみたくなりました。色々検討した結果、「Go言語で作るインタプリタ」という本が内容的にも分量的にもちょうどよく、これを読み進めることにしました。 初めは読みながらコードを写経していましたが、複雑なロジックについては理解した
モノリシックな大規模アプリを運用する技術-サービスを“分割しない”メリットをSansanの実例に学ぶ モノリシックにアーキテクチャを構築するメリットとは?近年、マイクロサービスアーキテクチャが注目を集めていますが、Sansanは大規模なアプリケーションに成長したいまも、モノリシックな構造を維持しています。ドメインコンテキストの共有のしやすさ、チームビルドのしやすさなど、モノリシックな構造だからこそ得られるメリットを聞きました。 モノリシックである利点 - ドメインコンテキストが共有しやすい Backlogを一本化し、モノリシックなシステムを運用しやすく 技術的負債の解消 ~事業フェーズに適した技術を選定する~ 技術的負債の解消 ~リプレース可能な部分は積極的にエコシステムを活用~ 技術的な改善をビジネスの改善に結びつける 近年、複数の小さなサービスをAPIによって連携させるマイクロサービス
Sansanプロダクト開発部・基盤チームの加畑です。 Sansanプロダクト開発部には、現在約120名のメンバーが所属しています。その中で、私が所属する基盤チームは6名のメンバーで構成されており、データアクセスや認証、メッセージング基盤、CI等開発環境やリリースプロセスなど、アプリケーションの基盤に関わるプロジェクトを主に受け持っています。 担当領域の性質上、システムのレガシー化に向き合う機会が多いです。私を含め複数のメンバーが、常に何かしらレガシー改善に関わるプロジェクトを進めている状況です。昨年の10月に、私が担当したいくつかのプロジェクトについて、レガシーシステムのおそうじという記事でご紹介しました。4月にはレガシー改善に関する勉強会を開催し、はてなさんやYahooさんとも交流することができました。楽しかったです。 前回記事と勉強会では、「レガシー改善のプロジェクトをうまく進めるには
技術本部 Digitization部の湯村です。 新規アプリケーション開発で採用したバリデーションロジックの管理方法を紹介します。 1. はじめに 2023年末に以下の技術スタックでデータ化アプリケーションの開発をしました。 フロントエンド: TypeScript + Next.js バックエンド: TypeScript + Express Next.js では App Router を採用しましたが、Server Components、Route Handler は利用せず、ブラウザから Express の API を呼び出す構成にしました。 SPA + API で開発する際の課題 この構成で開発をする際の課題の1つにフロントエンドとバックエンドでのコードの重複があります。 特にバリデーションのロジックの管理方法は頭を悩ませた方も多いはずです。 バリデーションに対するアプローチ バリデー
こんにちは。 DSOC R&D グループの高橋寛治です。 つい先日に同僚の加藤が執筆した書籍「Pythonクローリング&スクレイピング[増補改訂版]―データ収集・解析のための実践開発ガイドー」の改訂版が発売されました。 gihyo.jp 私が業務でPythonを用いたクローリングおよびスクレイピングに取り組んでいることもあり、改訂版のレビューをさせていただきました。 実は、初版は読んで実践させていただいていたため、レビュー依頼を受けた際には感激しました(本当にお世話になっている本です)。 読んでいて私自身非常に勉強になった点が多く素直に良い本だと思ったため、本書籍の紹介をさせていただきます。 書籍の概要 Unix コマンドによるクローリングの基礎から始まり Python を用いた実践的なクローリング・スクレイピングなど様々なトピックに関して、豊富なサンプルコードとともに解説されています。
こんにちは。CTO室の鈴木由香です。 CTO室は、CTOの藤倉とVPoEの宍倉を含むごく少人数の部署です。おそらく社内最小です。メンバーの業務内容はバラバラですが、わたしは「Sansanのものづくり」の発信に携わっており、このブログ「Sansan Builders Box」の運営も行っています。 媒体としてもおもしろい「テックブログ」 本ブログを立ち上げてもうすぐ1年を迎えるのですが、その間、わからないことやアドバイスが欲しいときには、他社のテックブログを担当する方々に教えを仰いできました。冷たくあしらわれても仕方がないという覚悟でお声がけするのですが、みなさんとても親切に対応してくださったことが印象的です。そして、各社ともそれぞれの形でブログに強い思い入れがあることを知り、わたし自身も鼓舞されました。 テックブログは技術的知見に役立つことはもちろん、執筆された方のひととなりや企業の特色が
自己紹介 こんにちは、Sansan事業部プロダクト室の乙幡です。 新卒入社後、最初に配属されたのはビジネス部門で、Bill Oneというプロダクトのインサイドセールスを担当しました。その後、入社2年目の2023年にプロダクトマネージャーへのキャリアチェンジを行い、現在は日々新しいことを学びながら活動しています。 今回は、日々の業務でうまくいったTipsについて振り返りたいと思います。 なお本記事は、Sansan Advent Calendar 2023の7日目の記事です。 ジョブ理論とは ジョブ理論(Job Theory)は、製品やサービスが市場で成功するための理論の一つで、クレイトン・クリステンセンによって提唱されました。*1この理論の核心は、「製品やサービスが消費者に採用されるのは、彼らが特定の“ジョブ”(仕事やタスク)を完了させたいというニーズがあるからである」という考え方に基づいて
【PR】 2019.10.25 働き方 デジタル化が進んだ今日、経営とITはもはや切り離せない関係にある。となれば、エンジニアが経営戦略や事業戦略にもっとコミットしていてもおかしくないはずだが、大半の日本人エンジニアは、「エンジニアリング」という小さなテリトリーに留まってしまっているのが現実だ。 その一方で、自ら経営を学びキャリアを充実させているエンジニアも存在する。29歳で社会人大学院に進学し、経営を学んだSansanのCTO藤倉成太さんがその一人だ。 ■シリコンバレーで働いて気付いた「技術力向上」だけに固執するエンジニアのダメさ【Sansan CTO 藤倉成太】 ■現場or管理、受託or自社開発、技術or事業貢献?「二者択一の考え方はエンジニアのキャリアを先細りさせるだけ」【Sansan 藤倉成太×エムスリー 山崎聡】 上記記事など、エンジニアtypeでもすでにおなじみの藤倉さんだが、
こんにちは、DSOC 研究開発部の奥田です。以前の私のブログ記事ではコーギーの動画を見ていると書きましたが、とうとうコーギーを家族として迎え入れ、現在生後6ヶ月の子犬と暮らしております。 さて私たちDSOCでは、SansanやEightの価値を高めるために様々な自然言語処理のタスクに取り組んでおります。例えばニュース記事からの固有表現抽出では、私たちのサービスに特化した固有表現を対象に研究開発しています。その他にも様々あるなかで、特に重要かつ困難とされているものの一つに「名寄せ」というタスクがあります。AIや人工知能と呼ばれるものが発達した現代においても、人間には当たり前にできるタスクが機械には難しいことがまだまだ存在します。 今回は、その「名寄せ」というタスクにおける日本語でのデータセットを作成してみました。これをきっかけに、日本語での名寄せというタスクの研究が進み分野が活性化することを
Bill One Engineering Unitの田上です。運用改善と題したプロジェクトによって、エンジニアの運用工数を半年で40%削減することに成功したので、今回はその取り組みをご紹介します。 背景 Bill One のエンジニアリング組織では、フルサイクルエンジアリングで開発と運用を行っており、開発者自身が運用対応(本番環境で発生したエラーの調査・対応、ユーザからの依頼・問い合わせの対応など)を行っています。 エンジニアが自身の開発したプロダクトへのフィードバックを迅速かつダイレクトに受け取れる非常に良い方式ではあるのですが、その対応工数があまりにも多くなりすぎて開発工数が逼迫するようになっていました。 その状況をどうにかするため半年の期限付き特命チームとして運用改善チームを立ち上げることにしました。 立ち上げ 組織内のフラストレーションの高まりを背景に、2名のエンジニアが新たなチー
技術本部 Mobile Applicationグループの山本です。名刺アプリEightの開発を行っています。 今回はMobile ApplicationグループのEight開発チームの生産性指標をFour Keysからベロシティを含む別の値に変更した話をします。 一般的にはベロシティは生産性指標にすべきではない、Four Keysは生産性指標として適切であるという評価だと思います。もちろんそれは理解した上でこの選択をしています。その理由について説明します。 なお組織全体がこのように考えているわけではないということに御注意ください。例えば同じMobile ApplicationグループでもSansan開発チームはFour Keysを生産性指標にしています。 生産量2倍計画 現在技術本部では中期的な課題として1年で単月の生産量を2倍にするという目標を掲げています。 ポイントとして、技術本部のレ
Sansan Technical Viewは「挑戦」をテーマにSansanエンジニア達の開発における取り組みや知見を発表するイベント。Bill One事業部のソフトウェアエンジニアである加藤氏がマイクロサービスへの取り組みを紹介しました。発表資料はこちら。 Bill Oneでのマイクロサービスの取り組み 加藤耕太氏:こんにちは。加藤です。今日は『新規事業でもマイクロサービスに挑戦する』というタイトルでお話しします。マイクロサービスアーキテクチャについてご存知の方は、新規サービスをマイクロサービスで作るのはアンチパターンである、という話を聞いたことがあるかもしれません。 チームが小さいにもかかわらず流行りに乗ってマイクロサービスに分割して作ってみたものの、開発の効率が落ちるだけでしたとか、独立してデプロイできない分散モノリスができあがってしまいました、のような失敗談を聞くことがあります。 新
Bill One Entry*1グループの秋山です。 1. はじめに 2010年代前半に登場したReactやVue.jsに代表される宣言的UI実装は、大規模なSPAの構築を可能にしました。その一方、フロントエンド領域に新たなアーキテクチャが導入されたことで、それまでWebアプリケーション開発で定石とされたテスト手法を適用しづらいケースが増え、新たなベストプラクティスが求められるようになりました。 その要請に応える形で、2010年代後半にはフロントエンドのテスト手法に緩やかなパラダイムシフトがありました。この記事ではそのパラダイムシフトを振り返りながら、フロントエンドで必要なテストについて考察し、最後にChromaticを用いたビジュアルリグレッションテストを紹介します。 2. Testing Pyramid と フロントエンド テストを語る際によく持ち出されるメタファとして、Testing
Sansan株式会社 技術本部 Sansan Engineering Unit 部長 笹川 裕人 大学院でコンピュータサイエンスの博士号を取得後、リクルートを経て、2018年4月にエムスリーへ入社。AIチームでデータ基盤の整備と、バックエンド、クラウドインフラを担当。 2023年4月にSansan株式会社へ入社し、現在はSansan Engineering Unit 部長として営業DXサービス「Sansan」の強化を担う。 X Profile インボイス管理サービス「Bill One」や契約データベース「Contract One」など、近年続々と新たなDXサービスを立ち上げているSansan。それに伴ってプロダクト開発組織である技術本部も拡大し、いまや総勢500名のエンジニアと13のチームを抱える大所帯になっています。 一般的にプロダクトの数や組織の規模が急拡大すると、リソースが追いつかず
こんにちは、DSOC R&Dグループ インターンの笛木正雄です。大学院では離散最適化の研究室に所属しています。インターンでは、日々、知らないことだらけで、色々なことを経験させていただき、伸びしろを実感する毎日です。 現在は、SansanやEightのニュース配信に使用されている固有表現抽出(文章中から組織名を抽出するために使用)と呼ばれる自然言語処理タスクに携わっています。今回は、これまで取り組んだ固有表現抽出における精度改善の手法を紹介したいと思います。ありがたいことに、この手法は現在、プロダクトで実際に稼働しているため、思い入れのある手法です。 また、今回の手法を含め、日本語固有表現抽出については、コード公開を予定しており、pipでインストールできるように現在進行中です。ご興味ある方は、お待ちいただき、合わせてご覧いただければ幸いです。 ※弊社のニュース配信における固有表現抽出タスクの
こんにちは。研究開発部 Architectグループの中村です。 本記事は Sansan Advent Calendar 2023 の16日目の記事です。 今回は、私達のチームで開発&運用している全社横断データ分析基盤のデータレイヤの再設計、及びdbtの導入を進めているという事例について紹介します。 既存のデータ基盤に対して、dbtの導入を検討されている方の参考になれば幸いです。 (本稿ではdbtとはについては触れませんので、ご了承ください) TL;DR 歴史的経緯 全社横断データ基盤が生まれる前 全社横断データ基盤 立ち上げ期 課題 立ち上げ期に作られたデータマートがカオスに・・・ 課題の解決に向けて データレイヤの再設計 Transformツールの選定 dbtへの移行戦略 その他dbt移行におけるTips チームでの開発の標準化 Cosmosの導入検証 データカタログのホスティング まと
はじめに こんにちは! 技術本部 Bill One Engineering Unit(以下、Bill One EU)の笹島です。 IaC推進チーム(横串チームの1つ)として、CI環境でのTerraform Planの自動化に取り組んできました。 横串チームとは、Bill One EU内の各グループの垣根のない横断チームであり、Bill Oneで抱えている課題を解決するために有志で集まったメンバーによって構成されています。 IaC推進チームとは、文字通りインフラのコード化を推進するチームです。 本記事では、CI環境でセキュアなTerraform Plan自動実行を実現するにあたって直面した課題とその解決策について共有します。 特に、モノレポ環境での複数プロダクト・環境の管理における自動化の課題についても紹介します。 目次 はじめに 目次 前提 ディレクトリ構成とその役割 Workload I
はじめに NineOCR とは NineOCR が抱える課題 Amazon SageMaker Training とは SageMaker Training の始め方 事前準備 AWS が提供しているコンテナイメージを拡張する方法 独自のコンテナイメージに SageMaker Training Toolkit をインストールする方法 スクラッチでコンテナイメージを作成する方法 まとめ 学習ジョブの実行 学習結果の確認 終わりに はじめに こんにちは、研究開発部の石井です。 本エントリーでは、弊社の OCR エンジン「NineOCR」の開発フローに SageMaker Training を導入した話を紹介します。 NineOCR とは NineOCR は Sansan が独自に開発した名刺特化の OCR エンジンです。 名刺をデータ化するフローの中で実際に活用されており、タスクの高速化・高精
関西支店で新規事業開発室に所属する加藤です。私のチームでは、Google Cloud Platform (GCP) で主にGoogle App Engine (GAE) を使ってシステムを構築しています。 GAEはコマンド1つで簡単にデプロイできますが、チームの開発者が増えるにつれて、デプロイ用の設定を共有するのが大変になってきました。 デプロイにも時間がかかって、リリース作業に負荷を感じるようになりました。 そこで、GAEアプリケーションの開発フローに、Cloud BuildによるContinuous Integration (CI) / Continuous Delivery (CD) を組み込み、デプロイを自動化しました。 公式ドキュメントや各種ブログに個別の方法は記載されていますが、開発フローに組み込もうとした時にいくつか考えることがあったので、まとめておきます。 前提 Googl
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く