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

代理服务扩展

之前自己实现了一个代理服务,当时考虑的是只要支持SOCKS5就好了,因为我经常用CHROME,配合着SwitchySharp,体验还是很棒的。但是我现在有点讨厌CHROME,它现在太庞大了,占用资源太多了。而且我有锁定网页的习惯,一打开CHROME,就十几个甚至二十几个进程起来,让我很不爽。但是不得不说CHROME的安全设计还是非常棒的。然后我就试了下FireFox,额,我觉着它和IE差不多.然后就放弃了,然后看看了手头上的IE已经到11了,平时用起来感觉还是很不错的,所以我想支持IE的代理。 IE的代理机制比较囧,比如说它只支持SOCKS4,不支持SOCKS5,然后又分为HTTP代理,HTTPS代理,还有FTP代理。也没有像CHROME提供强大的代理插件机制。虽然IE提供了PAC机制,但是...阅读全文

博文 2014-10-07 09:20:19 concurrency

Go语言下载、安装、配置、使用

Go语言 Go语言(Golang,The Go Programming Language),是谷歌2009发布的第二款开源编程语言。2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用。 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。 谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Go语言官网: https://golang.org (需要VPN访问) 1. 下载 Go Go语言是跨平台,支持Windows、Linux、Ma...阅读全文

博文 2017-09-28 13:04:57 米扑

使用golang开发websocket的记录

使用beego框架进行整个社区的restful api的开发,查找资料后决定使用github.com/gorilla/websocket 作为websocket的包, 定义websocket的属性 var upgrader = websocket.Upgrader{ ReadBufferSize: 1024, WriteBufferSize: 1024, } 都是按照官方的例子来,期间也参考了beego的一个聊天室的实例。 ws, err := upgrader.Upgrade(this.Ctx.ResponseWriter, this.Ctx.Request, nil) defer ws.Close() 因为是使用beego框架,所以实例化websocket的时候,传输的参数是使用beeg...阅读全文

博文 2016-01-06 03:00:00 bingciwei

go mod 使用及技巧

[TOC] 首先 本文是建立在 go 1.12 及以上 常用go mod命令 go mod init 初始化当前文件夹, 创建go.mod文件 go mod edit 编辑go.mod文件 go mod graph 打印模块依赖图 go mod tidy 增加缺少的module,删除无用的module go mod vendor 将依赖复制到vendor下 go mod verify 校验依赖 go mod why 解释为什么需要依赖 go mod download 下载依赖的module到本地cache(默认为$GOPATH/pkg/mod目录) 依赖替换replace 在国内访问golang.org/x的各个包都需要翻墙,你可以在go.mod中使用replace替换成github上对应的...阅读全文

博文 2019-09-24 20:32:49 aside section ._1OhGeD

golang--gopher北京大会(2)

三、七牛CEO qlang: github qiniu/qlang microservice architecture: http://martinfowler.com/articles/microservices.html Service Governance Authorization Logging Change management Central configuration Scale in and scale out Overload Protection Service degradation Monitor performance and health Manage how and by whom services are used Topology discovery an...阅读全文

博文 2016-04-26 00:00:02 zzuse

干货满满的 Go Modules 和 goproxy.cn

大家好,我是一只普通的煎鱼,周四晚上很有幸邀请到 goproxy.cn 的作者 @盛傲飞(@aofei) 到 Go 夜读给我们进行第 61 期 《Go Modules、Go Module Proxy 和 goproxy.cn》的技术分享。 本次 @盛傲飞 的夜读分享,是对 Go Modules 的一次很好的解读,比较贴近工程实践,我必然希望把这块的知识更多的分享给大家,因此有了今天本篇文章,同时大家也可以多关注 Go 夜读,每周会通过 zoom 在线直播的方式分享 Go 相关的技术话题,希望对大家有所帮助。 前言 Go 1.11 推出的模块(Modules)为 Go 语言开发者打开了一扇新的大门,理想化的依赖管理解决方案使得 Go 语言朝着计算机编程史上的第一个依赖乌托邦(Deptopia)...阅读全文

golang Hook

简介 这篇文章主要是通过官方提供的 HTTP 追踪来学习使用 Hook 的编程思想。 在了解使用 Go 语言编写 Hook 之前,最好先掌握 Context 的用法, go 1.7 中 context 已经进入标准库 context,直接 import "context" 就可以使用。 在标准库 context.go 中, Context 定义为一个 interface{} 接口类型。 // A Context carries a deadline, a cancelation signal, and other values across // API boundaries. // // Context's methods may be called by multiple gorouti...阅读全文

