NewsPicks

Kotlin 知見共有会 ー 社内勉強会を継続させるための工夫

こんにちは、NewsPicks サーバーサイドエンジニアの池川です。 NewsPicks Advent Calendar 2022 の 3 日目です。 qiita.com 昨日は、 Virtual Muto さんによる 2 日目の記事で、感想などを書きたいところですが、実は本記事を 11 月末に書いているので、当日…

それKotlinなら5行でできるよ

このブログは NewsPicks Advent Calendar 2022 2日目の記事です。 qiita.com こんにちは。むとうです。 プログラミングって難しいですよね。昔スゴーク頑張って何十行も書いたコードをベテランの人に一行に直されて、衝撃が走ったことを覚えています。手練と…

AWS FargateではなくECS on EC2を選ぶメリット〜コスト編〜

このブログは NewsPicks Advent Calendar 2022 1日目の記事です。 qiita.com NewsPicksのSREチームでリーダーをしている安藤です。 NewsPicksに入社して1年が経ちましたが、最近は円安により親の顔よりもAWS Cost Explorerを見る毎日です。 ということで、コ…

AWS Dev Day Japan 2022に登壇しました

こんにちはNewsPicks SREチームのエドウィンです。 NewsPicksが提案した「「最高の開発者体験」への挑戦 〜Amazon ECSによる全面コンテナ化の軌跡〜」というテーマが「AWS Dev Days Japan 2022」の発表テーマとして選ばれました。 「AWS Dev Day」はAWSさん…

既存のJavaクラスの一部をKotlinへ移行するにはどうする??

はじめに みなさんこんにちは!NewsPicks Growthチームの アダチ (@dikxs118)です。 NewsPicksではサーバーサイドの開発にKotlinの導入を推進しており、新規で書くコードは全てKotlin、既存のコードでもJavaで書いてあるものを随時Kotlinに書き換えています…

新卒エンジニアとして入社し、「第50回Elasticsearch勉強会」で初めて社外発表してきました

こんにちは。NewsPicksの崔(チェ)です。文系から情報系の大学院に進学し、NewsPicksにエンジニアとして新卒入社しました。現在は Data / Algorithm チームに所属しております。約1年前から検索エンジンの開発などを担当することになり、テックブログにもい…

ユニットテストをGitHub ActionsからCodeBuildに移行し、実行時間を35%削減した

こんにちは。NewsPicks SREチームの 海老澤 です。 今回はGithub Actionsで実行していたテストを高速化したので紹介したいと思います。 課題 NewsPicksでは Junitのテスト等をGithub Actions から実行しているのですが、2013年のサービス開始当初から存在す…

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

こんにちは。ユーザベースグループ 技術広報チームです。 この度、株式会社ニューズピックス (以下、NewsPicks) は、Findy Team+ Award 2022 を受賞致しました。 受賞内容について Findy Team+ は、エンジニア組織のパフォーマンス向上を支援するサービスで…

GitHub Actions / GitHub CLI を使った PR レビューをサポートする取り組み

NewsPicks でサーバーサイドエンジニアを務めている池川です。 サービス運営をされている会社さんであれば、どの会社さんでも何らかの障害を起こし、その対策のための MTG を実施されていると思います。 が、サービスを長く運営していると、過去に発生してし…

安全安心の開発体験のために Visual Regression Testing はじめました。

NewsPicks Web Experience Unit でフロントエンドエンジニアをしているじゆんきち(@junkisai)です。 弊チームでは、ここ1年間くらいWeb 版の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…

Page top