NewsPicks

AWS re:Invent 2024 に参加中です!

ソーシャル経済メディア「NewsPicks」(BDD Product) の西(@yukinissie)です! この記事は NewsPicks Advent Calendar 2024 の4日目の記事です。昨日はNewsPicksの守護神(初めて呼びました)QA西園さんによる「QA が Notion API を使ってちょっとしたシス…

テックブランディング委員会立ち上げから4年、あらためて組織に起こった変化を振り返る

ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks Advent Calendar 2024 の2日目の記事です。昨日は我らがあんどぅさんによるプロジェクトマネジメントのお話でした。 はじめに 2020年頃から2024年までの4〜5年ほどかけて、社内でテッ…

エンジニアも知っておきたい『プロジェクトマネジメント』〜カレー作りで学ぶPMBOKの実践的TIPS〜

NewsPicks Advent Calendar 2024 一日目の記事です。 こんにちは!ソーシャル経済メディア「NewsPicks」の安藤です。長らくSREチームのプレイングマネージャーをしていたのですが、最近はEMとして自分の技術的専門性とは異なる担当領域の開発チームもサポー…

NASAから学ぶ!リスクを成功に導く3つのこと - QCon San Francisco 2024

はじめに スピーカー紹介 「計算されたリスク」とは何か? リスクを取る前に価値を見極める 「計算されたリスク」を取るためのフレームワーク 1. Think Bigger! まず行動を起こすことが重要、無行動こそ最大のリスク リスクを取る際は「何がうまくいくか」に…

Amazon EFSのバーストクレジットを活用してコストを4分の1に削減!

ソーシャル経済メディア「NewsPicks」SREチームの美濃部です。 NewsPicksではアプリケーションのビルドにAWS CodeBuildを使用しており、ビルドキャッシュの格納先としてAmazon EFS(AWSのフルマネージド型NFSファイルシステムサービス)を利用しています。 …

Kotlinのsealed classを使ってif文を取り除き、コードをシンプルにする

Kotlinのsealed classでいい感じにコードをシンプルにする事例を紹介します。 sealed classをうまく使って、コードの可読性を高めてみましょう。

オンボーディング体験記

初めましてこんにちは! ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの 寺坂 です。 2024年5月に中途入社して4ヶ月が経ちました。 だんだんと会社にもチームにも慣れてきたぞ!、ということで、今回は私のオンボーディング体験をご紹介します…

社内システムのセキュリティ向上のため、Lambda + CloudFront + S3でインフラ基盤を再構築した話

はじめに ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は、AWSサービスである「Lambda」「CloudFront」「S3」を用いて、弊社で使用している社内向けシステムの基盤を再構築し、開発者体験の向上やセキュリティ対策を行な…

ユーザー行動ログの増減をアラートする仕組みを導入して廃止した話

ソーシャル経済メディア「NewsPicks」の高山です。 NewsPicksではユーザーが画面上で操作したときなどに行動ログを記録し、それを分析してサービスの改善に役立てています。 そのログはWebサーバーのnginxで記録されてデータウェアハウスであるAmazon Redshi…

Playwrightでのユーザー行動ログのテスト

はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 今回は NewsPicks WebにおけるPlaywrightでのユーザー行動ログのテストの取り組みを紹介させていただきます。 ログについて NewsPicks では法人向けサービスや広告…

AWS CDKのWeightedTargetGroupを使いEC2からECSへ段階的に移行を進める方法

こんにちは。ソーシャル経済メディア「NewsPicks」で主に検索システムを開発しております崔(ちぇ)です。 去年まで弊社の検索システムをEC2上に構築しておりました。今年にそれをコンテナ化しECSへ移行しました。コンテナ化に関しては前回の記事でまとめて…

CDKでスタック間参照してはならない

CDKでスタック間参照してはいけません。 スタック間の依存関係が意図した通りに解決されず、cdk deploy時に失敗してしまいます。

フロントエンド・オブザーバビリティ Meetupを開催しました!

ソーシャル経済メディア「NewsPicks」エンジニアの韓です。 先日、弊社ユーザベースオフィスでフロントエンド・オブザーバビリティ Meetupを開催しました。 本記事ではそのイベントレポートをお届けいたします! イベントについて セッション フロントエン…

Meet UB Tech #50「Software Design」で NewsPicks が連載中の、『ぼくらの「開発者体験」改善クエスト』の裏側について編集者の西原さんと語ってみた」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #50のテーマは、「Software Design」で NewsPicks が連載中の、『ぼくらの「開発者体験」改善クエスト』の裏側について編集者の西原さんと…

NewsPicksに推薦システムを本番導入する上で一番優先すべきだったこと

はじめに 皆さんこんにちは! ソーシャル経済メディア「NewsPicks」プロダクトエンジニアの森田です:) 私は2024年4月に株式会社ユーザベースに新卒入社し、現在は主にNewsPicksにおける推薦機能の開発改善に携わっています。 NewsPicksでは、ユーザに価値のあ…

