NodeJS在Windows下的简单安装及使用

NodeJS流行有段时间了,本着折腾的目的,试着在windows下用了用,的确是方便。

安装

其实安装异常简单,当然,最省事的方法就是下载安装包安装,但我希望能绿色一点,就直接下载zip包来使用,效果是一样的。

安装包的下载链接是:http://nodejs.org/download/>,zip包的下载链接是

下载node

直接下载最新版的链接是:http://nodejs.org/dist/latest/node.exe,把下载的node.exe放在d:developnodejs目录下。

下载npm

npm是nodejs的模块管理工具,下载链接是http://nodejs.org/dist/npm/>,注意,如果使用安装包安装已带npm,无须再自己安装npm了。目前的最新版是。下载后直接解压到d:developnodejs目录下。

可以看到d:developnodejs目录下的文件目录应该如下:

node_modules
node.exe
npm.cmd

安装nrm

nrm用来查看和切换当前使用的registry,国内的网络情况大家都懂,一般来说使用国内的nodejs库镜像是明智的。

开启一个cmd窗口,设置环境目录:

set path=d:\develop\nodejs;%path%

安装nrm

npm install -g nrm --registry=http://registry.npm.taobao.org

然后查看一下nrm所支持的镜像的位置:

nrm ls

可以看到:

* npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
  taobao - http://registry.npm.taobao.org/
  eu ----- http://registry.npmjs.eu/
  au ----- http://registry.npmjs.org.au/
  sl ----- http://npm.strongloop.com/
  nj ----- https://registry.nodejitsu.com/

缺省是使用官方的模块库,在国内我们应该选择cnpm或taobao

nrm use taobao
Registry has been set to: http://registry.npm.taobao.org/

再看一下:


nrm ls

  npm ---- https://registry.npmjs.org/
  cnpm --- http://r.cnpmjs.org/
* taobao - http://registry.npm.taobao.org/
  eu ----- http://registry.npmjs.eu/
  au ----- http://registry.npmjs.org.au/
  sl ----- http://npm.strongloop.com/
  nj ----- https://registry.nodejitsu.com/

好了,这样就可以用npm快速安装所需要的模块了。

nodejs的安装就算是完成了。

安装常用模块

如果想了解nodejs有哪些比较流行的模块,可以查看:
https://www.npmjs.org/browse/star

https://nodejsmodules.org/

一般来说,使用比较多的有:

  • express
  • grunt
  • socket.io
  • socket.io-client
  • mocha
  • underscore
  • connect
  • commander
  • coffee-script
  • uglify-js
  • mkdirp
  • forever

等等,对于常用的模块,可以安装成全局模块,这样,可以避免每个工程都下载安装一次。

关于网页中的meta标签

今天看了一下日志,发现有人访问了网站根目录的 browserconfig.xml 文件,一时好奇,查了一下,原来这是[浏览器配置文件]1

这是个XML文件,定义了浏览器在访问网站时的一些自定义信息和一些需要轮询获取更新信息的文件URI,这样可以方便浏览器知道什么信息在哪。从IE11开始,IE会自动去尝试找这个文件。如果网页需要指定这个文件内容,可以在meta标签中指明。

meta标签主要用于对网页基本信息(元信息)的描述以及网页自动更新频率等的控制。主要是方便搜索引擎对网页信息的检索,也方便浏览器能更便捷的获取网页基本信息,比如网页类型、文字所用字符集、过期时间、更新频率、网页内容描述、网页关键字、网页作者、网页创作工具等。

meta标签必须放在<head>和</head>之间。基本格式如下:

<meta name="xxx" content="xxx">
<meta http-equiv="xxx" content="xxx">
<meta scheme="xxx" content="xxx">

最后一个 scheme 在HTML5中已不再支持了。

其中 http-equiv 类信息包括:

content-type
expires
refresh
set-cookie
cache-control
content-language
date
last-modified
location
window-target

name类信息包括:

