NewsPicks

iOSアプリ起動高速化に挑戦!不要コードやリソースの見直しとライブラリのstatic化編

みなさんこんにちは。NewsPickでiOSアプリの開発をしている森崎です。 当記事ではどのアプリも一度は見直しを検討したことがあるであろう、アプリの起動時間の高速化についてお話しします。 他の記事で起動時の処理や高速化への改善策を書いたので、ここでは…

【入社エントリー】営業職からエンジニアにキャリアチェンジして3ヶ月が経ちました

はじめに こんにちは! NewsPicksの法人向けサービス開発チームの森です。 入社から約3ヶ月経ったので、入社エントリーを書いてみようと思います! …が!タイトルにも匂わせた通り、私の前職は営業職@メーカーで、エンジニアとして働くのはNewsPicksが初め…

NewsPicksと株式会社ヘンリーさんでKotlin合同勉強会を開催しました

NewsPicksの高山です。 NewsPicksではちょうど1年前の2021年8月に、サーバーサイド開発言語をJavaからKotlinに切り替えていく決断をしました。 今では社内でも最も歴史のある2つのシステムがKotlinでも書けるようになり、置き換えも徐々に進んでいっています…

SwiftUI+TCAに挑戦!NewsPicks iOSアプリのリアーキテクチャについて

NewsPicks iOSエンジニアの金子です。 最近あちこちでリアーキテクチャについての話をしているのですが、割とふわっとした内容に留まってしまっていたので、もう少し具体的にどういうことをしているかをお伝えするために記事を書くことにしました。 本記事で…

Slack (Bitrise/Zapier) を使った自動化で業務効率の改善をする

アプリチームでの自動化を紹介!Bitrise, ZapierをSlackを使ってより便利に

コンテナイメージのバージョン管理を自動化したい!

皆様はじめまして! NewsPicks SREチームの中川です。 本日はコンテナイメージのバージョン管理についての記事をお届けします。 概要 NewsPicksではECSやKubernetesに代表されるコンテナサービスを使用しておりますが、コンテナのデザインパターンとしてサイ…

Meet UB Tech #20「ユーザベースの開発者体験を伝えたい」を公開しました

こんにちは、ユーザベースの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #20 のテーマは「ユーザベースの開発者体験を伝えたい」です。 2022年5月に発表され、大きな話題を生んだ『日本CTO協会、エンジニアが…

インターン生がDBのテストをKotlinで書けるようにした話

はじめに こんにちは!NewsPicksのSREユニットでインターンシップをしている西(@yukinissie)です!ニッシー☆というニックネームで活動している福岡の情報系大学生です。先日、データベース(以下DB)とデータのやり取りをしているソースコードについてKotl…

AWSのコストモニタリングの知見をシェアしたい

NewsPicksの高山です。 今回は、AWSのコストを我々がどのように定点観測しているかを書いていきます。 あわよくば他社さんも事例を広く共有してもらえて業界全体の共有知が増えることに繋がってほしい狙いがあります。 NewsPicksでは過去2年ぐらいかけて地道…

arrow.core.Either 使い方メモと、初めてのKotlinコードリーディング

はじめに はじめまして、NewsPicks App Product Unitの池川(いけがわ)と申します。 2022年5月から今のチームにジョインしており、もともとJavaエンジニアである自分が、最近はKotlinを触るようになりました。 そのキャッチアップの中で、NewsPicksの課金基盤…

AndroidのSearchViewをMVVMとBindingAdapterで動的にカスタマイズした話

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 今回はタイトル通りAndroidにおけるSearchViewのUIをMVVMでCustomした話をします。 なお、SearchViewの検索機能に関しては一切触れておりませんので予めご了承ください。 要件 ユーザ属性…

混沌と化したコンポーネントとGraphQLクエリの管理にFragment Colocactionを導入したら一気に解消に向かった話

