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

【公告】寻找社区日常运营、功能开发、维护 自愿者

本站 2013 年上线以来,得到国内广大 gopher 们的支持,也让我有动力一直开发、维护着。 随着 go 越来越流行,学习 go 的人也越来越多,本社区用户量也越来越大,而我个人的精力有限。为了给社区用户提供更好的服务,希望有自愿者加入社区,一起维护、运营本站。招募的自愿者包括: 1. 日常网站运营 —— 比如晨读文章推荐、周推荐等;**特别欢迎在校大学生;** 2. 功能开发、维护 —— 参与开发本站功能;板块维护、管理者等; 3. 活动组织、宣传者 —— 组织社区用户参与互动,和外界联系拉赞助等; 4. 翻译 —— Go 相关教程、文章、资讯等的翻译; 其他你想到的,也可以和我沟通~ 根据情况,会提供奖励~ 有兴趣的可以回复本贴留下联系方式或加我 qq或微信...阅读全文

Golang interface接口全面理解(一)

There are three kinds of time: the future is late, and now it is flying like an arrow. The past will never stand still. 时间的步伐有三种:未来姗姗来迟,现在像箭一般飞逝,过去永远静立不动。 什么是interface 在面向对象编程中,可以这么说:“接口定义了对象的行为”, 那么具体的实现行为就取决于对象了。 在Go中,接口是一组方法签名。当一个类型为接口中的所有方法提供定义时,它被称为实现该接口。它与oop非常相似。接口指定类型应具有的方法,类型决定如何实现这些方法。 创建和实现interface 在Golang中只要实现了接口定义的方法,就是(JAVA implement...阅读全文

博文 2018-03-12 15:33:08 90design

百度网盘不限速客户端pan-light

pan-light 是一款不限速的百度网盘客户端, 基于 golang + Qt5 开发. 本项意义在于探究 golang 在图形界面客户端; web 服务端; 事件调度, websocket, p2p 长连接 等方面的应用和实践. 欢迎广大 golang 开发者参与本项目. ## 特性 * 利用golang轻量级协程, 高并发分段下载, 可通过调节并发数达到最佳下载速度; 下载进度状态数据持久化到磁盘, 实现软件重启后可断点续传; * 客户端本地实现简单代理, 突破百度防盗链, 将网盘视频喂给qt视频播放组件, 从而在线播放视频 * 在线体验: 用户无需下载, 通过网页即可在线体验本软件部分功能; 该系统可应用于其他客户端产品的在线体验; * 在线体验原理: 闲置的个人...阅读全文

开源项目 2019-07-08 14:30:01 peterq

go和node.js的对比

go: Golang的诞生有着很强的目的性,所以根基显得非常的沉稳,语言未来针对高性能,高并发的优化也更得心应手。更主要Golang可以切实的解决实际问题,并在内存与CPU使用上大幅优于node。为此,针对有大量请求的服务端,Golang是个不错的选择。 从大型工程的角度来说,go 是完爆 Node 的。性能,内存开销,静态类型,对异步的处理,异常的处理,可调试性,系统稳定度,工具链的成熟度,等等,都是 go 占优。 Go的目标是希望提升现有编程语言对程序库等依赖性(dependency)的管理,这些软件元素会被应用程序反复调用。由于存在并行编程模式,因此这一语言也被设计用来解决多处理器的任务。使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Node.js No...阅读全文

博文 2016-05-24 18:00:00 qizhiqq

Archlinux下Golang环境配置

一、准备 1)golang 安装:# pacman -S go/$ sudo pacman -S go 2)liteide 安装:# pacman -S liteide/sudo pacman -S liteide 二、配置环境 1)golang Archlinux中配置环境最好放到自启动中。 #nano /etc/profile.d/go.sh #set go environment export GOPATH=/home/用户名/Workspaces/Go #根据自己的Go工作目录替换 export GOBIN=$GOPATH/bin export PATH=$GOBIN:$PATH 以上代码在Archlinux(Linux localhost 4.2.2-1-ARCH #1 SMP P...阅读全文