博文 2017-09-22 13:05:12 juniway

关于go get安装git golang项目时报错的处理办法

使用go get安装github上的项目时一般来说,不可避免会出错。各种错误的处理办法: 必须条件: 1、安装git并配置环境变量。下载地址:http://git-scm.com/ 2、安装golang环境,并配置好环境变量。 其它错误: 1、提示 missing Mercurial command 需要下载安装Mercurial软件tortoisehg。地址:mercurial.selenic.com 下载不了?那得翻墙,不会翻墙的程序员不是一个合格的程序员,哈。 2、提示exec: “git”: executable file not found in %PATH% git没有安装正确。可能是环境变量没配置好。 3、SSL certificate problem 运行go get前先把认...阅读全文

博文 2015-06-17 20:03:48 LvanNeo

Go 爬虫软件 Pholcus

Pholcus Pholcus(幽灵蛛)是一款纯Go语言编写的支持分布式的高并发、重量级爬虫软件,定位于互联网数据采集,为具备一定Go或JS编程基础的人提供一个只需关注规则定制的功能强大的爬虫工具。 它支持单机、服务端、客户端三种运行模式,拥有Web、GUI、命令行三种操作界面;规则简单灵活、批量任务并发、输出方式丰富(mysql/mongodb/csv/excel等)、有大量Demo共享;另外它还支持横纵向两种抓取模式,支持模拟登录和任务暂停、取消等一系列高级功能。 ​ 官方QQ群:Go大数据 42731170 爬虫原理 框架特点 为具备一定Go或JS编程基础的用户提供只需关注规则定制、功能完备的重量级爬虫工具; 支持单机、服务端、客户端三种运行模式; GUI(Windows)、Web、C...阅读全文

博文 2016-11-22 03:00:01 沉淀岁月

Google Go 语言从入门到应用所需要的开源项目

Go 语言于 2009 年 11 月正式宣布推出,成为开放源代码项目,发展至今已经具有越来越广泛的影响力,今年更是在 TIOBE 编程语言排行榜中跻身 20 强。很多开发者也逐渐将目光投向这门语言,本文整理了部分比较好的学习和应用 Go 语言的开发项目,希望为没有接触过这门语言的开发者们提供一个学习和了解这门语言的途径。 关于 Go 语言: Go 是 Google 开发的一种编译型,并发型,并具有垃圾回收功能的编程语言。由于其构建简化了并发运行代码的工作,存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。Go语言是基于Inferno操作系统所开发的,并在Linux及Mac OS X平台上进行了实现,后追加 Windows 系统下的实现。 Go 语言起源 2007 年,并于 200...阅读全文

博文 2016-12-12 07:00:03 两味真火

goim的业务集成(分享会小结与QA)

goim 文章系列(共5篇): goim 架构与定制 从goim定制, 浅谈 golang 的 interface 解耦合与gRPC goim中的 bilibili/discovery (eureka)基本概念及应用 goim 的 data flow 数据流 goim的业务集成(分享会小结与QA) 有个 slack 频道, 不少朋友在交流 goim , 欢迎加入slack #goim [简述] goim.io 是 非常成功的 IM (Instance Message) 即时消息平台 , 本文汇总在 go夜读 组织的 goim 交流分享会后的小结 goim 交流分享会的视频, 第一次用视频会议, 一堆问题, 请包容一下 :( 视频地址在 youtube www.youtube.com/watc...阅读全文

博文 2019-06-03 23:34:22 tsingson

Swirl:Docker Swarm 集群管理的新选择

# SWIRL GitHub 地址:[https://github.com/cuigh/swirl](https://github.com/cuigh/swirl) [**Swirl**](https://github.com/cuigh/swirl) 是一个 Docker 管理工具,专注于 Swarm 集群。 ## 主要功能 * Swarm 各组件管理,包括服务、网络、任务等 * 镜像与容器管理 * Compose 管理与部署 * 服务状态监控(基于 Prometheus) * 服务自动伸缩 * 支持 LDAP 认证 * 基于 RBAC 完整的权限控制模型 * 支持横向扩展部署 * 多语言支持 * 更多功能... ## Snapshots ...阅读全文

性能测试工具boom

Boom 是 google 一女工程师使用 Go 语言开发的类似 apache ab 的性能测试工具。相比 ab,boom跨平台性更好,而且更容易安装。 ##安装## `go get github.com/rakyll/boom` ##使用## ``` Usage: boom [options...] Options: -n Number of requests to run. -c Number of requests to run concurrently. Total number of requests cannot be smaller than the concurency level. -q Rate...阅读全文

