在学习nginx的时候,因为其数据结构略多,看过后一般就忘记了.所以边学习边记录在这里吧,方便以后查看. ngx_buf_t:缓冲区结点 1: typedef struct ngx_buf_s ngx_buf_t; 2: typedef void *ngx_buf_tag_t; 3: struct ngx_buf_s { 4: /* 5: * pos通常是用来告诉使用者本次应该从pos这个位置开始处理内存中的数据,这样设置是因为同一个 6: * ngx_buf_t可能被多次反复处理.当然,pos…
./configure --prefix=/etc/nginx \ #指定安装目录 --sbin-path=/usr/sbin/nginx \ #指定执行路径--conf-path=/etc/nginx/nginx.conf \ #指定配置文件路径--error-log-path=/var/log/nginx/error.log \ #指定错误日志路径--http-log-path=/var/log/nginx/access.log \ #指定访问日志路径--pid-path=/var/run/…
最近一直在看<深入理解Java虚拟机>第三版,无意中发现了第三版是最近才发行的,听说讲解的JDK版本升级,新增了近50%的内容. 这种神书,看懂了,看进去了,真的看的很快,并没有想象中的晦涩难懂,毕竟是公认的经典,作者书面描述能力肯定了得.虽然这种书,不会让你的代码能力马上提升,但是真正的让你知其然,还知其所以然.等遇到了这方面的问题,肯定不会像无头苍蝇一样,一头雾水,起码有一定的思路.更多Java.计算机方面的一些好书正在路上,今年一定要好好地提升一下内功. 不过,比如第五章的内容,调优实战…
Nginx基本数据结构 话说学习一种编程语言,例如C语言,我们首先学的也是数据结构,这是以后开发程序的关键.为了更好更方便的开发Nginx,Nginx自己实现了很多适合nginx的数据结构. Nginx中的数组 ngx_array_s是Nginx中的数组,原型为ngx_array_t. typedef struct { void *elts; //指向数据的指针 ngx_uint_t nelts; //数组中元素的个数 size_t size; //数组中每个元素的大小 ngx_uint_t n…
android studio 是google出的一款好用不贵的ide,好像是powerd by idea的那个公司,反正风格上差不多.下面是android studio常用的快捷键设置,记录一下自己用的,随时准备查看: 1.看代码时候用的 查看有哪些类实现了某个接口  ctrl + Alt + B 查看类的继承关系 选中类按 F4 查看具体类的实现 ctrl + 鼠标选中点击 回到方法括号的开始处或者到方法括号的结尾处  ctrl + [   和ctrl + ] 列出一个类里面的所有方法,属性…
此文随时更新,旨在记录平时遇到的不值得单独写博客记录的细节问题,当然如果问题有拓展将会另外写博客. 原文地址请保留http://www.cnblogs.com/rossoneri/p/4040314.html 1.xml中layout_gravity,gravity的区别. layout_gravity表示控件自身位置,gravity表示子组件的位置. 2.加imageView后提示Warning:Missing content Description attribute on image Re…
在Angular群里回答新手问题一段时间了,有一些Angular方面的坑留在这里备查,希望能对各位有所帮助.这个文章将来会随时更新,不会单独开新章,欢迎各位订阅. Q1. <div ng-include="views/user/show.html"></div> 错在哪里? A1. 如果你这么写过,会发现这个位置啥也没有加载出来,那么,错在哪里呢?错在ng-include需要的是一个变量,如果你在$scope中有这样一个变量 $scope.userShowTem…
git使用技巧集合(持续更新中) 在团队协作中,git.svn等工具是非常重要的,在此只记录一些git使用过程中遇到的问题以及解决方法,并且会持续更新. 1.git commit之后,还没push,如何撤销? 答:使用命令git reset --soft HEAD^即可,尽量不要使用命令git reset --hard HEAD,因为这样撤销是非常彻底的,本地文件也会删除(HEAD是指向最新的提交,上一次提交是HEAD^,上上次是HEAD^^,也可以写成HEAD-2 ,依次类推)…
(js描述的)数据结构[集合结构](6) 一.集合结构特点 1.集合中的元素不能重复. 2.集合是无序的. 二.集合的代码实现 function Set() { this.items = {} //1. add方法 Set.prototype.add = function(value) { //判断集合中是否包含元素 if (this.has(value)) { return false } //把数据添加到集合中 this.items[value] = value return true }…
集合.字典和散列表都可以存储不重复的值. 在集合中,我们感兴趣的是每个值本身,并把它当作主要元素.在字典和散列表中,我们用 [键,值] 的形式来存储数据. 集合(Set 类):[值,值]对,是一组由无序且唯一(即不能重复)的项组成的. 字典(Map 类):[键,值]对,也称作映射,其中键名是用来查询特定元素的. 散列(HashTable类/HashMap 类):[键,值]对,是Dictionary类的一种散列表实现方式.散列函数的作用是给定一个键值,然后返回值在表中的地址.散列算法的作用是尽可能…