博文 2015-10-05 09:00:02 大糊涂

golang executable file not found in $PATH

最近使用docker,遇见executable file not found in $PATH,深究一下源码,追溯到golang内置包,看代码 //寻找可执行的文件,取文件的mode(二进制形式) func findExecutable(file string) error { d, err := os.Stat(file) if err != nil { return err } //看属性 if m := d.Mode(); !m.IsDir() && m&0111 != 0 { return nil } return os.ErrPermission } 来看看linux手册上面的mode数值 S_IFMT 0170000 文件类型的位遮罩 S_IFSOCK 0140000 socke...阅读全文

博文 2015-09-17 12:00:06 webyh

Golang 下的微服务 - 第 5 部分 - Go Micro 的事件代理

在本系列的[前一部分中](https://studygolang.com/articles/12485),我们谈到了用户认证和 JWT。在这一部分中,我们将快速浏览 go-micro 的代理功能。 正如前面的文章提到的,go-micro 是一个可插拔的框架,它连接了许多不同的常用技术。如果你看看[插件仓库](https://github.com/micro/go-plugins),你会看到它支持多少插件。 在我们的例子中,我们将使用 NATS 代理插件。 ## 基于事件驱动的架构 [事件驱动的架构](https://en.wikipedia.org/wiki/Event-driven_architecture)是一个非常简单的概念。我们通常认为好的架构是要解耦的,一个服务不应该与其他服务耦合...阅读全文

博文 2018-03-04 10:38:39 shniu

Go语言实战 - 创业进行时之用户注册

用户注册、登录和注销是任何一个网站都必然会有的功能,可以说,这是重新造轮子做多的领域,每个做网站的人应该都做过很多遍。见微知著,从这么一个小功能其实就可以看到所使用的web框架中的大部分东西。 今天就让我们用这个基本模块来看看revel吧。 先整理一下我们选用的技术框架和组件: web框架:revel 数据库:mongodb 数据库driver:mgo 工欲善其事,必先利其器,这里着重推荐一个mongodb的GUI客户端 - mongovue,可以说,如果没有这个工具,在开发的过程中我们会痛苦许多许多。 这里假设你已经有了对Go语言最基本的知识,已经配置好GOROOT和GOPATH。 首先,在GOPATH下面运行下面的命令安装revel,并且把revel的工具编译出来。 go get git...阅读全文

博文 2014-11-08 14:00:00 u011274920

"烦人的gopath":package github.com/..: cannot download, $GOPATH not set. For more details see: go help gopath

from: https://groups.google.com/forum/#!topic/golang-nuts/7HvbTsxa5tA GOLANG ON MAC: 我们从github上安装第三包时经常看到"permission denied"之类的权限错误,所以有时习惯加上sudo避免这个问题,但这时又会提示GOPATH没有设置的错误,明明GOPATH已经设置好了,why?其实这里有个误区,当我们使用sudo时使用的是root用户的环境变量,并没有给root用户设置gopath,所以提示这个错误,这时我们可以使用-E参数避免这个问题。 但是,最好不要习惯使用sudo,我们可以改变GO所在目录拥有者或权限来避免使用sudo,例如: ...阅读全文

使用 emacs 结合 xcscope 阅读 go 代码

#-TITLE: xcscope 支持 go 语言 Table of Contents 1 下载源码,编译 ./configure make sudo make install ,会把 cscope 生成到 usr/local/bin/ 下面 2 为 mac 添加补丁 2.1 patch -p0 < cscopeosx.patch 2.2 cscopeosx.patch 如下 3 把cscope源码中的contrib/xcscope/xcscope.el 拷贝到 emacs 的 load-path 中,并在 emacs 中添加如下代码 4 为源码生成 cscope 文件 4.1 find . -name "*.go" > cscope.file...阅读全文

小米监控系统 OpenFalcon

OpenFalcon是一款小米监控系统。 功能: * **数据采集免配置**:agent自发现、支持Plugin、主动推送模式 * **容量水平扩展**:生产环境每秒50万次数据收集、告警、存储、绘图,可持续水平扩展。 * **告警策略自发现**:Web界面、支持策略模板、模板继承和覆盖、多种告警方式、支持回调动作。 * **告警设置人性化**:支持最大告警次数、告警级别设置、告警恢复通知、告警暂停、不同时段不同阈值、支持维护周期,支持告警合并。 * **历史数据高效查询**:秒级返回上百个指标一年的历史数据。 * **Dashboard人性化**:多维度的数据展示,用户自定义Dashboard等功能。 * **架构设计高可用**:整个系统无核心单点,易运维,易部署。 ...阅读全文

Golang os/user 用户模块

os/user 用户模块 导入语法: import "os/user" 模块概述 os/user 模块的主要作用是通过用户名或者 id 从而获取其相关属性。 User 结构体 type User struct { Uid string Gid string Username string Name string HomeDir string } User 代表一个用户账户: Uid :用户的 ID Gid :用户所属组的 ID,如果属于多个组,那么此 ID 为主组的 ID Username :用户名 Name :属组名称,如果属于多个组,那么此名称为主组的名称 HomeDir :用户的宿主目录 User 结构体的主要方法 Current func Current() (*User, erro...阅读全文

博文 2016-03-04 08:00:01 mydevops

刚来注册就发现一个bug

在注册用户名已经存在时,提交出现这样一个神奇的bug:填写一个已经存在的用户名,然后提交,用firebug看到:POST数据给:http://studygolang.com/account/register.json ,这个地址返回的是: {"errno": 1, "error":""} 返回的JSON格式里 error是空字符,应该提示:“用户名已存在!”, 希望尽快修正...阅读全文

近十年来最好的语言是什么?-来Gopher China大会找答案

2015年2月,眼看着Gopher 大会先后在国外多地举行,而使用 Golang 最多的国家居然还在静悄悄地各自开发系统,我们意识到Gopher China的正式启动势在必行了。经过这两个月的筹备,Gopher China就要在4月25-26日跟各位开发者们正式见面了。不负众望,本次大会门票提前一个多月就售罄了。作为第一届中国的Gopher大会,到底是什么吸引开发者们这么积极参与呢?今天小编就带大家提前一睹这次会议的亮点。 如果你还不知道Go语言是什么? “PHP是最好的语言。”过去,PHP因为其简单好学,性能和安全性也基本够用被大家喜欢。但是随着互联网时代网民的大大增加,开发者需要一门语言可以支撑更高的性能。Go适时地出现,良好的语言设计使其简单好学,并发性与执行性能都很好,并且部署简单。...阅读全文

博文 2015-04-24 18:00:00 七牛云

Kubernetes学习系列

这段时间项目组内想要引入Kubernetes,作为第二代容器调度引擎,故最近在系统的学习Kubernetes。整理了一些学习笔记,心得,放到博客中,一来记录自己的学习经过,二来看能否帮到有需要的同学。详情见下: 1、Kubernetes核心概念总结——介绍基础架构、Pod、RC、Job、Service、Deployment等。 2、Centos7部署Kubernetes集群——基于Centos7,yum安装K8s,并配置集群,最后部署了容器覆盖网络——Flannel。 3、基于kubernetes集群部署DashBoard——基于上一篇部署的集群,搭建了DashBoard,其中介绍了一些众所周知的坑,比如google镜像国内无法下载。 4、为Kubernetes集群部署本地镜像仓库——针对上...阅读全文

博文 2018-03-14 10:28:05 xiaomin0322

解读2016之Golang篇:极速提升,逐步超越

Go语言已经7岁了!今年8月,Go 1.7如期发布。撰写本稿时,Go 1.8的测试版也出来了。我们正在热切盼望着明年2月的Go 1.8正式版。 如果你关注TIOBE的编程语言排行榜就会发现,截止到2016年11月,Go语言从原先的第50多位经过多次上窜已经跃到了第13位,跻入绝对主流的编程语言的行列!这份排行榜每月都会更新,并基于互联网上的程序员老鸟、教学课程和相关厂商的数量进行排名。在国内,从我这几年运营Go语言北京用户组的经历来看,可以明显地感觉到Go语言的在国内的大热。N多初创互联网企业都选用Go语言作为他们的基础技术栈。我还发现,已经有在大数据、机器人等尖端科技领域耕耘的国内公司开始使用Go语言。这门语言现在已经是无孔不入了。 1. 回顾 遥想去年的1.5版本,Go运行时系统和标准库...阅读全文

规则引擎研究(一)——Rete算法(1)

RETE算法介绍 一、 rete概述 Rete算法是一种前向规则快速匹配算法,其匹配速度与规则数目无关。Rete是拉丁文,对应英文是net,也就是网络。Rete算法通过形成一个rete网络进行模式匹配,利用基于规则的系统的两个特征,即时间冗余性(Temporal redundancy)和结构相似性(structural similarity),提高系统模式匹配效率。 二、 相关概念 2.1 事实(fact): 事实:对象之间及对象属性之间的多元关系。为简单起见,事实用一个三元组来表示:(identifier ^attribute value),例如如下事实: w1:(B1 ^ on B2) w6:(B2 ^color blue) w2:(B1 ^ on B3) w7:(B3 ^left-of...阅读全文

博文 2017-11-29 01:46:53 小爽的老公

golang Md5+salt

写网络编程时,需要保存用户的用户名和密码,防止被盗用或者误用。目前计较安全的做法是:Md5+salt。 md5简单讲就是单向不可逆散列。如果直接对密码进行散列,那么黑客可以对通过获得这个密码散列值,然后通过查散列值字典(例如MD5密码破解网站),得到某用户的密码。 加Salt可以一定程度上解决这一问题。所谓加Salt方法,就是加点“佐料”。其基本想法是这样的:当用户首次提供密码时(通常是注册时),由系统自动往这个密码里撒一些“佐料”,然后再散列。而当用户登录时,系统为用户提供的代码撒上同样的“佐料”,然后散列,再比较散列值,已确定密码是否正确。 用户注册时, 用户输入【账号】和【密码】(以及其他用户信息); 系统为用户生成【Salt值】; 系统将【Salt值】和【用户密码】连接到一起; 对连...阅读全文

博文 2016-04-23 21:00:01 su_sai

如何做好自适应网站

想要自己动手做一个好网站,首先你要了解网站建设的步骤、流程、所需的要素。做网站不是说一朝一夕就能马上完成的,一个好网站是要通过不停的测试与修改才能算做好一个网站。而不是把一个网站做出来就完事了,还要通过各方面的测试与体验才能更好的完善出一个完美的网站。网站建设的过程是枯燥乏味的,做网站也考验耐心。做为资深网站测评者的小编,今天给大家说说怎么来断定一个网站的好与坏呢? 一、 网站的响应速度 一个网站最重要是浏览用户的体验,如果网站的响应速度慢,就会导致用户在体验时的兴趣大大减少。 二、 网站内容的丰富性 网站内容要多样式,不能太过单一,就算是企业型展示网站也不能光是做一些行业的宣传。要多做点关于行业内的新闻,这样整个网站才会感觉有内容。 三、 网站的快...阅读全文

golang: 详解interface和nil

golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、interface、map或slice类型的变量。如果未遵循这个规则,则会引发panic。对此官方文档有明确的说明:http://pkg.golang.org/pkg/builtin/#Type golang interface nil gdb error golang的nil在概念上和其它语言的null、None、nil、NULL一样,都指代零值或空值。nil是预先说明的标识符,也即通常意义上的关键字。在golang中,nil只能赋值给指针、channel、func、inter...阅读全文

博文 2014-10-04 19:26:09 kjfcpua

go语言赋值

使用赋值语句可以更新一个变量的值,最简单的赋值语句是将要被赋值的变量放在=的左边,新值的表达式放在=的右边。 x = 1 // 命名变量的赋值 *p = true // 通过指针间接赋值 person.name = "bob" // 结构体字段赋值 count[x] = count[x] * scale // 数组、slice或map的元素赋值 特定的二元算术运算符和赋值语句的复合操作有一个简洁形式,例如上面最后的语句可以重写为: count[x] *= scale 这样可以省去对变量表达式的重复计算。 数值变量也可以支持++递增和--递减语句(译注:自增和自减是语句,而不是表达式,因此x = i++之类的表达式是错误的): v := 1 v++ // 等价方式 v = v + 1;v 变成...阅读全文

博文 2016-04-11 03:00:02 zsy

Plan 9安装Go

I、安装python和mercurial(hg) 首先是在term中输入9fs sources, 然后cd到/n/sources/contrib下,参照Plan 9的contrib index,找到"From fgb's contrib"的python用户名。 % 9fs sources % /n/sources/contrib/fgb/root/rc/bin/contrib/install fgb/contrib % contrib/install -f bichued/python % contrib/install -f bichued/hg 或者将/n/sources/extra/python.iso.bz2拷到自己的目录下,然后 % bunzip2 python.iso.bz2 %...阅读全文

博文 2014-10-25 14:00:06 bonny95

Windows 中文账号导致go test 出问题

看到 golang-china 讨论组上有人提问 go test 的问题,由于Windows下,他的账号是中文的,而目前 Go 的一些命令不支持 UTF-8,导致中文路径有问题。 解决方法: 写一个 go.bat wrap 一下 go.exe,在执行 go.exe 之前设置一下 TEMP 环境变量到一个没有中文的路径, 不需要重新建用户。 大概是因为这个问题: https://code.google.com/p/go/issues/detail?id=3754 等 Go 编译器换成用 Go 写之后就没这个问题了...阅读全文

Go语言圣经 1.3-赋值及类型声明篇

赋值(Assignment) 变量的值可以通过赋值操作符 = 来更新, v = 10。x = 1 // 具名变量x *p = true // 指针变量 person.name = "bob" // 结构体struct的字段 count[x] = count[x] * scale // 数组、切片或者map的某个元素 算数操作符和位操作符都有对应的一元操作符形式, v = v + x 等价于 v += x,例如:count[x] *= scale 这样的缩略形式能省去不少重复的工作,同时数字变量还能通过++递增或者--递减:v := 1 v++ // same as v = v + 1; v becomes 2 v-- // same as v = v - 1; v becomes 1 aga...阅读全文

博文 2016-03-18 20:00:00 abv123456789

域名买了,DNS解析怎么选?一键按需定制解析服务不是梦

域名买了,DNS解析怎么选?一键按需定制解析服务不是梦 ——云解析DNS按需定制版本发布啦! 你还在烦恼DNS解析服务不知如何选择吗?还在烦恼自己想要的服务无法定制吗?阿里云解析DNS推出按需定制版,即选即用一次解决你所有烦恼。从基础配置到智能线路解析、从安全防护到域名绑定,各种参数各种服务,自主选择、优选配置. 快来抢先登陆:云解析频道页地址:https://wanwang.aliyun.com/domain/dns/ 云解析新购页地址:https://dns.aliyun.com/buy/index 到底什么是按需定制版呢? 云解析DNS按需定制版,聚焦企业自身需求打造专属云解析服务,解决用户个性化的购买需求。颠覆了解析...阅读全文

RETE算法的描述(原创)

通过一周左右的研究,对规则引擎有了一定的了解。现在写点东西跟大家一起交流,本文主要针对RETE算法进行描述。我的文笔不太好,如果有什么没讲明白的或是说错的地方,请给我留言。 首先申明,我的帖子借鉴了网上很流行的一篇帖子,好像是来自CSDN;还有一点,我不想做太多的名词解释,因为我也不是个研究很深的人,定义的不好怕被笑话。 好现在我们开始。 首先介绍一些网上对于规则引擎比较好的帖子。 1、 来自JAVA视频网 http://forum.javaeye.com/viewtopic.php?t=7803&postdays=0&postorder=asc&start=0 2、 RETE算法的最原始的描述,我不知道在哪里找到的,想要的人可以留下E-mail 3、 CMU的一位博士生的毕业论文,个人觉得...阅读全文

博文 2017-11-29 01:46:33 ipointer

Threeperson 注册验证码bug修复

[threeperson](http://www.threeperson.com) 注册模块,上周增加了验证码功能。最近一周发现有用户发起注册请求,但是并没有成功注册。年后工作比较紧,没来得及看。今天早起了会,线上测试了一下。第一遍正常流程,没问题;第二次,测试错误流程,发现当第一次输入的验证码错误时,即使下次输入正确,也是错误的,导致用户没法正常注册。紧急修复代码,上线。 ``` var result = $.formUtils.numericRangeCheck(value.length,'6') if (result[0]!="ok"){ this.errorMessage="验证码长度必须为6位字符" return false; } //bug 修复代码 return...阅读全文

Go语言开发工具 LiteIDE x10 发布

GO语言开发工具liteide x10发布,更新了GO调试插件。 LiteIDE项目: 操作系统: Windows / Linux x86 / Linux x86_64 / MacOS X 10.6 项目主页: http://code.google.com/p/golangide 项目源码 : http://code.google.com/p/liteide 讨论组: http://groups.google.com/group/liteide-dev 下载链接: http://code.google.com/p/golangide/downloads/list IDE基本特性: 以MimeType为基础构建的IDE环境变量管理和切换功能源码编译系统管理和切换功能简洁和开放的调试系统KATE...阅读全文

手机如何使用VPN翻墙了

最近很多咨询关于手机以及一些iPad,mac系列的用户可不可以使用517VPN,这里小编告诉大家的是当然是可以使用的,但是有几点大家是需要注意的: 1,手机用户,不管是安卓还是苹果的在官网自助充值的是不可以使用的。517加速器官网自助充值的只可以在普通的Win电脑上使用。手机用户要咨询517加速器客服:800019753 咨询的。 2,iPad,mac,需要专线等的用户在517VPN注册的也是不可以使用的,同样也是需要在517VPN客服:800019753 这里咨询购买的。 大家可能会问为什么?手机,iPad,mac,这些设备是需要使用虚拟专线的,普通的是用不了,所以得找客服咨询专线(第一无二的IP,全球只有你一个使用的IP)。大家在购买之前先确定自己使用的设备之后再去看是...阅读全文

[笔记] Golang Socket

1. Socket 简介 常用的 Socket 类型有两种:流式 Socket(SOCK_STREAM)和数据报式Socket(SOCK_DGRAM)。 流式是一种面向连接的 Socket,针对于面向连接的 TCP 服务应用; 数据报式 Socket 是一种无连接的 Socket,对应于无连接的 UDP 服务应用 2. 网络中的进程之间如何通过 Socket 通信呢? 网络层的“ip 地址”可以唯一标识网络中的主机,而传输层的“协议+端口”可以唯一标识主机中的应用程序(进程)。这样利用三元组(ip 地址,协议,端口)就可以标识网络的进程了,网络中需要互相通信的进程,就可以利用这个标志在他们之间进行交互。 3. 代码示例:客户端模拟HTTP 协议 1 package main 2 3 impo...阅读全文

博文 2016-05-06 10:00:08 loveyx

Go语言 google 舍弃java ???android上层应用或采用Go语言~~go语言简介

摘要 Go语言是谷歌2009发布的第二款开源编程语言。Go语言专门针对多处理器系统应用程序的编程进行了优化,使用Go编译的程序可以媲美C或C++代码的速度,而且更加安全、支持并行进程。 Go语言-简介 Go语言是谷歌推出的一种全新的编程语言,可以在不损失应用程序性能的情况下降低代码的复杂性。谷歌首席软件工程师罗布派克(Rob Pike)说:我们之所以开发Go,是因为过去10多年间软件开发的难度令人沮丧。 Go是谷歌2009发布的第二款编程语言.2009年7月份,谷歌曾发布了Simple语言,它是用来开发Android应用的一种BASIC语言. 北京时间2010年1月10日,Go语言摘得了TIOBE公布的2009年年度大奖。该奖项授予在2009年市场份额增长最多的编程语言。 谷歌资深软件工 程...阅读全文

博文 2014-10-04 19:26:17 hibernater

go package学习——os/signal, os/user

package signal实现了对到来的signal的访问;package user允许用户根据name或id查询帐户。 Index func Notify(c chan<- os.Signal, sig ...os.Signal) func Stop(c chan<- os.Signal) Examples Notify Package Files signal.go signal_unix.go Index type UnknownUserError func (e UnknownUserError) Error() string type UnknownUserIdError func (e UnknownUserIdError) Error() string type User f...阅读全文

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

golang中os/user包用法

os/user包允许用户账号通过用户名或者用户id查找用户 type UnknownUserError type UnknownUserError string func (e UnknownUserError) Error() string //当通过lookup无法查找到某个用户时,便会返回该错误.type UnknownUserIdError type UnknownUserIdError int func (e UnknownUserIdError) Error() string ////当通过lookup无法查找到某个用户id时,便会返回该错误. type User type User struct { Uid string // user id Gid string // pri...阅读全文

博文 2015-06-18 17:05:37 chenbaoke

Execute模板后setCookie失效?

刚开始学GO,遇到这样的情况: t, err := template.ParseFiles("/template/login.tpl") err = t.Execute(w, nil) //如果先执行 http.SetCookie(。。。)//失败,浏览器无法收到cookie 如果调换顺序,先setCookie,再Execute,便可成功设置cookie。 计划是在登陆页面login.tpl,ParseForm( )获取用户名和密码,验证合格以后才发放sessionID,如果反着写,虽然也能办到,但ParseForm( )和验证环节跑到了模板Execute前面: r.ParseForm( ) ...阅读全文

阿里云免费套餐再次升级,含云服务器、云数据库等 35+产品

2016年12月阿里云推出免费套餐,包含1核1G云服务器、1核1G云数据库等30余款核心云产品免费使用6个月; 2017年4月,阿里云免费套餐再升级,提供更多产品,更久时长的使用。 升级项包括: 1、个人用户可加199元升级为1年时长(平均16元/月,享35+产品),并将云服务器配置提升到1核2G; 2、新增企业用户专享版免费套餐,包含2核4G云服务器、2核4G云数据库等核心云产品免费使用6个月。或者可同时使用6台云服务器、云数据库产品一个月,用于搭建云端计算集群。 本次活动针对个人用户和企业用户,仍然仅限新用户申请,每个新用户限参与免费套餐活动1次。 个人用户,推荐申请免费套餐199元升级版,1核2G的配置适用更多使用场景; 企业用户,...阅读全文

Go,5周年

Go,5周年 十一 12 bigwhite技术志 cloudflare, DigitalOcean, dotGo, FOSDEM, GC, github, Go, Go1, go1.4, Go1.5, GoCon, GoDevRoom, Golang, Google, Gopher, GopherCon, Gophers, GothamGo, Heroku, RobPike, 垃圾收集器, 谷歌 No Comments 2014年11月10日(美国当地时间),Golang的官方博客 放出了Andrew Gerrand的一篇博文《Half a decade with Go》来纪念Go语言发布五周年。文章按时间顺序简要描述了Golang这五年来发展的 点点滴滴,并让全世界Gopher看到了Go可...阅读全文

博文 2014-11-12 19:13:21 bigwhite

QQ空间已在生产环境中使用QUIC协议

QUIC(Quick UDP Internet Connections,发音’quick’)是Google于2013年发布的基于UDP的多路传输协议,它的主要目标是为了整合TCP协议的可靠性和UDP协议的速度和效率,以降低延迟,提高用户体验。 Google通过大规模的性能分析发现,“相对于TCP而言,QUIC的性能有了真正的进步”,这得益于QUIC的以下特性: 低延迟链接的建立,这对已建立的链接很有好处。在这种情况下,Google搜索页面的平均加载时间缩减了3%。 改进拥塞控制和丢包恢复机制,这在糟糕的网络环境中尤为重要。在这种情况下,Google搜索页面在“最慢的1%的连接”中节省了整整1秒的时间,并且观看基于QUIC的YouTube视频时会减少高达30%的数据重缓存。 据了解,QQ 空间...阅读全文

博文 2017-10-13 06:39:19 郭蕾

Docker 核心技术与实现原理

Home Menu Docker 核心技术与实现原理 30 Nov 2017 docker namespaces cgroups unionfs aufs server Namespaces 进程 网络 libnetwork 挂载点 chroot
 CGroups UnionFS 存储驱动 AUFS 其他存储驱动 总结 Reference 提到虚拟化技术,我们首先想到的一定是 Docker,经过四年的快速发展 Docker 已经成为了很多公司的标配,也不再是一个只能在开发阶段使用的玩具了。作为在生产环境中广泛应用的产品,Docker 有着非常成熟的社区以及大量的使用者,代码库中的内容也变得非常庞大。 同样,由于项目的发展、功能的拆分以及各种奇怪的改名 PR,让我们再次理解 Docker 的的...阅读全文

博文 2017-12-02 11:31:02 draveness.me

老虞要学GoLang-为什么会学习GoLang

前言 2009年开始接触软件开发,一直深爱着它,喜爱淘腾些新技术新技能,却至今没有所成。也许专心才能做好一些事,2013年初接触Go Lang,感受着这门语言带来的魅力,自己该在这条路上留下足迹,以此见证自己的成长历程。 为什么会学习Go Lang 编程本身是一门艺术,Go Lang 有着无尽想象的魅力。 Gmail, Google Search, Google Translate,YouTube 这些已成为我生活工作不可缺少的一部分,足够证明Google的产品是优秀的,同样Go Lang也是优秀的,事实证明确实如此。 Go Lang是开源项目,它的社区时活跃的,它的创造者是行业Big牛。 Go Lang 被创造的目的是明确的:提高开发人员的编程效率,构建服务器软件...... 一段摘录 h...阅读全文

博文 2015-07-21 15:00:03 Gopher老虞

生产级无服务器 PasS 平台Rainbond

好雨云帮(Rainbond)是国内首个开源的生产级无服务器PasS平台,深度整合基于[Kubernetes](https://github.com/kubernetes/kubernetes)的容器管理、多类型CI/CD应用构建与交付、多数据中心的资源管理等技术提供完整的云原生应用管理解决方案,构建出应用、基础设施之间的互联互通生态体系。 Rainbond历经超过五年的生产运营打磨和验证,形成目前理念最新、生态最完整的无服务器PasS平台。如今,我们选择开源、拥抱社区,期望吸收最好的想法和实践,进一步完善和提升云帮,让更多企业和个人用户享受&ldquo;以应用为中心&rdquo;的技术体验。 结构: ![image](https://static.oschina.net...阅读全文

golang 增加用户

package mainimport ( "database/sql" "fmt" _ "github.com/mattn/go-sqlite3" "html/template" "log" "net/http" "strconv")type User struct { ID int Name string}func (user User) String() string { format := `ID : %d Name: %s` return fmt.Sprintf(format, user.ID, user.Name)}func (user User) Save() { db, err := sql.Open("sqlite3", "./foo.db") if err != nil {...阅读全文

博文 2015-08-09 11:00:00 石头军