`
文章列表
前言 事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。 关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文将不拘泥于源代码的陈列与分析,而侧重模型的介绍和比较。使用 libev 事件驱动库的服务器模型将给出实现代码。 本文涉及到线程 / 时间图例,只为表明线程在各个 IO 上确实存在阻塞时延,但并不保证时延比例的 ...
正向代理的概念 正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器, ...
使用NodeJS,当有中文时,如果不做任何处理就会出现乱码。因为,NodeJS 不支持 GBK。当然,UTF-8是支持的。 所以,要确保不出现乱码,应做到以下两点: 保证你的 JS文件是以UTF-8格式保存的。 在你的JS文件中的 writeHead 方法中加入 "charset=utf-8" 编码,如下例所示: var http = require("http"); http.createServer(function (req, res)
一、序言   大家或多或少都听过WebService(Web服务),有一段时间很多计算机期刊、书籍和网站都大肆的提及和宣传WebService技术,其中不乏很多吹嘘和做广告的成分。但是不得不承认的是WebService真的是一门新兴和有前途的技术 ...

C# 全局异常处理

    博客分类:
  • C#
咳,今天给大家带来一个关于C#中的异常处理,很多朋友在C#中的异常处理非常糟糕的,一个优秀的程序应该具备友好性,容错性,以及准确的异常信息收集的能力。很多Coder也想达到这样的指标呢?跟着我来,稳固你的程序吧!   1.本文目标 我们准备做一个程序,具备全局的异常捕获及处理能力,类似大多数知名程序那样弹个窗口,发送错误报告,友好的提示。类似腾讯QQ异常,Firefox异常等异常窗口来进行错误报送,如下图所示:
npm的包安装分为本地安装(local)、全局安装(global)两种,从敲的命令行来看,差别只是有没有-g而已,比如 npm install grunt # 本地安装 npm install -g grunt-cli # 全局安装 这两种安装方式有什么区别呢?从npm官方文档的说明来看,主要区别在于(后面通过具体的例子来说明): 本地安装 1. 将安装包放在 ./node_modules 下(运行npm时所在的目录) 2. 可以通过 require() 来引入本地安装的包
以下通过两种方式介绍windows下安装node.js及框架express 第一种方式: 总共分为四步轻松完成Nodejs的Express安装 第一步、安装 所有要先按装express-generator,否则创建项目时,会提示express命令没找到 ? 1 2 3 npm install -g express-generator #需先安装express-generator

Ubuntu 搭建PHP环境

    博客分类:
  • PHP
安装 Apache2:     sudo apt-get install apache2     安装PHP模块:     sudo apt-get install php5     安装Mysql     sudo apt-get install mysql-server     其他模块安装:     sudo apt-get install libapache2-mod-php5     sudo apt-get install libapache2-mod-auth-mysql     sudo apt-get install php5-mysql ...
Ubuntu下 php5.3.10版本升级到5.4 切换到root身份 sudo -i 加入PHP最新版来源库 add-apt-repository ppa:ondrej/php5 apt-get update 由于有些PHP周边模组并未支援此来源库所提供的PHP5.4
受其他工程師彙編 PHP 資源,kahun 在 Github 發起系統管理員相關的開源資源整理。 內容分類包括:備份 / 克隆軟體、雲計算 / 雲存儲、協作軟體、配置管理、日誌管理、監控、項目管理…… 當然也有系統管理員相關書籍。 備份軟體
一、为什么要迁移 MySQL 迁移是 DBA 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神 ...
作者:自语的骆驼 参考:http://midcom-p2p.sourceforge.net/draft-ford-midcom-p2p-01.txt 论坛上经常有对P2P原理的讨论,但是讨论归讨论,很少有实质的东西产生(源代码)。呵呵,在这里我就用自己实现的一个源代码来说明UDP穿越NAT的原理 ...
目标 路由穿透,实现广域网P2P通讯。 4种典型NAT类型 按照NAT设备在进行地址映射时行为的不同,NAT可以分为以下四种:  Full Cone  Restricted Cone  Port Restricted Cone  Symmentric 
REST API 设计在细节上有很多自己独特的需要注意的技巧,并且对开发人员在构架设计能力上比传统 API 有着更高的要求。本文通过翔实的叙述和一系列的范例,从整体结构,到局部细节,分析和解读了为了提高易用性和高效性,REST API 设计应该注意哪些问题以及如何解决这些问题。
npm http GET https://registry.npmjs.org/supervisor   npm ERR! Error: failed to fetch from registry: supervisor npm ERR!     at /usr/share/npm/lib/utils/npm-registry-client/get.js:139:12 npm ERR!     at cb (/usr/share/npm/lib/utils/npm
Global site tag (gtag.js) - Google Analytics