V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  jackyz  ›  全部回复第 14 页 / 共 17 页
回复总数  322
1 ... 6  7  8  9  10  11  12  13  14  15 ... 17  
2012-12-05 12:24:05 +08:00
回复了 altrixe 创建的主题 问与答 如何对网站隐藏自己的mac地址?
@altrixe
http://www.v2ex.com/t/53465
这贴不是说通过 flash cookie 唯一识别的么?
mac 在 http 层是不可见的东西。
@linlinqi 借机与楼上探讨。

n 层嵌套确实很难看,但我很怀疑 promise 或者 async 这类的解决方案是否真的有效。我也曾经尝试过一些 module ——感觉对代码表达的限制很大。这类东西基本都是语法糖,而且是 for control flow 的语法糖,但 control flow 其实是一段程序的精髓,是很灵活的东西,对于这个东西的抽象常常让人产生“还不如退回去的感想”。

举例说明

function some_fun(req,res,next){
--redis.incr('next_id', function(e,r){
----if(e) return next(e);
----var object = {id:r, now:Date.now()};
----redis.set('key', object, function(e,r){
------if(e) return next(e);
------res.send([1,'ok']);
----}
--}
}

贴代码没有缩进,就用-符号代替 space 了。

通常来说,似乎可以用 serial 来理解这里的两层嵌套,但,如果考虑错误处理,问题就很复杂了。比如,if(e)return next(e); 这一句 return 则可以避免内层的 redis 语句执行,是有性能意义的代码。这里的处理是极度简化之后的情况,实际情况比这可能要复杂很多。

我要表达的意思是,如果以通用的 promise 库来做 serial 之类的流程抽象,似乎无法准确的表达这里的精微之处。

@linlinqi 对此如何取舍?
>> 初次用 expressjs 写了点小东西,窃以为变量作用域名是node.js(或者应该是javascript) ugly 的一个地方。

用了很长时间的 node.js 了,真没觉得。

>> 基本每一个模块需要占用一个全局变量,

类似

var m = require('./my_module');

你可以在 node 命令行里 require 你自己的代码,然后输入 m. 按 tab 试试看。全局的可以直接按 tab 看到,或者 global. tab 查看得到。这会让你对 exports 有个感性认识。你需要了解的是 node.js 的 module 机制。参考下面的代码, module 的概念与之类似:

(funciton(){ var a = 1; .... return {x:a}; })();

这个叫啥来着,立即执行的匿名函数?闭包?反正就是这个东西了。

你的 module 对外可见的,只是你 exports.fun = xxx 的部分,其余的一律不可见(我认为,这种机制比起 public private 什么的,至少是一样的强大)。全局变量的问题,基本不用担心。

>> 而且由于回调函数里可能需要使用父级函数的局部变量,所以回调函数嵌套几层之后,感觉使用每一个变量要非常谨慎,每一个变量都是一个炸弹。

...
function some_fun(req,res,next){
redis.incr('next_id', function(e,r){
if(e) return next(e);
redis.set('key', object, function(e,r){
if(e) return next(e);
res.send([1,'ok']);
}
}
}
...

类似这样的回调层次和作用域(不同层次都有 e 和 r 存在,这里,因为有 var shadow 机制,你可以很放心地取相同的名字),没什么可担心的。

回调使用外层的变量,这是 javascript 提供的语法机制,但如果回调里很大量地在使用外层变量,那就有可能是 bad smell 了,这很微妙,但不复杂,这种情况一般都可以很简单地重构为传参的形式。

>> 请问大家是如何规避这个问题?依靠命名规范?或者是我用法是不正确?

我认为你可能是还没有“习惯”。

btw. 个人建议慎用 coffee script 既然 plain javascript 能解决所有的问题,那就没有必要引入实质上是同一种语言(coffe script IS javascript)的另外一套语法。有个老外写过一篇,处处不记得了,转载在这里 http://cliclip.com/#clip/7/521
赞一下。

不过我觉得 express 的文档本身还应该再多包括点更多的东西,比如 connect 的概念什么的。否则对初学者还是太不友好了。
2012-12-03 11:29:49 +08:00
回复了 Livid 创建的主题 云计算 为什么在中国公有云落地那么难?
牛叉,谈得好透彻。
楼主加油。TB 很难治,耐药的或许更难,不过也有治好的,不要放弃希望。
我的一个同事,治了半年,已经回来上班了。
你治好回北京,我请你吃饭。
2012-11-26 12:16:13 +08:00
回复了 virgil 创建的主题 问与答 偶尔心情低落,烦躁。求v2exr推荐些书读吧。thx...
“山寨小波”的《我爱问连岳》
2012-11-26 10:32:50 +08:00
回复了 Frannk 创建的主题 Node.js pomelo 网易屌爆了
丁三石这个人还是比较偏技术的。不过该项目能 opensource 确实也是异数,或许杭州比较自由些?
2012-11-26 09:38:29 +08:00
回复了 jackyz 创建的主题 Kindle 在 kindle 和 paperwhite 之间纠结,求答疑。
@kql 我填的米国地址。查了序列号,不是官翻。
@happyface 这个项目很不错啊,果断 star 了,等有功夫了再慢慢折腾之。
2012-11-09 11:19:18 +08:00
回复了 Tuccuay 创建的主题 Markdown 写好的Markdown怎么生成HTML?
browser preview: http://www.showdown.im/
serverside batch convert: https://github.com/chjj/marked
@conis 同找。
2012-11-09 11:02:39 +08:00
回复了 yayanet 创建的主题 程序员 要不要挑战一下自己的基础知识?
第六题qq截图功能很好使
2012-11-09 11:01:55 +08:00
回复了 yayanet 创建的主题 程序员 要不要挑战一下自己的基础知识?
提示太隐晦了点

dddd3efba3cad41b58bf0c65a020....
2012-11-09 10:00:32 +08:00
回复了 ajoop 创建的主题 问与答 微软放弃MSN了,全部转skype了,有个疑问
确实很诡异,怀疑是 skype 和 tom 的协议未到期,双方又谈不拢……。

话说 tom 版的 skype 用着别扭,而且是两个完全不同的“金融系统”(因此有上述的怀疑),超级扯。
which one 绿野? lvye.info or lvye.org
2012-11-06 12:09:48 +08:00
回复了 jackyz 创建的主题 Kindle 在 kindle 和 paperwhite 之间纠结,求答疑。
[结贴]

嗯,最终还是贪便宜 taobao 买了 k5 现价 550 因为据说米国直接买还要交关税什么的,各种麻烦。省了 $50 感觉——这个便宜可以贪!

还是原装系统,也不准备折腾了。字典是随便弄了一个 mobi 的英汉字典,在 k5 下用方向键导航到想查的词,自动就出现翻译了,感觉很顺畅。

[写给后面的同学]

到手玩了几天,目前的感觉是:k5 在定位上就是一个电子书的“播放器”,“专心看书”才是它的设计核心,一切围绕着这个目的走——显示效果、轻便、续航,这些才是读书的核心需求,而且 amason 已经把这些做到了极致,你也不应该期望更多。

如果你的期望是“一个设备包打天下”,游戏,看图,视频什么的。那 kindle fire / nexus 7 / ipad mini 这些可能更适合你。CPU 更强、彩屏、更高的主频,它们能干的事儿更多,同时也意味着更耗电、更重。因此,在看书上,劣势就很明显了——续航时间更短、显示效果更“不象书”、手感更重,——因为它们就不是专为看书而设计的嘛。

[新的困惑]

现在发现的问题是——想看的书大多比较偏门,又不想花钱买,白书不大好找呀。PDF 的话,扫描版的基本没法看,字太小,费眼,而且还要找到为 6 寸 kindle 的优化版才可以看得比较爽。mobi 和 epub 了解的还不多,咱不评论。txt 似乎最灵活,但是又缺目录、缺图片、缺版式。

有木有为我们这些白书分子准备的 html/markdown 转 6 寸 pdf 并带目录/排版的转换/投递服务呢?
@treo

话说国内那些网银的甲方之前大多认为只有自己搞的一套跟谁都不一样系统才能让人放心用,比如某行的 1024 位 RSA 加密神马的(年代久远,记不清鸟)。于是,各个乙方就各出奇招,把各种标准拿来改造一点儿代码再做实现,再号称是自主知识产权拿去竞标。。。

再有就是,之前有一阵子做 web 只需要支持 ie 就可以了,因为 netscape 没落了的说,所以 activex 神马的随便用,不想到了现在,弄个 win7 来跑那堆玩意都很让人崩溃。。。某些银行的网银,只有在筛子一样的 xp 下才能跑得比较顺畅。

一来二去的,就变成了现在这个样子。用网银有时真的是个高风险的事。

话说,那堆杂七杂八的过时技术,是该到了升级的时候。
2012-10-27 08:46:48 +08:00
回复了 jackyz 创建的主题 Kindle 在 kindle 和 paperwhite 之间纠结,求答疑。
@blaulan 看完你的意见纠结+1。。。:P

@wogong “方向键查词可以接受”,很有帮助。
2012-10-27 08:40:29 +08:00
回复了 mashihua 创建的主题 酷工作 广州简悦科技寻人
@haxe soga, thanks for answer.
2012-10-27 08:38:47 +08:00
回复了 kchum 创建的主题 问与答 不知道V2的童鞋在用哪几款网盘呢?推荐下!
哎呀,这贴人多,借贴提个问哈。

有没有哪家网盘提供这样:某目录的 link 功能。

比如,对于一个 dev team 来说,他们的 code template 目录 link 相同的数据,如果某个人更新一下这个目录,那么大家都跟着自动更新,这样。

dropbox 的 copy ref 有点像。但自动更新似乎就不能,如果要做的话,只能 one by one 的去 copy (不确定)。
1 ... 6  7  8  9  10  11  12  13  14  15 ... 17  
关于   ·   帮助文档   ·   自助推广系统   ·   博客   ·   API   ·   FAQ   ·   Solana   ·   3003 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 55ms · UTC 12:49 · PVG 20:49 · LAX 04:49 · JFK 07:49
♥ Do have faith in what you're doing.