株式会社ユーザベース の技術ブログ
全421件
Next.js(App Router) + microCMSで構築したWebメディアの技術紹介
2023/12/04
ブックマーク
こんにちは、株式会社アルファドライブの佐藤です。この記事は AlphaDrive Advent Calendar 2023 4日目のエントリです。 本日は、Next.js(App Router) + microCMSで構築したWebメディアの技術スタックや開発チームの運用フローを紹介します。 開発したメディア ビジネスマガジン『Ambitions』のWeb版。 ambitions-web.com 多くの方に楽しんでいただけるよう、無料で全文読める形でお届けしていま
プログラミングの原則:enumの比較はすべてバグ
2023/12/03
ブックマーク
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 この記事は NewsPicks アドベントカレンダー 2023 の3日目の記事です。 昨日は@J_Nakagawa(隼佑 中川)さんによる『LambdaレスポンスストリーミングとAWS-SDKを使ってSlackに進捗バーを表示させる』でした! 世の中には再現が難しく一見してバグがありそうに思えないコードもありますが、一方でプロダクションコード
Keycloak + auth0/nextjs-auth0 でテナントごとに valid redirect URIs を追加しなくて済む方法
2023/12/02
ブックマーク
こんにちは、株式会社アルファドライブの @takano-hi です。 この記事は AlphaDrive Advent Calendar 2023 2日目のエントリです。 今日はテナントごとにサブドメインが異なるタイプのプロダクトで Keycloak を利用する場合に遭遇した問題と対処法についてお話しします。 背景 我々が開発を担当しているプロダクトはマルチテナント型の BtoB SaaS であり、顧客がアクセスする画面はテナ
VPC Flow LogsをAthena + QuickSightで 分析してデータ転送料金の内訳を調査する 〜 実践的なコスト最適化の洞察 〜
2023/12/01
ブックマーク
こんにちは。ソーシャル経済メディア NewsPicksのSREチームで仕事をしている安藤です。 NewsPicks Advent Calendar 2023 の1日目ということで、日常の業務風景から軽いコスト最適化TIPSをご紹介します。 qiita.com AWSコストを最適化したいよぉ〜 NewsPicksはおかげさまでサービス10周年を迎え、ユーザー数も事業も伸びておりますが、 事業の成長やエンジニア組織の拡大に比例してAWSコス
プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない
2023/11/29
ブックマーク
こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだけで具体の話をするものではないのですが、読み物として面白いので私も似たようなことをやってみたくなりまし
SaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)
2023/11/27
ブックマーク
はじめに SQL インジェクションとは? 概要 リスク 発生件数 攻撃方法 対策 根本的な対策 プレースホルダの利用 静的プレースホルダ 動的プレースホルダ エスケープ処理 保険的な対策 入力値の制限 適切なデータベース権限の設定 詳細なエラーメッセージの非表示 WAF の導入 まとめ We are Hiring!! 参考資料 はじめに こんにちは! 株式会社ユーザベース BtoB SaaS Product Team(以
新機能「ショート動画」をTCAで実装したので、その実装テクニックをご紹介します
2023/11/24
ブックマーク
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 NewsPicks iOSアプリでは数年前からリアーキテクチャを進めており、TCAへの移行を進めています。 本記事では、最近リリースしたショート動画機能について、TCAでどのように実装したかをご紹介します。 ショート動画機能について 画面のビュー構成 リストビューの実装 UICollectionViewを採用 レイアウ
Skaffoldで誰でも簡単に開発を始められる世界に
2023/10/26
ブックマーク
こんにちは。 株式会社ユーザベース SaaS事業 板倉です。 私たち Product Teamではkubernetesを用いた開発・運用を行っています。 今回はkubernetesを用いた開発をする際に利用しているSkaffoldについて書いていこうと思います。 Skaffoldとは Skaffoldを端的に説明すると、kubernetesを用いた開発プロセスを容易にするツールです。 Skaffoldのサイトには以下のように説明があります。 Skaffol
AWS Configコスト上昇の原因を調査:QuickSight + Athenaの分析ツールを活用
2023/10/25
ブックマーク
ソーシャル経済メディア「NewsPicks」でSREをしている美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持していくのがミッションになります。 今回はAWSコスト削減の中でもConfigの料金に注目して紹介したいと思います。 コ
NewsPicksとタイミーさんでFour Keysと開発生産性の勉強会を開催しました
2023/10/24
ブックマーク
ソーシャル経済メディア「NewsPicks」の高山です。 先日、『Four Keysで改善する開発生産性〜データ・モバイル・フロントエンド〜』というイベントを開催しました。今回はそのイベントレポートをしながらNewsPicksの開発者体験(開発生産性)の取り組みについて書いていきます。 uzabase-tech.connpass.com 『モバイルでもエリートDevOpsチームを目指そう』 動画の8分27秒目から 最
NewsPicks、Findy Team+ Award 2023 を受賞しました!
2023/10/19
ブックマーク
こんにちは。ソーシャル経済メディア「NewsPicks」の韓です。 この度、NewsPicksのプロダクトチーム(Creator Experience Unit)が Findy Team+ Award 2023 を受賞いたしました。 受賞内容について 今回の受賞について、Creator Experience Unit リーダー・加藤からのコメント 受賞したチームの開発生産性スコア NewsPicksのエンジニア組織について 受賞内容について 「Findy Team+」は、エンジニア組織
推薦システムを独学で勉強していた非情報系の博士学生が長期インターンをしてよかったことと苦戦したこと
2023/10/06
ブックマーク
皆さんこんにちは! 株式会社ユーザベース NewsPicksで機械学習エンジニアとして長期インターンをしている森田です:) 現在はData/Algorithm チームで、NewsPicksの推薦システム・データ基盤まわりの開発に取り組んでいます。 本記事は、私が2022年8月から同組織に入社して現在までの約1年間の長期インターン活動を経て、参加して良かったことと苦戦したことをまとめたものです
インターンでFLASH Opinionに企業名を紐付ける研究をおこないました
2023/10/03
ブックマーク
UB Researchチームで2週間の短期インターンをしている山内です。 現在、UB Researchでは、ニュース記事テキストに関して、企業名等の情報抽出モデルを構築を行っています。この情報抽出モデルをさまざまなテキストに適用し、企業情報を抽出することで、経済データの統合的な検索や整理をすることを試みています。 そこで、モデルの一つの展開先として、FLASH Opinion*1のエ
SaaS Product Team セキュアコーディングの啓蒙 第1回 (CSRF編)
2023/10/03
ブックマーク
はじめに CSRF とは? 概要 発生件数は? 発生時の影響範囲は? CSRF 攻撃の具体的な方法 対策 フォームにトークンを埋め込む パスワードの再入力を求める Referer ヘッダを検証する カスタムヘッダを付与する 保険的な対策 操作を通知する Cookie の SameSite 属性を Lax にする まとめ We are Hiring!! 参考資料 はじめに こんにちは! 株式会社ユーザベース BtoB SaaS Product Team(以下 Pro
New RelicのSLOモニタリング+バーンレートアラートをCDK for Terraform(cdktf)でIaC管理する
2023/09/28
ブックマーク
こんにちは、ソーシャル経済メディア「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の