由买买提看人间百态

topics

全部话题 - 话题: rxjava
1 2 3 4 5 下页 末页 (共5页)
z****e
发帖数: 54598
1
来自主题: Programming版 - rxjava 1.0版本发布了
写过异步的都知道
那一层层的callback金字塔
看过去要多恶心有多恶心了
但是现在这个陷阱在vert.x上已经被rxjava打掉了
rxjava 1.0版本正式发布了,就在前几天
两年的等待啊,不容易
netflix贡献了不少好东西
现在各个环节的异步,比如jdbc这些,都有项目基于rxjava在做
有在jvm上用异步的话,可以看看rxjava
http://github.com/ReactiveX/RxJava
其他的相关项目
http://github.com/ReactiveX/RxJava/wiki
reactive感觉就是rxjava比较活跃
其他语言的rx项目都不死不活的
http://github.com/ReactiveX
H****S
发帖数: 1359
2
来自主题: Programming版 - rxjava看起来还不错
不光是这个。rxjava所带动的reactive stream programming可以帮助你做到很多事情,
1。preemptive control:如果你的stream crash了,如何能让它clean up all the
unclosed resources and start again from a reasonable checkpoint _by itself_
2。stream和stream之间的操作:zip和merge是最常用的两种操作。鉴于stream本身是
纯异步的,如果要自己写这些操作绝对是nontrivial amount of work。
3。stream ordering:你可以选择让stream的items come strictly in order,或者是
fully parallell。
4。back pressure。看上去简单,但是rxjava一开始的支持是基本算没有的,直到后来
加了producer interface。我自己的感觉即便使用producer interface,在rxjava里面
实现backpressure contr... 阅读全帖
n*w
发帖数: 3393
3
来自主题: Programming版 - rx framework / rxJava use case?
用rx framework,rxjava的人多吗?都有哪些use case?
rx framework出来很多年了,几年前准备用来做异步,结果c# async加上了。做ui可能
多些用处。但自己UI写的不多。并行等别的方面c#本身就支持的不错。
被port成rxjava后,应该在java上用处大些?不过在java 8以下没lambda,没linq,靠
匿名类有
些不适,毕竟能解决问题。大家有哪些use case?
n*w
发帖数: 3393
4
来自主题: Programming版 - rx framework / rxJava use case?
没错是netflix做的rxjava。netflix也有很多非软黑。
最原始rx framework在微软的msdn上。Windows开发时代码从nuget拿。
open source后源代码不是在codeplex就是github。
"Just yesterday, we told you about improvements we’ve made to two Microsoft
Open Technologies, Inc., releases: Rx and ActorFx, and mentioned that
Netflix was already reaping the benefits of Rx.
To top it off, on the same day, Netflix announced a Java implementation of
Rx, RxJava, was now available in the Netflix Github repository. That’s
great news to hear, especially given how Be... 阅读全帖
c*********e
发帖数: 16335
5
来自主题: Programming版 - rxjava看起来还不错
你们公司不就是用rxjava吗?rxjava看来要火。
z****e
发帖数: 54598
6
来自主题: Programming版 - 古德霸说说rxjava怎样吧
我看了下,貌似是一个比较不错的reactive programming的框架
给说说,你们内部用了么?效果如何?
我看到网络上已经有vert.x+rxjava的module
貌似前景比较光明的样子,我用了一段javafx,很喜欢javafx的binding
这个估计有些类似?
z****e
发帖数: 54598
7
来自主题: Programming版 - rxjava 1.0版本发布了
vertx的rxjava的mod
已经beta4了
离最终出厂不远了
http://github.com/vert-x/mod-rxvertx
n*w
发帖数: 3393
8
来自主题: Programming版 - rx framework / rxJava use case?
你说说你的use case?
作为资深软黑,你还对源于微软的东西赞口不绝,同意你是专业的rxjava用户。
而且经过你的点出大家也知道了loganfreeman揶揄人。
l**********n
发帖数: 8443
9
来自主题: Programming版 - rx framework / rxJava use case?
rxjava和The Reactive Extensions什么关系?RxJS是按照The Reactive Extensions
API写的。

