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

为什么我要选择erlang+go进行服务器架构

服务器非业余研究http://blog.csdn.net/erlib 作者Sunface 估计很多同学看到这里都会觉得迷惑,go的大名已经如雷贯耳了,但是erlang?这个东东是神马?难道是编程语言?怎么从来没听说过。 这里请允许我先介绍一下使用Erlang开发的比较有名的应用: 一:whatsapp 只凭32个技术人员,如何应付4.5亿的用户?对于刚刚被Facebook用190亿美元收购的WhatsApp来说,答案是Erlang——一种诞生于上世纪80年代的编程语言,终于在此时走到了聚光灯下。 这个应用把erlang的特性发挥到了极致,利用到了它最好的vm、 集群基础设施、数据库mnesia, 消除了非常多的数据Scale、内存池和锁的问题, 提到的技术和修正点非常值得我们参考。 虽然大部...阅读全文

博文 2015-02-23 23:00:00 robslove

野子科技 当AI数据服务走进中场战事

野子电竞数据官网改版https://www.xxe.io/ 全新登场毫无疑问,数据量的飙升是AI产业爆发的原因之一。很快我们可以发现,将数据采集、整理、清洗、标注再输送给AI企业用作模型训练,已经成为了一条运行流畅的产业链。 很长一段时间以来,数据服务都处于一种粗放原始的状态之中,甚至出现了一种“数据农场”的说法:数据服务从业者们从各种公开数据集或移动互联网产品中获取数据,以几乎零门槛的形式聘请大量廉价劳动力进行简单的清洗标注工作,例如勾选出一张照片中哪里是天空哪里是大地。最后再将这些粗糙处理过的数据一股脑地投入神经网络的黑箱之中。 但现如今,我们已经看到这一现状正在发生变化,AI企业对于数据的应用需求逐渐开始分化,以往一味粗放的处理模式已经不能满足他们的需求,也因此搅动了AI数据服务市场,...阅读全文

博文 2019-09-12 16:32:51 待你幼稚完

Golang 数组

声明&初始化 数组 数据是一个固定长度的数据类型,用户存储一段具有<<相同类型>>的元素的<<连续快>>。数据存储的类型可以使内置类型。整形 字符串 或某种机构类型 占用内存方式为<<连续分配>>。由于内存连续,CPU能把正在使用的数据缓存更久的时间。并且因为内存连续所以索引很容易计算,可以快速迭代数组中所有的元素。 初始化&声明 声明数组: 指定内部存储的数据类型、需要存储的数据数量(长度)、 //声明一个包含5个整形元素的数组 var array [5] int 数组规则:一旦声明之后元素类型&数组长度不能更改 声明完成之后进行初始化数组会把数组中的元素全部初始化成元素类型所对应的零值。整形对应的零值为0。 数组字面量 数组字面量是一种快速创建并初始化数组的方式。数组字面量允许声明数组里...阅读全文

博文 2018-06-29 16:34:47 我是不是小明

打造atom成为golang开发神器

在我在Windows系统上开发的日子里,我使用IDE开发数年之久,例如Visual Basic IDE, Borland Delphi IDE, Visual C++ 和最后的Visual Studio;但当我在大约10年前转到Mac OS X下开发后,我放弃了上述所有的IDE。 我刚进入Mac编程世界的时候使用的是当时表现极好的Textmate编辑器。它是一个开发代码飞快的编辑器,拥有很好的语法高亮,拓展模块以及代码片段(code snippets),让我再次感觉非常高产。经过几年的衰退期,由于它没有继续更新了,很多人转向了Sublime Text和传统的VIM编辑器了。 Atom刚出来的时候我尝试使用了一下,但当时它并没有准备好。而最近几天它正式发布官方1.0版本后我决定再次试用一下,我...阅读全文

博文 2016-02-04 07:00:03 sweetvvck

【软件周刊】要的就是速度,Angular 4.0.0 beta0 发布;JetBrains 带来全新 Go IDE — Gogland

要的就是速度,Angular 4.0.0 beta0 发布 由于想将核心包版本对齐,加上语义化版本控制,Angular 2 之后将迎来 Angular 4。更新内容: fix(编译器):修复 compiler_host 中的合并错误 common: add a titlecase pipe common: export NgLocaleLocalization compiler: add id property to i18nMessage compiler: digest methods return i18nMessage id if sets forms: add novalidate by default http: simplify URLSearchParams creation...阅读全文

