2016-12-22 JustWe
EventBus 是人们在日常开发中经常会用到的开源库,即使是不直接用的人,也多少借鉴过事件总线的用法。而且EventBus的代码其实是非常简单的,可以试着阅读一下。 源码阅读系列不采用对功能进行归类的方法进行阅读,而是采用一个刚开始阅读源码的视角,从我们平时的API调用,一步步的去理解设计意图和实现原理。 从这里开始 从这里开始吧,我们最常用的地方就是给一个函数添加上注解,我们先抛开apt生成的table,只看这个运行时版本的订阅设定。 ``` java // eventbus/Subscribe @Documented @Retention(RetentionPolicy.RUNT 继续阅读 »
2013-05-31 Robert Zhang
分析:按字典序排列的n个单词构成了一个隐式的有向无环图:每个单词单词都有一条出边指向在它字典序之后的每一个单词。要在这张图里找出符合条件的最长路径包含的顶点数。简单的想法就是“暴力”回溯了:对每个顶点进行一次回溯,找出以该点开始的最长的edit step ladder——这个时间复杂度高得能上了火星!思考一下就会发现,回溯包含了大量的重复计算:假设以单词w开始的最长ladder长度为l,那么对于字典中排在w之前的每一个单词(实际上是edit step为1的那些单词),在回溯经过w时都要做同样的重复计算,浪费了大量时间。如果我们计算好了以w开始的最长ladder的长度l,那么对于w的每一个one edit step前驱顶点,其最长la 继续阅读 »
2015-06-28 W.Y.
ES6
从一开始箭头就是 JavaScript 的一部分,在第一个 JavaScript 中就建议将内联的脚本代码包裹在 HTML 的注释中,这可以防止那些不支持 JavaScript 的浏览器错误滴将你的代码显示为明文。你也许写过下面这样的代码: html <!-- document.bgColor = "brown"; // red // --> 古老的浏览器将看到两个不被支持的标签和一段注释,只有支持 JavaScript 的新浏览器才会将其解析为 JavaScript 代码。 为了支持这个古怪的特性,浏览器的 JavaScript 引擎把 作为一个单行注释的开始,这不是开玩笑的,这一直都是这门语言的一部分,并 继续阅读 »
2015-10-03 AnnatarHe
Before 在翻译之前我还是要简要介绍一下Meteor,这是一款跨时代的框架。真的,完全没有骗你。 一开始的网站是纯静态页面搭建的。 后来开始使用动态的脚本语言,比如PHP 后来以此构成了框架。最为出名的自然是Ruby on Rails。 继续阅读 »
2014-04-03 Lingxian Kong
本文主要讲AutoScaling,关于CloudFormation和Heat,之前的博客已经有讲过,本文不做赘述。 AutoScaling in AWS AutoScaling的概念最早出现在AWS,Auto Scaling 是一项 Web 服务,旨在根据用户定义的策略、时间表和运行状况检查启动或终止 EC2 实例。在典型的商业场景中,在 Web 应用程序开始获得更多流量时,您将添加更多的服务器或增加现有服务器的大小来应对额外负载。同样,当 Web 应用程序的流量开始减少时,您将终止未充分利用的服务器,或者减少现有服务器的大小。根据您的基础设施,每次进行垂直扩展时可能都会涉及更改服务器配置。如果使用水平扩展,您仅需根据应用程序的 继续阅读 »
2018-02-23 AnnatarHe
很早之前就想写写区块链和比特币,我对于这些东西是比较关注的。 一些背景 - 深度学习 在去年开始,我花了半年时间在追深度学习相关的东西,学了深度学习的一些原理,概念。然而学了一段时间之后开始认识到,深度学习还是太简单了,它只能做一些非常非常简单而且基础的工作,即便已经很简单了,却还是做不好。比如语音识别,比如图像识别。而类似于什么机器人产生自主意识这种事情基本不可想象,以现在的科技水平来说,基本上是痴人说梦。 继续阅读 »
2020-09-01 Robin Wen
文/Robin 这两天一个项目火了,那就是「SushiSwap」。SushiSwap 是个什么样的项目? 一个「升级版」的去中心化交易所,相比于 Uniswap,添加了流动性挖矿,并以类似 YAM 挖矿的方式发放治理代币(SUSHI)。 SushiSwap 的价值承诺很简单: 复制 Uniswap; 以 SUSHI 代币的形式提供股权,可以用于分红和治理(即使一开始没有分红,也可以用来投票)。请注意,这不是传统意义上的公司股权,而是去中心化股权,即你对智能合约拥有投票权。没有任何公司法适用于此; 人人平等,没有任何面向风险投资基金或其他组织/个人的私募,游戏开始时每个人都在同一起跑线上。 SushiSwap 的创新之处如 继续阅读 »
2015-01-05 码农明明桑
14年总结 又一年开始,网上也流散着许多的年终总结,往年我也会写写,都是流水的回忆。前两日,与小波电话聊天,突然想到问他一四年用三个词总结是什么?得到的是失恋,毕业,工作。让我说说2014的三个词,竟然一时无从说起。这两日一直思考这个问题,毕竟这一年过的比较平淡。用三个关键词形容2014,就是"踏实", "责任"和"收获"吧。 more 2014年对于我来说,是很平淡的一年,没有什么大的波折,一些都还比较顺。这一年很踏实,这一年读了很多书(可能是我目前为止读书最多的一年),第一年开始认真用心的写博客,同时从广州转战上海,心里上也很踏实。 这一年奶奶去世了,家里还有几个老人,同时父母身体也不好,几次回家,都能感受到父母的担子。妹 继续阅读 »
2015-12-12 AllanChan
如题,作为Kali的忠实粉丝我觉得如果不在树莓派上折腾一下我都不好意思说我是它的死粉了。下面开始详细步骤(开始折腾)。 Tool 下载kali 点击这里 (PS: 别问Kali 是什么,直接吻我)。 继续阅读 »
2016-09-05 craneyuan
定义 基数排序(英语:Radix Sort)是一种非比较型整数排序算法,其原理是将整数按位数切割成不同的数字,然后按每个位数分别比较。由于整数也可以表达字符串(比如名字或日期)和特定格式的浮点数,所以基数排序也不是只能使用于整数。 more 算法步骤 将所有待比较数值(正整数)统一为同样的数位长度,数位较短的数前面补零。 然后,从最低位开始,依次进行一次排序。 这样从最低位排序一直到最高位排序完成以后,数列就变成一个有序序列。 基数排序的方式可以采用LSD(Least significant digital)或MSD(Most significant digital),LSD的排序方式由键值的最右边开始,而MSD则相反,由 继续阅读 »