圣杯布局详解--浮动

圣杯布局是什么:圣杯布局是两边固定宽度,中间自适应的三栏布局。中间栏放到文档流前面,先行渲染。目的是为了解决三栏布局。浮动实现:实现效果:首先HTML:头部<header></header>标签,内容区域<div class="container"></div>里面包含中、左、右三个 div 标签。底部<footer></footer>标签HTML代码: //标题 <header>&l
分类: 其他 发布时间: 01-26 23:41 阅读次数: 0

深入理解CSS定位中的偏移

CSS中有三种基本形式的布局机制:普通流、浮动和绝对定位。利用定位可以准确定义元素的位置,或者是元素相对于其父元素、另一个元素、浏览器窗口的位置。一、Position定位:五个值:staticrelativefixedabsolutesticky1.static:HTML元素的默认值,即没有定位,遵循正常的文档流对象。静态定位的元素不会受到投top、bottom、left、right的影响。HTML代码:<div class="box1"></div>
分类: 其他 发布时间: 01-26 23:41 阅读次数: 0

TCP、UDP协议特点以及区别

一、TCP协议特点TCP是面向连接(虚连接)的传输层协议。应用程序在使用TCP协议之前,需要先建立好一个TCP的连接,在传送数据以后再释放这个连接。虚连接:不属于传输层实际的物理连接(将这个数据报加上各个层次的首部之后放到链路上面传输,然后再到接收端一步又一步的解封装),而TCP协议的使用就好像两个进程之间建立的一点到另一点的这种点对点连接。每一条TCP连接只能有两个端点,每一条TCP连接只能是点对点的连接。TCP提供可靠交付的服务,无差错、不丢失、不重复、按序到达。(可靠有序,不丢不
分类: 其他 发布时间: 01-26 23:40 阅读次数: 0

原生AJAX实现过程

一、JavaScript异步编程异步是与同步相对的概念。同步:不意味着所有步骤同时运行,而是指步骤在一个控制流序列中按顺序执行。异步:异步过程的执行将不再与原有的序列有顺序关系,从主线程发射一个子线程来完成任务。简单理解:同步按代码的顺序执行,异步不按照代码的顺序执行,异步的执行效率更高。二、什么时候用异步编程?  在前端编程中,我们在处理一些简短、快速的操作时,往往在主线程中就可以完成。主线程作为一个线程,不能够同时接受多方面的请求。所以,当一个事件没有结束时,界面将无法处理其他请求。  如
分类: 其他 发布时间: 01-26 23:40 阅读次数: 0

CSS垂直居中总结

一、行内元素垂直居中注:行内元素不能设置宽高、但是可以设置padding,不能设置margin-top和margin-bottom但是可以设置margin-left和margin-right。1.设置padding-top和padding-bottom为相同的值。HTML .box{ padding-top: 30px; padding-bottom: 30px; padding-right: 20px;
分类: 其他 发布时间: 01-26 23:39 阅读次数: 0

TCP报文段首部格式--详讲

目录一、介绍Tcp报文段首部:二、详解:一、介绍TCP报文段首部:TCP报文段主要是两个部分,一个是首部一个是数据部分。首部除了20字节的固定部分还包括选项(长度可变的字段)和填充字段(保证Tcp首部字节为4的整数倍,一般填充的都是全0字段)。图示:二、详解:1、端口号占的位数是16位,那么源端和目的端口占的位数为32位即4个字节。2、序号位占的是4字节。序号:在一个TCP连接中传送的字节流中的的每一个字节都按照顺序编号,本字节段表示本报文段所发送数据的第一个..
分类: 其他 发布时间: 01-26 23:39 阅读次数: 0

TCP传输连接--建立连接阶段(TCP三次握手)

目录一、TCP相关概念:二、TCP连接建立过程中要解决的问题:三、TCP三次握手的过程:一、TCP相关概念:1.TCP是面向连接的协议。2.TCP是基于传输连接(不是物理连接,是逻辑上的连接)来传送TCP报文段。TCP运输连接的建立和释放是每一次面向连接的通信中必不可少的过程。3.TCP运输链接有三个阶段:(1)建立连接(三次握手) 。(2)数据传送。(3)释放连接(四次挥手)。4.TCP的运输连接管理就是使运输连接的建立和释放都能正常地进行。二.
分类: 其他 发布时间: 01-26 23:39 阅读次数: 0

TCP连接释放--四报文挥手

目录一、TCP四次挥手:二、为什么要经过2MSL时间而不直接进入关闭状态呢?一、TCP四次挥手:传输结束后,TCP通信的双方都可以释放连接,现在主机A中的TCP客户进程和主机B中的TCP服务器进程都处于连接已建立状态。假设主机A中的应用进程通知其TCP释放连接(主动关闭),TCP客户进程发送TCP连接释放报文段,并进入终止等待1状态,该报文段的首部终止位为1(FIN=1),确认位(ACK=1)表明这是一个TCP连接释放报文段,序号seq的值为u(它等于之前发送的报文最后一个字节.
分类: 其他 发布时间: 01-26 23:39 阅读次数: 0

Vue——MVVM理解

一、MVVM的组成:由Model、View、ViewModel三者组成。Model:代表数据模型 、数据对象(data),数据和业务逻辑都在Model层中定义。View:代表UI视图、模板页面,负责数据的展示。ViewModel:视图模型,View和Model的关系映射。数据库结构往往是不能直接跟界面控件一一相对应的,需要再定义一个数据对象专门对应View上的视图控件。ViewModel的职责就是把Model对象封装成可以显示和接受输入的界面数据对象。在MVVM架构下,View和Mode
分类: 其他 发布时间: 01-26 23:38 阅读次数: 0

Vue深入响应式的原理

核心点是:Object.defineProperty一、如何追踪变化:1. 把普通的JS对象传入Vue实例作为对data选项,Vue将遍历此对象所有的Property。并使用Object.defineProperty把这些property全部转为getter/setter。2. getter/setter在内部让Vue能够追踪依赖,在property被访问和修改时通知更变。3. 每个组建实例都对应一个watcher实例,在组建渲染过程中把“接触”过的数据property记为依赖。当依赖的se
分类: 其他 发布时间: 01-26 23:38 阅读次数: 0

JavaScript继承--原型链继承详解

一、回顾原型概念:在学习原型链继承之前我们先简单回顾一下原型的概念:每个函数都有一个prototype属性,它默认指向一个空的Object对象(称为原型对象),原型对象里面有一个constructor属性,它指向函数对象。function foo(){ }console.log(foo.prototype.constructor == foo); //true构造函数、原型、实例的关系:每一个构造函数都有一个原型对象(Foo.prototype)、原型对象都包含一个指向构造
分类: 其他 发布时间: 01-26 23:38 阅读次数: 0

JavaScript继承--借用构造函数继承

目录一、知识回顾:二、借用构造函数实现继承:三、借用构造函数的问题:一、知识回顾:在学习新知识之前我们简单回顾一下 call、apply、bind方法的使用:call和apply的共同点是能够改变函数的执行时的上下文,将一个对象的方法交给另一个对象来执行,并且是立即执行的;bind() 方法创建一个新的函数,在调用时设置 this 关键字为提供的值。1、call方法的使用:a:语法:Function.call(obj,[param1[,param2[,…[,para..
分类: 其他 发布时间: 01-26 23:37 阅读次数: 0

JavaScript继承--原型式继承

一、原型式继承的由来:克罗克福德介绍了一种实现继承的方法,这种方法并没有使用严格意义上的构造函数,而是借助原型可以基于已有的对象创建新对象,同时还不必因此创建自定义类型。其给出的函数如下: function Object(o){// 临时性的构造函数 function F() {} F.prototype = o; return new F(); }解释:(1)在object函数内部,先创建了一个临时性的构造
分类: 其他 发布时间: 01-26 23:37 阅读次数: 0

Vue源码探索--mustache模板引擎(基本使用)

一、什么是模板引擎?模板引擎是将数据变为视图最优雅的解决方案。二、将数据变为视图的方法:1、纯DOM法通过原生JS分别创建(document.createElement(" "))不同的标签把子元素的标签添加(appendChild())到父元素的内容上。 <ul id="list"> </ul> <script> var arr = [ { "name": "小明",...
分类: 其他 发布时间: 01-26 23:36 阅读次数: 0

在win10环境下安装python开发环境

引言python 已经成为当今世界是最流行的语言之一,并且发展势头迅猛,从python的发展历程看,python一路过关斩将,本月更是荣登了语言排行榜第三名的宝座,小猿对于python的学习亦是渴望已久,小猿已经下定决心,不管前路荆棘丛生还是坦荡一片,小猿都将一路前行,将所有路障都变成前行路上的踏脚石。python 学习环境的安装要学习python就必须安装python学习环境,python学习环境包含最基础的python开发环境和python集成ide,小猿接下来要记录的是python开发环境的安装
分类: 其他 发布时间: 01-26 23:36 阅读次数: 0

斗地主案例的简单实现

引言最近学习java相关的知识,学习了传智老师讲的斗地主案例感觉还是有点意思,此处小猿决定学习该案例并做一些相关的笔记,废话不多讲,我们开始进入正题。案例需求现有player1,player1,player1三人需要完poker,我们操作是将54张牌发给这三人,在这过程中需要经历的是:准备牌->洗牌->发牌->看牌四个过程,我们需要用集合的知识实现这个过程。方案一采用ArrayList集合,一个大集合来储存所有poker,然后遍历poker一次添加到不同玩家所采的集合,当pok
分类: 其他 发布时间: 01-26 23:36 阅读次数: 0

多线程学习笔记(一)多线程之基本概念学习

引言多线程是既是编程中的重点,又是难点,在学习多线程之前,首先要搞清楚设计多线程中的几个概念,小猿一直对于学习新的事物采纳的学习模式是首先搞清楚概念,及"xxx"是什么?其次是“xxx”能做什么?最后是"xxx"为什么,采用这种模式可以帮助小猿快速获取该事物的要领,好了,废话不说了,我们进入正题。多线程相关的几个专业术语介绍进程什么是进程?查看度娘给出的定义是:进程是一个具有一定独立功能的程序关于某个数据集合的一次运行活动。这个概念理解起来有点费劲。先来上一张图:上面就展示的是进程,其实进程的就
分类: 其他 发布时间: 01-26 23:36 阅读次数: 0

多线程学习笔记(二)多线程之线程通信

引言对于一个人而言,一生中会经历生、老、病、死等不同的状态,水无常形,兵无常势,反观线程启动后亦会有不同状态,线程所经历的状态比较固定,共有六种状态,一个线程从从创建到死亡过程,可能会经历中间的四种状态,也可能朝生夕死,下文将介绍有关线程在计算机中的六种状态。线程与其状态当一个线程加载如计算机中时,通常会有六种状态:new、terminated、timed waiting、running、blocked、wait,这六种状态的关系如下:线程的创建和死亡以及运行状态就不再赘述。timed wait
分类: 其他 发布时间: 01-26 23:35 阅读次数: 0

多线程学习笔记(三)多线程之线程池

引言当一个业务并发量很大的时必定会用到多线程,而当运行普通的多线程程序必定会伴随着大量重复的线程创建及线程销毁,这些没有必要且重复的计算任务既会增加程序的复杂度又不符合计算机程序设计的原则导向,为了提高计算机的使用效率,前辈到老们提出了使用线程池,这样就在一定程度上避免了线程重复的创建和销毁,极大程度上提升了程序的执行效率和健壮性。线程池简介及使用方法什么是线程池?顾名思义,线程池就是容纳线程的"池子",也就是能容纳多个多线程程序的容器,这样的优点是线程池原理线程池案例总结...
分类: 其他 发布时间: 01-26 23:35 阅读次数: 0

函数(Lambda)表达式学习

引言在写多线程代码的时候我们往往为了实现多线程程序就不得不创建一些匿名内部类,但创建匿名内部类不是目的,我们的目的是为了实现多线程程序而不是为了实现匿名内部类,所以在这个过程中创建匿名内部类就显得冗余少许。Lambda的思想及案例Lambda表达式思想Lambda表达式以结果为导向,这也符合"老板的基本思想",老板只管你做成了什么,而从来都不关心你做了什么,你付出了多少的努力,lambda表达式的思想本质与"老板"的思想一致。当我们去创建多线程程序时就不得不创建一些类,这些类又显得那么的冗余。示例
分类: 其他 发布时间: 01-26 23:35 阅读次数: 0