5 极客Geek

尚未进行身份认证

暂无相关描述

等级
博文 84
排名 9k+

Golang 安装以及升级版本脚本

官方会经常发布Golang新版来修复一些补丁,所以版本有更新的话,我们也需要了解新版本的特性以及在服务器上升级Golang版本到最新,以下介绍以源码的方式来安装以及更新Golang版本。第一步:到官网上下载对应的操作系统的最新的Golang版本:https://studygolang.com/dl在home目录下建立goinstall目录,然后在该目录下创建升级部署...

2018-03-03 18:21:58

Golang 项目部署实战

一直认为不懂部署的开发工程师不是好的开发工程师,以下以一些实例讲解自己在项目中的Golang后端部署的情况。一般部署脚本应该具有构建、启动、停止、回滚已经查看记录日志等功能,以下分别将这些功能以单个脚本的形式给出,当然也可以写成Makefile的形式。单个部署脚本的形式,在一个目录下建立如下文件:bin#目录,用于存放每次build之后存放的二进制文件app.log#...

2018-03-03 16:54:14

Centos7 搭建 Gitlab 服务

1安装基础包yum-yinstallcurlpolicycoreutilsopenssh-serveropenssh-clients2启动sshdsystemctlenablesshdsystemctlstartsshd3添加防火墙规则firewall-cmd--permanent--add-service=httpsystemc...

2018-03-03 14:17:06

Nginx 线上配置实例

