Go语言中文网 为您找到相关结果 56

Go位运算:取反和异或

在Go规范,^ 这个运算符在一元运算符和二元运算符中都出现了。那么他们分别是啥? 在规范中说道:^ bitwise XOR integers 这是按位异或。比如: package main import "fmt" func main() { fmt.Println(5^2) } 到这执行:[http://play.golang.org/p/iZioqWSSdA](http://play.golang.org/p/iZioqWSSdA) 一般语言中,按位取反是:~ Go中是不是这样呢?可以写个程序试一下: package main import "fmt" func main() { ...阅读全文

Pokemon Go 教程

 澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设...阅读全文

博文 2016-07-18 12:00:01 q8649912

让go语言调用外部程序时支持管道符

有一个需求是用go语言程序调用外部命令时,允许使用管道符,如 ls | wc -l Go语言对外部命令的调用进行了一定的封装,下面来试一下: package main import ( "os" "os/exec" ) func main() { run1() } func run1() { cmd := exec.Command("ls", "|", "wc", "-l") cmd.Stdout = os.Stdout cmd.Stderr = os.Stderr cmd.Start() cmd.Run() cmd.Wait() } 这样执行时,控制台会打出错误: ls: 无法访问|: 没有那个文件或目录 ls: 无法访问wc: 没有那个文件或目录 难道Go程序不能使用管道符命令吗?带这此...阅读全文

博文 2014-10-04 19:26:31 qinerg

sqlite连接(windows 7)

请问在windows下连接sqlite应该怎么做? 试了mattn/go-sqlite3..提示 # command-line-arguments D:\GOPATH\pkg\windows_386/github.com/mattn/go-sqlite3.a(sqlite3_windows.)(.text) : __divdi3: not defined D:\GOPATH\pkg\windows_386/github.com/mattn/go-sqlite3.a(sqlite3_windows.)(.text) : __moddi3: not defined D:\GOPATH\pkg\windows_386/github.com/mattn/go-sq...阅读全文

Golang 中 strings.builder 的 7 个要点

自从 Go 1.10 发布的一个月以来,我多少使用了一下 `strings.Builder`,略有心得。你也许知道它,特别是你了解 `bytes.Buffer` 的话。所以我在此分享一下我的心得,并希望能对你有所帮助。 ## 1. 4 类写入(write)方法 与 `bytes.Buffer` 类似,`strings.Builder` 也支持 4 类方法将数据写入 builder 中。 ```go func (b *Builder) Write(p []byte) (int, error) func (b *Builder) WriteByte(c byte) error func (b *Builder) WriteRune(r rune) (int, error) func (b *Bu...阅读全文

博文 2018-04-14 10:58:21 snowInPluto

[译文] 关于Golang的一个令我深深叹服的特性

自:http://golanghome.com/post/155 [译文] 关于Golang的一个令我深深叹服的特性 原文地址:这里 译文: 翻译By:@jemygraw 补充说明:一些评论的人对本文中的一些内容感到很困惑,但是我不想让大家感到我言语不清,所以在此澄清一下: 是的, 默认情况下,向一个hash表插入的元素是没有固定顺序的。但是因为很多原因,比如有一些帖子就指出了不是所有的map都是hash表(而且有些语言还有有顺序的hash表,比如java的TreeMap), 我还是能够了解为什么很多人(尤其是对Go map实现机制比较了解的人)会假定遍历map元素的顺序和向map插入元素的顺序是相同的。 我原来的例子是我自己想出来的,并没有演示出大多数版本的Go关于这方面的特点(尽管我听说...阅读全文

博文 2014-10-09 16:00:02 leonzhouwei

Go的三色标记GC

三色标记 三色标记的原理如下:整个进程空间里申请每个对象占据的内存可以视为一个图, 初始状态下每个内存对象都是白色标记,先stop the world,将扫描任务作为多个并发的goroutine立即入队给调度器,进而被CPU处理,第一轮先扫描所有可达的内存对象,标记为灰色放入队列;第二轮可以恢复start the world,将第一步队列中的对象引用的对象置为灰色加入队列,一个对象引用的所有对象都置灰并加入队列后,这个对象才能置为黑色并从队列之中取出。循环往复,最后队列为空时,整个图剩下的白色内存空间即不可到达的对象,即没有被引用的对象; 第三轮再次stop the world,将第二轮过程中新增对象申请的内存进行标记(灰色),这里使用了writebarrier(写屏障)去记录这些内存的身份...阅读全文

golang gbk转utf8

package ms2mysql import ( "bytes" "golang.org/x/text/encoding/simplifiedchinese" "golang.org/x/text/transform" "io/ioutil" ) func Decode(s []byte) ([]byte, error) { I := bytes.NewReader(s) O := transform.NewReader(I, simplifiedchinese.GBK.NewDecoder()) d, e := ioutil.ReadAll(O) if e != nil { return nil, e } return d, nil } win7 64位下试了好几个其他方式,结果都不行,...阅读全文

博文 2016-04-22 00:00:02 benlightning

iOS开发:Pokemon Go试玩,未越狱的iPhone伪造GPS定位信息

最近Pokemon Go 火的不行,结果人家服务器扛不住了,只接受GPS定位信息在澳洲的客户端的登陆请求。今天自己搞了个小Demo,在未越狱的iPhone上把系统的GPS定位信息给改了。 步骤: 在Xcode8-beta上新建一个空白工程 -> Edit scheme -> Default Location 选澳洲 -> Device选真机设备,Run Paste_Image.png 现在,看看自己手机(我是iOS10系统): 1.微信: Paste_Image.png 2.高德地图: Paste_Image.png 3.系统相机随便拍个照,查看位置信息 Paste_Image.png 4.查找我的iPhone Paste_Image.png 现在美中不足是,即使应用删除,GPS定位信息还是...阅读全文

博文 2016-09-14 17:00:01 jijiji000111

试玩 go-socks5

测试环境 centos7 64 安装配置 安装 golang git yum install golang git 设置golang环境变量 export GOPATH=/root/gopath/ export GOROOT=/usr/lib/golang/ GOROOT 是golang安装的目录 如果是yum安装 用rpm查找出安装目录: rpm -ql golang GOPATH gopath可以自己新建个目录,安装的go-socks5会放在 $GOPATH目录中 安装go-socks5 go get github.com/armon/go-socks5 go build 安装成功可以进目录看下 cd $GOPATH/pkg 测试 vim test_gosocks5.go #go-soc...阅读全文

博文 2017-01-17 07:00:03 dworry

Go 安装

如何判断机器是32还是64位系统 我们接下来的Go安装需要判断操作系统的位数,所以这小节我们先确定我们自己的系统类型。 针对window系统,右击我的电脑,点击属性,显示的信息里面我们可以判断出来,XP系统如果是64位的,那么会显示X64,如果没有X64,那么默认都是32位。window7系统也是查看我的电脑的属性,在系统类型里面会显示使用的系统类型,64位操作系统或者32位操作系统。 Mac系统的用户建议直接使用64位的,因为Go支持的Mac OS X已经不支持在纯32位处理器上跑了。 Linux系统通过命令uname -a可以查看系统的信息: 64位机器显示 前面有一段描述 x86_64 x86_64 x86_64 GNU/Linux 32位机器显示 前面有一段描述 i686 i686 ...阅读全文

golang rsa 和 cgo (openssl) 性能对比

最近在做一个 使用 golang 开发 聚合支付网关的项目,其中要使用 rsa 签名算法 进行支付宝参数签名, 在压测 的时候发现 rsa 签名 性能十分低下,网上查资料 有人说 使用 openssl 的速度是 golang 的数倍, 于是我就用cgo (openssl) 和 golang rsa 做了一个对比,发现居然相差五倍,openssl 完胜。 下面是我的实现代码地址,有兴趣的可以下载运行试一下 https://github.com/Bulesxz/rsa_cgo.git 运行 go get github.com/Bulesxz/rsa_cgo go test -bench="." 测试环境: 硬件概览: 型号名称: MacBook Pro 型号标识符: MacBookPro13,2...阅读全文

博文 2017-08-27 07:34:56 fireblue火蓝

[上海][点融网]明日银行跪着招 Go 工程师,快来这里收获技术、产品、用户和各种理财秘籍

点融网-上海黄浦-互联网金融 融资状况:2015 年渣打银行领投,C 轮 2.07 亿美金 行业地位:行业排名 No.3,互联网金融协会常务理事单位 公司网址:www.dianrong.com 渣打入股点融网大猜想,“明日银行”长什么样? 传统银行首次注资 P2P 点融网 C 轮融 2.07 亿美元 帮助中国人更了解“钱”是什么,通过技术和产品把“金融”拉下神坛,让更多的人明白钱是可以为你工作的,而不是你为钱而工作! 希望你是下面这样的 薪资待遇 20-30K 起(高级岗),不设上限,鼓励创新和试错,充裕成长空间,还各种大神教你理财内幕干货,更有各种内部投资渠道福利(保守估计相当于每年多 1 薪) G...阅读全文

二分查找法(Golang版本)

一组数据要进行二分查找,那么这个要查找的元素是有序,并且是连续存放(数组)。这样才可以进行二分查找。 下面首先来创建一个文件和数组 package main import ( "fmt" "math" ) type DataStruct struct { Data []int } func main() { a1 := DataStruct{[]int{1, 2, 5, 7, 15, 25, 30, 36, 39, 51, 67, 78, 80, 82, 85, 91, 92, 97}} fmt.Println(a1) } 数组a1是一个从小到大的有序数组,总共有18个元素 假设说我要查找30这个值,如果按照循环的查找方法,找到30这个值要执行7次。那么如果是按照二分查找呢?好吧,二分查找的...阅读全文

博文 2017-05-08 03:00:28 Zorn

完美解决从github上下载东西慢的方法

我的情况标签如下:golang开发,go1.13,ubuntu18.04,从github上go get 获取资源慢(那种基本不动,然后最后会报错的情况) 此方法只针对golang开发者: 第一步:将go版本升级到go1.13(现在是2019-9-27,前些日子go到了最新的1.13版本,可通过go version查看go 版本)。 go版本.png 第二步:设置环境变量(使用go env查看环境变量相关信息) go-env查看环境.png 怎么设置呢?这里我们只要设置两个东西: GO111MODULE=和GOPROXY=; 设置命令如下(在黑窗口直接分别输入以下两条命令): go env -w GO111MODULE=on go env -w GOPROXY=https://goproxy....阅读全文

博文 2019-09-29 14:33:09 aside section ._1OhGeD

Go 语言神奇的 JSON

今天我想和大家分享 Go 语言一些非常实用的技巧,用于编码和解码 JSON 文档。Go 语言的 `encoding/json` 包有一些有趣的特性,帮助我们轻松地解析 JSON 文档。你可以轻松地将大多数实际应用中的 JSON 转换为带有 Go 语言结构体标签的接口或者是 `Marshaler` 和 `Unmarshaler` 接口。 但有一个案例比较棘手:包含转义 JSON 元素的 JSON 文档。如下所示: ```json { "id": 12345, "name": "Test Document", "payload": "{\"message\":\"hello!\"}" } ``` 我不建议构建像这样创建文档的应用程序,但有时候这样的情况是难以避免的,你希望像平常的 JSON 那样...阅读全文

博文 2018-03-19 10:27:46 SergeyChang

Golang中面向对象编程的继承机制解析

本篇文章转自Tim的"Object Oriented Inheritance in Go",原文地址是http://hackthology.com/object-oriented-inheritance-in-go.html 。这个是原文的中文翻译网址http://hackthology.com/golangzhong-de-mian-xiang-dui-xiang-ji-cheng.html 。欢迎大家访问[我的博客](http://zuozuohao.github.io/),代码可以在[@Zuozuohao](https://github.com/Zuozuohao/GolangGOFPatterns)下载。 Golang的面向对象机制与Smalltalk或者Java等传统面向对象...阅读全文

golang切片slice

切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 (1)var a []int 与数组不同的是他不申明长度(2)s2 := make([]int, 3, 10) //元素的类型,元素的数量,元素的容量 fmt.Println(len(s2), cap(s2)) 输出元素的数量和容量 2.讲数组转换成切片 2 a := [10]int{} 3 fmt.Println(a) 4 s1 := a[:10] //取前10个元素 [5:]取 5-最后的元素 5 fmt.Println(s1) 3.slice测试 1 a := []byte{'a', 'b', 'c', 'd', 'e', 'f', 'h'} 2 sa := a[2:5] 3 fmt.Pri...阅读全文

博文 2015-03-13 03:00:01 chuanheng

[go语言]避免过度重构

golang-nuts上有人提了一个问题[1],询问怎么样把减少两个类似数据结构和算法的重复代码。简而言之,有两个struct:QuickFindSet和QuickUnionSet,它们各有Count, IsConnected, Find, Union等方法。他发现这两个struct的一些函数的实现是一样的,因此他希望能消除这些重复代码。 // quick-find type QuickFindSet struct { numOfComponents uint items []uint } func NewSet(n uint) QuickFindSet { set := QuickFindSet{ numOfComponents: n, items: make([]uint, n) } f...阅读全文

博文 2014-10-30 18:07:21 stevewang

golang在ubuntu-12.04和centos-6.5上的安装

golang官方编译器安装与配置 安装gcc工具,因为golang有些功能是使用c写的,所以构建golang的编译是必须的 $ sudo apt-get install bison gawk gcc libc6-dev make 安装mercurial工具,目的使用hg命令来提取golang的源代码 $ sudo apt-get install mercurial 代取提取,如果您的网速比较慢的话,此步要多花点时间,我是在/home目录下运行下面命令的,也就是说把go源代码下载到了/home/go中 $ hg clone -r release https://go.googlecode.com/hg/ go 编译golang $ cd go/src $ ./all.bash 假如正常的话,会...阅读全文

博文 2014-10-04 19:27:20 壬癸甲乙

悲催啦,居然喜欢上Golang

这2天试了试Google的Golang,很有感触,太像C啦,太好用啦~~~~~~~~~~ 居然一下子就喜欢上了,悲催的是,竟然不允许在生产环境上使用(为了确保系统的稳定性),只能拿来游戏游戏一番。爱又得不到,痛苦,更痛苦的是“爱人”天天在眼前晃来晃去的,扰人心神~~~~~~~~~ 就用此博客来做个学习笔记吧~~~~~~~~~~~~~ 防止Go官方网站被X:173.194.79.141 golang.org,你懂的...阅读全文

博文 2014-10-19 09:00:02 dandan.fs

Golang实现发送DNS请求

关于DNS协议的具体内容可以查看RFC1035,如果英语不太好我推荐下面这个人的译文: http://blog.csdn.net/tigerjibo/article/details/6827736 翻译的足够详尽了。 那么来看下Go的实现: package main import ( "bytes" "encoding/binary" "fmt" "net" "strings" ) type DNSHeader struct { ID uint16 Flag uint16 QuestionCount uint16 AnswerRRs uint16 //RRs is Resource Records AuthorityRRs uint16 AdditionalRRs uint16 } func...阅读全文

博文 2015-06-17 20:17:42 u011774512

golang操作mysql数据库

mysql是一个入门很简单也很实用的数据库,目前也可以跟很多编程语言联合编程。go语言虽然很年轻,但是貌似追赶潮流永远都有它。刚试了下go语言操作mysql数据库,貌似代码量比实用java要少很多,挺爽的。 1.下载驱动 https://github.com/go-sql-driver/mysql 2.将这个包放到code.google.com目录下(放在哪里无所谓,只要你能够让程序找到就行) 3.编写简单的测试程序 package main import ( _ "code.google.com/mysql" "database/sql" "fmt" ) func main() { //format "user:password@tcp(ip:port)/database" db, err...阅读全文

博文 2015-06-21 02:01:09 lxy15329

golang导包

被坑的体无完肤,特此纪念,不是新手不要看 包结构如图 接下来我们要在main.go中调用myprint2.go中的方法 myprint2.gopackage test import "fmt" func MyPrint2() { fmt.Println("这条信息来自myprint2") } myprint.go package test import "fmt" func MyPrint() { fmt.Println("这条信息来自myprint") } main.go package main import ( "try2/test" ) func main() { test.MyPrint2() } 输出结果 C:/Go/bin/go.exe build -i [E:/goworks...阅读全文

博文 2016-01-29 04:00:01 u012210379

微信公众号文章采集mlog-wxbot

mlog-wxbot,微信公众号文章采集。 **功能简介** * 机器人关注技术相关的公众号,当这些公众号推送文章的时候,机器人就能够收到消息,然后将消息对应的文章内容抓取下来,通过该方式能第一时间获取到自己关注的公众号中的新文章。 * 在抓取到微信的文章之后,会利用百度 ai 自动为文章分组打标签。 * 然后根据配置会将文章推送到指定的接口,以实现文章发表功能。 **存在的问题** * 因为微信机器人使用的是网页版微信 api,所以要求你的微信号码能够登录网页版微信,并不是所有的微信号码都支持登录网页版本微信,使用请用你的微信号码到这里( [https://wx.qq.com/](https://mlog.club/redirect?url=https%3A%2F%...阅读全文

Pokemon Go 教程

 澳大利亚apple id 账号:fdf087469@163.com 密码:He807671626 据说不要登icould,一登就会锁了 将iPhone内部的Appstore ID更改一下。登入AppStore,可以看见AppStore已经自动切换到澳大利亚区,直接搜索Pokemon Go,点击下载。此过程稍微慢点,请各位耐心等待。 pokemon go中国玩家必须懂的教程 下载完先别着急,将刚刚iCloud ID更换成你原来的,再次登入AppStore,已经自动切换到国区(最垃圾的就是国区!!),搜索下载一个VPN,这里我推荐Green VPN或者Tiger VPN,可以免费用10天(感觉爽就付费包月咯)。 pokemon go中国玩家必须懂的教程 下载完VPN,打开VPN软件,会提示设...阅读全文

博文 2016-08-30 17:00:06 q8649912

go语言环境搭建及vim高亮设置

这个博客是我自己从头开始搭建,在设置语法高亮的时候碰到了很多问题,主要原因嘛,就是网上搜索很多东西,大多都是同样的内容,但是根据这个内容根本搭建不出Go语言的开发环境,为了给大家减少不必要的麻烦,现在我以我搭建的过程给大家讲一下。 我使用的环境是CentOS6.5版,使用的是虚拟机版本,因为可能会经常搭建新的环境,我这里有虚拟机VM10的纯净版系统,下载地址如下:纯净版虚拟机系统 请选择CentOS_64.rar文件 我使用的GO编译器是1.5版本,也是目前最新的版本,下载地址是:下载地址 请选择Go语言开发文件夹,并将里面内容全部下载下来,我的是64位操作系统,如果您是32位操作系统,需要自己下载32位,搭建方法跟64位一模一样 接下来我们开始搭建环境 1. 安装Go语言编译环境 1.1 ...阅读全文

软件工程师的大局观

不断的复制粘贴和简单排列组合的人叫码农,明白自己编程设计的人叫软件工程师。 了解 C语言 的过程式,HTML/css/js 的文档声明式,Java/Ruby 的面向对象式,Golang 的组合式和最近看的 Lisp(Scheme) 的函数式这些不同的思维模式让我渐渐明白了:一个优秀的软件工程师应该在基本的计算机知识上,有整体意识,有大局观,在工程中的各个阶段做出最合理的设计决策,注意这里说的是合理,而不是最好,因为工程是为了解放人类脑力和体力。 设计决策大到设计语言选型,数据库,软件架构,网络协议,小到模块设计,类,方法,变量命名。我记得高中有个足球教练说过:一个人会不会踢球,看他踢一脚就够了。 那么问题来了,如何做出合理的设计呢? 对需求的理解 对现实条件的评估 对工程的预期(人月) 平衡...阅读全文

博文 2017-09-29 20:04:58 王安正

go 读取 ini文件 并修改

go 读取 ini文件 并修改 安装 官方网站 https://ini.unknwon.io/docs/intro/getting_started go get gopkg.in/ini.v1 配置 tmp my.ini main.go my.ini # possible values : production, development app_mode = development [paths] # Path to where grafana can store temp files, sessions, and the sqlite3 db (if that is used) data = /home/git/grafana [server] # Protocol (http or ht...阅读全文

博文 2018-12-14 22:35:45 295631788

hadoop无法访问50070端口的解决办法

Hadoop 50070是hdfs的web管理页面,在搭建Hadoop集群环境时,有些大数据开发技术人员会遇到Hadoop 50070端口打不开的情况,引起该问题的原因很多,想要解决这个问题需要从以下方面进行排查! **1. 排查Namenode是否部署成功** 排查Namenode是否部署成功可以采用命令/etc/init.d/hadoop-0.20-namenode status或jps两种方式之一查看,如Namenode未部署成功,需重新部署Namenode;若已部署成功,请进行第二步排查! **2. 排查datanode是否部署成功** 排查datanode是否部署成功可以采用jps命令进行查看,如果部署未成功,找到问题节点进行解决;若部署成功请进行第三步。 ...阅读全文

如何离线完成go get——安装Apache Thrift有感

今天公司事情不多,我手上的项目还需要等其他同事才能继续,有一段时间比较闲。之前有3个月不在公司回学校了,我们部门用了一个新的开发工具——Apache Thrift,就趁这个时间了解一下。 准备把Thrift安装到阿里云上面。这个东西大概了解了一下,是Facebook开源的一套远程调用的框架,比目前流行的基于REST传输JSON性能好,更优于基于SOAP的XML。关键是它支持多种语言,当然包括我们Team使用的Golang。 从官网下载压缩包安装有问题,没有官网上面描述的bootstrap.sh文件,还会会报错误。 libtool: link: ar cru .libs/libtestgencpp.a .libs/ThriftTest_constants.o .libs/ThriftTest_...阅读全文

博文 2017-02-09 12:19:51 Bryce

go反射之后接口断言问题

这个问题困扰了我一晚上,但是最终还是被我试出来了。 问题场景: 1.我通过反射获取一个指针的value v := reflect.ValueOf(ptr).Elem() 这个指针指向了一个结构体,因为是指针所有我用了Elem()函数获取了指向的值。 2.因为ptr指针指向的结构体实现了一个接口,所以我用接口断言方法来调用接口的函数。 if _,ok := v.Interface().(XXX);ok{ ... } XXX是我实现的接口,看起来一切都没问题,但是问题来了。 //我用一个接口接收ptr的值 var i interface{} i = ptr if _,ok := i.(XXX);ok{ //ok为true ... } 如上所示,我用反射之前,接口断言没问题。但是v.Interfa...阅读全文

博文 2016-10-11 03:01:26 i冬瓜

GO语言(golang)切片slice

/*640*60,创建于2013-5-24*/ var cpro_id = "u1290382"; 切片slice是引用类型 len()函数获取元素的个数 cap()获取数组的容量 1.申明方式 [php] (1)var a []int 与数组不同的是他不申明长度 (2)s2 := make([]int, 3, 10) //元素的类型,元素的数量,元素的容量 fmt.Println(len(s2), cap(s2)) 输出元素的数量和容量 [/php] 2.讲数组转换成切片 [php] a := [10]int{} fmt.Println(a) s1 := a[:10] //取前10个元素 [5:]取 5-最后的元素 fmt.Println(s1) [/php] 3.slice测试 [php...阅读全文

Golang语言社区--全网游戏定制解决方案

Golang语言社区-全网游戏定制解决方案 前言 社区从无到有经历漫长的6个月时间,社区的技术主打Golang语言基础及相关网络、存储内容;并没有跟风的去研究docker等前言技术,因为我们Golang社区主打的是游戏相关的技术,可能涉及到go语言及C++游戏服务器的相关技术;社区内容在后面会完全转入到游戏相关的内容,有服务器架构设计,游戏服务器存储解决方案、游戏通信服务器架构设计,游戏服务器快速部署解决方案、游戏服务器架构开源方案等1你有想法,我们团队有技术;为什么不合作?人生就应该多多去实践,而不是想的太多!!!Golang语言社区 寻求产品经理一枚,坐标: 全球(成都最佳)背景要求:至少大型互联网公司工作3年以上,我们要的是大互联网公司的理念,仅此而已。希望相信我们合作可以做的更好,人...阅读全文

1个流利星球和1000位同学的故事

![]( https://wx3.sinaimg.cn/mw690/76e2fc92gy1fpes2wdhfzj20hs0dcjt3.jpg) 在过去的 2017 年,流利星球的人数突破了 1000 位同学,平均年龄 26 岁,五湖四海聚集于此。 在加入流利星球之前,他们中很多人是独立设计师、创业家、自由开发者、摄影制片人、歌手、旅行达人、健身教练。 ![]( https://wx2.sinaimg.cn/mw690/76e2fc92gy1fpes5fms7tj20hs0bv0tz.jpg) **我们今天来谈谈这 1000 位同学为何要加入流利说。** “我是流利说的老用户,很喜欢我们的 app,大学的时候经常会用,毕业的时候就想,讲不定可以试试看啊,所以后...阅读全文

一条命令即可将 Vim 配置为功能强大的 IDE

一条命令即可将 Vim 配置为功能强大的 C/C++ IDE 。包括安装不太方便的 YouCompleteMe 插件也是自动安装,并且会自动从官网下载最新版本的 libclang,然后编译 YouCompleteMe 插件需要的 ycm_core library ,这或许是目前为止安装 YouCompleteMe 插件最简单的姿势。 安装: curl -o - https://raw.githubusercontent.com/HmyBmny/vimrc/master/install-vim-plugins | sh 部分插件的使用需要安装一些依赖,诸如 ctags 之类的,具体请参考:https://github.com/HmyBmny/vimrc 支持所有 Linux 平台, Mac 没...阅读全文

博文 2017-02-10 10:27:20 HmyBmny

你好,学士,再见,再见。

再见了,我的40X实验室,再见了,我的cslg。 学号为Cslg.XXX111的同学,你的在校时长所剩不多,请准备好下线。 ​ 2013年,我来到这个学校,怀着希望,那时我告诉自己,如果有一天,失去希望了,就用LOL里赵信的一句话来激励自己:勇士之魂,从未破灭。但是,每次失望,都是先在微博上痛骂WQNMLGB。高兴的时候,从来没有在微博上发过什么。印象中,就追到了女朋友的时候,发了一句:起飞喽。 要反省的是,我的心态,从大一下学期就有问题。我把学校当成试炼场,而没有当成一个用心生活的地方。我当时并没有想到,这会是这辈子不能忘记的一部分,是实实在在的经历,而不是什么可以重来的试炼场。所以,犯下了很多错误,技术上,这个好,学!结果呢,往好了说,技术广度很不错,往差了说,什么都不好好学。爱情上,女...阅读全文

博文 2017-06-17 05:07:01 送你一碗大麦茶

聊聊初创公司的后端语言选型(小众语言)

在创业公司初创伊始,如何选择合适的语言决定了产品后续的技术栈和如何进行合理的业务支撑方向。如果你在读这篇文章之前,更倾向于选择Java/C#/PHP常见语言技术栈,我觉得对于你而言,这篇文章帮助不大。因为对你而言,这些技术栈意味着更加方便招人,更方便的故障处理资料等等。但是如果一个初创公司想要选择合理的小众语言技术栈,我想这篇文章对你也许有一些帮助。 在文章开始之前,我觉得有必要描述一下所谓的小众语言,这里我在最初进行技术选型时,考察了包括: Python: 你可能在接触爬虫、大数据分析等等方面听过Python的大名,大家都知道Pythonista都习惯说的一句话就是:人生苦短,我用Python。 Ruby: 你如果做过Web框架,你遇到最多的是很多人都会提到RoR框架。用过之后只有一个惊叹...阅读全文

博文 2017-02-10 15:45:16 kevin

docker+jenkins+golang持续集成实践[转载自我的博客]

博客地址:yeqown.github.com 起因 因为生产需要最近又重新折腾了一下Jenkins和docker。主要目的是想自动编译,打包,部署一些Golang的HttpServer。于是决定使用Jenkins来做这个持续集成的载体,选择Jenkins出于两点原因: 1. 以前就使用过,上手会更快2. 社区比较成熟,插件和文档丰富 安装Docker和Pull Jenkins镜像 这一步,作为前置条件且不是本文主要要描述的步骤,因此略去。网上也有很多参考资料~ Jenkins & docker-compose配置 为了方便我才用了docker-compose这个工具,docker-compose 基础可以参见我的docker-compose上手。这里直接上配置: version: '2' s...阅读全文

go反射之后接口断言问题

这个问题困扰了我一晚上,但是最终还是被我试出来了。 问题场景: 1.我通过反射获取一个指针的value v := reflect.ValueOf(ptr).Elem() 这个指针指向了一个结构体,因为是指针所有我用了Elem()函数获取了指向的值。 2.因为ptr指针指向的结构体实现了一个接口,所以我用接口断言方法来调用接口的函数。 if _,ok := v.Interface().(XXX);ok{ ... } XXX是我实现的接口,看起来一切都没问题,但是问题来了。 //我用一个接口接收ptr的值 var i interface{} i = ptr if _,ok := i.(XXX);ok{ //ok为true ... } 如上所示,我用反射之前,接口断言没问题。但是v.Interfa...阅读全文

博文 2016-10-03 03:00:02 i冬瓜

完成比完美更重要?仅知道这句话可不够

导读 都说完成比完美更重要! 软件开发模式经过多年的演化,从传统的瀑布开发模型升级到了敏捷开发模型。 而到了互联网时代,迭代再次加快,产品直接是在互联网上生长。 然而,做产品总是要先出一个版本,再不断迭代,那从0到1的第一步应该怎么走?后续的迭代又应该如何演进呢? 重点笔记 迭代就是小步快跑,把最内核的部分先放出来,不断优化、小范围试错。 版本规划能力是产品经理的重要能力。 判断一个产品经理是否厉害,很重要的一条就是判断他设计的产品第一个版本有多简单、直接、切中要点,能不能直指人心。 产品复杂是因为产品经理不自信,只能从附加功能中找心理安慰。 产品设计应该找到内核,小步快迭代,而不是憋大招。 迭代中,重要的是次序,前一个动作是后一个动作的预动作。 迭代的价值: 对外部,可以快速得到用户的反馈...阅读全文

博文 2018-09-21 23:34:39 海之方

golang中http请求图片遇见的问题汇总(一)

最近做了个根据url分析图片信息的demo,其中遇到的几个有意思的问题,发出来分享一下 一.“**http请求返回错误**” 1."stream error: stream ID x; INTERNAL_ERROR" 这种情况需要关闭http2.0,没有找到更好的解决办法 2.“**request canceled**” timeout这点之前笔者没有在意过,设置超时时间都是简单粗暴的: ```` client := &http.Client{ Timeout:5 * time.Second, } ```` 这样虽然简便,这个相当于一个deadline,不管连接上没连接上,不管成功没成功,5秒后都会被判为超时。 这样就有一个问题,如果我请求一张非常大的图片,即使已经请求成功连接上了,也会因为...阅读全文

博文 2018-12-07 18:33:07 yinshidaoshi

Go 入门基础

前言 seaconch 最近在学习 Go 语言编程,基础部分还没有看完,不过只看不练,或者之过一遍还是感觉不够牢固,所以决定通过文章来记录、并且梳理一下已了解过的知识。 一.Go基础结构 1.基础 Go 编写的代码文件都以 .go 结尾。 这里假设我们有一个名为: main.go 的文件。 那想要将 main.go 生成一个可执行的应用程序,至少要是如下内容 : package main func main() { } 编译生成 go build main.go 是可以通过的,成功的生成了 main.exe 。 只是这样做并没有任何意义,所以说真正意义上我们要编写一个 Go 程序 至少是下面这样的 : package main import "fmt" func main() { fmt.P...阅读全文

博文 2018-07-07 23:34:52 SeaConch

用Go语言买卖比特币

方案一: 通过ExinCore API进行币币交易 Exincore 提供了基于Mixin Network的币币交易API. 你可以支付USDT给ExinCore, ExinCore会以最低的价格,最优惠的交易费将你购买的比特币转给你, 每一币交易都是匿名的,并且可以在区块链上进行验证,交易的细节只有你与ExinCore知道! ExinCore 也不知道你是谁,它只知道你的UUID. 预备知识: 你先需要创建一个机器人, 方法在 教程一. 安装依赖包 正如教程一里我们介绍过的, 我们需要依赖 mixin-sdk-go, 你应该先安装过它了, 这儿我们再安装 uuid, msgpack 两个软件包. go get -u github.com/vmihailenco/msgpack go get...阅读全文

博文 2019-03-24 09:34:39 Mixin_Network

Hashmap

基本语法 定义hashmap变量 由于go语言是一个强类型的语言,因此hashmap也是有类型的,具体体现在key和value都必须指定类型,比如声明一个key为string,value也是string的map, 需要这样做 var m map[string]string // 声明一个hashmap,还不能直接使用,必须使用make来初始化 m = make(map[string]string) // 初始化一个map m = make(map[string]string, 3) // 初始化一个map并附带一个可选的初始bucket(非准确值,只是有提示意义) m := map[string]string{} // 声明并初始化 m := make(map[string]string) ...阅读全文

博文 2018-11-25 16:34:40 小马哥_Magical