加载中
【Go unsafe进阶】执行空接口中的函数:除了断言与反射,你还有更好的选择

假如我们有这样一个包:iface.go package iface func GetAddFunc() interface{} { return add } type i32 int32 func add(a, b i32) i32 { return a + b } 希望可以在包外执行add函数,怎么办...

Go
04/01 15:52
395
Golang使用标签表达式校验结构体字段的有效性

一、背景 在服务的API接口层面,我们常常需要验证参数的有效性。 Golang中,大部分参数校验场景实际上是先将数据Bind到结构体,然后校验其字段值。 一般地,校验结构体字段值有如下两种实现方...

聊聊 Go Socket 框架 Teleport 的设计思路

项目源码 teleport:https://github.com/henrylee2cn/teleport 背景 大家在进行业务开发时,是否是否遇到过下列问题,并且无法在Go语言开源生态中找到一套完整的解决方案? 高性能、可靠地通...

2018/09/27 10:05
2.3K
MySQL理解索引、添加索引的原则

索引用于快速找出在某个列中有一特定值的行。不使用索引,MySQL必须从第1条记录开始然后读完整个表直到找出相关的行,还需要考虑每次读入数据页的IO开销。而如果采取索引,则可以根据索引指向...

2017/05/27 23:03
354
ETCD:从应用场景到实现原理的全方位解读

随着CoreOS和Kubernetes等项目在开源社区日益火热,它们项目中都用到的etcd组件作为一个高可用强一致性的服务发现存储仓库,渐渐为开发人员所关注。在云计算时代,如何让服务快速透明地接入到...

2017/05/18 20:03
302
Linux/Mac命令行中动态设置Golang的GOPATH工作路径

在 Linux/Mac的命令行通过配置 `~/.zshrc` 文件实现了在窗口启动及调用cd命令时自动重置$GOPATH的功能。

2017/04/25 19:46
596
HTTP协议详解

Author :Jeffrey 引言 HTTP 是一个属于应用层的面向对象的协议,由于其简捷、快速的方式,适用于分布式超媒体信息系统。它于1990年提出,经过几年的使用与发展,得到不断地完善和扩展。目前在...

2017/04/24 10:00
118
Golang捕获panic堆栈信息的优雅姿势

// PanicTrace trace panic stack info. func PanicTrace(kb int) []byte { s := []byte("/src/runtime/panic.go") e := []byte("\ngoroutine ") line := []byte("\n") stac...

2017/04/06 11:00
548
在sublime中打开iterm

1.安装插件terminal 2.菜单Sublime text -> Preferences -> Browse Packages 3.找到terminal -> Terminal.sh 4.替换粘贴 #!/bin/bash # Modified following this issue: https://github.com/...

2017/03/31 15:20
118
常用 Git 命令清单

(Git版本控制软件结合GitHub从入门到精通常用命令学习手册) 我每天使用 Git ,但是很多命令记不住。 一般来说,日常使用只要记住下图6个命令,就可以了。但是熟练使用,恐怕要记住60~100...

2017/03/31 11:41
99
基于SourceTree 下的 Git Flow 模型

(gitflow 开发流程 参考) 基于SourceTree 下的 Git Flow 模型 1. sourceTree 是一个开源的git 图形管理工具,可下载mac版本,windows版本 2. Git Flow 是一套使用Git进行源代码管理时的一套行...

2017/03/31 11:12
86
gitflow 开发流程

目前有专业提供gitflow开发流程的开发工具 SourceTree,推荐大家可以用用,mac和windows客户端都有的。 除了gitflow还有github flow 和gitlab flow。参考:http://www.ruanyifeng.com/blog/...

2017/03/31 11:09
154
使用git-flow来帮助管理git代码

对git不熟悉的我,经常把git提交搞得很乱,导致在master上有许多无用的commit,最终决定好好地看一下git的使用教程,却不小心发现了还有一个git-flow的工具可以帮助我管理好git项目的代码。 ...

2017/03/31 11:06
154
Golang 平滑关闭/重启与热编译技术

Golang 平滑关闭/重启与热编译技术 1 平滑关闭 本文所讨论的平滑关闭是指,HTTP服务、RPC服务、Socket长服务等各种网络服务的平滑关闭。 1.1 平滑关闭的步骤 关闭监听器listener,不再接收新...

转!!URL和URI区别

  URI,URL,URN 从上面的那幅图可以看出来,一共有三个不同的概念URI,URL,URN。这讨论这样的问题时,最好的方法就是回到原点啊,这里我们在RFC 3986: Uniform Resource Identifier (URI): ...

2017/03/25 15:10
71
Go语言跨平台预编译

将下面代码保存至$GOROOT/src/cross.bat文件,并运行 @echo off set GOROOT_BOOTSTRAP=%GOROOT% set CGO_ENABLED=0 :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: s...

2017/02/08 15:00
101
Golang升级到1.7后,之前正确的函数出现错误,分析原因及解决办法

最近尝试把开发环境,升级到Golang1.7.1后,程序会偶发性的宕掉,查看日志后,发现总是在一个计算切片的哈希值的地方,错误信息是: unexpected fault address 0xc043df4000, fatal error:...

golang之runtime.SetFinalizer

在实际的编程中,我们都希望每个对象释放时执行一个方法,在该方法内执行一些计数、释放或特定的要求,以往都是在对象指针置nil前调用一个特定的方法,golang提供了runtime.SetFinalizer函数...

2017/02/06 16:16
809
LOG日志级别

说明:控制错误日志的详细程度 语法:Log Level级别 默认值:Log Level warn Level Description Example emerg Emergencies - system is unusable 紧急 - 系统无法使用 Child cannot open lo...

2017/01/12 19:52
57
linux内核升级图文攻略

一、Linux内核概览 Linux是一个一体化内核(monolithic kernel)系统。 设备驱动程序可以完全访问硬件。 Linux内的设备驱动程序可以方便地以模块化(modularize)的形式设置,并在系统运行期...

2017/01/10 17:57
57

没有更多内容

加载失败,请刷新页面

返回顶部
顶部