サクサク読めて、アプリ限定の機能も多数!
トップへ戻る
Appleイベント
tech.uzabase.com
はじめに こんにちは!Product Teamの渡邉臣(@Sicut_study)です。 今回はProduct Teamで特徴的な取り組みの1つである「1人プロジェクト」について実際に体験したので紹介します。 1人プロジェクトを通して、この1年間での成長を実感できたのでぜひ多くの方に知ってほしいです。 1人プロジェクトとは? Product Teamには色々ユニークな取り組みがあるのですが、その1つが「1人プロジェクト」です。 エンジニアである以上、技術力が大事です。 日々の業務の中でも成長する環境は整っていますが、例えばパイプラインを1人で構築できる機会が訪れなかったなど特定の技術に触れられる機会がないこともあります。 1人プロジェクトでは1ヶ月間チームを離れて、社内で利用できる便利ツールの開発を通して技術力向上を目指します。 技術選定からリリースまでの0 -> 1をすべて1人で行えるの
こんにちは。Product Team の竹原です。 みなさん Dockerfile 書いてますか? 私たち Product Team では全アプリを Docker コンテナ内で動かしているので、すべてのアプリに対して Dockerfile を書いてます。 とはいえ、私は最近まで「コンテナ内でアプリが動くこと」以外に Dockerfile の書き方についてあまり意識を向けていませんでした。 強いて言えば「レイヤーが増えすぎないように RUN 命令はまとめる」といった、ちょっとかじった程度のベストプラクティスを思い起こす程度でした。 そんな中、最近 Dockerfile にちょっとした工夫をすることになったので、その内容についてご紹介します。 そのプロセス、root ユーザで動いてない? 何がダメ?どうなってるのが理想? nobody ユーザって何? nobody ユーザを使うように Dock
はじめに こんにちは!NewsPicksのVP Of Mobile Engineeringの石井です。 約1年前にPharmaXさん主催の「事例で学ぶ!エンジニア組織文化を作る採用・評価の仕組み」というイベントでPharmaX 取締役・エンジニアリング責任者の上野さん、カオナビCTOの松下さんと私の3人で事例発表やパネルディスカッションをしました。(そのときの記事は、PharmaXさんのこちらの記事にあります) このときに私が話したエンゲージメントに関することは、「採用とオンボーディングを頑張った結果、エンゲージメントもよくなりました」的な話もしました。 ただ、それ以外にも多くのことをしています。今回はそこを深掘りしたいと思います。 以前の状態との比較 当時、発表した時のモバイルチームのエンゲージメントは次の通りでした。(NewsPicksでは半期に一度、サーベイをしています) で、202
はじめに 初めまして!ソーシャル経済メディア「NewsPicks」SREチーム・新卒エンジニアの樋渡です。今回は「AWS Security Hub」と「Slack」を用いて、弊社で利用しているAWSリソースの監視運用を効率化したお話です。 お話の内容 年々増加するサイバー攻撃に対抗するため、セキュリティ対策は日々重要度が増してきています。 そこで弊社で利用しているAWSのリソースに対して、各種セキュリティイベントの収集ができるAWS Security Hubを利用することで、セキュリティ状態の可視化と迅速な対応がしやすい運用を行い、セキュリティ状態の現状把握から始めることにしました。特にNIST CSFの「検知」部分の運用について整備した内容となっています。 NIST Cyber Security Frameworkについて 皆さん、「NIST Cyber Security Framewo
はじめに こんにちは。ソーシャル経済メディア「NewsPicks」の QA/SET チームの海老澤です。 先日 弊社で E2E テスト実行するために Playwright を導入したため紹介させてください。 E2Eテストとは E2Eテスト(エンドツーエンドテスト)とは、ソフトウェア開発におけるテスト手法の一つで、アプリケーションが実際の運用環境と同様の条件下で正しく動作することを確認するためのテストです。 システムの開始点から終了点までを通じて、ユーザーの視点でアプリケーションのフローを追い、機能全体が連携して期待通りに動くかを検証します。具体的には、ユーザーが行うであろう一連の操作をシミュレートして、データがシステムを通じて適切に流れるかや、最終的なアウトプットが正しいかどうかを確認します。E2Eテストにより、部分的な単体テストや統合テストでは見逃されがちな問題を発見することができます。
こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #47のテーマは、「NewsPicksプロダクトチームの新しいカンファレンス参加支援制度 “Kaigi Pass” の実態に迫る」です。 もともとエンジニア向けの制度が比較的充実しているNewsPicksプロダクトチームですが、今回新たにカンファレンス参加に際して必要となる費用を会社が一部負担する制度 “Kaigi Pass” が新設されました。 今回のPodcastでは、その制度設計・導入をリードしたNewsPicks CTO/CPOの文字さんと、“Kaigi Pass” 制度利用第1号となった金子さんにお話を聞いてみました! open.spotify.com #47 の聞きどころはこちら。 タイトル: NewsPicksプロダクトチームの新しいカンフ
Product Team の竹原です。 みなさん、ドメインのモデリングしてますか? 最近私たちのチームでは以下のプレスリリースにある機能の開発に勤しんでいます。 FORCAS、生成AIを活用した新機能「AIセールストーク自動生成」の実証実験を開始 | FORCAS(フォーカス)|営業DXソリューション|企業データベースと顧客分析 その開発において、ドメインの理解をしっかり深めないまま開発を続けたためにちょっとつまづいてしまったので、反省も兼ねて記事にまとめてみることにしました。 ドメインの概要 上記のAIセールストーク自動生成機能には以下の図のように、 課題に悩む企業 自社のプロダクトをおすすめしたい FORCAS ユーザー の2種類の登場人物がいます。 登場するドメインのイメージ さらに、「このプロダクトの便益によって、この企業課題を解決できそうだ」というものが見つかれば、それらが1対1
ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です。 弊社の「Kaigi Pass」というカンファレンス参加費用をサポートしてもらえる制度が今年から始まりました! せっかくなのでそちらの制度を利用して、2024年4月16、17日に開催された国際カンファレンスの DevOpsDays Tokyo 2024 に参加してきました!(スポンサー関係者含めた総参加者は324名の規模感) 実はテックカンファレンス初参加です!本記事では参加レポートをお届けします。 #DevOpsDaysTokyo 2024、遂に明日から開催です! Day1のキーノートはDevOpsDaysの発起人であるPatrick Debois氏! Day2のキーノートはDevOpsDays Tokyoの代表理事である川口 恭伸氏! DevOpsを牽引するお二人の話以外にも興味深いセッションばかり! みん
はじめに 新規プロダクトにおける API テストの重要性を理解してもらう 誰でも容易に信頼性の高いテストが書ける基盤づくり カバレッジ情報の見える化でテストを書くモチベアップ API テストの継続的なリファクタで負債と戦う チームメンバーとのコミュニケーションと協力 おわりに はじめに はじめまして!株式会社アルファドライブにてバックエンド開発をやっています コタ @sirogami_main です。 この記事は AlphaDrive Advent Calendar 2023 の最終日の記事です! qiita.com 現在開発中の新規プロダクトではバックエンドのほぼすべての API に複数のテストがあり、API テスト数の合計は720件を超えています。これは私一人の力ではなくて、チーム内にテスト文化が根付いているのがすごい大きいです。 嬉しいことに今では「とりあえず API テストは書こう
UB Researchチームで2週間の短期インターンをしている梶川です。 現在、UB ResearchではRAGシステム構築に向けた研究を行っており、社内のさまざまなデータを正確に拾い上げるための検索エンジンの開発と評価を行っています。 今回、その検索エンジンに代わるモデルを用いて、実際の検索テキストで検索を実施した結果を報告します。 概要 近年、LLMを用いた文書生成が流行しており、その中でも外部情報を検索し、LLMに追加して生成させるRAGという技術が活用されています。RAGによって、LLMが知らない情報に対して正確な応答を返すことができ、UB Researchでもニュース記事や有価証券報告書などの情報に対してRAGを適用することを考えています。既存の検索エンジンには、国内データで学習されたBERTベースのモデルを用いていますが、今回、最新のモデルであるBGE-M3を用いて、検索を実施
はじめに 皆様こんにちは、ソーシャル経済メディア「NewsPicks」(Media Infrastructureチーム)エンジニアの北見です。 現在、私は弊社サービスの一部のインフラ刷新を行なっている最中で、ここ数ヶ月 AWS CDKを触っておりました。 前職では Infrastructure as Code として Terraform を使ったことがあるのですが、少なくともAWS を使うという条件においては CDKを使うべき という結論に辿り着きました。 今回はそのように考えるようになった理由について説明していこうと思います。 前提 Terraform はパブリッククラウドにおける Infrastructure as Code の走りとして様々な現場に導入実績があり、それに対するリスペクトは持つべきです。 しかしよくある「AvsB」というメリデメの構図で「どっちでもいいよ、好みだよ」と投
こんにちは。ソーシャル経済メディア「NewsPicks」で検索システムを開発しております崔(ちぇ)です。 弊社の検索システムはAWS EC2(Elastic Compute Cloud、以下、EC2)で動いていました。それを昨年、Amazon ECS(Elastic Container Service、以下、ECS)に移行しました。前回のブログでは、移行のために調べた「アプリケーションをコンテナ化するベストプラクティス」をまとめましたので、ご興味ある方は読んでいただけると嬉しいです。 tech.uzabase.com 今日は、ECS on Fargateのタスク起動に手こずった話をしてみようと思います。タイトル通りFargate 1.4.0 で発生しうる ResourceInitializationError の解決方法について述べるのですが、「まさに今それにハマってた!」という方はぜひ読
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 世界中のiOSエンジニアが集う国際カンファレンス try! Swift Tokyo 2024 に参加してきました! tryswift.jp 弊社のNewsPicksアプリで採用しているTCA(The Composable Architecture)の作者であるPoint-Freeのお二人が来日されるということもあり、これは行かない理由がない!と社内で手を上げて、行かせていただきました。 本記事ではtry! Swift Tokyo 2024参加レポートをお届けします。 Kaigi Pass 一日中楽しめる Swiftをテーマにしたバラエティ豊かなトーク Accessibility APIを使ってアプリケーションを拡張する(Enhancing Applications with Accessibility AP
こんにちは。ソーシャル経済メディア「NewsPicks」NewsPicks Stage.事業のエンジニアをしています、林です。 業務では Next.js / Rust / Go などを用いて、経済・ビジネス情報に特化した動画配信サービスであるNewsPicks Stage.の開発・運用を行っています。 はじめに 突然ですが、皆さんは自身のソフトウェアのライブラリアップデートは行えていますか? 皆さんはどのようにライブラリアップデートを行なっていますか? 新機能を試したくて? npm iで失敗してから頑張る? Renovate / dependabot が自動Mergeされる環境? もしくは対応担当が特定の日にまとめてMergeする運用? しかし多くの開発者は、アップデートに対して「うまくいっている」と言えないのではないでしょうか?自身も様々なプロダクトを開発してきた経験上、日々の中ではどう
ソーシャル経済メディア「NewsPicks」でiOSエンジニアをしている金子です。 先日、弊社ユーザベース主催でTCA(The Composable Architecture)の勉強会を開催しました。 本記事では勉強会の開催レポートをお届けいたします! uzabase-tech.connpass.com 総勢約140名の参加者 入門から最新バージョン情報、開発ノウハウまで!バラエティに富んだ10名の登壇者によるLT TCA入門したてなので、自分が馴染みのある実装と比較しながらキャッチアップしてみる(fumiyasacさん) TCA魔法学入門(dazyさん) 個人開発をTCAで運用していくということ(entaku0818さん) TCA with UIKit(tatsubeeさん) むやみにActionを送信してはいけない(takehilo) TCA Practice in 5 min(d_
SaaS Product Team(以下Product Team)のあやぴーです。 Product Teamの開発しているプロダクトでは「企業に関する大量データ」というものを扱う機会があります。特に様々な形式でデータパートナーから受領するため、一筋縄でいかないことが多々あります。今回はその中でも巨大なZIPファイルの中に大量のCSV(ライクな)ファイルをClojureでいい感じに処理するために苦戦した話を書いていこうと思います。 前提 最初のアプローチ OutOfMemoryErrorとの闘い 実行時間との闘い CSVの読み込み リフレクションの抑制 まとめ 前提 まずはZIPファイルについて説明します。 毎月新しいファイルが100程度配信されている ZIPファイルは大きいもので2GB、小さいもので1MB程度 ZIPファイルの中には大量のCSV形式(区切り文字は|)のテキストファイルが含ま
はじめに こんにちは、NewsPicksの小林です! 今回は、NewsPicks サービスのアプリに学割プランを追加するため、内製の学生認証を廃止して、外部認証サービスのSheerIDを導入したので、ご紹介したいと思います。 はじめに SheerIDとは 学生認証サービスの精査 SheerIDの導入 自社サービスとSheerID連携 SheerID認証フロー SheerID社と契約するにあたって 契約プログラム 最後に SheerIDとは SheerIDは学生や教師、医療関係者などのセグメントでユーザーのステータス確認を提供する会社です。SheerIDが提供する認証サービスを利用して、自社サービス内で使用できるクーポンコードを発行できます。また、提供されているAPIのエンドポイントを自社システム内に実装することで、SheerID Rest APIとWebhook連携が出来ます。 学生認証サ
はじめに こんにちは!株式会社アルファドライブの佐藤です。 この度、タイトルにもあるように2000行台(最大2415行)の巨大なReactコンポーネントをいくつかリファクタリングしました。この作業には大量の変更が生まれます。2月の私のmainブランチへのコミットは11905 (+5683, -6222)行でした。結論、ペアレビューの時間を設けることで約1ヶ月でこの膨大な変更をやり切ることができたので、今回はそこに至るまでの試行錯誤を記録したいと思います。 背景 私たちが扱うプロダクトには、2000行を超えるようなReact クラスコンポーネントがいくつか存在していました。このような巨大なコンポーネントができてしまった理由は、このプロダクトは外部に委託して開発された過去があり引き渡された時点で適切にコンポーネント分割がされていなかったこと、引き渡された後も開発メンバーが少なくリファクタリング
はじめに インセプションデッキとは 10個の質問 実際にチームで行ったこと まとめ はじめに 株式会社ユーザベース BtoB Saas Product Team の 阿久津です。 前提として、私の所属しているチームは「アジャイルの知見の少ないメンバーのみを集めて1から新しいチームを作る」という試みを行っているチームです。 私も、昨年の4月にNew JoinerとしてJoinしたアジャイルの知見の少ないメンバーの一人です。 約1年ほどこのチームで働いてきて色々とアジャイルのプラクティスに関しては経験をしてきましたが、 その中でもインセプションデッキを今回はじめてチームで取り組んでみたので取り上げようと思います。 インセプションデッキとは 書籍「アジャイルサムライ」で紹介されているアジャイルプラクティスの一つです。 プロジェクトに関わる各メンバーがそのプロジェクトの目的やゴールに対しての共通認
ソーシャル経済メディア「NewsPicks」のSREをしている飯野です。 サービスの開発は試行錯誤の連続です。サービスの成長とともに機能はどんどん増えていきます。追加される機能はサービスに不可欠な重要な機能だけではなく、サービスの方向性や前提が変わり不要になってしまったり、思ったように価値が提供できずに使われない機能もたくさん登場します。 このような機能が登場してしまうことは仕方のないことですが、ずっとメンテナンスしていくコストは払えません。定期的にお掃除したいものです。 というわけで、使われなくなってしまった機能(APIサーバーのREST API)をNew Relicを使って探し出してみましょう。 使われていないAPIを探す ルックアップテーブルに登録するAPI一覧の作成 ルックアップテーブルを登録する NRQLでTransactionルックアップテーブルを検索する 利用頻度が低いAPI
はじめに こんにちは! Uzabase の Saas Product Teamに所属しているWatanabe Jinと申します。 Uzabaseではチームが3ヶ月に一度変わるチームシャッフルという文化があり、チームメンバーが定期的に変わるような仕組みがあります。 そんな頻繁に変わるチームで、チームメンバー同士の相互理解などを助けてくれるのが今回紹介する「エンパシーサークル」という取り組みです。 エンパシーサークルとは エンパシーサークル(別名: 共感サークル)とは、集まった人たちの中で一人が「自分のエピソードを話す話手」となり、それ以外の人全員が「話しての感情やその奥にある大切にしたいこと(ニーズ)に焦点を当てながら聴く聴き手」となるトーキングサークルです。「話し手」と「聴き手」は、決められた時間の中で随時交代していきます。参考 私が行っているエンパシーサークルでは以下のような流れがありま
こんにちは!経済情報プラットフォームSPPEDA の開発をしている山本です。 本稿ではBiome.jsをプロダクトに導入してみたので事例の紹介をしていきます。 はじめに 私が所属しているチームで新たにマイクロフロントエンドで機能開発をしていくにあたりWeb componentsを作る流れになりました。今回はそのWeb componentsに以前からちょっぴり興味のあったBiome.jsを導入してみました。 導入背景は、ツールのシンプルさに魅力を感じたからです。フロント開発をする上でESLintやPrettierなどのツールを導入しているプロジェクトは多いと思います。ただ設定ファイルが複数存在したり、ツールごとにプラグインのインストールが必要であったりと多少の複雑さを感じていたことが背景にあります。煩わしいツールの管理や設定から少しでも楽になるには、、というところで見つけたのがBiome.j
1. はじめに こんにちは。ソーシャル経済メディア「NewsPicks」でエンジニアをしております小林です! 皆さんは英語学習に取り組んでいらっしゃいますか?エンジニアとして技術ドキュメントや国際カンファレンスの動画等で英語に触れる機会があると思います。また、技術的なスキルはあるが、英語を話すことが苦手な場合、将来的に市場でどう評価されているかの動向も気になるところです。 最新の2023年度の報告によると、世界的にITエンジニアの給与が上昇している一方、日本では前年比USドルベースで5.9%減少、現地通貨(円)ベースでもわずか0.4%増加に留まっています。残念ながら、世界と比較した時に日本の給与の優位性がなかった一年となりました。今後もこの差が開く一方であれば、個人や企業が国際市場で競争力を保つために、英語能力の向上も必要になる機会が高まっていくことを示唆しています。 しかし、「英語力を伸
はじめに こんにちは!AlphaDriveで新規プロダクトの開発を担当している清水です。 私は前職が地方公務員で、ソフトウェアエンジニアとして働くのはAlphaDriveが初めてです。入社後4ヶ月が経ったので、私の目線から弊社の「開発組織のおすすめポイント」をお届けしようと思います! 私自身が入社前に「もっとここで働くイメージを掴めたら嬉しいな〜」と感じていたので、AlphaDriveに興味を持ってくださった方の参考に少しでもなれば幸いです! はじめに コーディング面接・面談での体験 実際に働くイメージができたライブコーディング面接 希望に合わせた面談を複数回セッティングしてくれた ジュニアメンバーへのサポート体制 メンターとの定期的なペアプロ&1on1 初めから機能開発に関われる 初心者でも参加しやすい雰囲気 テキストコミュニケーションなのでキャッチアップしやすい インターンの学びになる
こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #45のテーマは、「Meet UB Tech 新年会 その2!2023年のUzabase SaaS 事業 Tech もふり返ってみた」です。 2023年末までユーザベース SaaS事業のテックブランディングを担当していた現・NewsPicks Stage.エンジニアの朴さん、SaaS事業エンジニアの福田さんをゲストに迎え、共同パーソナリティのNewsPicks Fellow高山さんとともに新年会収録②を行いました! open.spotify.com #45の聞きどころはこちら。 タイトル: 「Meet UB Tech 新年会 その2!2023年のUzabase SaaS 事業 Tech もふり返ってみた」 出演者: 朴賢勝 @dordieux(NewsP
ソーシャル経済メディア「NewsPicks」で推薦や検索などのアルゴリズム開発をしている北内です。Pythonは頻繁に新機能や便利なライブラリが登場し、ベストプラクティスの変化が激しい言語です。そこで、2024年2月時点で利用頻度の高そうな新機能、ライブラリ、ツールなどを紹介したいと思います。 この記事では広く浅く紹介することに重点を置き、各トピックについては概要のみを紹介します。詳細な使用方法に関しては各公式サイト等での確認をおすすめします。なお、本記事ではOSとしてmacOSを前提としています。 環境構築 Pythonの環境構築はpyenvとPoetryの組み合わせがもっとも標準的でしょう。 以下の手順でpyenvとPythonをインストールできます。 brew install pyenv # Bashの場合 echo 'eval "$(pyenv init -)"' >> ~/.ba
こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech。 #44のテーマは、「Meet UB Tech 新年会 その1!2023年のNewsPicks Techをふり返ってみた」です。 NewsPicks Fellowの高山さん、NewsPicks エンジニア兼テックブランディング担当の池川さん、NewsPicks QAエンジニアの西薗さんをゲストに迎えて、新年会収録を行いました! open.spotify.com #44の聞きどころはこちら。 タイトル: 「Meet UB Tech 新年会 その1!2023年のNewsPicks Techをふり返ってみた」 出演者: 高山 温 @edvakf (NewsPicks Fellow) 池川 貴裕 @takapiro_ikeike (NewsPicks エンジニア)
こんにちは。ソーシャル経済メディア「NewsPicks」Media Infrastructure Unitの韓です。 年末にNewsPicksとSaaS Product Team合同で『ユーザベースの技術文化大公開!Engineer Meetup 〜クリスマスLT祭り!〜』というイベントを開催しました。 今回はそのイベントレポートについて書いていきます。 イベントについて タイムテーブル 当日の様子 ▼1人目:NewsPicksプロダクトチームの西さん ▼2人目:NewsPicksプロダクトチームの三村さん ▼3人目:SaaSプロダクトチームの朴さん ▼4人目:NewsPicksプロダクトチームの吉川さん ▼5人目:SaaSプロダクトチームの福田さん ▼6人目:NewsPicksプロダクトチームの海老澤さん ▼7人目:SaaSプロダクトチームの野中さん ▼7人目:NewsPicksプロダク
こんにちは。 BtoB SaaS Product Teamの中嶋です。 Product Teamでは1週間のイテレーションごとにチームでふりかえりをしています。 コロナ禍に入る前は物理のホワイトボードでやることが多かったと聞いていますが、最近は大体figjamボードを使っています。 オンラインのホワイトボードはスペースを自由に使えたり、付箋以外にも画像とかスタンプを押せたりと楽しいですが、油断せずに片付けないでおくと過去のふりかえりの残骸がどんどん残っていきます。 年明けになったのもあり、それらを片付けようと思ったときに、ふと「過去のふりかえりをふりかえってみるのも良さそうだな」と思いました。 この記事では、いままでのふりかえりで出てた課題やそれに対してのアクション、逆に上手く行かなかったものや、どういうアクションがチームのみんなが実行しやすいのか考えてみたいと思います。 9ヶ月分のふりか
次のページ
このページを最初にブックマークしてみませんか?
『UZABASE Tech』の新着エントリーを見る
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く