株式会社ユーザベースのブログ - TECH PLAY

TECH PLAY

株式会社ユーザベース

株式会社ユーザベース の技術ブログ

全532件

ソーシャル経済メディア「NewsPicks」のSREをしている飯野です。 サービスの開発は試行錯誤の連続です。サービスの成長とともに機能はどんどん増えていきます。追加される機能はサービスに不可欠な重要な機能だけではなく、サービスの方向性や前提が変わり不要になってしまったり、思ったように価値が提供できずに使われない機能もたくさん登場します。 このような機能が登場してしまうことは仕方のないことですが、ずっとメンテナンスしていくコストは払えません。定期的にお掃除したいものです。 というわけで、使われなくなってしまった機能(APIサーバーのREST API)をNew Relicを使って探し出してみまし…
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 WWDC23でObservationフレームワークが発表されてからすぐ、XのPoint-Freeアカウントより以下の投稿がありました。 「ViewStoreが消えるだと...!?めちゃシンプルになるじゃないか...!」とワクワクしたのを覚えています。 Apple engineers have done something incredible at this year’s WWDC.Thanks to @​Observable, macros and more, you can write Composable…
はじめに インセプションデッキとは 10個の質問 実際にチームで行ったこと まとめ はじめに 株式会社ユーザベース BtoB Saas Product Team の 阿久津です。 前提として、私の所属しているチームは「アジャイルの知見の少ないメンバーのみを集めて1から新しいチームを作る」という試みを行っているチームです。 私も、昨年の4月にNew JoinerとしてJoinしたアジャイルの知見の少ないメンバーの一人です。 約1年ほどこのチームで働いてきて色々とアジャイルのプラクティスに関しては経験をしてきましたが、 その中でもインセプションデッキを今回はじめてチームで取り組んでみたので取り上げ…
はじめに こんにちは! Uzabase の Saas Product Teamに所属しているWatanabe Jinと申します。 Uzabaseではチームが3ヶ月に一度変わるチームシャッフルという文化があり、チームメンバーが定期的に変わるような仕組みがあります。 そんな頻繁に変わるチームで、チームメンバー同士の相互理解などを助けてくれるのが今回紹介する「エンパシーサークル」という取り組みです。 エンパシーサークルとは エンパシーサークル(別名: 共感サークル)とは、集まった人たちの中で一人が「自分のエピソードを話す話手」となり、それ以外の人全員が「話しての感情やその奥にある大切にしたいこと(ニ…
こんにちは!経済情報プラットフォームSPPEDA の開発をしている山本です。 本稿ではBiome.jsをプロダクトに導入してみたので事例の紹介をしていきます。 はじめに 私が所属しているチームで新たにマイクロフロントエンドで機能開発をしていくにあたりWeb componentsを作る流れになりました。今回はそのWeb componentsに以前からちょっぴり興味のあったBiome.jsを導入してみました。 導入背景は、ツールのシンプルさに魅力を感じたからです。フロント開発をする上でESLintやPrettierなどのツールを導入しているプロジェクトは多いと思います。ただ設定ファイルが複数存在し…
こんにちは! Uzabase の SaaS Product Team に所属している樽本と申します。普段は SPEEDA の開発をしています。 今日は「DOM のイベントが発火(ハンドリング)する順序を考慮した実装はやめたほうが良い。」という個人的な教訓と、それを得るに至ったストーリーの紹介をします。タイトルは願望です。 ※開発時のブラウザは Chrome でしたので、その他のブラウザでの検証は行っていません ある日のこと フロントエンドアプリケーションをカキカキワチャワチャしていたある日、以下のようなコード(諸々省略)で問題は発生しました。 .... <input type="text" o…
1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います。また、技術的なスキルはあるが、英語を話すことが苦手な場合、将来的に市場でどう評価されているかの動向も気になるところです。 最新の2023年度の報告によると、世界的にITエンジニアの給与が上昇している一方、日本では前年比USドルベースで5.9%減少、現地通貨(円)ベースでもわずか0.4%増加に留まっています。残念ながら、世界と比較した時に日本の給…
ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう…
こんにちは。ソーシャル経済メディア「NewsPicks」Media Infrastructure Unitの韓です。 年末にNewsPicksとSaaS Product Team合同で『ユーザベースの技術文化大公開!Engineer Meetup 〜クリスマスLT祭り!〜』というイベントを開催しました。 今回はそのイベントレポートについて書いていきます。 イベントについて タイムテーブル 当日の様子 ▼1人目:NewsPicksプロダクトチームの西さん ▼2人目:NewsPicksプロダクトチームの三村さん ▼3人目:SaaSプロダクトチームの朴さん ▼4人目:NewsPicksプロダクトチー…
こんにちは。 BtoB SaaS Product Teamの中嶋です。 Product Teamでは1週間のイテレーションごとにチームでふりかえりをしています。 コロナ禍に入る前は物理のホワイトボードでやることが多かったと聞いていますが、最近は大体figjamボードを使っています。 オンラインのホワイトボードはスペースを自由に使えたり、付箋以外にも画像とかスタンプを押せたりと楽しいですが、油断せずに片付けないでおくと過去のふりかえりの残骸がどんどん残っていきます。 年明けになったのもあり、それらを片付けようと思ったときに、ふと「過去のふりかえりをふりかえってみるのも良さそうだな」と思いました。…
はじめに 新規プロダクトにおける API テストの重要性を理解してもらう 誰でも容易に信頼性の高いテストが書ける基盤づくり カバレッジ情報の見える化でテストを書くモチベアップ API テストの継続的なリファクタで負債と戦う チームメンバーとのコミュニケーションと協力 おわりに はじめに はじめまして!株式会社アルファドライブにてバックエンド開発をやっています コタ @sirogami_main です。 この記事は AlphaDrive Advent Calendar 2023 の最終日の記事です! qiita.com 現在開発中の新規プロダクトではバックエンドのほぼすべての API に複数のテ…
この記事は AlphaDrive Advent Calendar 2023 の24日目の記事です。 こんにちは、株式会社アルファドライブの佐藤です。今回は、AlphaDriveのエンジニア・デザイナーのデスク周りを紹介します! 弊社は出社義務のないリモートをベースとした働き方となっているため、デスク周りにもそれぞれの働き方や個性が反映されているはずです。メンバーから募集したデスク周りの画像と紹介コメントに対して筆者が一言コメントする形でお届けしますので、お楽しみください! おしゃれ編 R.I 友人と一緒に作ったデスクです。2台作ってコーナー型に配置。仕事してると何かとモノを広げるタイプなので置…
こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 この記事は、 NewsPicks Advent Calendar 2023 の23日目の記事になります。 qiita.com 昨日ははぐっさんによる「SwiftUIのKeyframeAnimatorでちょっとしたカードアニメーション 〜猫の手を添えて〜」でした! はじめに コンテナ流儀: 必要最低限のものだけで運用する Point1)レイヤーは少ないほどいい TIP:ベースイメージを作る Point2)不要なパッケージをインストールしない Point3)いつ再起動してもいいコンテナを作る …
概要 ソーシャル経済メディア「NewsPicks」SREチームの中川です。 皆さんはバッチ処理基盤はどうされていますでしょうか。 NewsPicks では少し前まではそれらをEC2、cronの組み合わせで動作させていました。 何年も前からこの仕組みだったのですがSREとしてはEC2の面倒見るのも手間ですし、それ以上にcronを変更する際のオペレーションミスが目立ったのが懸念点でした。 その為、まずはAWSマネージド化するための基盤を整備し、その後バッチアプリを載せ替えていくようにしました。 対応前の基盤構成 同じSREチームの安藤さんが CloudNative Days Tokyo 2023 …
この記事は NewsPicks アドベントカレンダー 2023の21日目の記事です。 qiita.com こんにちは、Androidネタばかりで肩書きと合わなくなってきてるので、iOSも頑張りたいと思い始めているNewsPicksのVP of Mobile Engineerの石井です。 1年間、様々な改善をしてきましたが、書いてなかったけど実はすごくいい結果がでているものがあるので、それについてです。 概要 2022年11月下旬にアプリの起動時間を改善したことは、以前のブログで書きました。 tech.uzabase.com それ以前では、「アプリが重い。起動が遅く、画面がフリーズしたかと錯覚を…
はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の桐畑です。 この記事は NewsPicks アドベントカレンダー 2023 の18日目の記事です。 昨日は呉さんの『iOSのE2Eテストを並列で動かし、リリースサイクルを高速化した話』でした! 今日は、Brazeでメール配信が改善ができた話をお送りできればと思います。 NewsPicksでは、登録いただいているユーザーの皆様に、新着&おすすめ記事や各種お知らせのメールを送付させていただいております。 一昨年ぐらいに、Brazeというカスタマーエンゲージメントサービスを導入しました。導入当初、プッシュ通知やアプリ内ダイアログとい…
こんにちは。株式会社ユーザベース SaaS事業 酒井です。 「HPAの閾値設定は100%以上あんねん」。思い込みで閾値は100%が上限と勘違いしそうになるねという記事になります。 先日とあるシステムのIstioリソースを眺めていた所、Istio Ingress GatewaysのPodが頻繁に増減しているのに気が付きました。 istioctlとIstioOperator定義で管理されていたので確認すると、以下のようなデフォルト値が使われていました。 ingressGateways: - name: istio-ingressgateway enabled: true k8s: resource…
はじめに こんにちは、ソーシャル経済メディア「NewsPicks」の西薗(X: @yurizono )です。2021年6月にひとり目QAエンジニアとして入社して以来、テストをしたりQAチームの立ち上げをしたりしています。 この記事は NewsPicks アドベントカレンダー 2023 の16日目の記事です。昨日は @edvakf@github さんによる『データ基盤まわりのシステムの変遷について』でした。 2023年12月09日に、ソフトウェアテスト自動化カンファレンス2023に登壇させて頂きました。講演タイトルは『QAエンジニアが「開発者になる」と自動テスト運用は上手くいく』で、本日はこちら…
本記事はUzabase Advent Calendar 2023の16日目の記事です。 qiita.com 概要 前提に 入社直後の状況 テスト関連 テストの安定化 k8s関連の課題 これから取り組むこと 概要 こんにちは 株式会社ユーザベース BtoB SaaS Product Team(以下 Product Team)の朴です。 普段の開発で大事なのは作ったものをデリバリーし続けることです。 いかに早くデリバリーできるか、いかに安定的にデリバリーし続けられるかなど、我々は工夫をし続けています。 今回はその中で、私が入社してこれまで経験し改善してきたCI/CDの進化についてです。 前提に ま…