promsieA+是由promiseA演化增强来的,为了解决js异步回调层次过多代码,造成结构混乱难以理解的这个问题的,之前用过when.js 还有Q。Q是用在nodejs端的库,when也可以用在浏览器端,但是要重新build,我是在浏览器端用的,体积有点大啊,就作为尝试而已。
先来看一段代码感受回调之力
1 | var log = console.log.bind(console); |
promsieA+是由promiseA演化增强来的,为了解决js异步回调层次过多代码,造成结构混乱难以理解的这个问题的,之前用过when.js 还有Q。Q是用在nodejs端的库,when也可以用在浏览器端,但是要重新build,我是在浏览器端用的,体积有点大啊,就作为尝试而已。
先来看一段代码感受回调之力
1 | var log = console.log.bind(console); |
之前讲了长轮询什么的 提到了运输层的持久连接(persistent connection) 今天就来实现一下吧 总之经过多方的对比 持久连接就是长连接 与之对应的为非持久连接(non-persistent connection) 虽然运输层有TCP和UDP协议 但是不知道为什么却叫做TCP/IP忽略了UDP 反正 随便啦
首先讲一下 tcp协议 这个协议的结构是这样的
宽度为32位 32位和16位 其中首部长度4位,URG、ACK到FIN那一串为标志字段各1位,所以保留未用的有10位 其实URG PSH 和紧急指针也没有用到 然后这里涉及到的字段有:序号、确认号、ACK、SYN、FIN、数据。然后下面这个图又是关于一个完整的tcp请求的详细的过程的说明
之前偶然看到这个 于是就查了一下 发现网上的资料博客基本都是在扯淡。。。。
首先总结一下网上博客那些错误
20150815 次奥。。。自己写的库太渣 自己都看不下去了 然后直接删掉了
20150703 更新:后来发现这个库 非常好用 发现这个后我快要放弃自己写post请求了
之前写过一篇关于这个的 但是后来随着代码更新 干脆吧原来那两篇都删了重新写过了
在java开发网络请求过程中 一般使用HttpClient 和HttpURLConnection这两种方法
安卓然后就出问题了 本来是想用HttpClient因为用的人比较多 而且各种东西都已经帮封装好了 比较方便 但是实际用的时候出现了一个很严重的问题 非常严重啊 导致无法使用
这个问题是这样的 安卓自带有HttpClient的类 但是版本非常旧了 到httpClient官网下载新的之后导入运行之后发现 两个HttpClient冲突了 包名类名完全一样 导致新的HttpClient类无法使用啊 为了解决冲突 貌似有个HttpClient for android 的项目 我试了好久发现依然不好用 干脆用HttpURLConnection自己封装一个吧
真是艰难啊 因为之前没有做过单元测试 基本都是直接在应用里面测试的 可能是因为项目都不是很大 所以好像也没有什么问题 于是今天有点空 就研究一下 听说androidStudio自带jUnit 于是就开始研究了 真艰难。。。各种查资料 全都是在adt下的安卓应用单元测试 查到androidStudio的也都是不知道在说什么 心好累。。。。
搞了一天 终于明白怎么弄了 我们的包名为 in.xjp.testcaseapplication
AndroidStudio 版本为1.2.1.1 系统 ubuntu14.04 x64 jUnit使用AndroidStudio自带版本
之前遇到一个问题 微信支付完成后要跳转到一个指定的activity 虽然可以给这个activity设置dialog的样式 让它看起来好像是个弹框一样 但是毕竟还是另外的activity 支付后的回调数据无法直接传到调起支付的那个activity 和支付宝支付的逻辑有点不一样 于是我就想 有没有方法可以 给activity起别名 类似linux的硬链接 然后找到了 果然有AliasActivity这个类 但是和想象的不一样额。。。。。。
从源码可以看出来 AliasActivity是继承自Activity的 所谓的别名其实也是很简单的在它的onCreate里面调用startActivity跳转到目标Activity 并吧相关intent里面的data传过去 然后再把自己finish掉 做成一种直接跳转过去的假象 其实这过程中间是有个中间Activity的
好久没写了 不知道写什么东西好 就没写了 也太懒了自己
之前git相关的简单的命令 pull push clone add commit 之类都用的很熟练了 之前合作开发的时候也都是用的同一个远程git地址 但是最近都是用fork的形式来合作开发的 所以 就涉及到多远程源了
一个项目 git@A:a.git 有两个人 A与B 或者更多 a是由A负责管理的 B是参与开发者 是不能直接提交到a的 无论是master还是其他分支 以前我都会是让master给A管理 合并啊 push啊 都是A 然后单独开个其他的分支必然dev给B B只能在dev上操作 虽然没什么问题 但是不好
。。。标题好像很屌的样子。。。
前两天在看权威指南的时候看到这里,,,,然后感觉好混乱,,,。。完全没明白。。。然后我就写了很多测试。。。然后做了一个整理 关于这几个的一些东西 然后截成图是这样的 所有的测试均在 chrome 38下完成
第一个图是包括了js的所有的类型 基本类型和内置的对象 以及其他