Microsoft
the
t**r
发帖数: 3428
10
rxJava很火么?除了n家 别人家用的多么?
推荐个学习资料 @goodbug
btw 股票太给力了,一周从470飙到570
l**********n
发帖数: 8443
N*****m
发帖数: 42603
12
summary: rxjava好好好
S*********t
发帖数: 78
13
来自主题: Programming版 - 问个 rxjava 的问题
初学 rxjava, 这个东西真费脑细胞。
我有一个 List, 需要对每一个整数做一个 async 操作。操作完了callback
后,再把所有的结果组成一个新的 Observable.
怎么实现呢?
thx
s*i
发帖数: 5025
14
来自主题: Programming版 - rxjava看起来还不错
RxJava 跟其他 functional languages 的写法比较,ugly 到吐!
p*****2
发帖数: 21240
15
来自主题: Programming版 - rxjava看起来还不错
有这个就不错了
java还能指望啥

:RxJava 跟其他 functional languages 的写法比较,ugly 到吐!
c*********e
发帖数: 16335
16
来自主题: Programming版 - rxjava看起来还不错
RxJava是有明确目的和用途的,functional languages算个鸟。
n*****3
发帖数: 1584
17
来自主题: Programming版 - rxjava看起来还不错
does RxJava use java 8, if not,
switch to use java 8 's FP will require some extra work for them.
c*********e
发帖数: 16335
18
来自主题: Programming版 - rxjava看起来还不错
如果concurrency的java code是你自己写的,又何必要rxjava呢?直接在原来的代码里
加不就完了?
d******e
发帖数: 2265
19
来自主题: Programming版 - rxjava看起来还不错
   concurrency 是上一代的事情了吧。
rxjava,这个我没搞过啊,类似的东西是面向event stream driven app.
比如说,你有一个计步器,不听的想server发送event.
这样就可以看作一个stream。后台处理直接用stream.map.andthen.onsucess..
..
搞定了。
这里的backpressure process, 异步用刀的threadpool什么的,都给你搞定了。
你自己安心写处理的code就好了。
c*********e
发帖数: 16335
20
来自主题: Programming版 - rxjava看起来还不错
rxjava是one thread, async. 但是,它的async,是用的epoll吗?

..
W***o
发帖数: 6519
21
来自主题: Programming版 - RxJava是goodbug做的?
你骂这个rxjava 设计脑残,就会跳出来了
c*********e
发帖数: 16335
22
来自主题: Programming版 - RxJava是goodbug做的?
rxjava其实不是他做的,github上有作者名字和图像。
s********k
发帖数: 6180
23
来自主题: Programming版 - RxJava是goodbug做的?
rxjava不是square那帮大神做的吗?就像luke wharton什么的?
c*********e
发帖数: 16335
24
来自主题: Programming版 - RxJava是goodbug做的?
rxjava要用到future.get(),就是个大忽悠。
z****e
发帖数: 54598
25
来自主题: Programming版 - 真有人用Vert X么?
vert.x东西很少,就那点东西
文档你花个两三天估计都能全部看完
剩下的是其他项目的事
比如rxjava,你要用,要去看rxjava的文档
web service用vert.x肯定行
web socket也有,你先看看文档
http://vertx.io/core_manual_java.html
5分钟就可以看出个大概
其他语言
http://vertx.io/docs.html
hello world在主页上
http://vertx.io/
sql的支持的话,这个vert.x能做
但是其他比如node.js未必能做
因为目前绝大多数的db操作都是同步的
不是异步的,vert.x为了兼容同步,有一个worker mod
这个稍微高级一点,你需要认真看看文档
然后rxjava为基础,有一个rxjava-jdbc的项目
https://github.com/davidmoten/rxjava-jdbc
以后等它成熟了,你就可以异步访问db了
目前还是需要worker
你木有用过1我不知道怎么说呀,反正就是1和2不一样就是了
大概就这么多,你试试吧,花不了你多少时间,你把扯淡的时间拿去... 阅读全帖
z****e
发帖数: 54598
26
来自主题: Programming版 - FP 之我见 (长)
说这些都扯蛋
就从你们两个自身说起
coltzhao你除了scala你还接触过什么?
rxjava,clj你写过么?应该是没有吧
hci,你除了clj你还写过什么?
rxjava,scala你写过么?应该也是没有写过吧?
我现在的vert.x里面几个mod里面有clj,有scala,还有rxjava
我好歹还是写过,然后把这些东西放到同一个环境中对比后观察后的结果
你们两个除了自己那个语言以外,接触过其他两个?
整个thread说下来就逐步沦为扯蛋一类了
也就是hobocs说的rxjava的那几个贴值得看看
至少他还跑去看源码,说这里可能会有问题,我以后再看看hoho
剩下的没做过,也就是凭空想象,变成扯蛋的一种
洋洋洒洒好像很多,但其实很多都是胡扯
变成传教,号召群众入教做教徒
z****e
发帖数: 54598
27
1)你没有用rxjava,which在vert.x里面很强调使用的东西,不用rxjava,你是很难写
出优雅代码的,这个是用vert.x的常识,甚至可以说是java程序员的常识,这种东西压
根不值得拿来做例子
2)这个是匿名类,which是java8以前的东西,写swing的话,这种东西到处都是,这就
是为啥我讨厌callback hell的主因,后来发现js居然把这种垃圾给捡过去了,我都快
吐了
3)异步要谨慎使用,除了会导致callback hell以外,还会让原本同步的操作变成
callback hell,邯郸学步
4)java本身没有办法阻止你写出callback hell,因为你在用fp的方式用oop,而且还
是比较旧版的java,如果你真的要用fp,就别用java好了,因为java根本不让你用fp,
好吧,部分可以,这个其实是fp的问题,不是java的问题,java已经把你往oop上去引
导了,你却非要迕逆java的引导,我能说啥?
5)你可以自己动手解决这个问题,看看rxjava怎么做的,其实原理不难,只要理解了
reflection,publish/subscribe模... 阅读全帖
z****e
发帖数: 54598
28
来自主题: Programming版 - 码农在家上班的机会多吗 (转载)

