ブックマーク / buildersbox.corp-sansan.com (110)

  • HTML用ERBファイルのフォーマットを統一した話 - Sansan Tech Blog

    こんにちは。 名刺アプリ「Eight」でエンジニアをしている鳥山(@pvcresin)です。 最近、ミスタードーナツのミニオンコラボの商品をべたのですが、 どれも美味しくて見た目もかわいいので最高でした。 特にポン・デ・リングベースのものは、表面のキャンディが口の中でパチパチと弾けて楽しいのでオススメです。 さて今回は、RailsのViewで使う、HTML用ERBファイルのフォーマットを統一した話をします。 ERBとは ERB(eRubyembedded Ruby)はテキストにRubyのコードを埋め込むための仕様です。 Railsでは特にViewの部分のHTML生成によく利用されます(拡張子は.erb)。 ERBでは、以下のような記法でRubyのコードを埋め込めます。 <ul> <% @features.each do |f| %> <li><%= f %></li> <% end %

    HTML用ERBファイルのフォーマットを統一した話 - Sansan Tech Blog
    yug1224
    yug1224 2024/07/31
  • 2024年 研究開発部 新卒開発研修 前編 - Sansan Tech Blog

    こんにちは、研究開発部Architectグループの山です。 昨年に引き続き、研究開発部の新卒社員向けに開発研修を行いました。 今年の研修では、私自身が昨年受けた経験をもとに感じた改善点や部内での技術的なアップデートを踏まえて実施しました。 昨年の記事を読んでいない方でも分かりやすい構成にしたので、ぜひご一読ください。 昨年の記事はこちら。 buildersbox.corp-sansan.com 記事は前編と後編に分かれています。 主に前編ではローカル環境でPythonでサービスを開発するパートを紹介し、後編ではサービスをデプロイするパートを解説します。 研修の目的 研修では、新入社員が効率的に業務に必要な知識を獲得し、素早くチームで活躍できるようにすることが目的となります。 最終的には新卒・中途と問わず、R&D内の技術を多角的に学べ、再利用可能な研修にします。 研修の概要 昨年と同様

    2024年 研究開発部 新卒開発研修 前編 - Sansan Tech Blog
    yug1224
    yug1224 2024/07/27
  • インボイス管理サービス「Bill One」の認証を内製認証基盤に置き換えて認証基盤のコストを削減した話 - Sansan Tech Blog

    Bill One Engineering Unit 共通認証基盤チームの樋口です。 Bill Oneでは昨年までAuth0を認証基盤として利用してきましたが、認証基盤を内製化することでコストを大幅に削減しました。 この認証基盤は、昨年12月に無事リリースされ、Bill Oneの認証を支えています。 今回は認証基盤の内製化に至った経緯と設計、移行プロセスについて紹介します。 Bill Oneについて 認証基盤に関する課題 解決方法の検討 IDaaS(Identity as a Service)について 設計とシステム構成について 認証基盤の設計 システム構成 アカウントの移行について メールアドレス・パスワードでのログインを利用しているユーザーの移行 SSO(Single Sign-On)の移行 振り返りと今後 ドメイン変更による問い合わせの増加 内製化によって体験の改善がスムーズに Bil

    インボイス管理サービス「Bill One」の認証を内製認証基盤に置き換えて認証基盤のコストを削減した話 - Sansan Tech Blog
    yug1224
    yug1224 2024/07/26
  • エンジニア集団の中のマイナー組織!? プロダクト競争力であるデータ化をリードする4つのOperation組織とは - Sansan Tech Blog

    はじめに プロダクトの競争力である「データ化」 エンジニア集団の中のマイナー組織、4つの「Operations Group」 Operations Group Scan Operations Group Global Operations Group Operations Platform Group データ化オペレーションスペシャリスト「Operations Group」 Operationsの世界へ! はじめに Digitization部 Operations Groupの三原です。 今回は、エンジニア組織であるSansan技術部の中で、非エンジニア(ビジネス職)メンバーによって構成されているDigitization部の中にある4つのOperation組織・グループについて紹介します。 採用市場でも徐々に注目度が集まっているOperation(以下、Ops)職。私たち技術部のOps

    エンジニア集団の中のマイナー組織!? プロダクト競争力であるデータ化をリードする4つのOperation組織とは - Sansan Tech Blog
    yug1224
    yug1224 2024/07/11
  • 社内交流のために大規模OSTをやりました(3回目) - Sansan Tech Blog

    技術部 Sansan Engineering Unit Data Hub グループの光川です。 先日、技術部総会という、技術部に所属するメンバーが一堂に集まるイベントの3回目が開催されました。その中のコンテンツとしてOST(オープンスペーステクノロジー)を実施しました。前回、前々回に引き続きOSTの運営に携わったので、レポートを書きます。 過去に実施した、OSTの記事はこちらです。 buildersbox.corp-sansan.com buildersbox.corp-sansan.com 今回の技術部総会は約250名が現地会場に集まり、任意参加のOSTには約100名が参加してくれました。 新しくやってみたこと 今回のOSTで新しくやってみたことは以下です。 セッションテーマの事前募集をやめて、当日に起票するという、初回のOSTのスタイルに戻した OSTの全体テーマを決めた OS

    社内交流のために大規模OSTをやりました(3回目) - Sansan Tech Blog
    yug1224
    yug1224 2024/07/09
  • blue/green戦略によるKubernetesクラスタ更新時にIstioの対応方法 - Sansan Tech Blog

    研究開発部 Architectグループ ML Platformチームのジャン(a.k.a jc)です。 前回弊チームのKAZYがKubernetesクラスタ更新時のマニフェスト差分をGitのブランチで吸収する方法を紹介しました。 buildersbox.corp-sansan.com 今回は解像度をあげてKubernetesクラスタ更新時のIstioの対応方法について紹介します。 背景 Circuitについて Circuitとは、2022年に研究開発部で導入したアプリケーション基盤です。AWS EKSを用いたKubernetesで動いています。 speakerdeck.com blue/green戦略について Circuitにおいて、クラスタ更新はblue/green戦略を採用しています。クラスタ更新時には、新しいクラスタを立ち上げて、新しいクラスタにトラフィックを移行させることで、サービ

    blue/green戦略によるKubernetesクラスタ更新時にIstioの対応方法 - Sansan Tech Blog
    yug1224
    yug1224 2024/07/07
  • 雑談が苦手だけど1on1をやった話 - Sansan Tech Blog

    技術部Mobile Application Group Eight Androidチームの山です。今回は雑談が苦手な自分がどう1on1を行ったかという話をします。 自分は雑談が苦手です。目的があって話すことは問題ないのですが、雑談自体が目的化している場が苦手です。 自分がチームリーダーになった後も、メンバーとの1on1はマネジャーにお願いしていました。しかしマネジャーが育休を取得することになり、その期間中は自分が1on1を担当することになりました。この時、自分が採ったやり方について紹介します。 1on1はいろいろなやり方があり、自分の採った方法は推奨されないやり方とされている場合もあります。あくまでこういうやり方もあるという認識でお願いします。 1on1の目的 1on1の目的ですが、今回は「メンバーが1on1という形でしか話せない問題を拾い上げて解決方法を考える」ことにしました。 メン

    雑談が苦手だけど1on1をやった話 - Sansan Tech Blog
    yug1224
    yug1224 2024/06/29
  • エンジニア運用工数40%削減!Bill One における運用改善のとりくみ - Sansan Tech Blog

    Bill One Engineering Unitの田上です。運用改善と題したプロジェクトによって、エンジニアの運用工数を半年で40%削減することに成功したので、今回はその取り組みをご紹介します。 背景 Bill One のエンジニアリング組織では、フルサイクルエンジアリングで開発と運用を行っており、開発者自身が運用対応(番環境で発生したエラーの調査・対応、ユーザからの依頼・問い合わせの対応など)を行っています。 エンジニアが自身の開発したプロダクトへのフィードバックを迅速かつダイレクトに受け取れる非常に良い方式ではあるのですが、その対応工数があまりにも多くなりすぎて開発工数が逼迫するようになっていました。 その状況をどうにかするため半年の期限付き特命チームとして運用改善チームを立ち上げることにしました。 立ち上げ 組織内のフラストレーションの高まりを背景に、2名のエンジニアが新たなチー

    エンジニア運用工数40%削減!Bill One における運用改善のとりくみ - Sansan Tech Blog
    yug1224
    yug1224 2024/06/19
  • 【Sansan Tech Talk】 Sansan Data Hubの技術的挑戦 〜データ連携パイプラインを支えるエンジニアリング〜 - Sansan Tech Blog

    こんにちは、Sansan Engineering Unitの部長を務める、笹川 裕人です。今回で3回目となる「Sansan Tech Talk」はSansanのテックリードたちが直面している技術的な課題や取り組みについて深掘りする連載企画です。今回は営業DXサービス「Sansan」の「データ連携ソリューション」オプションの一機能であるSansan Data Hubの開発に携わっている藤原 雄介にインタビューしました。 ▼連載記事はこちら buildersbox.corp-sansan.com (写真左から)Sansan Engineering Unit 部長 笹川 裕人、Sansan Engineering Unit Data Hubグループ 藤原 雄介 笹川:今回のゲストは、Sansan Engineering Unit Data Hubグループの藤原 雄介さんです。 藤原さん、まずは自

    【Sansan Tech Talk】 Sansan Data Hubの技術的挑戦 〜データ連携パイプラインを支えるエンジニアリング〜 - Sansan Tech Blog
    yug1224
    yug1224 2024/06/15
  • ベイジアン操作変数法でA/Bテストをしよう - Sansan Tech Blog

    こんにちは。4月に24新卒として入社しました、技術部 研究開発部の金髙です。大学院では政治学の研究をしていました。 記事では、筆者が2024年2月から約1カ月間の内定者インターン時代に取り組んだ内容の一部である「ベイジアン操作変数法を用いたA/Bテスト」について紹介します。 背景 なぜA/Bテストで操作変数法なのか? Encouragement design One-sided Noncompliance なぜA/Bテストでベイズなのか? ベイジアン操作変数法 データ生成過程 事後分布 LATEの事後分布推定 シミュレーションしてみる おわりに References 背景 筆者が現在所属している研究開発部のチームでは、データドリブンな意思決定やデータ活用促進を目標に掲げています。その一環として、A/Bテストを積極的に行っており、筆者は中でも「Sansanモバイルアプリ内訴求」に関するA

    ベイジアン操作変数法でA/Bテストをしよう - Sansan Tech Blog
    yug1224
    yug1224 2024/06/08
  • Vol.02 ポストモーテムをやってみた - Sansan Tech Blog

    はじめまして、技術部 Strategic Products Engineering Unit(以下、SPEU)の中垣です。 SPEUでは、Sansanがこれまで培ってきた技術を活用しながら、新規プロダクトの開発を通して、働き方をアップデートできるさまざまな可能性を日々模索しています。 新規プロダクトの開発では、事業を立ち上げるために開発のスピードを重視することが多く、インシデントが発生しやすい傾向があります。 今回は、インシデントを振り返ることで再発の防止や学びの機会を創出できる、ポストモーテムについて話します! なお、記事は【Strategic Products Engineering Unitブログリレー】という連載記事のひとつです。 buildersbox.corp-sansan.com 目次 目次 ポストモーテムとは ポストモーテムの書き方 ポストモーテムの運用 まとめ ポスト

    Vol.02 ポストモーテムをやってみた - Sansan Tech Blog
    yug1224
    yug1224 2024/06/05
  • セキュリティーロードマップを再構築した話 - Sansan Tech Blog

    こんにちは。Sansan Engineering Unit Data Hubグループの北澤です。2021年に新卒入社し、エンジニアとしてSansan Data Hubの開発に携わっています。 Data Hubグループ内セキュリティーチームのリーダーとして、ロードマップ運用の改善について取り組んだので、その紹介をさせていただきます。 背景 Sansan株式会社ではプロダクトごとに、将来的にどのような施策を行っていくかを書いた内部向けのセキュリティーロードマップが存在しています。このロードマップを用いて、情報セキュリティ部とも連携を行いつつ、プロダクトを開発しているグループがどのような対策を行っていくかを定めて運用しています。 改善を行う前のSansan Data Hubのロードマップはいくつかの課題を抱えていました。 ロードマップのメンテナンス性がかなり低い 運用保守がセキュリティーチーム内

    セキュリティーロードマップを再構築した話 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/31
  • 【Sansan Tech Talk】新規事業開発におけるInfrastructureグループの技術的挑戦 〜安定運用とスピードの両立を目指して〜 - Sansan Tech Blog

    こんにちは、Sansan Engineering Unitの副部長、笹川 裕人です。今回の「Sansan Tech Talk」では、Strategic Products Engineering Unit(以下、SPEU)という新規事業開発を行っている部門のInfrastructureグループマネジャーを務める水谷 高朗にインタビューしました。この対談では、テックリードたちが直面している技術的な課題や取り組みについて深掘りします。 ▼連載記事はこちら buildersbox.corp-sansan.com (写真左から)Strategic Products Engineering Unit Infrastructureグループマネジャー 水谷 高朗、Sansan Engineering Unit 副部長 笹川 裕人 笹川:それでは水谷さん、自己紹介をお願いします。 水谷: SPEUのInfr

    【Sansan Tech Talk】新規事業開発におけるInfrastructureグループの技術的挑戦 〜安定運用とスピードの両立を目指して〜 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/30
  • 【後編】24新卒開発研修で新しいツールを導入した話 〜pre-commit の導入方法と使い方など〜 - Sansan Tech Blog

    こんにちは、研究開発部 Automationグループで研究員をしている李です。 ブログでは、前編 に続き、新卒開発研修*1 *2に導入したpre-commitの使い方などを共有します。 目次 目次 pre-commit とは? pre-commitを導入した経緯 背景: 目的: 対策法: 導入手順 1. インストール 2. yamlファイルの設定 このyamlファイルでできること 注意してほしいこと 3. git-secretsの導入と設定 git-secretsとは? 導入 設定 注意してほしいこと 4. 反映 注意してほしいこと 5. 実行結果 pre-commit のメリットとデメリット メリット デメリット まとめ pre-commit とは? pre-commit はコードをリポジトリにコミットする前に特定のチェックを自動で実行するためのフレームワークです。 コードの品質を保持

    【後編】24新卒開発研修で新しいツールを導入した話 〜pre-commit の導入方法と使い方など〜 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/29
  • 【前編】24新卒開発研修で新しいツールを導入した話 〜Ruffの導入方法と使い方など〜 - Sansan Tech Blog

    こんにちは、研究開発部 Automationグループで研究員をしている李です。業務として、Bill Oneの請求書情報に関する作業効率改善に従事しています。 例年通り *1 *2 4月24日(水)~4月26日(金)で研究開発部(以下、R&D)内の技術研修を実施しました。開発環境は昨年からのアップデートとして、Ruffとpre-commitを試みました。 ブログでは、まず前編として、Ruffの導入方法と使い方などについて共有します。 目次 目次 はじめに リンター(Linter) よく使われるPythonリンター コードスタイル系 型チェック系 フォーマッター(Formatter) よく使われるPythonフォーマッター Ruffとは Ruffを導入した経緯 目的 背景 対処法 Ruffの特徴 Ruffのメリットとデメリット メリット デメリット まとめ はじめに Ruff は、Pytho

    【前編】24新卒開発研修で新しいツールを導入した話 〜Ruffの導入方法と使い方など〜 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/29
  • マイクロサービスアーキテクチャのリポジトリ構成を漸進的にモノレポに移行した話 - Sansan Tech Blog

    Sansan Engineering UnitでSansan Data Hubの開発をしている藤原です。 前回はニッチに深く潜り過ぎたので、今回は(使い古されたネタではありますが)モノレポ化についてお話ししたいと思います。 おさらい:モノレポ(mono repo)とは 一連のソースコードを単一のリポジトリで管理している状態のことです。 特に、実装言語、またはサブシステムやドメインといった何らかの区切りでリポジトリを分けている場合に、それらを集約することをモノレポ化と言います。 逆に、複数のリポジトリに分けている状態をポリレポ(poly repo)と言います。 モノレポのメリットとデメリット モノレポ化することで、以下のようなメリットが得られます。 プロダクト全体で統一したい設定、たとえばCIスクリプトやlinter設定などの管理が楽になる。 検索が楽になる。GitHubの検索で事足りること

    マイクロサービスアーキテクチャのリポジトリ構成を漸進的にモノレポに移行した話 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/28
  • JiraAPI×GAS×LookerStudioで生産性指標測定ダッシュボード作成 - Sansan Tech Blog

    はじめまして、技術部 Sansan Engineering Unit Master Data Groupの佐藤です。普段は人事異動情報、企業ニュース、役員管理職情報の収集や提供をするシステムの開発を行っています。 現在技術部では、単月の生産量を2倍にするという目標を掲げ、生産量向上に取り組んでいます。今回は、私が所属するチームの生産性向上施策の一環として、生産性指標可視化のためのダッシュボードを作成した話をします。 生産性指標 私の所属するチームでは、"生産的"なタスクを便宜上、"計画時に積まれたタスク"として定義しました。そして生産性指標を、スプリントあたりの"計画時に積まれたタスクの消化ストーリーポイント数"として計測することにしました。 Why ベロシティ? 生産性指標として有名なものにFour Keysがあります。チームで生産性指標を決めるときにもFour Keysは候補に挙が

    JiraAPI×GAS×LookerStudioで生産性指標測定ダッシュボード作成 - Sansan Tech Blog
    yug1224
    yug1224 2024/05/16
  • 同期的なコミュニケーションでチーム内の距離を縮める - Sansan Tech Blog

    研究開発部 Architectグループ ML PlatformチームのKAZYこと新井です。 名古屋の中部支店に所属しています。 普段はCircuitというアプリケーション基盤を作っています。 先日、チームメンバーと同じ会議室に集まり、業務とワークショップを行いました。 関西支店に集う 私たちのチームは現在5人です。 東京の社所属が3人、中部支店が1人、関西支店が1人です*1。 各々が所属拠点に出社することはあれど、実際に顔を合わせて業務を行う機会はほとんどありません。 直近では、新しいメンバーの加入と数ヶ月に渡る育休から復帰*2という2つのイベントがありました。 少しでも早くチームに馴染んでもらえたら、という気持ちで1つの拠点に集まって業務を行う日を作りました。 表参道社、関西支店、福岡支店、中部支店、Sansan神山ラボ...といくつかオフィスがあります。 今回選ばれたのは関西支店

    同期的なコミュニケーションでチーム内の距離を縮める - Sansan Tech Blog
    yug1224
    yug1224 2024/05/01
  • Node.jsによるReverse Proxy実装をGoでリプレイスした話 - Sansan Tech Blog

    Node.jsによるReverse Proxy実装をGoでリプレイスした話 技術部 Bill One Engineering Unit(以下、Bill One EU)の川原です。23卒としてSansan株式会社に入社し、インボイス管理サービス「Bill One」の開発をしています。今回はNode.jsによるReverse Proxy実装をGoでリプレイスした話をします。 リプレイスしたReverse Proxy Bill Oneの機能の1つに、メールで送られた請求書をBill Oneが代理で受領する機能があります。 Bill Oneでは、SendGridという外部サービスを介してメールを受信しており、Cloud Run上のマイクロサービスへリクエストを送っています。 SendGridとCloud Run上のマイクロサービスの間には、SendGridからのWebhookイベントをプロキシす

    Node.jsによるReverse Proxy実装をGoでリプレイスした話 - Sansan Tech Blog
    yug1224
    yug1224 2024/04/29
  • 【Sansan Tech Talk】名刺アプリ「Eight」の技術的挑戦 〜EC2からの移行とモジュラーモノリス化への道〜 - Sansan Tech Blog

    こんにちは。Sansan Engineering Unitで副部長を務めている笹川 裕人です。新たにスタートする、この「Sansan Tech Talk」。Sansan技術部のテックリードたちが取り組んでいる技術的な取り組みやチャレンジを対談形式で深掘りします。初回となる今回はEight Engineering Unitで部長を務める大熊 秀治にインタビューしました。 笹川:それではよろしくおねがいします。まずは私の自己紹介をしますね。私はコンピューターサイエンスの博士号を持っています。学生時代の友人や研究者の同僚と飲み会でアルゴリズムの話をするのが好きで、ときどき白熱してきたところを店員さんに聞かれて困惑されてしまうことがあります(笑)現在は営業DXサービス「Sansan」を楽しく開発しています。よろしくお願いします。 それでは大熊さんも自己紹介をお願いします。 大熊:名刺アプリ「Ei

    【Sansan Tech Talk】名刺アプリ「Eight」の技術的挑戦 〜EC2からの移行とモジュラーモノリス化への道〜 - Sansan Tech Blog
    yug1224
    yug1224 2024/04/20