株式会社ユーザベース
フォロワー 9人

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

最近Clojureでテストを書くときに使っているライブラリをふたつ紹介します

こんにちはこんにちは!!あやぴーです。 最近の仕事ではF#を使ったり、Clojureを使ったりすることが多いのですが、今日は久しぶりにClojureの話を書きます。 Clojureでテスト書くときに一緒に使うライブラリ何使ってますか? テスト対象が依存する関数をモックしたい - mockfn 複雑なデータ構造のdiffを簡単に知りたい(あるいはデータ構造の比較を簡単にやりたい) - matcher-combina

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

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

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

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

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

NewsPicksの高山です。 NewsPicksではちょうど1年前の2021年8月に、サーバーサイド開発言語をJavaからKotlinに切り替えていく決断をしました。 今では社内でも最も歴史のある2つのシステムがKotlinでも書けるようになり、置き換えも徐々に進んでいっています。一般的な社内のサーバーサイドエンジニアはKotlinとJavaを半々ぐらいの割合で書いているような印象です。 tech.uzabase.com

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

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

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

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

stringerの出力コードに見る、Go言語の奥深さ

はじめまして。AlphaDrive Product Division の fmatzy です。 AlphaDrive では、新規プロダクトの開発に Go を採用しています。 Go はシンプルな言語機能によって高い生産性を実現するという思想の言語です。本ブログでは、Go のシンプルな言語機能ゆえの奥深さに感動した話を紹介します。 Go における enum (っぽいもの) を実現する仕組み stringer で出力されるコードの奥深さ おわりに

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

皆様はじめまして! NewsPicks SREチームの中川です。 本日はコンテナイメージのバージョン管理についての記事をお届けします。 概要 実装 ビルド デプロイ Pros Cons おわりに 概要 NewsPicksではECSやKubernetesに代表されるコンテナサービスを使用しておりますが、コンテナのデザインパターンとしてサイドカーパターンを採用しているサービスがあります。 詳しい説明は省きま

newrelic/nextを使ってNext.jsプロジェクトにNew Relicを導入する

こんにちは。AlphaDrive フロントエンドエンジニアの aku11i です。 Next.js で開発中のプロジェクトに New Relic APM / Browser を導入しました。 実は前にも対応したことがあったのでこれで2度目ですが、改めて調べ直したところ @newrelic/next というパッケージが新しく公開されていました。 Node.js エージェントをそのまま使う方法に比べて確認できる情報が増えるなどメリットがあり

イベントレポート「NewsPicksでのモバイルアプリの技術的負債解消方法 - TechBase vol.2」を開催しました!

こんにちは。ユーザベース TechBrandingチームです。 2022年7月28日(木)にオンラインイベントイベント「NewsPicksでのモバイルアプリの技術的負債解消方法 - TechBase vol.2」を開催しました。弊社のNewsPicks アプリ開発チーム リーダー 石井 幸次 (@ko2ic)と、株式会社ニューズピックス Product Division iOSアプリエンジニア 金子 雄大 (@takehilo_kaneko)が登壇しました。 当日は100名以
iOS

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

はじめに タスクについて 実装までの流れ 1. 採用するに相応しいインメモリDBがどれかを調査して決定する 2. インメモリDB向けにデータを初期化するプログラムを開発する 作ったもの 3. テストコードを書く 4. テストコードをリファクタリングする 4-1. SessionFactoryを切り出す 4-2. restoreを抽象化して切り出す 4-3. transactionの処理をスッキリ書く 4-4. contextを用いてテストケース

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

NewsPicksの高山です。 今回は、AWSのコストを我々がどのように定点観測しているかを書いていきます。 あわよくば他社さんも事例を広く共有してもらえて業界全体の共有知が増えることに繋がってほしい狙いがあります。 NewsPicksでは過去2年ぐらいかけて地道にコストモニタリングのオペレーションを作ってきました。手法としては、毎週コストモニタリング担当のメンバ
AWS

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

はじめに arrow.core.Eitherとは arrow.core.Eitherのサンプル arrow.core.Eitherの生成方法 1. Any#left / #right 2. Either#fx arrow.core.Eitherの利用方法 arrow.core.Eitherに関するまとめ Kotlinソースをデコンパイル 2回呼ばれる#bindメソッドの謎 caseブロック間の比較 コードリーディングのまとめ ブログのまとめ はじめに はじめまして、NewsPicks App Product Unitの池川(いけがわ)と申します。 2022年5月から今

誰もがエンジニアリングを楽しめる世界を目指して。親子で楽しむプログラミング教室を開催しました!

ユーザベースでは、「エンジニアリングを起点に、誰もがビジネスを楽しめる世界を実現したい」という想いから、2022年4月より「Play Engineering」というプロジェクトを推進しています。 このプロジェクトでは、エンジニアではない職種のメンバーも楽しくエンジニアリングを学べる研修の実施や、保有するエンジニアリングスキルのレベルによって手当が支給される制度

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

こんにちは。NewsPicks Androidアプリエンジニアの sefwgweo です。 今回はタイトル通りAndroidにおけるSearchViewのUIをMVVMでCustomした話をします。 なお、SearchViewの検索機能に関しては一切触れておりませんので予めご了承ください。 要件 苦労ポイント まとめ おわりに 要件 ユーザ属性に応じて、ツールバー及びSearchView内の各パーツごとの色が動的に変更されてほしい 色及びその