サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
装丁を味わう
tech.uzabase.com
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」というメリデメの構図で「どっちでもいいよ、好みだよ」と投
こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 弊社の検索システムはAWS EC2(Elastic Compute Cloud、以下、EC2)で動いていました。それを昨年、Amazon ECS(Elastic Container Service、以下、ECS)に移行しました。前回のブログでは、移行のために調べた「アプリケーションをコンテナ化するベストプラクティス」をまとめましたので、ご興味ある方は読んでいただけると嬉しいです。 tech.uzabase.com 今日は、ECS on Fargateのタスク起動に手こずった話をしてみようと思います。タイトル通りFargate 1.4.0 で発生しうる ResourceInitializationError の解決方法について述べるのですが、「まさに今それにハマってた!」という方はぜひ読
こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。 はじめに 突然ですが、皆さんは自身のソフトウェアのライブラリアップデートは行えていますか? 皆さんはどのようにライブラリアップデートを行なっていますか? 新機能を試したくて? npm iで失敗してから頑張る? Renovate / dependabot が自動Mergeされる環境? もしくは対応担当が特定の日にまとめてMergeする運用? しかし多くの開発者は、アップデートに対して「うまくいっている」と言えないのではないでしょうか?自身も様々なプロダクトを開発してきた経験上、日々の中ではどう
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 先日、弊社ユーザベース主催でTCA(The Composable Architecture)の勉強会を開催しました。 本記事では勉強会の開催レポートをお届けいたします! uzabase-tech.connpass.com 総勢約140名の参加者 入門から最新バージョン情報、開発ノウハウまで!バラエティに富んだ10名の登壇者によるLT TCA入門したてなので、自分が馴染みのある実装と比較しながらキャッチアップしてみる(fumiyasacさん) TCA魔法学入門(dazyさん) 個人開発をTCAで運用していくということ(entaku0818さん) TCA with UIKit(tatsubeeさん) むやみにActionを送信してはいけない(takehilo) TCA Practice in 5 min(d_
1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います。また、技術的なスキルはあるが、英語を話すことが苦手な場合、将来的に市場でどう評価されているかの動向も気になるところです。 最新の2023年度の報告によると、世界的にITエンジニアの給与が上昇している一方、日本では前年比USドルベースで5.9%減少、現地通貨(円)ベースでもわずか0.4%増加に留まっています。残念ながら、世界と比較した時に日本の給与の優位性がなかった一年となりました。今後もこの差が開く一方であれば、個人や企業が国際市場で競争力を保つために、英語能力の向上も必要になる機会が高まっていくことを示唆しています。 しかし、「英語力を伸
ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba
こんにちは。 BtoB SaaS Product Teamの中嶋です。 Product Teamでは1週間のイテレーションごとにチームでふりかえりをしています。 コロナ禍に入る前は物理のホワイトボードでやることが多かったと聞いていますが、最近は大体figjamボードを使っています。 オンラインのホワイトボードはスペースを自由に使えたり、付箋以外にも画像とかスタンプを押せたりと楽しいですが、油断せずに片付けないでおくと過去のふりかえりの残骸がどんどん残っていきます。 年明けになったのもあり、それらを片付けようと思ったときに、ふと「過去のふりかえりをふりかえってみるのも良さそうだな」と思いました。 この記事では、いままでのふりかえりで出てた課題やそれに対してのアクション、逆に上手く行かなかったものや、どういうアクションがチームのみんなが実行しやすいのか考えてみたいと思います。 9ヶ月分のふりか
はじめに 本記事は、 AlphaDrive Advent Calendar 2023 の 12/23 公開分の記事になります。 qiita.com AlphaDrive CTO/NewsPicks for Business 取締役のアカザワです。 冒頭から余談ですが、CTOとしてAlphaDriveのエンジニア組織を2人から立ち上げて3年、一昨年と昨年は同じUzabaseグループであるNewsPicksのAdvent Calendarに参加させていただいておりましたが、2023年ついにAlphaDriveのチーム単独でAdvent Calendarを実施し埋め切る状態と人数規模になりました!! 嬉しい🎉 めでたい🎉🎉 ...と喜びを表明させていただき本題です。本記事は2023年10月10日及び11日にオンライン/オフラインで開催されたAWS主催のSaaS on AWSのDay2内セッ
こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとしたカードアニメーション 〜猫の手を添えて〜」でした! はじめに コンテナ流儀: 必要最低限のものだけで運用する Point1)レイヤーは少ないほどいい TIP:ベースイメージを作る Point2)不要なパッケージをインストールしない Point3)いつ再起動してもいいコンテナを作る Point4)独立したアプリケーションにする TIP:複数のプロセスを実行したい場合もある TIP:環境変数を積極的に使う Point5)フォアグラウンドで実行する 終わりに まとめ 感想 告知 はじ
概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 で登壇されたときの資料をお借りします。 ご覧の通り、大体のサービスはマネージド化していましたがバッチ基盤だけは旧来のままEC2インスタンスを利用していました。 10年モノのサービスのインフラを漸進的
この記事は NewsPicks アドベントカレンダー 2023の21日目の記事です。 qiita.com こんにちは、Androidネタばかりで肩書きと合わなくなってきてるので、iOSも頑張りたいと思い始めているNewsPicksのVP of Mobile Engineerの石井です。 1年間、様々な改善をしてきましたが、書いてなかったけど実はすごくいい結果がでているものがあるので、それについてです。 概要 2022年11月下旬にアプリの起動時間を改善したことは、以前のブログで書きました。 tech.uzabase.com それ以前では、「アプリが重い。起動が遅く、画面がフリーズしたかと錯覚を起こす。」「立ち上がりが遅い」などGoogle Play上でお叱りを受けておりました。 起動改善後にそういったコメントは無くなりましたが、逆に「起動速度が速くなった」というコメントはありませんでした。
こんにちは、ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks アドベントカレンダー 2023 の15日目の記事です。 昨日は森田さんによる『メディアのミッションによって"良い"ニュース推薦システムって違うのかも! n週連続推薦システム系 論文読んだシリーズ32週目(番外編)メディアモデルと5つの多様性指標群の論文等を読んで思いを馳せた話』でした! 以前にNewsPicksのプッシュ通知でBrazeというサービスを導入した話を書きました。 tech.uzabase.com 今回はそのシステムを改修し、通知にレコメンドエンジンを導入した話を書いていきます。 社内ドキュメント一歩手前ぐらい詳しくなってしまったので、もし皆さんが似たようなシステムを設計するときには読んでみてください。 おさらい まずは前回の記事にも書いた仕組み(旧システムと呼びます)をおさら
はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の西薗(X: @yurizono )です。2021年6月にひとり目QAエンジニアとして入社して以来、テストをしたりQAチームの立ち上げをしたりしています。 この記事は NewsPicks アドベントカレンダー 2023 の16日目の記事です。昨日は @edvakf@github さんによる『データ基盤まわりのシステムの変遷について』でした。 2023年12月09日に、ソフトウェアテスト自動化カンファレンス2023に登壇させて頂きました。講演タイトルは『QAエンジニアが「開発者になる」と自動テスト運用は上手くいく』で、本日はこちらの講演内容を文書に起こし、少し構成などを見直したものをお送りします。 testautomationresearch.connpass.com このイベントですが、私が2017年に初めて聴講したときは確
こんにちは、ソーシャル経済メディア「NewsPicks」の高山周太郎です。 この記事は NewsPicks アドベントカレンダー 2023 の13日目の記事です。 昨日はakaneyoshiさんによる『BEMの記述メソッドを参考にデザインファイルのクラス名を定義する』でした! NewsPicksではデータストアの一部にDynamoDBを使用しています。先日、DynamoDBの約5000万件データが入ったテーブルAを、新規のテーブルBとCに分割する移行作業を実施したので、その事例紹介をします。 移行の要件 設計 Phase1: JSONでの一括import スクリプトの用意 DynamoDBのJSONについて 実験と時間計測 importの高速化 Phase2: import時点での差分処理 Phase3: 残差分の定点観測 まとめ 告知 移行の要件 今回の移行では以下のような要件を満たす必
概要 全般 何はともあれコストタグ Cost Explorer でリソース別にコストを見よう IaC化しよう QuickSight も使おう 稼働時間対応する際はマスタカレンダを用意したい コンピューティング、コンテナ関連 EC2 定時バッチはマネージド化しよう EBS, Snapshot, AMI, EIP を消す ECS Container Insights の有効/無効を使い分けよう 何でも Fargate を選択すれば良いわけではない Fargate スポットを活用しよう Lambda Graviton対応しよう ECR イメージサイズを抑えよう ライフサイクルポリシーを設定しよう ネットワーキング VPC VPCエンドポイント入れ忘れに注意 VPC Flow Logs のS3バケット設定に注意しよう ストレージ系 RDS スロークエリ出てないかAPMを使って確認 DynamoDB
こんにちは、ソーシャル経済メディア「NewsPicks」の池川です。 NewsPicks Advent Calendar 2023 の 6 日目です。 qiita.com 昨日は中村さんによる『LLMで叶える「あの人のコメントが読みたい!」』でした! NewsPicks では GitHub のプルリクエスト (以下 PR) を介してソースコードレビューを行っています。 一般論として、案件に関わりのない PR や修正が複雑な PR などは後回しにされがちです。 後回しにして問題なければいいのですが、後回しにすると何のための変更だったのか思い出せずレビューが苦しくなりますことも度々あります。 また、せっかく Approve されてもリリース作業を後回しにしたりすると、気づいたらコンフリクトしている、というようなこともあります。 このような背景があり、業務の合間合間に ChatGPT 先生に自動
ソーシャル経済メディア「NewsPicks」の中村です。普段はデータ基盤の開発、運用をしたりLLMで遊んだりしています。 さて、NewsPicksは名前の通りニュースアプリですが、ユーザーの皆様がニュースにコメントを付けることができるのがひとつの特徴となっています。一般のユーザーだけでなく様々な分野の専門家の方々にも「プロピッカー」として専門の観点からコメントしていただいており、「この分野のニュースであればあの人のコメントが読みたい!」と思ってコメント欄を開くユーザーの方も多いと思われます。 しかし、特定のユーザーのコメントが読みたいと思っても目当ての方が必ずコメントしてくれているとは限りません。悲しいですね。そこで本記事では、LLM(大規模言語モデル)の力を使って読みたいコメントを生成する実験をしてみたいと思います。 この記事はNewsPicks アドベントカレンダー 2023の5日目の
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つです。プルリクを見てこのようなパターンがあれば、バグの疑いが強くなります。周囲を見渡すと、大抵すでにバグっているか潜在バグを含むコードが見つかります。すべてバグというのは言い過ぎにせよ、わかりやすさと変
こんにちは。ソーシャル経済メディア NewsPicksのSREチームで仕事をしている安藤です。 NewsPicks Advent Calendar 2023 の1日目ということで、日常の業務風景から軽いコスト最適化TIPSをご紹介します。 qiita.com AWSコストを最適化したいよぉ〜 NewsPicksはおかげさまでサービス10周年を迎え、ユーザー数も事業も伸びておりますが、 事業の成長やエンジニア組織の拡大に比例してAWSコストが増え、円安でさらに日本円での負担が増え、となると事業の利益率にも少なからず影響がでます。 私が所属するSREチームでは、「売上に対するAWSコストの割合は、規模が拡大するほど減っていくべき」という考えを持っており、 積極的にAWSサービスの使い方を見直して毎年コストを削っていくつもりで仕事をしています。 AWSが提唱するCloud Financial M
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじらないというのはこれだけみると何のことか分かりづらいかも知れませんがSaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)の内容とある面では同じ話です。
はじめに SQL インジェクションとは? 概要 リスク 発生件数 攻撃方法 対策 根本的な対策 プレースホルダの利用 静的プレースホルダ 動的プレースホルダ エスケープ処理 保険的な対策 入力値の制限 適切なデータベース権限の設定 詳細なエラーメッセージの非表示 WAF の導入 まとめ We are Hiring!! 参考資料 はじめに こんにちは! 株式会社ユーザベース BtoB SaaS Product Team(以下 Product Team)の山室・利根です。 ユーザベースの Product Team には、全社のセキュリティを担うチームとは別に、プロダクトセキュリティの底上げを担うセキュリティチーム、通称 Blue Team というチームがあります。 私たちはそのチームの一員として、日頃の開発業務に加えてユーザベースのプロダクトのセキュリティを横断的に向上するための活動を行なって
ソーシャル経済メディア「NewsPicks」でSREをしている美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持していくのがミッションになります。 今回はAWSコスト削減の中でもConfigの料金に注目して紹介したいと思います。 コストモニタリング定例について Configのコスト分析をどうやって行なったか ConfigのレポートをQuickSightで可視化 構成 手順 QuickSightで可視化する事でわかった事 コスト増加の要因となったリソースタイプがわかったので対応する まとめ まず、SREでは週次でコストモニタリング定例を実施しているのでその内容について簡単に触れさせて頂きます。 コストモニタリング定例について 週次で主に以下のよ
皆さんこんにちは! 株式会社ユーザベース NewsPicksで機械学習エンジニアとして長期インターンをしている森田です:) 現在はData/Algorithm チームで、NewsPicksの推薦システム・データ基盤まわりの開発に取り組んでいます。 本記事は、私が2022年8月から同組織に入社して現在までの約1年間の長期インターン活動を経て、参加して良かったことと苦戦したことをまとめたものです。特に企業での長期インターンに興味がある方に向けて、本記事の内容を共有できればと想定しています。 はじめに タイトルの通り、私は非情報系なのに推薦システムを独学で勉強していた博士学生です(実は本記事の執筆期間中に博士学生ではなくなりました…!)。ちょうど博士課程への入学時期に偶然Kaggleをきっかけに推薦システムという分野と出会い、興味を持って論文読んで実装してブログに上げて...みたいな活動を趣味で
こんにちは、ソーシャル経済メディア「NewsPicks」でSREをしている飯野です。 今回はSREで行ったNew RelicをCDK for TerraformでIaC管理する話を紹介したいと思います。 SLOモニタリングをSREチームだけで行うのは難しい CDK for Terraformとcdktf-newrelic-provider 追記 IaCで作成する内容 CDK for Terraformで実装していく -1. cdktf init 0. @cdktf/newrelic-provicerの初期化 1.DataNewrelicEntityの作成 2.ServiceLevelの作成 3.AlertPolicyの作成 4.AlertCondition(バーンレートアラート)の作成 5. NotificationDestinationの作成 6. NotificationChannel
みなさんこんにちは。株式会社ユーザベース SaaS事業 炭谷・酒井です。 Prometheusスケーリング問題とその解決策 自社の監視ツールとして、Prometheus採用しております。しかし、監視の規模が大きくなるにつれ、一部の構成にはスケーリングの限界があることが明らかとなってきました。この記事では、私たちが遭遇したスケーリングの問題と、それをどのように解決したのかを紹介します。 遭遇した問題 GrafanaでPrometheusのデータを参照しようとすると、10分以上の期間が表示されない事象が起きました。この問題の原因は、Prometheusのメモリ不足によるものでした。 複数のユーザーが同時にGrafanaのダッシュボードを参照すると、Prometheusが停止してしまう事象が発生しました。これもメモリ不足が原因でした。 当初、Prometheusのメモリを増加させることでこれらの
初めまして、 @takano-hi です。 2023年2月に AlphaDrive にジョインして、主にフロントエンド領域を中心に設計・実装などの業務を担当しています。 最近、Next.js のプロジェクトを新たに立ち上げる機会があり、せっかくなので App Router を採用しました。 そのプロジェクトの認証機能の実装に当たり、今まで他プロジェクトでも利用していた Keycloak と @auth0/nextjs-auth0 の組み合わせを試したところいくつかの困難に遭遇したので、その解決方法についてまとめようと思います。 環境 next v13.4.9 @auth0/nextjs-auth0 v3.1.0 keycloak v20.0.1 ライブラリの選定背景 私が所属しているチームでは、認証基盤(IDプロバイダー)に Keycloak を利用しています。 Keycloak は Op
みなさんこんにちは。ソーシャル経済メディア「NewsPicks」を運営する、ユーザベースの技術広報チームです。 NewsPicks のプロダクト開発チームでは、技術やデザイン領域をテーマとした社内勉強会が多数開催されており、日々学びの場としてインプットに励んでいます。 本日は、定期的に開催している社内勉強会を一挙ご紹介します! iOS勉強会 Android知見共有会 ゆる frontend 共有会 ABテスト輪読会 AI論文読み会 Kotlin 知見共有会 インフラ・運用勉強会 ポートフォリオ発表会 輪読会 ChatGPT 勉強会 iOS勉強会 【開催日程】 隔週金曜 15:00~ 【会の目的】 ・知見の共有 ・アウトプットする場を設けてインプットを強化 ・他のメンバーから刺激をもらう 【これまでの内容】 ・Sendableと@SendableとTCA ・Easingを意識してみよう ・え
こんにちは。NewsPicks CPO/CTO の文字です。先週、仕事が少し落ち着いたタイミングで久しぶりに DX Criteria を測定したので、今回はその結果を大公開しようと思います。 はじめに:NewsPicks は開発者体験に注力しています NewsPicks は、まもなくサービス開始から 10 周年を迎える息の長いサービスです。およそ 10 年前に Uzabase の新規事業として立ち上がり、以降は比較的少人数のエンジニア体制で長らく開発が続けられていました。4 年ほど前からビジネスの多角化に伴いエンジニアを大幅に増員していますが、高成長の裏でシステム面では様々な箇所が老朽化しており、エンジニアを増員してもスケールできない状態に陥っていました(きっと多くの方が想像できる状況だと思います)。 そこで 2020 年に私と高山(現 VP of Data Engineering)が執行
次のページ
このページを最初にブックマークしてみませんか?
『UZABASE Tech』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く