使用gitlab和gitlab-runner实现DevOps

持续集成和部署相关概念名称说明DevOpsDevOps是一种方法论,是一组过程、方法与系统的统称,用于促进应用开发、应用运维和质量保障(QA)部门之间的沟通、协作与整合。AD敏捷开发(AgileDevelopment)CI持续集成(ContinuousIntegrat[...]

继续阅读 »

一款漂亮的命令行工具——cmder

cmder是一个增强型命令行工具,可以在windows下实现linux绝大部分命令,选择full版本包含了git、powershell、bash、chocolatey、Cygwin、SDK等功能。官网地址:http://cmder.net/注意:cmder安装的绝对路径不能有非英文字符,例如D:\ProgramFiles(x86)\cmder是非法的。1快捷键用快捷键Win+A[...]

继续阅读 »

goroutine和channel应用——处理队列

1最简单的worker处理队列方式packagemainimport"time"typeJobintfuncworker(jobChan<-chanJob){forjob:=rangejobChan{//顺序执行,缺点:如果处理过程中有等待或阻塞,会影响整个队列Process(job)//并发执行,如果处理过程中有等待或阻塞,不会影响其他的job,//缺点:并发处理job的goroutine数量不可控,每来一个新job就会启动一个goroutine,不建议这样处理。//通常做法是开启有限个worker[...]

继续阅读 »

golang中context包的理解

1简介golang中的创建一个新的goroutine,并不会返回像c语言类似的pid,我们不能从外部杀死某个goroutine,只能让它自己结束,之前我们用channel+select的方式来解决这个问题,但是有些场景实现起来比较麻烦,例如由一个请求衍生出的各个goroutine之间需要满足一定的约束关系,以实现一些诸如有效期,中止routine树,传递请求全局变量之类的功能。于是google就为我们提供一个解决方案,开源了context包。context包不仅实现了在程序单元之间共享状态变量的方法,同时能通过简单的方法,使我们在被调用程序单元的外部,通过设置ctx变量值,将过期或撤销这些信号传递给被调用的程序单元。在网络编程中,若存在A调用B的API,B再调用C的API,若A调用B取消,那也要取消[...]

继续阅读 »

搭建个人代码托管git服务

目前主流开源的git服务有gitlab、gogs、gitea三个,gitlab功能最丰富,适合中大型团队使用,但对硬件要求高。gogs和gitea都是一个轻量级、易安装、快速、使用体验良好的自建Git服务,适合小团队或个人使用,对硬件要求很低,其实gitea是gogs的一个分支,因为gitea比较活跃,更新版本比较快,所以选择gitea来搭建git服务,gitea官网,gitea文档。1安装和运行gitea和mysql注:先要安装好docker和docker-compos[...]

继续阅读 »

使用vagrant和vitrualBox搭建虚拟开发环境

在windows系统下搭建环境需要注意事项:安装软件前先检查电脑是否开启虚拟机的硬件加速技术,开机进入BIOS选项,依次选Config–>CPU–>IntelVirtualizationTechnology,里面有个IntelVT-dFeature,改成Enabled,保存退出。安装软件顺序是先安装VirtualBox,再安装vagrant。1安装VirtualBox和vagrant工具以下是在window系统搭建的虚拟开发环境。(1)安装VirtualBox

继续阅读 »

有效学习摘录

人们常用的学习方法  人们可能会反复阅读材料,或者用笔画重点,尽管这也是学习的方式之一,但是从来没有研究结论支持这种学习效果很好。有的人觉得通过运动的方式学习更有效,而有的人可能通过视觉信息学习效果更好,然而超过80%的公众都相信不同的学习风格确实存在。已证明有效的学习方法  有大量的文献证明,反思某项技能、跟踪学习进度都是很好的学习方法,但很少有人采用。学习活动需要集中注意力,需要规划,需要反思。一旦人们懂得如何学习,将会更高效、更深入地学握所学的专业技能。什么是学习  学习是一个过程、一种方法、一套理[...]

继续阅读 »

docker学习笔记

1docker的基本概念和框架1.1Docker组成DockerClient客户端©DockerDaemon守护进程(S)DockerImage镜像DockerContainer容器DockerRegistry仓库,有公有和私有仓库docker引擎

继续阅读 »

golang IDE使用说明

1常用快捷键以下是windows版本快捷键。1.1编辑相关快捷键说明Shif+Enter另起一行Ctrl+D复制当前行或选中代码块到下一行Ctrl+Y删除当前行或选中代码块[...]

继续阅读 »