<-- mermaid -->

Clojureで巨大なZIPファイル/CSVファイルを処理した話

SaaS Product Team(以下Product Team)のあやぴーです。 Product Teamの開発しているプロダクトでは「企業に関する大量データ」というものを扱う機会があります。特に様々な形式でデータパートナーから受領するため、一筋縄でいかないことが多々あります。今…

2000行台の巨大なReactコンポーネントをリファクタリングして学んだこと【ペアレビュー】

はじめに こんにちは!株式会社アルファドライブの佐藤です。 この度、タイトルにもあるように2000行台(最大2415行)の巨大なReactコンポーネントをいくつかリファクタリングしました。この作業には大量の変更が生まれます。2月の私のmainブランチへのコミ…

SSRFの脆弱性について セキュアコーディングの啓蒙 第3回

はじめに SSRF の脆弱性とは? なぜ SSRF の脆弱性? ある日、実際に SSRF の脆弱性を埋め込んでしまった、開発現場の話(空想) SSRF の脆弱性の対策 実装ミスによる脆弱性対策 ユーザーの入力を信用しない 許可リスト・拒否リストの利用 ライブラリの脆弱…

Meet UB Tech #46「【Startup CTO of the year 2023】ピッチで触れられなかった、ALGO ARTISの魅力を深ぼるぞ!」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #46のテーマは、「【Startup CTO of the year 2023】ピッチで触れられなかった、ALGO ARTISの魅力を深ぼるぞ!」です。 2023年11月22日に…

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

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

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

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

インセプションデッキに取り組んだ話

はじめに インセプションデッキとは 10個の質問 実際にチームで行ったこと まとめ はじめに 株式会社ユーザベース BtoB Saas Product Team の 阿久津です。 前提として、私の所属しているチームは「アジャイルの知見の少ないメンバーのみを集めて1から新し…

チームを深く理解するエンパシーサークルという取り組み

はじめに こんにちは! Uzabase の Saas Product Teamに所属しているWatanabe Jinと申します。 Uzabaseではチームが3ヶ月に一度変わるチームシャッフルという文化があり、チームメンバーが定期的に変わるような仕組みがあります。 そんな頻繁に変わるチーム…

Biome.jsでシンプルなフロントエンドへ

こんにちは!経済情報プラットフォームSPPEDA の開発をしている山本です。 本稿ではBiome.jsをプロダクトに導入してみたので事例の紹介をしていきます。 はじめに 私が所属しているチームで新たにマイクロフロントエンドで機能開発をしていくにあたりWeb com…

DOMイベントの発火順序を調べ初めたら行き着く記事 feat.相談の精神

こんにちは! Uzabase の SaaS Product Team に所属している樽本と申します。普段は SPEEDA の開発をしています。 今日は「DOM のイベントが発火(ハンドリング)する順序を考慮した実装はやめたほうが良い。」という個人的な教訓と、それを得るに至ったストー…

エンジニアが今日から始める英語学習の継続方法

1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います…

2024年のPythonプログラミング

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

Meet UB Tech #45「Meet UB Tech 新年会 その2!2023年のUzabase SaaS 事業 Tech もふり返ってみた」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #45のテーマは、「Meet UB Tech 新年会 その2!2023年のUzabase SaaS 事業 Tech もふり返ってみた」です。 2023年末までユーザベース SaaS…

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祭り!〜』というイベントを開催しました。 今回はそのイ…

ふりかえりからチームづくりの9ヶ月をふりかえる

こんにちは。 BtoB SaaS Product Teamの中嶋です。 Product Teamでは1週間のイテレーションごとにチームでふりかえりをしています。 コロナ禍に入る前は物理のホワイトボードでやることが多かったと聞いていますが、最近は大体figjamボードを使っています。 …

Meet UB Tech #43「テラドローン塩澤さんに聞く、ドローンの社会実装と開発の実態」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #43のテーマは、「テラドローン塩澤さんに聞く、ドローンの社会実装と開発の実態」です。 ドローンの利活用を通じた社会課題の解決を目的…

新規プロダクト開発で API の統合テスト文化が根付いているっていう話(Golang)

はじめに 新規プロダクトにおける API テストの重要性を理解してもらう 誰でも容易に信頼性の高いテストが書ける基盤づくり カバレッジ情報の見える化でテストを書くモチベアップ API テストの継続的なリファクタで負債と戦う チームメンバーとのコミュニケ…

【デスクツアー】リモートワーク主体なAlphaDriveテックチームのデスク周り紹介

この記事は AlphaDrive Advent Calendar 2023 の24日目の記事です。 こんにちは、株式会社アルファドライブの佐藤です。今回は、AlphaDriveのエンジニア・デザイナーのデスク周りを紹介します! 弊社は出社義務のないリモートをベースとした働き方となってい…

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

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

立ち上げ期にこそ取り入れる! 組織を強固にする「全員SRE」という文化

AlphaDrive Advent Calendar 2023 12/23 公開分の記事です。

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で…

HPAの閾値設定を1000%にして思い込みをクリアにする

こんにちは。株式会社ユーザベース SaaS事業 酒井です。 「HPAの閾値設定は100%以上あんねん」。思い込みで閾値は100%が上限と勘違いしそうになるねという記事になります。 先日とあるシステムのIstioリソースを眺めていた所、Istio Ingress GatewaysのPodが…

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

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

CI/CDの改善の道のり

本記事はUzabase Advent Calendar 2023の16日目の記事です。 qiita.com 概要 前提に 入社直後の状況 テスト関連 テストの安定化 k8s関連の課題 これから取り組むこと 概要 こんにちは 株式会社ユーザベース BtoB SaaS Product Team(以下 Product Team)の朴…

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は名前の通りニュースアプリですが、ユーザーの皆様がニュースにコメントを付けることができるのがひとつの特徴となってい…

