DSL 和 reactive 噩梦】的更多相关文章

计算机技术发展很快,而且越来越快,结果也是越来越复杂,那么我们到底怎么搞定复杂性并重用代码? 很明显,这是个大难题.一开始我们要解决计算问题,发展了基本的编程语言. 很快,编程语言不能满足需求,我们需要重用一些代码,算法,我们把这些重用部分写成库. 随着库越积越多,需要组织这些库了,这就形成了框架. 这就是我们今天面对的问题,.net,Java,甚至JS,都形成了框架,各种各样的框架,从解决问题,到带来问题. 为什么这么说?因为如今的框架太庞大了,除了JS,其它的动辄几十个名字空间,成百上千的类…
在安装完Ubuntu之后,发现图形界面的DSL连接不管用了,郁闷了好几天,想想移动每个月120个小时的流量岂不是白白浪费了.正当我想重返Windows系统的时候,却发现了手动设置连接DSL的好方法,感谢冻仁的笔记的作者(我想应该是叫冻仁吧),下面讲讲详细的方法. 0x00:安装pppoeconf sudo apt-get install pppoeconf 0x01:开始手动设置 sudo pppoeconf 打开后看到如下界面: 1. 侦测所有网卡 2. 常用选项修改 3. 输入DSL用户名…
「 微信应用号可以做什么」 简单说,微信"小程序"可以为开发者提供基于微信的表单.导航.地图.媒体和位置等开发组件,让他们在微信的网页里构建一个 HTML 5 应用.同时微信还开放了登录和微信支付等接口,让这个"小程序"可以和用户的微信账号打通. 简单地说,目前微信"钱包"中的"大众点评"."京东商城"."滴滴出行"等第三方服务就是应用号的一种雏形. 还有支付宝里的 "生活缴费…
原本在Ubuntu 15.10用拨号上网没有问题,但升级了16.04 LTS后发现原来的DSL连接不上了.主要表现为: 1.在NetworkManager里面选择DSL Connection能够尝试拨号连接,连上后两三秒就断了: 2.经过多次按照网上方法修改奇怪的配置,最终根本连不上: 3.删掉DSL Connection重新建立一个,同样的问题: 4.尝试删掉NetworkManager的配置文件,Wired Connection和DSL Connection都删了重启服务,企图恢复最原始的样…
Bruce Eckel(著有多部编程书籍)和Jonas Boner(Akka的缔造者和Typesafe的CTO)发表了“反应性宣言”,在其中尝试着定义什么是反应性应用. 这样的应用应该能够: 对事件做出反应:事件驱动的本质,让反应性应用能够支持文中提到的若干特性. 对负载做出反应:聚焦于可扩展性,而不是单用户性能. 对失败做出反应:建立弹性系统,能够从各个层级进行恢复. 对用户做出反应:综合上述特征,实现交互式用户体验. 在这份宣言公布之后,Scala的创造者Martin Odersky.Rea…
Reactive Extensions(Rx)是对LINQ的一种扩展,他的目标是对异步的集合进行操作,也就是说,集合中的元素是异步填充的,比如说从Web或者云端获取数据然后对集合进行填充.Rx起源于Microsoft DevLabs小组的研究,他扩展了LINQ的一些特性,目前Rx支持多种平台如JavaScript,Windows Phone,ios,Android .随着数据处理变得复杂,LINQ使得我们的处理逻辑变得简单清晰,同样地,随着越来越多的数据通过从云端异步获取,Rx使得这种异步数据处…
系列主题:基于消息的软件架构模型演变 一.反应式编程(Reactive Programming) 1.什么是反应式编程:反应式编程(Reactive programming)简称Rx,他是一个使用LINQ风格编写基于观察者模式的异步编程模型.简单点说Rx = Observables + LINQ + Schedulers. 2.为什么会产生这种风格的编程模型?我在本系列文章开始的时候说过一个使用事件的例子: var watch = new FileSystemWatcher(); watch.C…
最近尝试了一下将 XtraGrid 的初始化工作封装成内部 DSL,例如一个普通的基础数据的增删改查操作的代码会像下面这样: public partial class UserForm : XtraForm { private readonly UserRepository UserRepository; private readonly UserService UserService; private readonly GridManager<UserDto> _gridManager; p…
几个月前就一直有博友关心DSL的问题,于是我想一想,我在gac.codeplex.com里面也创建了一些DSL,于是今天就来说一说这个事情. 创建DSL恐怕是很多人第一次设计一门语言的经历,很少有人一开始上来就设计通用语言的.我自己第一次做这种事情是在高中写这个傻逼ARPG的时候了.当时做了一个超简单的脚本语言,长的就跟汇编差不多,虽然每一个指令都写成了调用函数的形态.虽然这个游戏需要脚本在剧情里面控制一些人物的走动什么的,但是所幸并不复杂,于是还是完成了任务.一眨眼10年过去了,现在在写Gac…
JQuery的核心理念是write less,do more(写的更少,做的更多),那么链式方法的设计与这个核心理念不谋而合.那么从深层次考虑这种设计其实就是一种Internal DSL. DSL是指Domain Specific Language,也就是用于描述和解决特定领域问题的语言 我们贴一段代码: $('input[type="button"]') .eq(0).click(function() { alert('点击我!'); }).end().eq(1) .click(fu…