开源项目 2014-10-31 07:42:35 rakyll

goproxy.io for Go modules

前言:随着 go1.11 的发布,go 官方引入了 go module 来解决依赖管理问题,go module 被集成到原生的 go cmd 中,但是如果你的代码库在$GOPATH中,go1.11 的 module 功能是默认不会开启的,想要开启也非常简单, 通过一个环境变量即可开启go module:export GO111MODULE=on。关于 $GOPROXY当我们使用go的时候,go默认会直接从代码库中去下载所需的相关依赖,GOPROXY 这个环境变量可以让我们控制自己从哪里去下载源代码,如果 GOPROXY 没有设置,go 会直接从代码库下载相关依赖代码。如果你像下面这样设置了这个环境变量,那么你就会通过 goproxy.io 下载所有的源代码。export GOPROXY=ht...阅读全文

博文 2018-09-04 12:07:16 Go中国

运维监控系统之Open-Falcon

运维监控系统之Open-Falcon 一、Open-Falcon介绍 open-falcon是一款用golang和python写的监控系统,由小米启动这个项目。 1、监控系统,可以从运营级别(基本配置即可),以及应用级别(二次开发,通过端口进行日志上报),对服务器、操作系统、中间件、应用进行全面的监控,及报警,对我们的系统正常运行的作用非常重要。 2、基础监控 CPU、Load、内存、磁盘、IO、网络相关、内核参数、ss 统计输出、端口采集、核心服务的进程存活信息采集、关键业务进程资源消耗、NTP offset采集、DNS解析采集,这些指标,都是open-falcon的agent组件直接支持的。 Linux运维基础采集项:http://book.open-falcon.org/zh/faq/...阅读全文

博文 2018-10-25 14:34:46 格子_时光

Go语言的类IPython 交互式编程界面

Bret Victor 的 Inventing on principle 是我看到过的最令人激动和震撼的演示,没有之一。虽然这位前苹果公司的UI大牛早在2012年就作出的这次演示,但他的影响一直没有减弱,编写程序过程中的任何变化,应该直接的产生反馈,让程序猿能够看到结果,或者说创造者需要对自己的创造的东西有实时的反馈。 之前一直在使用Python,非常喜欢IPythonn Notebook,使用IPython Notenook来快速的完成一些原型非常的方便。现在由于项目的需要,要开始使用Go语言,我就在想,有没有可以使用Go的IPython环境呢?知乎上还有一个相关的帖子,可惜上面并没有给出有效的回答。 我做了些小功课,结果并不完美,这里分享给大家。 官方版 Go Playground 开始...阅读全文

博文 2016-10-29 09:00:04 naughty

华为云耀云服务器 + Cloudreve + OneDrive 快速搭建低成本公私兼备的网盘系统

Hello,大家好!今天终于蹲到了心心念念的华为云耀云服务器,那就简单写一篇博文吧,教大家如何使用 华为云耀云服务器 + Cloudreve + OneDrive 快速搭建低成本公私兼备的网盘系统。 一、服务器的配置 拿到服务器,首先我们将其重装成自己习惯使用的系统。这里我选择了Fedora 30,对于喜欢yum包管理又想拥有较新软件源的童鞋来说,是个很棒的选择。 image 然后,我们登陆服务器,对系统进行一些优化设置。这里推荐使用FinalShell软件连接服务器,跨平台、自带资源监视功能和文件管理功能,配上比较舒适的UI,个人感觉是非常好用的。当然Xshell、SecureCRT等也是不错的选择。 image 我对系统对配置主要有以下三点: 对软件包进行更新(dnf update); ...阅读全文

博文 2020-03-20 13:32:50 Aaron01

Go Modules 和 Go Proxy

Go Modules 简介 Go 在 1.11 版本引入了新的依赖管理模式 Go Modules,旨在解决一直广为诟病的依赖管理问题。 使用下列命令启用 Go Modules go env -w GO111MODULE=on # 不建议设为 auto 这是持久性设定,环境变量 GOENV 指示配置文件位置。 Go Modules 采用语义化版本,详见 https://semver.org/lang/zh-CN/ 。 Go Modules 的使用方法详见: https://github.com/golang/go/... https://juejin.im/post/5c8e50... https://objcoding.com/2018/09... 改造一个现有的项目 场景:项目来自 Git...阅读全文

博文 2019-09-20 23:32:41 Zack

GO服务端Syscall CPU开销过高

