架构师修炼之道

知识日新月异,唯有保持同步迭代,才能适应变化的未来!

0%

Gitflow工作流介绍

Gitflow工作流仍然用中央仓库作为所有开发者的交互中心,这和其它git的工作流一样,开发者在本地开发并push分支到要中央仓库中。Gitflow工作流定义了一个围绕项目发布的严格分支模型,它提供了用于一个健壮的用于管理大型项目的框架。

阅读全文 »

为什么要记日志

在代码中记录日志一般有两个目的:Troubleshooting和记录程序运行状态。这两个目的是相辅相成的,如果不能记录当时程序运行状态那么没法做故障排除。在记录日志时一定要包含足够多的体现当时程序运行状态的信息,以帮助程序员定位问题。

日志规范

日志记录的途径有很多,大家最熟悉的莫过于直接打印输出,这也是最简单的一种方式。在实际项目中通常不建议这种做法,因为通过打印输出的信息只会显示在控制台,非常不便于出现问题时分析,所以一般的做法是写入日志到文件中。

阅读全文 »

在团队中使用Trac管理研发任务已两年左右,是时候总结一下使用体会了。

介绍

Trac 是一款Web应用形式的项目管理和缺陷&事务追踪系统,使用Python语言编写,开源并且免费使用。

想必你也听说过一些项目管理软件,比如禅道、TAPD或自研的类似系统等,它们实现的需求类似,主要目的是帮助团队管理开发任务,记录缺陷便于后续跟踪。

通常比较小的技术团队较少去使用到类似的管理软件,可能更多的是用Excel表格记录一下,甚至开发计划存在于脑海中,接到需求之后拿起键盘就是干,它们是决体会不到任务管理的好处的。

当初为什么选择使用它?

阅读全文 »

1
2
3
4
5
6
7
8
9
10
11
12
13
/*
_ _ _ _ _ _ _ _ _ _ _ _
(c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c) (c).-.(c)
/ ._. \ / ._. \ / ._. \ / ._. \ / ._. \ / ._. \
__\( Y )/__ __\( Y )/__ __\( Y )/__ __\( Y )/__ __\( Y )/__ __\( Y )/__
(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)(_.-/'-'\-._)
|| M || || O || || N || || K || || E || || Y ||
_.' `-' '._ _.' `-' '._ _.' `-' '._ _.' `-' '._ _.' `-' '._ _.' `-' '._
(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)(.-./`-'\.-.)
`-' `-' `-' `-' `-' `-' `-' `-' `-' `-' `-' `-'

-hello world! (Version 1.5)
*/

注释是什么

程序员在开发过程中编写的与业务实现无关仅说明目标代码正在做什么的一段文本描述。这段文本描述包含在代码文件中,但不影响代码的执行,也不会带来任何附加的作用,并且在代码解释或编译执行时将忽略所有的注释内容,就好像他们并不存在一样。

阅读全文 »

在几乎所有的项目中对数据库的操作是必要且高频的,对数据库的操作可以大致可分为读和写,其中读的概率要远远大于写。我们选用非关系性数据库一个很重要的原因在于它的查询相对于关系性数据库来讲是非常高效的,它极大地减少了表之间联合查询,只要数据结构设计合理,很多时候一条查询语句即可得到你想要的结果。

基本查询

基本查询指的是通过 find 语句进行的查询,也是使用比较多的一种查询,类似于关系型数据库的 select

准备测试数据

为了方便进行语法示例,我们在数据库中装填一些数据。

阅读全文 »