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

数人云|90%产品服务化,细说豆瓣的5年变革之路

背景 今天主要分享下微服务中的Auto Scale,豆瓣2005年3月上线,是一家历史比较悠久的互联网公司,主要覆盖文化综合领域的Web、APP等各种产品,现在有豆瓣读书、豆瓣电影、豆瓣音乐等等。 Markdown 〓 豆瓣简介 在技术方面,豆瓣主要的开发语言是Python和Golang,豆瓣拥有自研私有云平台Douban App Engine(以下简称“DAE”),上面托管豆瓣网所有应用使用配置来描述应用:应用依赖MQ、Daemon,以及Cron,这样开发者使用一个配置文件就可以描述对资源的所有需求,平台拿到描述文件后可以在上面做需要的资源管配。 Markdown 〓 Douban App Engine 在DAE上会统一调度所有资源,产品开发人员不必关心具体的机器设备,比如无需关心某个业务...阅读全文

博文 2017-09-30 04:04:59 数人云

LiteIDE使用

LiteIDE是一款开源,跨平台的轻量级Go语言集成开发环境。操作简单,提示迅速!当然不足之处也有很多,不过除了golad之外,个人觉得比vscode,eclipse等用的更舒心一点(ps:指的是编写golang,每个人的感受不一样,勿喷)目前本人使用的LiteIDE版本号是:x36.1其中让我感受不是很好的两个点是:1.没有自动go lint检测,需要手动。2.更改键盘映射不能捕获按键的内容,需要自己粘贴复制比方说Ctrl+C之类的上去,如果不能接受这两点需要考虑考虑。当然也有可能是我玩的不够透彻,如果有人知道,请评论告知,感激不敬:)。那么,接下来就让我们来学习一下LiteIDE这款国人开发的编辑器的简单用法:当我们使用一款IDE的时候,首先当然是配置一下环境,其次是快捷键,界面布局之类...阅读全文

博文 2019-10-25 15:32:49 aside section._1OhGeD

Protobuf编码指南

这个文档会介绍protocol buffer的二进制有线格式(binary wire format)。你并不是需要理解这些后才能在应用里使用protocol buffer,但是当你想知道不同的protocol buffer格式是如何影响编码后的消息体的体积时,这些知识会非常有用。 一个简单的消息 假设有一个非常简单的消息定义: message Test1 { optional int32 a = 1; } 在应用中,你创建了一个Test1消息并把a设置为150。然后你把消息序列化到输出流中,如果你能查看编码后的消息,你会看到三个字节: 08 96 01 到目前为止,如此小而且都是数字-但是这是什么意思呢?继续往下看 Varint编码 要理解上面protocol buffer编码的数据,你需要...阅读全文

博文 2019-09-29 22:32:48 KevinYan

我们采访了阿里云云数据库SQL Server的产品经理,他说了解这四个问题就可以了

摘要: 2017年杭州云栖大会,阿里云宣布云数据库支持SQL Server 2016,阿里云云数据库家族又新添一名成员,进一步丰富了阿里云云数据库产品家族,在大会期间,我们采访了阿里云云数据库产品经理胜通,听他为我们解析云数据库SQL Server 2016版。 ​ 为什么推出SQL Server 2012/2016 Web基础版 SQL Server版本更新近些年非常快,阿里云数据库作为云服务商,针对新版本提供支持服务于云上客户是推出2016基础版的主要原因,Web版高性价比优势是它作为云数据库SQL Server首选版本,所以我们优先推出SQL Server 2012/2016 Web基础版。 SQL Server 2012/2016 Web基础版适合哪类用户使用?有什么优点? ...阅读全文

ElasticSearch+Spark 构建高相关性搜索服务&千人千面推荐系统

​ElasticSearch+Spark 构建高匹配度搜索服务+千人千面推荐系统 【点击下载】基于大众点评搜索以及推荐业务,从企业实际项目落地实践的角度出发,在使用SpringBoot加mybatis完成用户登录、注册、商家入驻以及结合前端模板搭建运营后台门店服务管理功能后,借助ElasticSearch的最新版本ES7逐步迭代,完成高相关性进阶搜索服务,并基于spark mllib2.4.4构建个性化千人千面推荐系统。适合人群想了解EasticSearch,对搜索推荐系统感兴趣,符合技术储备的同学技术储备要求熟悉JavaWeb基本应用了解MySQL常用命令章节目录:第1章 课程导学【终于遇到你】本章综合讲述了点评搜索推荐课程的项目业务背景,架构设计理念以及所需要用到的核心技术能力。1-1 ...阅读全文

博文 2019-12-09 02:45:50 xiaochuangdan

Golang 实现LRU算法

