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

Go语言获取外网和本地IP

package main import ( "flag" "fmt" "io" "net" "net/http" "os" ) var get_ip = flag.String("get_ip", "", "external|internal") func main() { fmt.Println("Usage of ./getmyip --get_ip=(external|internal)") flag.Parse() if *get_ip == "external" { get_external() } if *get_ip == "internal" { get_internal() } } func get_external() { resp, err := http.Get("h...阅读全文

博文 2015-07-13 18:00:00 冷絮

苦逼程序员的10年

风险预警。本文属于毒鸡汤系列,经过文学渲染,读后或产生焦虑,有相关抵制者慎入。 十年,转瞬即逝,人生进入下半场。众生皆苦,万相本无。且看风云变幻,慢品苦辣酸甜。小姐姐味道微信公众号首发。 小胡,拼搏者 小胡很久没有笑过了。他在房价的次高点买了套超出自己承受能力的房子,紧接着老婆失业了,失业以后脾气变得特别的不好。他每天都下班很晚,最近终于鼓足勇气换了份离家近的工作,来省下每天的车费。他的技术很好,别人也是这么评价,但这次跳槽他并没有涨多少薪。心里乱乱的老觉得堵,家里环境太压抑,老母亲最近又和老婆掐了起来。他依然每天很晚下班,心烦了就工作。老板看在眼里,给他颁发了一个拼搏者奖杯。 今天团建后他开车回家,天很晚,他把头顶在方向盘上呆了很久。推开车门,他静静伫立一刹,把一个包装袋随手扔进垃圾桶。 ...阅读全文

博文 2019-06-05 09:32:39 小姐姐味道

数据宝ChinaDataPay.com董事长汤寒林参加中国长江经济带发展高峰论坛

 2016年11月29日,由江西省商务厅指导、江西省服务外包产业协会主办的第三届中国长江经济带发展高峰论坛在江西南昌举行,本次论坛以“数据•融合•创新”为主题,围绕外包、制造业服务化、互联网+、电子商务、大数据、人工智能、移动互联网等新兴领域的发展为契机进行高端对话。贵州数据宝网络科技有限公司Chinadatapay.com董事长汤寒林作为特邀嘉宾发表《大数据行业的“淘宝”》的主题演讲,就如何高效开展大数据交易进行分享,并与华道数据、用友网络、中兴软件、联合金融、兴业证券等机构共同探讨大数据与服务贸易行业融合的创新模式。 ![1.jpg](http://studygolang.qiniudn.com/161207/6942fb4a9522d59f113aa36e38fabea3.jp...阅读全文

Go语言 GC优化经验分享

不想看长篇大论的,这里先给个结论,go的gc还不完善但也不算不靠谱,关键看怎么用,尽量不要创建大量对象,也尽量不要频繁创建对象,这个道理其实在所有带gc的编程语言也都通用。 想知道如何提前预防和解决问题的,请耐心看下去。 我们项目的服务端完全用Go语言开发的,游戏数据都放在内存中由go 管理。 在上线测试后我对程序做了很多调优工作,最初是稳定性优先,所以先解决的是内存泄漏问题,主要靠memprof来定位问题,接着是进一步提高性能,主要靠cpuprof和自己做的一些统计信息来定位问题。 调优性能的过程中我从cpuprof的结果发现发现gc的scanblock调用占用的cpu竟然有40%多,于是我开始搞各种对象重用和尽量避免不必要的对象创建,效果显著,CPU占用降到了10%多。 但我还是挺不甘心...阅读全文

博文 2014-10-11 18:00:01 abv123456789

关于我

三流学校,普通本科,天天搬砖写业务的小码农。 Android 中高级工程师,5年android开发经验。研究的不是很深,经验还可以。 后端也懂一点,.net core , python django, java spring, golang 等都能做一点点, CRUD 小能手,业务小能手。 web前端也还行, css,js React, 简单页面都能写,当然做后端的一般都能写。 学的比较杂,各种东西都懂一点皮毛。好处是自己能从头做一款产品,移动端,web端,后端自己全都能写。 目前专注在物联网,网络编程方面。对 netty , netty 在android 中的应用使用熟练,TCP/IP等协议都比较熟悉。熟悉蓝牙协议(BLE, FastBle) 有多个实际项目经验。 pump.jpg 之后还...阅读全文

博文 2019-05-22 20:34:40 lesliefang

Golang在视频直播平台的高性能实践

http://toutiao.com/i6256894054273909249/ 熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。Golang在视频直播平台的高性能实践(含PPT下载)把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。Golang在视频直播平台的高性能实践(含PPT下载)关于在线服务,如果 1000 万用户在线,即使每 30 秒一次在线 http 发送打点,那么也有每秒 30 万+的接口 qps。Golang 提供的 http server 性能非常好,一个普...阅读全文

博文 2016-03-03 03:00:00 jukan

Golang在视频直播平台的高性能实践(含PPT下载)

编者按:本文是杨武明在 2 月 27 日在 Gopher 北京聚会演讲基础上整理而成。转载请注明来自高可用架构公众号「ArchNotes」。杨武明,熊猫 TV 首席架构师,曾担任奇虎 360 PC 网游技术架构负责人,前新浪微博平台资深后端开发、技术专家。对大型互联网架构有丰富的实践经验,擅长后端基础服务与组件开发,尤其高性能、高并发、大数据业务场景。熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量与重要性比较高,所以成为 golang 小试牛刀的首批高性能高并发服务。把大服务拆细, 然后服务化独立部署,更容易简化部署,也容易单点细节优化与升级。多数服务的能力是通用的,如平滑重启、多机房部署等。关于在线服务,如果 1000...阅读全文

博文 2016-10-20 20:00:01 u012798391

互联网哪些职位最赚钱?开发哪些语言人才最贵最热门?

一、互联网人群求职意向 数据显示,互联网人对市场销售类职位最有意向,占比高达25.47%。技术类和运营类职位紧跟其后,分别占到23.55%和18.08%的比例。其中,市场销售类细分领域中,销售与市场营销职位更受关注;在技术类细分领域中,较受亲睐的是移动开发和后端开发;而在运营细分领域中,运营是最受欢迎的职位。二、互联网十大高/低薪职位 数据统计得知,CTO、CFO、COO、CMO、产品总监、技术总监、架构师、交互设计总监、网络推广、视觉设计总监是平均工资排名前十的互联网职位。其中,CTO最为吸金,以平均35.06万的年薪位居榜首。相比之下,前台、出纳、售后客服、售前咨询、助理、行政、产品助理、内容编辑、IT支持和Flash设计师成为了工资最低的十大岗位,前台的年薪仅有4.07万。大家可以对工...阅读全文

博文 2017-07-07 02:07:25 宝桃软件夏正行

在go环境中架设protobuf

由于外网经常被封,把go版本的protobuf下载到本地,基本上是protobuf-master.zip这个形式。go版本的protobuf的下载地址为https://github.com/golang/protobuf将这个protobuf-master.zip加压后,改名为protobuf目录,并且在当前go工程的src目录下,新建一个子目录 github.com ,然后进入,再新建一个子目录golang然后把刚才改名为protobuf的目录,全部拷贝到刚才的golang文件夹里面 ok!在linux平台下,进入此protobuf文件夹,make 就OK了,会生成protoc可执行文件在gobin文件里里面,并且生成相关的.a文件在当前go工程的pkg文件夹里。在windows平台下,我...阅读全文

博文 2015-03-17 23:00:01 lyf445207638

华为云 路由器的天坑

问题在华为云服务器上使用Golang直接监听UDP端口,外部将无法访问这些端口,因为华为云服务器的路由不会允许外部与这些UDP端口直接通信。即便在配置了安全组以后亦是如此。解决方案Golang 建立连接后,使用 conn.Write() 写入部分数据即可(无需指定目的地)。如此一来,华为云的路由器便能放行此 UDP 端口。问题猜测华为云路由器的 NAT 算法应该是华为自己魔改的。尽管外网 IP 对 服务器内网IP是 1对1 的,但路由器对外部的访问存在限制。需要像 IP限制锥形 NAT 一样向往外发送数据后才能正常使用...阅读全文

博文 2020-05-05 05:32:43 鹿沐浔

群晖 Docker 搭建自有 Leanote 服务

最近搞了台群晖 NAS,就想着搭建自己的云笔记服务。 为什么不使用已有云笔记平台? 之前接触过的云笔记主要是印象笔记和有道云笔记,各自都有非常致命的缺陷: 印象笔记: 国外的产品,由于各种不可描述的因素,功能上会有一些调整(阉割); 不支持 Markdown。 有道云笔记: bug 多; 国内这种不是太火或者说没怎么盈利的产品,始终会存在突然关掉的风险。 为什么选择 Leanote? 现在已经有不少开源的云笔记软件,谷歌上一搜一大把,选择 Leanote 主要还是一下原因: 之前和 Leanote 团队成员之一共事过,遇到什么问题咨询起来相对方便; Leanote 已有功能基本覆盖我的需求; 口碑看起来还可以。 搭建服务 既然选择了 Leanote,那就开始搭建呗。 Leanote 的后端服...阅读全文

博文 2018-08-10 18:35:00 yibuyisheng

Golang与Python的性能对比

Golang和Python的性能孰优孰劣,在开发者和最终用户中间总有着一些起争议的话题。一个互联网企业要提供好的服务,并且它能够迅速而高效地完成工作,这就是Golang与Python的问题出现的原因。每个IT企业的每一个方面都依赖于其技术备份、数据安全、入侵检测、VPN和存储等技术,这只是企业开发人员需要处理的几个问题中的一部分。鉴于这种情况,大多数企业更倾向于外包自己的IT服务,以便专注于自己最擅长的事情。更多go语言内容请关注:http://www.fastgolang.co...阅读全文

博文 2019-07-11 19:32:40 CC_ab48

深入学习golang(1)—数组与切片

数据(array)与切片(slice) 数组声明: ArrayType = "[" ArrayLength "]" ElementType . 例如: var a [32] int var b [3][5] int 在Go和C中,数组的工作方式有几个重要的差别。在Go中, (1)数组是值类型。将一个数组赋值给另一个,会拷贝所有的元素。 (2) 如果你给函数传递一个数组,其将收到一个数组的拷贝,而不是它的指针。 (3)数组的大小是其类型的一部分,类型[10]int和[20]int是不同的。数组长度在声明后,就不可更改。 切片声明: SliceType = "[" "]" ElementType . 例如: var a []int 没有初始化的slice为nil。 切片(slice)对数组进行封...阅读全文

博文 2014-10-05 23:12:32 hustcat

美团外卖服务端团队悲剧了,目测年终奖没了~

今日中午,美团外卖后台出现大型BUG。众多用户反映,订单支付后,钱款已扣,但美团外卖平台仍显示未支付。北京、深圳、上海、厦门等多地都有反馈。目测是一次全国性“后台事故”。 微博上,众多用户表示愤怒。热门微博,跟帖达到了860条,绝大部分都是遇到了同样的情况,纷纷表示很“心塞”...阅读全文

【广州招聘】go语言开发/golang

.........................................分割线...................................... 职位描述: 1、负责棋牌游戏服务器架构优化; 2、负责棋牌游戏新游戏,活动等开发; 3、协助运维维护线上服务器。 职位要求: 1、熟悉c/c++/java,至少一年你使用经验; 2、熟悉golang,至少一年服务器开发项目经验; 3、熟悉tcp,ip,http等网络协议; 4、熟悉docker优先; 5、熟悉棋牌开发优先; 6、善于沟通,要有团队合作精神; 7、能承受一定强度的工作压力,对工作有热情,负责。 ...............阅读全文

国内go get无法使用解决办法

由于我国的政策问题,外网一直是我们渴望而不可求的。在使用go get时我们就可以感觉到,那么我们该怎么解决呢?有VPN代理的绕过本文章就可以了,还有网上说的使用gopm这个工具,类似于Node.js的npm,但是我们从内心还是想用go get,但自己又没有VPN代理怎么办?一个网站解决了我们这个问题——https://goproxy.io/我们可以将go的代理设置为这个网站就可以,具体的教程此网站又明确的步骤,根据你go版本的不同去设置即可——传送...阅读全文

博文 2019-10-12 15:09:12 huhailong

打包前端WebSite到Go程序

Coolpy5发布在即,新版本要求服务端程序只是一个运行文件,经历了go的template无数坑后,最后还是放弃了,所以还是要把前端独立开发一个纯前端程序,但是go程序直接build的话并不支持把前端程序编译到最终生成的文件中,所以须要一种方法把前端程序打包进最终生成的运行文件中。 所用到的包 github.com/GeertJohan/go.rice 下载或编译后会得到一个rice.exe(window平台),linux平台请自行下载包并编译。 配置go env 把go 环境变量都配置好,本例中文件工程路径为:E:\Coolpy5Sub\Coolpy5Sub\bin E:\Coolpy5Sub\Coolpy5Sub\bin>go env set GOARCH=amd64 set GOBIN...阅读全文

博文 2016-07-27 15:00:02 jacle169

Golang 开发移动应用的OpenGL(Android为例)的渲染管线

golang.org/x/mobile/gl 实现的是 OpenGL ES 2 的封装。 参考:https://godoc.org/golang.org/x/mobile/gl OpenGL ES(OpenGL for Embedded Systems)是OpenGL三维图形API的子集,针对手机、PDA和游戏主机等嵌入式设备而设计。OpenGL ES 1.0针对固定管线硬件的,OpenGL ES 2.0针对可编程管线硬件,可以认为完全是两套API。最新3.0版本也在Android4.3得到了支持,从源码上看完全扩展自2.0。 OpenGL负责把三维空间中的对象通过投影、光栅化转换为二维图像,然后呈现到屏幕上。 管线这个术语描述了OpenGL渲染的整个过程。openGL采用cs模型:c是cp...阅读全文

博文 2016-02-04 03:00:01 ghj1976

Go程序GC优化经验分享

作者:达达来源:http://1234n.com/?post/yzsrwa最近一段时间对《仙侠道》的服务端进行了一系列针对GC的调优,这里跟各位分享一下调优的经验。游戏第一次上线的时候,大部分精力都投入在做cpuprof和memprof找性能瓶颈和内存泄漏上,没有关注过Go的GC运行情况。有一次cpuprof里的scanblock调用所占的比例让我注意到Go的GC所带来的性能消耗,记得那份cpuprof里,scanblock调用占到49%。也就是说有一半的CPU时间浪费在了GC上。于是我开始研究如何进行优化,过程中免不了要分析数据,经过一番搜索,我好到了GOGCTRACE这个环境变量。用法类似这样:GOGCTRACE=1 ./my_go_program 2> log_file 通过这个环境变...阅读全文

博文 2014-10-10 11:00:00 heiyeshuwu

golang websocket总结(问题贴)

因为工作的需要,接触了websocket,开始的一些很简单的代码,都不知道该怎样运行起来,所以,总是有一层神秘感,却没有太多的兴趣去研究它。不过,还是免不了要了解一些才不至于对于后续的工作有影响。从塌下心来学习,到最后完成编码测试,不超过一周,遇到了很多问题,万幸,通过自己的思考和师傅们帮忙都解决了。 关于go与websocket编程,github上有很多开源的源码,比如https://github.com/garyburd/go-websocket。我发现,现在网上流传的关于go 的websocket编程基本上都是差不多的类型,当然,websocket也不过如此而已啦。再说说,对如此简单的问题,我碰到的那些麻烦事吧。 1.当服务器启动起来之后,再怎么运行?因为刚开始对websocket的认...阅读全文

博文 2015-06-17 20:17:43 lxy15329

Go 的垃圾回收机制在实践中有哪些需要注意的地方?

来源:http://www.zhihu.com/question/21615032不想看长篇大论的,这里先给个结论,go的gc还不完善但也不算不靠谱,关键看怎么用,尽量不要创建大量对象,也尽量不要频繁创建对象,这个道理其实在所有带gc的编程语言也都通用。想知道如何提前预防和解决问题的,请耐心看下去。先介绍下我的情况,我们团队的项目《仙侠道》在7月15号第一次接受玩家测试,这个项目的服务端完全用Go语言开发的,游戏数据都放在内存中由go 管理。在上线测试后我对程序做了很多调优工作,最初是稳定性优先,所以先解决的是内存泄漏问题,主要靠memprof来定位问题,接着是进一步提高性能,主要靠cpuprof和自己做的一些统计信息来定位问题。调优性能的过程中我从cpuprof的结果发现发现gc的scan...阅读全文

博文 2014-10-11 23:00:04 heiyeshuwu

[Golang软件推荐] Frp内网穿透

在一个IP紧缺的时代,连电信也不分配固定IP给到你用,一条专网专用线路贵的不行,那么作为软件开发人员常常要使用到外网,比如和微信调试程序,给到不在同一网段的朋友一起调试程序等,大家耳熟能详的内网穿透就是花生壳,但是花生壳的灵活性比较差,笔者就想有没有什么更好的办法自己搭建一个内网穿透服务器呢?那么今天就给大家推荐一款自建内网穿透. 附上: 喵了个咪的博客:w-blog.cn frp-Github地址:https://github.com/fatedier/frp frp-中文文档:https://github.com/fatedier/frp/blob/master/README_zh.md 1.安装 注意: frp 仍然处于前期开发阶段,未经充分测试与验证,不推荐用于生产环境。 目前的交互...阅读全文

博文 2018-03-22 14:35:40 喵了_个咪

请教一个golang如何通过代理服务器验证问题

最近在做一个简单测试,在公司内网实现抓取外网一个网页,但是因为公司是通一个代理服务器出去的,所以需要先通过代理服务器验证。找了好久的资料实在没找到,我用c#可以实现。主要是不知道golang下面怎么实现代理服务器的验证,代码是在网上一个关键代码如下: func fetch(url, proxy_addr *string) (html string) { transport := getTransportFieldURL(proxy_addr) client := &http.Client{Transport: transport} req, err := http.NewRequest("GET", *url, nil) ****req.SetBasicAut...阅读全文

这就是我不建议去外包公司的原因!

咱们每个人都是学了好久编程,做了好久的项目,目的也只是为了可以去一个不错的公司可以有一个不错前景的发展。首先说一下,我不排斥外包企业,也不赞扬自主研发。没有好与不好,只有你是否适合而已。有能力者,哪里都会出彩的!加油!在国内,IT开发公司基本可以分为国内自助研发和外包企业(项目外包或人员外包),有些人总是会问我,到底要不要选择外包企业进行工作,我个人觉得:如果自己的能力不是很突出的话,基础知识点也不是很牢固,基本算是走投无路了,我们可以选择去外包公司发展。其实大家心里都跟明镜似的,每个人都知道“低技术含量的外包没有前途”,导致有好多人都认为外包没有技术,其实这种思想不对,因为国外有大量的高端技术外包业务等着我们干,比如:欧美的项目开发,但是咱们反问一句“你们能干的来吗?”。现在大部分的公司都...阅读全文

博文 2018-10-12 00:34:41 MrYang666

搭建私有goproxy

搭建私有goproxy 由于众所周知的原因,在大陆的网络环境是无法访问到golang.org等google的网站的。但在开发日常中使用的很多依赖包或系统包依赖都是在google的服务器上。为了解决无法加载依赖的问题,国内也有很多种解决方案。一种是使用goproxy.io或七牛主导的goproxy.cn。在企业里,有很多情况是生产网络或测试网络环境是无法正常访问外网的,为了解决这个问题可能需要自己搭建一个proxy来管理依赖包。 搭建goprxoy 找一台可以访问外网的服务器。下载goproxy源码: $ go get github.com/goproxy/goproxy $ vim main.go 增加main.go文件: package main import ( "net/http" "...阅读全文

博文 2019-10-14 10:32:53 aside section ._1OhGeD

DockOne微信分享(七十四):传统金融 IT 对混合云管理的一些思考

【编者的话】在新常态经济背景下,金融脱媒加剧,跨界融合和互联网金融的发展加速传统金融企业变革转型。传统金融 IT 需要积极面对以互联网、云计算、大数据为代表的新技术带来的机遇与挑战,主动进行架构转型。本次交流分享在落实企业云计算规划工作中的一些思考。 一、 传统金融 IT 的行业特点受行业特点所限,传统金融 IT 需要接受银监会的多项监管要求,重要的包括: 在《商业银行信息科技风险管理指引》的推动下,建设信息科技管理(由 IT部门负责)、风险管理(由风控部门负责)、审计(由审计部门负责)“三道防线”体系。在《商业银行数据中心监管指引》的推动下,建设生产数据中心和灾备数据中心,后续有演进为“2地 3 中心”架构。在《商业银行业务连续性监管指引》的推动下,建设业务连续性管理组织体系。在《商业银行...阅读全文

博文 2017-06-25 16:25:11 远洋li

杭州实力企业招聘golang语音工程师--不对年限设限

杭州实力互联网企业招聘golang语音工程师--无年限设限 岗位职责: 1.负责PC端的开发与维护,优化现有架构; 2.负责面向APP的API开发。 此岗位属于技术中心,目前技术中心已有30多名员工,独立的技术团队,不外包 (此岗位不要外包) 任职资格: 1.有Linux/Unix使用经验; 2. 熟悉Golang语言,有良好编程习惯; 3.有自主独立完成系统开发工作的经历; 4.有良好的交流能力和自学能力; 5.有足够的经验和能力来分析定位和解决问题; 6.参与开源活动,对开源社区有贡献者优先。 有意者加qq:2957736272 详...阅读全文

Golang首字母大小写的意义

博客地址:https://www.jianshu.com/p/d3c33e243a71一、含义简介1.1、首字母大写 == public1.2、首字母小写 == private注意:这个 public 和 private 是相对于 go 文件首行 package 声明的包名来说二、package 声明的包名与该文件所处于实际文件系统中目录的关系2.1、一般情况下建议这个包名和所在的目录名保持一致,这样容易辨认。但不一致也是可以的,比如我在 src/aa/bb 目录下新建了 fab.go 文件,我在 fab.go 开头,声明包名 package pab,声明与实际目录不一致。 package pab type ( EventObserver struct { // 大写外包可访问 id int...阅读全文

博文 2019-10-26 19:32:44 aside section._1OhGeD

golang手把手实现tcp内网穿透代理(1)

使用golang手把手实现一个tcp内网穿透代理工具。 描述一下应用场景,假设内网也就是我们的局域网,我们的电脑,pc运行了一个tomcat服务器,或者nginx服务器,又或者jdbc数据库,又或者python的服务器。 正常来说,我们是无法通过互联网达到访问局域网的电脑,pc的。 然后我们有一台外网主机,需要实现在外网主机端口支持访问我们内网的服务,这样的好处和目的是什么呢? 方便调试我们的代码,尤其是微信的公众号,以及线上的支付功能回调。凡是需要别人的服务器回调我们的服务器的都需要。 在做工具之前,需要先设计一下怎么实现这个工具,而不是盲目的开工。 首先可以明确的是: 1.控制服务,控制服务需要监听在外网服务器上,假设这个服务名字叫做control_server control_serv...阅读全文

博文 2019-06-13 23:32:42 iamdev

gopher china 菜鸟之感

golang我也是2015年2月份才听闻的,记得当时我正辅修android开发,当时我是会java的,但是也想看看还有哪些可以做android开发,当时看到的是ruby motion,我就上网看了一些资料无意中在下面的评论中看到了golang,于是我就去百度了它一下。后面我就尝试了它的语法,是一种比较简洁开发效率比较高的语言,但是给我一种脚本语言的感觉,当然它不是。后来我就加入了一个golang QQ群,知晓了golang china的活动,因为同在上海,我就报名了。。。 其实我也是2014年7月毕业的,工作经验少和技术薄弱,在gopher china这两天满满的干货中,我感觉自己要学的十在太多,主流的技术好多都不知道,因为身处于外包行业中,以完成客户的需求为主,对于高新技术涉及十再太少,我...阅读全文

千城千站这款优化系统 或许能减少你50%的优化成本

很多企业在做网站优化时,一般的操作就是不断的更新网站原创文章,进行站外推广,页面调整,数据分析,用户分析,有些企业甚至会付费增加百度竞价,360推广,这需要专门的优化人员去负责,而且这种做法效果时间长、工作效率低、竞争力弱,钱投进去了但是难以达到理想的效果。 举个简单的例子,比如你做站外推广发送外链,早几年很多外网还支持发送外链文章,随着近几年文章监管严格,发送的文章都需要审核,发现无关的外链都会遭受屏蔽,这也是为什么你发送一百个平台最后收录寥寥无几。 ![1.jpg](https://static.studygolang.com/180503/8b092222d171654ac71ccd06d080a82d.jpg) 人员成本以及时间都花销进去了,但是效果不成效,直接...阅读全文

Go 的垃圾回收机制在实践中有哪些需要注意的地方?

之前回答问题的时候Go还处在1.1版本,到了1.2和1.3,Go的GC跟踪命令和GC内部实现已经有一些变化,并且根据评论中的反馈,这边一并做补充说明。 Go 1.2之后的GC跟踪环境变量已经改为GODEBUG="gctrace=1",具体参数说明可以参考runtime包的文档。 Go 1.3对GC做了优化,回收机制也改变了,从我的实验观测来看,用做内存存储时候产生的持久性的大量对象,一样是明显拖慢GC暂停时间的,但是函数内创建的局部对象一旦没被引用,是会被立即回收的,可以用runtime.SetFinalizer()观测到这个现象,我利用这个现象在v8.go项目做了一个engine实例销毁的单元测试。 这里需要提醒大家,在平时开发或学习的时候gc是透明的,好像不存在一样,gc只在影响到业务的...阅读全文

博文 2015-08-25 14:00:01 wkyb608

感谢那些年没有招用我的公司

18年毕业,计算机专科毕业,好在学校在南京工作机会还算多,自己水平也不差,系里也算拔尖的,参加不少比赛也获得了一些名次,当时能力偏运维,也玩了两年多服务器真机(学校提供的)。临近毕业,出学校找工作找了两周,跑遍了南京各个区,光地铁卡就跑了七十多块钱。然而结果很差,因为没有工作经验,学历也不行,全部失败了。有一次面试我印象深刻,运维的工作,跟负责面试的聊的不错,而且还是老乡,我要的薪资也不高,就三千权当实习。我以为这个工作是稳的,结果还是失败了,原因我也没去问。这个公司是我要感谢的第一个公司,辛亏没有要我,不然我就是苦逼又没有任何创新能力的运维。所有我能投的公司我都尝试,里面还有一堆的培训公司。我特别迷茫,放弃找工作,继续窝在宿舍打游戏。一天下午突然接到一个小姐姐的电话,问我愿不愿意做手机游戏...阅读全文

博文 2020-01-13 21:32:43 别_360c

go 服务器出现too many open files的错误

最近两天服务器总是会出现too many open files的错误。真的很是头疼。在本地开发环境中,也用了压力测试,发现问题不存在。但是为什么服务器会出现这种错误,有些闹不明白。本来想用ulimit更改一下打开文件的描述符。但这样子觉得并不解决问题。好吧,那就查一下更本的原因。 服务器是亚马逊,开发语言:golang,数据库:mongo,mysql。缓存:redis。 测试脚本:写了一个golang的并发请求脚本。大概同时请求100.ulimit限制到50.发现错误立刻呈现。发现在程序的进程下打开了大量的socket连接。所以当时就认为是mongo的连接错误。决定mongo的连接使用单例模式。不过后来发现,这些socket是会降下去的。也就是说,连接用完了,就关闭了。但是服务器的socke...阅读全文

博文 2015-06-17 20:12:39 u011511092

高效的多维空间点索引算法 — Geohash 和 Google S2

引子 每天我们晚上加班回家,可能都会用到滴滴或者共享单车。打开 app 会看到如下的界面: app 界面上会显示出自己附近一个范围内可用的出租车或者共享单车。假设地图上会显示以自己为圆心,5公里为半径,这个范围内的车。如何实现呢?最直观的想法就是去数据库里面查表,计算并查询车距离用户小于等于5公里的,筛选出来,把数据返回给客户端。 这种做法比较笨,一般也不会这么做。为什么呢?因为这种做法需要对整个表里面的每一项都计算一次相对距离。太耗时了。既然数据量太大,我们就需要分而治之。那么就会想到把地图分块。这样即使每一块里面的每条数据都计算一次相对距离,也比之前全表都计算一次要快很多。 我们也都知道,现在用的比较多的数据库 MySQL、PostgreSQL 都原生支持 B+ 树。这种数据结构能高效的...阅读全文

博文 2018-03-09 18:04:19 一缕殇流化隐半边冰霜

基于tutum/lamp镜像搭建GoLang网络应用

2015-01-27 wcdj 摘要:Docker Hub上有较多的LAMP镜像,其中tutum/lamp镜像较为出名,本文使用tutum/lamp作为基础镜像,并在其上添加go编译环境,然后创建和测试一个支持GoLang网络应用的镜像。 过程如下: 1,从Docker Hub下载tutum/lamp镜像 root@gerryyang:~# docker search -s 5 lamp NAME DESCRIPTION STARS OFFICIAL AUTOMATED tutum/lamp LAMP image - Apache listens in port 80, an... 47 [OK] dockerfiles/centos-lamp 8 [OK] root@gerryyang:~...阅读全文

博文 2015-01-29 20:00:10 delphiwcdj

Vue Element+Node.js开发企业通用管理后台系统

第1章 课程介绍介绍项目背景、达到的目标、技术栈和功能演示第2章 课程分析课程分析第3章 Vue进阶(上)对Vue的进阶知识进行讲解,包括$emit和$on、directive指令、组件化、Vue插件等相关内容。第4章 Vue进阶(下)对Vue的进阶知识进行讲解,包括组件通信、过滤器、监听器、Vue2.6重要新特性等相关内容。第5章 Element-UI入门对Element-UI的内容进行讲解,包括如何搭建Element-UI使用环境,如何使用插件快速集成Element-UI,并通过el-form源码解读说明Element-UI的基本实现原理。第6章 Vuex和Vue-router进阶对Vue的全家桶中两个重要插件:Vuex和Vue-router进行更加深入的介绍,包含原理讲解以及一些重要特...阅读全文

博文 2019-12-30 23:07:38 huakaihk

甜品店切蛋糕问题(动态规划,Go语言实现)

甜品店切蛋糕问题(动态规划,Go语言实现) 问题重现: 小Y最近在甜品店工作,其工作是切蛋糕。现在有n个顾客来购买蛋糕,并且每个顾客有一个到达的时间,以及需要买的蛋糕的长度ai。由于小Y每次只能服务一个顾客,【问题严谨性补充:而顾客如果进店没有服务员立刻为他服务,他将离开】所以对于相冲突的顾客没有办法提供服务。问小Y最多能为多少位顾客提供服务。小Y能够决定是否卖蛋糕给某个顾客。如果答应顾客要买长度为ai的切糕,那么小Y还要将蛋糕切成单位长度给顾客。如果对ai的蛋糕切成x和ai-x,所花的时间代价为x*(ai-x)。例如,当一个用户在1时刻,需要长度为4的蛋糕,此时小Y可以将其先切成2分长度为2的,花费为4,再将两段长度为2的分别切成1,1的,花费分别为1和1,则总花费时间为4+1+1 = 6...阅读全文

博文 2015-12-27 16:00:02 WAPWO

甜品店切蛋糕问题(动态规划,Go语言实现)

问题重现:小Y最近在甜品店工作,其工作是切蛋糕。现在有n个顾客来购买蛋糕,并且每个顾客有一个到达的时间,以及需要买的蛋糕的长度ai。由于小Y每次只能服务一个顾客,【问题严谨性补充:而顾客如果进店没有服务员立刻为他服务,他将离开】所以对于相冲突的顾客没有办法提供服务。问小Y最多能为多少位顾客提供服务。小Y能够决定是否卖蛋糕给某个顾客。如果答应顾客要买长度为ai的切糕,那么小Y还要将蛋糕切成单位长度给顾客。如果对ai的蛋糕切成x和ai-x,所花的时间代价为x*(ai-x)。例如,当一个用户在1时刻,需要长度为4的蛋糕,此时小Y可以将其先切成2分长度为2的,花费为4,再将两段长度为2的分别切成1,1的,花费分别为1和1,则总花费时间为4+1+1 = 6, 则小Y为该用户服务时间为6.已知第i位顾客...阅读全文

博文 2016-03-26 02:00:06 abv123456789

“网红架构师”解决你的Ceph 运维难题

**欢迎大家前往[腾讯云+社区](https://cloud.tencent.com/developer/?fromSource=waitui),获取更多腾讯海量技术实践干货哦~** > 本文由[Tstack](https://cloud.tencent.com/developer/user/1013467?fromSource=waitui)发表于[云+社区专栏](https://cloud.tencent.com/developer/column/1463?fromSource=waitui) > 本文为长篇连续剧,将分多个篇幅发表,主要介绍了从动手部署环境到后期运营故障处理过程中常见的问题,内容由浅入深,是居家旅行运维Ceph的必备良药。 ### **Q1. 环境预准备** 绝大多数M...阅读全文

博文 2018-10-15 11:02:35 qcloudcommunity

TFS go online 问题

TFS有2个账户,一个是局域网地址,一个是VPN外网地址, 在工时用的局域网地址,回来后切换到外网地址,发现每次go online的时候,都是连接局域网地址, 最后找了一个方法解决: HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\TeamFoundation\Instances\服务器名称\Collections 下有online 的value值设置为1,重启V...阅读全文

博文 2015-12-22 09:00:00 dong0037

golang 跨平台编译简明教程 window直接编译linux执行文件

前言 后端开发往往开发端使用windows,发布环境在linux的情况。比较多。如果使用vmware安装linux虚拟机往往是大多童靴的方案。虽然可行但是往往挺麻烦的。 其实go编译器实现了跨平台编译。看朋友还在傻不拉几的搭建虚拟机。我轻松使用一条指令编译出来 直接发布到外网服务器。瞬间那种羡慕的眼神。大神就是大神。其实都是很简单的东西。平时累计查看指令还有通过搜索引擎学习需要的技能是现代化码农必备技能。作为一个行业老油条说来也是惭愧平时懒得写博文。最近看了精英必备工具-《费曼技巧》。所以在这里抛砖引玉下。 不多说直接撸代码 #windows命令行 #切换工作目录 GOPATH=E:/proj/ #windows编译linux GOOS=linux GOARCH=amd64 go build...阅读全文

博文 2020-01-05 13:32:43 数据小菜鸟

从月薪8K到月薪30K,五年“老程序员”的进化史

2019年国民老公王思聪都欠钱了,可见最近经济下滑,都不太好过。2019年眼看着就要过去了,2018年给2019年定的小目标有没有实现呢? 2018-2020 2019年做啥也不景气,作为一名程序员的我也能够深刻的感受到业内行情也不怎么样,我2015年毕业开始做iOS开发,2018年转行做了服务端,用nodeJS写过区块链,也用Go语言写过微服务,如果你想毕业从事IT或者想转行学IT,那么接下来从业五年的“老程序员”为你讲述如何实现薪资从刚毕业的8K到后来的30K iOS开发 (1) 八千——-1W5(iOS程序员)时期 刚毕业去了一家教育出版公司(卖练习册绘本之类)做iOS开发,那时候技术部门有10个人左右,iOS开发两个,开发一个播放公司花钱录制的一些视频的app,实话说没啥难度,然后另...阅读全文

博文 2019-12-26 08:32:47 简书的王布斯

小程序模板订阅消息群发推送神器源码开发外包解析

互联网IT外包15年,讲述外包那些事;让您外包项目少花钱,办好事!IT外包最大隐形成本-沟通成本:客户叙述大概需求,IT公司说一做一,最后开发项目细节大堆BUG,毫无用户体验感,最后项目一拖再拖,无限延期!究其原因,客户非IT行内人,对系统功能及流程了解不能面面俱到;大公司成熟团队有具体的项目产品经理,小团队或个人不会讲解用户体验,毕竟收的你钱,数额再哪里摆着;所以想省钱,还想把系统做到尽你满意,只能自己充当产品经理角色,辅助开发者完成项目!我们从事IT外包15个年头,数以千计的项目,我们会一一罗列每个项目系统的核心及细节功能,和根据客户成功运营过程中反馈真实需求,进行的细节功能更新和增加的功能;作为您IT外包此类项目时的一个参考,这样能让您IT外包提供效率、避免扯皮和延时,增加创业成功率!...阅读全文

golang笔记——包

1、包简述 GO本身没有项目的概念,只有包,包括可执行包和不可执行包,而不管什么包,都应该包含在 $GOPATH/src 目录下,GO命令和编译器会在 $GOPATH/src 目录下搜索相应的包。比如 import "logging" 则会在所有设置的 $GOPATH/src 下去寻找相应包,而不仅仅是当前项目中。 2、包声明 在每一个代码文件中,都需要使用 package 命令来声明包名,所以在GO语言中,代码文件属于哪个包与文件目录结构没有必然联系,但习惯上我们会设置成跟目录结构相同。带来的问题就是当想修改文件夹名的时候,会想去修改该文件夹中所有代码中的声明的包名。 注意,命令源码文件,即 main 函数所在的包,必须声明为 main 包。 3、包导入 通过 import 命令来导入包,...阅读全文

博文 2016-02-18 03:00:00 tianyajuanke

以太坊go-ethereum客户端docker安装(一)

最近一段时间忙于工作,就没来得及发表博客,但一直没有停止对区块链的研究。周末抽时间分享一下近期比较重大的收获之一——使用docker来搭建和使用以太坊的节点。本人已经顺利搭建出,开发环境,测试环境,Full node环境。后续会逐个以博客的形式分析出来,希望大家多多关注,共同探讨进步。 环境 第一次尝试是在云服务器的centos 6.5上面安装。由于docker要求centos必须6以上,而且kernel 版本必须2.6.32-431或更高。尝试将centos内核进行升级,但中间遇到一些问题,没有顺利解决,索性就将云服务器升级到centos 7.2版本。 如果有朋友基于centos6.5且暂时无法直接升级系统,可参考以下文章进行升级操作。 http://blog.csdn.net/taiya...阅读全文

博文 2017-01-06 10:00:02 wo541075754

新人求助!golang 怎么实现服务器被外网访问

我按照gopl上写了一个聊天服务器程序,想运行在阿里云服务器上,阿里云服务器能跑nginx,设置应该没问题 代码如下 ``` package main import( "fmt" "net" "log" "bufio" ) type client chan<- string var( entering = make(chan client) leave = make(chan client) messages = make(chan string) ) func main(){ listenner, err := net.Listen("tcp", "120.78.169.107:8000") if err...阅读全文

主题 2017-12-06 11:34:29 desikee

Apache pulsar/pulsar-client-go 部署安装

pulsar-client-go 部署安装 目前,pulsar-client-go采用 go mod 进行包管理,go mod要求您的工程项目需要在$GOPATH的外部,您可以这样,就在自己的$HOME目录下,执行: mkdir -p $HOME/github.com/apache cd $HOME/github.com/apache git clone git@github.com:apache/pulsar.git cd pulsar/pulsar-client-go go mod tidy 注意:在执行go mod tidy之前,确保您的终端能够访问外网,可以使用curl www.google.com进行测试,因为golang.org/x/sys这个package需要通过外网才能够访问...阅读全文

博文 2019-02-21 11:34:46 wolf4j

【TokenGazer评级】RChain:现金流问题暴露管理隐患,治理风险得到适当释放

TokenGazer观点:RChain当前市值估值区间在总市值200B前提下有95%的几率在22.5MM到79.2MM之间,TokenGazer项目指标为2分(满分5分,说明见文末),指标展望:上升趋势。RChain用Scala语言搭建核心平台,并在并发上有独特考虑,其DAG+Casper+RhoVM的技术架构随着项目进展将收到越来越多的关注。在现金流管理上暴露出严重的管理漏洞,董事长Greg Meredith未能对市场作出充足打算,董事会则未能对Greg的弱点起到足够的补充和制衡。目前主网上线前的资金缺口以及Mercury后续开发版本的资金筹措计划仍旧需要密切关注。Token供应缺乏规划的情况已经得到大幅度改善。1 估值、评分、变化预测1.1基本信息名称:RChain创立于:2017年3月...阅读全文

博文 2018-11-20 14:34:49 TokenGazer

从一个WaitGroup的例子看Go语言的Upvalue的传递

Go语言的闭包捕获的外部变量,我还是习惯以Lua的叫法,称之为Upvalue,毕竟Go借鉴了很多Lua的特性。 让我们首先看五个几乎一样的代码片段。 package main import ( "log" "sync" ) func main() { wg := sync.WaitGroup{} for i := 0; i < 5; i++ { wg.Add(1) go func(wg sync.WaitGroup, i int) { log.Printf("i:%d", i) wg.Done() }(wg, i) } wg.Wait() log.Println("exit") } 输出: go run wgtest1.go 2017/01/01 23:43:08 i:4 2017/01/0...阅读全文

博文 2017-01-01 17:00:01 LinkerLin