rxjava主要是用来弥补java在fp上的不足的
主要应用是streaming部分
你做flink应该清楚,set和stream是两种不同的类型
前者一开始就知道大小,后者对于结束边界搞不清楚
所以涉及streaming的部分,用rxjava比较多
而且streaming部分主要是fp的应用,map(func,a)
如果是fp语言的话,比如clojure,就不怎么需要这个东西
但是java是纯粹的oop语言,所以需要弥补fp上的不足
这个不足就由rxjava来填,当然你换clojure或者scala也可以
这两者的fp部分比java要强不少
vert.x则是一个什么都做的东东
我感觉vert.x是java的延伸,java的特征就是尽一切可能封装各种接口之类的
jvm封装了os的差异,jdbc封装了db connection,hibernate封装了sql的差异
vert.x则封装了file system的差异,还有web protocol的差异,以及各种jvm上脚本的
差异
尽可能提供一个统一的接口,对于所有不同的软件产品
然后还做了其他很多东西,其中reactive和stream... 阅读全帖
z****e
发帖数: 54598
29
楼主把leetcode继续刷,我觉得遇到lc原题的几率还是很大的
其次spring, hibernate是一个好的开始
然后cassandra, hdfs, spark, rxjava弄一弄
spark很大,那就先弄rxjava
我说的这些都不是一样的,原理都不一样,学会举一反三
你会一个,以后遇到类似的,比如你遇到storm,懂rxjava的话
storm不难,当然反过来也一样
java工作,这些frameworks/products,应该肯定会用到其中至少一个
面试时候跟人家说你会这些,肯定有优势,资本家计算的就是投入和产出
你会的东西多,他培训成本就低,很快就能上手干活
为什么不要你?阿三比老中强就强在态度上,丫一天到晚未必干活
但是至少装得很积极,一天到晚问boss,有什么我能干的?
就算他狗屁不通,但是他也装得很投入的样子在搞
z****e
发帖数: 54598
30
来自主题: Programming版 - 真有人用Vert X么?
jvm的人才不好找啊
community没啥问题啊
我之前一直在等rxjava成熟
因为没有rxjava,金字塔结构实在是很让人恶心
现在vert.x+rxjava配合得非常好呀
npm也很快就有支持,这个主要看对jvm的熟悉程度
一般没用过的搞不定,你应该没啥问题
z****e
发帖数: 54598
31
来自主题: Programming版 - cassandra async 问题
嗯,vert.x可以勉强做到aysn*
但是要做到reactive的话,需要rxjava
https://github.com/ReactiveX/RxJava
rxjava 4天前已经rc2了,等这个出来之后
就可以组合实现aysn* driver的效果了
而不用blocked等待
z****e
发帖数: 54598
32
来自主题: Programming版 - FP 之我见 (长)
那要看多顺着人思维了
小学二年级我们就学会了列方程解应用题
列方程显然更靠近人的思维,变量当然应该保留
我超喜欢列方程的,哪怕最简单的1+x=2我都会列出来
因为简单
虽然我也承认oop有些地方不足
但是你说要把oop整个枪毙掉,从头来过
那这也有些问题吧?正常人应该都能看出这种做法有些问题
所以我觉得rxjava才是发展方向,至于什么immutable
水至清则无鱼,scala又太混乱,什么都来,也不行
rxjava作为扩展,跟java8搭配得很好呀
vert.x什么马上就能顶上,哦也
用了再说,没用过,没实践过,都是只说好的,不说坏的
说node的时候,有人注意到30层的callback hell吗?
现在说fp其实也是一样,层层嵌套是个大问题
我用rxjava的经验看,效果良好,既没有丢掉以前的经验
又做了效率提升以及适当的思维训练,大家都happy啊
z****e
发帖数: 54598
33
来自主题: Programming版 - FP 之我见 (长)
我很清楚滴知道fp怎么用,包括clj怎么用
但是你显然不知道rxjava解决了fp的什么问题
你对付那些问题的方式要么否认,要么就转进
比如“我从来不debug”,“不能再简单了”
我看了rxjava,我觉得比fp做得更简单
可以说rxjava本身就是fp的一种借用
另外对比不是要尽量公平嘛?
vert.x是多好的一个公平竞技的平台啊
你不懂的话,先了解了解再说
z*******3
发帖数: 13709
34
来自主题: Programming版 - akka stream选什么http client?
我知道为什么会说像rxjava了
因为有一个reactive stream
这个rxjava和akka stream都有impl
rxjava的例子在这里有
https://github.com/ReactiveX/RxJavaReactiveStreams/blob/0.x/examples/ratpack
/src/test/java/rx/reactivestreams/example/ratpack/RatpackExamples.java
z*******3
发帖数: 13709
35
来自主题: Programming版 - IBM is all into Spark
spark的streaming的对比看这个slides
http://www.slideshare.net/ptgoetz/apache-storm-vs-spark-streami
flink还没推出,但是从设计上看,应该不会有类似的问题
我感觉最近streaming的需求越来越强烈
需要一个针对前后端都能够搞streaming的东东
vert.x是一个很不错的选择,但是vert.x对付c*之类的nosql,还显得工具偏少
另外mllib这些lib目前只能host在spark,flink这些上面,vert.x还缺少类似的libs
vert.x毕竟更为general一些,但其实你自己琢磨琢磨也没啥难的
无非那么一回事了,mapreduce那些api,跟rxjava有很大重叠
可以用rxjava实现一遍,主要是算法,mllib部分,clustering,svm etc.
api的话,什么flatmap,streaming之类的rx都有了,vert.x成熟之后大有可为
vert.x, rxjava, flink这些逐步走向成熟,过程值得学习和参考
当然spark之类已经取得巨大成功的更值得... 阅读全帖
z****e
发帖数: 54598
36
来自主题: Programming版 - Vert.x3 says "hello" to NPM users