缓存文件置换机制是计算机处理缓存存储器的一种机制。 计算机存储器空间的大小固定,无法容纳服务器上所有的文件,所以当有新的文件要被置换入缓存时,必须根据一定的原则来取代掉适当的文件。此原则即所谓缓存文件置换机制。 缓存文件置换方法有: 先进先出算法(FIFO):最先进入的内容作为替换对象 最近最少使用算法(LFU):最近最少使用的内容作为替换对象 最久未使用算法(LRU):最久没有访问的内容作为替换对象 非最近使用算法(NMRU):在最近没有使用的内容中随机选择一个作为替换对象 type Lru struct { max int l *list.List Call func(key interface{}, value interface{}) cache map[interface{}]*l...阅读全文

博文 2019-08-29 11:33:03 howie_矜暮

佛系程序员的月薪五万指南

摘要: 大师:很简单,我这里有一份佛系月薪 5 万指南,我看你骨骼清奇、脑门光亮,一看就是将要大富大贵之人,这份指南可以助你快速实现小目标! ![图片描述](http://img.blog.csdn.net/20180412102533464?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQveXVucWlpbnNpZ2h0/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/SouthEast) 程序员问大师…… 青年:大师,你看咪蒙的助理都月薪 5 万了,我也想月薪 5 万! 大师:很简单,我这里有一份佛系月薪 5 万指南,我看你骨骼清奇、脑门光亮...阅读全文

零基础学习php——入门篇

在Web开发的世界里除了PHP之外还有很多编程语言可供挑选,主流的有Node.js、Python、Java,.NET、Golang,Ruby。其中使用最多的是PHP,特别是在中小企业、互联网创业公司。 在说编程语言之前,我们先了解一下网站是如何在浏览器打开的: 359b033b5bb5c9ea6434d6a7d339b6003bf3b3ab.png 1. 输入地址 向浏览器输入一个网址 2. DNS解析 请求一旦发起,浏览器首先要做的事情就是解析这个域名,一般来说,浏览器会首先查看本地硬盘的 hosts 文件,看看其中有没有和这个域名对应的规则,如果有的话就直接使用 hosts 文件里面的 ip 地址。 如果在本地的 hosts 文件没有能够找到对应的 ip 地址,浏览器会发出一个 DNS请...阅读全文

博文 2019-08-20 16:02:48 胡木木OvO

Go的学习总结

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Ybt_c_index/article/details/79366331 在上家公司工作了两月余,将go学了个大概,最近转回java,特在此总结之前对于go的学习,不讨论细节问题,从宏观一点的角度来看待这门语言。 在这段时间的学习中,感触很深的就是:这可能是一个很优秀的语言,但是我感觉我始终是适应不了它,比较难驾驭,只能说能力有限。 go的一些特性 首先就吐吐槽吧,说一下不是很让人习惯的地方。 1、无分号;结尾,这可能是被吐槽的很多的地方了,这个确实很奇葩。比如在声明数组的时候,如果在内部使用了换行,则最后一个元素末尾需要加,,否则会报错。 var strArray [4]string = [4...阅读全文

博文 2019-01-24 17:31:04 Ybt_c_index

centos7下搭建ngrok服务器进行内网穿透

以下以阿里云centos7服务器为例,并且已经安装好git、golang 一、下载ngrok cd /data/wwwroot git clone https://github.com/tutumcloud/ngrok.git 二、生成ngrok使用的https证书 cd /data/wwwroot/ngrok NGROK_DOMAIN="ngrok.test.com" openssl genrsa -out base.key 2048 openssl req -new -x509 -nodes -key base.key -days 10000 -subj "/CN=$NGROK_DOMAIN" -out base.pem openssl genrsa -out server.key 20...阅读全文

博文 2018-12-10 16:34:45 王乐城愚人云端

GO笔记之为什么要学GO

新学一门语言,大家都想先弄清楚为什么要学它?玩知乎的一段时间更是让我感受深刻,诸如为什么要学习Python?为什么要学习C?为什么要学习Java?之类问题经常出现在眼前。以前学语言时倒没怎么关心过这类问题。今年公司由于新业务需要开始全面从PHP转型到Golang。所以我学习它也就是为了工资。额?不能这么俗气,还是具体想想自己为什么要学习Golang吧。作为一名golang新人,在写这篇文章时我搜罗到不少golang的优秀资料,在文章最后分享出来。大势所趋趋势如此,这应该是多数朋友开始学习它的原因。追涨杀跌,这是大多数人喜欢的操作手法。何以证明这个趋势呢?首先,我的亲生经历是听到看到golang这个词的频率越来越高,不过,这个太难量化了。来介绍一款工具,google trend,即google...阅读全文

博文 2019-06-09 10:14:53 波罗学​

成为一名Java架构师的必修课

一.热门框架源码学习设计模式篇Spring5源码解读篇Mybatis篇SpringBoot2篇​二. 微服务架构架构设计篇BAT互联网架构这些年的演进分析国内外常见分布式系统架构状况介绍微服务架构指南:领域驱动设计DDD模型SpringCloud1-2实战篇Config分布式配置中心Eureka注册与发现机制Ribbon客户端负载均衡Hystrix服务熔断组件Feign声明式服务调用Zuul网关服务过滤器详解项目实战:SpringCloud微服务架构​三.高并发和分布式技术高并发,高可用,海量数据,没有分布式的架构知识肯定是玩不转的,要了解分布式中的,分布式架构原理,分布式架构策略,分布式中间件,分布式架构实战等等内容​四. 性能优化JVM优化篇WEB程序调优篇SQL优化篇​知己知彼、百战不...阅读全文

博文 2019-03-18 15:37:14 a1127889067

博学谷-Go语言与区块链在线就业班

博学谷-Go语言与区块链在线就业班课程简介区块链技术是21世纪的重大创新技术,它是数字化资产的分布式账本,是构建价值互联网的基石,是驱动分享经济发展的新引擎。Go语言是区块链主流编程语言,简单易学、开发速度快且并发性好。《Go语言与区块链》就业课程涵盖 go高级编程,go web开发,区块链密码学,以太坊,分布式微服务,hyperledger等技术要点,旨在打造基础扎实、知识面广、综合能力强的区块链应用层及底层技术引领者。学完收获完成服务器端程序的开发完成Web系统设计和开发完成以太坊平台Dapp应用的设计和开发完成区块链公链开发完成hyperledger fabric联盟链应用的设计和开发适合人群在校大学生刚刚毕业的技术小白零基础想转行的非IT在职人员有编程经验,想转行区块链的IT在职人员...阅读全文

博文 2019-07-18 22:32:46 人生唯我对你好

从程序员到CTO

2019年最新总结,从程序员到CTO,从专业走向卓越,大牛分享文档pdf与PPT整理 整理大牛分享文档如下,持续更新一线开发架构,技术文档见github链接:https://github.com/0voice/from_coder_to_expert 内容有: 网易蜂巢公有容器云架构之路 新浪微博redis优化历程 微博Cache架构设计实践 Go在大数据开发中的经验总结 基于Go构建滴滴核心业务平台的实践 Go in TiDB 负载均衡利器 HAProxy功能剖析及部署案例 高可用技术的实践分享 高性能存储及文件系统 个性化推荐架构设计和实践搜狐视频 工商数据中心架构创新之路 互联网对传统企业应用架构 基于Kafka-Spark Streaming的数据处理系统及测试 交互式直播推流编码器...阅读全文

Go并发调用的超时处理

之前有聊过 golang 的协程,我发觉似乎还很理论,特别是在并发安全上,所以特结合网上的一些例子,来试验下go routine中 的 channel, select, context 的妙用。 场景-微服务调用 我们用 gin(一个web框架) 作为处理请求的工具,没有安装过的话,需求是这样的:一个请求 X 会去并行调用 A, B, C 三个方法,并把三个方法返回的结果加起来作为 X 请求的 Response。但是我们这个 Response 是有时间要求的(不能超过3秒的响应时间), 可能 A, B, C 中任意一个或两个,处理逻辑十分复杂,或者数据量超大,导致处理时间超出预期,那么我们就马上切断,并返回已经拿到的任意个返回结果之和。 我们先来定义主函数: func main() { r ...阅读全文

博文 2019-01-13 16:34:38 cookedsteak

时速云与热璞科技达成战略合作,共同开拓企业云服务市场

2018年7月,企业级容器云计算领军企业时速云与上海热璞网络科技有限公司(简称热璞科技)正式达成战略合作,双方将基于各自的主营业务与资源优势,在产品、资源、渠道等多个方面展开深度合作,共同开拓金融、能源、运营商、广电等领域的云服务市场。 时速云是国内首家基于 Kubernetes 的企业级容器云计算服务商,业务涵盖容器 PaaS 平台、DevOps、微服务治理、AIOps 等领域,拥有金融、能源、运营商、制造、广电、汽车等领域的诸多大型企业及世界 500 强客户。 作为国内领先的企业级容器云计算服务提供商,时速云始终坚持以客户需求为中心,用领先的技术实力,为用户提供更高品质的产品和服务。目前,时速云已经为国家电网、新奥集团、戴姆勒奔驰等众多知名企业成功交付了容器云 PaaS 平台及相关产品,...阅读全文

Mac快搭Go环境

1. 下载安装go语言安装包进入https://golang.org/dl/ 选择下载.pkg 直接双击.pkg文件即可,这里安装路径默认方便后续环境配置2. 配置环境打开iTerm终端查看隐藏文件ls -a若不存在文件 .bash_profile就新建touch .bash_profile进入文件vim .bash_profile编辑文件i添加代码 export GOPATH=/Users/guoyu/go export GOBIN=$GOPATH/bin export PATH=$PATH:$GOBIN 需要注意的是GOPATH=/Users/用户/go,用户修改为mac登录用户结束编辑Esc保存推出:wq使配置文件生效source .bash_profile3. 下载编辑器开始上手进入...阅读全文

博文 2019-01-10 12:34:39 郭禹_7639

最难求职季,Java程序员如何在“寒冬”中突出重围?

6 月 P2P暴雷,8 月美图 Q2 季度财报亏损上亿;12 月,斗鱼海外部突然“死亡”,锤子只留下了 40% 的人。某些大厂,也在默默加大“人员优化”的力度。寒冬已至,不必赘述。但我们的重点应当是如何解决问题,而不是问题本身。面对寒冬,如何突出重围? ![image.png](https://static.studygolang.com/190110/2e589965a52955c3dc785ad1d2aae4ff.png) 如果你“不幸”遭遇了裁员,不论现在状态如何,都应当「粮草先行」。很多年底被裁的人都现打算「稍作休息」。事实上一年十二个月都是求职季,即使没有现成的机会,也应着手准备,梳理思路,提起进入求职市场。如果你在这波寒流中幸存,也应保持警惕感,毕竟这不是第一次寒流,也绝不会是最...阅读全文

博文 2019-01-10 17:58:07 Javaspring12

BAT架构2019年最新总结,从程序员到CTO,从专业走向卓越

2019年最新总结,从程序员到CTO,从专业走向卓越,大牛分享文档pdf与PPT整理整理大牛分享文档如下,持续更新一线开发架构,技术文档下载地址:https://github.com/0voice/from_coder_to_expert网易蜂巢公有容器云架构之路新浪微博redis优化历程微博Cache架构设计实践Go在大数据开发中的经验总结基于Go构建滴滴核心业务平台的实践Go in TiDB负载均衡利器 HAProxy功能剖析及部署案例高可用技术的实践分享高性能存储及文件系统个性化推荐架构设计和实践搜狐视频工商数据中心架构创新之路互联网对传统企业应用架构基于Kafka-Spark Streaming的数据处理系统及测试交互式直播推流编码器的设计Go在区块链的发展和演进NSQ-重塑之路Al...阅读全文

博文 2019-06-09 18:02:39 音视频高级开发

[译] 使用 Go 和 ReactJS 构建聊天系统 (一)

本节完整代码:GitHub 我们将通过设置两个项目来开始这个课程。一旦我们完成了枯燥的设置,就可以开始添加新功能并构建我们的应用程序,将看到一些积极的结果! 目标 在这部分课程结束后,你将掌握: 在 backend/ 目录里创建基本的 Go 应用 在 frontend/ 目录里创建基本的 ReactJS 应用 通过实现这两个部分,你将能够在接下来的几节课程中为聊天系统添加一些功能。 准备工作 为了完成本系列教程,我们先要做以下的准备工作。 需要安装 npm 需要安装 npx。这个可以输入 npm install -g npx 安装。 Go 语言版本需要满足 1.11+。 需要一个代码编辑器来开发这个项目,例如 VS 设置 Go 后端项目 如果你熟悉 Go 的话,这一步非常简单,我们首先要在项...阅读全文

博文 2019-08-02 14:34:31 咔叽咔叽

阿里免费教你学习前端开发CSS基础

课程介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 课程目标 • 掌握CSS开发技术 适合人群 • 前端开发者 课时列表 • 课时1:CSS基础 • 课时2:CSS选择器(上) • 课时3:CSS选择器(下) • 课时4:CSS属性_背景、颜色、边框 • 课时5:CSS属性_字体...阅读全文

学习新语言golang

在学习完java微服务框架后,虽然java微服务生态完整,更稳定。但是我感觉还是有点冗长笨重的感觉。我想的微服务应该是是一个服务轻量级,服务开发简洁直奔业务,运行稳定资源合理运用实现高并发。于是我决定去学习下新技术,go语言以及它的框架。在我学完后我会对go和java微服务开发做一个优势对比...阅读全文

编程高阶用法--开发者高频词汇

*有追求的开发者总会在开发时遇到变量命名困难或者命名冗长庸俗的时候。阅读代码过程中遇到一些很好的命名,也遇到一些不好的。当初并没有记录下来,之后才开始记录,有的也找不到出处了。以下高频词汇供有追求的开发者参考* 多注意使用高阶词汇表达,变成一个有追求的开发者吧。 stale 陈腐的,陈旧的 用于需要被替换、刷新的资源 transport 传输器 restricted 限制的 exclusive 专一的 of 用于Enum 反例 com.netflix.eureka.Version#toEnum org.springframework.data.domain.PageRequest#of(int, int) HystrixCommandAspect.HystrixPointcutType#of...阅读全文

博文 2019-03-20 11:34:42 seeing

LiteIDE X for Mac有哪些功能?LiteIDE X for Mac功能分享

LiteIDE X for Mac是Mac平台上的一款用于Go编程语言的专用和多平台IDE。是一个轻量级的开源跨平台 Go语言 IDE,是最早的面向Go语言的IDE之一。 LiteIDE X for Mac功能介绍1、核心功能系统环境管理MIME类型管理可配置编译命令支持文件搜索替换和恢复快速打开文件、符号和命令插件系统2、高级代码编辑器代码编辑支持 Go语言、Markdown 和 Golang Present快速代码导航工具语法高亮和配色方案代码完成代码折叠显示保存修订重读文件使用代码差异方式3、Go 语言支持Go 编译环境管理使用标准 Go 工具和 GOPATH 编译和测试自定义 GOPATH 支持 系统定义、IDE 定义和项目定义自定义项目编译配置Go 包浏览器Go 类视图和大纲Go ...阅读全文

博文 2019-06-10 17:32:47 小小木子a

cmdr 04 - 简单微服务 (daemon)

cmdr 04 - simple micro-service based on cmdr v0.2.21 My ado is too much. 所以这次直入主题,谢绝吐槽。不知道 cmdr 干嘛用的,无妨看看前文 另一个go命令行参数处理器 - cmdr cmdr 02 - 复刻一个 wget cmdr 03 - 用流式接口定义命令行参数处理选项 那么,golang适合做后端开发,无论是 gRPC 还是 RESTful 都是它的强项。 一旦我们想要开发一个微服务时,抛开核心逻辑不谈,也不论 DevOps 方面究竟是 K8s,还是 Docker,还是裸机,总要面对一个启动、调试、测试的日常问题。 cmdr 除了提供命令行参数的解释能力之外,也额外提供了一个daemon插件,它可以帮助你简化日...阅读全文

浅谈微服务中的函数计算

目前如果提到招聘中问到最多的技术点,那么一定就是大数据和微服务。随着分布式计算的普及,微服务也越来越走进了我们的生活。现在如果作为一个后端程序员,如果你不了解微服务,恐怕你自己都不好意去面试吧。下面我们就来简单了解下微服务中的函数计算。 浅谈微服务中的函数计算 函数计算起源 作为程序员,我们一直希望的就是专注写代码,不管是产品经理,还是运维人员,都不要打扰我们。但是在过去这是不现实的,特别是一些小公司,作为一个程序员,我们不仅要能够自己写后台代码,还要会写前端,同时也要会切图,更要懂服务器的部署,可以说过去的程序员都是全栈工程师,他们每个人都能顶一个团队。但是随着时间发展,现在软件功能越来越复杂,程序员更倾向于专注。每个人甚至只能开发软件的一个模块功能。服务器的部署和运维有了专业的人员来处理...阅读全文

博文 2019-09-29 04:32:45 aside section ._1OhGeD

网易轻舟微服务大升级,突破在线业务中台的异构挑战

7月26日,网易云创峰会在杭州举行。会上,网易轻舟微服务发布了支持Service Mesh、分布式事务框架GTXS、全新API网关等重大更新。网易云基础服务总经理陈谔称,此次更新将主要帮助企业应对在线业务中台建设过程中面临的挑战,帮助企业完成业务架构的进化,建成在线业务中台,支撑业务快速创新。在线业务中台建设面临两大挑战去年的云创大会,是网易一站式微服务解决方案“轻舟”的首次亮相。一年来,轻舟在业界进行了大量实践和探索。网易考拉基于轻舟微服务平台实现了核心系统的分布式改造,全面实现资源层和应用层的弹性,有效支撑了618、818、双11、黑五等电商大促活动;德邦快递基于网易轻舟微服务平台进行了系统的微服务改造,最终实现IT的全面升级,加快数字化进程;大华股份借助网易轻舟微服务平台,构建了统一的...阅读全文

博文 2019-07-26 20:32:43 网易云社区

java程序员的福音,10本最新学习书籍免费下载

谁不爱免费的东西?最少我喜欢,比如说免费的电子书、pdf,幸运的是,互联网随处都是免费的书籍和电子书,但感到遗憾,绝大多数的品质不怎么高,所以我搜罗了10本完全免费的Java书籍。列表这些书籍可以ePub,Mobi、或者PDF格式免费下载以及在线阅读。小编分类整理了许多java进阶学习电子书籍,需要下载的请加JAVA高阶学习Q群:664389243 就能下载这十本2019java进阶学习书籍。1、《Introducing Java 8》​Java SE 8版本已经是其历史上对Java最大的变更,其关键特点是lambda表达式。假若一名有工作经验的开发者,期望工作中选用Java 8,那么在深入分析lambda表达式和Java 8的另一个关键特点:Streams API,这篇简洁明了的白皮书将带...阅读全文

博文 2019-01-09 20:47:49 javaGO007

微服务系列笔记之RabbitMQ的入门使用

导语 上一篇文章我们讲到了broker模式,其实在Micro框架中已经为我们提供了一个rabbitMQ插件,我们可以借助这个插件来实现我们的生产与消费 启动RabbitMQ 这里推荐使用docker启动,比较迅速 rabbitmq是容器的名字 docker start rabbitmq 如果你之前从未启动过rabbitmq容器,你需要使用docker实例化一个容器 docker run -d -p 15672:15672 -p 5672:5672 -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin --name rabbitmq --hostname=rabbitmqhostone rabbitmq:latest 156...阅读全文

博文 2019-08-14 21:08:40 陌无崖

golang实现rpc远程调用的server端和client端范例2018-06-12

定义rpc调用的方法package librarytype Watcher intfunc (w *Watcher) GetInfo(arg int,result *int) error{ *result = 1 return nil} 服务器端代码package mainimport( "fmt" "net" "net/rpc" "net/http" "library")func main(){ watcher := new(library.Watcher) rpc.Register(watcher) rpc.HandleHTTP() l,err := net.Listen("tcp", ":1234") if err != nil{ fmt.Println("监听失败,端口可能已经被占用...阅读全文

博文 2019-09-30 15:32:50 aside section ._1OhGeD

重新学习web后端开发-001-写在前面的话

"长风破浪会有时 直挂云帆济沧海" —— 李白 1. 为什么会写这个系列 随着互联网技术飞速的非常,web开发一直都是互联网技术的重要部分之一。在作者十余年的工作中,经历了从程序员到高级工程师,然后开始负责项目,慢慢的带团队,再到负责系统架构和整个技术团队管理,期间还参与产品设计、平台运营等方面工作。从技术人员角度来看,我见到有很多入行1-2年的程序员,往往在技术方向上比较迷茫,尽管有了一些项目的经验积累,但还存在很多技术上的不足和盲点。 在我看来,学习技术的过程就是一个从简单->复杂->简单的过程。前期从简单的项目入手,跟着前辈学习,进行模仿,逐渐的会发现需要考虑很多的细节,仅仅就是一个简单的"CRUD",就包含了很多之前没有想到的细节。有句话是这样说的:“魔鬼...阅读全文

博文 2019-02-28 23:34:42 donny

Go 编译器内核:给 Go 新增一个语句 —— 第一部分

这是两部分系列文章中的第一部分,该文章采用教程的方式来探讨 Go 编译器。Go 编译器复杂而庞大,需要一本书才可能描述清楚,所以这个系列文章旨在提供一个快速而深度优先的方式进入学习。我计划在以后会写更多关于编译器领域的描述文章。 我们会修改 Go 编译器来增加一个新的(玩具性质)语言特性,并构建一个经过修改的编译器进行使用。 ## 任务 —— 增加新的语句 很多语言都有 `while` 语句,在 Go 中对应的是 `for`: ```go for { } ``` 增加 `while` 语句是比较简单的,因此 —— 我们只需简单将其转换为 `for` 语句。所以我选择了一个稍微有点挑战性的任务,增加 `until`。`until` 语句...阅读全文

博文 2019-12-03 10:37:28 suhanyujie

[系列] - 使用 go modules 包管理工具(一)

概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vendor、glide、go modules 等。 最开始,使用过 dep,当时被朋友 diss 了,推荐我使用 go modules 。 现在来说一下 go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。 说一个环境变量:GO111MODULE,默认值为 auto 。 当项目中有 go.mod 时,使用 go modules 管理,反之使用 旧的 GOPATH 和 v...阅读全文

博文 2019-08-27 11:34:29 訢亮

双11同款!阿里云发布全局事务服务GTS:每秒处理10万笔事务

摘要: 5月30日,阿里云宣布全局事务服务产品GTS正式商用,每秒可处理10万笔事务,将分布式事务这个“贵族技术”变为“平民技术 ”,可解决跨数据库、消息、服务的分布式环境下的事务一致性问题,让开发者无需考虑复杂的事务问题,加速微服务落地,效率比传统的XA协议提升了10倍之多。 5月30日,阿里云宣布全局事务服务产品GTS正式商用,每秒可处理10万笔事务,将分布式事务这个“贵族技术”变为“平民技术 ”,可解决跨数据库、消息、服务的分布式环境下的事务一致性问题,让开发者无需考虑复杂的事务问题,加速微服务落地,效率比传统的XA协议提升了10倍之多。 分布式事务是企业在搭建微服务时无法绕过的一道墙,全局事务服务GTS可以将复杂分布式事务逻辑与具体的业务系统分离,实现分布式事务的生命周期...阅读全文

GO语言学习笔记(一)Go语言的初步了解

一·、Go语言的官方网站https://golang.org/dl/二、安装Go语言Linux版本: tar zxf go1.11.4.linux-amd64.tar.gz mv go /usr/local/ 三、设置GOPATH和GOROOT环境变量 vim /etc/profile 增加这三行: export GOROOT=/usr/local/go export PATH=$GOROOT/bin:$PATH export GOPATH=$GOROOT/gocode 使其生效:source /etc/profile 四、验证 执行:go version go version go1.11.4 linux/amd64 五、Go环境变量介绍 执行:go env GOARCH="amd64" ...阅读全文

博文 2019-01-24 18:35:17 Mr大表哥

golang里面自定义tls的ciphers

下面的内容是从stackoverflow上面抄过来的。https://stackoverflow.com/questions/31226131/how-to-set-tls-cipher-for-go-server You can see an example in secrpc/tls_server.go: tls.Listen("tcp", addr, &tls.Config{ Certificates: []tls.Certificate{cert}, CipherSuites: []uint16{ tls.TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256, tls.TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256, }, Min...阅读全文

博文 2019-04-04 12:34:39 areece

重磅!容器集群监控利器 阿里云Prometheus 正式免费公测

Prometheus 作为容器生态下集群监控的首选方案,是一套开源的系统监控报警框架。它启发于 Google 的 borgmon 监控系统,并于 2015 年正式发布。2016 年,Prometheus 正式加入 Cloud Native Computing Foundation,成为受欢迎度仅次于 Kubernetes 的项目。 7月3日,阿里云Promtheus云托管实例正式开始免费公测。针对容器集群监控场景,提供了完整的采集、存储、监控、告警、图表展现的数据监控服务。通过与 Kubernetes 平台运维解耦合,使得 Prometheus 监控服务不受被监控平台的性能、稳定性、可靠性等诸多因素的影响。通过提供全托管服务,用户无需部署运维 Prometheus 监控实例,使整个容器平台 ...阅读全文

博文 2019-07-19 21:32:38 阿里云云栖社区

阿里免费教你学习前端开发CSS基础

课程介绍 层叠样式表(英文全称:Cascading Style Sheets)是一种用来表现HTML(标准通用标记语言的一个应用)或XML(标准通用标记语言的一个子集)等文件样式的计算机语言。CSS不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。 CSS 能够对网页中元素位置的排版进行像素级精确控制,支持几乎所有的字体字号样式,拥有对网页对象和模型样式编辑的能力。 课程目标 • 掌握CSS开发技术 适合人群 • 前端开发者 课时列表 • 课时1:CSS基础 • 课时2:CSS选择器(上) • 课时3:CSS选择器(下) • 课时4:CSS属性_背景、颜色、边框 • 课时5:CSS属性_字体文本...阅读全文

Kubernetes+Docker+Istio 容器云实践

随着社会的进步与技术的发展,人们对资源的高效利用有了更为迫切的需求。近年来,互联网、移动互联网的高速发展与成熟,大应用的微服务化也引起了企业的热情关注,而基于Kubernetes+Docker的容器云方案也随之进入了大众的视野。开普勒云是一个基于Kubernetes+Docker+Istio的微服务治理解决方案。 一、Microservices 1.1 解决大应用微服务化后的问题 现在各大企业都在谈论微服务,在微服务的大趋势之下技术圈里逢人必谈微服务,及微服务化后的各种解决方案。 image 1.2 当我们在讨论微服务的时候我们在讨论什么? 使用微服务架构有很多充分的理由,但天下没有免费的午餐,微服务虽有诸多优势,同时也增加了复杂性。团队应该积极应对这种复杂性,前提是应用能够受益于微服务。 ...阅读全文

博文 2019-10-17 19:33:16 aside section ._1OhGeD

B站在微服务治理中的探索与实践

image 作者 | 曹国梁 编辑 | 田晓旭本文整理自曹国梁在趣头条技术沙龙上发表的演讲《B 站在微服务治理中的探索与实践》。 大家都知道微服务有两个痛点,一个是如何拆分微服务,微服务的边界怎么划分制定;二是微服务上了规模之后如何管理,因为只要上了规模,任何小小的问题都可能会被放大,最后导致雪崩效应。 1微服务化带来的挑战 image 上图是我们 B 站全链路追踪的一个截图,这只是其中一个拓扑图的调用链路,就已经非常复杂了。可以想象一下,如果是整个公司所有的调用链路,会有多么复杂。而这就带来了微服务治理的复杂性问题:如何保证注册和发现;如何保证多机房高可用;如何保证低延迟等等。 其次,微服务化以后,服务拆分的比较多,调用链也比较长,调用链很容易受到一个坏节点的影响,导致用户端出现超时的现象...阅读全文

博文 2019-07-22 09:32:45 代码技巧

最新Java高级架构师图集!需要的限时免费领取

源码分析专题 详细介绍源码中所用到的经典设计思想,学习大牛是如何写代码的,提升技术审美、提高核心竞争力。 工程化管理专题 工欲善其事必先利其器。要成为资深开发者,需要选择好的工具。提升开发效率和团队协作效率,让自己有更多时间来思考。 微服务架构专题 围绕微服务的通用模式,讲解Spring Cloud的常见用法及原理让微服务的开发更方便、快捷,让微服务应用更加稳定、可用。 高并发分布式专题 迎接高并发大数据的挑战,从深度到广度完善知识体系,成为下一个互联网高薪人才。 性能优化专题 从JVM底层原理到内存优化再到各个中间件的性能调优,只做科学和严谨的性能调优课程。 ![image.png](https://static.studygolang.com/181221/b0f48f0516cca7f...阅读全文

博文 2018-12-21 16:50:05 Javaspring12

为什么踏上了Golang之旅?

作为一个 PHPer AND NODEer,最近踏上了golang的学习之旅。为什么做了这个决定呢?第一大厂都已经对php的抛弃了,虽然现在有swoole,可是大厂真的对它做了很好的支持嘛?不太懂,至少现在swoole的生态,和应用的场面是和node.js差不多的。 因为用习惯了laravel,有composer包的支持,所以现在好多国产PHP框架把JAVA 的那套Spring 微服务搞起来,也支持composer,可是并不像laravel那样原生的支持。如果你遇到了队列,[当然Swoole可以处理],redis,还有mongodb等一系列扩展的时候,你永远逃离不了的是,你必须安装PHP扩展,还有使用一些来阿里云服务的是PHP的SDK都是以HTTP API协议进行调用的,如果你的服务在高风期...阅读全文

博文 2019-11-10 21:33:27 更多精彩内容我为什么不看好 PHP ? 转载看了有点糟心半瓶阳光o_o为什么Laravel会脱颖而出如来神掌laravel 原理机制Mr_Z_HengLaravel如何优雅的使用Swoole万年场保安从PHP 到Golang 的笔记 ( 转 )沐青之枫

Go 编译器概述

![](https://raw.githubusercontent.com/studygolang/gctt-images2/master/go-overview-of-compile/go-compiler.png "'Golang 之旅'插图,由 Go Gopher 的 Renee French 创作") > *本文基于 Go 1.13* Go 编译器是 Go 生态系统中的一个重要工具,因为它是将程序构建为可执行二进制文件的基本步骤之一。编译器的历程是漫长的,它先用 C 语言编写,迁移到 Go,许多优化和清理将在未来继续发生,让我们来看看它的高级操作。 ## 阶段(phases) Go 编译器由四个阶段组成,可以分为两类: * 前端(frontend):这个阶段从源代码进行分析,并生成一...阅读全文

博文 2019-11-09 16:59:25 TomatoAres

golang中使用proto3协议导致的空值字段不显示的问题处理方案

最近在使用grpc协议的时候,由于采用的是Proto3协议,在查找记录信息的时候,由于某些字段会有默认空值,导致在通过协议调用后,返回的json结构中并没有这些字段,虽然作为前端使用没有太大的问题,但是在更多的使用场景中,我们更需要知道该服务返回的确切字段,以便于能够做相应处理,尤其是编译型语言 具体的使用出现场景如下 type MemberResponse struct { Id int32 `json "id"` Phone string `json "phone"` Age int8 `json "age"` } //获取用户信息的接口 func (m *Member) GetMember(req *proto.MemberRequest, resp * proto.MemberRes...阅读全文

博文 2019-10-16 11:02:43 Dal_Zale

国内的git选择,gitee.com,工蜂(git.code.tencent.com),code.aliyun.com

gitee.com OSchina推出的git仓库。服务端可以直接克隆github.com上的项目进来。 git.code.tencent.com 腾讯推出的git仓库,貌似不可以直接在服务器拉取其他git仓库的项目。而且蛋疼的是不支持go get code.aliyun.com 最后选定用这个了。可以在服务器端拉项目但是超时4分钟,基本拉不成。最重要的是支持go get...因为有golang项目,决定用他了! 阿里云注册地址: https://chuangke.aliyun.com/ 可以直接点击申请...阅读全文

博文 2019-06-18 17:02:45 毛毛v5

[系列] - 使用 go modules 包管理工具(一)

概述 我想实现一个开箱即用的 API 框架的轮子,这个轮子是基于 Gin 基础上开发的。 为什么是开箱即用,它会集成哪些功能? 以上功能点,都是常用的,后期可能还会增加。 废话不多说,咱们开始吧。 创建一个项目,咱们首先要考虑一个依赖包的管理工具。 常见的包管理有,dep、go vendor、glide、go modules 等。 最开始,使用过 dep,当时被朋友 diss 了,推荐我使用 go modules 。 现在来说一下 go modules ,这个是随着 Go 1.11 的发布和我们见面的,这是官方提倡的新的包管理。 说一个环境变量:GO111MODULE,默认值为 auto 。 当项目中有 go.mod 时,使用 go modules 管理,反之使用 旧的 GOPATH 和 v...阅读全文

博文 2019-08-26 19:32:46 新亮

go微服务框架go-micro深度学习(一) 整体架构介绍

产品嘴里的一个小项目,从立项到开发上线,随着时间和需求的不断激增,会越来越复杂,变成一个大项目,如果前期项目架构没设计的不好,代码会越来越臃肿,难以维护,后期的每次产品迭代上线都会牵一发而动全身。项目微服务化,松耦合模块间的关系,是一个很好的选择,随然增加了维护成本,但是还是很值得的。 微服务化项目除了稳定性我个人还比较关心的几个问题: 一: 服务间数据传输的效率和安全性。 二: 服务的动态扩充,也就是服务的注册和发现,服务集群化。 三: 微服务功能的可订制化,因为并不是所有的功能都会很符合你的需求,难免需要根据自己的需要二次开发一些功能。 go-micro是go语言下的一个很好的rpc微服务框架,功能很完善,而且我关心的几个问题也解决的很好: 一:服务间传输格式为protobuf,效率上没...阅读全文

博文 2019-08-01 13:58:26 li-peng

什么是API接口测试?用Restbird、Postman工具助力接口自动化测试

API(应用程序接口)正逐渐成为很多软件开发的中心,不同的系统、应用通过API连接、传输数据、互相交互。越多越多的系统从MVC架构转向微服务架构,各个微服务之间通过Rest API进行交互。对于企业来说,相比产品开发完成后,进行UI测试,API测试更容易发现问题,更可能在早期阶段发现问题。并且API测试成本更低,更容易实现自动化测试,并且有更多的成熟的自动化测试工具可以使用,比如RestBird、Postman、SmartBear等,大大提高效率。1.什么是API接口测试?API测试和UI测试有什么区别?API应用一般分为三层:数据层、服务(API)层、展现(UI)层。API层,即业务逻辑层,一般包括用户业务逻辑、用户和服务、数据、应用功能交互规则。API直接触及数据层和展现层,API测试是...阅读全文