我的程序作为proxy转发来自于后端前端的数据,现在遇到一个问题,我用pprof工具分析得到 ![屏幕快照 2016-09-07 下午3.24.54.png](http://studygolang.qiniudn.com/160907/05362ee90ead225328071ef4efba816e.png) ![屏幕快照 2016-09-07 下午3.36.36.png](http://studygolang.qiniudn.com/160907/d0ea8db3315e243f34ebccf0f3cc0f69.png) syscall 占用了30%左右的CPU开销, 根据GV图主要集中在写的上面 想问问能从什么地方对它进行优化? 底层网络库用的是GO net...阅读全文

深入浅出Docker(六):像谷歌一样部署你的应用

【编者按】Docker是PaaS供应商dotCloud开源的一个基于LXC 的高级容器引擎,源代码托管在 GitHub 上, 基于Go语言开发并遵从Apache 2.0协议开源。Docker提供了一种在安全、可重复的环境中自动部署软件的方式,它的出现拉开了基于云计算平台发布产品方式的变革序幕。为了更好的促进Docker在国内的发展以及传播,我们决定开设《深入浅出Docker》专栏,邀请Docker相关的布道师、开发人员、技术专家来讲述Docker的各方面内容,让读者对Docker有更深入的了解,并且能够积极投入到新技术的讨论和实践中。另外,欢迎加入InfoQ Docker技术交流群交流Docker的最佳实践,QQ群号:124378115。 1.概述 谷歌发起的开源项目从来都是广受技术圈的关注...阅读全文

博文 2015-03-29 19:53:02 肖德时

go库中自带的反向代理功能和内网代理

先看反向代理库 type ReverseProxy struct { // Director must be a function which modifies // the request into a new request to be sent // using Transport. Its response is then copied // back to the original client unmodified. Director func(*http.Request) // The transport used to perform proxy requests. // If nil, http.DefaultTransport is used. Transport htt...阅读全文

博文 2016-10-25 22:00:00 idwtwt

Golang优秀开源项目汇总(持续更新。。。)

Golang优秀开源项目汇总(持续更新。。。) 我把这个汇总放在github上了, 后面更新也会在github上更新。 https://github.com/hackstoic/golang-open-source-projects 。 欢迎fork, star , watch, 提issue。 资料参考来源:http://studygolang.com/projects 监控系统 序号 名称 项目地址 简介 1 OpenFalcon http://github.com/open-falcon/of-release OpenFalcon是一款小米监控系统。功能:*数据采集免配置:agent自发现、支持Plugin、主动推送模式; *容量水平扩展:生产环境每秒50万次数据收集、告警、存储、绘图...阅读全文

博文 2016-09-08 03:00:08 hackstoic

1 行 Go 代码实现反向代理

暂且放下你的编程语言来瞻仰下我所见过的最棒的标准库。 ![This is all the code you actually require…](https://raw.githubusercontent.com/studygolang/gctt-images/master/reverse-proxy/1_y3GxXdKfZlqa95bl19Rytg.png) 为项目选择编程语言和挑选你最爱的球队不一样。应该从实用主义出发,根据特定的工作选择合适的工具。 在这篇文章中我会告诉你从何时开始并且为什么我认为 Go 语言如此闪耀,具体来说是它的标准库对于基本的网络编程来说显得非常稳固。更具体一点,我们将要编写一个反向代理程序。 > **Go 为此提供了很多,但真正支撑起它的在于这些低级的网络管道任...阅读全文

博文 2018-08-15 20:53:45 snowInPluto

redigo设置超时时间

如果你不传入timeout的值,那么默认0值的话,这两个set deadline的逻辑就跳过了。。。如果不设置read/write timeout 会导致什么问题呢?假如网络有波动,执行一个redis 命令的时候,一直没收到服务器的响应,会导致这次请求一直没有返回,晾在那。直到redis服务器设置的超时时间到了,关闭连接,然后就会读到一个EOF的错误。单点redis的情况,如果不设置MaxActive,redispool的连接数是没有上限的,问题就不会暴露出来,这对我们的服务来说,影响也不大,就是在错误日志中,会多几条redis相关的EOF日志,但是这样真的没问题么?当然有问题,如果是从redis读消息,没有设置read timeout,一直读不到,这个协程就卡在那,迟迟不给响应,对用户来说...阅读全文

博文 2018-10-19 18:34:42 Michael_001

我们说Golang牛逼都在说些什么?

先说好,我并不认为go是世界上最好的语言!但是我觉得至今用着最爽觉得最牛逼的编译型语言(逃。。。) 那么说它牛逼,我们都在说些什么呢? 首先,说它牛逼并不是说已经达到了至今各方面最好甚至达到无可超越的境界,说实话我不认为任何一门语言真的达到这种程度。你要真的非要分出个高低,谷歌曾发布了一个 研究报告 ( http://link.zhihu.com/?target=https%3A//days2011.scala-lang.org/sites/days2011/files/ws3-1-Hundt.pdf ) ,仔细比较了C++、Java、Scala和Go语言的性能。毫无疑问C++是四种语言中运行速度最快的,但是该报告同时也指出,优化代码相对困难,这需要相当的努力、熟练的水准,不是平均水平的程序...阅读全文

博文 2017-06-23 06:02:58 好奇还思猫

Go语言开发环境配置(VSCode)

安装go 略 安装git 略 VS Code配置 1.安装go扩展 在vscode扩展中搜“go”,选择microsoft官方的ms-vscode.go 2.安装相关工具包 通过VSCode安装 操作很简单,但需要科学上网(见下面第4条) 1)Ctrl + Shift + P 2)输入Go: install/update tools 3)All Select,确定 4)部分工具需要科学上网。注意为VSCode设置[用户设置]http代理: 此处以SSR为例,请先安装并完成SSR客户端配置 4.1) windows下先启动SSR客户端,再对VSCode设置: "http.proxy": "127.0.0.1:1080", 4.2) linux下需要使用privoxy一类的工具,安装配置好pri...阅读全文