streaming就是适合那种结束边界不确定但是传入的data又比较同质化的datasource
像netflix搞的视频就很像这个东东,还有message
streaming应该在将来一段时间内会逐步流行开来
以前是storm在搞,再早一点是jms,不过jms主要是无状态的dataset
fp部分用来搞streaming会比较容易
常见的map,可以直接apply func到每一个elements上去
这样你就不用for loop了,因为for loop需要知道确切的结束边界
对于streaming,没有fp那么好用,listener+fp可以比较快速地开发出东西来
那rxjava就是为了adopt这种趋势而生的东东
vert.x的reactive部分,就是直接用了rxjava
rxjava不仅仅是java,其实所有jvm上的reactive都可以用
包括rxscala, rxclojure,当然scala clojure这种天生就是fp,不需要这个一样搞
但是api标准化总是好的,还有rxgroovy
作为游戏,我觉得每一局pvp的话,其实广播的部分可以搞成streaming
用... 阅读全帖
z****e
发帖数: 54598
37
来自主题: Programming版 - Vert.x3 says "hello" to NPM users
所以我个人认为,技术革新已经逐步转移到了netflix这家公司上去
rxjava这种神奇的东西,不是google之类的做出来的
反而是netflix在搞,而且netflix很喜欢优化aws
做各种傻瓜化折腾aws的工具,我相信用不了多久
netflix的这些傻瓜化的工具会逐步流行开来
rxjava的接口什么比较标准,scala的很多东西就不那么标准
就这个差别,本质上原理是一样的
vert.x在rxjava的基础之上做了pump那些,不过我还没怎么用过
不确定这个到底怎么搞,只是听以前做scala的人提起,说大并发时候需要这个东西
z****e
发帖数: 54598
38
来自主题: Programming版 - Vert.x3 says "hello" to NPM users
用了vert.x你可以接触到几乎所有的新生事物,比如reactive,比如async,比如nosql
,比如file system,比如rxjava,比如streaming,好好玩啊,怎么能不喜欢这个东西
,这个版面上讨论的一切,都有一个小部分在搞,除非你做非常底层的东西,比如go那
些,那这个没办法,毕竟jvm封装到了这个level,不可能再回头去搞这些底层的东东,
其他应用层面的新生事物,vert.x的人都跟进得很快,实际上rxjava那个本杰明也对
vert.x有感觉,文档中写到过不少,当然java就这样,你单独用rxjava也是完全可以的
,就像spring跟hibernate没有必要捆绑到一块去一样
c*********e
发帖数: 16335
39
今天又看了一下rxjava, netty. 发现rxjava是synchronized,一个thread.
如果java programmer自己能写concurrency的代码,又何必用这个rxjava来处理结果呢?
RxNetty就更不理解了,本来netty就是async的,有自己的callback,何必要用RxNetty
来处理呢?
z****e
发帖数: 54598
40
来自主题: JobHunting版 - storm和spark, maprduce比有什么优势?
牛肉姐,如果是跨机的,用rxjava等streaming framework
一般跨机要看网络协议,纯java的可以用序列化,跨语言用json这些
真要做其实不难,不过现在主要是用rxjava

