为什么我又从 Node.js 回到顶部 Python

本文讲的是Nodejs中调用系统命令、Shell脚本和Python脚本的方法和实例_node.js,
每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,文档见http://nodejs.org/api/child_process.html,No
每种语言都有自己的优势,互相结合起来各取所长程序执行起来效率更高或者说哪种实现方式较简单就用哪个,nodejs是利用子进程来调用系统命令或者文件,见http://nodejs.org/api/child_process.html,NodeJS子进程提供了与系统交互的重要接口,其主要API有: 标准输入、标准输出及标准错误输出的接口。
NodeJS 子进程提供了与系统交互的重要接口,其主要 API 有:
标准输入、标准输出及标准错误输出的接口
child.stdin 获取标准输入
child.stdout 获取标准输出
child.stderr 获取标准错误输出
获取子进程的PID:child.pid
提供生成子进程的方法:child_process.spawn(cmd, args=[], [options])
提供直接执行系统命令的方法:child_process.exec(cmd, [options], callback)
提供调用脚本文件的方法:child_process.execFile(file, [args], [options], [callback])
提供杀死进程的方法:child.kill(signal='SIGTERM')
用实例来感受一下,很有意思的,呵呵~~
1、利用子进程调用系统命令(获取系统内存使用情况)
新建nodejs文件,名为cmd_spawn.js,代码如下:
复制代码 代码如下:
var spawn = require('child_process').
free = spawn('free', ['-m']);
// 捕获标准输出并将其打印到控制台
free.stdout.on('data', function (data) {
console.log('standard output:\n' + data);
// 捕获标准错误输出并将其打印到控制台
free.stderr.on('data', function (data) {
console.log('standard error output:\n' + data);
// 注册子进程关闭事件
free.on('exit', function (code, signal) {
console.log('child process eixt ,exit:' + code);
下面是运行该脚本和直接运行命令'free -m'的结果,一模一样:
2、执行系统命令(child_process.exec())
这个我还是很常用的,功能感觉比上面的强大那么一点点。比如我很喜欢关注天气,现在我要curl一下天气的接口返回json格式的数据,可能我要对它进行一番操作,这里就打印出来不操作。
新建nodejs文件,名为cmd_exec.js:
复制代码 代码如下:
var exec = require('child_process').
var cmdStr = 'curl .cn/data/sk/.html';
exec(cmdStr, function(err,stdout,stderr){
console.log('get weather api error:'+stderr);
这个stdout的内容就是上面我curl出来的这个东西:
{"weatherinfo":{"city":"北京","cityid":"","temp":"3","WD":"西北风","WS":"3级","SD":"23%","WSE":"3","time":"21:20","isRadar":"1","Radar":"JC_RADAR_AZ9010_JB","njd":"暂无实况","qy":"1019"}}
var data = JSON.parse(stdout);
console.log(data);
来感受一下直接curl出来和通过运行脚本的出来的结果是一样一样的:
3、调用传参数的shell脚本(child_process.execFile())
这个要先准备个shell脚本,比如我要连到一台服务器,来修改它的密码,则我要提供IP,user,new pwd,old pwd,新建shell脚本文件change_password.sh:
复制代码 代码如下:
PASSWORD=""
NEWPASSWORD=""
while getopts "H:U:P:N:" arg #选项后面的冒号表示该选项需要参数
case $arg in
IP=$OPTARG
NAME=$OPTARG
PASSWORD=$OPTARG
NEWPASSWORD=$OPTARG
#当有不认识的选项的时候arg为?
echo "含有未知参数"
#先获取userid
USERID=`/usr/bin/ipmitool -I lanplus -H $IP -U $NAME -P $PASSWORD user list | grep root | awk '{print $1}'`
# echo $USERID
#根据userid来修改密码
/usr/bin/ipmitool -I lanplus -H $IP -U $NAME -P $PASSWORD user set password $USERID $NEWPASSWORD
然后我准备个nodejs文件来调用这个shell脚本,叫file_changepwd.js:
复制代码 代码如下:
var callfile = require('child_process');
var ip = '1.1.1.1';
var username = 'test';
var password = 'pwd';
var newpassword = 'newpwd';
callfile.execFile('change_password.sh',['-H', ip, '-U', username, '-P', password, '-N', newpassword],null,function (err, stdout, stderr) {
callback(err, stdout, stderr);
这里就不方便贴运行结果了,不过我可以用人格保证,它是经过测试的。
看过上面的,其实调用python脚本就没什么悬念了,本质上也就是执行命令。
4、调用python脚本(python脚本本身是传参数的)
这里插入一个题外话,下面这段是对python传参数的简单说明一下:
复制代码 代码如下:
# -*-coding:utf-8 -*-
需要模块:sys
参数个数:len(sys.argv)
sys.argv[0]
sys.argv[1]
sys.argv[2]
import sys
print u"脚本名:", sys.argv[0]
for i in range(1, len(sys.argv)):#这里参数从1开始
print u"参数", i, sys.argv[i]
运行结果:
我也来准备一个nodejs文件来调用这个python脚本(我对py_test.py做了修改,见下面),file_python.js:
复制代码 代码如下:
var exec = require('child_process').
var arg1 = 'hello'
var arg2 = 'jzhou'
exec('python py_test.py '+ arg1+' '+arg2+' ',function(error,stdout,stderr){
if(stdout.length &1){
console.log('you offer args:',stdout);
console.log('you don\'t offer args');
if(error) {
('stderr : '+stderr);
py_test.py内容如下:
# -*-coding:utf-8 -*-
import sys
print sys.argv
运行结果如下:
还是挺赞的,又为2014完成了一篇精致的博客。哈哈~~
以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索nodejs
调用系统命令
调用Shell脚本
调用Python脚本
nodejs执行shell脚本、nodejs调用shell脚本、nodejs shell脚本、nodejs 运行shell脚本、nodejs shell,以便于您获取更多的相关知识。
弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率
稳定可靠、可弹性伸缩的在线数据库服务,全球最受欢迎的开源数据库之一
6款热门基础云产品6个月免费体验;2款产品1年体验;1款产品2年体验
开发者常用软件,超百款实用软件一站式提供
云栖社区()为您免费提供相关信息,包括
的信息,还有nodejs执行shell脚本、nodejs调用shell脚本、nodejs shell脚本、nodejs 运行shell脚本、nodejs shell等
,所有相关内容均不代表云栖社区的意见!为什么我从 Python 转战到 Node.js ?
老生常谈?这些日子谁不是切换到Node呢?我就是其中之一,下面是我的理由。
Python 2,抑或是Python 3?
Python版本之间缺乏重点和运转是一个巨大的阵痛。是的,我知道很多库正在被转换或已经被转换过了。但是,一个接一个地缺乏重点以及明确的方向使得我对它的信任降到历史最低。我知道这和不想移动的社区有很大的关系,但开发人员对此不买账,尽管是社区驱动项目。
nodejs-logo-2
Unicode支持
你有没有试过在Python中使用Unicode?TMD真心太痛苦了。是的,关于这个主题有很多这方面的文档,因此它不应该那么令人费解。Python 3是一个进步。当然我并没有说Node和Java在这方面非常突出,但它们绝对有更佳的选项。
循环导入是任何Python程序员的痛苦之源,并且在我看来是这个语言非常破的一个架构选择。我知道在大多数情况下,循环导入是模块设计被破坏的一个标志。但是,如果你是一个有经验的开发人员,那么可能你会将更多的时间花在将Python硬塞到高级模式中。好吧,对此我只想说祝你好运。Node.js允许我导入模块到任何地方。
旁注:显然Go也有这个限制。这太让我伤心了:(
NPM VS PIP
Python有PIP,这真的很棒。不过,我在NPM上经常能发现更多最新的现代化模块。随着NPM上其他共享的内容也出现了废话,因而你得对此提防。我一直认为在PIP上共享烦人,而在NPM上真心易如反掌。我的第一个模块共享只用了总共5分钟。
效率=更多钱!
这是毫无疑问的。当涉及到硬件(如果编写正确的话)的时候,Node比Python更精简。能够真正利用低端硬件并产生可接受结果是一个重要优势。很多优势都可以归结为Node的异步特性。是的,我知道Twisted和类似的库。你有没有在其中实际写过一个异步app?在构建一个产品时,开发速度很重要,但保持低的开销成本也很重要。我们可以运行相同的Node项目在Python所需的一半硬件上。
团队熟悉度
这总是一个值得探讨的话题,但是我更喜欢整个团队都能有一个基本的Java水平。这意味着他们可以查看Node代码,并理解是怎么回事。如果团队里面有前端开发人员,那意味着连接到API端点或处理意见非常容易。这对我而言也意味着在帮助他们时受到的干扰更少。太棒了!
MongoDB和JSON
我们喜爱MongoDB和JSON。Node不假思索地使用它俩。当然,显然这也可以用其他语言来完成,但是它的便捷性有着致命的吸引力,使得我不得不提到它。
它就是Java
如果你像我这样热爱Java,那么这是一个额外的优势。如果你不喜欢Java,那么这个优势可能也不是很大。我认为Java之所以有趣是因为它善于表达。它提供了很多做事的方法,这在应用特定策略来解决关键问题时非常棒。这也滋生了一些愚蠢的辩论,例如“添加分号VS不要分号”。在此郑重声明,我赞同使用分号。
需要说明的是,我依然深爱着Python。它已经陪伴了我好多年,并且我用Python写了好几个产品app(见Postach.io和QuoteRobot),然后经常用于快速服务器脚本。Node.js本来并非我的第一选择,但是我想要一些现代化的东西,并且做一些新颖的Web设计。PHP,Python和Ruby显然不符合要求。我的第一个选择是去学习Go(golang),但是由于时间限制和团队技能集让我与之无缘。初创企业对工作玩命,你懂的!Node折中了这些方面,允许我们立刻上手。
你对于现代语言有什么想法?你更喜欢Python抑或其他?为什么?欢迎分享任何有关于Node方面的“陷阱”。
编译自:/post/why-im-switching-from-python-to-node-js
作者: Gavin Vickery
转载自:码农网 /article/why-i-switch-python-to-node-js.html
译者: 小峰
长按下方图片
责任编辑:
声明:本文由入驻搜狐号的作者撰写,除搜狐官方账号外,观点仅代表作者本人,不代表搜狐立场。
今日搜狐热点荐读|爬虫还在用Python?我与Node.js不得不说的故事 [一点资讯]
我的图书馆
荐读|爬虫还在用Python?我与Node.js不得不说的故事 [一点资讯]
深夜闲来无事,默默的打开github,在搜索框中填入了”Stars:>1”,本想着依旧可以在第一页看到Spark的身影,结果第一个映入眼帘的是这个:快速浏览完第一页(Top10),10个项目里面7个JS或者具体来说是Node.js的项目!Github历来代表技术圈发展的风向,那么这个在Github比Spark更受追捧的Node.js,到底厉害在哪里?爱的初体验Node.js:一体化数据可视化。第一次听说“一体化数据可视化”我的内心是抗拒的,怎么可能,我的经验告诉我,做数据可视化,需要获取数据、处理数据、载入数据、呈现数据等多个过程,各种更是涉及到爬虫、ETL、SQL、HTML、服务端开发等多项技能,一个工具根本无法搞定。不过抱着一种谨慎的心态,我还是决定先去研究一下Node.js究竟能够做什么:随后我看到了颠覆我世界观人生观价值观的一片文章:爬虫性能:Node.js VS Python (“/86257/”)以下内容为针对此文章内容的一些要点的提炼,有兴趣的可以浏览以下,大神请自行跳过此段:文章主要想要通过爬虫证明Node.js的异步策略与I/O能力,看是否真的有官方介绍和相关文件描述的这么强势。(注意:文中作者为了更好的测试Python的性能,并未使用Scrapy等Python爬虫框架。)1.headers设计爬虫的设计中,为了降低被网站拉黑的风险,同时防止因为头文件导致爬虫获取数据内容的不一致,一致的web请求头是必不可少的,针对一些特殊的网站。甚至还需要人为的加入cookies、网络代理等形式去更好的保护我们的爬虫不被网站拉黑。文中作者由于测试目的及测试网站自身的反扒机制问题,并未使用较为繁琐的设定,具体内容如下:2.爬虫功能设计常规爬虫的设计中需要设定一个url队列,通过分工协作的方式,某些线程专门用于解析队列中的某类或某几类的url,某些线程专门用于将解析后的结果进行处理(数据落地,新url重入队列等)。文中作者分别制作了Python单线程版,Python多线程版和Node.js版3种爬虫,接下来我们一一分析作者这样设计的实现:2.1 Python单线程版整个代码逻辑较为简单,被爬网页url后缀为页面,单线程版中通过for循环,在单个线程中完成对30个页面内共计720个课程的初步内容提取。整个过程为线程获取url信息,通过网络获取对应url页面的具体html代码,针对html代码解析相关课程的内容,并通过遍历的方式完成计数。运行结果越为46s左右,平均每个页面耗时1.5秒,基本略高于我们正常浏览器点击网页后加载完毕页面的时间,性能相对较低。{ it takes 48. Seconds to get 720 items it takes45. Seconds to get 720 items
it takes44. Seconds to get 720 items it takes44. Seconds to get 720 items it takes46. Seconds to get 720 items }2.2 Python多线程版由于篇幅原因,此处主要说明为何Python多线程速度(运行结果显示,处理完毕30个页面数据总耗时约为11.5秒)会远远高于Python单线程的原因。{it takes 11. Seconds to get 720 itemsit takes 11. Seconds to get 720 itemsit takes 11. Seconds to get 720items }单线程中,一个线程每次只能执行一个命令,多个命令根据设定好的内容依次执行。在此过程中,由于网络传输等原因,CPU在网络传输的过程中由于无其他可处理的线程,导致存在计算资源的闲置浪费,与此同时由于单次只响应一个页面,计算机的网络带宽使用也远远无法达到上限,故整体耗时较长。多线程模型中,程序通过新建数十个线程,每个线程处理一个页面的请求处理和解析,整体过程中若CPU的通道数(可以理解为CPU可以同时处理的线程数。目前常规笔记本为2核4通道)低于需要处理的线程数,则根据CPU调度线程原理,当CPU调度的线程开始进行数据IO的时候,CPU会暂时闲置线程,处理其他需要处理的线程,等到线程IO完毕后,继续进行后续内容的调度,从而起到充分利用CPU计算能力的目的。同时多线程对网站进行请求,相比单线程版也起到了大大降低请求平均相应时间的作用,从而其到了提高爬虫性能的作用。2.3 Node.js版为了便于大家可以直接在电脑上面测试,Node.js代码我先搬运过来:整体的思路和Python单线程版类似,以列表遍历的形式产生URL串,提交代码执行,最后输出结果,平均下来处理30个页面的平均时间在3.8秒左右。{it takes 3.695 Seconds to get 720 itemsit takes 3.781 Seconds to get 720 itemsit takes 3.94 Seconds to get 720 itemsit takes 3.705 Seconds to get 720 itemsit takes 3.601 Seconds to get 720 items}如果单从这个结果考虑,貌似Python的多线程版还存在优势?其实不然,由于Node.js的特性,本文使用的Node.js是单线程进行的,而与之对应的Python多线程版本应该仅分配一个物理通道进行计算才算公平。而按照作者文章中的处理时间看,多线程部署机器的通道数估计会较高,不然不会有如此的性能(请参考单线程版的单页面处理时间的1.5s)。所以综合来看,在爬虫这类对于高并发和高I/O的具体应用上,Node.js还是展示了他应有的风采。注意:编程工具不管怎么高效,依旧无法摆脱物理性能的约束,针对具体业务的每一次代码优化都是存在着某种成本,若场景为一个极高请求数,但是单请求对于网络带宽需求较少的应用,例如通过调用API的方式去穷举数据,提高线程数往往是一个比较好的选择。但是在一些图片采集内容中,较高线程数导致的网络带宽瓶颈却往往会导致程序的性能降低(CPU在调度线程中也是存在一定的性能损耗的),使用一定的线程数往往可以起到更加好的效果。虽说作者在性能对比中并没有将各类条件控制得比较严苛,但就结果而言,Node.js在做爬虫相关的功能时,较Python还是有一定优势的。Node.js优缺点及应用场景总的来说,PHP、Python、Node.js,哪个比较适合写爬虫呢?PHP:由于其对于多线程和异步的支持较差,在爬虫领域较不推荐;Python:目前主流的爬虫框架语言,对于分布式爬取的支持较好,针对企业级的大规模爬虫等项目强力推荐;Node.js:由于其异步处理机制的特性,对于垂直网站的爬取具有较好的性能和较低的学习成本,但是其对于分布式爬取和消息通讯的支持较弱,大规模的爬虫项目的使用难度较高。而为何选择使用Node.js作为爬虫语言?◆ Node.js作为一种JS语言,入门门槛较低;◆ 其对于数据可视化的后端数据支持能力较好(高并发和I/O密集支持),降低学习门槛和压力;◆ 业界流行通过Node.js去制作web架构中的中间件,完成设置路由,请求接口,渲染页面等功能,在高效的同时也保证网页的seo和安全性(对比Ajax,可浏览下文:AJAX技术对于SEO的影响 http://blog.csdn.net/dengxingbo/article/details/5756567)相比而言,Node.js的优点:◆ 高并发:如此专业的词汇,身为一个单纯的吃货还真很难理解,便附上一句文中的总结“Java、PHP也有办法实现并行请求(子线程),但Node.js通过回调函数(Callback)和异步机制会做得很自然”;◆ 适合I/O密集型应用:不行了再看下去要被安利了,赶紧调到缺点去。……Node.js的缺点(好样的,终于来了):1. 不适合CPU密集型应用:好好好,吐槽点一号准备就绪;2. 开源组件库质量参差不齐,更新快,向下不兼容;3. Debug不方便,错误没有stack trace。别问我为啥2,3不见了,明明就可以通过Nnigx可以解决的事情,还放在这么前面,由俭入奢易,由奢入俭难啊,提出一个缺点马上带上一个解决方法,夭寿啦。……(此处省略许多关于Node.js的适用场景,作者用了一句话总结:Node.js能实现几乎一切的应用,我们考虑的点只是适不适合用它来做)好歹找到一个糟点,搞大数据的,每每看到不适合CPU密集型,总是会有莫名的优越感,平时操作计算任务少说都是几百个core(自行脑补富土康VS小作坊)。熟练地按下alt+tab,切出聊天窗口,飞快在聊天栏中打入:Node.js虽然说在爬虫方面还是略有性能优势(JS的老本行应该的),在后台开发中能够支持较高的并发能力(也算JS的一些特性)。据说其对于IO密集型操作有着独到的解决方法(这个还是得服一波),可是其对于CPU密集性的功能要求支持度还是有点问题的(这玩意还是有点问题的,看我后一句怎么打你脸),说什么一体化数据可视化有点太过了吧!等等,一体化的数据可视化,貌似和CPU密集性操作有那么一丢丢的差距,貌似这玩意还和D3.js的集成度还挺高。这么说来,数据可视化的4个步骤(获取数据,处理数据,载入数据,呈现数据)里面,Node.js还真的解决了三个比较核心的问题:获取数据靠爬虫载入数据靠异步IO:平时还真的是担心页面的数据渲染,一个页面的数据得一个一个得去取数据,基本10个数据下来,等的花儿都谢了呈现数据靠d3的支持至于处理数据…:“DBA大神,这个数据你这边能够帮我写个SQL直接出来么?”“后台大哥,你这边的接口里面能够帮我再加个计算字段么?这边我怕到时候用户一瞬间点了几千下,给人家弄死机了”……)那么问题来了,我上面究竟写的是什么?你以为是一个精分修炼手册么?不!其实这是一个广告O(∩_∩)O。几天前,一次巧合看到了稀牛学院的《数据可视化工程师》课程。作为一个喜欢使用Scrapy的脑残粉,看到课程内容竟然是Node.js做爬虫。我这小暴脾气分分钟炸得稀里哗啦的。较真的我想着好好和老师交流沟通一波人生,便做了一波准备...然后就出现了上述精分现象。课程基于Node.js讲解了从爬虫到后端开发到前段呈现的单一语言的一体化流程操作;适合入门型学员学习使用,学一种语言完成3种功能,活脱脱的事半功倍。与此同时,课程还设置了至少11个案例展示与讲解,并以综合实战型结业项目收尾,真能分分钟教面试官做人的道理。可视化课程当然少不了可视化的开源件。课程内使用了目前业界使用较多的Echart、D3等框架,基本和公司级别使用无缝衔接(信息源自各类友商)。至于各类机构都十分推崇的所谓就业问题,我只能说,在我写这个文章的时候,我已经在幻想被群内的CDO、CEO看上,升职加薪,当上总经理,出任CEO,迎娶白富美,走上人生巅峰。想想还有点小激动呢,嘿嘿~~ 阅读原文了解更多详情
TA的最新馆藏
喜欢该文的人也喜欢nodejs与python,java,c++开发效率比较 - CNode技术社区
这家伙很懒,什么个性签名都没有留下。
传说,在开发效率方面,java是c++的3倍,python是java的3倍,
不知道后起之秀的nodejs是在什么位置呢?
个人感觉不如python但比起java还是很有优势
要看web项目了,python的web方面的开源资源明显是比不上Node的,再加上体验良好的NPM和grunt。
熟手的话,Node 在web上面的开发效率目测是比python快点的。
仅仅web项目,开发效率比较:
php – node
c++是0.X?
不用c++写web
开发效率这块php还是比node强些,运行效率没得说,node的优势,个人观点。
java c++这两就不用拿来说了。
开发效率ruby=python & nodejs=go。楼上说nodejs开发资源不如python的真是不知道应该怎么说了,雷人。我负责的告诉你,资源总量大体应该差不多,但质量差了几条街。
运行效率如果go 100分那nodejs 90,python 70, pypy 90, ruby 65。
在计算密集型的应用上nodejs效率差不多是go的50%-60%吧,以前看过一个评测,用的冒泡排序算法
php 的5是相对python还是相对java算的?
##php是开发效率最高的语言,没有之一
这是对你而言,我用了几年php,现在转node了,node上手后,明显感觉项目推进快了
node是用C++写的
我真的不知道你们这些人在这说这些有什么意义呢? nodejs的优势在于处理io密集型方面, 何况一般的web项目又有多少cpu密集型的运算呢, 不要脱离本质,整虚的比较没用的…
这么讲没说node不好啊,而且我现在基本上大部分代码都打算用node来写了,给我的感觉在密集计算上能达到go的一半,是相当不错的效率了,别忘了go和java都是要编译的。
弄明白不同语言擅长和不擅长的方面,才能更方便取舍和设计一个好的基础架构出来,不能因为喜欢nodejs就排斥一切
楼上的是在黑PHP,有点过了
userland都是js的,不过执行效率算是很不错了
NodeJS适合IO密集型,如果需要大量计算,你用edge把脏活累活交给C#,或则自己写C++模块嘛
IO密集型其实也没优势, 开发版的gevent支持pypy, 吞吐量大概比node0.11高1/7~1/8, 完全是顺序型的写法; 回调流的tornado配pypy大致比node高1/3左右;
Go1.3超node 0.11一倍左右。 以上测试数据都基于单核。
这个得看个人爱好了,不能说在一方面让那些语言进行比较,各有各的优缺点,开发web的话,javaweb和php还是比较快,但是写服务器端时,Python和node更优秀一些。
我怎么感觉 nodejs 写 web ,比php开发效率低很多啊,同样的学习天数,php很快就能开发的飞快了 nodejs还要慢慢爬
node做中间件吧,做网站这种增删查改累死人了
代理服务器,负载均衡,消息队列 这些都是io密集型的
这个帖子在不同的社区会有不同的结果
学Node多久了?
只用node寫api, 其他程式的伺服端和爬蟲,寫網頁只用PHP~
2周,中文几本书都看了,现在掉到jade的坑里面了
自豪地采用
那个hackthonstater可以做什么?好像啥功能没有
如果是一个人的项目,可以全栈Node。如果是一个团队,那必须做分离了,别用Node做那些吃力不讨好的后台工作。一般来说强类型语言的服务器有天然的优势:性能好,稳定,易维护,方案成熟。建议用Go或者Java与io.js做前后端分离。多学点还是对的 (^__^)
同意,我这次是掉坑里了,哎
自豪地采用
我说用这个了?有注册登录找回密码,还有和个大网站的oauth,贪小便宜吃大亏啊,用ruby或者PHP早做完了
自豪地采用
请问python 与 nodejs 做前后端分离可以不?
个人感觉nodejs对复杂逻辑的处理和降低耦合性上还是弱一点,各有各的好吧,虽说是node的社区,但是也别一棒子打死了java和c艹吧~
一个网站, 录入订单信息,就是 录入订单信息, 并且录入订单里面的 各个物品价格数量等信息的网站。
用nodejs折腾了好几天,还没完成。 一步一个坑,父子关系的 callback处理,现在又出现jade,受不了了
我要换php做了。
这种项目。。。。 属于花2块钱请印度人做的level。。。
那你说用不同的开发语言有多大差别?这么点东西,在nodejs上已经花了30小时了。嗯,用mysql
自豪地采用
哪里找阿三?
你这不是打脸吗,知道什么叫眼高手低吗
CNode 社区为国内最专业的 Node.js 开源技术社区,致力于 Node.js 的技术研究。
服务器赞助商为
,存储赞助商为
,由提供应用性能服务。
新手搭建 Node.js 服务器,推荐使用无需备案的}

我要回帖

更多关于 js 滚动条回到顶部 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信