サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
デスク環境を整える
tech.uzabase.com
こんにちは。ソーシャル経済メディア「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のエンジニア組織について知っていただく機会を作ることを目的に毎回様々な技術テーマ
はじめに 皆さんこんにちは! ソーシャル経済メディア「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テストを実行できるようにしています。 本記事では主に 「②開発環境デプロイ後」 を例に紹介します。 実行方法 具
はじめに こんにちは!NewsPicksのVP Of Mobile Engineeringの石井です。 約1年前にPharmaXさん主催の「事例で学ぶ!エンジニア組織文化を作る採用・評価の仕組み」というイベントでPharmaX 取締役・エンジニアリング責任者の上野さん、カオナビCTOの松下さんと私の3人で事例発表やパネルディスカッションをしました。(そのときの記事は、PharmaXさんのこちらの記事にあります) このときに私が話したエンゲージメントに関することは、「採用とオンボーディングを頑張った結果、エンゲージメントもよくなりました」的な話もしました。 ただ、それ以外にも多くのことをしています。今回はそこを深掘りしたいと思います。 以前の状態との比較 当時、発表した時のモバイルチームのエンゲージメントは次の通りでした。(NewsPicksでは半期に一度、サーベイをしています) で、202
はじめに 初めまして!ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は「AWS Security Hub」と「Slack」を用いて、弊社で利用しているAWSリソースの監視運用を効率化したお話です。 お話の内容 年々増加するサイバー攻撃に対抗するため、セキュリティ対策は日々重要度が増してきています。 そこで弊社で利用しているAWSのリソースに対して、各種セキュリティイベントの収集ができるAWS Security Hubを利用することで、セキュリティ状態の可視化と迅速な対応がしやすい運用を行い、セキュリティ状態の現状把握から始めることにしました。特にNIST CSFの「検知」部分の運用について整備した内容となっています。 NIST Cyber Security Frameworkについて 皆さん、「NIST Cyber Security Framewo
はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。
Product Team の竹原です。 みなさん、ドメインのモデリングしてますか? 最近私たちのチームでは以下のプレスリリースにある機能の開発に勤しんでいます。 FORCAS、生成AIを活用した新機能「AIセールストーク自動生成」の実証実験を開始 | FORCAS(フォーカス)|営業DXソリューション|企業データベースと顧客分析 その開発において、ドメインの理解をしっかり深めないまま開発を続けたためにちょっとつまづいてしまったので、反省も兼ねて記事にまとめてみることにしました。 ドメインの概要 上記のAIセールストーク自動生成機能には以下の図のように、 課題に悩む企業 自社のプロダクトをおすすめしたい FORCAS ユーザー の2種類の登場人物がいます。 登場するドメインのイメージ さらに、「このプロダクトの便益によって、この企業課題を解決できそうだ」というものが見つかれば、それらが1対1
ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です。 弊社の「Kaigi Pass」というカンファレンス参加費用をサポートしてもらえる制度が今年から始まりました! せっかくなのでそちらの制度を利用して、2024年4月16、17日に開催された国際カンファレンスの DevOpsDays Tokyo 2024 に参加してきました!(スポンサー関係者含めた総参加者は324名の規模感) 実はテックカンファレンス初参加です!本記事では参加レポートをお届けします。 #DevOpsDaysTokyo 2024、遂に明日から開催です! Day1のキーノートはDevOpsDaysの発起人であるPatrick Debois氏! Day2のキーノートはDevOpsDays Tokyoの代表理事である川口 恭伸氏! DevOpsを牽引するお二人の話以外にも興味深いセッションばかり! みん
UB Researchチームで2週間の短期インターンをしている梶川です。 現在、UB ResearchではRAGシステム構築に向けた研究を行っており、社内のさまざまなデータを正確に拾い上げるための検索エンジンの開発と評価を行っています。 今回、その検索エンジンに代わるモデルを用いて、実際の検索テキストで検索を実施した結果を報告します。 概要 近年、LLMを用いた文書生成が流行しており、その中でも外部情報を検索し、LLMに追加して生成させるRAGという技術が活用されています。RAGによって、LLMが知らない情報に対して正確な応答を返すことができ、UB Researchでもニュース記事や有価証券報告書などの情報に対してRAGを適用することを考えています。既存の検索エンジンには、国内データで学習されたBERTベースのモデルを用いていますが、今回、最新のモデルであるBGE-M3を用いて、検索を実施
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure as Code として Terraform を使ったことがあるのですが、少なくともAWS を使うという条件においては CDKを使うべき という結論に辿り着きました。 今回はそのように考えるようになった理由について説明していこうと思います。 前提 Terraform はパブリッククラウドにおける Infrastructure as Code の走りとして様々な現場に導入実績があり、それに対するリスペクトは持つべきです。 しかしよくある「AvsB」というメリデメの構図で「どっちでもいいよ、好みだよ」と投
次のページ
このページを最初にブックマークしてみませんか?
『UZABASE Tech』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く