NewsPicksの課金基盤を作り直した話

NewsPicksの課金基盤を作り直した話です。 オーソドックスな方法ですが、実際に自分の手で進めてみると、とても学びが多いプロジェクトでした。

CodeDeployで更新するECS ServiceをCDK管理して詰んだ話

CodeDeployで更新するECS ServiceをCDK管理して失敗した話です。

円安に負けない!共通バックエンドAPIサーバーARM対応プロジェクト

こんにちは。ソーシャル経済メディア「NewsPicks」のSREチームの飯野です。 SREでは2023年から円安に負けないコスト削減を継続して行なっていますが、最近は圧倒的な円安におされ気味です。 2024年1月-6月の間に141→161円の変動はちょっと厳しすぎますよね。…

Search Engineering Tech Talk 2024 Springに登壇しました

こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 Search Engineering Tech Talk 2024 Springに登壇し、「検索失敗率のモニタリングから改善まで」というテーマで発表しました。 search-tech.connpass.com…

手動作成AWSリソースをIaC化するモブプロ「cdk import day」を定期開催している話

はじめに 「私…全ての手動作成AWSリソースを生まれる前に消し去りたい。全ての宇宙、過去と未来の全ての手動作成AWSリソースを…この手で!」 そんなことを思われた経験はないでしょうか?私は常に思っています。 こんにちは。ソーシャル経済メディア「NewsPi…

Playwrightを使ったE2Eテストを導入した話 - インフラ編 Playwright × Allure Report × AWS

はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日は Playwright を使ったE2Eテストの導入について、紹介させていただきました。 今回は作成したテストをAWS 基盤上で動かす方法を紹介させていただきます。 前…

Next.js の Parallel Routes に入門したらユーザー体験に関する悩みが良い意味で増えた話

はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の NewsPicks Stage. チームの三嶋です。 普段は、NewsPicks Stage. という経済情報に特化したオンライン番組配信プラットフォームの開発をしています。 NewsPicks Stage. チームでは、昨年末から…

エンジニア従業員エンゲージメント向上への道

はじめに こんにちは!NewsPicksのVP Of Mobile Engineeringの石井です。 約1年前にPharmaXさん主催の「事例で学ぶ!エンジニア組織文化を作る採用・評価の仕組み」というイベントでPharmaX 取締役・エンジニアリング責任者の上野さん、カオナビCTOの松下さ…

AWS Security HubとSlackを利用して、セキュリティ状況の監視運用を効率化したお話

はじめに 初めまして!ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は「AWS Security Hub」と「Slack」を用いて、弊社で利用しているAWSリソースの監視運用を効率化したお話です。 お話の内容 年々増加するサイバー攻撃に…

Playwrightを使ったE2Eテストを導入した話

はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開…

Meet UB Tech #47「NewsPicksプロダクトチームの新しいカンファレンス参加支援制度 “Kaigi Pass” の実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #47のテーマは、「NewsPicksプロダクトチームの新しいカンファレンス参加支援制度 “Kaigi Pass” の実態に迫る」です。 もともとエンジニア…

英語が苦手でも国際カンファレンスに行ってみよう! 〜 DevOpsDays Tokyo 2024 参加レポート

ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です。 弊社の「Kaigi Pass」というカンファレンス参加費用をサポートしてもらえる制度が今年から始まりました! せっかくなのでそちらの制度を利用して、2024年4月16、17日に開催された…

なぜCDKを使う「べき」なのだろう?

はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure a…

ECS on Fargate 1.4.0で「ResourceInitializationError」を解決する方法

こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 弊社の検索システムはAWS EC2(Elastic Compute Cloud、以下、EC2)で動いていました。それを昨年、Amazon ECS(Elastic Container Service、以下、ECS)…

