`
文章列表
锐商企业CMS 写道 "Web 流量分析工具多不胜数,从 WebTrends 这样专业而昂贵的,到 Google Analytics 这样强大而免费的,从需要在服务器端单独部署的,到可以从前端集成的,不一而足。本文收集并介绍了10个功能强大的开 ...
URL:http://localhost:8080/example/ 中 国?name=中国 汉字   编码      二进制表示 中国   UTF-8     0xe4 0xb8 0xad 0xe5 0x9b 0xbd[-28, -72, -83, -27, -101, -67] 中国   GBK       0xd6 0xd0 0xb9 0xfa[-42, -48, -71, -6] 中国   ISO8859-1 0x3f,0x3f[63, 63]信息失去 (一)、浏览器 1、GET方式提交,浏览器会对URL进行URL encode,然后发送给服务器。 (1 ...
  系统环境变量: /etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置. /etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取. 当前用户变量: ~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时, 该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件. ~/.bashrc:该文件包含专用于你的bash she ...
简单处理程序:   #include<stdlib.h> #include<stdio.h> #include<unistd.h> #include<signal.h> void handle() { printf("I am steven\n"); alarm(1); } int main() { signal(SIGALRM,handle); alarm(3); whi ...
#include <stdio.h> #include <stdlib.h> #include <string.h> int const N= 1000000; struct Trie{ int id; // 标记每一个单词 int cnt; // 标记单词前缀的数量 int next[26]; // 26 个孩子结点 void init(){ id= 0; cnt= 0; for( int i= 0; i< 26; ++i ) n ...
HTTP(Hypertext Transfer Protocol, 超文本传输协议),用于从WWW服务器传输超文本到本地浏览器的传输协议。你可以通过协议定制传送的内容,从而减少网络传输。由于HTTP协议支持的服务 不限于WWW,还可以是其它服务,因而HTTP协议 ...
HTTP 1.1的一些细节:Cache机制 Du XiaoGang <dugang@188.com >      Cache机制可能是HTTP 1.1协议中最复杂的一个组成部分,它的目的有两个:        1, 降低网络上发送HTTP请求的次数,这采用"过期"机制(Expiration Mechanism).         2, 降低网络上完整回复HTTP请求包的次数,这采用"确证"机制(Validation Mechanism). ...
原文(英文)地址: http://www.mnot.net/cache_docs/     这是一篇知识性的文档,主要目的是为了让Web缓存相关概念更容易被开发者理解并应用于实际的应 用环境中。为了简要起见,某些实现方面的细节被简化或省略了。如果你更关心细节实现则完全不必耐心看完本文,后面参考文档和更多深入阅读部分可能是你更需 要的内容。 什么是Web缓存,为什么要使用它? 缓存的类型: 浏览器缓存; 代 理服务器缓存; Web缓存无害吗?为什么要鼓励缓存? Web缓存如何工作: 如何控制 (控制不)缓存: HTML Meta标签 vs. HTTP头信息; ...
Cache 的write back和write through 收藏 为了保证cache和memory的数据一致性,通常有三种方法: 1〉write through:CPU向cache写入数据时,同时向memory也写一份,使cache和memory的数据保持一致。优点是简单,缺点是每次都要访问memory,速度比较慢。 2〉post write:CPU更新cache数据时,把更新的数据写入到一个更新缓冲器,在合适的时候才对memory进行更新。这样可以提高cache访问速度,但是,在数据连续被更新两次以上的时候,缓冲区将不够使用,被迫同时更新memory。 3〉write back:CP ...
要使用低成本的 32位处理器,开发人员面临两种选择,基于Cortex-M3内核或者ARM7TDMI内核的处理器。如何做出选择?选择标准又是什么?本文主要介绍了ARM Cortex-M3内核微控制器区别于ARM7的一些特点,帮助您快速选择。 1.ARM实现方法 ARM Cortex-M3是一种基于ARM7v架构的最新ARM嵌入式内核,它采用哈佛结构,使用分离的指令和数据总线( 冯诺伊曼结构下,数据和指令共用一条总线 )。从本质上来说,哈佛结构在物理上更为复杂,但是处理速度明显加快。根据摩尔定理,复杂性并不是一件非常重要的事,而吞吐量的增加却极具价值。 ARM公司对Cortex-M3 ...
时间与日期 通常对于 一个程序来说可以确定时间与日期是十分用的。也许他要记录其运行的时间,或者是他要一个特定的时间改变其形为。例如,一个游戏程序也许不会在工作时间运 行,或者是一个备份调度会在启动自动备份之前等待早些的工作完成。 所有的Unix 系统对于时间与日期都使用相同的起始点:1970年1月1日午午夜GMT。这是Unix的创世纪,而Linux也不例外。而在Linux系统中所有的时间 都是以秒记量的。这与MS-DOS处理时间的方式相似,所不同是MS-DOS是由1980年开始的。其他的系统使用其他的记时起始时间。 时间是使用一个定义的time_t类型来处理。这是一个足够大的整数类 ...
对于每个取样点的 R,G,B 值, 在转换到 YUV colour space 时, 首先定义画面的平均亮度值(Luminance), Y, 其计算公式为: Y = kr*R + kg*G + kb*B kr, kg, kb 为 weighting factors (加权因数), kr + kg + kb = 1 恒定. (其中, ITU-R BT.601 定义 kb = 0.114 和 kr = 0.299) 然后定义 Cr, Cg, Cb 为颜色强度 (colour intensity) 与这个 luminance 的差值: Cb = B − Y Cr = R − Y ...
编译gcc-3.3.6的时候,出现以下错误: /usr/include/bits/fcntl2.h:51: error: call to '__open_missing_mode' declared with attribute error: open with O_CREAT in second argument needs 3 arguments     这纯属软件bug,因为使用open函数的时候,如果在第二个参数中使用了 O_CREAT,就必须添加第三个参数:创建文件时赋予的初始权限。而在gcc-3.3.6/gcc/的collect2.c文件中有漏掉第三个参数的错 误 ...
消息队列缺点: 1. 如果进程创建了一个消息队列,在该队列中放入了几则消息,然后终止,但是该消息队列及其内容并不会被删除。直到出现一下情况:某个进程调用msgrcv或 msgctl读消息或删除消息队列,某个进程执行ipcrm(1)命令删除消息队列,或由正在启动的系统删除消息队列。 2. 消息队列有大小限制,通常只用于小数据量的发送。系统对用户的大小限制可以通过 ulimit -q 命令进行查询。 3. 消息队列只适用于单台主机的进程间通信 消息队列优点: 1. 可靠 2. 流是受控的 3. 面向记录 4. 可以用非先进先出方式处理 5. 消息队列是异步通信的 ...
在 linux 或者 unix 环境中, errno 是一个十分重要的部分。在调用的函 数出现问题的时候,我们可以通过 errno 的值来确定出错的原因,这就会 涉及到一个问题,那就是如何保证 errno 在多线程或者进程中安全?我们希望在多线程或者进程中,每个线程或者进程都拥有自己独立和唯一的一个 errno ,这样就能够保证不会有竞争条 件的出现。一般而言,编译器会自动保证 errno 的安全性,但是为了妥善期间,我们希望在写 makefile 的时 候把 _LIBC_REENTRANT 宏定义,比 如我们在检查 <bits/err ...
Global site tag (gtag.js) - Google Analytics