q*c 发帖数: 9453 | 1 但是用一个普适的标题以此来强调换了 node 程序减少 几十 倍, 。。。想表达什么
呢?
想表达的是 node 牛逼 几十倍 这种扭曲的信息吧?而不是你说的不同的人的不同实现
方式。
人是很低等的生物,把私货论点忽悠在几个刺眼的个例里面,平时很精明的人也会上当。 |
|
c******3 发帖数: 296 | 2 单纯比代码量毫无意义,因为很多代码可以包在framework里。比如某个项目要求你把
数据库100个表发布到网上,对每个表作CRUD。你用Node会写几天几行?用Java有现成
的framework,一行代码都不用写。你Node再牛也比不过吧。 |
|
t**r 发帖数: 3428 | 3 okay.
自己鼓捣的话, 二爷推荐哪个呢?
node自学了一遍皮毛,打算拿个framework 开始写写app玩玩 |
|
p*****2 发帖数: 21240 | 4
目前可能angular最火。但是我前端不太懂。
meteor很好用,但是跟node的路子不太一样。 |
|
|
l**********n 发帖数: 8443 | 6 如果不是异步,用node.js没必要,php好多了 |
|
v*****r 发帖数: 2325 | 7 最近工作用上 诺德 express jade mongo, 很不错 ,确实lightweight and fast,
total control. 也考虑过spring and grails, 觉得不如node, 罗唆, grails 的错误
信息很差劲,基础框架太复杂,groovy, gsp, plugin, 乱七八糟. node 错误信息大多都
还好figure out. |
|
s***o 发帖数: 2191 | 8 哈,所以说你已经有理由中意node了
node上有没有新的full stack web framework? meteor就算了,不是我的菜 |
|
z*******3 发帖数: 13709 | 9 用来写点游戏试试
你就知道脚本有多糟糕了
这个只是面向简单局限应用的一种语言
而不是general purpose的
而且很明显,客户机器和后端都跟www没有太大关系酱紫
还有就是node现在版本号都没敢上1啊
那个作者其实水平很糟糕,他以前做的很多项目,c写的
都华丽地失败了,所以node一直在大并发时候有不稳定的情况发生
当然一般人想不了这么多,创业时候连个20个用户流量都没有呢
考虑10000个连接丢了97个,不重要,想不了那么多
但是我们搞点游戏,就不用这个东西
都是平台决定了上层建筑
and |
|
d*******r 发帖数: 3299 | 10 二爷你这个整篇没看到 Node... 给个 Airbnb 的 Node 构架连接吧 |
|
|
d*******r 发帖数: 3299 | 12 Node.js 的 web framework 都用 express.js 吧
上来确定下,自己想用 Node.js + express.js + MongoDB 做点 RESTful 的 service
跟 frontend 关系不大,如果要用可能是用 backbone.js 之类 |
|
|
d*******r 发帖数: 3299 | 14 没完全懂,那就是只有 Node.js 自带的 lib 被调用的时候,被调用部分才会被放入
Node自带的 thread pool? |
|
|
|
M***0 发帖数: 1180 | 17 搭车问个node的问题
每遇到一个IO操作都必须把剩余的代码写到callback function里,如果用在backend,
一个business method调用N个DAO methods共几十个SQL是很正常的,那code些起来不是
很麻烦? 要一直传callback functions, 无限嵌套耦合度非常高不是吗,代码维护怎
讲?
还是node只适合做SOA的front end,而且是每个操作不需要调用太多次backend API的
那种? |
|
d*******r 发帖数: 3299 | 18 一个帖子,转来大家讨论一下
最近使用 closure 和 anonymous function 遇到些问题, 大家探讨一下。
简单说就是当临时写一个 closure 或者 anonymous function 当 callback 使用时候
,如果让这个 closure access 了 external scope 里面的 variable, 就容易出现 "
access mutable variable " 的问题 (WebStorm 就会报 warning).
比如这个帖子里面描述的例子:
http://samwize.com/2013/09/01/how-you-can-pass-a-variable-into-
里面的 callback 引用并使用了 external scope 里面的 i, 所以出错了。
他是通过用 bind( {i: i} ) 将 i 的值传入注册时候的 callback 来解决的,当然也
有其他方案, 比如将 dummy(i, function(response)) 改成 dummy(i, function(
response, i)) 也行。
我在想... 阅读全帖 |
|
d*******r 发帖数: 3299 | 19 二爷我没有 bash Node 呀,Node 确实写并发挺方便的,特别是各种 Net/File IO,最
近用着确实挺爽的.
我只是觉得写 JS Closure 的时候,我需要注意这个 access external mutable
variables 的问题。
刚刚扫了一眼 CoffeeScript, Coffee 有个 do 关键词就是跟这个有关.
http://coffeescript.org/
When using a JavaScript loop to generate functions, it's common to insert a
closure wrapper in order to ensure that loop variables are closed over, and
all the generated functions don't just share the final values. CoffeeScript
provides the do keyword, which immediately invokes a passed function,... 阅读全帖 |
|
p*****2 发帖数: 21240 | 20
这个你慢慢就知道了,好处远远大于你这点迷惑。Node是thread safe的,multi
thread的一堆破问题,在node里你根本没有必要worry。 |
|
d*******r 发帖数: 3299 | 21 其实是这样的,有很多变量本来就是拿来所有 模块/进程/host 共享和修改的,比如故
意全局共享的一些状态,或者 remote 端的 DB 里面的一些值,这个确实对所有语言都
一样。这样的话,在任何一个范围内 (e.g. event handler),你 access 这些变量,
都是可能被别的执行单元 (e.g. event handler) 修改过,对这些修改是有心里准备的。
我说那种,还是属于吴用了 Node, 然后觉得这些变量在某个范围内,是不会修改的,
然后其实被修改了,然后逻辑就出错了。还是跟 Node 有关的。想想主要还是async的
注册/执行 event handler 的时间差造成的。消除这个时间差的一个简便办法,就是注
册 event handler 的时候,就 copy 当时想访问的变量的值。
closure |
|
q*c 发帖数: 9453 | 22 node 主要是built in async io. 对于特定应用, 比如大量空闲链接少数对话,如同
聊天室,是很合适的。 对于快速响应性能不行。
node
requests
conversation |
|
|
b***e 发帖数: 1419 | 24 我来改进一下这个银行的例子:
同步多线程:有50个一模一样的银行一字排开,每个银行里有分别有填表,A,B,C四
个不同的职能窗口。进入一个银行的顾客必须按照以下流程办事:
1. 填A表,
2. 在A窗口办理A表,等
3. 填B表,
4. 在B窗口办理B表,等
5. 填C表,
6. 在C窗口办理C表,等
7. 退出。
新顾客来了,挑一家无顾客的银行进入办事。如果所有的银行都满了,在外面排一队等
着。
异步单线程:有一个银行,里面有一个填表的窗口,50个A窗口,50个B窗口,50个C窗
口。每个顾客按以下流程办事。
1. 填A表,如果填表窗口有人,排填表队。
2. 填完A表,到一个A窗口办理A。如果所有的A窗口有人,排A队。
3. 填B表,如果填表窗口有人,排填表队。
4. 填完B表,到一个B窗口办理B。如果所有的B窗口有人,排B队。
5. 填C表,如果填表窗口有人,排填表队。
6. 填完C表,到一个C窗口办理C。如果所有的C窗口有人,排C队。
7. C办完了,退出。
可以看出,... 阅读全帖 |
|
|
b***e 发帖数: 1419 | 26 Here's something I got from stackoverflow:
"NIO only helps to keep number of threads low (around the number of
available processors) and thus saves memory (each thread consume a lot of
memory) and allows enormous number of simultaneous connections, but usually
has worse performance than blocking IO."
Which is the same understanding as what I got. But I do find other texts
stating it facilitates throughput. My point was the essential mechanism of
NIO might not be the same as node.js single thre... 阅读全帖 |
|
N********n 发帖数: 8363 | 27
LOL. You are now in flat denial when being caught w/ your pants
down. Your beloved NODE/JS is good for LAMP-flavor websites maybe
but that's about it. Once you stretch it as if some kinda better
than any server framework you just are just a big laugh.
.Net guys are laughing at you. Java guys are laughing, too. So
are Scala and Go guys. I'm sure C++ guys would laugh as hard if
you dare talk some NODE crap to them. LOL. |
|
l*****n 发帖数: 246 | 28 【 以下文字转载自 Java 讨论区 】
发信人: liushen (iwa), 信区: Java
标 题: node.js还是tomcat
发信站: BBS 未名空间站 (Sun Jun 29 18:00:31 2014, 美东)
有个course project,server side不知道是用tomcat好还是node.js好?
哪个job market更好一些?
转专业CS master诚心求教!感激不尽!!! |
|
|
b***e 发帖数: 1419 | 30 I am not concerned.
First of all node is more at the language level rather than the framework
level. So NodeJS and Rails are not parallel to each other. It's more of
MEAN and RoR are parallel to each other. A language will converge
considerably better than a framework. Beyond that, NodeJS is not developing
its own runtime. The runtime is based on V8, which is developed an
maintained by big G, powering Chrome.
Second of all, node is backing up live products of major businesses (e.g. MS
, Yah... 阅读全帖 |
|
z****e 发帖数: 54598 | 31 因为node.js的作者水平不行
v8的作者就是dart的作者
dart编译成js比你手写的js要快
而且dartvm直接干掉v8的效率
http://www.dartlang.org/performance/
coffeescript只能编译成js去跑
作者并没有任何效率优化的经验
所以upper bound不会超过js的upper bound
应该这样问,有了v8和dart,为什么还需要node.js?
一个慢腾腾的玩意,睾丸还被捏在别人手里
dart的本意就是希望googler对于js效率不满意时候的另外一个选择
coffee只是js上的一个套子而已,并不能从本质上优化引擎的效率
而dart可以,lars bak搞优化出身的,水平可不是盖的 |
|
z****e 发帖数: 54598 | 32 前端技术一点都不重要,20年后还可以看到有人用php
node有一个严重的依赖就是v8
你想,v8是google造的,但是google自己都不用node
为啥?但是google在用dart撒,dart造出来的本意是说
给google程序员对js效率不满意时候的选择
当然可以说前端不怎么在意效率,那还有另外两个理由
1)讨厌js,讨厌js的人不要太多,你还没被js折磨过?
我当年写js包括web的时候是我人生中最黑暗的时期,不堪回首
我当时就觉得,人生要是只写这点东西,那我估计快被淘汰了
因为一个刚毕业的,他花一个月时间就能上手
那我的竞争优势从何而来?你觉得呢?
有人说可以用cs,那dart同样可以编译成js,cs并没有使js增加优势
相反,恰恰点出了为什么不要用js,你看捧js的人自己都不用js
跑去用cs,那为啥你还坚守呢?
2)support,dart editor很管用
难道你很喜欢用chrome去debug么?
用vi去写程序?我的天,那写到啥时候去 |
|
z****e 发帖数: 54598 | 33 v8就像是clr,node就像是mono
你要是搞c#,当然是m$说啥你就听啥了
你自己搞一套,各种扯蛋的事跟着过来
这就是为啥到现在node版本都不敢上1.0的缘故
难道有人以为他真不想上1?
呵呵,不懂v8怎么做的,很多东西没那么容易做
造轮子没那么容易,相比之下dart就是正宗的.net了
说到底都是平台的斗争,v8被控制在google手里
这个基础就不稳了,怎么整都是瞎整
最后归于波澜不惊,前端什么时候搞出个技术不闹一阵?
.net没闹过?还是php没闹过?ruby也闹过呀
都是浮云,都是骗子
平台让你用啥,你就老实用啥,准没错 |
|
z****e 发帖数: 54598 | 34 傻逼,你给的链接里面没有什么有营养的东西
一堆人在那边blablabla,狗屁东西没看到
或者说你对node.js和js engine的理解停留在字面上
你甚至不明白到底该怎么去摆脱v8的束缚
其实也不难,我已经告诉你答案了,用vert.x
你就找到了另外两个server side js engine
node.js面临着前后夹击,一方面睾丸被捏在别人手里
另外一方面,当它去到server side的时候
陡然发现,人家已经不需要它了,so how u gonna create ur wheels? |
|
|
i**i 发帖数: 1500 | 36 傻逼, 你说的是v8是node的睾丸,捏在别人手里。除了v8,node别无选择。v8快的别
人拍马也赶不上。
你来搜搜v8和其他实现的performance比较。
你就是一个疯狗,放出来以后到处乱咬。 |
|
h******b 发帖数: 6055 | 37 你说的nodejs或者说任何语言也一样成立。同样有大把内部人员做,根本不登工作广告
的。
而且语言真的是很小很小很小一个比重。 重要的是生态环境,你学python就是学
django,学node就是express。 php就靠wordpress和magento两板斧就很难被淘汰。
关键不是是不是可以拿一个语言做什么,是有没有足够多的就业机会和github/stack
overflow的support。
楼主是问投资哪个,只有拿出客观数据才是负责。 二选一根本没的比,无脑入node。
dart |
|
h******b 发帖数: 6055 | 38 tiobe的含金量远远不如indeed和github来的实际。
php的东西也不是node/dart能取代的。 wordpress和magento这两个ecosystem就足够
php吃下面十年了。
我向来不反对学东西,只是坚决不学非主流。 什么时候dart在indeed上面工作数量是
node二分之一不是十分之一了,我自然会考虑的。
术有专精。 无论你怎么讨厌js,无法改变它是互联网时代第一语言。 我只要专攻它
的ecosystem就足够。为什么要学冷门技术? |
|
z****e 发帖数: 54598 | 39 我不觉得编程难度在下降啊
我当时恐惧,我很快就找到了出口呀
我现在觉得我对数学和生物的知识的渴求是越来越多
后悔当年数学学得不那么好,backend的要求越来越高
这就是为啥我当初坚决搞backend
到现在我还是觉得这里面有无穷的秘密可以挖掘
最终的目标是造skynet呀,你觉得这个目标在我有生之年
能实现不?我觉得难
但是我觉得你的工作的难度在下降
同一个部件的开发难度必然是下降的
但是你难道不明白么?难度下降之后,这个东西就不需要本科生来做了
脚本是很容易简化的东西呀,本来js这种脚本就是给文科生写的
你说需要越来越多js的人,但是你就那么确定这个人是程序员?
不能是文秘?你看excel是不是都是文秘在用?
诶,js跟excel的难度已经差距不大了哟
你架构弄得不好,不知道前台得server唯一的作用
就是传递数据吗?复杂逻辑大多数根本不在web server做
不信你认真看看其他用node.js的人,看看他们是怎么用node.js的
这里面根本没有business logic,你把logic换一种表达
其实就是转换数据,而非传递数据,你说对不对?
Java |
|
z****e 发帖数: 54598 | 40 lol
这有什么没底的
等到j2ee概念出来之后
这些东西全部交给servlet去搞了
谁还在cgi啊
servlet直接替代掉cgi了
你说的那些东西早在我弄java之前的事了
一点也不冲突
而且我很怀疑你说有点问题
terminal怎么thin和fat法?
应该是有web了之后才有thin和fat的差异
而且fat比较早的是applet为主要代表
当时还特意发明了一个tag |
|
|
c*******0 发帖数: 5247 | 42
你以后能少一些信口雌黄,多一点解释么?回答问题完全就是按照自己对语言的喜好来
,懂的人不明所以,不懂的人直接就被你误导。
Django要比也是和Sails,和Node有什么关系?你用过Django么?Node比Django强多了
,多在哪里?不要又说因为Django是Python写的,所以Django很烂 |
|
l**********n 发帖数: 8443 | 43 在serve static content 上. node和jsp比呢。和python, ruby比呢。为什么选node? |
|
z****e 发帖数: 54598 | 44 选node只有一个原因,只会写js的时候,用node可以少学一个语言
其他不管什么,都需要额外多学至少一个脚本甚至更多 |
|
|
i**i 发帖数: 1500 | 46 非牛人的愚见。
io.js就是一个beta版的node.js,好比redhat的raw hide。不存在生态系统不同的问题
。node比较特殊的是它有一个确定的下一站,主要是V8的版本号。对于应用来说,这种
升级应该是透明的。假设换成iojs之后,不用任何改动,效率就提高了,何乐而不为呢?
nodejs更新太慢,让他们自己人都等不及了。如果iojs够稳定的话,就没有nodejs什么
事了。变成了宋江架空了晁盖。最后会事实上又重新合并了。 |
|
|
s*****w 发帖数: 1527 | 48 This is the flow,
web client <--> Node server <--> backend program
i could have 2 different browse tabs for the same URL,
in the 1st one i click "send me info A from backend",
in 2nd webpage i click "send me info B from backend".
Now how do i distinguish A and B in the node.js ?
Was looking for sample for session/cookie, just cannot find the right sample.
Thanks very much ! |
|
s*****w 发帖数: 1527 | 49 大牛请多展展,我是刚开始学node。
最土的方法据说是每个session开一个socket,然后node server根据socket handle来
区分。
但我想总有现成简单的方法吧。
谢谢! |
|
c*********e 发帖数: 16335 | 50 大公司都用node.js了,下一个project,你们公司是用spring mvc,还是node.js ? 印度
老板还让你用spring security 吗? |
|