- 博客(16)
- 资源 (1)
- 收藏
- 关注
转载 Mac下Nginx环境配置
环境信息:Mac OS X 10.11.1Homebrew 0.9.5正文一、安装 Nginx终端执行:brew search nginxbrew install nginx当前版本 1.6.2安装完以后,可以在终端输出的信息里看到一些配置路径:/usr/local/etc/nginx/nginx.conf (配置文件路径)/usr/local/v
2016-09-12 20:31:00
2388
原创 IO 相关概念
“一个IO操作其实分成了两个步骤:发起IO请求和实际的IO操作。“同步IO和异步IO的区别就在于第二个步骤是否阻塞,如果实际的IO读写阻塞请求进程,那么就是同步IO。阻塞IO和非阻塞IO的区别在于第一步,发起IO请求是否会被阻塞,如果阻塞直到完成那么就是传统的阻塞IO,如果不阻塞,那么就是非阻塞IO。同步和异步是针对应用程序和内核的交互而言的,同步指的是用户进程触发IO操作
2016-07-15 11:19:41
1145
原创 Android Task Api Framework
1. 基本框架概述架构的设计总是和业务的发展相结合和适应的。由于不同业务的差异性导致接口、协议等都有不同的需求,给多款App设计出一个拥有干净API和高度内耦合的网络层成为了一项挑战,而这个设计也将直接影响我们App业务工程师们的开发效率。先来看与业务相结合的网络层设计 与业务相连接最紧密的地方必然是输入与输出,而网络层的功能无疑是接受输入的数据,挑选一个相应的通道组装数据发送给服务器,然后将服务
2016-03-19 23:49:13
617
转载 Linux常用命令
Linux常用命令汇总查找命令找文件或在在文件中找关键字很方便在[内容]中查找含有指定关键字的文件 grep "keywords" -r * 在[文件名]中查找含有指定关键字的文件 find ./ -name "keywords"其他常用命令●安装和登录命令:login、 shutdown、 halt、 reboot 、mount、umoun
2012-11-26 10:19:55
421
原创 排序算法之快速排序
快速排序是C.R.A.Hoare于1962年提出的一种划分交换排序。它采用了一种分治的策略,通常称其为分治法(Divide-an-ConquerMethod),该排序算法在小规模数据排序中使用最为广泛,如STL中的sort算法和Java Arrays中sort方法都使用了该算法(它们考虑数据规模混合使用了不同的排序算法)。该方法的基本思想是:1.先从数列中取出一个数作为基准数。
2012-08-31 00:47:19
479
原创 排序算法之冒泡算法
冒泡排序的思想: 冒泡排序的过程中,关键字较小的记录好比水中的气泡逐趟向上漂浮,而关键字较大的记录好比石块往下沉,每一趟有一块"最大"的石头沉到水底,从而后半部分逐渐形成有序区。 设数组为a[0…n-1],红色部分为有序区。1. 初始时,数组全为无序区为a[0..n-1]。令i=n-1 a[0] ... a[n-1]2. 无序区a[
2012-08-30 22:10:26
268
原创 排序算法之选择排序
直接选择排序和直接插入排序类似,都将数据分为有序区和无序区,所不同的是直接播放排序是将无序区的第一个元素直接插入到有序区以形成一个更大的有序区,而直接选择排序是从无序区选一个最小的元素直接放到有序区的最后。 设数组为a[0…n-1]。1. 初始时,数组全为无序区为a[0..n-1]。令i=0 a[0] ... a[n-1]2. 在无序区a[i
2012-08-30 17:51:33
297
原创 排序算法之直接插入排序
直接插入排序(Straight Insertion Sort)的基本思想: 每次将一个待排序的记录,按其关键字大小插入到前面已经排好序的子序列中的适当位置,直到全部记录插入完成为止。设数组为a[0…n-1],其中红色区域为有序区域1. 初始时,a[0]自成1个有序区,无序区为a[1..n-1]。 a[0] a[1] ... a[n-1]
2012-08-30 16:37:02
266
原创 开始记录----开始总结
工作也有几年了,也许这期间的工作环境比较封闭,直接导致我与互联网打交道的时间急剧减少,我几乎没有在blog上留下只言片语,这可能有点悲哀,不过一切终于要发生改变了,包括我的工作,生活,思想,幸好一切还不算太晚。这几天看了刘未鹏的blog,心中感触较深,终于又重新打开了多年前blog, 希望记录下什么,总结点什么。下面的文字来至于刘未鹏,希望自己以后多多书写。
2012-08-29 16:47:36
432
原创 完成端口实现echo tcp server
#include stdio.h>#include winsock2.h>#pragma comment(lib, "ws2_32.lib")#define PORT 5150#define DATA_BUFSIZE 8192/* *无论何时调用重叠操作函数时,总是会通过其lpOverlapped参数传递一个OVERLAPPEDPLUS结构 *(例如WSASend、 WSARecv等函数
2007-09-24 21:47:00
832
原创 select 实现 tcp echo 服务器
#include iostream>#include winsock2.h>#include vector>#pragma comment(lib, "ws2_32.lib")using namespace std;#define PORT 12345#define BUFFER_SIZE 1024int main(int argc, char* argv[]){ WSADATA
2007-09-24 16:57:00
735
转载 用完成端口开发大响应规模的Winsock应用程序
作者:Anthony Jones&Amol Deshpande翻译:刘西齐原文出处:http://msdn.microsoft.com/msdnmag/issues/1000/Winsock/通常要开发网络应用程序并不是一件轻松的事情,不过,实际上只要掌握几个关键的原则也就可以了——创建和连接一个套接字,尝试进行连接,然后收发数据。真正难的是要写出一个可以接纳少则一个,多则数千个连接的网络应用
2007-09-24 16:18:00
888
翻译 Boost.asio 0.37设计笔记(翻译)
Boost.Asio 设计索引一些设计笔记: 术语表: 定义了在boost.Asio的设计和实现中使用的一些术语。 前摄器模式(Proactor):Boost.asio库基于Proactor设计模式,这个设计笔记略述了这种方法的优缺点 线程(Threads):在某个具体平台上Boost.Asio可能需要一个或多个线程来实现异步 这个设计笔记讨论了线程使用的一些设
2007-09-21 15:52:00
2381
1
原创 asio学习3: 异步tcp服务器端(datetime)
#include ctime>#include iostream>#include boost/bind.hpp>#include boost/shared_ptr.hpp>#include boost/enable_shared_from_this.hpp>#include boost/asio.hpp>using boost::asio::ip::tcp;std::string make_
2007-09-18 16:13:00
1224
原创 asio学习2: TCP服务器端:对准时间 解析
#include ctime>#include iostream>#include string>#include boost/asio.hpp>using boost::asio::ip::tcp;std::string make_daytime_string(){ using namespace std; time_t now = time(0); return c
2007-09-16 10:50:00
1101
1
原创 asio学习1: TCP客户端:对准时间 解析
我先从boost::asio库的一个范例程序,开始学习asio库.#include iostream>#include boost/array.hpp>#include boost/asio.hpp>//本程序的目的是访问一个时间同步服务器,我们需要用户指定一个服务器(如time-a.nist.gov),用IP亦可. using boost::asio::ip::tcp;int mai
2007-09-15 11:19:00
1112
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人