イベント
イベントを探す
本日開催のイベント
明日開催のイベント
ランキング
カレンダー
マガジン
マガジンを読む
マガジン
技術ブログ
書籍
動画
動画を見る
グループ
グループを探す
グループを作る
イベントを作成・管理
学生の方はこちら
ログイン
|
新規会員登録
TOP
グループ
株式会社ユーザベース
ブログ
トップ
イベント
ブログ
フォロワー
株式会社ユーザベース の技術ブログ
全476件
2023/12/18
NewsPicks:Brazeでメール配信が改善できた話
はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の桐畑です。 この記事は NewsPicks アドベントカレンダー 2023 の18日目の記事です。 昨日は呉さんの『iOSのE2Eテストを並列で動かし、リリースサイクルを高速化した話』でした! 今日は、Brazeでメール配信が改善ができた話をお送りできればと思います。 NewsPicksでは、登録いただいているユーザーの皆様に、新着&おすすめ記事や各種お知らせのメールを送付させていただいております。 一昨年ぐらいに、Brazeというカスタマーエンゲージメントサービスを導入しました。導入当初、プッシュ通知やアプリ内ダイアログとい…
2023/12/18
HPAの閾値設定を1000%にして思い込みをクリアにする
こんにちは。株式会社ユーザベース SaaS事業 酒井です。 「HPAの閾値設定は100%以上あんねん」。思い込みで閾値は100%が上限と勘違いしそうになるねという記事になります。 先日とあるシステムのIstioリソースを眺めていた所、Istio Ingress GatewaysのPodが頻繁に増減しているのに気が付きました。 istioctlとIstioOperator定義で管理されていたので確認すると、以下のようなデフォルト値が使われていました。 ingressGateways: - name: istio-ingressgateway enabled: true k8s: resource…
2023/12/16
QAエンジニアが「開発者になる」と自動テスト運用は上手くいく
はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の西薗(X: @yurizono )です。2021年6月にひとり目QAエンジニアとして入社して以来、テストをしたりQAチームの立ち上げをしたりしています。 この記事は NewsPicks アドベントカレンダー 2023 の16日目の記事です。昨日は @edvakf@github さんによる『データ基盤まわりのシステムの変遷について』でした。 2023年12月09日に、ソフトウェアテスト自動化カンファレンス2023に登壇させて頂きました。講演タイトルは『QAエンジニアが「開発者になる」と自動テスト運用は上手くいく』で、本日はこちら…
2023/12/16
CI/CDの改善の道のり
本記事はUzabase Advent Calendar 2023の16日目の記事です。 qiita.com 概要 前提に 入社直後の状況 テスト関連 テストの安定化 k8s関連の課題 これから取り組むこと 概要 こんにちは 株式会社ユーザベース BtoB SaaS Product Team(以下 Product Team)の朴です。 普段の開発で大事なのは作ったものをデリバリーし続けることです。 いかに早くデリバリーできるか、いかに安定的にデリバリーし続けられるかなど、我々は工夫をし続けています。 今回はその中で、私が入社してこれまで経験し改善してきたCI/CDの進化についてです。 前提に ま…
2023/12/16
NewsPicksでプッシュ通知にレコメンドエンジンを導入した設計方針
こんにちは、ソーシャル経済メディア「NewsPicks」の高山です。 この記事は NewsPicks アドベントカレンダー 2023 の15日目の記事です。 昨日は森田さんによる『メディアのミッションによって"良い"ニュース推薦システムって違うのかも! n週連続推薦システム系 論文読んだシリーズ32週目(番外編)メディアモデルと5つの多様性指標群の論文等を読んで思いを馳せた話』でした! 以前にNewsPicksのプッシュ通知でBrazeというサービスを導入した話を書きました。 tech.uzabase.com 今回はそのシステムを改修し、通知にレコメンドエンジンを導入した話を書いていきます。 …
2023/12/13
5000万件のDynamoDBテーブルをダウンタイム無しで移行した話
こんにちは、ソーシャル経済メディア「NewsPicks」の高山周太郎です。 この記事は NewsPicks アドベントカレンダー 2023 の13日目の記事です。 昨日はakaneyoshiさんによる『BEMの記述メソッドを参考にデザインファイルのクラス名を定義する』でした! NewsPicksではデータストアの一部にDynamoDBを使用しています。先日、DynamoDBの約5000万件データが入ったテーブルAを、新規のテーブルBとCに分割する移行作業を実施したので、その事例紹介をします。 移行の要件 設計 Phase1: JSONでの一括import スクリプトの用意 DynamoDBのJ…
2023/12/10
開発フェーズに合わせてリリースフローを変えた話
こんにちは、ソーシャル経済メディア「NewsPicks」の西(@yukinissie)です。 この記事は NewsPicks アドベントカレンダー 2023 の10日目の記事です。 昨日は同僚の田端さんによる『Next.jsプロジェクトの設計改善を進める上で考えていたこと』でした! 「複数チームで1つのシステムにコミットするように開発フェーズが変化したら main にマージした成果物は即リリースするようにフローを変えた方がリリースが楽になるよ!」という話を私が所属しているチームの実体験を元に話します。 WX ユニットのお仕事 フロントエンド基盤について 開発フェーズの定義 改善前の開発フェーズ…
2023/12/08
2023年のSREチームのAWSコスト削減を振り返る
概要 全般 何はともあれコストタグ Cost Explorer でリソース別にコストを見よう IaC化しよう QuickSight も使おう 稼働時間対応する際はマスタカレンダを用意したい コンピューティング、コンテナ関連 EC2 定時バッチはマネージド化しよう EBS, Snapshot, AMI, EIP を消す ECS Container Insights の有効/無効を使い分けよう 何でも Fargate を選択すれば良いわけではない Fargate スポットを活用しよう Lambda Graviton対応しよう ECR イメージサイズを抑えよう ライフサイクルポリシーを設定しよう ネ…
2023/12/06
プルリクレビューとリリースをさぼらない
こんにちは、ソーシャル経済メディア「NewsPicks」の池川です。 NewsPicks Advent Calendar 2023 の 6 日目です。 qiita.com 昨日は中村さんによる『LLMで叶える「あの人のコメントが読みたい!」』でした! NewsPicks では GitHub のプルリクエスト (以下 PR) を介してソースコードレビューを行っています。 一般論として、案件に関わりのない PR や修正が複雑な PR などは後回しにされがちです。 後回しにして問題なければいいのですが、後回しにすると何のための変更だったのか思い出せずレビューが苦しくなりますことも度々あります。 また…
2023/12/05
LLMで叶える「あの人のコメントが読みたい!」
ソーシャル経済メディア「NewsPicks」の中村です。普段はデータ基盤の開発、運用をしたりLLMで遊んだりしています。 さて、NewsPicksは名前の通りニュースアプリですが、ユーザーの皆様がニュースにコメントを付けることができるのがひとつの特徴となっています。一般のユーザーだけでなく様々な分野の専門家の方々にも「プロピッカー」として専門の観点からコメントしていただいており、「この分野のニュースであればあの人のコメントが読みたい!」と思ってコメント欄を開くユーザーの方も多いと思われます。 しかし、特定のユーザーのコメントが読みたいと思っても目当ての方が必ずコメントしてくれているとは限りませ…
2023/12/04
Next.js(App Router) + microCMSで構築したWebメディアの技術紹介
こんにちは、株式会社アルファドライブの佐藤です。この記事は AlphaDrive Advent Calendar 2023 4日目のエントリです。 本日は、Next.js(App Router) + microCMSで構築したWebメディアの技術スタックや開発チームの運用フローを紹介します。 開発したメディア ビジネスマガジン『Ambitions』のWeb版。 ambitions-web.com 多くの方に楽しんでいただけるよう、無料で全文読める形でお届けしています。 *1 主な技術スタック microCMS 特に日本において市場をリードするヘッドレスCMS。ブログのコンテンツ管理を担う Ve…
2023/12/03
プログラミングの原則:enumの比較はすべてバグ
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコードの中にはひと目見てバグが有りそうなコードもまた多いものです。いくつかの特定のパターンをとる文字列(環境名など)やenum(以下どちらもenumと表現します)に関する条件分岐もその一つで…
2023/12/02
Keycloak + auth0/nextjs-auth0 でテナントごとに valid redirect URIs を追加しなくて済む方法
こんにちは、株式会社アルファドライブの @takano-hi です。 この記事は AlphaDrive Advent Calendar 2023 2日目のエントリです。 今日はテナントごとにサブドメインが異なるタイプのプロダクトで Keycloak を利用する場合に遭遇した問題と対処法についてお話しします。 背景 我々が開発を担当しているプロダクトはマルチテナント型の BtoB SaaS であり、顧客がアクセスする画面はテナントごとにサブドメインが割り振られています。 また認証プロバイダには Keycloak を、クライアントライブラリには @auth0/nextjs-auth0 を採用してい…
2023/12/01
VPC Flow LogsをAthena + QuickSightで 分析してデータ転送料金の内訳を調査する 〜 実践的なコスト最適化の洞察 〜
こんにちは。ソーシャル経済メディア NewsPicksのSREチームで仕事をしている安藤です。 NewsPicks Advent Calendar 2023 の1日目ということで、日常の業務風景から軽いコスト最適化TIPSをご紹介します。 qiita.com AWSコストを最適化したいよぉ〜 NewsPicksはおかげさまでサービス10周年を迎え、ユーザー数も事業も伸びておりますが、 事業の成長やエンジニア組織の拡大に比例してAWSコストが増え、円安でさらに日本円での負担が増え、となると事業の利益率にも少なからず影響がでます。 私が所属するSREチームでは、「売上に対するAWSコストの割合は、…
2023/11/29
プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりました。 何年もこういう仕事をしているとバグが入るパターンというのが見えてきます。そしてだいたいどこに行っても何の仕事でも似たようなことをすることになるのですが、今回の話もその一つです。 構造化テキストを文字列結合で作らない、置換でいじ…
2023/11/27
SaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)
はじめに SQL インジェクションとは? 概要 リスク 発生件数 攻撃方法 対策 根本的な対策 プレースホルダの利用 静的プレースホルダ 動的プレースホルダ エスケープ処理 保険的な対策 入力値の制限 適切なデータベース権限の設定 詳細なエラーメッセージの非表示 WAF の導入 まとめ We are Hiring!! 参考資料 はじめに こんにちは! 株式会社ユーザベース BtoB SaaS Product Team(以下 Product Team)の山室・利根です。 ユーザベースの Product Team には、全社のセキュリティを担うチームとは別に、プロダクトセキュリティの底上げを担うセ…
2023/11/24
新機能「ショート動画」をTCAで実装したので、その実装テクニックをご紹介します
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 NewsPicks iOSアプリでは数年前からリアーキテクチャを進めており、TCAへの移行を進めています。 本記事では、最近リリースしたショート動画機能について、TCAでどのように実装したかをご紹介します。 ショート動画機能について 画面のビュー構成 リストビューの実装 UICollectionViewを採用 レイアウトの実装 データソースの実装 セルのビューの実装 Reducerの実装 AVPlayerの扱いについて AVPlayerRepositoryの実装 AVPlayerRepositoryの利用 あえ…
2023/10/26
Skaffoldで誰でも簡単に開発を始められる世界に
こんにちは。 株式会社ユーザベース SaaS事業 板倉です。 私たち Product Teamではkubernetesを用いた開発・運用を行っています。 今回はkubernetesを用いた開発をする際に利用しているSkaffoldについて書いていこうと思います。 Skaffoldとは Skaffoldを端的に説明すると、kubernetesを用いた開発プロセスを容易にするツールです。 Skaffoldのサイトには以下のように説明があります。 Skaffold handles the workflow for building, pushing and deploying your applic…
2023/10/25
AWS Configコスト上昇の原因を調査:QuickSight + Athenaの分析ツールを活用
ソーシャル経済メディア「NewsPicks」でSREをしている美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持していくのがミッションになります。 今回はAWSコスト削減の中でもConfigの料金に注目して紹介したいと思います。 コストモニタリング定例について Configのコスト分析をどうやって行なったか ConfigのレポートをQuickSightで可視化 構成 手順 QuickSightで可視化する事でわかった事 コスト増加の要因となったリ…
2023/10/24
NewsPicksとタイミーさんでFour Keysと開発生産性の勉強会を開催しました
ソーシャル経済メディア「NewsPicks」の高山です。 先日、『Four Keysで改善する開発生産性〜データ・モバイル・フロントエンド〜』というイベントを開催しました。今回はそのイベントレポートをしながらNewsPicksの開発者体験(開発生産性)の取り組みについて書いていきます。 uzabase-tech.connpass.com 『モバイルでもエリートDevOpsチームを目指そう』 動画の8分27秒目から 最初の発表はNewsPicksの石井から、NewsPicksのモバイルアプリ開発チームでどのようにFour Keysを改善しているかを話してもらいました。 次のような話がめちゃくちゃ…
1
More pages
5
6
7
8
9
More pages
24
コンテンツ
トップ
イベント
ブログ
フォロワー
グループに関するお問い合わせ