try! Swift Tokyo 2024に参加してきました!

ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 世界中のiOSエンジニアが集う国際カンファレンス try! Swift Tokyo 2024 に参加してきました! tryswift.jp 弊社のNewsPicksアプリで採用しているTCA(The Composable Architecture…

ソフトウェアエンジニアのライブラリアップデートの向き合い方

こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。…

TCAの勉強会を開催しました!(資料・動画のリンク全部あります)

ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 先日、弊社ユーザベース主催でTCA(The Composable Architecture)の勉強会を開催しました。 本記事では勉強会の開催レポートをお届けいたします! uzabase-tech.connpass.com 総勢…

New RelicのルックアップテーブルとNRQLを駆使して使われていないAPIを探し出す

ソーシャル経済メディア「NewsPicks」のSREをしている飯野です。 サービスの開発は試行錯誤の連続です。サービスの成長とともに機能はどんどん増えていきます。追加される機能はサービスに不可欠な重要な機能だけではなく、サービスの方向性や前提が変わり不…

TCA1.7(Observable Architecture)へのマイグレーションで得た知見を共有します

ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 WWDC23でObservationフレームワークが発表されてからすぐ、XのPoint-Freeアカウントより以下の投稿がありました。 「ViewStoreが消えるだと...!?めちゃシンプルになるじゃないか.…

2024年のPythonプログラミング

ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ…

Meet UB Tech #44「Meet UB Tech 新年会 その1!2023年のNewsPicks Techをふり返ってみた」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #44のテーマは、「Meet UB Tech 新年会 その1!2023年のNewsPicks Techをふり返ってみた」です。 NewsPicks Fellowの高山さん、NewsPicks …

NewsPicksとSaaS Product Team合同でクリスマスLT大会を開催しました!

こんにちは。ソーシャル経済メディア「NewsPicks」Media Infrastructure Unitの韓です。 年末にNewsPicksとSaaS Product Team合同で『ユーザベースの技術文化大公開!Engineer Meetup 〜クリスマスLT祭り!〜』というイベントを開催しました。 今回はそのイ…

ジュニアエンジニアを脱却するための「コンテナ流儀」

こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとし…

EC2とcronで動いていたバッチ基盤をマネージド化した

概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとして…

NewsPicksアプリのGoogle Playでの評価が1年で爆上がりした話

この記事は NewsPicks アドベントカレンダー 2023の21日目の記事です。 qiita.com こんにちは、Androidネタばかりで肩書きと合わなくなってきてるので、iOSも頑張りたいと思い始めているNewsPicksのVP of Mobile Engineerの石井です。 1年間、様々な改善をし…

NewsPicks:Brazeでメール配信が改善できた話

はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の桐畑です。 この記事は NewsPicks アドベントカレンダー 2023 の18日目の記事です。 昨日は呉さんの『iOSのE2Eテストを並列で動かし、リリースサイクルを高速化した話』でした! 今日は、Brazeで…

QAエンジニアが「開発者になる」と自動テスト運用は上手くいく

はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の西薗(X: @yurizono )です。2021年6月にひとり目QAエンジニアとして入社して以来、テストをしたりQAチームの立ち上げをしたりしています。 この記事は NewsPicks アドベントカレンダー 2023 の1…

NewsPicksでプッシュ通知にレコメンドエンジンを導入した設計方針

こんにちは、ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks アドベントカレンダー 2023 の15日目の記事です。 昨日は森田さんによる『メディアのミッションによって"良い"ニュース推薦システムって違うのかも! n週連続推薦システム…

5000万件のDynamoDBテーブルをダウンタイム無しで移行した話

こんにちは、ソーシャル経済メディア「NewsPicks」の高山周太郎です。 この記事は NewsPicks アドベントカレンダー 2023 の13日目の記事です。 昨日はakaneyoshiさんによる『BEMの記述メソッドを参考にデザインファイルのクラス名を定義する』でした! NewsP…

開発フェーズに合わせてリリースフローを変えた話

こんにちは、ソーシャル経済メディア「NewsPicks」の西(@yukinissie)です。 この記事は NewsPicks アドベントカレンダー 2023 の10日目の記事です。 昨日は同僚の田端さんによる『Next.jsプロジェクトの設計改善を進める上で考えていたこと』でした! 「複…

2023年のSREチームのAWSコスト削減を振り返る

概要 全般 何はともあれコストタグ Cost Explorer でリソース別にコストを見よう IaC化しよう QuickSight も使おう 稼働時間対応する際はマスタカレンダを用意したい コンピューティング、コンテナ関連 EC2 定時バッチはマネージド化しよう EBS, Snapshot, A…

プルリクレビューとリリースをさぼらない

こんにちは、ソーシャル経済メディア「NewsPicks」の池川です。 NewsPicks Advent Calendar 2023 の 6 日目です。 qiita.com 昨日は中村さんによる『LLMで叶える「あの人のコメントが読みたい!」』でした! NewsPicks では GitHub のプルリクエスト (以下 P…

LLMで叶える「あの人のコメントが読みたい!」

ソーシャル経済メディア「NewsPicks」の中村です。普段はデータ基盤の開発、運用をしたりLLMで遊んだりしています。 さて、NewsPicksは名前の通りニュースアプリですが、ユーザーの皆様がニュースにコメントを付けることができるのがひとつの特徴となってい…

プログラミングの原則:enumの比較はすべてバグ

こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示さ…

VPC Flow LogsをAthena + QuickSightで
分析してデータ転送料金の内訳を調査する 〜 実践的なコスト最適化の洞察 〜

こんにちは。ソーシャル経済メディア NewsPicksのSREチームで仕事をしている安藤です。 NewsPicks Advent Calendar 2023 の1日目ということで、日常の業務風景から軽いコスト最適化TIPSをご紹介します。 qiita.com AWSコストを最適化したいよぉ〜 NewsPicks…

Page top