V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX  ›  YuJianrong  ›  全部回复第 19 页 / 共 25 页
回复总数  499
1 ... 11  12  13  14  15  16  17  18  19  20 ... 25  
2015-09-15 22:04:03 +08:00
回复了 heylogo 创建的主题 Chrome 个人认为谷歌浏览器堪称开发神器,你们觉得呢?
没有见过比 chrome devtools 更强的 web 开发工具。

控制台: chome 的是光标从上往下而不是 FF/IE 那样一小条,个人觉得好用很多
调试器:超级强大,文件可以按目录排而不是 FF 那样所有文件放一起,这对于我们一个项目超 1k 个 JS 由文件夹分模块来说是杀手级的。然后断点有 JS 断点、 dom 断点、事件断点和 XHR 断点,几乎能调试任何问题。最可怕的是几个版本前还增加了异步 call stack (据我所知没有任何其他调试器包括其他语言的调试器实现了这个功能),虽然实际应用场景不是很多不过用于调试一些疑难 bug 还是有用的。
profiller: 能记录 JS 函数调用和 heap allocation snapshot ,分析内存泄露神器
time line :记录整个 render 过程的 JS 和 render 调用,能对 render 进行逐步分析(不是很好用),还有 canvas 断点用于调试 Canvas 应用(没用过)

说实话我相信 chrome devtools 这个先进程度在这个星球上其他浏览器在数年内是赶不上了(而且 chrome 还在快速演进,不要说赶上现在连不被抛离都有难度啊)。

备注:本人是曾经的 Firefox 粉,不过开始大规模开发 HTML 后就投入 chrome 了。
2015-09-15 21:46:38 +08:00
回复了 snailsir 创建的主题 编程 现如今,递归的效率到底有多差
1. 递归性能是真的差, call 一个函数的时候大多数语言都需要有一定程度的资源分配、释放等操作,这当然要比单纯循环性能更差。
2. 为了能回溯,递归函数的参数和地址需要分配在 call stack 上,大部分语言的 call stack 大小都是有限的,递归太深就会爆掉
3. 没有 side effect 的语言(如 lisp, haskell )当递归在尾部的时候可以做尾递归优化,这时函数其实并没有递归而被优化成循环了(实际上 lisp 没有循环本来做循环就得靠尾递归)。

顺便黑一下 lisp ,这玩意玩玩就好其实根本不能适应现代大规模开发,我看还是学好 C++/java/JS 比较实在。
2015-09-13 21:27:21 +08:00
回复了 ylsywkd 创建的主题 问与答 停用硬件加速后, canvas 渲染速度变快了是怎么回事。。
几何图形很有可能是无法从硬件加速中受益的。受益最大的应该是位图绘制。
@jadecoder 问题在于如何定义何为“异常”。异常可大可小,磁盘损坏读文件读不出来是系统级异常,某个函数参数应该小于 10 结果给了 11 是“业务异常”,然而很多做业务的时候就在最外面捕捉一下抛给前台了事,这能一样吗?
滥用 try/catch 的结果就是根本不知道怎么就跑到异常处理去了,程序是简洁了,不过却让最终结果十分不可预测。
所以既然说 try/catch 是 goto, 然而 goto 就是 goto ,虽然你小心地用 goto 也没啥问题(我就在很久以前的一个项目中用 setjmp/longjmp 来做异常恢复),但它本身存在就会有导致滥用的可能性,其带来的好处和带来的问题相比我觉得并不值得。
首先要搞清楚 go 其实是一个增强版的 C ,把 C 不太好的地方(比如内存管理)增强了一下,所以 C 里没有 try/catch go 里也没有也合理。
其次我也是非常反对 try/catch 的, try/catch 本质上是一种跨函数的 goto (在 C 里可以用 setjmp/longjmp 模拟),连函数内的 goto 都深恶痛绝的现代程序开发怎么能接受一种能彻底改变程序流程的存在呢?所有的错误都应该正确地处理,而不是抛一个异常了事,滥用异常只会使得程序流程完全不可控。
2015-09-10 08:42:23 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@cxbig 不懂 php ,看来原生支持 namespace ,那确实会容易分析很多。

@Perry 我的观点是至少对于 JS 这种特别灵活的动态类型语言 IDE 没啥用,在我以前用 VS 的时候 VS 也只是编辑器+调试器的作用,没有类似重构这样的高级功能也没觉得有啥不好。
2015-09-10 01:34:46 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
修正: “无论这个 IDE 在静态分析上用了多少奇技淫巧,想直接分析出我们项目的依赖是根本不可能的……”
2015-09-10 01:33:45 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@cxbig 没用 php 不懂。对于我们来说额外的 meta 定义不大可能,文件太多了。

