TECH PLAY

株式会社ユーザベース

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

481

KotlinのCoroutineを用いた,外部API呼び出しの並列数を指定できるライブラリを作成した話 背景 本記事の内容 Coroutine Coroutineの作成方法 中断が可能な計算インスタンス [1] 特定のスレッドに束縛されない Channelとは ParallelExecutorについて まとめ KotlinのCoroutineを用いた,外部API呼び出しの並列数を指定できるライブラリを作成した話 ユーザベースインターンの原田です.大学院で研究しながら京都でユーザベースのインターンをさせて頂いており,今回初めてブログを書かせて頂きます! 題名にある通り,今回KotlinのCoro…
こんにちは。SPEEDA開発チームの冨田です。 昨今のフロントエンドでは、Fluxというアーキテクチャが利用されることが多くなってきています。SPEEDAでもVueを使っている画面がありますが、そこではVuexというVue向けのFluxライブラリで状態管理をしています。 Fluxではデータの流れを一方向にすることで見通しのよい設計が行えるようになります。 今回は、素のReactを使ってデータの流れを単一方向にする設計を紹介します。 今回作ってみるもの セットアップ 1. GettersとActionsをつくる 2. GettersとActionsをどこのコンポーネントからでもアクセスできるよう…
こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 9/26・27の2日間、ニューヨークで行われたAWWWARDSカンファレンスに参加しました。 前回は1日目の内容をご紹介しました。今回は2日目、特にメッセージが強く面白いと感じた「The NewYork Times」「InVision App」「Anton&Irena」「Mediamonks」「AREA17」、この5つのトークについてまとめました。 Scholastic(…
こんにちは。 SPEEDA開発チームの掛川です。 現在、私が参画しているプロジェクトではPythonを使ってサービスの開発を行なっています。 私自身、Pythonを書くのは今回が初めてなのですが、 テストを書く際にハマったことについて記事にしていきたいと思います。 環境といろいろ classメソッドをモックしたい時 引数に応じて返す値を変えたい時 mockerについて 終わりに 参考資料 環境といろいろ ・環境 OS Mac OS X 10.14.5 python 3.7.3 ・ライブラリ pytest 5.1.2 pytest-mock 1.11.1 私が今まで参画していたプロジェクトでは、…
こんにちは。SPEEDA開発チームの鈴木です。 昨年一児(娘)の父になりまして、凄い勢いで変化していく様子に喜んだり困ったりしながら過ごしております。 色々できることが増えると嬉しいのですが、それは同時にいたずらの幅が広がることも意味するんですよね。例えばものを引っ張ることを覚えたのは嬉しいのですが、私の髪の毛をひっぱってむしるのはやめていただきたい。そんな感じです。 髪をむしる娘の図。言葉は通じない。 今回はそんなうちの子が産まれたときに取得した育休の話をしたいと思います。 育休の話とはいっても育休をハックする話とか育児アプリとかの話ではなく、「育休を取得しやすい(と私は思う)SPEEDA開…
こんにちは!こんにちは!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. データエコシステム アーキテクチャ データの民主化への取り組み …