はじめまして、NewsPicks Web Product Unitのじゆんきち(@junkisai)です。 弊チームでは、ここ1年間くらいWeb 版のNewsPicksを新しい基盤に置き換えるプロジェクト(以降、リアーキプロジェクト)を進めています。 新 Web 基盤のフロントエンドはReact (Next…

Elasticsearchの検索速度低下を調査してEBS Volumeタイプを変更したら高速化できました

こんにちは。NewsPicksでエンジニアをやっております崔(チェ)です。現在は Data / Algorithm チームで検索エンジンの開発を担当しております。この半年間、検索に関しては色々と改善しており、去年までと比較し大きく使いやすくなったのではないでしょうか…

Meet UB Tech #17「ユーザベースの、デザイナーの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #17 のテーマは「ユーザベースの、デザイナーの実態に迫る」です。 今回は、ユーザベースB2B SaaS事業とニューズピックス、それぞれのデザイ…

SageMaker Serverless Inferenceも使っているNewsPicksの機械学習システムの構成を紹介します!

こんにちは。NewsPicksエンジニアの雲越です。 NewsPicksでは、記事のレコメンドを始めとする機械学習を組み込んだシステムがいくつか動いており、中にはAmazon SageMakerを使って実装されているものもあります。 今回はそんなシステムの一つである記事分類…

残業と生産性とリアーキテクチャの効果

はじめに こんにちは、モバイルチームスクラムマスターのko2icです。 NewsPicksのモバイルチームでは、1スプリント1週間で、全てのタスクをストーリーポイントに落としています。たとえば、面接、社内イベントの準備、目標設定やそのフィードバックなどもポ…

Ms.Engineer 主催の寄附講座に登壇し、自身のキャリアと NewsPicks という職場について振り返ってみました

はじめに こんにちは あるいは こんばんは。 NewsPicks の Product Division Web Product Unit のイイダユカコ( @becyn )です。 この度、大変僭越ながらMs.Engineer 様主催の受講生の方々を対象とした寄附講座に参加させていただきました。 株式会社サイバ…

ニューズピックスでのChatOpsによるリリース作業

ニューズピックス SREユニットリーダーの武藤です。私はここ数年は開発環境を近代化するために働いているのですが、最近では新しいメンバーから技術スタックについて「モダンですね」と言っていただけることが増えてきました。技術スタックの更新は最近ニュ…

モバイル開発での技術的負債の解消方法

はじめに こんにちは、@ko2icです。今回はAndroidのアーキテクトとして書きます。 ニューズピックスのモバイル開発は古い技術で古いアーキテクチャをいまだに使っていると思っていませんか?たとえば、Androidは昔のブログでMVPを利用しているとの記述が...…

Elasticsearch の reindex をするために試行錯誤して分かったこと

こんにちは。NewsPicksでエンジニアやっております崔(チェ)です。現在は Data / Algorithm チームで検索エンジン開発を担当しております。弊社は、検索エンジンとして Elasticsearch を Amazon EC2 に乗せて構築しておりますが、メンテナンスに消極的だっ…

Meet UB Tech #14「ユーザベースの、フェローの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #14 のテーマは「ユーザベースの、フェローの実態に迫る」です。 ユーザベースB2B SaaS事業とニューズピックス、それぞれのフェローの皆さん…

「面白い」から人が集まる。1人の思いから始まったNewsPicksアプリのリアーキについて聞いてみた

ユーザベースの開発組織では、The 7 Valuesの1つである「自由主義で行こう」のもと、エンジニアメンバーが自分の意志でリアーキプロジェクトを推進できる環境があります。 技術の進歩や開発組織の拡大とともに、既存のシステムアーキテクチャがフィットしな…

Meet UB Tech #13「ユーザベースの、データサイエンティストの実態に迫る」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #13 のテーマは「ユーザベースの、データサイエンティストの実態に迫る」です。 ユーザベースB2B SaaS事業とニューズピックス、それぞれのデ…

Meet UB Tech #12「ニューズピックス フェローの高山さん、Coursera(コーセラ)のオンライン修士2年目が終わった件」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #12 のテーマは「ニューズピックス フェローの高山さん、Coursera(コーセラ)のオンライン修士2年目が終わった件」です。 現在はニューズピッ…

【イベントレポート】データで振り返るエンジニア組織の生産性向上|【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた

2022年2月4日、ファインディ株式会社が主催するイベント「【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた」がオンラインにて開催されました。 株式会社PR TIMESの金子達哉さんとニューズピックスの高山温が登壇した本セッシ…

Meet UB Tech #11「開発者とSREでNewsPicksの可観測性を考える」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #11 のテーマは「開発者とSREでNewsPicksの可観測性を考える」です。 システムの可観測性を意味する『Observability』。 そのObservability…

Fluent Bitを導入しました:ローカル実行・確認方法と、導入の過程でハマったこと

AlphaDrive、NewsPicks兼務でエンジニアしている大場です。 最近はNewsPicks Webの新基盤開発を行っています。 新基盤はNext.jsで開発していてAWSのFargateで構築しているのですが、このFargate上で取得したログをS3、New Relicに送るためにFluent Bitを導入…

NewsPicks トピックスと投稿機能

1. はじめに 2. トピックスとは 3. トピックスのリリースへ向けてチームで取り組んだこと 3-1. 週1でオンラインでランチしながら雑談をする会 3-2. 新しいコードは全てKotlinで 3-3. 改善案があれば柔軟にやり方を変えてみる 4. トピックス投稿機能 5. おわ…

reCAPTCHA v3をReact Hooksで実装する

こんにちは。 NewsPicks Web Product Unit の芥川(@aku11i)です。 NewsPicks の新Webフロントエンド基盤でNext.js・TypeScriptを使用した開発を行なっています。 今回、プロジェクトに reCAPTCHA (v3) を導入しました。 読み込みタイミングなどパフォーマ…

【登壇情報】2/4「2021年のエンジニア組織のパフォーマンスを振り返ってみた」にNewsPicks Fellowの高山が登壇します

2/4(金) 12:00~13:00 ファインディ株式会社主催の「【NewsPicks×PR TIMES】2021年のエンジニア組織のパフォーマンスを振り返ってみた」にNewsPicks Fellowの高山 温が登壇します。 イベントご案内▼ findy.connpass.com PR TIMESさんと、NewsPicksのFindy Te…

Meet UB Tech #9「ユーザベースのSREについて語る会 〜BtoB SaaS Business × NewsPicks 〜」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #9 のテーマは「ユーザベースのSREについて語る会 〜BtoB SaaS Business × NewsPicks 〜」です。 ユーザベース BtoB SaaS Business Product …

2022年における開発組織のパフォーマンス計測とNewsPicksの取り組みについて

NewsPicksの高山です。 2020年と2021年は「開発生産性」またはほぼ同義の「開発者体験」に注力した2年でした。特に2021年は、自分でも少しウザいぐらいに登壇やブログやインタビューでこの話をしていました。(後半からは「開発生産性」から派生してKotlinの…

サーバサイド開発にKotlinを全面採用! ビヘイビア駆動開発(BDD)をマイクロサービスに導入するNewsPicksが求める開発者体験は?

ソーシャル経済メディアNewsPicksを開発・運営する株式会社ニューズピックスは2021年9月、 これまでサーバサイドの主要な開発言語としてきたJavaに代えて、 Kotlinをメインに採用する方針を明らかにしました。 この挑戦をどのように進めようとしているのか?…

Meet UB Tech #6 「エンジニアのキャリアと組織」を公開しました

こんにちは、Uzabaseの松並です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #6 のテーマは「エンジニアのキャリアと組織」。B2B SaaS事業 執行役員CTOであり、2021年9月よりUB Datatech 代表取締役(CEO)に就任した林…

ネットワークの「ネ」も知らないで開発環境構築しようとしたらどハマりした

こんにちは。NewsPicksのアルゴリズム開発チームの崔(チェ)です。2020年4月新卒入社し、現在は検索エンジン周りの開発に携わっております。今回は、開発環境に必要なインフラを構築しようとしてどはまりしたお話をお伝えしようと思います。もし同じポイン…

Meet UB Tech #5 「寿司オフ会を開催しました!/ withコロナ下のコミュニケーション施策」

こんにちは、Tech Brandingの山田です。 ユーザベースのエンジニアカルチャーを伝えるPodcast、Meet UB Techもついに5回目を迎えました!最初は手探りで進めていましたが、今では社内外からも「聞いてます」の声が少しずつ聞こえてきて嬉しい限りです。 さて…

Meet UB Tech #4 「a11y(アクセシビリティ)とSaaSとNewsPicks」を公開しました

こんにちは、Tech Brandingの山田です。 ユーザベースのエンジニアカルチャーをゆるっとお伝えするPodcast、Meet UB Tech #4 のテーマは「a11y(アクセシビリティ)とSaaSとNewsPicks」。B2B SaaS事業とNewsPicks事業の垣根を超えて、アクセシビリティに興味…

未経験エンジニアの私がインターンからNewsPicksへの入社を決めた理由

はじめに NewsPicksの法人向けサービス開発チームの前表です。今回は、プログラミング未経験者だった私が、NewsPicksにエンジニアとして入社して半年間でやったことやキャッチアップするために工夫したことを振り返りつつ、未経験者ならではの視点からNewsPi…

NewsPicksアプリ開発におけるUIデザイン開発の具体例を紹介します

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 突然ですが、皆様はニュースアプリにおけるアプリ開発ってどんなイメージをお持ちでしょうか。なぜこんな問いかけをするかというと、カジュアル面談や採用面談をしていると、わりとそこそ…

KotlinではじめるBDD

こんにちは。NewsPicksエンジニアの西山です。 9月22日に開催された「Server-Side Kotlin Study #2」に登壇させていただいたので、今回はこちらの内容に関して紹介させていただければと思います。発表資料はこちらです。 speakerdeck.com Server-Side Kotlin…

NewsPicksの一人目QAがこれから頑張る話

自己紹介 6月からNewsPicksのQAエンジニアとして入社した西薗(にしぞの)です。SIerでアプリケーション寄りのエンジニアを6年ほど経験した後、ベトナムのテストベンダーで2年弱、QAエンジニアをやっていました。得意、というか好きな領域はソフトウェアテス…

暗黙的フィードバックのための逐次行列分解ライブラリを公開しました

NewsPicksエンジニアの北内です。今回は、先日公開した協調フィルタリングのための行列分解ライブラリについて紹介します。 ニュースの推薦アルゴリズム 私が所属するアルゴリズムチームでは、アルゴリズムの力でNewsPicksのプロダクトやサービス全体を改善…

デザイナー×フロントエンジニアで追求する最高の開発者体験 の講演について

AlphaDrive、NewsPicks兼務でエンジニアしている大場です。 フロントをメインで開発していますが、AWS CDKやServerless Frameworkを使って環境、リソース、CI/CD構築もしています。 また、最近ではGraphQLの導入のためAppSyncの検証と導入の推進もしています…

JobPicks プロダクトにおける "HTML" との向き合い方について

こんにちは、JobPicks チームにてフロントエンドを担当しております、イイダです。 今回の記事では、Web Client の開発をしていく中で、私達が日頃どういった視点で "HTML" と向き合っているかという話をさせていただきます。 私達は、「表示データをできる…

ユーザーの行動変化を分析し、プロダクトの成長を促すNewsPicksのプラットフォームチーム

2013年9月のサービス開始からまもなく8年が経過しようとしているNewsPicks。ユーザー数の増加に伴い、アプリの使い方も多様化しています。そうした行動変化を分析して機能開発を行っているのが、プラットフォームチームです。 プロダクトのさらなる成長フェ…

Page top