java
z****e
发帖数: 54598
41
来自主题: Programming版 - vert.x平台上的新东西很让人兴奋阿
我看好其中三个东西
rxjava,netflix做的异步模型
http://github.com/Netflix/RxJava
nodyn,兼容nodejs的模型
http://nodyn.io/
clojure,clojure的模型,还未完成,快了,beta3了
http://github.com/vert-x/mod-lang-clojure
我不相信大本说的什么erlang,很恶心,不喜欢
还是玩点clojure比较好,pure fp,纯粹放屁,哈哈
z****e
发帖数: 54598
42
来自主题: Programming版 - vert.x平台上的新东西很让人兴奋阿
我看好其中三个东西
rxjava,netflix做的异步模型
http://github.com/Netflix/RxJava
nodyn,兼容nodejs的模型
http://nodyn.io/
clojure,clojure的模型,还未完成,快了,beta3了
http://github.com/vert-x/mod-lang-clojure
我不相信大本说的什么erlang,很恶心,不喜欢
还是玩点clojure比较好,pure fp,纯粹放屁,哈哈
z****e
发帖数: 54598
43
来自主题: Programming版 - 真有人用Vert X么?
clj的问题很明显,金字塔,非常讨厌
rxjava的flat很讨喜
rxjava更新很频繁,很活跃,我很喜欢
vert.x 3的milestone 2已经出来大概一个月了
很快3就会下线,到时候跟着升级就是了
据说一般的脚本也可以打成jar了
没试过
s*********b
发帖数: 815
44
来自主题: Programming版 - 王垠被炒了?
他老的pysonar是实打实的功夫。我老做过语言的静态分析,不是那么容易搞的。当时
的标准参考书是这本:http://www.amazon.com/Principles-Program-Analysis-Flemming-Nielson/dp/3540654100 很不好读。再说读出来跟实现出来还有很大差距。另外他老在网上吹过他的40行实现CPS–style解释器。凭这手参加Netflix的RxJava开发没有问题。不过以他老的个性,多半跟RxJava的作者吵得鱼死网破,然后被公司干掉。:-)
s*********b
发帖数: 815
45
来自主题: Programming版 - 王垠被炒了?
RxJava还是有关系的。RxJava根据Erik Meijer的Rx移植的,实现的手法也差不多,大
量用到的恰恰是王垠非常熟悉的函数编程技术,大量CPS风格的代码。当然他老能不能
出活以及同人合作多半像您老说的那样。他老好像也批评了Knuth的。他老的博客中不
仅批评了导师,同学,各式语言及它们的创始人,“甚至还怒喷了10年前推崇Linux的
自己”。当然这也没啥,不就是看不惯很多东西嘛。作为局外人,我老觉得这个不是品
德问题。

