这篇博客介绍总结了国内外,面向Android开发者的用户行为收集、分析、错误崩溃信息收集反馈的开源、商业工具,以及他们的一些特点。
Scala的抽象语法树打印小工具-小拉达
最近做的两个项目,一个是VeriScala,另一个是Lickitung,都涉及到了Scala的抽象语法树(AST),前者是写macro的需要,后者是做AST的pattern match。
但是在网上竟没有发现一个很好的格式化打印AST的工具。唯一找到的是ScalaAstPrinter,然而用法和输出都不太符合我的期望,不知道是这个需求太小还是我走错方向了。于是自己写了一个。因为只有几十行代码并且是个很小的工具,于是取名叫Rattata,口袋妖怪中的小拉达。
浅入浅出BitTorrent协议
目录
- 序言
- 历史
- 社区化
- BT下载流程
- B encode
- 元信息文件 .torrent
- 客户端和Tracker服务器
- peer to peer
- 一些trade-off
- 扩展协议:DHT和PT
- 结尾
序言
随着全球接入互联网人数的增长,对互联网应用的服务端要求越来越高,吞吐量和并发量逐步加大。像国外的Google、Amazon,国内的阿里、百度等大型互联网企业十分关注如何使用集群、复杂均衡等技术来提高网站的并发和吞吐量。但对于保存大文件给用户下载的中小型网站,在互联网爆发式增长下,用户数量越来越多,传输的文件越来越大,使用一台或几台服务器和传统的FTP、HTTP协议难以满足用户对下载速度的需求。
例如在国内一个名叫“漫游”的动漫资源网站,通常字幕组将原版的日语新番加上字幕后,通过这个网站发布给动漫爱好者下载。并且这类资源都是高清格式,一集20分钟的视频资源大小可以达到500MB以上,蓝光DVD资源压制的24全集视频,大小高达10GB以上。除了提供的资源特别大之外,资源的数量也是非常多,这样的网站如果使用HTTP,FTP协议,几台服务器是无法满足如此大的用户请求量的,硬盘读取速度和带宽也是一个限制。BitTorrent协议解决了这些问题,所以也有了漫游的存在。
上面左图为传统的从服务器下载方式,右图为BitTorrent下载方式
Android跨进程模拟触屏事件(sendevent)
转载请注明出处
- 这是一篇通俗易懂介绍用软件的方式模拟Android触屏事件,包括其他传感器事件的一篇博文。
- 整个Internet上还没发现一篇如此友善且更加详细的博文(Google的文档很详细但不friendly)。
- 用该技术可以实现一些很cool的东西,亦或是干一些坏事。
我理解的Euler,Trapezoid和Midpoint方法
最近写了个游戏设计课关于物理计算的作业,需要用Euler
,Trapezoid
和Midpoint
三种方法模拟一下炮弹的飞行。
上课没有听,后来看了下维基,开始以为很高大上,后来发现其实很容易理解。