内容提要 本章主要讲解了http协议在传输的过程中,如何彼此理解对方发送的内容是采用什么字符集编写的,从而彼此能够进行正确的显示内容!由此介绍了相关的报文首部。 HTTP对国际性内容的支持 服务器通过HTTP协议的Content-Type首部中的charset参数和Content-Language首部告知客户端文档的字母表和语言。 字符集和HTTP 字符集是把字符转换为二进制码的编码,字符集标记在
内容提要 本章主要讲解了一下http的安全版本https,以及对一下编码、解码的原理介绍! 保护HTTP的安全 http的安全版本应该具有:高效、可移植且易于管理,不但能够适应不断变化的情况而且还应该能满足社会和政府的各项要求。总结如下: 1、服务器认证:(客户端知道它们是在与真正的而不是伪造的服务器通话) 2、客户端认证:(服务器知道它们是在与真正的而不是伪造的客户端通话) 3、完整性:(客户端
通常我们把对象的非函数成员叫属性。 对于元素节点来说,其属性大体分为两类,固有属性与自定义属性(特性)。固有属性一般遵循驼峰命名风格,拥有默认值,并且无法删除。 自定义属性是用户随意添加的属性值对,由于元素节点也是一个普通的javascript对象,没有什么严格的访问操作,因此命名风格林林总总,值的类型也是乱七八糟。但是随意添加属性显然不够安全,比如引起循环引用等,因此,浏览器提供了一组API来供
javascript的核心API设计的很简单,但由于浏览器之间的不兼容性,导致客户端的API过于复杂。IE9的到来缓解了这种情况。然而使用javascript的框架或者工具类库,能简化通用操作,处理浏览器之间的差异,这让很多程序员在开发web应用时变得更简单。 jQuery类库被广泛的使用,作为web开发者,我们必须熟悉它:即便没有在自己的代码中遇到,也可能在别人的代码中遇见。幸运的是,jQuer
我们经常会从样本观察数据中,找出样本的模型参数。 最常用的方法就是极大化模型分布的对数似然函数。 但是在一些情况下,我们得到的观察数据有未观察到的隐含数据,此时我们未知的有隐含数据和模型参数,因而无法直接用极大化对数似然函数得到模型分布的参数。怎么办呢?这就是EM算法可以派上用场的地方了。 EM算法解决这个的思路是使用启发式的迭代方法,既然我们无法直接求出模型分布参数,那么我们可以先猜想隐含数据(
像上一章所展示的那样,许多简单的同步问题都可以用互斥体解决。这一章中我会介绍一个更大的挑战,著名的“生产者-消费者”问题,以及一个用于解决它的新工具,条件变量。 10.1 工作队列 在一些多线程的程序中,线程被组织用于执行不同的任务。通常它们使用队列来相互通信,其中一些线程叫做“生产者”,向队列中放入数据,另一些线程叫做“消费者”,从队列取出数据。 例如,在GUI应用中,可能有一个运行GUI的线程
在接下来的几个练习中,我们将返回到网页搜索引擎的构建。为了回顾,搜索引擎的组件是: 抓取:我们需要一个程序,可以下载一个网页,解析它,并提取文本和任何其他页面的链接。 索引:我们需要一个索引,可以查找检索项并找到包含它的页面。 检索:我们需要一种方法,从索引中收集结果,并识别与检索项最相关的页面。 如果你做了练习 8.3,你使用 Java 映射实现了一个索引。在本练习中,我们将重新审视索引器,并创
到目前为止,我们对变量之间关系的分析纯粹是描述性的。我们知道如何找到穿过散点图的最佳直线来绘制。在所有直线中它的估计的均方误差最小,从这个角度来看,这条线是最好的。 但是,如果我们的数据是更大总体的样本呢?如果我们在样本中发现了两个变量之间的线性关系,那么对于总体也是如此嘛?它会是完全一样的线性关系吗?我们可以预测一个不在我们样本中的新的个体的响应变量吗? 如果我们认为,散点图反映了被绘制的两个变
OpenGL 提供了多个绘制函数。我们目前使用的 glDrawArrays()函数属于“顺序绘制”的类别。这意味着顶点缓冲区以指定的偏移量进行扫描,它将每 X( 1 个顶点时表示点,两个顶点表示线,等等)个顶点作为一个图元。这种方法使用起来很方便,但是它的缺点是如果有多个图元共享通一个顶点,那么这个被共享的顶点就会在顶点缓冲区中存在多次。即,在顺序绘制中不存在共享的概念。要实现顶点的共享,我们需要
十六进制字面量,以关键字hex打头,后面紧跟用单或双引号包裹的字符串。如hex"001122ff"。在内部会被表示为二进制流。通过下面的例子来理解下是什么意思: pragma solidity ^0.4.0; contract HexLiteral{ function test() returns (string){ var a = hex"001122FF"; /
web应用是十分多样化的,为了实现某种应用,那哪种或哪些是最好的呢?或者说,对于web应用有没有一种最好的体系? 问题 你能配置一个单一的web体系去满足每个普通的web应用吗?包括一般性的界面呈现风格,身份验证,表单数据确认等等? 解决方案: MVC模式把你的软件组织架构分解成3个清晰的任务 model结合了应用数据,应用流程以及业务逻辑 view从model中提取数据并呈现出来 control
在一个应用软件的成型过程中,一些意想不到的商业逻辑到处出现。比如,基于价格的考虑,这个任务必须减少项目;而那个任务也因为销售税而必须选择合适的比率;而其它的任务也必须因为其他的特别条件而终止。一些商业规则是简单的,只需要不到一两个布尔比较关系就够了,然而它的规则可能需要费时的估计,需要查询数据库或者用户输入数据来引导。 通过书写代码可以把抽象(比如一条商业规则)转化为具体可见的东西。但是抽象物(比
第十一课:2D文本 本课将学习如何在三维场景之上绘制二维文本。本例是一个简单的计时器: API 我们将实现这些简单的接口(位于common/text2D.h): void initText2D(const char * texturePath); void printText2D(const char * text, int x, int y, int size); voi
3D音效 本章将介绍如何在jME3中实现3D音效,了解音源(Audio Source)、音频侦听器(Audio Listener)、混响(Reverb)等概念及其应用。 jME3支持2种音频资源格式:WAV和OGG。使用OGG格式需要在项目中添加jme3-jogg类库的依赖: dependencies { compile 'org.jmonkeyengine:jme3-jogg:3.1.0
这里说的定制Backbonejs,主要是定制Backbone中的sync部分,也就是最后和服务器端通信的部分。 17.1 三个级别的定制 首先得说,在Backbone里面和后端能通信的对象也就两个------Model和Collection。这俩的主要工作就是从服务器拉取数据,保存到实例中,或者把实例中的属性发送到服务器端。 上面两中类型的对象都是基于Backbone.sync来进行通信的,同时也