- 浏览: 411514 次
最新评论
-
xiaoxiecomeon:
你这个程序一存在线程的时间片相互抢占的问题,运行时间长了很可能 ...
Runnable 和 Thread -
dotjar:
我觉得话应该这么说:引用TestThread tt = new ...
Runnable 和 Thread -
dagf113225:
调用TelephonyManager的隐藏API是先参考Fra ...
Android提高第十四篇之探秘TelephonyManager
文章列表
前言
事件驱动为广大的程序员所熟悉,其最为人津津乐道的是在图形化界面编程中的应用;事实上,在网络编程中事件驱动也被广泛使用,并大规模部署在高连接数高吞吐量的服务器程序中,如 http 服务器程序、ftp 服务器程序等。相比于传统的网络编程方式,事件驱动能够极大的降低资源占用,增大服务接待能力,并提高网络传输效率。
关于本文提及的服务器模型,搜索网络可以查阅到很多的实现代码,所以,本文将不拘泥于源代码的陈列与分析,而侧重模型的介绍和比较。使用 libev 事件驱动库的服务器模型将给出实现代码。
本文涉及到线程 / 时间图例,只为表明线程在各个 IO 上确实存在阻塞时延,但并不保证时延比例的 ...
正向代理的概念
正向代理,也就是传说中的代理,他的工作原理就像一个跳板,简单的说,我是一个用户,我访问不了某网站,但是我能访问一个代理服务器这个代理服务器呢,他能访问那个我不能访问的网站于是我先连上代理服务器, ...
Node.js中文乱码解决
- 博客分类:
- Node.js
使用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#中的异常处理非常糟糕的,一个优秀的程序应该具备友好性,容错性,以及准确的异常信息收集的能力。很多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
- 博客分类:
- PHP
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迁移
- 博客分类:
- 数据库
一、为什么要迁移
MySQL 迁移是 DBA 日常维护中的一个工作。迁移,究其本义,无非是把实际存在的物体挪走,保证该物体的完整性以及延续性。就像柔软的沙滩上,两个天真无邪的小孩,把一堆沙子挪向其他地方,铸就内心神 ...
P2P之UDP穿透NAT的原理与实现(附源代码)
- 博客分类:
- 智能家居
作者:自语的骆驼
参考: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
- 博客分类:
- 智能家居
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