学习epoll反应堆发现网上的epoll反应堆都是同一份代码框架… 自己理解、梳理一遍,思路在注释里 #include <stdlib.h> #include <stdio.h> #include <stdio.h> #include <sys/socket.h> #include <sys/epoll.h> #include <arpa/inet.h> #include <fcntl.h> #include <unistd.h> #include <errno.h> #include <string.h> #include <time.h> #define MAX_EVENTS 1024 #define BUFLEN 128 #define SERV_PORT 8080 /* * status:1表示在监听事件中,0表示不在 * last_act 继续阅读 >>


吕子健 18/06/02 21:03:51
DFS深度优先遍历 深度遍历就是在图中从一个顶点开始,按照一个规则不重复地走下去。就是不撞南墙不回头一样。假如从A顶点开始,按照一个规则去走(假如我们按照一直字典顺序走)那么就从A走到B再从B走到了C,走到C后再按照字典顺序的时候,发现A已经走过,那么此时就退回到C点,选择另一个D走下去。就和树的前序遍历是一样的。 实现方式 1、递归实现(通过邻接矩阵来实现) void DFS(MGrap G. int i) { int j = 0; visited[i] = 1; count++; for(j=0; j<G.numVertexes; j++) { if(G.arc[i][j]==1 && !visited[j])//i和j有关系相邻,并且j顶点没有被访问过 { DFS(G, j); } } } void dfs(MGrap G,int v) 继续阅读 >>


胡佳露 17/12/04 11:56:54
什么是 HTML? HTML 是用来描述网页的一种语言。 HTML 指的是超文本标记语言 (Hyper Text Markup Language) HTML 不是一种编程语言,而是一种标记语言 (markup language) 标记语言是一套标记标签 (markup tag) HTML 使用标记标签来描述网页 HTML 标签 HTML 标记标签通常被称为 HTML 标签 (HTML tag)。 HTML 标签是由尖括号包围的关键词,比如 <html> HTML 标签通常是成对出现的,比如 <b> 和 </b> 标签对中的第一个标签是开始标签,第二个标签是结束标签 开始和结束标签也被称为开放标签和闭合标签 HTML 文档 = 网页 HTML 文档描述网页 HTML 文档包含 HTML 标签和纯文本 HTML 文档也被称为网页 Web 浏览器的作用是读取 HTML 文档,并以网页的形式显示出它们。浏览器不会显示 HTML 标签,而是使用标 继续阅读 >>


冯鑫 17/09/08 22:01:14
学习第七章的时候,提到了进程和线程的区别。线程是计算机中独立运行的最小单位,运行时占用很少的系统资源。在用户看来,多个线程是同时执行,但从操作系统调度来看,各个线程是交替执行。系统不停的在各个线程之间切换,每个线程只有在系统分配给它的时间片内才能取得CPU的控制权,执行线程中的代码。 线程创建 如果在主线程里面创建线程,程序就会在创建线程的地方产生分支,变成两个程序执行。这似乎和躲进程一样,其实不然。子进程是通过拷贝父进程的地址空间来实现的;而线程与进程内的线程共享程序代码,一段代码可以同时被多个线程执行。线程创建pthread_create(); 线程终止 Linux下有两种方式可以使线程终止。第一种是通过return从线程函数返回,第二种是通过调用函数pthread_exit()使线程退出,pthread_exit在头文件 pthrea.h中声明。 有两种特殊情况需要注意,一种情况是在主线程中,如果从main函数返回或是调用了exit退出主进程,则整个进程将终止。此 继续阅读 >>


陈苏扬 17/08/03 17:08:08
进程控制 Linux进程 1.进程是一个动态的实体,是程序一次执行的过程。进程和程序的区别在于进程是动态的,程序是静态的,进程是运行中的程序,程序是一些保存在硬盘上的可执行代码。 线程是比进程更小的能独立运行的基本单位,线程是在进程内部。一个线程可以创建和撤销另一个线程,同一个进程中可以有多个线程并行执行。 2.Linux操作系统中,每个进程都是通过唯一的进程id标识的。而这个id是一个非负数,每个进程除了id还有其他的标识信息,可以通过相应的函数获得。这些函数在unistd.h头文件中。 pid_t getpid(id) 获得进程id pdi_t getppid(id) 获得进程父进程的id pid_t getuid() 获得进程的实际用户id pid_t geteuid() 继续阅读 >>


陈苏扬 17/07/27 15:25:40
1.评估方法 留出法:分层采样,全部样本的x%用来作为训练样本,1-x%用来作为测试样本 交叉验证:K折交叉验证,样本分成k份,每次按顺序取k-1份训练样本,生另一分作为测试样本。 自助法:随机取样,每次随机挑出样品一个放入样品级,重复m次,得到训练集合 ,剩下没有被抽中的样品作为测试。 2.性能度量 A. 错误率 精度 x/m 1-x/m x :预测错误的样本数量 m:样本的全部数量 B. 查准率和查全率 真实 预测的正例 预测的反例 正例 TP(真正例) FN(假反例子) 反例 FP(假正例) TN(真反例) P(查准率) = TP / (TP+FP) R(查全率) = TP/(TP+FN) C. ROC 和AUC ROC :以FPR 和 TPR 为x,和y轴绘制的曲线,下方的面积是AUC。 FPR:FP/(TN+FP) TPR:TP/(TP+FN) 绘制ROC:这里写链接内容 D. 敏感代价错误率 P = (F(co 继续阅读 >>


朱紫钰 16/11/27 17:26:43
一.Java NIO 核心组成部分: Channels Buffers Selectors 所有的IO在NIO中都从一个Channel开始,Channel有点像流,数据可以从Channel读取到Buffer中,也可以从Buffer写到Channel中. Channel和Buffer有几种类型: FileChannel. 从文件中读写数据 DatagramChannel 能通过UDP读写网络中的数据. SocketChannel SocketChannel 能通过TCP读写网络中的数据. ServerSocketChannel 可以监听新进来的TCP连接,像Web服务器那样,对每一个新进来的连接都会创建一个SocketChannel. Java NIO的通道类似流,但又有些不同: 既可以从通道中读取数据,又可以写数据到通道,但流的读写通常是单向的. 通道可以异步地的读写. 通道中的数据总是先读到一个Buffer,或者总是要从一个Buffer中写入. 二.Buffer 1.基本用法(四个步骤): 继续阅读 >>


杨龙飞 16/09/19 16:26:11
核心标签库: 流程处理标签: <c:if>:这个标签可以根据某个表达式的结果,决定是否显示Body内容。<c:if>标签的test属性中可以放置EL表达式,如果表达式的结果是true,则会将<c:if>Body输出。 <c:chosse>、<c:when>、<c:otherwise>:这些标签在某些条件成立时显示某些内容,不成立时就显示另一些内容。<c:when>及<c:otherwise>必须放在<c:choose>标签中,当<c:when>的test运算结果为true时,会输出<c:when>的Body内容,而不理会<c:otherwise>的内容,当<c:choose>中包含多个<c:when>标签,此时,从上 往下进行测试,如果有个<c:when>的test运算结果为true就输出其Body内容,之后的<c:when>就不会做测试。当所有的<c:whe 继续阅读 >>


朱新全 16/08/16 15:20:57
  留校三周已经过去了,现在我的进度是刚把安排的有关看书的内容进行完了,现在是在计划构思聊天室的流程,准备着先试着着手去写. 上周看的是网络编程部分,这部分我感觉特别重要,讲的就是聊天室类通信项目所用知识,在这部分也学到了挺多,对通信知识有了一个大概的了解,知道了应该怎么处理通信原理类的问题. 我觉得要写出聊天室,首先现在必须要清楚聊天室的工作原理,所以现在要先整理思路,把暑假留校三周学到的知识大概都串着回想一下,借鉴着书上的步骤流程,去实现自己的聊天室.觉得暑假留校时间真的过的非常非常快,比平时上课的时间快好多,所以必须要好好珍惜剩下的留校时间,每天都进步一点,努力提高充实自己. 作者:dongmengyuan1020 发表于2016/8/8 8:28:16 原文链接 阅读:3 评论:3 查看评论 继续阅读 >>


董孟愿 16/08/08 08:28:16
  现在已经是暑假留校的第三周了,时间真的不会等人.留校生活已经基本过了一小半了.   第二周我们的安排是学习linux C编程实战的第七章(进程控制)部分,在开始第七章内容之前,还有一个特别苦恼的事情就是上周的小任务ls命令的R还没完成呢.所以总觉得自己时间分配不当,这一周开始学习新内容之前,先把ls -R写出来,然后开始学习进程. 在进程控制这一章的学习中,发现内容相对于上周的来说包含面更广了,但是那种零碎的知识也变少了.所以自己在学习中就必须有意识的去通过各种途径了解所涉及的知识,就像学长们给我们说的那样,真正有难度的是第一章的ls命令,这一章的小任务是实现myshell,听名字和需求觉得好难,感觉无从下手.还好书上给了流程图和具体的大概思路,首先最明显的是和ls相比函数真的是少了好多好多,所以心里压力没有那么大了,大概看了下书上的思路,自己先把程序框架写了出来,前两个函数模块挺简单的,自己尽力写了出来,觉得有难度的是后两个模块,牵扯到了输出输入重定向,管道之类陌生的名词,所以还需要借助书上的思路去完成.   在上周的任务中,我发现自己对于函数的传 继续阅读 >>


董孟愿 16/08/01 14:16:38