author
description
abstract
keywords
generator
revised
classification
copyright
distribution
expires
refresh
reply-to
robots
revisit-after
......
(其他你自己定义的信息类型)

各浏览器厂家定义了大量网页元信息,比如像上面微软的IE所支持的定义:

<meta name="msapplication-config" content="IEconfig.xml" />

当IE11在网页上没找到这个元信息时就会自动访问 browserconfig.xml 文件。在这里可以查看IE所支持的一些自定义元信息。

Debian7升级到Debian7.1 出现读写/run/initctl超时的解决办法

vps里运行

apt-get update&&apt-get dist-upgrade,

从Debian7升级到Debian7.1,升级过程的最后,出现如下提示:

sysvinit: creating /run/initctl
sysvinit: restarting...init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
.init: timeout opening/writing control channel /run/initctl
 failed.

然后,就悲剧了,系统无法重启和关机了。

运行reboot 或halt 都会出现:

The system is going down for reboot NOW!
shutdown: timeout opening/writing control channel /run/initctl
init: timeout opening/writing control channel /run/initctl

然后,系统继续运行。

搜索一下,发现原来是dist-upgrade后缺省使用了新的sysvinit,在这里有说明。

一个临时的解决办法很简单,重新安装一下upstart即可:

apt-get install upstart

安装过程会自动移除sysvinit,并会提示你输入“Yes, do as I say!”,然后,系统就可以正常重启了。

IPv4中保留ip段

IPv4中的ip基本上分配完了,可是IPv6的普及看来还有些年头。

回顾一下IPv4中的保留ip段。

内部使用ip段

  • 10.0.0.0 - 10.255.255.255
  • 172.16.0.0 - 172.31.255.255
  • 192.168.0.0 - 192.168.255.255

好多人都以为172开头的全是内部使用ip段,其实不全是的。

内部使用ip段的rfc是RFC1918

自动配置ip段

  • 169.254.0.0 - 169.254.255.255

比如:windows下如果自动获取ip没找到dhcp服务器,就会分配一个这个ip段的ip先将就着用。

相关的RFC为 RFC 5735

本地环路ip段

  • 127.0.0.0 - 127.255.255.255

都是在本机里使用的,使用最多的就是127.0.0.1,一般缺省都会把它绑定在localhost上。

相关的RFC为 RFC 5735

不分配ip段

  • 224.0.0.0 - 239.255.255.255

这也是保留ip段,主要用于组播。

相关RFC为RFC 1112RFC 2236

Typecho更新了

Typecho终于开始更新了,在主要开发人员混蛋70几次折腾后,终于回到在老版本的基础上逐步改进这条路上。显然完全重构/重写要花费的时间精力和毅力是巨大的,但效果不一定会好。

现在发布的是0.9测试版。主要变动包括:

  • 后台从Mootools改为Jquery,
  • 修正了0.8.x版中的几十个小bug,
  • 后台风格重构了,
  • UI开始扁平化了,
  • 加入了Markdown编辑器。

可以直接升级,就是直接覆盖老代码,然后进后台升级更新数据库。但要注意,老版的插件可能大部分都不能用了。

typecho 0.9还只是一个测试版,主要更新的功能已经完成,接下来就是插件和模板的跟上了。

中越战争的缘起2(转)

经东升提醒,才发现,以前看过的中越战争的缘起因为系统原因,少了后半部分,现在补上。

