TECH PLAY

株式会社ユーザベース

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

476

こんにちは!こんにちは!SPEEDA開発チームのあやぴーです。 社内のClojureを使ったAPIにおいて、「例外をうまくハンドリングしたいんだけど…」という話が出てきたので、今回はRingアプリケーションにおける例外のハンドリング方法について解説します。また、昨今Ductを使ってアプリケーションを作る機会が増えているので、それについては最後の方に解説をします。 また具体的なコードはGitHubにあるので、参考にしてみてください。 https://github.com/ayato-p/exception-handling この記事で解説する具体的な内容については以下の通り 例外のハンドリングに…
アバター
はじめに こんにちは! UZABASE SPEEDA SRE teamの生賀です。 最近あった嬉しかったことは、自分が翻訳した日本語がkubernetesのCronJob - Kubernetesページに反映されていたことです。 閑話休題、弊社SPEEDAサービスでは大量のバッチジョブがHinemosを起点としてVM上で動作しています。 SREチームではこのようなジョブ群を徐々にサーバから切り離して、コンテナライズを進めています。 そんな大量にあるジョブですが、環境変数だけが異なっているものも多数あり、実行環境 x 環境変数と環境が異なると掛け算式に増えていきます。 これをkubernetes…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 9/26・27の2日間、ニューヨークで行われたAWWWARDSカンファレンスに参加しました。 最前線で活躍するクリエイターたち合計24社のキーノートは大変刺激的でした。2020年1月に開催予定の東京で参加される方はもちろん、海外のクリエイターたちがどんなことを語るのか気になるというみなさまにも、その一部をお届けできればと思います。 カンファレンス1日目のスピーカーとトーク…
アバター
こんにちは!SPEEDA開発チームの斎藤です。 先月9月21(土)に開催された開発者向けイベント「XP祭り」は皆様ご存知でしょうか。 今回は運営メンバーとして「XP祭り」に関わり、思いきりお祭りを堪能した私の視点から 運営ってどんなことしてたの?(大変なの?) 運営側だとどんな楽しいことがあるの? といったことについて少しだけ語らせていただき、 イベントを創る側の魅力や楽しさが伝えられればと思います。 XP祭りとは? XP祭りの運営ってどんなことやるの? XP祭りの運営ってどんな楽しいことがあるの? 終わりに 謝辞 XP祭りとは? 毎年9月ごろに開催されるソフトウェア開発者向けの技術イベントで…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 ニューヨークで開催された『AWWWARDS conference 2019』に参加してきました。 世界最大級のWebデザインアワード「AWWWARDS」 世界最先端のデザイナーが集結 DAY1(Sep.26) DAY2(Sep.27) まとめ 世界最大級のWebデザインアワード「AWWWARDS」 AWWWARDSカンファレンスは、世界最大級のWebデザインアワード「AW…
アバター
こんにちは!!SPEEDA開発チームの岡村です!! 私たちの開発チームでは、先日チームメンバの野口が書いたこちらの記事に書かれているように、チームメンバーの入れ替えが頻繁に行われます。 かく言う私も一ヶ月前に行われたチームシャッフルで、ClojureでDuctを使って開発を行うチームに移動しました。(Clojureほぼ未経験) 私がClojure初心者だからこそ、これからClojureとDuctを始めて見ようかなと思っている方に対し、お伝えできることがあると思い、今回はDuctでWebAPIを作成する方法をご紹介しようと思います。 Ductとは 作成物 プロジェクト作成 システムの起動 マイグ…
アバター
こんにちは!SPEEDAプロダクト開発チームの成です。 去年の秋ごろからRustを触り始め、徐々にRustの魅力に惚れられました。 最初は日々コンパイラーにボコボコにされていましたが、 The Book *1 を読みながら、Rustを少しずつ理解していくと、段々コンパイラーと仲良くなってきて、Rustを書くのも楽しくなりました。 小さいな作業効率化のツールから、Rest Api Server、色んな処理を並列化するBatchなどをRustで作ってきました。最近プロダクトのマイクロサービスの極一部もRustで作っており、幸せ感満喫です!! 本日は、HTTPリクエストを並列化するときハマったことを…
アバター
こんにちは!SPEEDA開発チームの岩見です。 この記事では私たちSPEEDA開発チームの中でも特徴的な文化のひとつとなっている、ふりかえりについてご紹介します。 以下のような方々のお役に立つことを願っています。 自分たちのチームでもふりかえりをやってみたい方 ふりかえりはやってるけどなんだかマンネリ化している方 色々なふりかえりの運用、実例が知りたい方 SPEEDA開発チームにおけるふりかえり SPEEDA開発チームのふりかえりの特徴 SPEEDA開発チームにおけるファシリテーターの役割 議論しやすい場の設定 アクティビティの選定を含めた全体の進行 ファシリテーターを置くメリット ファシリテ…
アバター
こんにちは!SPEEDA プロダクト開発チームの板倉です。 前回は、テスト環境(appium + gauge + kotlin)のセットアップについて書きました。 appiumを使ってモバイルアプリのテストを自動化する ~環境構築まで~ - Uzabase for Engineers 今回は、実際にアプリのテストをどう書くのかについて書いていこうと思います。 テスト対象のアプリ テストを書く Spec, Scenario, Step Stepの実装を書いていく Appium Desktop 確認してみる さいごに テスト対象のアプリ 今回はAndroid StudioでBasic Activi…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:masahide318によって書かれました。 NewsPicksエンジニアの高畑です。 9/22に池袋で開催される技術書典7にてNewsPicksのエンジニア有志が今回初出展することになりました。 配置場所は「い12C」となっております。画像の緑色の部分です。 サークルのチェックはこちらからおねがいします。 なぜ出展することになったのか NewsPicks Tech Book Vol1. について さいごに なぜ出展することになったのか もともと個人で何度か出展していたのですが…
アバター
こんにちは!SPEEDA プロダクト開発チームの板倉です。 前回書いた時はNewsPicksの開発をしていましたが、今はSPEEDAの開発をしてます。 SPEEDAのプロダクトチームでは、以下の記事のようにE2EをGaugeとKotlinを使って書くことが多いです。 Gauge Test Automation Toolとアジャイル開発 - Uzabase for Engineers GaugeのConceptを用いてテストシナリオをより仕様書のように記述する - Uzabase for Engineers GaugeのParameterを使いこなす - Uzabase for Engineer…
アバター
7 月から SPEEDA 開発チームに参加しました、野口です! SPEEDA 開発チームでは、XP のプラクティスを大きく取り入れて日々の開発を進めています。 私は入社前から XP やスクラムのようなアジャイル開発手法とその考え方には慣れ親しんでいたのですが、SPEEDA 開発チームに参加してみて、ユニークだなと感じたことがいくつもありました。 この記事では、SPEEDA 開発チームで私が特にユニークだと感じた 3 つのことについて紹介します。 おことわり その 1: チームのメンバーを「安定させない」 その 2: 属人化を防ぐためにドキュメントを「残さない」 その 3: 担当者を「明確にしな…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 こんにちは! NewsPicks エンジニアの文字と大川です。先日から QCon NY 2019 のレポートを順次お届けしていますが、お楽しみ頂けているでしょうか? tech.newspicks.com tech.newspicks.com tech.newspicks.com tech.newspicks.com 今回は 2 日目に私たちが参加したセッションについて、簡単にご案内します。2 日目のセッションについても後日記事化していきます…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:satorishによって書かれました。 今回は、QCon NY 2019 初日に行われた、 Time Predictions in Uber Eats セッションの参加レポートです。登壇者は Uber Eats から Zi Wang さんです。 概要 料理完成時間予測の難しさ 料理完成時間予測の工夫 1. 特徴量エンジニアリング (Feature Engineering) 特徴量1: 過去データ 特徴量2: コンテキストデータ 特徴量3: 直近のデータ 特徴量4: 表現学習 (…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 NewsPicks エンジニアの文字です。こんばんは。 今回は QCon NY 2019 のセッション「Driving Technology Transformation at WeWork」の参加レポートをお届けします。 セッション紹介 WeWork とは? WeWork の現状 なぜテクノロジーが必要か? 初期のテクノロジースタック 1. 開発基盤 メトリクスの定義 2. データエコシステム アーキテクチャ データの民主化への取り組み …
アバター
SPEEDAの開発チームの石橋です。 最近ではマイクロサービスでプロダクトを開発することが多くなってきていると思います。 そういった状況の中でマイクロサービスのテスト、特に異常系のテストをするコストがやや高いという話を何度か耳にしました。 本記事ではIstioのFault Injectionで「エラーが発生する」、「処理に時間がかかる」などの異常系のテストを容易に実現する方法を紹介します。 異常系のテストをする際の課題 環境構築 Gateway Service Deployment DestinationRule VirtualService Fault Injection Injecting…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:satorishによって書かれました。 今回は、QCon NY 2019レポート(Day 1)で予告した ML for Data Systems セッションの参加レポートです。登壇者は Google Brain SIR から Alex Beutel さんです。 コンピュータの基礎アルゴリズムである 木構造 や ハッシュテーブル は、古典的で安定した理論である一方、昨今のコンピュータ計算資源の潤沢化に伴うような急進的な技術発展は見られていません。このセッションは、機械学習をデータ…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 NewsPicks エンジニアの @monzou です。こんばんは。 前回の投稿から随分間が空いてしまいました。QCon NY 2019 のセッション「Scaling Slack Infrastructure」の参加レポートです。 セッション内容 2015 年:フェーズ 0 2016 年:フェーズ 1 2017 年:フェーズ 2 2018 年 〜 現在 所感 あわせて読みたい セッション内容 登壇者は Slack の Senior Dire…
アバター
こんにちは!こんにちは!SPEEDA開発チーム(通称PDT)に所属しているあやぴーです。 弊チームでは新しいモノを開発するときに、よくClojureという言語が採用されています。だいたい言語別でシェア2位といったところでしょうか。1位はみんな大好き(?)Kotlinで、こちらはサーバーサイドでの利用が主になっていて、次にE2Eのテストコードを書くときに良く利用されています。 今日はそんな弊チームでよく使われているClojureについて、Clojure 1.10.x時代の新しいデバッグツールをお伝えできれば良いなと思い、この記事を書こうと思った次第です。 大きなデータ構造を簡単に把握したい Co…
アバター
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 こんにちは!NewsPicks エンジニアの文字と Quartz エンジニアの大川です。6/24 からニューヨークで開催されている QCon NY 2019 に参加しています。今日から数回に分けてこちらのカンファレンスの参加レポートをお届けしようと思います。 QCon NY は 3 日間のセッション・2 日間のワークショップがあるのですが、今回はまず初日に私たちが参加したセッションについて簡単にご紹介します。明日以降、特に面白かったセッショ…
アバター