<-- mermaid -->

Tech Blog

Kubernetes で運用する JVM アプリケーションの OutOfMemoryError に備える

こんにちは。SPEEDA 開発チームの old_horizon です。 JVM アプリケーションの運用について回るのが、OutOfMemoryError (以下 OOM) への対処です。 しかし実際に発生した際に、適切なオペレーションを行うのは意外と難しいのではないでしょうか。 特に本番環…

Android Studioに入門しよう ~UI・レイアウト編~

こんにちは。SPEEDA開発チームの佐藤です。 今回はAndroid Studioに入門しようということで、 初心者向けに簡単な使い方から、今回は主にUI部品・レイアウトについて紹介したいと思います! Android Studioとは? 初期プロジェクト作成 動作確認の方法 レイ…

Smalltalkで『オブジェクト指向設計実践ガイド』の「第3章 依存関係を管理する」をハンズオンしたら快適で楽しかった

今日は。 SPEEDA を開発している濱口です。 前回の続きです。趣旨も同じ。 『オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方』のサンプルコードを Ruby から Smalltalk に翻訳しながら読み進めることで、ただ…

フロントエンドのコンポーネント設計で気をつけているn個のこと

はじめまして、昨年の12月に入社しました根岸です。 UZABASEに入社する前はフロントエンドエンジニアとして働いており、ここ1年間くらいはReactとTypeScriptの開発ばかりやっていました。 今回はフロントエンドのコンポーネントを設計するときに気をつけてい…

Mockitoを使ってDartでのTDDを加速させよう

初めて会社のブログに書きます。SPEEDA事業でCTOをしている林です。 TDDをこよなく愛する身として今日はDartでTDD、そしてテストの独立性を担保していく上で欠かせないMockライブラリーのMockitoについて書こうと思います。 Mockitoとは 今回Mock化するクラ…

方法より原理 〜正規化ルールとリレーショナルモデルについて〜 【実践編】

今日は。 SPEEDA を開発している濱口です。 理屈編では、まずリレーショナルデータベース(以下、RDB)の論理設計やその後において、 正規化ルールを運用する難しさについて述べました。 主な要因として、 例えば正規化を一度完了したテーブルに対し SELECT …

Ktor で小さな API を作る

こんにちは。SPEEDA 開発チームの緒方です。 システムをマイクロサービスで構成するメリットのひとつに、採用する技術にバリエーションを持たせることができるという点が挙げられると思います。 実際、SPEEDA でも様々な言語・フレームワークを利用してマイ…

Sealed Secretsを利用したKubernetes Secretリソースのセキュアな管理

はじめに はじめまして、UZABASE SPEEDA SREの鈴木(@sshota0809)です。 今回は、Sealed Secretsを利用したKubernetesのSecretリソースをセキュアに管理する方法を紹介します。 はじめに TL;DR Sealed Secretsとは 概要 アーキテクチャ インストール〜リソー…

方法より原理 〜正規化ルールとリレーショナルモデルについて〜 【理屈編】

今日は。 SPEEDA を開発している濱口です。 アプリケーションデータの永続化を担うデータストアには様々な選択肢があります。 その1つとして、リレーショナルデータベース(以下、RDB)がありますが、 RDBを選択した場合、データの容れものとしてリレーショ…

GraalVMに入門する

はじめに はじめまして、2019年11月に入社しましたヒロオカ(@yuya_hirooka)です!! 先日、同僚との雑談の中でQuarkusのNative Image化が話題に挙がりました。その際に「そういえば、GraalVMとかNative Imageってよく聞くけどあまり知らないなぁ...」と思い…

Smalltalkで『オブジェクト指向設計実践ガイド』の「第2章 単一責任のクラスを設計する」をハンズオンしたら快適で楽しかった

今日は。 SPEEDA を開発している濱口です。 前回はテスト駆動開発(TDD)を習得するためのハンズオンを行いましたが、今回はオブジェクト指向設計(OOD)です。 SPEEDA は複雑なビジネスロジックから成っており、開発では複雑で多くのコミュニケーションが発…

ElixirライブラリのFlowを使ってAPIを優しく呼び出す

