gin 工具是golang开发中非常有用且有效的工具,有效的提高了开发调试go程序的效率. 为什么要使用gin 我们知道golang是编译型语言,这就表示go程序的每次改动,如果需要查看改动结果都必须重新编译一次,即go build .像我们从事go web的开发,可能是从其他解释型语言跨过来的,就特别的不适应这种调试开发,改完代码需要编译go build.然后,gin的出现就为了解决这种需求. 看下gin 的官方解释 gin是一个简单的命令行实用程序,用于实时重新加载Go Web应用程序. 只…
一.懒加载 1.懒加载定义 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 3.代码示例 #import "ViewController.h" @inte…
本文转载至 http://blog.csdn.net/xunyn/article/details/8064984   原文地址http://www.189works.com/article-89289-1.html MBProgressHUD 下载地址是: http://github.com/matej/MBProgressHUD 这里介绍一下网友开源的MBProgressHUD类,实现等待框, 一.网上下载  MBProgessHUD 类文件,直接导入到工程即可 二.示例分析 在我的工程中示例…
为什么要使用Supervisord 17年第一次写Go项目的时候,用Go开发项目倒没没费多大劲,很快就开发完成了.到了在测试环境部署的时候,由于不知道有 Supervisord 这个软件,着实花了些功夫.总不能跟开发环境一样,直接执行编译生成的二进制文件吧,即使 后台执行了,万一它挂了,没人知道,即使测试人员发现了,开发还得登录到服务器再次启动下这个二进制文件.很明显这个解决方案没有任何意义,后来就在网上找解决方案. 然后,咨询Go开发的前同事,发现了Supervisord,喜出望外.它就是最优…
随着前端JavaScript代码越来越重,如何组织JavaScript代码变得非常重要,好的组织方式,可以让别人和自己很好的理解代码,也便于维护和测试.模块化是一种非常好的代码组织方式,本文试着对JavaScript模块化开发的一些基础知识和具体使用做一些阐释. 何为模块化开发? “模块是为完成某一功能所需的一段程序或子程序.模块是任何robust(健壮.强壮)的应用架构不可缺少的一部分,是系统中职责单一且可替换的部分.” 简单理解:模块就是实现特定功能的一组方法,用用来实现代码的封装.增强代码…
glide 是golang项目开发中是特别重要的软件,没有它,golang的项目可能都无法发布. 为什么要使用glide 平时我们开发Go项目的时候,使用第三方的包的时候都直接使用go get 去获取第三方的包,但是go get获取到的包是项目的develop分支,我们开发的时候倒是可以不怎么关注.但是如果到了生产环境,直接使用go get 是有很大风险的,因为,众所周知,develop是开发分支,维护者会把新的代码push到开发分支,如果我们使用go get的话,可能我们每次发布版本获取到的第…
为什么要使用goconvey测试程序 goconvey 集成go test,go test 无缝接入.管理运行测试用例,而且提供了丰富的函数断言.非常友好的WEB界面,直观的查看测试结果. 如果没有goconvey的话,编写一个测试结果,首先运行被测试函数,然后判断被测试函数的运行结果,各种if判断,各种输出提示信息,而且回归测试也比较麻烦.但是如果使用了goconvey这些都就变得无比的简单. 还是看些使用代码比较简单明了. 怎么使用goconvey测试程序 第一步当然是安装goconvey…
Glide用的好好的,为什么要使用Modules 在 Go 1.11 中 ,官方加入package management tool,称为Go Modules.Go mod 没有出现之前,用的最多的包管理器就是 govendor.glide等,这些工具都未达到Go对包管理的预期,比如每次下载,比如墙外下载,比如对GOPATH的依赖,比如多版本的控制等等.然后Go Modules就出现了,它不依赖于GOPATH,只跟项目有关,可以指定代理,可以很容易的通过版本进行控制,摆脱GOPATH的依赖,也为G…
一.一个干净的环境 找个干净的基础环境,方便确认每个搭建步骤后的效果: Ubuntu 14.04 x86_64 vim version 7.4.52 go version go1.4beta1 linux/amd64 再准备一个编辑Go源码的测试源文件: //hellogolang.go package main import "fmt" func main() {         fmt.Println("Hello Golang!") } 用于验证每个搭建步骤后…
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使用映射到数据库中的表.视图.存储过程以及关系中的实体类型.本节将向你展示如何控制查询操作中的关联实体的加载. 实体框架的默认行为是只加载应用程序直接需要的实体.通常情况下,这正是你需要的.如果实体框架通过一个或多个关联积极地加载关联实体,最终,你很有可能得到超过你需求的实体.这不但增加了内存占用,而且还影响了…