一.理解一个传输流再去扩展 用http举例来说,首先作为发送端的客户端在应用层(http协议)发出一个想看某个web页面的http请求. 接着,为了传输方便,在传输层(tcp协议)把从应用层处收到的数据(http请求报文)进行分割,并在各个报文上打上标记序号及端口号转发给网络层. 在网络层(ip协议),增加作为通信目的地的mac地址后转发给 .这样一来,发往网络的通信请求就准备齐全了. 接收端端服务器在链路层接收到数据,按序往上层发送,一直到应用层.当传输到应用层,才能算真正接收到由客户端发送过…
TCP/IP通讯情景: 用网线将计算机A(服务器Server)和计算机B(Client)连接起来.程序代码在计算机A中,计算机B中安装有TCP/IP通讯助手. (图中屏幕大的是计算机A,屏幕小的笔记本是计算机B)…
开始学习opengl,但是看opengl编程指南不同版本之间使用了一堆不同的库,概念名称全都搅起的,越看越糊涂,遂整理的一下opengl相关的一些库的名词, 才发现是不同时期不同版本不断发展的结果. 现在比较流行的搭配主要是freeglut+glew和glfw+glew,如果想做简单的测试或者自己实在牛逼直接使用gl glu.…
Buffer常见的是这个: 对,就是铁道端头那个巨大的弹簧一类的东西.作用是万一车没停住,撞弹簧上减速慢,危险小一些.叫缓冲. Cache常见的是这个: 没错,就是一种保管箱.看到右边那个被锈掉的Food Cache没?这是部署在森林里的存应急物资的保管箱.功能是把你需要用的东西放在更容易拿到的地方.虽然常用准确翻译叫缓存,但个人以为意思表达的不对,丢了一半的功能.台湾的翻译更好,叫快取. 相信看完这些应该不用我说区别了? 哎呀还是卖弄一下吧. 简单说,Buffer的核心作用是用来缓冲,缓和冲击…
前言:这是一个两万余行的商业项目,但代码质量却不敢恭维!     //本文永久链接,转载请注明出处:http://www.cnblogs.com/ChenYilong/p/3489939.html                              Technorati Tags: iOS, 代码优化…
前言 JavaScript的原型和原型链是面试的时候经常被问及到的问题,考察了我们对JavaScript的基础掌握情况,今天我们在这里用一张图来梳理下其中的知识点. 下面我来引入这张非常经典的图,我也是亲手画了下,大家也可以自己动手去画,对理解原型及原型链有很大的帮助. 这张图详细的描述了构造函数Function,Object以及它们实例之间的原型关系. 大致总结下就是如下几点: 大致总结一下就是: Object是作为众多new出来的实例的基类 , function Object(){ [ na…
转载Redis Cluster原理 转载https://blog.csdn.net/yejingtao703/article/details/78484151 redis集群部署方式: 单机 主从 redisCluster模式(一致性hash涵盖16535个slot号) sentinel哨兵模式 Redis集群设计包括2部分:哈希Slot和节点主从,本篇博文通过3张图来搞明白Redis的集群设计. 节点主从: 主从设计不算什么新鲜玩意,在数据库中我们也经常用主从来做读写分离,直接上图: 图上能看…
几张图让你看懂WebAssembly https://www.jianshu.com/p/bff8aa23fe4d     (图片来源:giphy.com) 编者按:本文由明非在众成翻译平台上翻译. 最近,WebAssembly 在 JavaScript 圈非常的火!人们都在谈论它多么多么快,怎样怎样改变 Web 开发领域.但是没有人讲他到底为什么那么快.在这篇文章里,我将会帮你了解 WebAssembly 到底为什么那么快. 第一,我们需要知道它到底是什么!WebAssembly 是一种可以使…
会了HTML和HTML5语法,你就真的会了HTML吗,来看这张图!是这本<超实用的HTML代码段>入门实例书的导览!熊孩子们,赶紧学习去吧! 如果一半以上的你都不会,必须看这本书,阿里一线工程师用代码和功能页面来告诉你每一个技术点. 都会一点,但不知道如何检验自己,看看本书提供的面试题: 1.Doctype? 严格模式与混杂模式,如何触发这两种模式? 2.什么是Semantic HTML(语义HTML)? 3.表格的的语义化可以用哪个标签? 4.<img>标签上title与alt属…
这是一个老话题了,推荐一篇文章: http://blog.csdn.net/breaksoftware/article/details/8150476#0-tsina-1-83826-397232819ff9a47a7b7e80a40613cfe1 这里简单画图阐述核心问题所在: 关键在于ntdll!LdrpLoaderLock这把锁. 1.在使用DLL_PROCESS_ATTATCH进入DllMain之前当前线程会获取这把锁. 2.如果在DllMain里面创建了线程,新线程初始化过程中也会去获…