サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
MacBook Neo
tech.uzabase.com
この記事は NewsPicks Advent Calendar 2025 の6日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの飯野です。 今回は、リリースラッシュの裏側で地道に積み重ねてきたコスト最適化施策を振り返る で触れた AWS ElastiCache for Redis から AWS ElastiCache for Valkey への移行について話したいと思います。 コスト最適化施策として移行を行う 移行計画を立てる SLOを守れそうなら日中にオンライン更新を行う 移行準備 パラメータグループの変更内容確認 動作確認 移行作業 まとめ コスト最適化施策として移行を行う ValkeyはRedisのライセンス変更をきっかけに生まれたフォークです。Redisとの高い互換性を保ちながらオープンソースライセンスを保ち、Linux Foundation
こんにちは。ソーシャル経済メディア「NewsPicks」プリンシパルエンジニアのむとうです。 システムを作っていると、動いた時に「楽しい!」と感じることでしょう。しかし、動かすことで満足してしまってとりあえず動くだけの実装を行ったことが後で問題となった経験、ありますよね。 AI時代だからこそ、動くだけのコードやガチャを回して終わりではなく深く理解した上での妥当な実装を選択することが必要です。JavaScriptで配列の比較を行うという小さな例を題材に、どうすればいいかを計測とコードで見ていきましょう。 一つ一つの決断の質を高めることが、あなたのエンジニアとしての評価、ひいてはあなたが関わるプロダクトの強さを作るのです。 JavaScriptで配列の比較を行う JavaScriptには配列同士の値の比較をする関数がありません。*1しかし、値の比較をしたいケースはしばしば発生します。 それでは
この記事は NewsPicks Advent Calendar 2025 の5日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの飯野です。 2025年はNewsPicksの使い方が変わるような機能が立て続けにリリースされた一年でした。 3月:BookPicks NewsPicks カイゼン報告 2025.3.26 5月:コメントタイムライン NewsPicks カイゼン報告 2025.5.27 6月:番組フォロー、記者フォロー NewsPicks カイゼン報告 2025.6.24 7月:「業界ウォッチ」タブ、オリジナル記事のAI読み上げ NewsPicks カイゼン報告 2025.7.29 10月:プレミアム会員向けにNewsPicks Learning動画を公開 NewsPicks カイゼン報告 2025.10.28 これだけのリリースをしていると
はじめに 皆さんこんにちは! ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの森田 (@moritama7431) です:) 私は2024年4月に株式会社ユーザベースに新卒入社し、現在は主にNewsPicksにおける推薦機能の開発改善に携わっています。 本記事では、NewsPicksにおける推薦システムの継続的改善を加速させるために、機械学習パイプラインの新規追加の学習コストと開発工数を大幅削減させることができた基盤改善の取り組みについて共有します。 実は昨年秋に取り組んでいた内容なので、もうすぐ1年経ってしまいます。しかし将来の自分自身やチームメンバーのためにも本取り組みを言語化・意味付けしておくべきだと、遅ればせながら一念発起し執筆してみました! なお本記事では、「機械学習パイプライン(以下、MLパイプライン)」を「機械学習システムにおける特徴量作成/学習/推論のいず
こんにちは。株式会社ユーザベース スピーダ事業でエンジニアをしている竹澤です。 近年、多くの企業で1on1が導入され、その重要性が注目されています。スピーダ事業では、年次やタイトルに関係なく、コーチもクライアントも行います。 今回は、私が初めて1on1のコーチを担当した7回のセッションを通じて、どのようにコーチングスキルを身につけていったかを振り返ってみたいと思います。コーチング初心者の方や、これから1on1のコーチに挑戦してみたい方の参考になれば幸いです。 なぜ1on1コーチを始めたのか? コーチングを始めたきっかけは、以前同じチームだったメンバーからのフィードバックでした。毎回の360°フィードバックで「1on1のコーチをやってみたらどうですか?」と書いてくださり、始めてみようと思いました。 実際にコーチを始める前には、1on1チームの皆さんが用意してくれたスライドやノートを読み込み、
こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております崔(ちぇ)です。2020年に新卒入社し、去年まで主に検索システムの開発を担っておりました。今年からはより幅広い基盤改善にチャレンジしております。 今回は、今までNewsPicksの検索システムをどのように改善してきたかについてお話ししたいと思います。去年のSearch Engineering Tech Talk 2024 Springにて発表した内容をもとにしております。当時の発表は10分弱のLT枠で発表資料としてスライドしか残っておりません。そこで、より詳細な内容を記事にまとめたいと思いました。 もしご興味ありましたら、ぜひ当時の発表資料も一緒にご確認いただけると幸いです。 tech.uzabase.com 下記の記事から勉強会の裏話もご覧いただけます! now.legalontech.jp hit-the
株式会社ユーザベースでUB Researchを担当している高山です。 ユーザベースでは2023年7月からStudio Ousia社と業務提携して、自然言語処理の研究開発に取り組んでいます。今回はその取り組みの一つとして作った言語モデルについて書いていきます。 概要 経済情報を扱う製品群を開発するユーザベースでは、「企業」という情報を扱うことが非常に多くあります。 今回は、ユーザベースの保有する経済情報のデータを学習に利用し、企業エンティティに特化したエンコーダーモデル Uzabase Business Knowledge Encoder based on LUKE (UBKE-LUKE) を作成しました。 こちらはStudio Ousia社が開発している知識強化言語モデルLUKEをベースに共同で開発してきた成果となります。 課題の背景 まず、UBKE-LUKE開発の動機となった、ユーザベー
はじめに 現代Webサービスの「推薦システム」基盤 2段階ランキングプロセス ステップ1:候補抽出(First Pass) ステップ2:精密ランキング(Second Pass) モデル評価とA/Bテストサイクル Use Case 1:Netflixのリアルタイム「予測検索」 リアルタイム推薦のインフラストラクチャ Use Case 2:検索と推薦を統合するモデル「UniCoRn」 UniCoRnのポイント 共通モデル化までのプロセス 検索と推薦の比較 統一モデルの実現方法 全体のアーキテクチャ 1. 入力 2. 処理 3. 出力 まとめ はじめに ソーシャル経済メディア「NewsPicks」(Media Experience Unit)でエンジニアをしております小林です! 2024年11月、世界の最先端エンジニアが集うカンファレンス QCon San Francisco 2024 に参加し
ソーシャル経済メディア「NewsPicks」SREチームの美濃部です。 NewsPicksでは複数のサービスでAurora MySQLをメインのデータベースとして利用しています。これまでAurora MySQL 2(MySQL 5.7互換)を使用してきましたが、2024年2月から順次クラスタのアップグレードを開始し、2024年11月にすべてのクラスタをAurora MySQL 3(MySQL 8.0互換)へのアップグレードを完了しました。この記事ではそのアップグレードプロセスについて解説します。 アップグレードの背景 アップグレードを決断した主な要因は、Aurora MySQL 2のサポートが2024年10月31日で終了し、以降発生する延長サポート料金です。1vCPUあたり1年で 1,050USD ≒ 16万円 の延長サポート料金が発生します(さらに3年目以降は2倍に)。実際に使用している
こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをやっております、崔(ちぇ)です。最近では検索だけではなくもっと広範囲にシステム開発に携わっております。今日はQAエンジニアではない私が、初めて総合テストを設計段階からチャレンジした話をしてみようと思います。 弊社は社内ツールとしてNotionを利用しており、最初から最後までNotionだけを使うという試みをしてみました。総合テストの設計が初めての方はもちろん、Notionの活用事例が気になる方も読んでいただけると幸いです。 この記事はNewsPicks Advent Calendar 2024の13日目の記事です。昨日は桐畑さんによる 「システム障害を素早く解決するための考え方・工夫について」でしたので、ぜひ一緒に読んでみてください! tech.uzabase.com NewsPicksの動作を担保するテストケースを作る
この記事は NewsPicks Advent Calendar 2024 の12日目の記事です。 こんにちは。ソーシャル経済メディア「NewsPicks」エンジニアの桐畑です。 今回は「システム障害を素早く解決するための考え方・工夫について」というテーマでお伝えしたいと思います。 NewsPicksサービス状況・障害対応 障害の原因分類 障害の原因特定・解決までのステップ 1. 障害の状況確認・再現 2. 原因特定 3. 解決方法の検討 素早く原因特定・解決するための考え方・工夫 おわりに NewsPicksサービス状況・障害対応 NewsPicksも今年でサービス開始して11年を迎えました。 サービス開始から11年を経たコードやシステム構成は、その複雑性が一定以上高まっています。一方で、ここ数年にわたりデリバリーの仕組みが改善され、1日に何度も修正がデプロイされる状況となっています。 高
この記事は New Relic Advent Calendar 2024 と NewsPicks Advent Calendar 2024 の7日目の記事です。 ソーシャル経済メディア「NewsPicks」SREチームの飯野です。 NewsPicksではサービスの状態を可視化するために New Relic APM(Application Performance Monitoring)を導入しています。ことあるごとにNew Relicのダッシュボードを確認することでサービスの状態の把握や、安定性向上、パフォーマンス改善のヒントを得ています。 今回はNew RelicのAPMでは用意されていないキャッシュヒット率の可視化について話したいと思います。 キャッシュは重要 Spring Cache instrumentation メトリクスの内容を確認する 個別の <cache-name> のキャッ
この記事は NewsPicks Advent Calendar 2024 の6日目の記事です。 ソーシャル経済メディア「NewsPicks」の中村です。最近はデータ基盤の開発運用、データアナリストのサポート、LLM活用等をやっています。 現在、NewsPicksではデータウェアハウスとして長年利用してきたAmazon RedshiftからSnowflakeへの移行を進めています。まだ移行作業の途上ではありますが、完了の目処が立ったので、なぜデータ基盤の移行を行なっているのか、どのように移行計画を立てたか、実際に移行作業を進めてみてどうだったか等を紹介したいと思います。データ基盤を運用している方、データウェアハウスの比較検討をされている方などの参考になれば幸いです。 なぜデータウェアハウスを移行するのか Redshiftのパフォーマンスとコストの問題 まず、NewsPicksの従来のデータ基
ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks Advent Calendar 2024 の2日目の記事です。昨日は我らがあんどぅさんによるプロジェクトマネジメントのお話でした。 はじめに 2020年頃から2024年までの4〜5年ほどかけて、社内でテックブランディングの盛り上げ担当をしてきましたので、そのまとめを書いていきます。 だいぶ長くなりましたが、備忘録も兼ねて書いていきますのでご興味のある方はお付き合いください。 僕は2020年にNewsPicksに入りまして、最初の2年ほどはCTOをしていました。その後はNewsPicksではいわゆるSREなどの基盤開発系のチームを複数持つような役割になり、今ではAI研究所をやったりグループ全体のデータ基盤の仕事もしています。最近は技術系のマネージャーと自己紹介することが多いですが、アイデンティティは今も
NewsPicks Advent Calendar 2024 一日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の安藤です。長らくSREチームのプレイングマネージャーをしていたのですが、最近はEMとして自分の技術的専門性とは異なる担当領域の開発チームもサポートしています。 その中で気づいたのが、「プロジェクトマネジメントを通じてならどのチームでもエンジニアリングマネージャーとして一定のバリューを発揮できるかもしれない」ということです。 私自身は前職で10年以上プライムのSIerに在籍しており、PMを務めたことはありませんが一流のPMの元で開発リーダーとして一緒に仕事をした経験はあります。*1 SEの必須研修として『プロジェクトマネジメント基礎』という一週間の座学をした程度の知識ですが、スクラムが中心の事業会社のエンジニアにとっても意外と役立つTIPSがあるので思い
はじめに スピーカー紹介 「計算されたリスク」とは何か? リスクを取る前に価値を見極める 「計算されたリスク」を取るためのフレームワーク 1. Think Bigger! まず行動を起こすことが重要、無行動こそ最大のリスク リスクを取る際は「何がうまくいくか」に焦点を当て、それを最大化する方法を考える 2. De-risk リスクの影響を軽減する手法を取り入れる 冗長性を活用する 3. Be Wrong, a Lot 「Ready, Fire, Aim」の精神 失敗を受け入れ、学びを得る まとめ 感想 参考:火星探査機「Curiosity(キュリオシティ)」 はじめに ソーシャル経済メディア「NewsPicks」(Media Experience Unit)でエンジニアをしております小林です! 2024年11月 アメリカ サンフランシスコで開催された QCon San Francisco
ソーシャル経済メディア「NewsPicks」SREチームの美濃部です。 NewsPicksではアプリケーションのビルドにAWS CodeBuildを使用しており、ビルドキャッシュの格納先としてAmazon EFS(AWSのフルマネージド型NFSファイルシステムサービス)を利用しています。 アプリケーションビルド構成 以前はS3に格納していましたが、EFSにする事でビルド時間が2分程短縮できる事がわかったので多少コストを払ってでも開発者の生産性を重視しました。1日に何度もビルドを行う開発者にとってこの2分の積み重ねは大きな価値があります。開発者の人数が多ければ多いほどこの価値もあがります。 ただし、想像以上にEFSの利用料金が発生してビルドに関わるコストが上がってしまいました。 この記事ではバーストクレジットを効果的に活用することでコストを4分の1に削減する事に成功したお話をしたいと思います
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 弊社では Server Side Kotlin を採用しており、昔に書かれた一部のコードは Java ですが、基本的に新規コードは Kotlin で書いており、既存の Java コードも Kotlin 化を推し進めています。 tech.uzabase.com tech.uzabase.com 今回は Kotlin の sealed class を使って、コードをシンプルにする例をご紹介します。 kotlinlang.org 微妙に異なるけど殆ど同じ処理を共通化 例えば、クレジットカードとキャリア決済の2通りで商品を購入するユースケースを考えてみます。 class PurchaseService( val productRepository: Pro
はじめに ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は、AWSサービスである「Lambda」「CloudFront」「S3」を用いて、弊社で使用している社内向けシステムの基盤を再構築し、開発者体験の向上やセキュリティ対策を行なったお話です。 お話の内容 弊社で使用している社内向けシステムの一つに「Watson」というシステムがあります。「Watson」とは簡単にいうと「NewsPicks」のユーザーIDをもとにユーザーごとの情報を検索・閲覧できるシステムで、お客様からの問い合わせ対応等に活用される重要なシステムです。「Watson」は構築されたのが8年前と歴史が古く、歴史が古い故に数々の問題を抱えていました。今回のお話では、歴史の古い社内システムのインフラとバックエンドを更改し抱えていた問題を解決したぜ!というお話となっています。 抱えていた課
はじめに こんにちは! 株式会社ユーザベース スピーダ事業部の飯田です。 この記事では、テキストをベクトルに変換(エンコード)にLLMを用いる際に有効なLLM2Vecという手法を紹介します。 合わせて、LLM2Vecにおける日本語ドメイン適応として、LLM2Vecの処理を日本語で行った場合とLLMの継続事前学習を日本語で行った場合について実験を行ったため、これを紹介します。 LLM2Vecとは LLM2Vecは、"LLM2Vec: Large Language Models Are Secretly Powerful Text Encoders"で提案された手法です。 Llamaなどで有名なLLMでは、テキストをベクトルにエンコードする際は、入力したテキストの末尾のベクトルを用いることが多いです。 これは、LLMがテキストの次の単語を予測することで事前学習を行っていることに関連があります。
こんにちは。ソーシャル経済メディア「NewsPicks」で主に検索システムを開発しております崔(ちぇ)です。 去年まで弊社の検索システムをEC2上に構築しておりました。今年にそれをコンテナ化しECSへ移行しました。コンテナ化に関しては前回の記事でまとめてますので、ご興味ありましたら是非読んでみてください。 tech.uzabase.com EC2からECSへ移行することに限らず、あらゆる「AからBへ移行する」行為はスイッチを切り替えるように簡単ではありません。 仮に、昨日までAが100%担った処理を、今日からBが100%担うようにしたとしましょう。何かの考慮漏れがあり以下のようなエラーが発生した際に、その障害の影響範囲は全体にわたり、最悪の場合はしばらくサービスが使えなくなることだってあり得ます。 想定より負荷が高まり新しいリクエストに対して全くレスポンスが返せない 想定できなかったバグが
ソーシャル経済メディア「NewsPicks」エンジニアの韓です。 先日、弊社ユーザベースオフィスでフロントエンド・オブザーバビリティ Meetupを開催しました。 本記事ではそのイベントレポートをお届けいたします! イベントについて 🎤 セッション フロントエンドエンジニアとして、オブザーバビリティにコミットすること(イイダユカコさん) ClassiにおけるSentry活用事例(lacolacoさん) observabilityを支える要素技術(sadnessOjisanさん) こつこつ育てる SLO(ニッシー☆) アーカイブ動画 おわりに イベントについて UzabaseではUB Techという技術イベントを定期的に開催しています。 社内での技術的取り組みを発信する機会を作ることと社外の方々にUzabaseのエンジニア組織について知っていただく機会を作ることを目的に毎回様々な技術テーマ
スピーダ事業Product Teamのあやぴーです。 「関数型ドメインモデリング」が翻訳されて日本でもF#が流行る兆しが見えてきたので、今日はF#を書き始めた人が感じやすい違和感を解決する方法についての紹介です。尚、私たちProduct Team内では持っていない人はいないのではないか、と思う程度には購入している人が多い本です。 store.kadokawa.co.jp F#には async コンピュテーション式というものがあり、非同期処理をうまく書きやすいです。例えば、以下のようなコードです。 let asyncFunctionA () = async { return 42 } let asyncFunctionB () = async { return 2 } let result = async { let! a = asyncFunctionA () let! b = async
なぜコスト最適化することになったか? Active Assist Cloud Storage ストレージサイズの削減 ストレージクラスの変更 ロケーションの検討 結果 Cloud SQL コスト削減のため、Dev環境の停止を行なった 不要なリソースの削除 結果50%くらい削減することができた テスト環境の削除 テスト環境が起動しっぱなし問題 テスト環境を削除した 不要なテスト環境は削除していこうという啓蒙 結果 BigQuery CUDの購入 Compute Engine Bigtable まとめ なぜコスト最適化することになったか? 私たちは、株式会社ユーザベース スピーダ事業 Product Division SREチーム として Google Cloud を利用したシステムの構築運用を担っております。 弊社では年々サービスを運用し続けるにつれて、為替の影響も受けてGoogle Clo
はじめに 皆さんこんにちは! ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの森田です:) 私は2024年4月に株式会社ユーザベースに新卒入社し、現在は主にNewsPicksにおける推薦機能の開発改善に携わっています。 NewsPicksでは、ユーザに価値のある経済情報を届けるための施策の一つとして記事推薦機能を導入しています。 本ブログでは、NewsPicks記事推薦機能にて基盤改善がモデル改善につながってCTR(Click Through Rate)を改善できた事例をもとに、私たちが認識した「推薦システムを本番導入する上で一番優先すべきだったこと」を共有します。 また先日行われた「実応用 × 推薦システム」をテーマとしたイベント Recommendation Industry Talks にて、本ブログの内容に関して発表させていただきました!参加者の皆様とカジュアルか
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 先日、↓ の記事を書かせて頂きました。 tech.uzabase.com 前回では CDK の良さをメインに紹介しましたが、今回は上手く使えずにドはまりしてしまった例をご紹介します。 ことの始まり ある日、チームメンバーからこんな報告があがってきました。 「CDKのバージョン上げたのですが、cdk deployで失敗しちゃうんですよね。これ分かります?」 xxx-cluster-stack failed: Error: The stack named xxx-cluster-stack failed to deploy: UPDATE_ROLLBACK_COMPLETE: Resource handler returned message: "Re
こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの飯野です。 SREでは2023年から円安に負けないコスト削減を継続して行なっていますが、最近は圧倒的な円安におされ気味です。 2024年1月-6月の間に141→161円の変動はちょっと厳しすぎますよね。 今回は2024年1月から3月にかけて行なったNewsPicksの共通バックエンドAPIサーバーのARM対応プロジェクトについて話したいと思います。 ARM対応はコスト削減を目的とした施策です。適用範囲の見誤りがあり、当初の想定ほど大きなコスト削減は実現できませんでしたが、活発に変更が行われるプロダクトに段階的に変更を加えてリリースすることができました。 ARM対応をするにあたり、何を考えてどの順番で着手したかという情報は、今後ARM対応を行う開発者に参考になりそうなので紹介します。 ARM対応計画 ARMのコンテナイメ
はじめに 「私…全ての手動作成AWSリソースを生まれる前に消し去りたい。全ての宇宙、過去と未来の全ての手動作成AWSリソースを…この手で!」 そんなことを思われた経験はないでしょうか?私は常に思っています。 こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの安藤です。 先日の JAWS-UG CDK支部 #14 にて、テーマが「IaC Generator祭り」だったこともあり、以下のタイトルでLT発表させていただきました。 www.docswell.com 上記の発表はAWS CDKのコミュニティのライトニングトークということもあり簡単なTIPS紹介が中心だったので、本記事では改めて背景と概要について紹介します。 背景 NewsPicksというサービスは10年以上の歴史があり、サービス開始当初からAWSを利用していました。 現在は、Infrastructure as
はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日は Playwright を使ったE2Eテストの導入について、紹介させていただきました。 今回は作成したテストをAWS 基盤上で動かす方法を紹介させていただきます。 前回の記事 tech.uzabase.com E2Eテスト実行のタイミング NewsPicksでは 下記のタイミングで E2Eテストを実行させています。 ①リリース時のカナリーデプロイ後 NewsPicks ではカナリーリリースを採用していてカナリーへのデプロイが完了した後、カナリーに向けてE2Eテストが動きます。 ②開発環境デプロイ後 動作確認をしたい場合に feature ブランチなどでデプロイ後 E2Eテストを実行できるようにしています。 本記事では主に 「②開発環境デプロイ後」 を例に紹介します。 実行方法 具
次のページ
このページを最初にブックマークしてみませんか?
『UZABASE Tech』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く