2020
02-28
02-28
Go的http包中默认路由匹配规则 HOT
路由规则的查找就是从ServeMux中的map去匹配查找的,到这个handler并执行,只是会有一些处理机制,比如怎么样确保访问/path/subpath的时候是先匹配/path/subpath而不是匹配/path/呢?
继续阅读 >
PHP 代码分享
MongoDB 教程
正则表达式
jQuery 教程
JavaScript 代码片段
PHP7 教程
路由规则的查找就是从ServeMux中的map去匹配查找的,到这个handler并执行,只是会有一些处理机制,比如怎么样确保访问/path/subpath的时候是先匹配/path/subpath而不是匹配/path/呢?
继续阅读 >
平滑重启是指能让我们的程序在重启的过程不中断服务,新老进程无缝衔接,实现零停机时间(Zero-Downtime)部署;
平滑重启是建立在优雅退出的基础之上的,之前一篇文章介绍了相关实现:Golang中使用Shutdown特性对http服务进行优雅退出使用总结
继续阅读 >
我最近一直在思考很多事情,每当反思自己的工作成果时,眼前常会出现一行字幕:我该如何编写出好代码? 主观上,没人愿意去编写糟糕的代码,那么问题来了:你是怎么知道你编写出好的Go代码了呢?
如果好与坏之间存在连续性,那么我们怎么知道哪些是好的部分?它的特性、属性、标志、模式和惯用法又是什么呢?
继续阅读 >
模板是将一个事物的结构规律予以固定化、标准化的成果,它体现的是结构形式的标准化。对于我们程序员来说,更直白的理解是;对于要输出的内容,个人位置需要参数化填充,需要填充的参数位置是固定的,输出的内容是有统一标准的。就像是我们小时候做的填空题,题目固定,有固定的位置需要填充,模版就是原理。
继续阅读 >
首选考虑数据存储,写好的博客需要存储起来,那么首先要有个数据库了,在这里我们选择MongoDB数据库,说到MongoDB,它的介绍很有意思,MongoDB是使用C++开发的一种分布式数据库,它是非关系型数据库中当中最像关系型的。使用MongoDB是因为它有一个document的概念,数据以文档的形式存储,当然也是key-value格式的。基于这样我们需要安装一个数据库,在linux平台安装非常简单。
继续阅读 >
在《高效能人士的七个习惯》一书中有这么一句话“学而不做等于没学,知而不做等于无知”,所以学习一门新语言光看是不行的,必须身体力行才可以,如果不实践的话最终也只是无知的状态。对于学习语言来说,“做”对应的是编码、调试、运行等,在进行这些工作之前,我们必须安装好编码和调试用的编辑器,运行所需的环境等,这篇文章便是和大家介绍关于go语言开发的环境搭建。
继续阅读 >
自带的默认的DefaultServeMux其实功能限制很大。比如请求的URL路径为"/images/123.png",想要匹配这个确实容易,但是想要取出其中的"123.png"字符串,DefaultServeMux就没法实现。
有一个非常强大的Gorilla工具包(www.gorillatoolkit.org),它有好几个功能,其中一个功能是提供multiplexer。
继续阅读 >
与 Java 和 .NET 等编程语言不同,Go语言为程序员提供了控制数据结构指针的能力,但是,并不能进行指针运算。Go语言允许你控制特定集合的数据结构、分配的数量以及内存访问模式,这对于构建运行良好的系统是非常重要的。指针对于性能的影响不言而喻,如果你想要做系统编程、操作系统或者网络应用,指针更是不可或缺的一部分。
继续阅读 >