在用了一年以后,我感觉node.js有一点不正确劲。它非常有意思,可是我认为我应该用另外一个视角去审视它。



网络编程真的能够更easy吗?


node.js无疑有一些设计很好的地方。前段时间我写了一个性能很高的Syslog Collector系统,它能够每秒处理25万个日志,能够同一时候处理数千个TCP并发连接。

它还支持UDP,HTTP和SSL.它是C++写的,使用了 Boost.Asio  架构。它差点儿从来不会崩溃。
非常少会内存泄露。

可是它花了我5个月的时间去编辑(然后重写),測试还有布署。所以,你要知道。写相似的node程序真的不会让你加快开发进度。


须要一个HTTPserver?require(导入) http模块,假设你想要一台socketserver的话,还须要net模块。

node是一个事件驱动的框架。相对于为每一个链接创始一个线程模型相比有极大的性能优势,node.js取得了twisted无法能取得的成功。
(注* twisted 基于python的异步驱动框架)



node.js的问题是什么?


JavaScript


让我们先说JavaScript - 我喜欢用它的闭包。可是这个语言太扯蛋了。甚至是JavaScriptr的铁杆粉丝都知道它有多可笑。JavaScript the Good Parts (JavaScript好的方面) 真的是一本非常簿的书。对照一下你会认为非常有趣。

NodeJS会是昙花一现吗?的更多相关文章

  1. Appium+python自动化(二十六)- 烟花一瞬,昙花一现 -Toats提示(超详解)

    简介 今天宏哥在这里首先给小伙伴们和童鞋们分享一个有关昙花的小典故:话说昙花原是一位花神,她每天都开花,四季都灿烂.她还爱上了每天给她浇水除草的年轻人.后来,此事给玉帝得知.于是,玉帝大发雷霆,要拆散 ...

  2. NodeJs之OS

    OS Node.js提供了一些基本的底层操作系统的模块OS. API var os = require('os'); console.log('[arch] 操作系统CPU架构'+os.arch()) ...

  3. NodeJs之Path

    Path模块 NodeJs提供的Path模块,使得我们可以对文件路径进行简单的操作. API var path = require('path'); var path_str = '\\Users\\ ...

  4. NodeJs之调试

    关于调试 当我们只专注于前端的时候,我们习惯性F12,这会给我们带来安全与舒心的感觉. 但是当我们使用NodeJs来开发后台的时候,我想噩梦来了. 但是也别泰国担心,NodeJs的调试是很不方便!这是 ...

  5. NodeJs在Linux下使用的各种问题

    环境:ubuntu16.04 ubuntu中安装NodeJs 通过apt-get命令安装后发现只能使用nodejs,而没有node命令 如果想避免这种情况请看下面连接的这种安装方式: 拓展见:Linu ...

  6. NodeJs之child_process

    一.child_process child_process是NodeJs的重要模块.帮助我们创建多进程任务,更好的利用了计算机的多核性能. 当然也支持线程间的通信. 二.child_process的几 ...

  7. nodejs进阶(6)—连接MySQL数据库

    1. 建库连库 连接MySQL数据库需要安装支持 npm install mysql 我们需要提前安装按mysql sever端 建一个数据库mydb1 mysql> CREATE DATABA ...

  8. 图片访问实时处理的实现(nodejs和php)

    我在访问时光网.网易云音乐等网站时,发现将它们页面中的一些图片URL修改一下就可以得到不同尺寸的图片,于是思考了其实现方案,我的思路是:URL Rewrite + 实时处理 + 缓存,对用户请求的UR ...

  9. nodejs进阶(4)—读取图片到页面

    我们先实现从指定路径读取图片然后输出到页面的功能. 先准备一张图片imgs/dog.jpg. file.js里面继续添加readImg方法,在这里注意读写的时候都需要声明'binary'.(file. ...

随机推荐

  1. UNIX 缩写风格

    构建于图形界面之上的操作系统,使用鼠标作为主输入设备, 是否使用缩写并不重要.比如 Windows 系统中的目录,几乎都是全称…… 点击两次鼠标进入文件夹 pf, 并不意味着点击13次才能进入文件夹  ...

  2. IT第二十天 - 面向对象编程思想、抽象类、异常处理、程序操作日志记录、本周总结 ★★★

    IT第二十天 上午 面向对象编程思想 1.组装电脑的设计: (1)电脑的组成:显示器+机箱 (2)机箱的组成:电源+主板+硬盘 (3)主板所包含的部件:cpu+内存+PCI接口+usb接口 (4)PC ...

  3. BZOJ 1600: [Usaco2008 Oct]建造栅栏

    1600: [Usaco2008 Oct]建造栅栏 Time Limit: 5 Sec  Memory Limit: 64 MB Description 勤奋的Farmer John想要建造一个四面的 ...

  4. ssh连接Linux自动断开后再也无法连上的问题

    近期公司测试机有点抓狂,情况是这样的:用SSH登录后正常使用,但另外一部电脑也在登录,这时候会发生全部断开的情况,再也无法连接,连IP都PING不通. 今天尝试在/etc/hosts.deny 加入如 ...

  5. 高屋建瓴 cocos2d-x-3.0架构设计 Cocos2d (v.3.0) rendering pipeline roadmap(原文)

    Cocos2d (v.3.0) rendering pipeline roadmap Why (the vision) The way currently Cocos2d does rendering ...

  6. IIS7.0+SqlServer2012,进行.net网站发布的安装全过程

    1..net3.5安装(sqlserver2012需要) 控制面板-->管理工具-->服务器管理器-->功能-->添加功能-->选择".NET Framewor ...

  7. 完整的RecylerView的使用方法和例子

       一.RecylerView的特点 1. 不关心Item是否显示在正确的位置,通过设置不同LayoutManager 的实例让Item显示不同的风格. 2. 不关心 Item间如何分离.要定义It ...

  8. 【转】解决Gradle DSL method not found: ‘android()’

    [转]解决Gradle DSL method not found: ‘android()’ 最近导入as的项目出了这样的问题 这个问题困扰了我很长时间,好吧,搜了半天全都是runProguard的,最 ...

  9. QSplashScreen无法背景透明的解决办法(强制StyleSheet生效)

    setWindowFlags(Qt::WindowStaysOnTopHint | Qt::SplashScreen | Qt::FramelessWindowHint); setAttribute( ...

  10. 深入JDK源码之Arrays类中的排序查找算法(转)

    原文出处: 陶邦仁 binarySearch()方法 二分法查找算法,算法思想:当数据量很大适宜采用该方法.采用二分法查找时,数据需是排好序的. 基本思想:假设数据是按升序排序的,对于给定值x,从序列 ...