ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、视频、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 后台知识储备 一、开发语言 * GoLand(主要开发语言) 开发框架 * BeeGo(主要开发框架) 测试工具 * GO自动化测试 数据存储(数据库) * Mysql * Redis * Mongodb 二、个人意见 ### GoLand ***** goland是一门年轻的语言,学过c、php、python的同学上手都是很快的,当然GO也是一门强类型语言了。先说下go和php的对比吧,首先从语言类型上区分,go是强类型语言php是弱类型语言,php做开发的时候不需要考虑变量的类型,变量声明没有使用,程序会正常使用,这是就比较浪费资源和性能了,写出来的程序问题感觉明显多,而go呢,就需要考虑变量类型,使用前变量是否声明,变量声明是否使用等等,go开发出来的程序问题明显比php低而且程序很简洁整体性能要比php好很多,go的神奇地方就在于自身携带高并发goroutine、锁、通道,而且go本身可以进行程序测试,类库也很多(虽然比python少很多,但也很强大)。so,个人觉得后台开发语言可以拥抱GOLAND。 > GO语言目前也存在着问题 > 缺点1:缺少开发框架 > go目前的框架beego,它没有php框架丰富ThinkPHP、Laravel、YI,这个问题也是go语言社区讨论很激烈的问题,因为许多人认为我们不应该从使用框架开始 > 缺点2:错误处理 > Go 语言通过函数和预期的调用代码简单地返回错误(或返回调用堆栈)而帮助开发者处理编译报错。虽然这种方法是有效的,但很容易丢失错误发生的范围,因此我们也很难向用户提供有意义的错误信息。错误包(errors package)可以允许我们添加返回错误的上下文和堆栈追踪而解决该问题 > 另一个问题是我们可能会忘记处理报错。诸如 errcheck 和 megacheck 等静态分析工具可以避免出现这些失误。虽然这些解决方案十分有效,但可能并不是那么正确的方法。 > 缺点3:软件包管理 > Go 语言的软件包管理绝对不是完美的。默认情况下,它没有办法制定特定版本的依赖库,也无法创建可复写的 builds。相比之下 Python、Node 和 Ruby 都有更好的软件包管理系统。然而通过正确的工具,Go 语言的软件包管理也可以表现得不错。 我们可以使用 Dep 来管理依赖项,它也能指定特定的软件包版本。除此之外,我们还可以使用一个名为 VirtualGo 的开源工具,它能轻松地管理 Go 语言编写的多个项目。 ### Beego ***** beego是go的web开发框框架,个人感觉它是结合了php框架ThinkPHP和Laravel两个框架的特点,beego同样支持Restful路由,当然这个框架上手也是非常快的,只要你会tp就行,框架的核心就是MVC,有兴趣的同学可以拿GO自己写一个MVC玩一玩。 ![](https://box.kancloud.cn/189b1ec3d856ab1c5be5bd65dca6f7c8_938x417.png) bee的目录结构感觉跟tp和laravel非常相似 ![](https://box.kancloud.cn/e255865909b91acd1bd3e5fbea34c573_937x450.png) ### 数据库 ***** 后台开发肯定少不了数据存储,so,每个后台开发成员要学会数据库语法,现在三大主流数据库mysql、redis、mongodb这三款数据库也是公司使用最多的符合公司业务需求的 | 数据库 | 类型 |读写速度|维护 |语法 |强项|弱项| | --- | --- |--- |--- |--- |--- |--- | | Mysql | 关系型 |慢(磁盘读写) |易 |需要掌握(程度) | 数据结构规律,支持事务操作 | 查询速度慢,尤其海量数据的高效读写| | Redis| 非关系性 |快 (内存读写) |不易 |需要掌握(程度) | 查询速度快 | 数据无结构化 | | Mongodb| 非关系型-文档数据库 |快 (内存读写) |不易 |需要掌握(程度) | 数据要求不严格,表结构可变,不用预先定义表结构 | 查询性能不高,缺乏统一查询语法| 数据库语言除了基本的语法(curd)操作不仅要会,还需要后台同学需要掌握mysql的字段类型字段长度等知识点,在项目开发过程中需要用到。这三种数据库类型都有有点和缺点,根据公司的业务三种数据库是配置开发,需要同学们都要掌握。(个人觉得三种数据库sql语法基本都会,mysql的sql语法很多,自己目前可能知道的是一些皮毛) ### 个人意见 1.文档记录。其实,写文档早就要求了,自己执行力弱,没有记录这个也是自己要加强修改的点。列如:开发项目中难点解决后直接进行文档记录,避免以后遇到同样问题进行进行大量查阅资料浪费时间,好记性不如烂笔头嘛) 2.新语言开发项目,代码规范可以后台童鞋在一起商量一下怎么去规范,毕竟换新语言了,其实都是大同小异,我感觉规范指定一下,每个人心里都有一个标准。