TECH PLAY

株式会社ユーザベース

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

476

こんにちは。Product Team の竹原です。 みなさん Dockerfile 書いてますか? 私たち Product Team では全アプリを Docker コンテナ内で動かしているので、すべてのアプリに対して Dockerfile を書いてます。 とはいえ、私は最近まで「コンテナ内でアプリが動くこと」以外に Dockerfile の書き方についてあまり意識を向けていませんでした。 強いて言えば「レイヤーが増えすぎないように RUN 命令はまとめる」といった、ちょっとかじった程度のベストプラクティスを思い起こす程度でした。 そんな中、最近 Dockerfile にちょっとした工夫をするこ…
アバター
こんにちは、Uzabaseエンジニアの斎藤です。 私たちの開発しているプロダクトでは、最近 Rust を使うことが増えてきました。 今回はそんな Rust の開発の効率をアップさせる Clippy の紹介です。 既に知っている方も多いかもしれませんが、もし「まだ使ってない」という方がいれば是非試してみてください! 開発チーム情報 Clippy とは Clippy の導入 Clippy の効果 まとめ 開発チーム情報 使用頻度 : 導入後はClippyから指摘されている部分のあるファイルを触る度に修正している メンバーのRust使用歴 : 3ヶ月〜半年 Clippy とは Rust の標準の l…
アバター
この記事は、The Composable Architecture Advent Calendar 2022 12/20の記事です。 qiita.com iOSエンジニアの金子です。 以前の記事でReducerProtocolが導入された背景について説明しましたが、今回はReducerProtocolになることでかなり便利になったDI周りについてご紹介したいと思います。 tech.uzabase.com これまでの課題 @DependencyプロパティラッパーによるDI テストやXcodeプレビューのサポートもされている 依存のテスト・プレビュー用の実装 依存の設計 マルチモジュール構成におけ…
アバター
はじめに ABテストの流れ ABテスト基盤の仕組み 様々なユースケースに対応する 管理画面のローコード化 おわりに はじめに こんにちは!NewsPicks Business Growth のアダチ(@dikxs118)です。 NewsPicks Advent Calendar 2022 の最終日を担当させていただきます! qiita.com Business Growth ではLTVの最大化を目的として、様々な取り組みを行なっています。 その一つにABテストがあり、その実現方法として基本的には下記の二つを状況によって使い分けています。 外部サービスである Braze NewsPicksで独自…
アバター
こんにちは。AlphaDrive アプリケーションエンジニアの芥川です。弊社では選考フローにモブプロ形式のライブコーディング面接を取り入れています。この記事では面接官として意識していることを紹介したいと思います。主に「進め方」「フィードバック」「評価観点」について話します。これから弊社の採用を受けようとしている方はもちろん、採用に携わっていてコーディング面接を導入・検討している方にも参考になればと思います。
アバター
NewsPicks Advent Calendar 2022 12/23 公開分の記事です。AlphaDrive及びNewsPicksで取り入れているモププロ型のライブコーディング面接が「候補者体験」と「内定承諾率」両方の向上につながった事例について紹介しています。
アバター
はじめに 参加した背景 インターンを始めて 挫折 オフライン出社とイベント 現在 これから はじめに 初めまして。AlphaDriveのインターン生の佐藤匠と申します。 今回は、AlphaDriveのエンジニアインターンに参加させて頂いて半年以上経ったので、長期インターンに参加した背景やインターン内容についてまとめたいと思います。 本記事は、2022年度インターンシップ体験記 Advent Calendar 2022の23日目の記事です。 qiita.com 参加した背景 他社さんのインターンシップに参加した際に優秀な参加者の多くが実務経験を積まれていたことを知り、 自分もエンジニアの長期イン…
アバター
はじめまして! AlphaDriveでエンジニアをしている、神と申します! 今回は、SWRで再検証を行うタイミングを制御する方法についてご紹介したいと思います! この記事で伝えたいこと 背景 実装してみる 詰まった箇所 解決策: 関連するキャッシュのみ削除する まとめ 最後に この記事で伝えたいこと SWRは、キャッシュを削除することで再検証を行うタイミングを制御できるということ 関連する複数のkeyのキャッシュを同時に削除する方法 背景 弊チームではRedux + Redux Sagaを使用していましたが、リアーキテクチャの一環としてSWRへの置き換えを進めています。 そういった中で、データ…
アバター
はじめに 結果から発表 何をしたか 計測方法 計測の結果わかったこと 解決方法 起動時のActivityを極力減らす 情報のライフサイクルによってAPIを分割する どう進めたか 新しい方式と古い方式でのキャッシュを同期させる Adaptorをかます 副次的効果 終わりに はじめに 本記事は、NewsPicks Advent Calendar 2022 の 12/22 公開分の記事になります。 こんにちは、Androidチームのアーキテクトのko2icです。 久しぶりの投稿でございます。 なぜ久々なのかというと、ここ数ヶ月Androidの起動時間を爆速にすべく、奮闘していたからです。 そしてなぜ…
アバター
本記事は、NewsPicks Advent Calendar 2022 の 12/19 公開分の記事になります。 はじめまして、11月からAlphaDriveにJoinし、Webアプリケーションエンジニアをしている畠山(keyamin)です。 今回は、Goで関数のオプション引数を実現するための方法を紹介しようと思います! お題 別言語での実装例 Goでの実装方法を考える 使われそうなパターン分のファクトリー関数を作る オプション構造体を用意する ビルダーを利用する Functional Optionパターン まとめ お題 コーヒーショップを題材に、コーヒーインスタンスを作成するプログラムを考え…
アバター
本記事は、NewsPicks Advent Calendar 2022 の 12/18 公開分の記事になります。 NewsPicks Web Reader Experience Unit でフロントエンドエンジニアをしているじゆんきち(@junkisai)です。 弊チームでは、ここ1年間くらいWeb 版のNewsPicksを新しい基盤に置き換えつつ、見ためも刷新するプロジェクト(以下リニューアルプロジェクト)を進めています。 Web 版 NewsPicks は、jest でロジックの単体テスト、コンポーネントのレンダリングテスト、 a11y テストを Github Actions 上で実行して…
アバター
この記事は、NewsPicks Advent Calendar 2022 の 17 日目の記事になります。 qiita.com こんにちは。AlphaDrive で Web アプリケーションエンジニアをしている fmatzy です。普段は主に Go でバックエンドの開発を行なっています。 現在新規開発中のプロダクトにて、パスワードログインの導入に Keycloak を利用しました。社内ではすでに Keycloak の導入事例があり、かなり参考にできる環境が整っていました。一方で Keycloak 自体は近年 WildFly から Quarkus に移行し、公式含め技術情報が outdated …
アバター
初めまして、AlphaDriveでWebアプリケーションエンジニアをしている水埜と申します。 本記事は、NewsPicks Advent Calendar 2022 の12/16 のブログとして記載させていただいています。 この記事でお伝えしたいこと 何が問題だったのか? どのように改善していったか? 1. OpenAPIを導入 2. リクエスト、レスポンスのTypeScriptの型を自動生成 3. パラメータのバリデーションを導入(予定) 4. 実際のレスポンスが定義通りかチェックするテストを自動生成(予定) まとめ この記事でお伝えしたいこと コードと分離したドキュメント(Excel)とし…
アバター
はじめまして、AlphaDriveのWebアプリケーションエンジニアの堀と申します。 本記事は、NewsPicks Advent Calendar 2022 の15日目のブログとして記載させていただきました。 はじめに 組織情報とは 組織を構成する要素(マスタ) 社員の所属情報 組織情報の何が複雑なのか? 階層構造 主務・兼務 履歴 組織情報の何をどこまで扱うべきなのか? 何を軸に考えるか? 組織情報を利用しうる機能 検索・照会 セキュリティ・権限制御 集計処理 組織情報のメンテナンスとトランザクションデータとの整合性 最後に はじめに 最初にこのタイトルで記事を書こうと思った経緯について記載…
アバター
本記事は、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…
アバター