こんにちは。SPEEDA開発チームの上村です。 先日同僚が書いたElixirのコードを眺めていた際に、とあるバッチ処理内でback-pressureを用いてAPIサーバを優しく呼び出している処理を見かけました。 そのコード内で用いられていたライブラリを調べてみるとなか…

Smalltalkで『テスト駆動開発』の「第I部 多国通貨」をハンズオンしたら快適で楽しかった

今日は。 SPEEDAの開発をやっている濱口です。 SPEEDA開発チームではテスト駆動開発(TDD)、ペアプログラミングを徹底しています。 だからなのか、『テスト駆動開発』はすごく楽しく読めました。 今回ハンズオンを行った「第I部 多国通貨」でも、ペアプロをし…

Go言語でオブジェクト指向プログラミングの基本(型編)

こんにちは、SPEEDA開発チームの @tkitsunai です。 最近リリースされたプロダクションコードにようやくGo言語が採用されました。嬉しい。 今回はGo言語でオブジェクト指向プログラミングで型表現についてのテクニックや考え方の基礎を紹介します。もっとGop…

Kotlinを3ヶ月書いて感じたJavaとの違い

はじめに SPEEDA PDT歴3ヶ月の相川です 今回はJavaを2年くらい書いていた私が、3ヶ月間で感じたKotlinの特徴を列挙していこうと思います はじめに Kotlinの特徴 型推論について データクラスについて nullable 検査例外の話 returnを明示的に書かなくても良…

Gaugeのsetupとteardownステップを用いて効率的に読みやすいテストを書く

こんにちは!SPEEDA開発チームの工藤です。 大分時間が開いてしまいましたが、Gaugeシリーズの第四回目です。 今回はe2eテスト書く際には必須であろうSet Up/Tear Down Stepsを、Gaugeではどのように実現できるのかをSPEEDA開発チームでの実例も交えてお伝え…

KotlinのCoroutineを用いた,外部API呼び出しの並列数を指定できるライブラリを作成した話

KotlinのCoroutineを用いた,外部API呼び出しの並列数を指定できるライブラリを作成した話 背景 本記事の内容 Coroutine Coroutineの作成方法 中断が可能な計算インスタンス [1] 特定のスレッドに束縛されない Channelとは ParallelExecutorについて まとめ …

ReactとReactHooksを使って、Flux的なアーキテクチャを実現する

こんにちは。SPEEDA開発チームの冨田です。 昨今のフロントエンドでは、Fluxというアーキテクチャが利用されることが多くなってきています。SPEEDAでもVueを使っている画面がありますが、そこではVuexというVue向けのFluxライブラリで状態管理をしています。…

ニューヨークタイムズ、InVisionなど、ニューヨーク12社のリードデザイナーの実践ノウハウ

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 9/26・27の2日間、ニューヨークで行われたAWWWARDSカンファレンス…

pytest-mock使ってハマったこと

こんにちは。 SPEEDA開発チームの掛川です。 現在、私が参画しているプロジェクトではPythonを使ってサービスの開発を行なっています。 私自身、Pythonを書くのは今回が初めてなのですが、 テストを書く際にハマったことについて記事にしていきたいと思いま…

ペアプロと育休の取得しやすさの関係について

こんにちは。SPEEDA開発チームの鈴木です。 昨年一児(娘)の父になりまして、凄い勢いで変化していく様子に喜んだり困ったりしながら過ごしております。 色々できることが増えると嬉しいのですが、それは同時にいたずらの幅が広がることも意味するんですよ…

Ringアプリケーションで例外をいい感じにハンドリングする方法(Ductでの解説も含む)

こんにちは!こんにちは!SPEEDA開発チームのあやぴーです。 社内のClojureを使ったAPIにおいて、「例外をうまくハンドリングしたいんだけど…」という話が出てきたので、今回はRingアプリケーションにおける例外のハンドリング方法について解説します。また…

【kubernetes / Helm】大量のCronJobに悩む貴方に送るプラクティス

はじめに こんにちは! UZABASE SPEEDA SRE teamの生賀です。 最近あった嬉しかったことは、自分が翻訳した日本語がkubernetesのCronJob - Kubernetesページに反映されていたことです。 閑話休題、弊社SPEEDAサービスでは大量のバッチジョブがHinemosを起点…