博文 2016-12-17 13:00:03 局长

beego关于session的问题

我在自己的网站中使用的是简单的:登陆时setsession,使用时getsession,在退出登陆时deletesession。在电脑上使用没有问题,但我同时在手机上测试的,手机上set,get都没问题,但delete就不行了,怎么都退不出登陆状态,重启手机浏览器都不行,删除cookie后才可以退出登陆,这是什么原因,deletesession操作时应该是有删除cookie处理的,是不是手机浏览器不支持外部的删除cookie操作?再问一句,好像手机浏览器不支持301跳转!这是什么原因。电脑用的是firefox浏览器,手机用的是安卓uc浏览器...阅读全文

Golang关键字—— var

Golang使用 var 关键字定义变量,语法如下: 1 // 定义一个变量 2 var vname1 int 3 4 // 定义多个变量 5 var vname2, vname3 bool 6 7 // 定义一个变量并赋值 8 var vname4 string = "golang" 9 10 // 定义多个变量并赋值 11 var vname5, vname6 int = 2, 3 12 13 // 定义多个变量并赋值,由编译器推导变量类型 14 var vname7, vname8 = "golang", true 15 16 // 定义多个变量并赋值,由编译器推导变量类型 17 // 此方式只能用于函数内部 18 vname9, vname10 := 4, fals...阅读全文

博文 2015-05-21 10:00:00 nianhua

iris-go

rt 与其它框架比较 文档说明 基础 index.html test

{{ message }}