早在1974年,全年中越边境就已发生纠纷121起;1975年,发生439起;1976年,发生986起;1977年,发生752起。1976年7月,越方在按“传统边界”属于中国领土的浦营丁主峰东面,盖起油毛毡房一间,外加两道木桩,常驻公安人员5至8名,实施军事占领。这是越方第一次公然侵占中国领土。1977年5月4日又发生了严重事件,越方出动了500多人到边境中方铁路施工工地进行挑衅,双方发生武斗。在《共和国之战》的纪录片中,能看到当时的一幕。事件中,中方施工人员被打伤51人,其中重伤6人,越方受伤人数不详。1978年3月,越方派遣武装人员突然占领了中国广西靖西县的庭毫山。他们在山上挖堑壕,修碉堡,架设铁丝网,埋设地雷和竹尖桩,并不时向山下的中国村庄和在田间劳动的中国边民开枪射击,使中国边民无法进行正常的生产、生活。1978年8月25日,越方出动了200多名军人,腰里别着匕首、手枪和手榴弹,手里挥舞着木棒,用雨点般的石块打伤了执行上级决定未予还击的中方工作人员9名,公然侵占了广西友谊关西侧边境上的中国领土浦念岭,并在上面修筑了防御工事。越方得寸进尺,又占据了友谊关西南侧中国边境村庄弄怀两侧的山头,还在弄怀西北侧山谷越入中国境内300多米进行挑衅。”越南人甚至嚣张地喊出了口号:“不光这里是我们的,连广东、广西也是我们的,凡是有木棉树的地方都是我们的!” 此外,在云南河口县芹菜塘以北、广西那坡县平孟公社弄更等地,越方也派出武装人员侵入中国领土纵深数十米至数百米,架设铁丝网,设置路障,甚至修筑军事工事,悍然蚕食中国领土!从1978年9月起,越南武装人员逐渐开始开枪挑衅,但还没有造成人员死亡。11月1日,越方出动大批武装人员,侵入中国广西靖西县庭毫山附近的弄教、弄黑地区,使用机枪、冲锋枪、步枪等武器,对正在清除越方越境非法设置的路障、竹签的当地社员和民兵进行突然袭击,当场打伤中方社员和民兵12人,抓走8人,其中6人被越方杀害。这是中越边境第一起严重的蓄意枪杀事件。此后流血事件愈演愈烈,1978年全年,越南武装人员侵入中国境内数百处,以武力占据中国领土,造成中越边境的流血事件1108起,中国军民死伤达300多人。1979年年初到2月16日短短一个半月时间里,越方就挑起边境流血事件129起,造成中国居民和边防人员死伤100余人。

越南和中国的国力相差悬殊,在边境上这样搔中国的痒有多大用处呢?即便和中国不再友好,也不必搞流血事件吧。实际上,越南挑起边境事端不过是其既定战略方针的晴雨表而已。越南统一后,其战略核心就是搞印度支那联邦,以武力控制柬埔寨。中国反对,就倒向苏联。为了向苏联表示忠心,对中国就要做得更绝一些。此时的黎笋在党内已无人可以制衡,长征、范文同虽然仍在高层,也无力提出反对意见,黄文欢则被赶出了政治局。又以总参谋长文进勇架空不主张和中国搞坏关系的国防部长武元甲,提拔黎德英、黎仲迅、朱辉珉等亲苏派掌握了军队大权。越南的信心高度膨胀,弃中投苏的政治形势已无法改变。1978年7月,越共召开四届四中全会,制订了新的战略方针,即侵柬反华,基本的长远的敌人是美帝,直接的敌人和直接的作战对象是北京和柬埔寨,可靠的后盾是苏联。军事战略为所谓的“南攻北防”,即必须以武力尽快推翻民柬政权,集中越军主力一举解决西南战场的战略问题。对于北方的中国,则持积极防御态势。

越南决心已定,和中国摊牌是迟早的事。既然要和中国翻脸,就得把中国打扮成一副敌人的形象,在边境上制造流血事件是掀起仇华情绪的最便捷的手段。现时政治利益的需要永远大于什么“同志加兄弟”的血盟情怀,那个曾经放言“将永远十分珍视由胡主席和毛主席悉心培育起来的越中友谊”的黎笋本人,这时又换了一副面孔:“在打败美国人以后,我们保留100万部队严阵以待,使得苏联同志问我们:同志们,你们保留这么大的一支现役军队,是准备和谁打仗呢?我说:以后,同志们,你们就会理解了。我们保持这样一支现役军队的唯一原因,就是因为中国对越南的威胁。”

看看,中国已经在“威胁”越南了。

- 阅读剩余部分 -