Airbnb、InVision、ゴールドマンサックスなど12社のリードデザイナーの実践ノウハウ

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 9/26・27の2日間、ニューヨークで行われたAWWWARDSカンファレンス…

XP祭りの裏側 〜大規模イベントの運営ってどんなことやるの?〜

こんにちは!SPEEDA開発チームの斎藤です。 先月9月21(土)に開催された開発者向けイベント「XP祭り」は皆様ご存知でしょうか。 今回は運営メンバーとして「XP祭り」に関わり、思いきりお祭りを堪能した私の視点から 運営ってどんなことしてたの?(大変なの…

世界最先端のデザイナーが集結、AWWWARDSカンファレンスに参加しました

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:yossiyossi923によって書かれました。 こんにちは! NewsPicksのデザイナーの吉川です。 ニューヨークで開催された『AWWWARDS conference 2019』に参加し…

【Clojure】Ductで始めるWebAPI開発

こんにちは!!SPEEDA開発チームの岡村です!! 私たちの開発チームでは、先日チームメンバの野口が書いたこちらの記事に書かれているように、チームメンバーの入れ替えが頻繁に行われます。 かく言う私も一ヶ月前に行われたチームシャッフルで、ClojureでDu…

Rustで非同期リクエストでハマったこと

こんにちは!SPEEDAプロダクト開発チームの成です。 去年の秋ごろからRustを触り始め、徐々にRustの魅力に惚れられました。 最初は日々コンパイラーにボコボコにされていましたが、 The Book *1 を読みながら、Rustを少しずつ理解していくと、段々コンパイラ…

SPEEDA開発チームをブーストするふりかえりのカルチャー

こんにちは!SPEEDA開発チームの岩見です。 この記事では私たちSPEEDA開発チームの中でも特徴的な文化のひとつとなっている、ふりかえりについてご紹介します。 以下のような方々のお役に立つことを願っています。 自分たちのチームでもふりかえりをやってみ…

appiumを使ってモバイルアプリのテストを自動化する

こんにちは!SPEEDA プロダクト開発チームの板倉です。 前回は、テスト環境(appium + gauge + kotlin)のセットアップについて書きました。 appiumを使ってモバイルアプリのテストを自動化する ~環境構築まで~ - Uzabase for Engineers 今回は、実際にアプリ…

【技術書典7】 NewsPicks Tech が目指す、自由な技術書とは

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:masahide318によって書かれました。 NewsPicksエンジニアの高畑です。 9/22に池袋で開催される技術書典7にてNewsPicksのエンジニア有志が今回初出展するこ…

appiumを使ってモバイルアプリのテストを自動化する ~環境構築まで~

こんにちは!SPEEDA プロダクト開発チームの板倉です。 前回書いた時はNewsPicksの開発をしていましたが、今はSPEEDAの開発をしてます。 SPEEDAのプロダクトチームでは、以下の記事のようにE2EをGaugeとKotlinを使って書くことが多いです。 Gauge Test Autom…

「ここではすべてが流れている!」SPEEDA の開発チームに入って驚いた 3 つのこと

7 月から SPEEDA 開発チームに参加しました、野口です! SPEEDA 開発チームでは、XP のプラクティスを大きく取り入れて日々の開発を進めています。 私は入社前から XP やスクラムのようなアジャイル開発手法とその考え方には慣れ親しんでいたのですが、SPEED…

Uber、Datadog、LinkedIn、最新テックカンパニーが登場 —— QCon NY 2019レポート(Day 2)

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 こんにちは! NewsPicks エンジニアの文字と大川です。先日から QCon NY 2019 のレポートを順次お届けしていますが、お楽…

Uber Eats が取り組む機械学習の難題:料理完成まであと何分?

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:satorishによって書かれました。 今回は、QCon NY 2019 初日に行われた、 Time Predictions in Uber Eats セッションの参加レポートです。登壇者は Uber E…

時価総額 5 兆円以上。WeWork のグローバル展開を支えるテクノロジー

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 NewsPicks エンジニアの文字です。こんばんは。 今回は QCon NY 2019 のセッション「Driving Technology Transformation a…

Istioでマイクロサービスのテスタビリティを向上させる

SPEEDAの開発チームの石橋です。 最近ではマイクロサービスでプロダクトを開発することが多くなってきていると思います。 そういった状況の中でマイクロサービスのテスト、特に異常系のテストをするコストがやや高いという話を何度か耳にしました。 本記事で…

Google はどうやって Deep Learning でメモリ使用量を 99% 削減したか。

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:satorishによって書かれました。 今回は、QCon NY 2019レポート(Day 1)で予告した ML for Data Systems セッションの参加レポートです。登壇者は Google…

Slack のインフラはどのように進化してきたか?

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 NewsPicks エンジニアの @monzou です。こんばんは。 前回の投稿から随分間が空いてしまいました。QCon NY 2019 のセッシ…

Clojure 1.10.x時代の新しいデバッグツール

こんにちは!こんにちは!SPEEDA開発チーム(通称PDT)に所属しているあやぴーです。 弊チームでは新しいモノを開発するときに、よくClojureという言語が採用されています。だいたい言語別でシェア2位といったところでしょうか。1位はみんな大好き(?)Kotlinで…

GitHub・Slack・Google、世界のトップエンジニアが集結 —— QCon NY 2019レポート(Day 1)

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:monzoupによって書かれました。 こんにちは!NewsPicks エンジニアの文字と Quartz エンジニアの大川です。6/24 からニューヨークで開催されている QCon N…

音声認識以外でも使われ始めた、Alexa における機械学習利用(1)

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:jukuin2000によって書かれました。 Machine Learning in Alexa Alexa Simplicity 対応状況 次回予告 Machine Learning in Alexa Machine Learning in Alex…

iOSエンジニアの祭典、Apple WWDCを最大限楽しむ5つの方法

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:kohei1218によって書かれました。 こんにちは!iOSエンジニアの齋藤です! 5日間にも渡って開催されたWWDCもついに終了してしまいました。 寂しさもある反…

もう逃げられない!誰もが機械学習を使いこなす時代に |Amazon re:MARS 基調講演

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:jukuin2000によって書かれました。 Amazon re:MARS 3日目 Keynote Amazon CTO Dr. Werner Vogels Andrew Ng zoox ceo ベゾス氏登場! Amazon re:MARS 3日…

ここまで簡単になるのか、SwiftUIチュートリアル2 〜Listの作成〜

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:kohei1218によって書かれました。 こんにちは、WWDC4日目に参加しておりますiOSエンジニアの齋藤です。 本日木曜は、夜19時からbashという野外音楽フェス…

【解説】Sign In with Apple、Facebook/Googleログインは無くなるのか?

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:kohei1218によって書かれました。 こんにちは、WWDC三日目に参加しておりますiOSエンジニアの齋藤です。 早くも半分が終了し、寂しさを感じています。 今…

Amazon re:MARS には、日本からはどんな人たちが参加しているの?

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:jukuin2000によって書かれました。 re:MARS 2日目 参加メンバー紹介(一部抜粋、順不同) チャットワーク ISID と AMSEC 金融系システムM社 ABEJA クラスメ…

iOS開発に大改革、SwiftUIチュートリアル1 〜Viewの作成〜

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:kohei1218によって書かれました。 こんにちは。 WWDCの2日目に参加しております、iOSエンジニアの齋藤です。 いやー昨日のKeynoteで大盛り上がりでしたね…

初開催 re:MARS の記念すべき Keynote をレポート!

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:jukuin2000によって書かれました。 re:MARS 基調講演 Robotics Robert Downey Jr. (以下、RDJ) re:MARS 基調講演 re:MARS Opening Keynote 初日の基調講演…

今世紀最大の盛り上がり!!WWDC2019で発表された、すぐにでも使いたい3つの新技術

こちらの記事は以前にNewsPicks Tech Guideに投稿された記事をインポートしたものです。元の記事はid:kohei1218によって書かれました。 こんにちは、WWDC2019に初参加、初、生Keynoteを見て興奮が冷め切らないiOSエンジニアの齋藤です。 そもそもWWDCってな…

Page top