main.go package main import ( "gopkg.in/kataras/iris.v6" "gopkg.in/kataras/iris.v6/adaptors/httprouter" "gopkg.in/kataras/iris.v6/adaptors/view" "time" "fmt" "io" ) type User struct {...阅读全文

博文 2017-06-04 14:03:33 中柠檬

Golang使用lxn/walk做GUI界面开发:邮件群发器

我也是刚刚使用walk这个组件,很多控件接口不熟悉,把我上次发的邮件群发器修改成图形界面的,线程发送邮件,gob库保存数据等。只提供作学习交流,仅供参考(界面很烂)。 接下来是main.go的代码: // Multi-SendEmail project main.go package main import ( "bufio" "encoding/gob" "errors" "fmt" "io" "net/smtp" "os" "strconv" "strings" "time" ) import ( "github.com/lxn/walk" . "github.com/lxn/walk/declarative" ) type ShuJu struct { Name string Pwd ...阅读全文

博文 2014-12-20 13:00:01 一曲忧伤

Golang和nodejs小比拼

​ Golang和nodejs小比拼这期呢,我们来比较一下,golang和nodejs。这两个都是后端比较热门的开发技术。发展的都非常快。 [golang简介]我们先来看一下golang, 这门技术是免费的,可编译的,开源的,面向通用开发的编程语言。这门语言有两位来自谷歌的专家Ken Thompson和Rob Pike所开发, 开发时间是2007年。这门语言跟c语言非常接近, 支持结构定义, 同时又支持垃圾回收处理。内存使用上也更加方便,安全。因为跟c语言很接近,所以golang屏蔽掉了一些现代编程语言中的特征, 比如说类继承是不存在的。[nodejs简介]再来看一下nodejs。这门技术也是开源的。JavaScript作为核心语言, 跨平台。用于创建服务器端实时处理的应用系统。创作者为Ry...阅读全文

博文 2019-08-01 08:32:38 丁哥开讲

golang 开发gui,还真有gui的框架,就是做个简单的行

1,关于gui golang 还真的有gui的开发框架。在mac上面好像比较简单。直接用就好。 不知道在其他平台上面咋样。 github项目地址: https://github.com/andlabs/ui/wiki/Getting-Started 起重核心还是使用了:https://github.com/andlabs/libui 在github上面加星的还是挺多的。非常的活跃的项目。 doc文档: https://godoc.org/github.com/andlabs/ui 其他的想好想也没有啥了。感觉上wxWidgets应该也是跨平台的。 https://github.com/dontpanic92/wxGo 也有一个哥们做的封装。 但是看了下加星的比较少呢。还是用andlabs/u...阅读全文

博文 2017-07-12 10:27:36 freewebsys

golang微信支付服务端

一般来说,使用golang主要还是写服务端。所以本文主要讲golang在处理微信移动支付的服务端时的统一下单接口和支付回调接口,以及查询接口。 微信支付流程 下图是微信官网的支付流程描述: 图中红色部分就是微信支付中,我们的系统包括app,后台需要参与的流程。 其中需要后台也就是Server需要参与的流程有三个: 1. 统一下单并返回客户端 2. 异步通知结果回调处理 3. 调用微信支付查询接口 微信所有的接口都是以http RESTFul的API来提供,所以对于server而言其实就是call这些接口并处理返回值。 golang的服务端实现 1,调用统一下单接口 首先需要呼叫:https://api.mch.weixin.qq.com/pay/unifiedorder 这是微信的api,呼...阅读全文

博文 2015-12-23 14:00:01 xyzhaopeng

GopherChina2019(北京)大会视频大全

GopherChina2019(北京)大会视频大全 Day1 1、基于 Go 语言的大规模微服务框架设计 2、如何用Go打造高性能路径规划和ETA引擎 3、TiDB 的 Golang 实践 4、How to write testable code 5、Go 业务基础库之 Error & Context 6、Go 同步和并发设计模式 7、百度 APP Go语言实践 8、用Golang搭建实时音视频云 Tutormeet Day2 1、基于MINIO的对象存储方案在探探的实践 2、从零开始用GO实现Lexer & Parser 3、高性能高可用开发框架TarsGo的腾讯实践 4、BTC的小额支付解决方案--闪电网络 5、Go Modules in everyday life 6、用GO构建高性能...阅读全文

博文 2019-06-19 18:02:43 如来神掌

go-martini基础入门

Martini框架是使用Go语言作为开发语言的一个强力的快速构建模块化web应用与服务的开发框架。Martini是一个专门用来处理Web相关内容的框架,其并没有自带有关ORM或详细的分层内容。所以当我们使用Martini作为我们的开发框架时,我们还需要选取适合的ORM等其他包。昨天大象哥哥看了下,感觉还是蛮屌蛮简单的,不啰嗦上代码。 package main import ( "github.com/astaxie/beego/context" "github.com/go-martini/martini" "github.com/martini-contrib/render" "net/http" "fmt" ) //定义一个自己的中间件,这里将beego的context注入 func m...阅读全文

博文 2015-10-31 12:00:03 别人说我名字很长

区块链技术:超级账本(Hyperledger)

摘要超级账本(Hyperledger)是linux基金会下的众多项目中的一个。是由IBM、因特尔,还有金融公司,GP摩根以及其他联合机构于2015年提出来的区块链项目,超级账本还包括5个框架项目:Sawtooth、Iroha、Fabric、Burrow、Indy和3个工具项目:Blockchain explorer、Cello、Composer。其中广为人知的是Fabric。当前成员大约140个,其中1/4来自中国,现在中国技术组由万达、华为、IBM担任主要负责,负责中国会员和中国需求的提供,以及推进代码。下图是项目之间的逻辑关系图: Hyperledger Fabric: 区块链技术的一个实现,它的目标是成为开发应用和解决方案的基础,设计为模块化架构,允许组件如共识和成员服务模块,可以插入...阅读全文

博文 2017-09-08 07:05:04 吉普森

golang中goconfig包使用解析

注意事项 本博客隶属于 goconfig - 课时 1:goconfig 使用解析 请注意配套使用。 本博文为 goconfig - Go 语言 INI 解析器的配套博客,旨在通过文字结合代码示例对该库的使用方法和案例进行讲解,便于各位同学更好地使用和深入了解。 库简介 goconfig 是一个由 Go 语言开发的针对 Windows 下常见的 INI 格式的配置文件解析器。该解析器在涵盖了所有 INI 文件操作的基础上,又针对 Go 语言实际开发过程中遇到的一些需求进行了扩展。相对于其它 INI 文件解析器而言,该解析器最大的优势在于对注释的极佳支持;除此之外,支持多个配置文件覆盖加载也是非常特别但好用的功能。 下载安装 您可以通过以下两种方式下载安装 goconfig: gopm get...阅读全文

博文 2015-10-28 22:00:41 chenbaoke

2020 年的八个 Web 开发技术新趋势「本月最佳话题」

导读:即使2020开局有一些变化 ,但请保持精进。是的,Web开发人员需要在不断发展的环境中成长,需要适应技术的变化,跟得上和学得进去新技术。软件开发行业,其实与其它行业一样,紧跟最新出现的重要趋势和技术,避免学习不成熟或未就绪的技术也很重要。在这里,我们总结一份清单,列出2020年以及之后主导的技术趋势,供各位参考。1、人工智能 根据Gartner预测,到2022年,人工智能市场规模将达到3.9亿美元,许多公司已经将AI纳入其数字化战略中,目前亦没有任何迹象表明它会放缓。结合目前冠状肺炎的情势,我们可以创建一个移动医疗应用,给病人提供症状检查,供医生咨询并访问病人的全部健康档案。这里可以通过人工智能技术(AI)与在线面对面的咨询结合,从功能上超越传统的在线健康应用。还有很多企业早已经使用了...阅读全文

博文 2020-02-13 09:32:50 前端小澈

01-Golang可以做什么

![Golang的发展方向: 区块链研发工程师 Go服务器端/游戏软件工程师 Golang分布式/云计算 Golang的应用方向: 区块链技术:简称BT Blockchain technoglogy,也被称为 分布式账本技术,是一种互联网数据库技术,其特点是去中心化,公开透明,让每个人均可参与数据库记录。 后端服务器应用: 吃撑主站后台流量(排序,推荐,搜索等),提供负载均衡,cache,容错,按条件分流,统计运行指标 美团 云计算/云服务的后台应用 CDN的调度系统,分发系统,监控系统,短域名服务,CDN内部开放平台,运营报表系统以及其他一些小工具等。 京东云 Golang的计算能力很强 ](https://static.studygolang.com/180918/06db76e0112...阅读全文

基于gin框架的web项目模板

github地址:https://github.com/chenhg5/gin-template web开发的项目模块: - mysql、redis链接 - mysql 读写分离 - redis 集群 - 中间件 - 全局环境配置 - govendor包管理 - session / cache - 性能分析 pprof - 模型 ORM - 全局错误处理 - 前端资源管理 - 微信/支付宝开发sdk - 队列任务【todo】 - log日志分析【todo】 - 快速开发脚手架脚本【todo...阅读全文

博文 2018-04-03 15:15:13 cg33

Golang Gin实践 连载十七 用 Nginx 部署 Go 应用

Golang Gin实践 连载十七 用 Nginx 部署 Go 应用 原文地址:Golang Gin实践 连载十七 用 Nginx 部署 Go 应用 前言 如果已经看过前面 “十六部连载,两部番外”,相信您的能力已经有所提升 那么,现在今天来说说简单部署后端服务的事儿 ???? 做什么 在本章节,我们将简单介绍 Nginx 以及使用 Nginx 来完成对 go-gin-example 的部署,会实现反向代理和简单负载均衡的功能 Nginx 是什么 Nginx 是一个 Web Server,可以用作反向代理、负载均衡、邮件代理、TCP / UDP、HTTP 服务器等等,它拥有很多吸引人的特性,例如: 以较低的内存占用率处理 10,000 多个并发连接(每10k非活动HTTP保持活动连接约2.5...阅读全文

Teleport2.0 一个Golang TCP Socket的全新框架

Teleport beta2.0 实现了一个全新的Golang TCP Socket框架,它通用、高效、灵活!可被用于Peer-Peer对等通信、RPC、长连接网关、微服务、推送服务,游戏服务等领域。 teleport_server 1. 特性 服务器和客户端之间对等通信,两者API方法基本一致 底层通信数据包包含Header和Body两部分 支持单独定制Header和Body编码类型,例如JSON Protobuf Body支持gzip压缩 Header包含状态码及其描述文本 支持推,拉,回复等通信方式 支持插件机制,可以自定义认证、心跳、微服务注册中心、统计信息插件等。 无论服务器或客户端,均支持都优雅重启、优雅关闭 支持实现反向代理功能 日志信息详尽,支持打印输入、输出消息的详细信息(...阅读全文

博文 2017-08-27 09:05:14 HenryLee

go post json 遇到的问题

想用go写一个客户端,发一个JSON数据到JAVA的服务端接口, 结果,JAVA接收的BODY一直是空,但是PYTHON写的服务端是OK的 网上查了方法 其中:一些方法 也试过了, type RequestBody struct { Status string `json:"status"` Region []string `json:"region"` Percent string `json:"percent"` Task_id string `json:"task_id"` } b, err := json.Marshal(rbody) body := bytes.NewBuffer([]byte(b)) (1) resp, err := http.Post(url, "applica...阅读全文

博文 2015-09-18 15:00:01 vance928

ByteEdu 每日新闻(2019-03-14)

ByteEdu 每日新闻(2019-03-14) Golang资料集Go最新资料汇总链接更改 http://www.byteedu.com/forum.php?mod=viewthread&tid=25 字节教育 Go语言初学者的学习资料 http://www.byteedu.com/forum.php?mod=viewthread&tid=191&extra=page%3D1 Unity3D学习路线与学习经验分享 http://www.byteedu.com/forum.php?mod=viewthread&tid=325&extra= LollipopGo开源游戏服务器源码剖析(视频教程) http://www.byteedu.com/forum.php?mod=viewthread&t...阅读全文

博文 2019-03-14 08:34:40 Golang语言社区

今日头条Go建千亿级微服务的实践

今日头条使用 Go 语言构建了大规模的微服务架构,本文结合 Go 语言特性着重讲解了并发,超时控制,性能等在构建微服务中的实践 编者按:本文来自微信公众号“InfoQ”(ID:infoqchina),作者项超;36氪经授权发布。 今日头条当前后端服务超过80%的流量是跑在 Go 构建的服务上。微服务数量超过100个,高峰 QPS 超过700万,日处理请求量超过3000亿,是业内最大规模的 Go 应用。 Go 构建微服务的历程 在2015年之前,头条的主要编程语言是 Python 以及部分 C++。随着业务和流量的快速增长,服务端的压力越来越大,随之而来问题频出。Python 的解释性语言特性以及其落后的多进程服务模型受到了巨大的挑战。此外,当时的服务端架构是一个典型的单体架构,耦合严重,部分...阅读全文

博文 2017-06-23 10:03:31 强子哥哥

微服务GMS

# GMS 今天是2020年10月24日,一年一度的程序员节,把这个还在开发中的项目开源出来,感兴趣的朋友可以一起参与开发。如果有大神路过请多指教。 GMS是一款基于[gnet](https://github.com/panjf2000/gnet)网络框架开发的Golang RPC微服务框架。 ## 特点: **1:非常简单、学习成本极低。GMS处于初期阶段您想参与开发也非常简单。** ​ 只要您之前使用过类似Gin、beego这样的web框架。就能快速上手,使用方法和这些web框架一样简单。 **2: 不用定义proto等协议文件。** ​ 写proto文件不仅麻烦还容易出错。而且使用协议文件定义服务,最终在框架内部实现都要使用反射去调用目标方...阅读全文

开源项目 2020-10-25 10:42:08

Golang依赖注入框架wire全攻略

在前一阵介绍单元测试的系列文章中,曾经简单介绍过wire依赖注入框架。但当时的wire还处于alpha阶段,不过最近wire已经发布了首个beta版,API发生了一些变化,同时也承诺除非万不得已,将不会破坏API的兼容性。在前文中,介绍了一些wire的基本概况,本篇就不再重复,感兴趣的小伙伴们可以回看一下:搞定Go单元测试(四)—— 依赖注入框架(wire)。本篇将具体介绍wire的使用方法和一些最佳实践。 本篇中的代码的完整示例可以在这里找到:wire-examples Installing go get github.com/google/wire/cmd/wire 复制代码Quick Start 我们先通过一个简单的例子,让小伙伴们对wire有一个直观的认识。下面的例子展示了一个简易w...阅读全文

博文 2019-07-28 23:34:15 水立方

golang实现的反向代理

翻阅golang包手册的时候看到net/http/httputil有一个type ReverseProxy,这个不是反向代理吗!golang自带反向代理功能?好奇就试了一下,确实非常简单,没有几行代码就实现了一个简易的反向代理服务。 关于反向代理百度百科上说的非常详细了,这里摘录一下定义: 反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个反向代理服务器。 golang实现代码 package main import ( "log" "net/http" "net/http/httputil" "net/url" ) ...阅读全文

博文 2015-10-16 21:52:06 陈杰斌

GO语言HTTP代理服务器

package main import ( "fmt" "io" "log" "net/http" "net/http/httputil" "net/url" ) func httpUserInfo(w http.ResponseWriter, r *http.Request) { ret := "your addr is:" + r.RemoteAddr + "\r\n" ret += "request headers:" + fmt.Sprint(r.Header) io.WriteString(w, ret) } func main() { targetURL, err := url.Parse("http://127.0.0.1:80") log.Println("program s...阅读全文

博文 2015-06-17 23:07:39 scybs

ByteEdu 每日新闻(2019-03-15)

ByteEdu 每日新闻(2019-03-15) Golang资料集Go最新资料汇总链接更改 http://www.byteedu.com/forum.php?mod=viewthread&tid=25 字节教育 Go语言初学者的学习资料 http://www.byteedu.com/forum.php?mod=viewthread&tid=191&extra=page%3D1 关于海外支付SDK的集成方案与总结 http://www.byteedu.com/forum.php?mod=viewthread&tid=330&extra= LollipopGo开源游戏服务器源码剖析(视频教程) http://www.byteedu.com/forum.php?mod=viewthread&ti...阅读全文

博文 2019-03-15 08:34:41 Golang语言社区

初读谷歌自家的语言之作------Go语言和Dart语言

Go语言是一个新语言,截至目前为止,第一版正式版还没有发布。Go语言的设计者是Robert Griesemer, Rob Pike和Ken Thompson,当年设计C和Unix,后来的Plan9团队中的人 。Go语言的设计理念很明确,就是将动态类型语言的编程容易度和静态类型语言的安全效率结合起来。深入了解Go语言的发展历史以及完整的目标,请参考Go语言 FAQ。 Go语言有很浓厚的C的遗风,尽量屏蔽C++和Java的影响,比如没有独立的OO体系(并不是说不能OO),一切以struct为中心,没有exceptions(Oh yes!),仍然有指针,等等。但是,Go语言又吸取了很多新语言的精华,并带有自己独特的设计。比如 1. 保留但大幅度简化指针 Go语言保留着C中值和指针的区别,但是对于指...阅读全文

博文 2014-10-25 22:00:00 a4614181

golang 单元测试框架(testing)

golang单元测试 要开始一个单元测试,需要准备一个 go 源码文件,在命名文件时需要让文件必须以_test结尾 单元测试源码文件可以由多个测试用例组成,每个测试用例函数需要以Test为前缀,例如: func TestXXX( t *testing.T ) 测试用例文件不会参与正常源码编译,不会被包含到可执行文件中。 测试用例文件使用 go test 指令来执行,没有也不需要 main() 作为函数入口。所有在以_test结尾的源码内以Test开头的函数会自动被执行。 单元测试文件 (*_test.go) 里的测试入口必须以 Test 开始,参数为 *testing.T 的函数。一个单元测试文件可以有多个测试入口。 使用 testing 包的 T 结构提供的 Log() 方法打印字符串。 ...阅读全文

博文 2018-12-16 01:34:54 memory_89a7

游戏分布式服务器gonet

gonet 游戏服务器架构,mmo架构,分布式snowflake64为整形uuid,ai行为树,配置data,游戏大部分都在内存运算,分布式缓存redis。 设计之初,建立在actor模式下的;rpc,以及消息驱动,rpc无需注册,支持int,数据,struct(struct必须要注册结构题即可);sql封装简单的orm,具体看demo websocket模式下,要在net,websocket注视掉如下代码:https://studygolang.com/articles/14842 代码除了mysql,protobuf,redis这几个第三方库以外,其他都是自己写的,方便性能和修改,主动权在自己手里 服务器之间rpc,客户端服务器之间protobuf + rpc,客...阅读全文

开源项目 2019-01-16 12:53:57 ylb

关于Dart与Golang

关于Dart与Golang在chrome浏览器中嵌入一个Dart虚拟机,可以用Dart语言开发Web APP。虽然Dart声称通过Dart2JS可以编译成纯JS文件可运行在各个浏览器商,但一个Hello world的JS编译就让人成了笑话。但不排除未来的精进优化,要知道Dart的负责人是V8引擎负责人,V8是Chrome浏览器中的JS引擎,这是一款优秀的速度闪电的JS引擎,所以Dart JS技术的优化精进似乎不是问题。Dart更像JAVA。而JAVA要么通过J2SE运行在操作系统桌面上,要么通过J2EE运行在服务器上,要么通过J2ME运行在手机上,还没有JAVA运行在浏览器中(早期Applet不说)。从语法复杂性来说,我个人的感受是Dart不亚于JAVA。现在Android手机本地App用J...阅读全文

博文 2015-06-17 20:00:12 david_lv

Go 语言使用 TCP keepalive

自:http://studygolang.com/articles/951 Go 语言使用 TCP keepalive 如果你写过某些 TCP socket 代码,你可能会疑问:如果网线被拨掉或者远程主机崩溃了我的TCP连接会怎样? 简短的答案是:一点影响都没有。这种情况下连接的结束远程主机是不会发送FIN数据包的,并且本地系统不能检测连接是否已中断。所以需要作为程序员的你来解决这种情况。 --zxp 翻译于 1 个月 前 0人顶 顶 翻译的不错哦! GO语言为你提供了解决这个问题的几种方法。首选的方法可能是 net.Conn 接口中的SetReadDeadline方法。假设你的连接在以一种特定的间隔来接收数据,你可以简单地把读取超时当作一个io.EOF错误并Close这个连接。很多现有的T...阅读全文

博文 2015-01-29 17:00:01 leonzhouwei

在Github中stars数最多的Go Web框架集合

Project Name Stars Forks Description beego 12195 2810 beego is an open-source, high-performance web framework for the Go programming language. gin 11602 1357 Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gi...阅读全文

博文 2017-12-19 11:54:01 终于19岁

Go-Testing

要点 Go的自动化测试框架比JUnit、PyUnit等更加轻量级。要点如下: - 测试代码以xxx_test.go方式命名 - 测试代码中import “testing” - 测试函数形如 func Testxyz(t *Testing.T) {…} - 执行测试:go test 示例 比较要创建一个mymath package。 mymath.go package mymath func Add(x, y int) int { return x + y } func Minus(x, y int) int { return x - y } mymath_test.go package mymath_test import "mymath" import "testing" func Tes...阅读全文

博文 2016-09-05 08:00:03 u013344915

golang实现udp接入服务器

前端通过udp与接入服务器连接,接入服务器与后端tcp服务器维持tcp连接。目录结构及后端tcp服务器代码同上一篇博客。 main.go package main import ( "lotuslib" ) const ( ip = "0.0.0.0" port = 1987 ) func main() { udplotus.UdpLotusMain(ip, port) } udplotus.go package udplotus import ( "encoding/json" "log" "net" "strconv" "time" ) const ( proxy_timeout = 5 proxy_server = "127.0.0.1:1988" msg_length = 1024 ...阅读全文

博文 2014-10-04 19:26:13 ciaos

[北京劲松][广州欢网][[15K-30K]]招聘 GOLANG 中高级研发工程师

### 岗位职责:### - 参与公司后端公共服务和微服务体系的设计和开发; - 进行微服务相关技术调研分析并在项目中实践; - 负责编制、修改项目相关的技术文档; ### 任职要求:### - 熟练掌握Golang,4年以上工作经验,2年以上Golang开发经验,有完整项目经验,同时熟练掌握Java/PHP/C++等任意一门语言者优先; - 熟练掌握Golang相关技术,熟悉web开发,熟悉Golang协程,熟悉channel和锁,对高并发、高可用架构系统有正确、深刻的理解,有分布式服务设计或开发经验者优先; - 熟悉MySQL,熟悉数据库原理和常用性能优化技术,同时熟悉其他数据库(如Redis、MongoDB等)者优先; - 熟悉微服务docker,k8s者优先; -...阅读全文

golang-otto JS解释器

otto是一个Go语言实现的JavaScript 解释器 otto是一个Go语言实现的JavaScript的语法分析器和解释器 1 2 3 import( "github.com/robertkrimen/otto" ) 在虚拟机中运行一些代码 1 2 3 4 5 vm := otto.New() vm.Run(` abc = 2+ 2; console.log("The value of abc is " + abc);// 4 `) 从虚拟机中获取一些值 1 2 3 value, err := vm.Get("abc") value, _ := value.ToInteger() } 设置一个数字变量 1 2 3 4 5 vm.Set("def", 11) vm.Run(` consol...阅读全文

博文 2015-11-17 02:00:03 shuanger_

服务端开发工程师(go语言)

岗位职责: 负责系统设计和核心代码开发(Go语言开发)。 任职要求: 有良好的编程风格和编写文档的习惯; 熟悉 HTTP、TCP/IP 等常见网络协议,有相关网络编程经验; 两年以上 Go 服务端开发经验优先; 熟悉缓存系统以及消息系统的对接工作实际经验优先。 有较强的责任心和学习能力,能承受一定工作压力。 薪水待遇: 15w起 具体面议 包五险一金 公司地点:浙江省杭州市余杭区仓前街道文一西路1338号海创大厦A座802室 投简历邮箱: shenqiang@aoukj.co...阅读全文

gin框架之log处理

我们在开发的过程中往往需要记录日志,记录日志可以帮我们追踪错误,追踪业务需求。那么gin中是如何记录日志的呢? package main import ( "github.com/gin-gonic/gin" "io" "os" ) func main() { // 记录到文件。 f, _ := os.Create("gin.log") gin.DefaultWriter = io.MultiWriter(f) router := gin.Default() router.Run() } 我们自定义了log的记录方式,但是这种方式国语简单,不利于我们收集错误信息。在这里为大家推荐一个记录日志的库github.com/sirupsen/logrus。logrus是目前Github上star数量...阅读全文

博文 2020-03-09 20:33:10 寒云暮雨

数据宝参展2017中国国际软件博览会

6月29日,第十二届中国国际软件博览会(以下简称:2017软博会)在北京展览馆开幕,本届软博会由工业和信息化部与北京市人民政府主办,国务院副总理马凯莅临软博会现场,工业和信息化部部长苗圩、北京市代市长陈吉宁、北京市经济和信息化委员会主任张伯旭等领导随行。 ![1.jpg](http://studygolang.qiniudn.com/170710/fa38bd5deaf78ea0c0e68dd52f16ba8a.jpg) 中共中央政治局委员、国务院副总理马凯出席并讲话 马凯指出,软件是信息网络的核心和灵魂。全球软件业正在步入加速创新、快速迭代、群体突破的爆发期,在促进世界经济发展和人类文明进步中将发挥越来越重要的作用。中国政府高度重视发展软件产业,制定了鼓励软件产业发展的重大政策,...阅读全文

MPS 高性能的HTTP(s)正向反向代理库MPS

MPS 是一个高性能 HTTP(s)中间代理库,它支持正向代理、反向代理、中间人代理、隧道代理、Websocket 代理. MPS is a high-performance HTTP(S) proxy library that supports forward proxies, reverse proxies, man-in-the-middle proxies, tunnel proxies, Websocket proxies. 项目地址:https://github.com/telanflow/mps ## Feature - 支持 HTTP(s)代理、正向代理、反向代理、中间人代理、Websocket 代理等 - TCP 连接池、证书池 - 中间件( Mid...阅读全文

招聘啦!

招聘岗位:全栈工程师 会计 创客教师岗位:全栈工程师岗位职责1.负责公司产品中服务器端的研发、优化和维护工作;2.负责公司产品中前端页面的开发、优化和维护工作,包括微信小程序和Web前端等;3.参与公司产品的业务,框架选型等调研及讨论工作;岗位要求1.统招本科及以上, 计算机相关专业,如软件工程,计算机工程与技术等;2.熟悉并精通至少一种常用编程语言(JAVA/Python/Golang等);3.熟悉HTML/CSS/JS/AJAX等前端技术,有丰富前端开发经验者优先;4.熟悉Linux常用命令,有一定运维经验者优先;5.了解常用MySQL命令,有查询语句优化经验者优先;5.了解Nginx/Tomcat/Apache等至少一种者优先;6.了解Spring Boot等框架者优先;了解熟悉分布式...阅读全文

博文 2020-01-04 19:32:47 0bb588e5f249

IE 11下载文件中文乱码解决(go/php)

IE 11下载文件的时候发现乱码. 网上查了下资料,了解了一下,主要是user-agent变了,不再是MSIE,面是rv:11.0这样,所以只要服务端判断出是IE 11,处理跟MSIE一样。 GO: func setDownloadFileName(w http.ResponseWriter, fileName, agent string) { if strings.Contains(agent, "MSIE") { fileName = url.QueryEscape(fileName) fileName = strings.Replace(fileName, "+", "%20", -1) } if strings.Contains(agent, "rv:") && strings.Co...阅读全文

博文 2016-04-07 21:00:06 rariki

选择一个 Go 框架

![](https://raw.githubusercontent.com/studygolang/gctt-images/master/choose-framework/heading.jpg) 每一天,或者是每隔几天,总有人来到 [/r/golang](https://www.reddit.com/r/golang/) ,并询问些类似如下的问题“哪个框架是最好的?”。我认为我们应该尝试提出这个问题,至少以一种容易理解的方式提出。你不应该使用框架。 对于一个复杂的问题,这也许是一个非常简洁的答案。这并不是说你任何时候都不应该使用框架。众所周知,当我们开发软件的时候,有这么一种趋势,慢慢形成适应通用开发的模式,并且一次又一次地加快开发同样的东西。它试着尽可能的消除重复代码。 ## 标准库或 ...阅读全文

博文 2018-02-13 17:53:25 polaris