把目录改成思维导图形式

This commit is contained in:
xiemengjun
2013-01-16 22:08:54 +08:00
parent e667a2bcdd
commit a86e5f998c
28 changed files with 23 additions and 89 deletions

11
01.0.md
View File

@@ -1,12 +1,5 @@
# 1 GO环境配置
## 目录
* 1. [Go安装](01.1.md)
* 2. [GOPATH与工作空间](01.2.md)
* 3. [Go命令](01.3.md)
* 4. [Go开发工具](01.4.md)
* 5. [小结](01.5.md)
欢迎来到Go的世界让我们开始吧
Go是一种新的语言一种并发的、带垃圾回收的、快速编译的语言。它具有以下特点
@@ -21,6 +14,10 @@ Go试图成为结合解释型编程的轻松、动态类型语言的高效以及
在本章中我们将讲述Go的安装方法以及如何配置项目信息。
## 目录
![](images/navi1.png?raw=true)
## links
* [目录](<preface.md>)
* 下一节: [Go安装](<01.1.md>)

12
02.0.md
View File

@@ -1,15 +1,5 @@
# 2 Go语言基础
## 目录
* 1. [你好Go](02.1.md)
* 2. [Go基础](02.2.md)
* 3. [流程和函数](02.3.md)
* 4. [struct类型](02.4.md)
* 5. [面向对象](02.5.md)
* 6. [interface](02.6.md)
* 7. [并发](02.7.md)
* 8. [小结](02.8.md)
Go是一门类似C的编译型语言但是它的编译速度非常快。这门语言的关键字总共也就二十五个比英文字母还少一个这对于我们的学习来说就简单了很多。先让我们看一眼这些关键字都长什么样
break default func interface select
@@ -20,6 +10,8 @@ Go是一门类似C的编译型语言但是它的编译速度非常快。这
在接下来的这一章中我将带领你去学习这门语言的基础。通过每一小节的介绍你将发现Go的世界是那么地简洁设计是如此地美妙编写Go将会是一件愉快的事情。等回过头来你就会发现这二十五个关键字是多么地亲切。
## 目录
![](images/navi2.png?raw=true)
## links
* [目录](<preface.md>)

10
03.0.md
View File

@@ -1,14 +1,10 @@
# 3 Web基础
## 目录
* 1. [web工作方式](03.1.md)
* 2. [GO搭建一个简单的web服务](03.2.md)
* 3. [Go如何使得web工作](03.3.md)
* 4. [Go的http包详解](03.4.md)
* 5. [小结](03.5.md)
学习基于Web的编程可能正是你读本书的原因。事实上如何通过Go来编写Web应用也是我编写这本书的初衷。前面已经介绍过Go目前已经拥有了成熟的Http处理包这使得编写能做任何事情的动态Web程序易如反掌。在接下来的各章中将要介绍的内容都是属于Web编程的范畴。本章则集中讨论一些与Web相关的概念和Go如何运行Web程序的话题。
## 目录
![](images/navi3.png?raw=true)
## links
* [目录](<preface.md>)
* 上一章: [第二章总结](<02.8.md>)

10
04.0.md
View File