博文 2018-07-26 11:34:50 jingkanghou

闲谈Kubernetes 的主要特性和经验分享

主要介绍 Kubernetes 的主要特性和一些经验。先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络、 资源管理、存储、服务发现、负载均衡、高可用、rolling upgrade、安全、监控等方面向大家简单介绍Kubernetes的这些主要特性。 我们先从整体上看一下Kubernetes的一些理念和基本架构, 然后从网络、 资源管理、存储、服务发现、负载均衡、高可用、rolling upgrade、安全、监控等方面向大家简单介绍Kubernetes的这些主要特性。 当然也会包括一些需要注意的问题。主要目的是帮助大家快速理解 Kubernetes的主要功能,今后在研究和使用这个具的时候有所参考和帮助。 ##1.Kubernetes的一些理念: 1...阅读全文

k8s与监控--prometheus的远端存储

prometheus的远端存储 前言 prometheus在容器云的领域实力毋庸置疑,越来越多的云原生组件直接提供prometheus的metrics接口,无需额外的exporter。所以采用prometheus作为整个集群的监控方案是合适的。但是metrics的存储这块,prometheus提供了本地存储,即tsdb时序数据库。本地存储的优势就是运维简单,启动prometheus只需一个命令,下面两个启动参数指定了数据路径和保存时间。 storage.tsdb.path: tsdb数据库路径,默认 data/ storage.tsdb.retention: 数据保留时间,默认15天 缺点就是无法大量的metrics持久化。当然prometheus2.0以后压缩数据能力得到了很大的提升。为了...阅读全文

博文 2018-07-09 17:34:52 iyacontrol

Mac 下用 go 开发Android应用环境设置

需要的工具 设置代理 请参考:http://www.cnblogs.com/ghj1976/p/5087049.html Mac 下命令行设置代理: export http_proxy=http://127.0.0.1:8787 git config --global http.proxy http://127.0.0.1:8787 git config --global https.proxy https://127.0.0.1:8787 下载 gomoblie 工具 go get -u golang.org/x/mobile/cmd/gomobile gomoblie init 安装 Android SDK,并确保adb在PATH中。 我直接下载的的 Android Studio, 一步...阅读全文

博文 2016-02-01 17:00:00 ghj1976

Codis 的设计与实现 Part 1

最近开源了 Codis,在 Github 上的反响挺不错的,3天已经收集到了 1000 多 stars, 让我比较吃惊。 也从侧面说明了确实分布式缓存是大家都会遇到的问题。于是我打算在本篇和接下来的几篇 Blog 详细说明一下 Codis 的设计和一些背后的考虑,以及对于分布式存储(尤其是缓存)系统的一些思考。 Why proxy? Codis 的架构采用了 Proxy-based 的设计,没有走官方 Cluster 的路,官方的 Cluster 实现是 P2P 的模型,依靠 Gossip 协议进行消息同步和将数据分若干个 Slot 作为管理的单位,客户端需要更改。这个模型的好处是: 真正的无中心节点 对于客户端来说请求的性能不会损失太多 但是缺点同样明显: 状态很难明确,你很难清楚的知道集...阅读全文

博文 2015-05-19 10:04:04 c4pt0r