1/etc/nginx/nginx.conf,在主配置下设置/etc/nginx/conf.d/*.confusernginx;worker_processes1;error_log/var/log/nginx/error.logwarn;pid/var/run/nginx.pid;events{worker_connections...

2018-03-02 15:01:44

Golang 位操作符总结

位运算可能在平常的编程中使用的并不多,但涉及到底层优化,一些算法及源码可能会经常遇见,下面先回顾一下位操作符的基础:与操作:&1&1=11&0=00&1=00&0=0或操作:!1|1=11|0=10|1=10&0=0异或:^1^1=...

2018-02-11 11:10:01

Golang 中 defer 的使用规则

在golang当中,defer代码块会在函数调用链表中增加一个函数调用。这个函数调用不是普通的函数调用,而是会在函数正常返回,也就是return之后添加一个函数调用。因此,defer通常用来释放函数内部变量。为了更好的学习defer的行为,我们首先来看下面一段代码:funcCopyFile(dstName,srcNamestring)(writtenint64,errer...

2018-02-09 00:30:24

Golang 验证 struct 字段的数据格式

假设我们有如下结构体:typeUserstruct{IdintNamestringBiostringEmailstring}我们需要对结构体内的字段进行验证合法性:Id的值在某一个范围内。Name的长度在某一个范围内。Email格式正确。我们可能会这么写:user:=User{Id:

2017-11-14 10:53:48

Nginx 常见配置总结

以下总结的都是自己项目中用到的关于nginx的配置知识点,了解了以下的关于nginx的配置对于一些常见关于nginx的配置应该是没有什么问题的,后续项目中如果有遇到新的知识点会来补充:1.nginx的匹配规则关于nginx的匹配规则是学习nginx必须要了解的,也可以说懂了nginx的匹配规则就相当于打通了nginx学习的仍督二脉,以下直接给到一些总结:...

2017-10-22 16:54:45

Golang 闭包的理解

和变量的声明不同,Go语言不能在函数里声明另外一个函数。所以在Go的源文件里,函数声明都是出现在最外层的。“声明”就是把一种类型的变量和一个名字联系起来。Go里有函数类型的变量,这样,虽然不能在一个函数里直接声明另一个函数,但是可以在一个函数中声明一个函数类型的变量,此时的函数称为闭包(closure)。

2017-05-14 19:13:35

Golang 中的 panic 与 recover 理解

Go没有像Java那样的异常机制,它不能抛出异常,而是使用了panic和recover机制。一定要记住,你应当把它作为最后的手段来使用,也就是说,你的代码中应当没有,或者很少有panic的东西。这是个强大的工具,请明智地使用它。先看下Panic和Recover的相关解释:Panic是一个内建函数,可以中断原有的控制流程,进入一个令人恐慌的流程中。当函数F调用panic,函数F的执行被中

2017-05-07 17:28:54

Golang 中对文件 file 操作方法总结

创建文件packagemainimport("fmt""log""os")funcmain(){file,err:=os.Create("file.log")iferr!=nil{log.Fatalln(err)}fmt.Println(file)}判断文件是否存在packagemai

2017-05-07 16:33:48

Golang 中操作 Mongo Update 的方法

这篇博客主要记录下Golang中引入Mongo数据库对Mongo的修改操作的方法。使用gopkg.in/mgo.v2库操作,修改操作主要使用mongodb中Collection对象的Update、UpdateAll、UpdateId、Upsert、UpsertId方法。统一封装下getDB方法packagemainimport("fmt""gopkg.in/mgo.

2017-05-07 01:39:26

HTML + CSS 学习

本文转载几篇写的比较好理解的有关CSS学习的几篇博客,以方便对CSS知识的学习总结:HTML+CSS初步HTML+CSS标签HTML+CSS交互HTML+CSS使用CSS为网页添加样式HTML+CSS关于CSS选择器HTML+CSS之CSS的继承、层叠和特殊性HTML+CSS之CSS格式化排版HTML+CSS之CSS盒模型

2017-04-09 01:23:26

Golang 向 Templates 插入对象的值

Go对象可以插入到template中,然后把对象的值表现在template中,你可以一层层的分解这个对象,去找他的子字段,当前对象用’.’来表示,所以当当前对象是一个string的时候,你可以用{{.}}。这个包默认使用fmt包来把插入的对象转成string插入某个对象字段的值,我们在字段名字前面加上一个’.’前缀就可以了,例如我们定义一个structtypePersonstruct{

2017-04-07 14:21:03

MongoDB 增删改查与 Golang 的语法实现

这篇文章主要建设MongDb中的增删改成与在Golang中的具体实现

2017-02-06 16:27:24

GitHub 基于远程分支创建分支

第一步:基于远程分支来创建分支gitcheckout-B<branchName>qbox/develop第二步:修改提交gitaddgitcommit第三步:提交到本地的分支上面gitpushorigin<branchName>另外,有关分支管理可以参考:查看本地分支gitbranch切换分支gitcheckout<branchName>删除本地分支gitbran

2017-02-03 18:58:39

MongoDB 关于索引操作命令实例详解

1.查看索引:db.COLLECTION_NAME.getIndexes()[{"v":1,"key":{"_id":1},"name":"_id_","ns":"mars.COLLECTION_NAME"}]2.创建索引:数字1表

2017-02-03 16:32:30

Golang 关于通道 Chan 详解

首先我们来看线程,在golang里面也叫goroutine在读这篇文章之前,我们需要了解一下并发与并行。golang的线程是一种并发机制,而不是并行。它们之间的区别大家可以上网搜一下,网上有很多的介绍。下面我们先来看一个例子吧import("fmt")funcmain(){gofmt.Println("1")fmt.Println("2")}在go

2017-01-15 20:34:20

Golang Cron 定时任务分析

1、cron表达式的基本格式用过linux的应该对cron有所了解。linux中可以通过crontab-e来配置定时任务。不过,linux中的cron只能精确到分钟。而我们这里要讨论的Go实现的cron可以精确到秒,除了这点比较大的区别外,cron表达式的基本语法是类似的。(如果使用过Java中的Quartz,对cron表达式应该比较了解,而且它和这里

2017-01-14 23:25:45

七牛---Pili直播推流SDK问题总结

以下为分类总结的Pili推流端的代码:packagecom.dxy.cloud.myapplication;importandroid.app.Activity;importandroid.hardware.Camera;importandroid.opengl.GLSurfaceView;importandroid.os.Bundle;importandroid.view.V

2016-07-01 09:54:13
奖章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!