@nishio: あ、そうか、10年前からあったけど10年間の間に勢力を拡大したケースがあるからあんまり厳しく切らない方がいいのか(TypeScriptの登場が2012年、Rustの登場が2010年だった)
お久しぶりです、かとじゅん(@j5ik2o)です。テックブログを書くのは何年ぶりか…。 サービスが停止したり応答性が低下すると、お叱りや逆に励ましをいただきますが、エンジニアとして設計レベルからそういった問題に対処するにはどうするか、日々精進しているところですmm。この記事はそういう論点で注目されている「リアクティブ原則」についてまとめてみたいと思います。 それなりのボリュームになってしまったので、時間があるときに読んでいただければと思います。 さて、Linux Foundation内の新たなトップレベルプロジェクトであるReactive Foundationが主催する、Reactive Summit 2020が11月10日にオンラインで開催されたので参加しました。 www.reactivesummit.org 参加されていたスピーカーはLightbendをはじめ、Netflix, Fac
はじめに 前篇の「リアクティブマイクロサービス入門(1/2)- 概念編」では、なぜリアクティブマイクロサービスが必要なのか、リアクティブマイクロサービスとは何なのかをご紹介しました。 後編となるこの記事では、リアクティブマイクロサービスの実装するために使えるテクニック・技術を、目的別にご紹介します。 もちろん、これらすべてを盛り込まなければリアクティブマイクロサービスを実現できないわけではありませんが、引き出しとして知っておけばより柔軟な設計ができるのではないかと思います。 目的別にまとめているので、適宜リファレンス的にご参照いただければと思います。 モジュール化 リアクティブマイクロサービスに求められる性質をバランス良く満たすためには、ビジネス上の関心事を分割することが重要です。 トレードオフで同時に実現することが難しい要件でも、分割することでそれぞれの関心時に最適化した手段を選択して実
はじめに リアクティブシステムを構築するためのライブラリ「Akka」を開発する Lightbend社 から、リアクティブシステムやマイクロサービスについて学習できる有償のオンライントレーニング「Lightbend Academy」を提供されていますが、2020年夏の間(※)は無償で受講できるようになっています。 ※2020/07/14現在。当初は無償期間が6月末まででしたが、7月末 -> 夏いっぱいと期間が延長されています。 ※「Lightbend Academy」の受講については、こちらのスライド「Lightbend Academyオンライントレーニングを受けてみた」もご参照ください。 この記事では「Lightbend Academy」を受講して学んだ、リアクティブな性質を備えたマイクロサービスを設計・開発するために知っておきたい知識や理論 を、私なりに整理・再編してご紹介したいと思いま
karino2 が 並列プログラムから見たFuture というビデオを作って公開していたので、引っ越しの荷造りをしながら眺めた。 長いのでここにざっくりとした主張をまとめると: Future/Promise (およびその後釜の async/await) は非同期プログラミングで callback hell にならない発明という見方をされているが、 そもそもなぜ callback hell が必要だったかの時代背景が十分に理解されていない。 背景の一つはブラウザ JavaScript のプログラミングモデルにシングルスレッド・ノンブロッキング(イベントループ)という制限があったから。 これは(特にフロントエンド開発者の間では)よく理解されている。 もう一つの視点は SEDA みたいなマルチスレッド・ノンブロッキング環境の必要性で、 こっちはいまいち広く理解されていないように思える。 結果とし
こんばんは!Google Developers Expert for Angularのlacolacoです。この記事はAngularアドベントカレンダー 2020、25日目の記事です。 毎年最終日を書かせてもらってますが、いつものような「一年のふりかえりと来年の予想」ではなく、今年はカジュアルにライブラリ紹介させてもらおうと思います。 気になったものがあればぜひ来年趣味や仕事のプロジェクトで使ってみてください。 Angular専用ライブラリ ngneat/reactive-forms ngneat/reactive-forms: (Angular Reactive) Forms with Benefits 😉 AngularのReactive Formsとほとんど互換性を保ったまま、本家に不足している型チェックをサポートしたライブラリです。 公式のロードマップでAngular Forms
こんにちは。きんくまです。 今回はiOS13から使えるようになったCombineをやってみました! Combineって何? イベントの発行と購読をすることができるフレームワークです。 非同期処理の中で使えばスッキリと書くことができるので、コールバック地獄とか死のピラミッドとかがおきなくなります。 Appleが元ネタにしたと明言しているのかどうかはわかりませんが、似たOSSライブラリにRxSwiftがあります。 ReactiveX/RxSwift: Reactive Programming in Swift - GitHub また最初に書いたのですが、iOS 13以降に使えるフレームワークなのでiOS 12以下は使えないことにご注意ください。 iOS 13から使えるようになったSwift UIとセットで使うと良さそうですね。 さて、Combineには大事な要素が3つあります。 Publish
RxSwift使いこなせてますか? 僕もまだ十分とは言えないですが、半年以上はプロダクトに使用してきたので、レビューで指摘されたことを中心に細々としたtipsをまとめてみようと思います 全体的な勉強方針は前回の記事にまとめたので、こちらも良ければ見てください RxとMVVMの勉強ガイド(自分がやってきたこと) クロージャの使用を避ける subscribe(onNext:)などはクロージャに任意のコードが書けるので非常に便利なのですが、やりすぎると手続き型的なコードになりがちだったり、selfを適切に弱参照でキャプチャしないといけなかったりするので、他に代替手段がない場合のみ使用するのが良いと思います。 以下に自分が指摘されたことのある代替手段を示します。 オプショナルをアンラップしたい someObservable // Int?が流れてくるとする .subscribe(onNext: {
4年前の下書きが出てきたので、供養のために置いておきます。 SpringOne Platform 2016のKeynoteとSessionを、特にProject Reactor周りについて確認した。 https://www.youtube.com/watch?v=Xm-KjMY_Z_w http://www.slideshare.net/SpringCentral/going-reactive-building-better-microservices-rob-harrop http://www.slideshare.net/SpringCentral/data-microservices-in-the-cloud http://www.slideshare.net/SpringCentral/designing-implementing-and-using-reactive-apis h
Combine is the new cool kid in town when it comes to reactive programming with Swift, so many developers in the community want to switch from RxSwift to Combine. Both frameworks are very similar, but the devil’s in the details and if you want to make the transition, it really helps to have a clear mapping from all the RxSwift operators, types, and functions to their Combine equivalents. Well, here
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く