Groovy使用场景

我们正在做的一个项目用到了,这是一个机器学习的平台,平台里面可以接入各种机器学习的算法,目前已经支持30来种算法。每个算法有各种各样的参数,为了提高用户友好性,让用户使用起来更方便,用户在页面上“填入”,“选择”的参数值跟我们实际提交到集群执行的参数往往不一样,比如:用户选择一个算法的输入表table1,而实际上我们提交给后台集群的时候需要加上当前project的名字(假如是project1):project1.table1。
又比如有些算法参数是不需要用户输入的,比如一个算法的输出表,具体的表名用户其实不关心,他只想我们把最后的结果告诉他,这时候我们需要给他自动生成输出表名的参数。

这样就需要一个【“参数转换”】的过程,这些参数转换逻辑虽然不复杂,但是它们有一个重要的特征:不可枚举。因此我们采用了【Groovy脚本来描述这个转换算法】。而且我们机器学习平台将来的目标是【允许用户上传自己编写的算法,这个转换逻辑的可配置化就显得更必要了。】

都是因为我们有一个叫洛笛的牛逼同事

//
groovy的生态中有gradle(安卓在使用), grails. gant, spock, Geb. Griffion。从生态上已经很全面了。最近又可以用groovy来开发Android了。如杨飞所答,有java的地方就可以有groovy。只是同时java也在进化,类库等以java为主。不会发生直接替代。但是groovy的应用也会越来越广泛。

//
我们用来做规则引擎、流程引擎,可以做动态脚本环境,尤其是那些不需要发布又经常变更的场合

参考知乎:

https://www.zhihu.com/question/23737708/answer/45175040

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章