code -- 10




概述有的时候,我们使用 git push 将本地分支推到远程分支以后,发现因为各种原因推错了,这个时候如果需要回滚是比较难办的本篇日志对远程分支的各种操作进行一个详细的介绍 git reset如果仅仅是 commit 了,还没有 push 到远程分支,只需要先执行 git log,然后通过 log 得到需要回滚到的 commit 的版本号,执行 git reset <version> 就可以了(<version> 就是你在 git log 里看到的具体的版本号) git reset 有几个附加参数,要想知道他们的意思,我们首先需要知道几个定义:HEAD -- 头,也就是当前分支最顶端的一次 commitIndex -- 索引,也就是暂存区中将在下一次 commit 的修改Working Copy -- 工作副本,也就是当前工作目录下的文件,换句话说,就是没有 git add,通过&nb
#技术帖    #github    #技术分享    #git   
概述nginx 提供了十分强大的 rewrite 功能在 nginx rewrite 规则的配置 中,我们介绍了 nginx rewrite 规则的配制方法 下面,我们从源码的角度看一下 nginx 是怎么处理 rewrite 的 HTTP 处理流程在 HTTP 请求处理的 11 个阶段 -- ngx_http_handler 中,我们介绍了 nginx 处理 HTTP 请求的 11 个阶段 rewrite 规则的处理就在 nginx HTTP 解析开始的几个阶段中 NGX_HTTP_SERVER_REWRITE_PHASE ngx_http_core_rewrite_phaseNGX_HTTP_FIND_CONFIG_PHASE ngx_http_core_find_config_phaseNGX_HTTP_REWRITE_PHASE ngx_http_core_rewrite_phaseNGX_HTTP_POST_REWRITE_PHASE ngx_http_core_post_rewrite_phase 虽然 rewrite 的解析分成了 NGX_HTTP_SERVER_REWRITE_PH
#技术帖    #web    #c语言    #龙潭书斋   
概述变量是现代编程语言中一个不可或缺的基本元素它主要由三个基本部分组成:名称类型值 PHP 的变量类型与 C 语言、java 不同,php、javascript、ruby 等语言是弱类型语言弱类型语言的变量可以表示任意的数据类型,这虽然提供了很大的灵活性与易用性,但是有时也是一把双刃剑,因此,了解 PHP 是如何实现弱类型的就是非常必要的了 PHP 的变量 -- zvalPHP 虽然是弱类型语言,但是这并不意味着 PHP 的变量没有类型PHP 变量的类型共有 8 种,可以分为以下三类标量类型 -- boolean、integer(long)、float(double)、string复合类型 -- array、object特殊类型 -- resource、NULL PHP 的变量存储在 zval 结构体中,定义于 Zend/zend.h 文件中// struct _zval_struct // php 变量描述结构 {{{ struct _zval_struct { /* Variabl
#技术帖    #php    #c语言    #技术分享   
概述nginx 作为高性能的 webserver,是不能容忍阻塞式的第三方调用的当需要访问第三方服务时,Nginx 提供了两种全异步的第三方通信方式:upstream 和 subrequestupstream 保证在与第三服务器交互时(包括建立连接、发送请求、接收响应、关闭连接等)不会阻塞 Nginx 的正常流程,这样保证了 nginx 在调用第三方服务时的高性能subrequest 提供了复杂请求分解后请求的设计模式 upstream 与 subrequest 的实现目标upstream 的设计目标是从上游服务器获取数据,然后透传给下游,nginx 因此变成以一个代理服务器,nginx 的反向代理模块就是基于 upstream 实现的subrequest 实现了讲一个主请求拆分为多个子请求,父请求在完全获取上游服务器的响应后再决定如何处理这次请求 如果希望把第三方服务内容几乎原封不动地返回给用户,则需要使用 upstream 方式,upstream 实现了非常高效的透传 HTTP如果希望 nginx 在获
#技术帖    #龙潭书斋    #服务器    #nginx   

200x200


概述在上一篇日志中,我们介绍了 PHP 执行的大致流程:PHP 的执行流程 其中,语义分析后生成了由 zend 引擎处理的 opcode,如

#技术帖    #php    #技术分享    #源码   
HTTP 请求的 11 个处理阶段nginx 将一个 HTTP 请求分为 11 个处理阶段,这样做让每一个 HTTP 模块可以仅仅专注于完成一个独立、简单的功能,而一个请求的完整处理过程可以由多个 HTTP 模块共同合作完成将一次 HTTP 请求划分为 11 个处理阶段,通过每个阶段内部多个 HTTP 模块流水式的处理请求,可以极大地提高多个模块合作的协同性、可测试性、可扩展性 HTTP 处理阶段枚举类型 -- ngx_http_phases// enum ngx_http_phases // 11 个 HTTP 处理阶段枚举类型 {{{ typedef enum { // 接收到完整 HTTP 头部后处理阶段 NGX_HTTP_POST_READ_PHASE = 0, // 在 URI 与 location 匹配前修改请求的 URI(重定向) NGX_HTTP_SERVER_REWRITE_PHASE, // 根据请求 URI 匹配 location 表达式 // 该阶段只能由 ngx_http_core_module 模块实现
#技术帖    #web    #龙潭书斋    #open   

200x200


概述前面我们阅读了 nginx 的哈希表结构 ngx_hash_t哈希表结构 -- ngx_hash_t nginx 的哈希表的一个很重要的应用场景是

#linux    #nginx    #opensource    #sourcecode   

200x200


问题描述赫夫曼编码是一种应用广泛并且非常有效的压缩技术,一般可以压缩掉20%到90%赫夫曼编码使用一张字符出现频度表,记录每个字符出现的频度,根据每个字符出现的频度来进行不定长编码,即对于出现频度大的

#读书笔记    #技术帖    #算法    #算法导论   



京ICP备15018585号