的。
z****e
发帖数: 54598
46
rxjava的wiki上说针对akka的actor future做了改进
所以目前看,用rxjava应该会更爽一点
z*******3
发帖数: 13709
47
来自主题: Programming版 - Pivotal Drops Groovy and Grails
vert.x什么都能做
node单线程非常蛋疼,性能并不理想
而且将来streaming弄上去的话,我不认为单线程会有什么前途
因为streaming天生就是blocking的东东,你一定会需要多线程
而一旦涉及worker,node就不是那么好用
如果那帮人已经提出要弄jvm的话,多半是他们自己的考虑
就像你之前说的,主要做http web service,这个就不是web
多半不只需要倒腾html那些东东,等到时候绕了一大圈,最后发现
你还是不得不倒腾jvm的话,那就很不划算了
node有自己的engine,jvm是另外一个平台
要同时维持两套班底,就显得很亏
vert.x的主要竞争对手就是所有的东西
包括node, akka, ejb这些,其实都被某些媒体拿来对比过
就spring的di目前没怎么说,因为暂时先不做di,这个在community讨论过
主要是其他语言的开发者反对,因为无法实现,只有java的用户要求比较强烈
因为spring是de facto企业王者,所以建议多抄袭spring
最后tim说,暂时先不搞
但是你自己对spring熟悉的话,把spring结合到ver... 阅读全帖
z****e
发帖数: 54598
48
来自主题: Programming版 - 为了解决block的问题而引入了fp
但是fp会带来callback陷阱
为了解决callback陷阱而引入了reactivex
也就是subscribe或者说是observer模式
用了reactivex之后,感觉fp其实也没啥必需的
除了lambda以外,如果不怕麻烦加多一层其实也没啥
lambda就省去了外面那一层class
wdong不是在问下一个big thing吗?
rxjava咯,rxjava发布1.0的时候可是thx了一堆人
并触发了一堆新项目,什么rxjdbc之类的
这是里程碑式的存在,这里一堆开源的项目大有可为
炮灰们可以上了
z****e
发帖数: 54598
49
来自主题: Programming版 - 从争论中的一点思考
legacy code
db本身就是一个非常大的legacy system
要改起来需要时间
现在绝大多数db操作都不是异步的
要改成异步的
目前做得比较靠谱的就是rxjava-jdbc
这个做出来之后,应该大多数db访问都会变成异步的
所以rxjava出来之后进一步打击了mongodb
本来mongodb被spark什么折磨得就很够呛了
twitter怎么做还是老话,twitter不涉及money
发错一个twit不会有太大问题,不值得参考
看看电商还比较靠谱点,至少应该看看twitter的财务组是怎么做的
z****e
发帖数: 54598
50
来自主题: Programming版 - java8 lambda 就是语法糖
rxjava里面用起来很方便呀
我对fp也是一知半解,但是lambda加入很多人有意见
但是我觉得rxjava推广之后,应该反对声音会少不少
本来lambda用来替代以前用的匿名类还是不错的
匿名类太恶心了,写过app的都很讨厌匿名类hoho
1 2 3 4 5 下页 末页 (共5页)