2018-01-01から1年間の記事一覧
前回のエントリではKnativeの Buildの知見をまとめたが今回は Eventingをまとめる。試したところServerlessを体感できて、これぞKnativeの醍醐味ではという感想である。 モチベーション KnativeのEventingを導入する際にAWS環境ではどのようなAWSサービスを…
この記事はCyberAgent Developers Advent Calendar 2018の22日目の記事です。 Ktor KtorはKotlin純正のWebフレームワークです。APIはラムダ式を使った関数呼び出しでKotlin DSLによりルーティングを宣言的なコードで保守できます。KtorアプリケーションはTom…
KnativeはKubernetesを基盤としたプラットフォームをビルド、デプロイを管理するためフレームワークを提供する。Serving、Build、そしてEventingの3つのコンポーネントで構成されている。これら3つが疎結合に連携する。 cloud.google.com Kubernetesを基盤…
今回のエントリではBazelでビルドしたマルチプロジェクトとCircleCIの連携をまとめていく。マルチプロジェクトとCIを連携する際の実運用の課題を洗い出して解決方法を考えた。 プロジェクト構成 CIと連携させるマルチプロジェクトは次のような構成である。 (…
前回までのエントリに引き続きBazelのビルドをまとめていく。 GoとKotlinのマルチプロジェクトをBazelでビルドする - 平日インプット週末アウトプットぶろぐ BazelでGoプロジェクトのビルド。Gazelleのgo_repositoryで外部ライブラリの依存とBazelのgo_test…
前回までのエントリに引き続きBazelのビルドをまとめていく。 blog.soushi.me blog.soushi.me 今回のエントリではgRPCサーバを含むGoプロジェクトをBazelでビルドする方法をまとめる。 Protocol BufferとgRPCサーバのInterfaceの生成をBazelで行う これまで…
BazelをつかったGoプロジェクトのビルドをまとめている。前回のエントリではバイナリのビルドとDockerイメージのビルドをまとめた。 blog.soushi.me 今回は外部ライブラリをGoプロジェクトに依存させる方法とテストの方法をまとめていく。 Gazelleのgo_repos…
Googleが開発するビルドツールのBazelを試していく。 Bazel - a fast, scalable, multi-language and extensible build system" - Bazel モチベーション GoやKotlinでつくるマイクロサービス開発は1つのサービスに1つのレポジトリで行ってきた経緯がある。…
Serverlessプラットフォームが注目される中、その潮流にJava勢も乗っかりたいので起動速度が速いと注目のGraalVMを試してみた。 モチベーション GraalVMのアプリケーション起動までを理解したい。 GraalVMでSpring Fuを動したい。 GraalVMでHTTP/1.1とgRPCの…
Spring Boot 2.0からWebFlux frameworkが導入された。Reactorが使えてReactive Programmingが可能になったのでPush型のAPIをつくってみた。 どんなAPIをつくるか コンテンツが更新されたら件数を教えてくるAPI Server Sent EventsのContent-typeをサポートす…
Google IO 2018で発表されたJetpackの新しいコンポーネントのNavigationをアプリに導入してみた。 developer.android.com TL;DR Toolbar、Bottom Navigation、onClickイベントに関わる画面遷移をNavigationに置き換えてみた。 試した結果、コード短縮をゲッ…
Android Support LibraryのChipの使い方をまとめていく。ChipはMaterial DesignにあるがSupport Libraryに組み込まれたのは28.0.0.Alpha 1からである。 material.io developer.android.com よってgradle settingを次のように更新する。 ext { compileSdkVers…
ブログエントリで試しているアプリにSwipeRefreshLayoutとRecycleViewをListViewに導入してみたのでまとめていく。 SwipeRefreshLayout SwipeRefreshLayoutはViewGroupの1つで引っ張って更新する機能を導入することができる。 まずはレイアウトからまとめて…
ブログエントリで試しているAndroidアプリにFluxアーキテクチャを導入をしたことでデータの流れがStreamになった。SharedPreferencesも rx-preferencesをつかえば更新状態をSubscribeできるので導入過程をまとめていく。 github.com お試し中のアプリはOpenW…
ブログエントリで試しているAndroidアプリにFluxアーキテクチャを導入してみたのでまとめる。 Fluxアーキテクチャ Fluxアーキテクチャに関する情報は調べるとたくさん見つかるので概要までに留めておく。 github.com Fluxはアプリケーションデータを管理する…
Dagger2(android support module)をつかってFragmentにDIする方法をまとめていく。 HasSupportFragmentInjectorを実装する MainActivityにHasSupportFragmentInjectorを継承させ必要な実装をします。 class MainActivity : AppCompatActivity(), HasSuppor…
掲題のとおりAndroidのListViewを表示してみる。 APIリクエストは retrofitを使い天気情報を取得できるOpenWeatherMapのAPIを利用する。 github.com DIにはDaggerを使い、2.11から有効なandroid support moduleを利用する。 github.com APIをリクエストするS…
plasmaの動作確認のためにローカル環境を構築する機会がありminikube + helmで構築してみようと始めたのがエントリのモチベーション。 github.com plasmaはServer Push型のミドルウェアでFRESH!で使われている。ポーリング撲滅を掲げgRPC/SSEを用いて省コネ…