Uzabase for Engineers
https://tech.uzabase.com/
スピーダ, NewsPicksなどを開発するユーザベースのTech Blog & エンジニア採用サイト
フィード

Stage. チームの開発を支える基盤と手法のご紹介
Uzabase for Engineers
経済ニュースプラットフォーム「NewsPicks」で NewsPicks Stage. (以降Stage.)プロダクトを開発している西です。昨年11月より Stage. の開発チームに携わっておりまして、振り返りの意味もこめて簡単にですが開発基盤と開発手法の紹介をしようと思います。 Stage. について NewsPicks Stage. (https://newspicks-stage.com) は経済・ビジネス情報に特化した動画配信サービスです。スポンサー企業と共同で業界の課題等をテーマに、主に大企業の意思決定者層向けの番組を制作して独自のプラットフォームで配信を行っています。動画をライブ…
19時間前

検索失敗から学ぶUX改善の旅 ~ データドリブンなユーザー体験向上の事例をご紹介 ~
13

Uzabase for Engineers
こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております崔(ちぇ)です。2020年に新卒入社し、去年まで主に検索システムの開発を担っておりました。今年からはより幅広い基盤改善にチャレンジしております。 今回は、今までNewsPicksの検索システムをどのように改善してきたかについてお話ししたいと思います。去年のSearch Engineering Tech Talk 2024 Springにて発表した内容をもとにしております。当時の発表は10分弱のLT枠で発表資料としてスライドしか残っておりません。そこで、より詳細な内容を記事にまとめたいと思いました。 もしご興味あり…
8日前

Meet UB Tech #55「ユーザベース 新卒エンジニア1年目に聞いてみた!働いてみてぶっちゃけどう?・後編」を公開しました
1

Uzabase for Engineers
こんにちは、Uzabaseの角岡です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #55のテーマは、「ユーザベース 新卒エンジニア1年目に聞いてみた!働いてみてぶっちゃけどう?後編」です。 前回に引き続き、2024年度新卒入社のエンジニア3名をゲストにお迎えをして、 ユーザベースに入った理由や現在やっていること、今後の展望までオープンに話していただきました。 spotifycreators-web.app.link #55 の聞きどころはこちら。 タイトル: ユーザベース 新卒エンジニア1年目に聞いてみた!働いてみてぶっちゃけどう?後編 …
8日前

TikTokクリエイターから新卒エンジニアへ:NewsPicksの動画配信システムの舞台裏と私の成長記録
Uzabase for Engineers
はじめに はじめまして。ソーシャル経済メディア「NewsPicks」にエンジニアとして2024年新卒入社したカトマサです。 私は博士課程まで理論物理学を研究しており、C++やPythonを使った数値計算やデータ解析の経験はありましたが、Web開発は完全に未経験でした。趣味として、YoutubeやInstagram、TikTokで動画投稿やライブ配信を行なっています。 2024年4月の入社後、広告配信システムの改修チームで主にフロントエンドやサーバーサイドの開発を担当し、2025年1月からはプラットフォーム全体の改善を行うチームで動画配信システムの改修を担当しています。 このブログでは、Web開…
1ヶ月前

Meet UB Tech #54「ユーザベース 新卒エンジニア1年目に聞いてみた!働いてみてぶっちゃけどう?・前編」を公開しました
Uzabase for Engineers
こんにちは、Uzabaseの角岡です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #54のテーマは、「ユーザベース 新卒エンジニア1年目に聞いてみた!働いてみてぶっちゃけどう?前編」です。 2024年度新卒入社のエンジニアの3名をゲストにお迎えをして、 ユーザベースに入った理由や現在やっていること、今後の展望までオープンに話していただきました。 2024年新卒入社のエンジニアは今回参加いただいたゲストを含めて7名。 前編・後編にメンバーを分けてたっぷりとお届けしていきます! spotifycreators-web.app.link #54…
1ヶ月前

Meet UB Tech #53「Startup CTO of the year 2024の令和トラベル・麻柄さんの魅力を深堀る会」を公開しました
Uzabase for Engineers
こんにちは、Uzabaseの角岡です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #53のテーマは、「Startup CTO of the year 2024の令和トラベル・麻柄さんの魅力を深堀る会」です。 昨年行われたStartup CTO of the year 2024にて最優秀賞を受賞された株式会社令和トラベル 執行役員 VPoE 麻柄さんをゲストにお迎えし、 NewsPicks CEO・文字とNewsPicks エンジニア・飯田とともに、令和トラベルの開発組織体制や、プロダクトと事業推進の両立についてお伺いしました。 open.…
2ヶ月前

「知識強化型言語モデルLUKEミートアップ」を開催しました
Uzabase for Engineers
株式会社ユーザベースでUB Researchを担当している高山です。 先日、株式会社Studio Ousiaさんをお招きして「知識強化型言語モデルLUKEミートアップ」を開催したので、今回はそのイベントレポートとなります。 uzabase-tech.connpass.com 講演1 まず最初はLUKE開発元であるStudio Ousiaさんより山田さんと鈴木さんに発表いただきました。 前半はLUKEの概要と、後半には次世代知識強化型言語モデルLUXE(仮称)についても話されました。 (ユーザベースも開発に協力させていただきました) LUKEミートアップ始まりました #luke_meetup h…
2ヶ月前

CDKを使ったStepFunctionで、わかりやすいデプロイフローを構築する
Uzabase for Engineers
AWSのCDKを使って、StepFunctionによるデプロイフローを作ってみた例を紹介します。
2ヶ月前

言語モデルLUKEを経済の知識に特化させたモデル「UBKE-LUKE」の提案
Uzabase for Engineers
株式会社ユーザベースでUB Researchを担当している高山です。 ユーザベースでは2023年7月からStudio Ousia社と業務提携して、自然言語処理の研究開発に取り組んでいます。今回はその取り組みの一つとして作った言語モデルについて書いていきます。 概要 経済情報を扱う製品群を開発するユーザベースでは、「企業」という情報を扱うことが非常に多くあります。 今回は、ユーザベースの保有する経済情報のデータを学習に利用し、企業エンティティに特化したエンコーダーモデル Uzabase Business Knowledge Encoder based on LUKE (UBKE-LUKE) を作…
3ヶ月前

SnowflakeのZeroCopyCloneで開発環境への検索インデックス同期の問題を楽々解決!!
Uzabase for Engineers
はじめに お話の内容 抱えていた課題 コスト index作成処理の問題 どうやって解決していくか 実装後のよかった点 まとめ はじめに ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。このブログは、NewsPicksの NewsPicks Advent Calendar 2024の24日目の記事となります。 今回は、AWSサービスである「OpenSearch」「ECS」とデータウェアハウスである「Snowflake」を用いて、弊社で使用している開発環境にコスパよく効率的な検索インフラ基盤を構築し、NewsPicksの重要な機能の一つである検索機能の開発者体験…
3ヶ月前

CloudWatch Logs Insights (ログのインサイト)で爆速運用
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の8日目の記事です(が、公開はずっと遅くになってしまいました!)。 ソーシャル経済メディア「NewsPicks」の武藤です。 サービスを安定的に運用するには、アプリケーションの動作状況を把握することが必要不可欠です。これには、定量的な測定(応答速度やメモリ・CPU使用量などの数値的なパフォーマンス指標)と定性的な測定(個別具体の処理の入力や出力など)の両方が必要です。 NewsPicksではNewRelicを活用して定量的な測定を行っています。アドベントカレンダーの7日のブログ記事でもNewRelicを扱っていますのでご…
3ヶ月前

Netflixの推薦&検索システム最前線 - QCon San Francisco 2024現地レポート
Uzabase for Engineers
はじめに 現代Webサービスの「推薦システム」基盤 2段階ランキングプロセス ステップ1:候補抽出(First Pass) ステップ2:精密ランキング(Second Pass) モデル評価とA/Bテストサイクル Use Case 1:Netflixのリアルタイム「予測検索」 リアルタイム推薦のインフラストラクチャ Use Case 2:検索と推薦を統合するモデル「UniCoRn」 UniCoRnのポイント 共通モデル化までのプロセス 検索と推薦の比較 統一モデルの実現方法 全体のアーキテクチャ 1. 入力 2. 処理 3. 出力 まとめ はじめに ソーシャル経済メディア「NewsPicks」(…
3ヶ月前

Androidで簡単にCompose化したいときは既存のコードを活かし段階的に移行しよう
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の18日目の記事です。 ソーシャル経済メディア「NewsPicks」(VP of Mobile Engineering) の石井です。 今回は、10年もののNewsPick AndroidアプリでのCompose化をビジネスを止めずにどう進めているかを書いていきます。 タイトルは当たり前な気がしますが、他社の話を聞くと意外と既存コードを活かしてないこともありそうだったので参考になるかもしれないと思い書くことにしました。 既存のアーキテクチャ Android Viewで構築されているアーキテクチャは基本的には、ざっくりと書…
4ヶ月前

NewsPicks Stage.のApp Router移行の一年を振り返って
Uzabase for Engineers
こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage. 事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスである NewsPicks Stage. の開発・運用を行っています。 概要 NewsPicks Stage.(以下Stage.)では去年末ごろから Next.js のフロントエンドを App Router へ段階的移行を進めてきました。 tech.uzabase.com 1年ほどで 半分以上のページが App Router 化 され、知見や感想が溜まってきた…
4ヶ月前

ユーザベースで社内イベント「生成AIコンテスト」を開催!全社で広がる生成AI活用の挑戦。
Uzabase for Engineers
こんにちは、ユーザベースの西和田です。 2024年12月12日、弊社で「生成AIコンテスト」を開催いたしました。本記事では、開催に至った背景と当日の様子をご紹介します。社内での生成AI活用の推進をお考えの方々にも、参考になれば幸いです。 ※本イベントレポートの作成においても、生成AIを活用しています。見出しの構成案や文章のベースを生成AIで作成し、具体的な事例を加え仕上げています。 開催背景 ユーザベースは「エンジニアリングを起点に、誰もがビジネスを楽しめる世界の実現」を目指すテクノロジー・カンパニーです。 この想いのもと、2022年4月から「Play Engineering」プロジェクトをス…
4ヶ月前

Aurora MySQL 2から3へのアップグレード - 安全性とコストを考慮した移行プロセス
Uzabase for Engineers
ソーシャル経済メディア「NewsPicks」SREチームの美濃部です。 NewsPicksでは複数のサービスでAurora MySQLをメインのデータベースとして利用しています。これまでAurora MySQL 2(MySQL 5.7互換)を使用してきましたが、2024年2月から順次クラスタのアップグレードを開始し、2024年11月にすべてのクラスタをAurora MySQL 3(MySQL 8.0互換)へのアップグレードを完了しました。この記事ではそのアップグレードプロセスについて解説します。 アップグレードの背景 アップグレードを決断した主な要因は、Aurora MySQL 2のサポートが…
4ヶ月前

ログ欠損という失敗からの学びと問題解決を振り返る
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の14日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の堀です。 主に法人顧客向けのサービスや機能の開発に携わっております。 今回はNewsPicksにおける「ログ」に関する失敗と、その問題解決に向けた取り組みについて紹介したいと思います。 ログは大事 まず、この記事で言及するログとは、OSのシステムログやアプリケーションのエラーログ等ではなく、NewsPicksのユーザーがどんな操作を行なったかを記録している「行動ログ」と呼ばれているものです。 NewsPicksでは、記事のタップ、スクロール…
4ヶ月前

Notionだけで、初めてのテスト仕様書~テストケースを作ってみる
Uzabase for Engineers
こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをやっております、崔(ちぇ)です。最近では検索だけではなくもっと広範囲にシステム開発に携わっております。今日はQAエンジニアではない私が、初めて総合テストを設計段階からチャレンジした話をしてみようと思います。 弊社は社内ツールとしてNotionを利用しており、最初から最後までNotionだけを使うという試みをしてみました。総合テストの設計が初めての方はもちろん、Notionの活用事例が気になる方も読んでいただけると幸いです。 この記事はNewsPicks Advent Calendar 2024の13日目の記事です。昨日は桐畑…
4ヶ月前

システム障害を素早く解決するための考え方・工夫について
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の12日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」エンジニアの桐畑です。 今回は「システム障害を素早く解決するための考え方・工夫について」というテーマでお伝えしたいと思います。 NewsPicksサービス状況・障害対応 障害の原因分類 障害の原因特定・解決までのステップ 1. 障害の状況確認・再現 2. 原因特定 3. 解決方法の検討 素早く原因特定・解決するための考え方・工夫 おわりに NewsPicksサービス状況・障害対応 NewsPicksも今年でサービス開始して11年を迎えました。…
4ヶ月前

NewsPicks iOSアプリのリアーキテクチャの現在地 ~Swift Package中心の世界へ~
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の11日目の記事です。 ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 今年はじめにTCA勉強会を主催し、多くの方々にご参加をいただくことができました。 この勉強会をきっかけに、NewsPicksといえばTCAという認知を多少なりとも広げることができたのではないかと思っています。 tech.uzabase.com そのすぐ後、Findyさん主催のイベントや、Software Designの記事にて、TCAへのリアーキテクチャについて発表を行いました。 https://findy.con…
4ヶ月前

OpenAPI Generator で作成した sdk を使ってAPIテストを書いた話
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の10日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 今回はAPIテストを OpenAPI Generator を使って書いた話を紹介させていただきます。 APIテスト APIテストはソフトウェアテストにおいて重要な役割を果たし、テストピラミッド の中間層(統合テスト)に位置します。 NewsPicks ではE2Eテストと比較して、APIテストは基盤がほぼなかったため今回テスト基盤から作成することにしました。 そこでAPIテスト基盤は記述がしやすく、かつメ…
4ヶ月前

New RelicでSpring Frameworkを使ったアプリケーションのキャッシュヒット率を可視化する
Uzabase for Engineers
この記事は New Relic Advent Calendar 2024 と NewsPicks Advent Calendar 2024 の7日目の記事です。 ソーシャル経済メディア「NewsPicks」SREチームの飯野です。 NewsPicksではサービスの状態を可視化するために New Relic APM(Application Performance Monitoring)を導入しています。ことあるごとにNew Relicのダッシュボードを確認することでサービスの状態の把握や、安定性向上、パフォーマンス改善のヒントを得ています。 今回はNew RelicのAPMでは用意されていないキ…
4ヶ月前

データウェアハウスをRedshiftからSnowflakeに移行するために考えたこと(1)
Uzabase for Engineers
この記事は NewsPicks Advent Calendar 2024 の6日目の記事です。 ソーシャル経済メディア「NewsPicks」の中村です。最近はデータ基盤の開発運用、データアナリストのサポート、LLM活用等をやっています。 現在、NewsPicksではデータウェアハウスとして長年利用してきたAmazon RedshiftからSnowflakeへの移行を進めています。まだ移行作業の途上ではありますが、完了の目処が立ったので、なぜデータ基盤の移行を行なっているのか、どのように移行計画を立てたか、実際に移行作業を進めてみてどうだったか等を紹介したいと思います。データ基盤を運用している方…
4ヶ月前

AWS re:Invent 2024 に参加中です!
Uzabase for Engineers
ソーシャル経済メディア「NewsPicks」(BDD Product) の西(@yukinissie)です! この記事は NewsPicks Advent Calendar 2024 の4日目の記事です。昨日はNewsPicksの守護神(初めて呼びました)QA西園さんによる「QA が Notion API を使ってちょっとしたシステムを作った話」でした。 本エントリーでは絶賛参加中のAWS re:Invent 2024 の体験をレポートします! とは言ってもすみません!本エントリーを書いている現在はまだ1日目の正午*1なので0日目をさくっと紹介します!がっつり全ての内容が見たいよーって方は別エ…
4ヶ月前

テックブランディング委員会立ち上げから4年、あらためて組織に起こった変化を振り返る
Uzabase for Engineers
ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks Advent Calendar 2024 の2日目の記事です。昨日は我らがあんどぅさんによるプロジェクトマネジメントのお話でした。 はじめに 2020年頃から2024年までの4〜5年ほどかけて、社内でテックブランディングの盛り上げ担当をしてきましたので、そのまとめを書いていきます。 だいぶ長くなりましたが、備忘録も兼ねて書いていきますのでご興味のある方はお付き合いください。 僕は2020年にNewsPicksに入りまして、最初の2年ほどはCTOをしていました。その後はNewsPicksではいわゆるSREな…
4ヶ月前

エンジニアも知っておきたい『プロジェクトマネジメント』〜カレー作りで学ぶPMBOKの実践的TIPS〜
Uzabase for Engineers
NewsPicks Advent Calendar 2024 一日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の安藤です。長らくSREチームのプレイングマネージャーをしていたのですが、最近はEMとして自分の技術的専門性とは異なる担当領域の開発チームもサポートしています。 その中で気づいたのが、「プロジェクトマネジメントを通じてならどのチームでもエンジニアリングマネージャーとして一定のバリューを発揮できるかもしれない」ということです。 私自身は前職で10年以上プライムのSIerに在籍しており、PMを務めたことはありませんが一流のPMの元で開発リーダーとして一緒に仕事を…
4ヶ月前

LLMアプリ開発を楽にするPromptyをPromptflowで使ってみよう
Uzabase for Engineers
株式会社ユーザベース スピーダ事業 の阿波連です。 私が参加しているアジャイルダッシュボードチームはスピーダ経済情報リサーチのダッシュボードを開発しています。 ダッシュボードには「AI決算サマリー」という機能があります。先日、要約データを更新し、以前よりも要約精度が良くなりました。 今回は、AI決算サマリーの裏側で使用しているLLMと関連して、PromptflowにあるPrompty機能について紹介します。なお、Prompty機能は2024年11月27日執筆時点でExperimental featureですので利用時は考慮してください。 Promtflowとprompty Promptflow…
4ヶ月前

セッションハイジャックとセッションIDの固定化攻撃 セキュアコーディングの啓蒙 第5回
Uzabase for Engineers
はじめに こんにちは! 株式会社ユーザベース スピーダ事業 Product Team(以下 Product Team)の下川です。 ユーザベースの Product Team には、全社のセキュリティを担うチームとは別に、プロダクトセキュリティの底上げを担うセキュリティチーム、通称 Blue Team というチームがあります。 私たちはそのチームの一員として、日頃の開発業務に加えてユーザベースのプロダクトのセキュリティを横断的に向上するための活動を行なっています。 現在、 Blue Team の取り組みのひとつとして、脆弱性のリスクや対策方法について継続的に記事にまとめ、Product Team…
4ヶ月前

NASAから学ぶ!リスクを成功に導く3つのこと - QCon San Francisco 2024
Uzabase for Engineers
はじめに スピーカー紹介 「計算されたリスク」とは何か? リスクを取る前に価値を見極める 「計算されたリスク」を取るためのフレームワーク 1. Think Bigger! まず行動を起こすことが重要、無行動こそ最大のリスク リスクを取る際は「何がうまくいくか」に焦点を当て、それを最大化する方法を考える 2. De-risk リスクの影響を軽減する手法を取り入れる 冗長性を活用する 3. Be Wrong, a Lot 「Ready, Fire, Aim」の精神 失敗を受け入れ、学びを得る まとめ 感想 参考:火星探査機「Curiosity(キュリオシティ)」 はじめに ソーシャル経済メディア「…
4ヶ月前

【イベントレポート】2024年10月19日、親子で楽しむプログラミング教室「Play Engineering for Kids」を開催しました!
Uzabase for Engineers
ユーザベースは、「エンジニアリングを起点に、誰もがビジネスを楽しめる世界の実現」を目指し、テクノロジー・カンパニーであり続けたいと考えています。 2022年4月からスタートした「Play Engineering」というプロジェクトでは、エンジニアではない職種の社員も、楽しくエンジニアリングを学べる研修の実施や、保有するエンジニアリングスキルのレベルによって手当が支給される制度「プラスエンジニアリング手当」の導入など、全社員が対象となるさまざまな取り組みを実施しています。 プロジェクトの一環である「Play Engineering for Kids」は2022年より毎年開催をし、2024年は10…
4ヶ月前