1.想做一个毕业设计,主要语言为Javascript,有什么好的提议莫
1. 写一套网页窗体库(模态,移动)
2. 写一个日期插件(类似万年历的那种)
3. 基于websocket实现WEB聊天室
4. 写一个浏览器插件(功能自定)
5. 写一个图片放大器(类似淘宝预览图片那样)
6. 写一个图表库(扇形图柱形图等)
7. 简单一点可以做图片轮播(主要是特效)
8. 网页音乐播放器
以上,最好用原生的JavaScript代码写出来,并且不使用其他js库(websocket除外),网上都有许多现有的库,可以借鉴一下
2.Node.js 发展前景如何
1. 与python实现的若干web server库(比如tornado)相比,它是从底层到库上都是完全异步:一切都是事件回调处理,IO读取,DB库,都是异步的,而python由于很多库只支持阻塞操作,不得不使用线程池方式来减少阻塞带来的吞吐量下降。其实Java也有这样的问题,即使使用NIO网络框架,到了memcached/mysql之类的客户端调用,也只能阻塞当前线程,不得不使用线程池来处理网络事件。
2.计算性能。作为动态语言,由于v8的加持,比起python要好一些。但是由于有v8 最大1G堆大小的限制,相比java/c++等语言,在高负载下不够给力。
3.客户端到服务器,都是使用js开发,适合前端的同学来实现一些后台监控应用。加上js的高生产力和灵活性,一些简单的需求不需要动用c++之类的核武器。
3.使用Node.js 的优势和劣势都有哪些
一个规模稍微大点的系统都不是一种开发语言可以搞定的,往往是几种混杂一起,比如c、c++做服务器端开发,java做业务逻辑,php等做前端展示,此外还需要消息中间件等等。
nodejs可以很快地在服务器端做原型(原来只有c系和java等能做的事情,性能还很高),而且代码量相对会少很多;另一点是它的语法优势,js闭包等。但它不太适合做cpu密集型处理的工作,只能绕着弯去解决,据说这次QCon会有人分享这方面的研究成果,可以关注下。
每种语言都有它适合的领域,没必要强求一门语言可以解决所有事情,拥有其它语言的特性,只有不断的tradeoff把系统做出来才是目标。
4.node.js的发展史
2009年2月,Ryan Dahl在博客上宣布准备基于V8创建一个轻量级的Web服务器并提供一套库。 2009年5月,Ryan Dahl在GitHub上发布了最初版本的部分Node.js包,随后几个月里,有人开始使用Node.js开发应用。 2009年11月和2010年4月,两届JSConf大会都安排了Node.js的讲座。 2010年年底,Node.js获得云计算服务商Joyent资助,创始人Ryan Dahl加入Joyent全职负责Node.js的发展。 2011年7月,Node.js在微软的支持下发布Windows版本。
5.有哪些简单的web前端的毕业设计课题知乎
Node.js 程序占用内存 90MB-110MB,剩余内存都被磁盘缓存占据。
以我的了解,Python 和 Ruby 上的非 Event Driven 的 Framework 根本不可能达到这样的性能。
然后说说 Node.js 的其他优点
Node.js 的架构与 Django, Rails 等传统的 Framework 不同,不需要放在 Nginx / Apache 后,利用 WSGI, CGI 之类的接口一板一眼的 [接受Request] ->[运行程序逻辑] ->[生成并返回Response]。这是一个巨大的变化,之前一些无法想象的功能都有可能实现了。比如/Miserlou/DirtyShare 可以用浏览器实现 P2P 的文件传输。正因为 Node.js 可以更精细的控制 Request 和 Response 的时间和内容,websocket 似乎天生就是为 Node.js 而生的,而配合/laverdet/node-fibers/ 这个项目。不过 Node.js 的核心团队并不推荐使用。
6.如何设计一个基于Node.js和Express的网站架构
设计基于node.js和express的网站辑框是一个很大的话题可以参考 :1、技术上,项目前端使用AngularJS和Bootstrap,后端使用node.js和Express。
2、网站自动化构建工具使用grunt。3、网站整体应用了流行扁平化设计和响应式设计。
4、网站前端代码基于HTML5,支持Chrome、Safari、Firefox及IE9+,使用IE8浏览器打开网站会自动跳转到引导用户下载现代浏览器的页面中。5、网站应用响应式设计,以便在智能手机上也可以愉快地浏览。
7.Node是什么以及对什么有好处
实际上,每秒几乎有数千条 tweets 达到,数据库不可能及时处理高峰时段需要的写入数量。
Node成为这个问题的解决方案的重要一环。如您所见,Node能处理数万条入站tweets。
它能迅速轻松地将它们写入一个内存排队机制(例如 memcached),另一个单独进程可以从那里将它们写入数据库。Node在这里的角色是迅速收集tweet并将这个信息传递给另一个负责写入的进程。
想象一下另一种设计 — 一个常规 PHP 服务器自己试图处理对数据库的写入 — 每个tweet将在写入数据库时导致一个短暂的延迟,这是因为数据库调用正在阻塞通道。由于数据库延迟,一台这样设计的机器每秒可能只能处理2000条入站tweets。
每秒100万条tweets需要500个服务器。相反,Node能处理每个连接而不会阻塞通道,从而能捕获尽可能多的tweets。
一个能处理50,000 条tweets的Node机器只需要20个服务器。 映像文件服务器 一个拥有大型分布式网站的公司(比如 Facebook 或 Flickr)可能会决定将所有机器只用于服务映像。
Node将是这个问题的一个不错的解决方案,因为该公司能使用它编写一个简单的文件检索器,然后处理数万条连接。Node将查找映像文件,返回文件或一个404错误,然后什么也不用做。
这种设置将允许这类分布式网站减少它们服务映像、.js和 .css文件等静态文件所需的服务器数量。 它对什么有坏处? 当然,在某些情况下,Node并非理想选择。
下面是Node不擅长的领域: 动态创建的页 目前,Node没有提供一种默认方法来创建动态页。例如,使用JavaServer Pages (JSP) 技术时,可以创建一个在 这样的JSP代码段中包含循环的index.jsp 页。
Node不支持这类动态的、HTML驱动的页面。同样,Node不太适合作为Apache和Tomcat这样的网页服务器。
因此,如果您想在Node中提供这样一个服务器端解决方案,必须自己编写整个解决方案。PHP程序员不想在每次部署web应用程序时都编写一个针对Apache的PHP转换器,当目前为止,这正是Node要求您做的。
关系数据库重型应用程序 Node的目的是快速、异步和非阻塞。数据库并不一定分享这些目标。
它们是同步和阻塞的,因为读写时对数据库的调用在结果生成之前将一直阻塞通道。因此,一个每个请求都需要大量数据库调用、大量读取、大量写入的web应用程序非常不适合Node,这是因为关系数据库本身就能抵销Node的众多优势。
(新的NoSQL数据库更适合Node,不过那完全是另一个主题了。) 结语 问题是“什么是Node.js?” 应该已经得到解答。
阅读本文之后,您应该能通过几个清晰简洁的句子回答这个问题。如果这样,那么您已经走到了许多编码员和程序员的前面。
我和许多人都谈论过Node,但它们对 Node究竟是什么一直很迷惑。可以理解,他们具有的是Apache的思维方式 — 服务器是一个应用程序,将HTML文件放入其中,一切就会正常运转。
而Node是目的驱动的。它是一个软件程序,使用JavaScript来允许程序员轻松快速地创建快速、可伸缩的web服务器。
Apache是运行就绪的,而ode是编码就绪的。 Node完成了它提供高度可伸缩服务器的目标。
它并不分配一个 “每个连接一个线程” 模型,而是使用一个 “每个连接一个流程” 模型,只创建每个连接需要的内存。它使用Google的一个非常快速的JavaScript引擎:V8引擎。
它使用一个事件驱动设计来保持代码最小且易于阅读。所有这些因素促成了Node的理想目标 — 编写一个高度可伸缩的解决方案变得比较容易。
与理解Node是什么同样重要的是,理解它不是什么。Node并不是Apache的一个替代品,后者旨在使PHP web应用程序更容易伸缩。
事实确实如此。在Node的这个初始阶段,大量程序员使用它的可能性不大,但在它能发挥作用的场景中,它的表现非常好。
将来应该期望从Node得到什么呢?这也许是本文引出的最重要的问题。既然您知道了它现在的作用,您应该会想知道它下一步将做什么。
在接下来的一年中,我期待着Node提供与现有的第三方支持库更好地集成。现在,许多第三方程序员已经研发了用于Node的插件,包括添加文件服务器支持和MySQL支持。
希望Node开始将它们集成到其核心功能中。最后,我还希望 Node支持某种动态页面模块,这样,您就可以在HTML文件中执行在PHP和JSP(也许是一个NSP,一个Node服务器页)中所做的操作。
最后,希望有一天会出现一个 “部署就绪” 的Node服务器,可以下载和安装,只需将您的HTML文件放到其中,就像使用Apache或Tomcat那样。Node现在还处于初始阶段,但它发展得很快,可能不久就会出现在您的视野中。
注:本文内容是根据developerWorks作者Mike Abernethy的文章整理而来的,在Michael Abernethy的13年技术生涯中,他与各种不同的技术和客户打交道。他目前是一名自由程序员,擅长Java高可用性和jQuery。
他现在专注于富Internet 应用程序,试图同时实现应用程序的复杂性和简单性。他空闲时常常去打高尔夫球,更确切地说,是在灌木丛中寻找他打飞的高尔夫球。
8.使用Node.js 的优势和劣势都有哪些
优点:1. 处理高并发场景性能更高在用 http://socket.io 之前,推送服务是用 ajax polling 做的。
我们用 Tornado 和 Node.js 做过两个版本的推送服务。在当时的测试环境下,Node.js 的 CPU 时间是 Tornado 的三分之一,内存使用是 Tornado 的一半,代码行数只有 Tornado 的三分之一(Node.js 版是用 coffee 写的)。
后来我们使用了 http://socket.io,CPU 开销进一步降低。2. 函数式编程非常适合写异步回调链用 Node.js 配合 CoffeeScript 写异步操作链非常便利,相比之下 Tornado 无论是写命名函数的回调,还是 yield 一个 Task 都没那么自然。
缺点:1. 大量匿名函数使异常栈变得不好看。2. 无法以 request 为单位 catch 异常,必须确保不要在不 catch 异常的第三方库的回调里的抛异常,这在一个异步操作链条里是一件比较麻烦的事。
解决方法之一是对那些不 catch 异常的第三方库做一些封装,把所有的异常变成事件,改成 on('error') 形式的 API。
转载请注明出处众文网 » node.js毕业论文