分享| Go语言(golang)的认识,跟学习资料及其开发工具
这篇博客总结的有点突如其来,是真的! 今天下午我们的李坤师哥回来跟我们这帮师弟师妹做技术分享,第一点说的就是 Go 语言,讲真,在今天在这次分享会之前没有听过,后来在网上查才知道已经出来有几年了,虽然很新,自己真的悄然不知,不管今后能不能用到,感谢李坤师哥的这次分享! 傍晚分享会结束后自己回来做回顾,也就对最开始的 Go 语言感到好奇,之后分享的那些技术性的东西; 呃...呃,,,嘿... 没有听懂多少,目前菜鸟一枚,名副其实; 不过也还好拉,听了总比没听好,今后难免会有共鸣呢,到时候再倾尽自己的“洪荒之力”; 哈哈... 晚饭后就给自己划分了两个番茄的时间来了解这个东西,以下就是王川的了解跟整理了,希望于人于己有那么一点点用处! 2009年底,Go 语言(golang)第一个公开版本发布;...阅读全文
分享| Go语言(golang)的认识,跟学习资料及其开发工具
这篇博客总结的有点突如其来,是真的! 今天下午我们的李坤师哥回来跟我们这帮师弟师妹做技术分享,第一点说的就是 Go 语言,讲真,在今天在这次分享会之前没有听过,后来在网上查才知道已经出来有几年了,虽然很新,自己真的悄然不知,不管今后能不能用到,感谢李坤师哥的这次分享! 傍晚分享会结束后自己回来做回顾,也就对最开始的 Go 语言感到好奇,之后分享的那些技术性的东西; 呃...呃,,,嘿... 没有听懂多少,目前菜鸟一枚,名副其实; 不过也还好拉,听了总比没听好,今后难免会有共鸣呢,到时候再倾尽自己的“洪荒之力”; 哈哈... 晚饭后就给自己划分了两个番茄的时间来了解这个东西,以下就是王川的了解跟整理了,希望于人于己有那么一点点用处! 2009年底,Go 语言(golang)第一个公开版本发布;...阅读全文
《Go语言编程》书中【2.4.1 条件语句】另外一处错误
《Go语言编程》一书中【2.4.1 条件语句】有一处错误,应当是书中使用Go语言版本低于1.1版所致,原文如下: 在有返回值的函数中,不允许将“最终的” return语句包含在if...else... 结构中,否则会编译失败:function ends without a return statement。失败的原因在于, Go编译器无法找到终止该函数的return语句。编译失败的案例如下:func example(x int) int { if x == 0 { return 5 } else { return x }} 1.1版Go语言和之后的新版已经支持if else条件语句直接return返回值。 我使用最新稳定版1.3.3编译和运行该段代码已正常。 本文出自 “松松” 博客,请务必...阅读全文
同样的代码,为什么就不能简化呢?
```package main import "fmt" type square struct { r int } type circle struct { r int } func (s square) area() int { return s.r * s.r } func (c circle) area() int { return c.r * 3 } func main() { s := square{1} c := circle{1} a := [2]interface{}{s, c} fmt.Println(s, c, a) sum := 0 for _, t := range a { switch v := t.(t...阅读全文
Docker 学习-安装docker并创建镜像
docker介绍 Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口。 安装过程主要转载自官网 1. Build an OS Install a Linux system 安装Linux很多方式,你可以装双系统,也可以在vmware Pro15 上安装好Linux虚拟机。 以下给出两种方式的链接 安装双系统(Ubuntu ,mint...)安装过程简单 在vmware Pro15上安装Linux虚拟机 2.安装docker(ubuntu) 安装Docker CE,使用储存库安装 设置存储库 (SET UP THE REPOSITORY) 1...阅读全文
分享| Go语言(golang)的认识,跟学习资料及其开发工具
这篇博客总结的有点突如其来,是真的! 今天下午我们的李坤师哥回来跟我们这帮师弟师妹做技术分享,第一点说的就是 Go 语言,讲真,在今天在这次分享会之前没有听过,后来在网上查才知道已经出来有几年了,虽然很新,自己真的悄然不知,不管今后能不能用到,感谢李坤师哥的这次分享! 傍晚分享会结束后自己回来做回顾,也就对最开始的 Go 语言感到好奇,之后分享的那些技术性的东西; 呃...呃,,,嘿... 没有听懂多少,目前菜鸟一枚,名副其实; 不过也还好拉,听了总比没听好,今后难免会有共鸣呢,到时候再倾尽自己的“洪荒之力”; 哈哈... 晚饭后就给自己划分了两个番茄的时间来了解这个东西,以下就是王川的了解跟整理了,希望于人于己有那么一点点用处! 2009年底,Go 语言(golang)第一个公开版本发布;...阅读全文
Go语言入门——Hello World
Go语言入门——Hello World 1.环境准备: 点击这里去官网下载对应的安装文件,我下载的是go1.4.2.darwin-amd64-osx10.8.pkg。 打开Terminal,输入go version,如果能看的版本号,说明go的环境已经配置好了。 2.Hello World 照例,第一个程序依旧是Hello World,在工作目录下新建test.go文件: package main import "fmt" // this is a comment func main(){ fmt.Println("Hello World") } 保存后,执行go run test.go,可以看到已经输出了Hello World。 2015年05月21日 $(function () { $(...阅读全文
Alpine 的 CGO 问题
Golang 很棒,静态编译十分方便。但是,它也不是 100% 静态编译的,因为它需要依赖glibc ( 标准C运行库 )。 而 Docker 最常用的 Apline 镜像,使用的是 musl 库,并不能愉快的运行 Go 程序 网上大部分教程都是教你,CGO_ENABLED=0 go build -a -installsuffix cgo,使用纯 Go 编译,不用 CGO 链接 glibc ,问题就可以解决了。 但是最麻烦的问题是,你需要引入 C/C++ 库的时候,你并不能禁用 CGO 。 幸好 Alpine 有包管理器,所以我们可以很愉快的安装所需要的库。(我之前尝试手动安装glic和libstdc++,很难弄) 默认的 Golang 官方编译环境中,没有我们所需的 GCC 和 G++ 编...阅读全文
Windows JDK 版本管理器 jvms
JDK Version Manager (JVMS) for Windows Windows下JDK多版本管理器,类似 nvm, nvmw, rvm 本软件源于 [nvm-windows](https://github.com/coreybutler/nvm-windows) , 现在是第一版 . 这对JDK不同版本之间切换是非常有用的。例如,如果你想测试一个项目你想使用最新最前沿的版本,却不想卸载JDK的稳定版,这个工具可以很好的解决。 本软件配备了一个安装程序(和卸载),因此安装是很容易的。请注意,您需要删掉以前的JAVA_HOME环境变量再安装JVMS。 欢迎提交其它版本的下载地址: [提交版本](https://github.com/ystyle...阅读全文
Go语言版冒泡排序
package main import ( "fmt" ) func main() { a := [...]int{1, 3, 7, 4, 5, 6, 8} fmt.Println(a) var num int num = len(a) for i := 0; i < num; i++ { for j := i + 1; j < num-1; j++ { if a[i] > a[j] { temp := a[i] a[i] = a[j] a[j] = temp } } } fmt.Println(a) } 或者 package main import ( "fmt" ) func main() { a := [...]int{1, 3, 7, 4, 5, 6, 8} fmt.Println(...阅读全文
golang程序版本管理
概述 版本管理主要用于对运行程序的版本追踪,从而可以管理线上服务的运行版本,避免各个版本的服务程序混淆.这里通常的做法为在程序中埋入版本标志,同时该版本号会对应到git上的tag或release版本.从而对线上服务更改有一个更全面的信息说明.这里将介绍基于GNU风格一种版本命名方式. 1 版本号命名格式 主版本号 . 子版本号 [. 修正版本号 [. 编译版本号 ]] Major_Version_Number.Minor_Version_Number[.Revision_Number[.Build_Number]] 示例 : 1.2.1, 2.0, 5.0.0 build-13124 Major 具有相同名称但不同主版本号的程序集不可互换。例如,这适用于对产品的大量重写,这些重写使得无法实现...阅读全文
维基链WICC | 项目进展周报第26期(3.11~3.17)
技术&产品周报应用建设维基时代:完成钱包更换新节点 100%。维基时代:IOS及Android更换新的钱包签名库 95%。维基时代:任意第三方DApp可调起维基时代钱包进行支付,开发进度 50%。维基时代国际版:前端开发已经完成,正在测试70%。维基时代:完成与前端对接,锁仓收益数据的迁移工作,并完成校验。维基时代:用户行为数据统计计划,整体进度80%。T2D2建设Web钱包浏览器插件正式版本 v1.0.0发布。区块链浏览器优化改版:原型设计 40%。为海外开发者团队提供智能合约开发技术支持。(30%)维基时代活动天地管理后台UI界面开发。(100%)正式版智能合约部署调用工具原型设计。(100%)公链建设对维基链的节点程序上所有交易设置了交易小费最小值限制。(100%)定位测试链全网所有矿...阅读全文
Go HTTP request 库goreq
goreq是一个力求最简化的golang http request库,简化仅仅是指使用方法比较简单, 但功能却一点不弱, 简单到极致的普通的request 使用以下几行代码就可以完成一个反向代理工具...阅读全文
【新功能】GitCafe 已经支持 Go 语言 Package 托管
之前有用户希望 GitCafe 可以支持 go get,使其能够直接导入 GitCafe 上托管的代码。 现在,我们想要告诉各位一个好消息,为了方便更多的开发者,任何托管在 GitCafe 上的 Go 语言 package 都可以直接在项目中使用,通过 go get 工具安装和更新。 例如,我们可以在本机创建一个 hello_world.go 文件,内容如下: package main import "gitcafe.com/rainux/go-hello" func main() { hello.World() } 执行 go get -d 命令可以将 GitCafe 上托管的 go-hello 项目源代码安装到 $GOPATH 中;执行 go run hello_world.go 可以输...阅读全文
最近大家要小心招聘出国做开发的,已经有人被殴打软禁了,另外建议版主屏蔽这种帖子,避免不必要的麻烦
    j := "" html := "" for _, r := range rs { rint := int(r) if rint < 128 { j += string(r) html += string(r) } else { j += "\\u" + strconv.FormatInt(int64(rint), 16) // json html += "&#" + strconv.Itoa(int(r)) + ";" // 网页 } } fmt....阅读全文
用go来做嵌入式开发-交叉编译和自动版本号
# 用go来做嵌入式开发-交叉编译和自动版本号 * 嵌入式硬件平台一般是采用arm或者mips等非x86架构,因此需要在编译程序的时候指定目标机器平台 * 有时候需要在go程序中自动生成版本号和编译日期信息,这个在c和c++中很方便实现有__TIME__和__DATE__宏可以实现,那么在go中如何来实现自动插入编译时间和日期啦? ## 多平台教程编译脚本 * arm平台 ``` @echo off set GOARCH=arm set GOOS=linux set CGO_ENABLED=0 set dd=%date:~8,2% set mm=%date:~5,2% set yy=%date:~0,4% set Tss=%TIME:~6,2% set Tmm=%TIME:~3,2% set...阅读全文
DockOne技术分享(三十):Docker 1.9新特性解读
【编者的话】11月4日,Docker 1.9 正式发布。其中Docker Swarm 和多跨主机网络正式可在生产环境使用,Docker Engine 提供了全新的存储卷管理系统,Docker Compose 对更多环境提供了更好的支持。所有的这些都为大规模部署生产环境下的分布式应用打下了坚实的基础。本文详细分析了Docker 1.9的种种新特性。 @Container大会,专为一线开发者和运维工程师设计的顶级容器技术会议。 1. 新特性简介十一月四号,Docker对1.9进行了发布,新的发行版中添加了很多有趣的特性,下面我就对新的发行版中的新特性做一个简单的介绍。 跨主机网络:新的网络设备可以支持用户创建基于多个主机的虚拟网络,使容器间可以跨网络通信。持久化存储:Docker 1.9 包含一...阅读全文
记一次golang 问题的处理
使用简化版本的http post请求会带来一个很莫名其妙的error :EOF 这里有一些解法: 将简化版 的http post改为,client.Do(request),并将request.Close设置为true。 client := &http.Client{} req, err := http.NewRequest(method, url, httpBody) // NOTE this !! req.Close = true req.Header.Set("Content-Type", "application/json") req.SetBasicAuth("user", "pass") resp, err := client.Do(req) if err != nil { // ...阅读全文
emacs 中go的自动补全
之前一直使用的是 gocode (https://github.com/nsf/gocode ), 后来项目不维护了让用 https://github.com/mdempsky/gocode, 然后这个项目又不维护了,让用 https://github.com/stamblerre/gocode, 然后这个项目也不维护了,都一齐推荐使用 gopls. gopls 的介绍见 https://github.com/golang/tools/blob/master/gopls/README.md, 从地址中看出,这是一个 golang 官方tools 库中的项目。应该以后不会再换了。不过从介绍上看,还处在 alpha 阶段,尚不稳定。2020 年上半年会发布稳定版。 gopls 是官方的 Lang...阅读全文
Jetbrains 全系列产品2019.2.* 最新免费使用方法(golang,phpstorm)
## Jetbrains 系列产品2019.2.*最新破解激活方法 最近jetbrains产品激活码被封的厉害。某宝买来的码现在都已用不了,卖家已不再更新新激活码!说是卖家在 **服刑** ???我估计是卖家跑路了,不会再继续更新激活码了!无意中发现网上有人免费提供了一个本地注册的破解文件, 下载地址 https://sn9.us/file/259249-417852471  ### 下面以golang的IDE举例来学习如何本地文件注册ide #### 一、先从...阅读全文
写了个golang版的python的cmd package
https://github.com/funkygao/cmd 里面有例子,目前还不支持readline(通过tab autocomplete...阅读全文
用 Go 构建一个区块链 -- Part 1: 基本原型
引言 区块链是 21 世纪最具革命性的技术之一,它仍然处于不断成长的阶段,而且还有很多潜力尚未显现出来。 本质上,区块链只是一个分布式数据库而已。 不过,使它独一无二的是它是一个公开的数据库,而不是一个私人数据库,也就是说,每个使用它的人都有一个完整或部分的副本。 只有经过其他数据库管理员的同意,才能向数据库中添加新的记录。 此外,正是区块链,才使得加密货币和智能合约成为现实。 在本系列文章中,我们将基于一个简单的区块链实现,构建简化版的加密货币。 区块 让我们从 “区块链” 中的 “区块” 谈起。在区块链中,存储有效信息的是区块。比如,比特币的区块存储了比特币交易,这也是所有加密货币的本质。除此以外,区块还包含了一些技术信息,比如版本,当前时间戳和前一个区块的哈希。 在本文中,我们并不会实...阅读全文
杨晓峰:开发者其实不太需要关注 Java 收不收费
作为继 Java 8 之后的第一个 LTS 版本,Java 11 的发布引起了广泛关注,一方面是因为这个版本带来了一些重要的新特性,比如热议的 ZGC、HTTP/2 Client、Flight Recorder 等,在内存管理与 JVM 诊断/Profiling 等方面都有很强的能力突破。 另一方面是因为 Oracle 针对 Java 的一系列动作,比如宣布变更版本迭代周期、修改了商业支持方式,推出订阅模式、在两种不同的 License 下提供 JDK ****发布版……这持续性的变化让大家不断困惑,开发者不知道还能不能愉快地免费使用 Java,也不清楚接下来将会面对一些什么。 虽然 Oracle 官方有解释,并且也有 30 几位 Java 社区领袖与专家联名发表了一篇文章,详细分析了 Ja...阅读全文
Go语言版HelloWorld
Go语言版HelloWorld 作者:雨水,日期:2016-04-01 CSDN博客: http://blog.csdn.net/gobitan 摘要:Go语言是Google2009年发布的一门全新语言,可以在不损失应用程序性能的情况下降低代码的复杂性。现在应用越来越广泛,很多游戏服务器已经在用go语言写,另外著名的docker容器也是go语言写的。 Go语言环境搭建 注:以ubuntu14.04为例,下面两种方式选一种即可 apt-get方式 dennis@ubuntu14:~$ sudo apt-get install gccgo-go 下载安装包方式 $ wget https://storage.googleapis.com/golang/go1.6.linux-amd64.tar.g...阅读全文
Golang 简介及配置
Go 是 2009 年发布的一种简单的并行开发,且跨平台的类 C 语言。由于其强大的并行性,很适合用于网络开发中。 来自其网站的介绍: Go 编程语言是一个使得程序员更加有效率的开源项目。 Go 是有表达力、简洁、清晰和有效率的。它的并行机制使其很容易编写多核和网络应用,而新奇的类型系统允许构建有弹性的模块化程序。 Go 编译到机器码非常快速,同时具有便利的垃圾回收和强大的运行时反射。它是快速的、静态类型编译语言,但是感觉上是动态类型的,解释型语言。 windows 下 Go 环境配置 1)二进制文件配置 在官网 Go:https://golang.org/dl/ 下载 .zip 文件;目前稳定版为 go1.4.2 版,最新版本为 go1.5beta3。 解压缩到指点盘,如 C:\ 盘; 确...阅读全文
使用scratch构建最小化Go程序的docker image
由于Golang编译之后的文件是二进制,而scratch是docker最基础的空image,所以可以使用scratch来构建Go程序的docker image,使得最终构建的image最小化. 构建image过程分为两步: 在Go基础image中build. 将build好的二进制文件拷贝到scratch image中。 无需cgo的程序 对于无需cgo交叉编译的程序,使用scratch来作为最终运行的基础image非常合适。 首先,选择合适版本的golang基础image来build,这里没有必要选择更小的golang alpine,build过程中pull一般会有缓存所以pull速度差别不大,此外alpine中没有git和ssl,我们在构建image过程中都有可能用到,况且alpine也...阅读全文
致 Go 团队的一封公开信 —— 关于 try
> polaris 注:目前关于 try 的提案被否决了,具体见:https://studygolang.com/articles/22043 *“一旦语言变得足够复杂,在其中编程更像是从无限多的特性海洋中划出一个子集,其中大部分都是我们永远不会学到的。一旦语言像是有无限多的特性,为其添加更多特性的成本就不再明显。”* - *[Mark Miler](https://medium.com/@erights/the-tragedy-of-the-common-lisp-why-large-languages-explode-4e83096239b9)* 新的关于 `try` 的提议是对语言的补充,它引入了第二种错误处理机制。它是根据 [2018 年 Go 语言调查](https://blog....阅读全文
快速产生一个随机字符串
目录 [−] 最通用的方案字节替换rune使用余数掩码掩码加强版SourceBenchmark代码其它提升 如何高效的产生一个随机字符串?这看似是一个简单的问题,但是icza却通过例子,逐步优化,实现了一个更高效的随机字符串的算法。这是来自的来自stackoverflow上的一个问题:How to generate a random string of a fixed length in Go?, 大家群策群力,提出了很好的方案和反馈,尤其是icza的回答。 本文翻译和整理自这条问答。 问题是这样的: 我想要一个Go实现的固定长度的随机字符串(包括大小写字母,但是没有数字),哪种方式最快最简单? 优化基于Paul Hankin提出的一种方案(第一种方案),也就是最基本最容易理解的一种方案, ...阅读全文
aliyun sms 非官方sdk
由于没有注意到ali官方发布到新版的golang sdk for SMS service 快实现完成完成了才发现, 索性把它实现完成,只是没有补充足够的测试. 相比官方sdk, 个人认为实现要比官方版简洁,调用优雅, 可扩展性强于官方版. description: golang version short message sender underline with ali sms service ## Installation Use `go get` to install SDK ```sh $ go get -u github.com/guoapeng/gosms ``` ## Quick Examples Before you begin, you need to sign up fo...阅读全文
阿里七层流量入口 Tengine硬件加速探索之路
摘要: Tengine在软件层面已经有了深度的调试和优化经验,但是在硬件层面,通用处理器(CPU)已经进入了摩尔定律,有了瓶颈。而在业务量突飞猛进的当下,如何利用硬件来提升性能,承载双11等大型活动的洪峰流量,保障活动平稳度过呢?本文作者:王发康,花名毅松,负责集团主站统一接入层Tengine的开发与维护。 Tengine在软件层面已经有了深度的调试和优化经验,但是在硬件层面,通用处理器(CPU)已经进入了摩尔定律,有了瓶颈。而在业务量突飞猛进的当下,如何利用硬件来提升性能,承载双11等大型活动的洪峰流量,保障活动平稳度过呢? 本文作者:王发康,花名毅松,负责集团主站统一接入层Tengine的开发与维护。今天分享的主题是《阿里七层流量入口Tengine硬件加速探索之路》。 ...阅读全文
Komodo IDE 11 for Mac(IDE集成开发工具) v11.1.0(91033)激活版
实用的IDE集成开发工具哪里有?komodo ide 11 mac破解版可以在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言 —— Python、Perl、PHP 和 Ruby。代码智能引擎非常可靠。提供了所有语言的多线程和多进程服务,同时支持代码折叠、跟踪变化、智能语法检测以及快速书签等实用型功能。Komodo IDE 11 for Mac下载扫描所有语言安装找到定制扩展,比如 PEAR 模块。在项目方面,它支持与 CVS、Subversion 和 Perforce 的集成,也允许直接向服务器 FTP 传递代码。https://www.macdown.com/mac/3219.html Komodo IDE 11 for Mac下载破解教程1、Komodo...阅读全文
选择哪种 Linux版本更好一些?
很多人经常会问我这样一个问题:“嘿,你是用Linux的,对吧?我应该使用Linux的哪个版本?我有这个朋友推荐我_____,你觉得怎么样?”我通常会以这样的问题回复:这取决于你想做什么? 今天我决定写一篇关于如何选择Linux发行版的博客文章,以便于大家借鉴。 Screenshot from 2019-08-31 00-08-53.png 我与Linux的历史 我觉得我应该先介绍一下我和Linux的过往,以防你在阅读本文时无法理解我。当然,如果你不在乎,你也可以跳过。 我在1996年左右开始使用Linux。我和Linux的第一次亲密接触是Slackware 4,这是我在Egghead Software购买的一套CD(没错,是旧的)。我的一个朋友告诉我这个Unix非常棒,他说我只需要尝试一下,...阅读全文
golang orm之gorose 2.0版本正式发布.md
关于gorose 2.0 gorose, 最风骚的golang orm, php版本的laravel eloquent. 经过几个月的重构和打磨, 再加上近一个月的预览版测试和改进, gorose 2.0正式版终于与我们见面了. 新版本做出了重大改动和升级, 完全重构了基础架构和实现方式, 下面, 我们一起来看看gorose 2.0的特点吧 gorose 2.0特点 1. 全新架构 gorose 2.0 采用模块化分离架构, 主要分为4大模块: engin: 初始化gorose和数据库链接,配置解析,连接池启用 session: 数据库操作,事务操作等,采用会话隔离,确保每一个连接和数据库操作都是相互独立的, 充分利用连接池来提升数据库效率 orm: 通过优雅的api来实现对象关系映射,使操...阅读全文
常用的 Go 框架、库和软件中文收录大全????
背景介绍 大多数 Gopher 应该对于 Awesome-go 应该都不陌生。 Awesome-go 是个很优秀的项目,里面收录了很多优秀的用 Go 编写的开源库、框架、软件 截至目前,Awesome-go 已经收录了Web框架、机器学习、分布式系统、编译器、物联网、持续集成等方方面面共计 81 类大项, 1777 个用 Go 编写的仓库,很多我们平常开发上所需要的库都能在上面能找到,为我们省去了不少时间。 Awesome-go Web框架收录部分 Awesome-go 使用痛点 虽然 Awesome-go 收录的内容确实很丰富,但是英文原版的使用体验上却是差强人意,我们所遇到的痛点大体如下 : 仓库重要信息丢失。在英文版 Awesome 下,因为收录的库较多,可选择性也比较大,虽然这是个优...阅读全文
Artifactory清理未使用的二进制品的最佳实践
Artifactory充分利用了基于Checksum的存储,但是这种机制无法代替常规的工件清理任务。软件开发可能很杂乱,很多时候Artifactory中的许多工件都从未使用过。例如,许多CI / CD构建都配置为基于源代码控制“提交”运行,并且一旦将这些快照构建发送到Artifactory,就永远不会实际下载它们。 考虑到软件开发的动态性质,大多数组织都有自己的数据保留策略。由您决定可以清除哪些数据,但是内置工具可以覆盖大多数情况。通常,在Artifactory中使用三种技术来管理工件存储:–限制保留多少SNAPSHOT–清除超大缓存–删除未使用的工件限制保留多少SNAPSHOTArtifactory具有内置机制来限制构建的“快照”。该系统的目的是确保在覆盖“release”工件之前将其从“...阅读全文
建站宝盒到底有多大的威力令人为之痴迷?
建站宝盒是针对中小企业用户建站需求而打造的一款自助建站系统。用户只需通过在线申请账号和密码的方式建网站,不用自己上传源代码,只需登录网站管理系统即可选择网站模板风格、上传文字和图片内容、设置网站栏目、维护网站内容,其针对不同行业特点精心设计的网站栏目和网页风格。 此外,建站宝盒支持三种语言中文版网站、繁体版网站、英文版网站、运用功能强大的管理平台。建站宝盒大大节省建立网站的成本,极大地缩短了企业建站的时间。  简单易用 强大灵活 传统网站建设做出的网站管理后台功能简单,后期维护、网站建设周期长,修改...阅读全文
利用 ApsaraDB For SQL Server各版本高效而低廉地实现关键业务需求
1. 什么是SQL Server多版本 微软的SQL Server除了不断迭代的版本升级外,还有从功能差异上分为几个不同的版本。 SQL Server 2012有企业版、商务智能版、标准版、开发版、Web版,当然还有一个入门版本Express。SQL Server2014/2016,只有企业版、标准版、开发版、Web版,也有一个入门版本Express。这些版本的应用场景是不同的,这里有详细的解释: Enterprise 作为高级版本,SQL Server Enterprise 版提供了全面的高端数据中心功能,性能极为快捷、虚拟化不受限制,还具有端到端的商业智能 ,可为关键任务工作负荷提供较高服务级别,支持最终用户访问深层数据。 Standard SQL Server...阅读全文
golang-quick-sort
```go package main import ( "fmt" ) func main() { var arr = []int{6, 5, 5, 3, 1, 8, 7, 2, 4, 9} start := 0 end := len(arr) - 1 fmt.Println(arr) QuickSortRecursive(arr, start, end) } func QuickSortRecursive(arr []int, start int, end int) { if start >= end { return } k := arr[end] left := start right := end - 1 for left < right { for arr[left] < k &&...阅读全文
Golang 优化之路——bitset
写在前面 开发过程中会经常处理集合这种数据结构,简单点的处理方法都是使用内置的map实现。但是如果要应对大量数据,使用map占用内存大的问题就会凸显出来。内存占用高又会带来一些列的问题,这里就不展开说了。还有就是,大量数据存放于map,查找的哈希算法消耗也会很高。这时就该考虑对数据结构进行优化。之前浏览awesome-go时发现了一种叫bitset的数据结构,今天就介绍一下它。 bitset 简介 首先这是一个数据结构。从名字set不难发现,这是一个集合的数据结构。bit的含义也比较好懂,通过set是通过bit实现的。如果你需要一个集合,正好集合内的元素都是正整数,那么用这个就没错了。 Example import "github.com/willf/bitset" var b bitset...阅读全文
节操,代码,修养,妹子和其他(Go语言版)
Festival & Fuck, Coding, Inner depth, Sister and Others. 某些文章会提到《为什么Go语言这么不受待见》,《真的没必要浪费心思在 Go 语言上》,《我为什么放弃Go语言》,《Why worse is better》等话题。经常重温这些话题,每次都会有新发现。最忌手里有了一个语言,心里便容不下另一个语言。 忽略细节、语法或者设计,Go语言各种好用。考虑到这些因素,Go被喷出翔都不为过。 本文不打算在细节、语法或者设计上扯淡,只举些例子,说一说如何用Go语言写出还凑合的代码。 类、对象、属性,可能还夹杂着一点设计模式 //代码来自 https://github.com/xgdapg/xconn/blob/master/xconn.go,已验证...阅读全文
doublejump - 快速、简洁的一致性哈希库,Google Jump 算法的改进版
Overview doublejump 的核心是 Google Jump 一致性哈希算法,这个实现弥补了该算法的最大缺点:不能删除节点。 传送门 https://github.com/edwingeng/doublejump Benchmark BenchmarkDoubleJumpWithoutLock/10-nodes 50000000 27.6 ns/op BenchmarkDoubleJumpWithoutLock/100-nodes 30000000 42.7 ns/op BenchmarkDoubleJumpWithoutLock/1000-nodes 30000000 54.1 ns/op BenchmarkDoubleJump/10-nodes 20000000 72.9 n...阅读全文
beego swagger 如何处理版本区分
![image.png](https://static.studygolang.com/200323/e0d21d6b626e873891af5ea5edfc72a9.png...阅读全文
【跟着我们学Golang】Go语言全平台安装
学习Go语言的第一步当然是要先安装Go语言的环境,毕竟,没有这个环境咱们什么都做不了。但是在安装环境之前咱们先了解一下Go涉及到的环境变量。这里介绍几个比较常用的Go语言环境变量。 GOROOT Go的安装路径,windows默认安装在'c:/go'路径下,Linux/macos下默认安装在'~/go'路径下 GOPATH Go 语言源码文件、包文件和可执行文件的路径,换句话说,GOPATH指定的是存放项目相关的文件路径 GOOS 电脑的操作系统标识。如Mac下为“darwin“,windows下为”windows“ GOARCH 电脑的处理器架构,如386,arm或amd64 GOBIN 编译文件的安装位置,默认$GOROOT/bin 下面开始今天的正题,安装Go环境 Go语言的安装过程跟...阅读全文
AC GO GO GO!!!
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/code12hour/article/details/46809457 新学期开始了,要继续哦 小紫书上的一道很烦的题:Uva 11809 Flloating-Point Numbers 要做的: CDOJ 1139 菲波拉契数制升级版 CDOJ 1301 Find the Stuff 未做的: HDU 5179 HDU 4788 ZOJ 3542 搜索: POJ 1606 HDU 5094 HDU 5077 HDU 4394 DP: POJ 3254 Corn Fields POJ 1185 炮兵阵地 CF 165E Compatible Numbers HDU 5045 Contes...阅读全文
Mac下安装golang
前言:越来越多人开始走学习golang之路,包括我身边的一些技术同事给自己“充电”新技术,能在未来工作中更好的生存发展。个人使用Mac环境,下面大概简述一安装过程:一、准备工作官网下载安装包:备注:目前最新稳定版本是v1.9开发工具包又分为安装版和压缩版。安装版是Mac和Windows特有的,他们的名字类似于:go1.9.darwin-amd64.pkggo1.9.windows-386.msigo1.9.windows-amd64.msi安装版,有点傻瓜式安装,环境路径都默认好,操作起来比较简单方便。压缩版的就是一个压缩文件,可以解压得到里面的内容,他们的名字类似于:go1.9.darwin-amd64.tar.gzgo1.9.linux-386.tar.gzgo1.9.linux-amd...阅读全文