nginx反向代理下,golang程序获取用户真实IP

nginx反向代理下,golang程序获取用户真实IP 在生产环境中我主要使用了beego和gin,下面只介绍这两个框架的情况。 Nginx的配置: location /api { proxy_set_header Host $http_host; proxy_set_header X-Forward-For $remote_addr; proxy_set_header X-real-ip $remote_addr; add_header Access-Control-Allow-Origin *; add_header Access-Control-Allow-Methods 'GET, POST, OPTIONS'; add_header Access-Control-Allow-Hea...阅读全文

博文 2018-11-03 20:34:39 qishuai

go语言实现的http和https抓包工具

[gomitmproxy](https://github.com/sheepbao/gomitmproxy)是想用golang语言实现的[mitmproxy](https://mitmproxy.org/),主要实现http代理,目前实现了http代理和https抓包功能,差距甚远,加油。 ## 可以用来干嘛? * http代理 * http和https抓包 * 科学上网 ## 安装使用 ```bash git clone https://github.com/sheepbao/gomitmproxy.git cd gomitmproxy go build ``` ## 例子 * http代理 ```bas...阅读全文

go语言入门

Go语言最主要的特性: 自动垃圾回收 更丰富的内置类型 函数多返回值 错误处理 匿名函数和闭包 类型和接口 并发编程 反射 语言交互性1.2.4 错误处理Go语言引入了3个关键字用于标准的错误处理流程,这3个关键字分别为defer、panic和recover。1:编译环境准备 在Go 1发布之前,开发者要想使用Go,只能自行下载代码并进行编译,而现在可以直接下 载对应的安装包进行安装,安装包的下载地址为http://code.google.com/p/go/downloads/list。 在*nix环境中,Go默认会被安装到/usr/local/go目录中。安装包在安装完成后会自动添加执行 文件目录到系统路径中。 Ubuntu安装Go: sudo add-apt-repos...阅读全文

博文 2014-10-04 19:26:46 jingzhishen

Go1.10 支持 HTTPS 代理

Go1.9 出来后 6 个多月的时间,Go1.10 就被[发布](https://blog.golang.org/go1.10)。新版本带来大大小小的变化([发行说明](https://golang.org/doc/go1.10)),但是我想谈谈有关 `net/http` 包的改变。1.10 版本支持在 HTTPS([commit](https://github.com/hyangah/go/commit/ab0372d91c17ca97a8258670beadadc6601d0da2)) 上的代理,而在原来它只能通过使用普通的(未加密)HTTP 来和代理进行沟通。接下来让我们来看看它是否真的可以工作。 ## Server 为了验证这一改变,首先请用 golang 启动一个简单的 HTTP(...阅读全文

关于Go语言手动管理内存的见解

Go 语言是自带GC的, 相对C语言等的手动内存管理省事很多, 弊端便是会消耗更多的内存, 以及在GC时导致整个程序的停顿. 在某些特殊场合, 如果能够可选地手动进行内存管理, 效果会好不少. Go 目前的 GC 实现比较简单(mark-sweep算法), 进程的内存使用量取决于两次GC操作直接的内存申请量(不能重复使用), 而且通常GC发生在函数调用的深处, 大量对象无法立即释放. 另外, 目前Go对内存的使用是贪婪的, 一旦向系统申请了就不再释放, 进一步增大了内存消耗(但不是泄露). 整体看来, 对某些有大量临时内存的应用, 内存消耗量可能会是同样功能的C程序10倍, 甚至更多. Beans 的 Proxy 是用 Go 实现的, 其中一个部署图片和歌曲的实例也面临了这个问题, 运行一段...阅读全文

博文 2015-08-22 19:00:00 fyxichen

怎样从头制作一个实时 pokemon go 地图?

Posted 3 months ago by Di Chen “Go catch em all! ” 本文作者Di Chen,原博客链接 How to create a pokemon map? 前言 在一个月前,Pokemon Go 成了新一轮现象级手游。基于 LBS (Location Based Service) 的设计给社交带来了更多可能。 从最早玩游戏的时候,我就不甘于受限于游戏的世界,探索各种 “作弊” 的方式。既然是基于位置的游戏,那么制作一个 “地图” 也成了顺其自然的想法。 这篇文章就记录了我从反向工程解构 Pokemon Go 架构,到建立一个实时 Pokemon 地图的过程。 成品: mypokemon.io 探索 对网络安全有一些了解的同学大概都知道,要 hack 某...阅读全文

博文 2016-11-16 05:00:01 u010963246

熊猫TV招聘gopher

应聘邮箱: shenguanpu@panda.tv 应聘邮件标题为:"应聘XXX工程师-姓名"并随信附上: 你常上的3~5个网站(如方便请注明你的ID)、常用的开发工具; 你阅读过并推荐的3~5本技术类书籍; 你的简历。 工作地点:北京 望京soho 和王思聪一起创业 我们是谁? 从产品上来讲,熊猫现在还非常的年轻。一个正常视频网站的直播功能,再加上最精炼的用户交互,便把熊猫TV呈献给了各种迫不及待地用户们。 从技术上来讲,熊猫是有些积累的。技术团队均来自于一线互联网公司,大部分成员都有丰富的互联网和泛娱乐领域的业务产品经验,才能支撑熊猫迅速上线让大家High。 从大面上来讲,我们直接跳过小型,从中型系统起跳,目前已经到...阅读全文

phuslu-goproxy

a go proxy ## 讨论区 * [https://github.com/phuslu/goproxy/issues](https://github.com/phuslu/goproxy/issues) ## 文档 * 简易教程 [https://github.com/phuslu/goproxy/blob/wiki/SimpleGuide.md](https://github.com/phuslu/goproxy/blob/wiki/SimpleGuide.md) * 图文教程 [https://github.com/phuslu/goproxy/blob/wiki/InstallGuide.md](https://github.com/phuslu/g...阅读全文

开源项目 2015-10-25 16:00:00 phuslu

试玩 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

自动化部署工具Syncd

syncd是一款开源的代码部署工具,它具有简单、高效、易用等特点,可以提高团队的工作效率. **目前只支持类Linux系统.** ## 目录 - [特性](#特性) - [原理](#原理) - [安装](#安装) - [使用](#使用) - [帮助](#帮助) - [授权](#授权) ## 特性 - Go语言开发,编译简单、运行高效 - Web界面访问,交互友好 - 灵活的角色权限配置 - 支持Git仓库 - 分支、tag上线 - 部署hook支持 - 完善的上线工作流 - 邮件通知机制 ## 原理 阅读全文

史上最简单的部署HTTPS&QUIC教程

# 前言 - emmm~,今天是9102年儿童节,都9102年了,你的网站还是万年HTTP吗,Chrome已经看你不爽很久了,得益于Let's Encrypt,现在申请TLS证书变得异常简单。 ![mark](https://cdn.sguan.top/markdown/20190601/4FHJ3R47NG9d.png?imageslim) - 本文将分享我是如何开启整站HTTPS和QUIC,网上关于QUIC的介绍文章挺多的,既然你在看这篇文章,相信是对QUIC有一定了解的,本文不在做重复介绍相关概念。 - 网上的很多文章教程略微复杂,本文将带领你从0开始部署,大学生都学得会。 - 本文使用的浏览器是Chrome73,协议是QUIC43。最终效果如下。 ![mark](https://cd...阅读全文

博文 2019-06-01 14:15:36 imqksl

IntelliJ IDEA 搭建 Go 开发环境

本文介绍 Windows7 x64 基于 IntelliJ IDEA 搭建 Go 语言开发环境。主要是一些操作过程截图以及简单文字描述,如有不清楚的地方​,欢迎指正。所有软件使用当前(2016.12.02)最新版本,旧版或新版可能存在细微差异。 一、网络代理软件 cntlm从 这里 下载最新 0.92.3 版本 cntlm。cntlm 作用是方便在 Windows 下执行 go get 。参照以下注意事项,并保留监听端口为默认的 3128,其它具体安装及配置参考《cntlm内网代理的代理》。注意事项:1) 确保 cntlm.ini 有以下这些配置项Username <工号>Domain chinaAuth NTLMPassNT <按实际配置>PassLM <按实际配置>Proxy XXXX:...阅读全文

博文 2017-05-20 14:23:46 custa

一键解决 go get golang.org/x 包失败

问题描述 当我们使用 go get、go install、go mod 等命令时,会自动下载相应的包或依赖包。但由于众所周知的原因,类似于 golang.org/x/... 的包会出现下载失败的情况。如下所示: $ go get -u golang.org/x/sys go get golang.org/x/sys: unrecognized import path "golang.org/x/sys" (https fetch: Get https://golang.org/x/sys?go-get=1: dial tcp 216.239.37.1:443: i/o timeout) 解决方式 那我们该如何解决问题呢?毕竟还要制造 bug 的嘛~ 手动下载 我们常见的 golang.org...阅读全文

博文 2019-03-01 12:34:42 舆图易稿

Golang(三)命令行工具集

Golang具有一套可以构建和处理go源代码的程序,作为命令行工具,这些程序也并非直接运行,而是由go程序调用。运行这些程序最常见的方式是作为go程序的子命令,例如 go fmt,该命令的运行方式是由go程序使用适合于包级处理的参数调用底层二进制文件,对go源代码的完整包进行操作;这些程序也可以作为独立的二进制文件运行,使用go tool子命令(如go tool cgo)使用未修改的参数;某些命令(如pprof)只能通过go tool子命令访问。go命令行作为日常开发的工具,能大大方便编译、调试、诊断程序性能等工作,本文是对常见go命令行工具使用的汇总 go命令 go命令管理go源代码并运行此处列出的其他命令。在终端输入go,会打印出如下信息 $ go Go is a tool for ma...阅读全文

博文 2019-10-06 18:32:51 aside section ._1OhGeD

Java后端四面字节跳动,唬住面试官你也能拿30K+;附面经+面试题

面试前 头条每次面试前会有 HR 约时间,并提前发一个 zoom 地址过来,三场技术面与一场 HR 面全都是视频面试。不得不说视频面试体验比电话面试好很多(尤其是对我这种很关注面试官反应的),假如有 HR 同学看到这篇文章,推荐考虑一下用视频面试取代电话面试,效率会更高。 头条的三场技术面风格都很类似: 问项目,抓出一些你擅长的领域或场景 问系统设计题,每题都会不断深化需求让你应变和权衡 问一道算法题(不难不偏),先看思路,再要求写一下伪代码看边界条件能不能一次过 这个面试流程我自己也一直在用,尤其是系统设计加上不断的需求变更,能比较全面地考察后端的基本功和工程思维。因此头条的面试套路很对我胃口,甚至好多类似的问题我自己也都问过候选人。 一面 介绍一下自己, 为什么选择出来看看机会 聊项目,...阅读全文

Go资讯基于go+vue实现的golang每日新闻数据浏览与检索平台

## 介绍 gonews是基于`go+vue`实现的golang每日新闻浏览与检索平台 - 项目地址:[Github](https://github.com/mikemintang/gonews) - 线上Demo:[GoNews](http://gonews.cc) - 数据来源:[GoCN每日新闻](https://github.com/gocn/news) ## 项目截图 ![gonews](https://user-gold-cdn.xitu.io/2018/1/9/160d9ec9df1a6790?w=1652&h=1618&f=jpeg&s=196563) ## 部署 - 获取新闻数据 ``` git clone https:/...阅读全文

开源项目 2018-01-10 11:08:17 mikemintang

A fast TCP security proxyHOZ

## HTTP & SOCKS5 fast security proxy Currently implemented HTTP,SOCKS5 protocol ### Transport Protocol The package [head, body], head is 4 bytes containing the current encrypted packet length, and the body is the encrypted bytes. After the read is completed, the decryption is performed. #### implement the interfaces for your Protocol ``...阅读全文

开源项目 2019-09-18 09:26:39

最佳日志实践(v2.0)

----- 0. 缘起 ----- 大约在三年前,我曾经写过一篇 最佳日志实践 ( http://link.zhihu.com/?target=http%3A//blog.jobbole.com/56574/ ) ,还被码农周刊选为那年的 最受欢迎技术干货 ( http://link.zhihu.com/?target=http%3A//oiolong.github.io/linux/2015/01/04/manong-2014-collection.html ) 之一。当时我任职于网易杭州研究院的存储平台组,主要做网易对象存储(NOS)的开发和部分运维工作。由于网易云音乐,易信等几个重要产品陆续上线,业务压力剧增,我们的系统在前前后后大约半年的时间里,出现了大大小小各种事故。通过不断总结事...阅读全文

博文 2017-07-11 02:07:36 王健

Linux下使用goagent

Linux下使用goagent 分类: linux 2013-04-18 11:16 21614人阅读 评论(4) 收藏 举报 说到穿越长城的软件有很多,不过最近最有名而且免费的就非goagent莫属了,goagent是利用谷歌的GAE服务来翻越长城的,具有速度快,稳定的特点,正好今天我的ssh代理过期,于是准备以后使用goagent来FQ。 1:申请appengine.google.com的个人apppid 首先登录appengine.google.com,申请个人apppid,它将在Goagent中用到。appid只要唯一就可以,必须是英文字符和数字。 二、安装和本地部署 安装goagent服务端 既然已经成功的申请到了apppid,那么接下来的工作就是安装goagent的服务端了。 1...阅读全文