TECH PLAY

株式会社ユーザベース

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

482

本記事は、NewsPicks Advent Calendar 2022 の 12/14 公開分の記事になります。 こんにちは。NewsPicks SREチームの 海老澤 です。 今回は iOSのE2Eテストを実機で動かす上でのインフラ周りの設定方法を紹介しようと思います。 課題 構成図 詳細 cdk Mac側の処理 結果 課題 NewsPicksではサーバーリリース時に Firebase Test Labで iOSのE2Eテストを実行していました。 Firebase Test Labは時間帯(夕方くらいになると混んでくる傾向)によってはテスト開始が遅い場合があり、リリースサイクルを高速化するた…
はじめに AlphaDriveに出会うまでの背景 出会ったきっかけ インターン開始! 念願のオフライン出社 これから はじめに 初めまして。広島大学の4年の田川裕介(@t_yusuke_jp)と申します。 この度はAlphaDriveでエンジニアインターンをさせていただいて半年が経ちましたので、きっかけやこれまで経験できたことなどを紹介したいと思います。 この記事は2022年度インターンシップ体験記 Advent Calendar 2022の14日目の記事です。 https://qiita.com/advent-calendar/2022/internship-report この記事を通してA…
この記事は、The Composable Architecture Advent Calendar 2022 12/13の記事です。 qiita.com iOSエンジニアの金子です。 8月末から約3ヶ月間育休を取得していまして、最近復帰しました。 僕が育休で仕事から離れて家族との時間を楽しんでいる間、TCAで大幅なアップデートがリリースされ、復帰してからはそのキャッチアップに必死の毎日です...! TCAの利用体験が大きく変わる直近の大幅アップデートには、主に以下の2つが含まれています。 Swift Concurrencyのサポート ReducerProtocolの導入 これまでTCAはCom…
5年間、配信の安定化および人手を最小化するためにシステムの改善を続けてきました。当初は動画配信中にエンジニアが待機していましたが、2020年ごろより、エンジニア待機無しで配信をしています。2022年 現在、主にAWSのMediaServices を使った構成になっています。今回は配信形式ごと(ユースケースごと)にどのような仕組みになっているかご紹介させていただきます。
はじめに NewsPicks のプッシュ通知について プッシュ通知事前テストの導入 構築した基盤の概要 Braze の設定 導入結果 おわりに はじめに こんにちは、NewsPicks エンジニアの佐藤と申します。 NewsPicks Advent Calendar 2022 の11日目を書かせていただきます。 qiita.com 本記事では、2022年秋頃から導入しているプッシュ通知事前テストについてご紹介できればと思います。 NewsPicks のプッシュ通知について NewsPicks では、毎日決まったタイミングに配信する定時プッシュと緊急度の高い情報を含むコンテンツを不定期に配信する…
はじめに Translating Embeddings for Modeling Multi-relational Data 固有表現抽出のサーベイ Confident Learning BERT CRF Model Evaluation, Model Selection Human-in-the-Loop Active Clean 巨大言語モデルのプロンプトエンジニアリング Algorithm Selection ヘフティングの不等式を用いた適切なテストデータセットサイズの決定 おわりに はじめに こんにちは、Uzabase Saas Product Teamの野中です。今年の5月からUza…
初めまして、アプリケーションエンジニアの杉浦(saba_can00)です! 本記事は、NewsPicks Advent Calendar 2022 の12/7 のブログとして記載させていただいています。 この記事でお伝えしたいこと ざっくり状況の説明 プロダクトを内製化がスタート 引き取った際のLocal環境のセットアップの状況 なぜ、そんなに時間がかかっていたのか? どのように改善していったか? 1. セットアップドキュメントを新しく更新 2. Dockerを利用して、Local環境にミドルウェアを導入するように改善 3. Nodeのversionを.node-versionにより統一 4.…
NewsPicks のエンジニア採用に関する取り組みと、そこから得た学びについて共有します。
こんにちは、NewsPicks サーバーサイドエンジニアの池川です。 NewsPicks Advent Calendar 2022 の 3 日目です。 qiita.com 昨日は、 Virtual Muto さんによる 2 日目の記事で、感想などを書きたいところですが、実は本記事を 11 月末に書いているので、当日のお楽しみにしたいと思います。 本題ですが、NewsPicks では、もともと Java で書かれていたサーバにおいて、Kotlin を全面的に採用しており、現在では Kotlin を変更しない PR はないのではというほど、 Kotlin 開発が浸透しております。 この状態を達成す…
Product Team SREのkterui9019です。 Elastic Cloud on Kubernetes(以後ECK)をご存知でしょうか? Elastic stack(Elastic Search等)を、kubernetes上に展開するためのoperatorなのですが、弊社では今年から段階的にGCEで構築していたESクラスタをECKでリプレイスを進めています。 元々特定のマイクロサービスとのみ通信する小さめのESクラスタが複数個GCE上に存在していたのですが、今年に入ってから円安の影響で無視できないコストとなっていました。 ECKであればkubernetesクラスタ上でElasti…
このブログは NewsPicks Advent Calendar 2022 2日目の記事です。 qiita.com こんにちは。むとうです。 プログラミングって難しいですよね。昔スゴーク頑張って何十行も書いたコードをベテランの人に一行に直されて、衝撃が走ったことを覚えています。手練との歴然とした力の差を見せつけられる、みなさんもそういう経験があるのではないでしょうか? 私はかれこれ20年近くプログラミングを教えてきており、人のコードの書きっぷりを見て「これを身につければもっといい感じにできるのに」と感じることも増えてきました。そういう技は決して難しいものばかりではありません。誰でもすぐに身につ…
このブログは NewsPicks Advent Calendar 2022 1日目の記事です。 qiita.com NewsPicksのSREチームでリーダーをしている安藤です。 NewsPicksに入社して1年が経ちましたが、最近は円安により親の顔よりもAWS Cost Explorerを見る毎日です。 ということで、コストの話をしていきたいと思います。 NewsPicksでのコンテナ移行について ECS on EC2とは? コンテナの実行環境としてFargate or EC2を選択する時の評価基準 実際、Fargateはどれだけ割高なの? CPU性能の比較 コンピューティング料金の比較 パ…
こんにちはNewsPicks SREチームのエドウィンです。 NewsPicksが提案した「「最高の開発者体験」への挑戦 〜Amazon ECSによる全面コンテナ化の軌跡〜」というテーマが「AWS Dev Days Japan 2022」の発表テーマとして選ばれました。 「AWS Dev Day」はAWSさんが開催する「開発を牽引するエンジニアのためのテクニカルカンファレンス」です。 今回の「AWS Dev Day Japan 2022」は2022年11月8日から2022年11月12日の間に開催されて、NewsPicks SREチームリーダー安藤裕紀さんとDay 1の15時のセッションで発表し…
こんにちは!SaaS Product Team(UzabaseのB2B SaaS事業を開発するチームのこと)のイベントチームの炭谷、田中です。2022年10月にSaaS Product Team全体でキックオフを行いました。今回の記事はそのイベントレポートとなります。 キックオフは毎年上期と下期の初めにリモートで開催しているのですが、今回のキックオフでは新型コロナウイルス対策を考慮しつつオフィスで開催することになりました。 キックオフとは プログラム1: プロダクト全体の絵を描く プログラム2: リアル版テックフォーラム プログラム3: CTO稲垣さんと話そう キックオフを開催してみて Saa…
こんにちは! NewsPicksの法人向けサービス開発チームの森です。 2022年11月6日(日)に開催された「Acaric Career Cafe -理系女性限定 vol.3-」に文字さん、赤澤さん、飯田さん、森の4名で参加し、学生の皆様とお話させていただきました。 acaric.jp 今回は学生の皆様とお話して盛り上がったトークを本ブログでシェアさせていただければと思います! なぜエンジニアになりましたか? 参加者は女性のみのイベントだったこともあり、ダイバーシティ関連のお話も! こんな相談も受けました その他の制度などのご紹介 さいごに なぜエンジニアになりましたか? 様々な専攻の学生の…
はじめに 本題 Javaクラスの一部をKotlinで書く おわりに はじめに みなさんこんにちは!NewsPicks Growthチームの アダチ (@dikxs118)です。 NewsPicksではサーバーサイドの開発にKotlinの導入を推進しており、新規で書くコードは全てKotlin、既存のコードでもJavaで書いてあるものを随時Kotlinに書き換えています。 Kotlinを使うからには、「日本一使いこなせている!」と言えるまでに高められるよう、日々勉強会や、外部カンファレンスへの登壇を積極的に行なっています。 その成果もあって、社内での知見も溜まってきておりKotlinをはじめたての…
こんにちは。NewsPicksの崔(チェ)です。文系から情報系の大学院に進学し、NewsPicksにエンジニアとして新卒入社しました。現在は Data / Algorithm チームに所属しております。約1年前から検索エンジンの開発などを担当することになり、テックブログにもいくつか記事を書かせていただきました。今年の上半期に書いた「Elasticsearch の reindex をするために試行錯誤して分かったこと」をもとに、「第50回Elasticsearch勉強会」で初めての社外発表をしてきました。 tech.uzabase.com 今回はそのレポートを書いてみようと思います。新卒としてエ…
こんにちは。NewsPicks SREチームの 海老澤 です。 今回はGithub Actionsで実行していたテストを高速化したので紹介したいと思います。 課題 取り組み テストの並列化 AWS CodeBuildへの移行 CodeBuildの設定 コンピューティングタイプ トリガー buildspec.yml 結果 課題 NewsPicksでは Junitのテスト等をGithub Actions から実行しているのですが、2013年のサービス開始当初から存在する、一番コードベースが大きいリポジトリのビルド・テストの実行時間に 20~30分ほどかかっていました。 テスト自体はバグを産まないた…
こんにちは。Product Team の竹原です。 先日、社内用の小さな Web アプリを追加開発する機会がありまして、その際に CI/CD パイプラインの作成も行いました。 CI/CD パイプライン構築のために Argo Workflows を使ってみたところ非常に感触がよかったので、感想などを記載しておこうと思います。 ※ 今回は概要の紹介程度となります。実際に作成したワークフローはまた次回ご紹介します。 Argo Workflows とは 公式のワークフローサンプル Argo Workflow ならではの便利さとか工夫とか 利用するツールや動作環境のバージョンをコントロールしやすい Ku…
こんにちは、SaaS Product Teamのasanoです。 業務でF#を使って開発を行ったのですが、そこで判別共用体の便利さを実感したので紹介したいと思います。 判別共用体とは 判別共用体の使用例 判別共用体を使用するメリット まとめ 判別共用体とは 判別共用体(discriminated unions)とは、F#で使用される型の一種です。 TupleやRecordが型の積集合を表すのに対し、判別共用体は型の和集合を表し、定義したパターンのうちいずれかのパターンを取ることができます。 以下、Microsoft公式ページからの引用です。 判別共用体は、数多くの名前付きケースのうちのいずれか…