龙潭书斋 -- 332




200x200


TCP 输出下图展示了某个应用进程写数据到一个 TCP 套接字中时发生的步骤 每一个 TCP 套接字都有一个发送缓冲区,我们可以使用&nbs

#读书笔记    #linux    #unix    #计算机网络   

200x200


一、三路握手建立一个TCP连接的过程如下: 服务器必须准备好接收外来的连接,这通常通过调用 socket、bind 和 listen 三个函数完成,我们称之为“

#读书笔记    #技术帖    #linux    #unix   
用户数据报协议 -- UDP协议UDP是一个简单的传输层协议,应用进程往一个UDP套接字写入一个消息,该消息随后被封装到一个UDP数据报,该UDP数据报进而又被封装到一个IP数据报,然后发送到目的地 UDP不保证UDP数据报会到达最终的目的地,不保证各个数据报的先后顺序跨网络后保持不变,也不保证每个数据报只到达一次我们使用UDP进行网络编程所遇到的问题是他缺乏可靠性,如果一个数据报到达了最终的目的地,但是校验和检测发现有错误,或者该数据报在网络传输途中丢失了,他就无法被投递给UDP套接字,也不会被源端自动重传,如果想要确保一个数据报到达目的地,可以忘应用程序中添加一大堆的特性:来自对方的确认、发送超时、重传等 每个UDP数据报都有一个长度,如果一个数据报正确地到达了目的地,那么该数据报的长度将随着数据一起传递给接收端的应用程序,而TCP协议则没有任何记录边界,这就是数据报协议与流协议的区别 UDP提供无连接的服务,因为UDP客户与服务器之间不必存在任何长期关系,比如用户可以创建一个UDP套接字并且发送一个数据报给一个特定的服务器,然后立即使用同一个套接字发送另一个数据报给另一个服务器,同样,一个UDP服务器可以用同一个可以用同一个UDP套接字从若干个不同的客户接收数据报 传输控制协议 -- TCP协议1
#读书笔记    #技术帖    #linux    #unix   

200x200


OSI模型是一个描述了一个网络中各个协议层的常用方法,即计算机通信开放系统互连模型这是一个七层模型,图中给出了他与网际协议族的近似映射  1、物理层和数据链路层一般情况下,我们不必

#读书笔记    #技术帖    #linux    #unix   

200x200


概述二项堆可以以 O(lgn) 的最坏时间复杂度完成 INSERT、MINIMUM、EXTRACT-MIN 和 UNION、DECREASE-KEY、

#读书笔记    #技术帖    #linux    #算法   
Symfony 的目录结构尽管如何安排目录结构是非常灵活自由的,但是 symfony 会创建下面这些默认的目录: app -- 用于存放 Symfony 的配置信息 src -- 所有的 PHP 项目代码都存放在这个目录中 vendor -- 所有的 vendor 库都放在这个目录中 web -- 这是 web 的入口目录,所有的可供访问的入口文件都存放在这个目录下 web 目录根目录中的 web 目录存放所有的公共的和静态的文件,包括图片、css、js 文件等,也是供访问的入口 Controller 存放的目录下面是默认的入口 app.php:<?php // web/app.php require_once __DIR__.'/../app/bootstrap.php.cache'; require_once __DIR__.'/../app/AppKernel.php'; use Symfony\Component\HttpFoundation\Request; $kernel = new AppKernel('prod', false); $kernel->loadClassCache(); $kernel->handle(Request::creat
#技术帖    #symfony    #web    #php   
概述创建一个新的页面有两个工作要做:创建 route,route 定义了访问你的页面的 URL 以及哪个 Controller 将被执行创建 Controller,Controller 就是一个将网页请求转化为 Symfony 的 Response 对象的函数 Web 网站上的任何活动都是基于 Http 请求的,因此,Web 站点的最基本的工作就是处理请求并返回,Symfony 的设计正是以这个为原则的,因此实现了简单、快捷、可维护的开发 创建 Bundle在一切开始前,你需要创建一个 Bundle,在 Symfony 中,Bundle 类似于一个 plugin,你的所有代码都将存在于 Bundle 中,Bundle 包含了你的应用中的所有代码,但事实上,Bundle 只是一个包含这些代码的目录罢了Symfony 中提供了用于创建 Bundle 的工具,要创建 AcmeHelloBundle 这个 Bundle 只需要执行:ph
#技术帖    #symfony    #web    #php   

200x200


什么是 SymfonySymfony 是一个基于MVC模式的面向对象的 PHP5 框架,成熟、高效、封装到位,可以帮助开发者快速开发出一个功能强大且便于维护的&

#技术帖    #symfony    #install    #web   

200x200


问题描述赫夫曼编码是一种应用广泛并且非常有效的压缩技术,一般可以压缩掉20%到90%赫夫曼编码使用一张字符出现频度表,记录每个字符出现的频度,根据每个字符出现的频度来进行不定长编码,即对于出现频度大的

#读书笔记    #技术帖    #算法    #算法导论   
问题描述活动选择问题就是对几个相互竞争的活动进行调度,每个活动都要求独占某一资源,要在N个活动中挑选出一个互相兼容的活动的最大子集合 问题分析我们可以首先按照各个活动的结束时间将活动进行排序,对于活动 ai 到 aj,如果兼容活动数不为0并且 ak 是其中的一个被兼容的活动,那么活动的总数 = ai 到 ak 的兼容活动数 + ak 到 aj 的兼容活动数 + 1这样,我们就可以将原问题划分为 ai 到 ak 的兼容活动数 与  ak 到 aj 的兼容活动数 两个子问题来分别计算,因此我们可以使用动态规划算法 但是,对于这个问题,我们可以从另外一个角度考虑,就是寻找 ai 到 ak 的最大兼容子集合的最早结束时间,这样对于aj(j>k),将有最大可能添加到原集合,因为活动是按照各个活动的结束时间递增排序的,因此,我们只要顺序地选择活动就可以得到当前子集的最早结束时间的活动,最终,可以得到全局最优解 算法代码/* * file: m
#读书笔记    #技术帖    #算法    #算法导论   



京ICP备15018585号