微信苹果之争
Comments
tags:随笔
如果苹果的逻辑成立,所有卖非实物的都要缴30%苹果税,并接受两步支付。 (两步支付,用户先付钱给苹果,苹果再按周期和应用结算。据说苹果只给总数,不给流水。所以淘宝上好多超便宜的应用内购买其实走的是付钱-->应用内拿到商品-->找苹果退款-->应用内商品不会收回) 那么,移动电信有没有资格跳出来说,你用的都是我建的基站和网络,我也要收30%买路钱呢?手机制造商能不能收?供电局能不能收呢? 最后一个思考题:如果苹果下架/腾讯撤应用,微信和苹果手机变成互斥 你是继续使用苹果放弃微信呢?还是放弃苹果改android手机用微信呢?…
A NodeJS lib starter with TypeScript and webpack
Comments
https://github.com/enixjin/typescript-nodejs-webpack-starter…
记一次技术争论
Comments
因为工作中一直用到RxJS,所以在知乎上关注了这个话题。 然后么,看到这篇文章Hello Rx。读了这位太郎写的代码,总感觉怪怪的,所以留了评论想讨论下。结果么,这位仁兄吵着说要我show code,真的show了code的结果就是举报我的评论不友善。。。我也只能呵呵了 实话实话,这位的代码应该稍微改改还是能跑出来的(恩,从评论看各种错误、漏写,估计他自己也没跑通过)。如果是个刚毕业的新人,写出这样的代码还是需要表扬的。但是呢,如果作为给别人演示代码的质量来衡量,还是差了十万八千里了。 作为比较,这里贴一个实现一样功能的代码:JS Bin,大家可以自己对比一下。 先从非常基础的命名开始吧: const enter$ = Observable.fromEvent<KeyboardEvent>($input, 'keydown') .filter(r => r.keyCode === 13) const clickAdd$ = Observable.fromEvent<…
如何理解NodeJS(二)写好异步代码
Comments
tags:NodeJS, Javascript, 技术
如何理解NodeJS (二)写好异步代码 链接:(一)基本原理 上篇说到,得益于异步的机制,NodeJS在拥有卓越性能的同时,也会使逻辑的实现变得更复杂和难于理解。 首先,其实NodeJS也是能实现blocking的代码的,比如读取一个文件: var fs = require("fs"); var contents = fs.readFileSync("data.txt", "utf8"); console.log(contents); console.log("done"); 这样写的输出结果就是先读取打印文件的内容,再输出done. 当然,这样就失去了使用NodeJS的优势,而且,绝大部分的库(比如文件的读取,数据库的操作等)都是使用异步机制,并且不提供类似fs的sync同步方法,而一般的Callback写法应该是这样的: var fs = require("fs"); fs.readFile("data.txt", "utf8"…
如何理解NodeJS(一)基本原理、优势、劣势等
Comments
tags:Javascript, NodeJS
如何理解NodeJS (一)基本原理、优势、劣势等 用NodeJS相关技术作为项目的主平台开发已一年有余,写个小文章谈一下如何更好的理解NodeJS。 要理解NodeJS,就必须看看它和其他的Java,C#写的服务器有何不同。 如果你Google一下的话,就会发现很多类似这样的文章:w/1M concurrent connections! 或者这样的:600k concurrent websocket. 而Java服务器,在没有用任何工具的情况下大概一个服务器能撑500-1000个并发。(除非上和NodeJS原理相似的netty) 为什么NodeJS能在默认单线程的情况下实现如此高的并发呢?这和NodeJS的三大特点: Single threaded Event Loop Non-blocking I/O 是分不开的。 举个具体的比喻:我们传统的程序处理方式就和去银行办事情一样,我们手里拿着几件要办的事情来到银行。从门口的机器里面拿到一个号,一般有多个窗口在办业务(多线程),当叫到我们的号时,我们去特定的窗口把我们要办的事情都办完(阻塞性),然后下一个人。如下图: (一家拥有3个柜台/服务员的银行) 现在,更高效的NodeJS银行开张了,去里面办事是一种什么体验呢?…