@FrankFang128 这个是类 AMD 不是说就是 AMD ,就用 AMD 的风格解析是行不通的,要想正确解析唯一的可能性是自己写解析。很遗憾我们没有这样的动力。不过这个 IDE 在静态分析上用了多少奇技淫巧,想直接分析出我们项目的依赖是根本不可能的……
2015-09-10 00:34:44 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@FrankFang128 所以说究竟是说静态类型还是动态类型语言呢?
1. 静态类型语言跨文件重命名也无所谓,因为有编译期保证。
2. 动态类型语言跨文件 IDE 也帮不了你,因为分析不出来。

我们自己的 JS 项目采用自己的类 AMD 协议模块定义,不过增加了模块 namespace 支持,重命名的时候就是按模块名(包括 namespace )全局查找一下就能找到所有引用了,然后全局替换即可。这其实即使是 IDE 也是做不到的(根本分析不出来)。

所以重要的是模块和类定义规范,而不是什么 IDE 吧。
2015-09-09 23:37:22 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@incompatible 而且静态类型语言有编译期保证替换就更放心了(以前用 VC 写 C++重构代码还是替换……)。
2015-09-09 23:34:56 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@incompatible 我说的又不是静态类型语言,我说的是 JS 这类。
2015-09-09 23:30:52 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@FrankFang128 我知道有些编辑器有这种功能啦,但事实上
1. 绝大多数情形下根本没有重名的 case
2. 有时代码复杂到静态语义分析并本不管用

所以直接替换也就可以了啊(至少对于我来说重构就是替换名字)。
2015-09-09 23:22:59 +08:00
回复了 Wangxf 创建的主题 Sublime Text 用 sublime text 小半年了,说下感受
@FrankFang128 重构不就是替换一下名字吗……为什么不行……
2015-09-09 12:17:56 +08:00
回复了 EvanQu 创建的主题 互联网 iCloud Drive 想说爱你不容易,讨论下大家的首选网盘是什么
没有 win 的需求用下来感觉 icloud drive 不错。 win 下要用就用网页版感觉就可以了。
2015-09-08 09:57:34 +08:00
回复了 machinemxy 创建的主题 Coding 即时通讯现在一般都使用的什么技术?
为什么现在还要寻求点对点方案?中心中转压力并不大吧?点对点就要面对都在代理 /路由后面所以无法直接建立连接的问题。
2015-09-07 23:10:31 +08:00
回复了 7dzxtaobaocom 创建的主题 奇思妙想 滴滴快递
帮人捎东西是因为你信得过他。
机场帮陌生人捎东西?运输 50g 硬毒品在中国就是死刑哦……
2015-09-06 20:53:31 +08:00
回复了 czipeng 创建的主题 程序员 大家觉得 gmail 真的安全吗?
安全相对谁来说?
Gmail 的东西美国如 NSA 什么的肯定是有后门的。
中国政府大概会用上中间人攻击,不过当然是要被盯上才会,普通人谁理你。
总之最安全的东西还是在自己本机上,自己生成的 PGP ,通过可信渠道传输公匙,其他没啥方法安全的。
2015-09-06 11:21:02 +08:00
回复了 Ricoo 创建的主题 JavaScript 通过微信接口获取到图片的 localId,怎么能用 canvas 的 toDataUrl?
图片没开放权限的话跨域是无解的。要不安全性哪里来……
这分明是很正常的事情。遇到不道德不遵守规矩的行为标识愤慨或者加以提醒 /阻止本来就是正确的,如果每次都是不关心,社会道德意识怎么提高?
说什么事情有很多不公平自己不要一一出头的,所有人都那么想的话,那大家恢复原始社会想抢什么抢什么好了,还要现代道德规范意识干什么。
2015-09-03 01:28:52 +08:00
回复了 ChefIsAwesome 创建的主题 前端开发 大家有没有觉得 js 现在靠编译的东西太多了
灵活,上手难度低的另一面就是不规范、代码质量低。
现在向前走的路线都是向规范和高质量代码前进的。
模块化( AMD, CMD, commonjs )、编译期代码检查(jshint, eslint )、标准规范( typescript, babel/es6, jsx )这些都是为了将 JS 从一种为 web 页面做点飞来飞去豆腐块的那种小特效的简单应用语言变成一种能支持成百上千人协作开发的大型项目的语言,这是 JS 未来发展的必然,作为 JS 开发者处于这种变革的时代应该觉得兴奋而不是想着回到以前做点豆腐块就满足的时代去。
1 ... 11  12  13  14  15  16  17  18  19  20 ... 25  
关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2221 人在线   最高记录 6679   ·     Select Language
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 · 35ms · UTC 04:55 · PVG 12:55 · LAX 21:55 · JFK 00:55
Developed with CodeLauncher
♥ Do have faith in what you're doing.