Next.js(App Router) + microCMSで構築したWebメディアの技術紹介

こんにちは、株式会社アルファドライブの佐藤です。この記事は AlphaDrive Advent Calendar 2023 4日目のエントリです。 本日は、Next.js(App Router) + microCMSで構築したWebメディアの技術スタックや開発チームの運用フローを紹介します。 開発したメディ…

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

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

Keycloak + auth0/nextjs-auth0 でテナントごとに valid redirect URIs を追加しなくて済む方法

こんにちは、株式会社アルファドライブの @takano-hi です。 この記事は AlphaDrive Advent Calendar 2023 2日目のエントリです。 今日はテナントごとにサブドメインが異なるタイプのプロダクトで Keycloak を利用する場合に遭遇した問題と対処法についてお…

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

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

プログラミングの原則:構造化テキストを文字列結合で作らない、置換でいじらない

こんにちは、ソーシャル経済メディア「NewsPicks」のむとうです。 先日から『Ghost of Tsushima』の開発者が書いた『ルールズ・オブ・プログラミング』という本をちょっとずつ読み進めていて、プログラミング熱が高まっています。この本は大きな指針を示すだ…

SaaS Product Team セキュアコーディングの啓蒙 第2回 (SQL インジェクション編)

はじめに SQL インジェクションとは? 概要 リスク 発生件数 攻撃方法 対策 根本的な対策 プレースホルダの利用 静的プレースホルダ 動的プレースホルダ エスケープ処理 保険的な対策 入力値の制限 適切なデータベース権限の設定 詳細なエラーメッセージの非…

新機能「ショート動画」をTCAで実装したので、その実装テクニックをご紹介します

ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 NewsPicks iOSアプリでは数年前からリアーキテクチャを進めており、TCAへの移行を進めています。 本記事では、最近リリースしたショート動画機能について、TCAでどのように実装した…

Meet UB Tech #42「デザインエンジニアという肩書をつくって、動き出した話」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #42のテーマは、「デザインエンジニアという肩書をつくって、動き出した話」です。 SPEEDAやFORCASなどのサービスを提供しているユーザベ…

Meet UB Tech #41「Studio Ousia山田さんに聞く、より賢くて使いやすいLLM」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #41のテーマは、「Studio Ousia山田さんに聞く、より賢くて使いやすいLLM」です。 ユーザベースは、2023年7月24日に、株式会社Studio Ousi…

Skaffoldで誰でも簡単に開発を始められる世界に

こんにちは。 株式会社ユーザベース SaaS事業 板倉です。 私たち Product Teamではkubernetesを用いた開発・運用を行っています。 今回はkubernetesを用いた開発をする際に利用しているSkaffoldについて書いていこうと思います。 Skaffoldとは Skaffoldを端…

AWS Configコスト上昇の原因を調査:QuickSight + Athenaの分析ツールを活用

ソーシャル経済メディア「NewsPicks」でSREをしている美濃部です。 NewsPicksのSREのミッションの1つに「コストを適正化する」というものがあります。サービスの規模拡大に比例してインフラコストが増えないようにし、売上に対するコストの割合を低く維持し…

NewsPicksとタイミーさんでFour Keysと開発生産性の勉強会を開催しました

ソーシャル経済メディア「NewsPicks」の高山です。 先日、『Four Keysで改善する開発生産性〜データ・モバイル・フロントエンド〜』というイベントを開催しました。今回はそのイベントレポートをしながらNewsPicksの開発者体験(開発生産性)の取り組みにつ…

NewsPicks、Findy Team+ Award 2023 を受賞しました!

こんにちは。ソーシャル経済メディア「NewsPicks」の韓です。 この度、NewsPicksのプロダクトチーム(Creator Experience Unit)が Findy Team+ Award 2023 を受賞いたしました。 受賞内容について 今回の受賞について、Creator Experience Unit リーダー・加…

推薦システムを独学で勉強していた非情報系の博士学生が長期インターンをしてよかったことと苦戦したこと

皆さんこんにちは! 株式会社ユーザベース NewsPicksで機械学習エンジニアとして長期インターンをしている森田です:) 現在はData/Algorithm チームで、NewsPicksの推薦システム・データ基盤まわりの開発に取り組んでいます。 本記事は、私が2022年8月から同組…

インターンでFLASH Opinionに企業名を紐付ける研究をおこないました

UB Researchチームで2週間の短期インターンをしている山内です。 現在、UB Researchでは、ニュース記事テキストに関して、企業名等の情報抽出モデルを構築を行っています。この情報抽出モデルをさまざまなテキストに適用し、企業情報を抽出することで、経済…

SaaS Product Team セキュアコーディングの啓蒙 第1回 (CSRF編)

はじめに CSRF とは? 概要 発生件数は? 発生時の影響範囲は? CSRF 攻撃の具体的な方法 対策 フォームにトークンを埋め込む パスワードの再入力を求める Referer ヘッダを検証する カスタムヘッダを付与する 保険的な対策 操作を通知する Cookie の SameSi…

New RelicのSLOモニタリング+バーンレートアラートをCDK for Terraform(cdktf)でIaC管理する

こんにちは、ソーシャル経済メディア「NewsPicks」でSREをしている飯野です。 今回はSREで行ったNew RelicをCDK for TerraformでIaC管理する話を紹介したいと思います。 SLOモニタリングをSREチームだけで行うのは難しい CDK for Terraformとcdktf-newrelic-…

Page top