@@ -1,13 +1,5 @@
# 4 表单
## 目录
* 1. [处理表单的输入](04.1.md)
* 2. [验证表单的输入](04.2.md)
* 3. [预防跨站脚本](04.3.md)
* 4. [防止多次递交表单](04.4.md)
* 5. [处理文件上传](04.5.md)
* 6. [小结](04.6.md)
表单是我们平常编写Web应用常用的工具通过表单我们可以方便的让客户端和服务器进行数据的交互。对于以前开发过Web的用户来说表单都非常熟悉但是对于C/C++程序员来说,这可能是一个有些陌生的东西,那么什么是表单呢?
表单是一个包含表单元素的区域。表单元素是允许用户在表单中(比如:文本域、下拉列表、单选框、复选框等等)输入信息的元素。表单使用表单标签(\<form\>)定义。
@@ -24,6 +16,8 @@ HTTP协议是一种无状态的协议那么如何才能辨别是否是同一
表单还有一个很大的功能就是能够上传文件那么Go是如何处理文件上传的呢针对大文件上传我们如何有效的处理呢4.5小节我们将一起学习Go处理文件上传的知识。
## 目录
![](images/navi4.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -6,13 +6,7 @@ Go没有内置的驱动支持任何的数据库但是Go定义了database/sql
目前NOSQL已经成为Web开发的一个潮流很多应用采用了NOSQL作为数据库而不是以前的缓存5.6小节将介绍MongoDB和Redis两种NOSQL数据库。
## 目录
* 1. [database/sql接口](05.1.md)
* 2. [使用MySQL数据库](05.2.md)
* 3. [使用SQLite数据库](05.3.md)
* 4. [使用PostgreSQL数据库](05.4.md)
* 5. [使用beedb库进行ORM开发](05.5.md)
* 6. [NOSQL数据库操作](05.6.md)
* 7. [小结](05.7.md)
![](images/navi5.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -4,11 +4,7 @@ Web开发中一个很重要的议题就是如何做好用户的整个浏览过
6.1小节里面讲介绍session机制和cookie机制的关系和区别6.2讲解Go语言如何来实现session里面讲实现一个简易的session管理器6.3小节讲解如何防止session被劫持的情况如何有效的保护session。我们知道session其实可以存储在任何地方6.3小节里面实现的session是存储在内存中的但是如果我们的应用进一步扩展了要实现应用的session共享那么我们可以把session存储在数据库中(memcache或者redis)6.4小节将详细的讲解如何实现这些功能。
## 目录
* 1. [session和cookie](06.1.md)
* 2. [Go如何使用session](06.2.md)
* 3. [session存储](06.3.md)
* 4. [预防session劫持](06.4.md)
* 5. [小结](06.5.md)
![](images/navi6.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -4,13 +4,7 @@ Web开发中对于文本处理是非常重要的一部分我们往往需要
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小结介绍了字符串的相关操作。
## 目录
* 1. [XML处理](07.1.md)
* 2. [JSON处理](07.2.md)
* 3. [正则处理](07.3.md)
* 4. [模板处理](07.4.md)
* 5. [文件操作](07.5.md)
* 6. [字符串处理](07.6.md)
* 7. [小结](07.7.md)
![](images/navi7.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -12,11 +12,7 @@ SOAP是W3C在跨网络信息传递和远程计算机函数调用方面的一个
Go语言是21世纪的C语言我们追求的是性能、简单所以我们在8.1小节里面介绍如何使用Socket编程很多游戏服务都是采用Socket来编写服务段因为HTTP协议相对而言比较耗费性能让我们看看Go语言如何来Socket编程。目前随着HTML5的发展webSockets也逐渐的成为很多页游公司接下来开发的一些手段我们将在8.2小节里面讲解Go语言如何编写webSockets的代码。
## 目录
* 1. [Socket编程](08.1.md)
* 2. [WebSocket](08.2.md)
* 3. [REST](08.3.md)
* 4. [RPC](08.4.md)
* 5. [小结](08.5.md)
![](images/navi8.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -12,13 +12,7 @@
加密的本质就是扰乱数据某些不可恢复的数据扰乱我们称为单项加密或者散列算法。另外还有一种双向加密方式也就是可以对加密后的数据进行解密。我们将会在9.6小节介绍如何实现这种双向加密方式。
## 目录
* 1 [预防CSRF攻击](09.1.md)
* 2 [确保输入过滤](09.2.md)
* 3 [避免XSS攻击](09.3.md)
* 4 [避免SQL注入](09.4.md)
* 5 [存储密码](09.5.md)
* 6 [加密和解密数据](09.6.md)
* 7 [小结](09.7.md)
![](images/navi9.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -16,10 +16,8 @@
在第一小节里我们将介绍如何设置正确的locale以便让访问站点的用户能够获得与其语言相应的页面。第二小节将介绍如何处理或存储字符串、货币、时间日期等与locale相关的信息第三小节将介绍如何实现国际化站点即如何根据不同locale返回不同合适的内容。通过这三个小节的学习我们将获得一个完整的i18n方案。
## 目录
* 1 [设置默认地区](10.1.md)
* 2 [本地化资源](10.2.md)
* 3 [国际化站点](10.3.md)
* 4 [小结](10.4.md)
![](images/navi10.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -10,10 +10,8 @@
长期以来培养良好的调试、测试习惯一直是很多程序员逃避的事情所以现在你不要再逃避了就从你现在的项目开发从学习Go Web开发开始养成良好的习惯。
## 目录
* 1 [错误处理](11.1.md)
* 2 [使用GDB调试](11.2.md)
* 3 [Go怎么写测试用例](11.3.md)
* 4 [小结](11.4.md)
![](images/navi11.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -3,11 +3,7 @@
本章我们将通过四个小节来介绍这些小细节的处理第一小节介绍如何在生产服务上记录程序产生的日志如何记录日志第二小节介绍发生错误时我们的程序如何处理如何保证尽量少的影响到用户的访问第三小节介绍如何来部署Go的独立程序由于目前Go程序还无法像C那样写成daemon那么我们如何管理这样的进程程序后台运行呢第四小节讲介绍应用数据的备份和恢复尽量保证应用在奔溃的情况能够保持数据的完整性。
## 目录
* 1 [应用日志](12.1.md)
* 2 [网站错误处理](12.2.md)
* 3 [应用部署](12.3.md)
* 4 [备份和恢复](12.4.md)
* 5 [小结](12.5.md)
![](images/navi12.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -4,12 +4,7 @@
通过这么一个完整的项目例子我期望能够让读者了解如何开发Web应用如何搭建自己的目录结构如何实现路由如何实现MVC模式等各方面的开发内容。在框架盛行的今天MVC也不再是神话。经常听到很多程序员讨论哪个框架好哪个框架不好 其实框架只是工具,没有好与不好,只有适合与不适合,适合自己的就是最好的,所以教会大家自己动手写框架,那么不同的需求都可以用自己的思路去实现。
## 目录
* 1 [项目规划](13.1.md) 
* 2 [自定义路由器设计](13.2.md)
* 3 [controller设计](13.3.md)
* 4 [日志和配置设计](13.4.md)
* 5 [实现博客的增删改](13.5.md)
* 6 [小结](13.6.md) 
![](images/navi13.png?raw=true)
## links
* [目录](<preface.md>)

View File

@@ -4,13 +4,7 @@
通过本章的扩展beego框架将具有快速开发Web的特性最后我们将讲解如何利用这些扩展的特性扩展开发第十三章开发的博客系统通过开发一个完整、美观的博客系统让读者了解beego开发带给你的快速。
## 目录
* 1 [静态文件支持](14.1.md)
* 2 [Session支持](14.2.md)
* 3 [表单及验证支持](14.3.md)
* 4 [用户认证](14.4.md)
* 5 [多语言支持](14.5.md)
* 6 [pprof支持](14.6.md)
* 7 [小结](14.7.md)
![](images/navi14.png?raw=true)
## links
* [目录](<preface.md>)

BIN
images/navi1.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 33 KiB

BIN
images/navi10.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 31 KiB

BIN
images/navi11.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB

BIN
images/navi12.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 34 KiB

BIN
images/navi13.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 47 KiB

BIN
images/navi14.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 44 KiB

BIN
images/navi2.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 43 KiB

BIN
images/navi3.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 38 KiB

BIN
images/navi4.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
images/navi5.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 53 KiB

BIN
images/navi6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 39 KiB

BIN
images/navi7.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

BIN
images/navi8.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

BIN
images/navi9.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 45 KiB