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

RabbitMQ系列笔记广播模式和路由模式

导语 上一节介绍了简单的工作模式,即一个队列可以被多个消费者进行消费,只有一条消息被送到消费者,采用公平调度的方式,在以往的例子中似乎我们还没用到交换器进行发送消息,我们都知道,往队列里发送消息,是需要用交换器进行分发的消息的,为什么我们没有申请交换器仍然可以发送消息呢?因为在RabbitMQ服务器中,如果不申请交换器,服务器会使用默认的交换器,所以说,交换器在发送消息的时候必不可少,今天我们学习两种交换器分别为fanout(扇形交换器)和direct(直连交换器) 扇形交换器(日志记录器) 特性 分发消息到与之绑定的所有队列,发送消息到交换器时会忽略routing key(路由),我们可以称它为广播消息。 生产者 申请交换器 指定交换器的名字 指定交换器的类型 err = ch.Excha...阅读全文

博文 2019-08-10 16:32:47 陌无崖

快速一键部署测试环境,降低环境配置风险

摘要: 环境部署是软件测试很重要的一个环节,但也是比较耗时间的环节,很多企业经常是项目立项后,开始邮件申请服务器资源,再三催促审批通过后,进行手工部署搭建环境,然后解决各种依赖和修改各种配置文件。如何有效减少环境部署流程,提升环境搭建效率,并且保证环境配置质量安全呢? 环境部署是软件测试很重要的一个环节,但也是比较耗时间的环节,很多企业经常是项目立项后,开始邮件申请服务器资源,再三催促审批通过后,进行手工部署搭建环境,然后解决各种依赖和修改各种配置文件。如何有效减少环境部署流程,提升环境搭建效率,并且保证环境配置质量安全呢?针对这些需求,新型一站式研发效能平台,云效的环境管理系统提供了解决方案。 首先,解决测试服务器资源管理的问题。 云效平台统一对测试服务器资源(包含:测试服务...阅读全文

go gl 彩色的三角形

go 彩色三角形 之前在网上想找一个能渲染颜色的go gl图形编程例子,,找了半天都是白色的三角形。。。于是自己研究了半天,大概是研究出来的样子,记录到这里来分享一下。 作者用的是mac开发的,windows的go gl需要麻烦一点的操作,读者自行裁决吧。 配置 1.go下载 2.配置mac go环境请自行搜索一下。 3.IDE。作者用的是goland,破解的话,也请自行搜索一下。 go开发包 由于国内的墙比较严重,建议用github上的镜像下载,然后本地配置一下。 借助github的golang下载 下载下来之后把包拖动到指定的目录,比如golang.org中: 配置 核心开发包 "github.com/go-gl/gl/v4.1-core/gl" "github.com/go-gl/gl...阅读全文

博文 2019-02-08 16:34:43 不求甚解_4703

Go语言实现实战“云存储”系统

课程介绍:云程序员,微服务,是最近几年一直被频频提到的热门词汇。本课程将通过Golang来实现一个支持断点续传和秒传的分布式云存储服务系统。课程中老师将手把手带你从快速构建“云存储”原型系统,到分块上传,到搭建访问阿里云,最后进行系统的微服务化,让你快速掌握架构传输性能和稳定性的优化过程,秒变云时代中第一代“云程序员”。 课程截图: 如果觉得可以,可以添加威信:sulindong1993,其中Price is 5...阅读全文

博文 2019-06-24 20:02:42 IT资源信息

解析器眼中的 Go 语言

Home Menu 解析器眼中的 Go 语言 02 Feb 2019 Golang Go实现原理 编译原理 词法分析 语法分析 抽象语法树 词法分析 lex Go 语法分析 文法 分析方法 自顶向下 自底向上 Lookahead Go 辅助方法 节点 总结 相关文章 Reference 代码其实就是按照约定格式编写的一堆字符串,工程师可以在脑内对语言的源代码进行编译并运行目标程序,这是因为经过训练的软件工程师能够对本来无意义的字符串进行分组和分析,按照约定的语法来理解源代码。既然工程师能够按照一定的方式理解和编译 Go 语言的源代码,那么我们如何模拟人理解源代码的方式构建一个能够分析编程语言代码的程序呢。 我们在这一节中将介绍词法分析和语法分析这两个非常重要的编译过程,这两个过程的主要作用就...阅读全文

博文 2019-03-19 12:20:08 draveness.me

服务端渲染

1.什么是服务器端渲染和客户端渲染? 互联网早期,用户使用浏览器浏览的都是一些没有复杂逻辑的、简单的页面,这些页面都是在后端将html拼接好的然后将之返回给前端完整的html文件,浏览器拿到这个html文件之后就可以直接解析展示了,而这也就是所谓的服务器端渲染了。而随着前端页面的复杂性提高,前端就不仅仅是普通的页面展示了,而可能添加了更多功能性的组件,复杂性更大,另外,彼时ajax的兴起,使得业界就开始推崇前后端分离的开发模式,即后端不提供完整的html页面,而是提供一些api使得前端可以获取到json数据,然后前端拿到json数据之后再在前端进行html页面的拼接,然后展示在浏览器上,这就是所谓的客户端渲染了,这样前端就可以专注UI的开发,后端专注于逻辑的开发。 2.两者本质的区别是什么?...阅读全文

WebSocket+SLB(负载均衡)会话保持解决重连问题

写在最前面:由于现在游戏基本上采用全球大区的模式,全球玩家在同一个大区进行游戏,传统的单服模式已经不能够满足当前的服务需求,所以现在游戏服务器都在往微服务架构发展。当前我们游戏也是利用微服务架构来实现全球玩家同服游戏。 玩家每次断线(包括切换网络/超时断线)后应该会重新连接服务器,重连成功的话可以继续当前情景继续游戏,但是之前写的底层重连机制一直不能生效,导致每次玩家断线后重连都失败,要从账号登陆开始重新登陆,该文章写在已经定位了重连问题是由SLB引起后,提出的解决方案。 当前游戏架构: 客户端从一个Account服务器登陆并且拉取游戏服务器的所有SLB地址 客户端ping所有SLB地址,选择延迟最低的一个SLB进行连接 客户端连接SLB,SLB将连接转发到一个网关节点建立连接 问题: 每次...阅读全文

博文 2020-05-17 22:32:45 神奇的哈密瓜_35b8

Go 每日一库之 carbon

简介 一线开发人员每天都要使用日期和时间相关的功能,各种定时器,活动时间处理等。标准库time使用起来不太灵活,特别是日期时间的创建和运算。carbon库是一个时间扩展库,基于 PHP 的carbon库编写。提供易于使用的接口。本文就来介绍一下这个库。 快速使用 第三方库需要先安装: $ go get github.com/uniplaces/carbon 后使用: package main import ( "fmt" "time" "github.com/uniplaces/carbon" ) func main() { fmt.Printf("Right now is %s\n", carbon.Now().DateTimeString()) today, _ := carbon.No...阅读全文

博文 2020-02-15 15:32:40 darjun

重磅干货免费下载!阿里云RDS团队论文被数据库顶会SIGMOD 2018收录

摘要: 来自阿里云RDS团队的论文“**TcpRT: Instrument and Diagnostic Analysis System for Service Quality of Cloud Databases at Massive Scale in Real-time” (TcpRT:面向大规模海量云数据库的服务质量实时采集与诊断系统)**被数据库顶会SIGMOD 2018收录。 ACM SIGMOD数据管理国际会议是由美国计算机协会(ACM) 数据管理专业委员会(SIGMOD)发起、在数据库领域具有最高学术地位的国际性学术会议。 SIGMOD和另外两大数据库会议VLDB、ICDE构成了数据库领域的三个顶级会议。相对而言,SIGMOD比另外两个会议的含金量更高,被录取的难度...阅读全文

Golang cookie使用

cookie设置和获取使用方法 func HttpCookies() { http.HandleFunc("/", func(w http.ResponseWriter, r *http.Request) { cName := http.Cookie{ Name: "name", // cookie的名称 Value: "golang", // cookie名称对应的值 Path: "/", // Domain: "", // cookie的作用域 Expires: time.Time{}, // cookie的过期时间 RawExpires: "", MaxAge: 0, // 设置过期时间,对应浏览器cookie的MaxAge属性 Secure: false, // 设置Secure属性...阅读全文

博文 2020-03-29 01:33:08 是个懒人

# golang JWT的简单使用

golang JWT的简单使用 JWT是json web token缩写。它将用户信息加密到token里,服务器不保存任何用户信息。服务器通过使用保存的密钥验证token的正确性,只要正确即通过验证。 JWT和session有所不同,session需要在服务器端生成,服务器保存session,只返回给客户端sessionid,客户端下次请求时带上sessionid即可。因为session是储存在服务器中,有多台服务器时会出现一些麻烦,需要同步多台主机的信息,不然会出现在请求A服务器时能获取信息,但是请求B服务器身份信息无法通过。JWT能很好的解决这个问题,服务器端不用保存jwt,只需要保存加密用的secret,在用户登录时将jwt加密生成并发送给客户端,由客户端存储,以后客户端的请求带上,由...阅读全文

博文 2019-02-05 17:34:41 w85278161

【分布式架构】企业级分布式应用服务EDAS使用攻略免费分享

课程介绍 本课程主要讲解企业级分布式应用服务EDAS相关技术和使用方法。 企业级分布式应用服务(EDAS,Enterprise Distributed Application Service)是企业级互联网架构解决方案的核心产品,充分利用阿里云现有资源管理和服务体系,引入中间件成熟的整套分布式计算框架(包括分布式服务化框架、服务治理、运维管控、链路追踪和稳定性组件等),以应用为中心,帮助企业级客户轻松构建并托管分布式应用服务体系。 课程目标 掌握企业级分布式应用服务EDAS的使用 适合人群 云计算开发者 课时列表 • 第1 章 : EDAS介绍 • 课时1:EDAS介绍 • 第2 章 : EDAS...阅读全文

问个游览器缓存问题

~~~ 用户中心URL都是验证session存在不 ,不存在返回登录页面 如果此时程序重启了,当再次访问URL,URL就会自动退出【此时游览器也记录了缓存】,当重新登录 这个页面始终无法访问,必须清理本地缓存才行,, 这个如何解决不让进游览器缓存? 是不是要设置头文件之类的 ~~...阅读全文

分享一个让我进入阿里中间件的个人项目

作者: vangoleo官网: http://www.vangoleo.com/iris-java/ 背景 时光荏苒,进入阿里中间件团队已经快两年时间了。这期间,有幸参与了第四届中间件性能挑战赛的题目组,筹备了以“Dubbo Mesh”为主题的初赛题;和团队一起开展了Dubbo线下meetup活动;将阿里多年双11积累的中间件基础设施最佳实践和方法论,通过阿里云的商业化产品,为广大开发者和企业提供服务。很庆幸能有这样一段难忘的经历。回想起来,能进入中间件团队,和我当初的一个Github项目还有关系。今天把该项目分享给大家。 Q: 什么是中间件团队?A: 阿里巴巴中间件技术部,是世界顶尖的Java技术团队之一,起源于淘宝平台架构组,是跟随着阿里电商业务和双十一成长起来的技术团队,解决复杂的业务...阅读全文

博文 2019-11-12 10:02:43 vangoleo

零基础学习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

云服务器 ECS弹性变配能力总览

摘要: 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,充分的助您降低 IT 成本,提升运维效率,使您更专注于自己核心业务创新。它的一个重要优势就是弹性计算,可以在数分钟内创建数千台的云服务器来应对您的业务压力,方便您根据自己的业务的需求从水平和垂直两个维度进行管理。 云服务器 ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,充分的助您降低 IT 成本,提升运维效率,使您更专注于自己核心业务创新。它的一个重要优势就是弹性计算,可以在数分钟内创建数千台的云服务器来应对您的业务压力,方便您根据自己的业务的需求从水平和垂直两个维度进行管理。 下面我们将着重介绍下目前云服务器的弹性能力,也许有您所不知道但是...阅读全文

如何设计一个微型分布式架构?

序言(初衷) 设计该系统初衷是基于描绘业务(或机器集群)存储模型,分析代理缓存服务器磁盘存储与回源率的关系。系统意义是在腾讯云成本优化过程中,量化指导机房设备扩容。前半部分是介绍背景,对CDN缓存模型做一些理论思考。后半部分会实际操作搭建一个微型但是五脏俱全的分布式通用系统架构,最后赋予该系统一些跟背景相关的功能,解决成本优化中遇到的实际问题。缓存服务器存储模型架构(背景): 图1 存储模型腾讯CDN的线上路由是用户à分布于各地区各运营商的OC->SOC->SMid->源站。各个层级节点部署的都是缓存服务器。来自用户的部分请求流量命中服务器,另一部分产生回源流量。随着业务带宽自然增长,用户端带宽增长,假设业务回源率不变的情况下,磁盘缓存淘汰更新(淘汰)速率变快,表现为以下业务瓶颈(iowai...阅读全文

博文 2018-09-28 18:34:42 Java架构007

js 使用golang模板拼接HTML代码

#### *

js 使用golang模板拼接HTML代码* - 功能: post 从服务端获取一个json数据,直接拼接HTML 感觉太乱。希望用go 的HTML模板实现HTML标签和数据的拼接并显示到对应的位置。 - 存在问题:我理解的模板是在服务端返回HTML页面时起作用,现在需要发送post请求获得数据之后再使用模板,初始化页面时模板不执行。需要怎么做...阅读全文

博文 2018-12-12 11:46:40 specialgolanger

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要: 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。知名IT...阅读全文

2018-07-30

build-web-application-with-golang1. web工作方式2. DNS工作原理(1)先看hosts(2)在看本地DNS解析器缓存,是否有这个网址映射关系(3)首先会找本地DNS服务器,此服务器收到查询时,如果要查询的域名,包含在本地配置区域资源中,则返回解析结果给客户机,完成域名解析,此解析具有权威性。如果要查询的域名,不由本地DNS服务器区域解析,但该服务器已缓存了此网址映射关系,则调用这个IP地址映射,完成域名解析,此解析不具有权威性。(4)如果本地DNS服务器本地区域文件与缓存解析都失效,则根据本地DNS服务器的设置(是否设置转发器)进行查询,如果未用转发模式,本地DNS就把请求发至 “根DNS服务器”,“根DNS服务器”收到请求后会判断这个域名(.com)...阅读全文

博文 2018-08-02 12:34:51 温暖之隔

新梦想干货——那些关于软件工程的“宗教”辩论

引言:开发者的世界里总是充斥着各种各样的争论,从编程语言、框架甚至到编辑器、Windows/iOS系统,都可以成为争得面红耳赤的“宗教战争”。本文作者针对软件开发行业的辩论进行了深入研究,探讨了这些辩论背后的本质,解释了他认为好的技术辩论应该是怎样的。“Python的速度不行。”“都9102年了,还有人不用Java虚拟机(Scala、Clojure)构建Web App吗?”“Mong是最好的数据库;SQL很差劲,SQL数据库扩展性不行。任何现代工程师都必须熟悉Mongo。”“Golang糟透了(因为没有泛型);谁用谁白痴。”在我刚刚成为软件工程师那会,最令我震惊的就是,同行们居然用“宗教战争”这样的字眼来形容工程层面的争议。有这么严重吗?干嘛那么大火气?带着好奇心,我希望弄清为什么工程技术辩...阅读全文

博文 2019-10-29 21:32:59 aside section._1OhGeD

Apsara Clouder云计算专项技能认证:云服务器管理运维,你了解多少?

如何实现1+3+5=100种可能性么?通过学习你可以掌握如何快速地开通一台云服务器,并通过管理控制台方便地进行服务器的管理、服务器配置的变更和升级、数据的备份,并保证其可以正常运转并按业务需求随时进行配置的变更。 认证流程 1购买认证 2学习课程/在线实验 3在线考试 4领取电子证书 课程学习 01 3个理由拥抱云服务器 让你了解什么是云服务器以及使用云服务器的好处,带你开启云服务器之旅。免费试听https://edu.aliyun.com/course/58 02 1分钟快速定制ECS 让你了解如何快速地拥有一台属于自己的云服务器。开始学习https://edu.aliyun.com/course/58 03 3分钟便捷管理ECS 让你了解如何远程登录服...阅读全文

Go 编译器内部知识:向 Go 添加新语句-第 2 部分

这是探讨 Go 编译器两篇文章的最后一篇。在[第 1 部分中](https://studygolang.com/articles/25101),我们通过构建自定义的编译器,向 Go 语言添加了一条新语句。为此,我们按照此图介绍了编译器的前五个阶段: ![go compiler flow](https://raw.githubusercontent.com/studygolang/gctt-images/master/compiler-internal/go-compiler-flow.png) 在"rewrite AST"阶段前,我们实现了 until 到 for 的转换;具体来说,在[gc/walk.go](https://github.com/golang/go/blob/master/...阅读全文

博文 2020-03-12 22:40:36 polaris

官方博文:2019 年 Go 开发者调查结果

点击上方蓝色“Go语言中文网”关注我们,领全套Go资料,每天学习 Go 语言Todd Kulesza 2020-04-20概览、感谢 首先,我要非常感谢参与本次调查的数千名 Go 开发人员。在 2019 年,我们收到了 10,975 份回复,几乎是去年的两倍![1]我要代表团队的其他成员,充分强调您花时间和精力向我们介绍您在 Go 方面的经验,我们对此深表感谢。谢谢!关于前几年调查说明 敏锐的读者可能会注意到,我们每年的比较与我们过去分享的数字不太吻合。原因是从 2016 年至 2018 年,我们使用开始调查的总人数作为分母来计算每个问题的百分比。尽管这很不错而且很一致,但它忽略了并非每个人都会完成调查的事实——多达 40% 的参与者在到达最后一页之前就停止了调查,这意味着在调查的后面出现的...阅读全文

博文 2020-04-26 10:36:01 Go语言中文网

gRPC负载均衡(自定义负载均衡策略)

### 前言 上篇文章介绍了如何实现gRPC负载均衡,但目前官方只提供了`pick_first`和`round_robin`两种负载均衡策略,轮询法`round_robin`不能满足因服务器配置不同而承担不同负载量,这篇文章将介绍如何实现自定义负载均衡策略--`加权随机法`。 `加权随机法`可以根据服务器的处理能力而分配不同的权重,从而实现处理能力高的服务器可承担更多的请求,处理能力低的服务器少承担请求。 ### 自定义负载均衡策略 gRPC提供了`V2PickerBuilder`和`V2Picker`接口让我们实现自己的负载均衡策略。 ```go type V2PickerBuilder interface { Build(info PickerBuildInfo) balancer.V2...阅读全文

博文 2020-05-20 17:12:40 939496716

搭建网站,和把大象装冰箱一样简单?

摘要: 一个流行了很多年的梗,至今仍然热度不减,当年本山大叔在春晚上说出这个段子时,不知是不是预料到了很多人这辈子都指着这个笑话活着了。 一个流行了很多年的梗,至今仍然热度不减,当年本山大叔在春晚上说出这个段子时,不知是不是预料到了很多人这辈子都指着这个笑话活着了。 Q:“要把大象装冰箱,总共分几步?” A:“分三步。1. 把冰箱门打开;2.把大象放进冰箱;3.把冰箱门关上”。 一个听上去很困难的事情,在脑筋急转弯的世界里,不用考虑它的实现成本和实现可行性,其实只需分三步即可完成。其实生活中的很多事,换个角度,也是如此。 搭建网站,这个词,很多人都听说过,但是当你还未了解建站的具体步骤时,你会觉得这件事好难,没有技术底子很难实现。其实,当你勇敢的打开冰箱门以后,你会发现...阅读全文

详解SLB、EIP、NAT网关之间区别, 合理选择云上公网入口

摘要: 概述 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? **点此查看原文:http://click.aliyun.com/m/41840/** **开始** 阿里云的公网入口产品共有三个,SLB、EIP、NAT网关,这几个产品都可以作为云上资源的公网入口,他们之间有何区别,又分别应该在什么场景下使用呢? 概念 -- **负载均衡SLB** **对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。** 可见云计算中的负载均衡除了通过流量分发让后端的服务器负载均衡,还有两个重...阅读全文

git 设置和取消代理

学习golang,首先需要在 https://golang.org/dl/ 下载安装包,如果打不开可以使用这个地址:https://golang.google.cn/dl/在开发过程中,需要到github、goole code等网站,下载各种引入包,这个时候需要安装git,下载地址为 https://git-scm.com/科学上网后,GIt也需要设置,才能正常访问github、goole code等网站,go get 也会调用gitgit代理设置如下(可复制):git config --global https.proxy http://127.0.0.1:1080git config --global https.proxy https://127.0.0.1:1080git confi...阅读全文

博文 2020-03-23 19:32:43 陈树树go

[系列] - 使用 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 訢亮

Go36-46-访问网络服务(socket)

访问网络服务 这篇开始讲网络编程。不过网络编程的内容过于庞大,这里主要讲socket。而socket可以讲的东西也太多了,因此,这里只围绕Go语言介绍一些它的基础知识。 IPC方法 所谓socket,是一种IPC(Inter-Process Communication)方法,可以被翻译为进程间通信。顾名思义,IPC这个概念(或者说规范)主要定义的是多个进程之间,相互通信的方法。这些方法主要包括: 系统信号(signal),os包和os/signal包有针对系统信号的API 管道(pipe),os.Pipe函数可以创建命名管道,os/exec包支持另一类管道:匿名管道 套接字(socket),net包中提供支持 文件锁(file lock) 消息队列(message queue) 信号灯(se...阅读全文

博文 2019-02-09 08:35:10 骑士救兵

如何学习服务端开发—以代码工人的视角

理解并关注业务 无论是什么样的开发内容,都请将业务放在重要的位置。时常有人问我,我应该服务端 C++开发的职位,结果居然让我写业务,我听了也很是不解,沟通之下我才明白,原来他对于服务端开的理解就是网络,所以首先要明白服务端开发是什么,网络只占一部分,而且这一部分在产品开动之初,一般都是骨干搭建了,后面只会是慢慢地调整与生成的过程,初入团队能力还没有得到证明是很难有这样的机会的,而业务是产品与项目生成的根本,自然是重头。 工具偏好 进了团队,应该的是 C++,结果让用 Node.js ,或者让用 Go,或者是 Python,很多人和我反应自己无法接受,其实我们应该是变化的眼光去看事物,服务器端的开发,也是讲场景,讲业务性质,也要看交付时间,综合来进行项目的技术选项是必然的,特别是在小公司小企业...阅读全文

博文 2017-09-02 09:34:46 Lispre

一款属于自己的笔记本【vue+gin+elementUI前后端分离开发部署开源项目】

# 前言 **我为什么要写一个个人的云笔记?** (⊙o⊙)…额额额😄。。。这件事儿还得从一只蝙蝠说起...... 好了_(:з」∠)_不想扯了...... **~~有以下几个原因:~~** 1. 突然发现有道云笔记不是自己的 我的隐私都在别人的库里😱。并且一直想有一个自己的云笔记。 2. 打开全球最大同性交友平台gay....嗯嗯嗯...错了,Github。发现开源的云笔记软件很少几乎没有 3. 想做一个前后端分离的项目,并且想开源分享给大家。 4. 一只蝙蝠的传说。(大家应该清楚🙃) --- 以上就是我一时冲动,不对。。。一时兴起,所以抄起我的小本本就开干!!来一场说撸就撸的guan......额不对,说撸就撸的码!(时不时就开车。老司机快上车!!🚜)

# 用到的相关技...阅读全文

博文 2020-03-02 23:07:02 biningo

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 王乐城愚人云端

金融安全资讯精选 2017年第四期:全球安全支出走高,外国银行再遭黑客袭击

摘要: Gartner:全球安全支出2017年可达864亿美元;匈牙利三大国有银行连遭黑客网络钓鱼攻击;开源CMS Drupal 8发布更新修复多处高危漏洞补丁;IDC云安全评估: 阿里云为最重视安全建设的云服务提供商 3d4fd1956f53474cc9939731e71719b550aad415 【金融安全动态】 Gartner:全球安全支出2017年可达864亿美元。点击查看原文 概要:Gartner认为全球安全支出增加有三个原因数据泄露事件、勒索攻击加剧、企业内部对应用程序安全需求增强。Gartner也预测2018年的支出预计将达930亿美元,安全服务将继续成为增长最快的部门,特别是IT外包,咨询和实施...阅读全文

Go语言sync库和WaitGroup的使用

// code_041_sync_WaitGroup project main.go package main import ( "fmt" "sync" ) func main() { fmt.Println("Hello World!") var wg sync.WaitGroup wg.Add(2) go func() { defer wg.Done() for i := 0; i < 10000; i++ { fmt.Printf("Hello,Go.This is %d\n", i) } }() go func() { defer wg.Done() for i := 0; i < 10000; i++ { fmt.Printf("Hello, world.This is %d\n...阅读全文

[自助建站]模板渲染的三次革命

为啥想写这篇文章呢?培养自己一个良好的学习习惯:多总结 再以一个参与者的角度,总结一下我们渲染模板的心酸路程。 使用Vue渲染模板 开发前期,为了快速开发,编辑器和渲染使用同一套代码。所以决定渲染也使用Vue! SEO问题由后端单独写一个程序。 开发初步完成,测试环境下,主管发现这套方案行不通 原因如下: 百度等爬虫会对比爬虫抓到的和用户真实看到的,如果不一致百度就会认为这是在欺骗爬虫,百度会有处罚,不利于seo; 一些爬虫不会有指定的UA, 如微信 钉钉他们的爬虫就和正常人访问一样,这个时候就没办法区分爬虫和人了,就会出现微信和爬虫抓取不到数据的情况。 接着进入了渲染模板的第二次革命! nuxt. js渲染 这个在编辑器开发的代码上 改动的很少,SEO也不需要单独一个程序,感觉没有什么缺点...阅读全文

博文 2020-02-10 23:32:50 merrylmr

为了让开发者写MaxCompute SQL更爽,DataWorks 增强SQL 编辑器功能

摘要: 众所周知,数据开发和分析的同学每天都要花大量时间写MaxCompute SQL;Dataworks作为数据开发的IDE直接影响着大家的开发效率,这次新上线的Dataworks我们在编辑体验上做了很多工作,在前端实现MaxCompute SQL和编辑器参数等扩展语法的AST解析,并实现更好更智能的代 众所周知,数据开发和分析的同学每天都要花大量时间写MaxCompute SQL;Dataworks作为数据开发的IDE直接影响着大家的开发效率,这次新上线的Dataworks我们在编辑体验上做了很多工作,在前端实现MaxCompute SQL和编辑器参数等扩展语法的AST解析,并实现更好更智能的代码提示,更快速的响应,帮助大家提升开发效率; 首先show几张美图: ![图...阅读全文

MaxCompute印尼开服,成为阿里云第十二个大数据服务节点

摘要: 人口超2.5亿的印度尼西亚,政府、通讯公司和银行等机构拥有繁杂的数据沉淀,他们正在加快应用大数据开发框架。MaxCompute势必加速这一进程,唤醒沉淀数据,最大化挖掘数据价值。 **点此查看原文:http://click.aliyun.com/m/41849/** 2018年2月9日,阿里云大数据计算服务 [MaxCompute](https://www.aliyun.com/product/odps?spm=a2c4e.11153959.blogcont431209.18.c4796d4aPHzJKZ) 将正式开服雅加达节点。届时,印尼将成为继上海、深圳、香港、北京、新加坡、悉尼、法兰克福、吉隆坡、硅谷、东京、孟买后 MaxCompute 全球化部署的第12个国家。M...阅读全文

IDE集成开发工具:Komodo IDE 11 for Mac

实用的IDE集成开发工具哪里有?komodo ide 11 mac破解版可以在 Windows、Mac OS X 和 Linux 上运行,并支持通用的开源语言 —— Python、Perl、PHP 和 Ruby。代码智能引擎非常可靠。提供了所有语言的多线程和多进程服务,同时支持代码折叠、跟踪变化、智能语法检测以及快速书签等实用型功能。Komodo IDE 11 for Mac下载扫描所有语言安装找到定制扩展,比如 PEAR 模块。在项目方面,它支持与 CVS、Subversion 和 Perforce 的集成,也允许直接向服务器 FTP 传递代码。本版本可永久破解,欢迎下载使用!软件地址:https://www.macdown.com/mac/3219.html komodo ide 11 ...阅读全文

博文 2019-07-04 18:32:41 Mac小7

go 学习笔记之有意思的变量和不安分的常量

首先希望学习 Go 语言的爱好者至少拥有其他语言的编程经验,如果是完全零基础的小白用户,本教程可能并不适合阅读或尝试阅读看看,系列笔记的目标是站在其他语言的角度学习新的语言,理解 Go 语言,进而写出真正的 Go 程序. 编程语言中一般都有变量和常量的概念,对于学习新语言也是一样,变量指的是不同编程语言的特殊之处,而常量就是编程语言的共同点. 学习 Go 语言时尽可能站在宏观角度上分析变量,而常量可能一笑而过或者编程语言不够丰富,所谓的常量其实也是变量,不管怎么样现在让我们开始 Go 语言的学习之旅吧,本教程涉及到的源码已托管于 github,如需获取源码,请直接访问 https://github.com/snowdreams1006/learn-go 编写第一个 Hello World 程...阅读全文

博文 2019-08-12 19:03:47 雪之梦技术驿站

基于consul构建golang系统分布式服务发现机制

文地址-石匠的Blog: http://www.bugclosed.com/post/5 在分布式架构中,服务治理是一个重要的问题。在没有服务治理的分布式集群中,各个服务之间通过手工或者配置的方式进行服务关系管理,遇到服务关系变化或者增加服务的时候,人肉配置极其麻烦且容易出错。 之前在一个C/C++项目中,采用ZooKeeper进行服务治理,可以很好的维护服务之间的关系,但是使用起来较为麻烦。现在越来越多新的项目采用consul进行服务治理,各方面的评价都优于ZooKeeper,经过几天的研究,这里做一个总结。 zookeeper和consul比较 开发语言方面,zookeeper采用java开发,安装的时候需要部署java环境;consul采用golang开发,所有依赖都编译到了可执行程序...阅读全文

博文 2018-07-26 14:30:00 williamjie

[uber-zap/part2]自定义记录器

说明 之前翻译的一个教程(没有备份原地址,梯子被封了)。原地址找到后补上 正文 使用预设的记录器可以节省时间,但如果确定要调整记录器,需要探索自定义记录器的方法 使用zap配置结构体创建记录器 可以使用配置zap.Config创建记录器,这是一个结构体,可以使用需要的值填充结构体,然后调用结构体的.Build()方法来获取记录器 cfg := zap.Config{...} logger, err := cfg.Build() 需要注意的是:zap.Config的结构体没有默认值,至少为zap需要的三个设置提供值 encoder: 只需要添加个Encoding:"XXX",使用json就会创建一个JSON的encoder,另一个值是console 可以使用结构zapcore.EncoderC...阅读全文

博文 2019-03-30 12:34:38 小龙虾

理解服务端对 TCP 握手的处理,以及什么是 backlog

理论 握手过程 我们知道,客户端与服务端之间建立 TCP 连接需要经过三次握手的过程: 客户端向服务端发送 SYN 服务端返回 SYN + ACK 客户端发送 ACK 至于 TCP 连接为什么需要三次握手,这三次握手是怎样确保传输的可靠性的? 这个问题,交给以后专门写篇文章来讲。 而这篇文章的重点是,在这三次握手的过程中,服务端是怎样维护一个连接的? 两种状态 两个队列 一图胜千言: 站在服务端的角度来看,自 Linux kernel 2.2 之后,整个过程分为如下几个步骤: 服务端进行 listen 系统调用(上层函数可能与 listen syscall 不同名)之后,端口处于监听状态。 在第一次握手之后,服务端收到了客户端发来的 SYN 包,将该连接标记为 SYN_RCVD(半连接状态)...阅读全文

博文 2019-12-24 21:32:41 Xavier

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

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

http协议

### 前言 #### 概述 * 什么是协议? 我们都知道协议是一种规范,是双方定义的一种规范,达到双方能够更好的交流。 * 什么是http协议 http是超文本传输协议(Hypertext Transfer Protocol ),是建立在TCP上的无状态连接,整个基本工作流程是客户端浏览器发起一个Http请求,客户端浏览器需要请求资源访问。服务端收到客户端浏览器请求后,服务端开始处理请求,根据请求作出对应的动作,处理服务器端的相关资源,最后将以Http响应的返回给客户端浏览器。 #### Http请求 http请求包含 请求行、请求头、请求体三部分。 ##### 请求行(Request Line) 请求行格式 方法+空格+URI+空格+版本+回车换行 例如: ```html GET /to...阅读全文

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

*有追求的开发者总会在开发时遇到变量命名困难或者命名冗长庸俗的时候。阅读代码过程中遇到一些很好的命名,也遇到一些不好的。当初并没有记录下来,之后才开始记录,有的也找不到出处了。以下高频词汇供有追求的开发者参考* 多注意使用高阶词汇表达,变成一个有追求的开发者吧。 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

Golang中容易出现的一个赋值bug

Golang中,:=同时进行了变量声明和赋值。 当:=左边有多个变量时,编译器只检查左边至少有一个新变量。 如果其中有的变量已经声明,则只做赋值操作。 比如: _ := 1 // error. Nothing New declared a, _ := foo() // ok. Declare a a, b := foo() // ok. Declare b, assign a _, b := foo() // error. Nothing New declared 设想下面这种状况: func main() { var err error if true { data, err := strconv.Atoi("x") if err == nil { fmt.Println("Atoi su...阅读全文

博文 2019-03-21 19:34:41 平仄_pingze

Go语言开发的存储手机相册项目

# TaoAlbum 道相册 ## 说明 ### 项目由服务端和安卓客户端组成 ### 1.[Go语言后端](https://github.com/markusleevip/taostorage)项目配置使用,实现手机相册备份到私有服务器的功能 ### 2.[安卓客户端](https://github.com/markusleevip/TaoAlbum-android) ### 在[output](https://github.com/markusleevip/TaoAlbum-android/tree/master/output)目录提供了Windows x64平台的可运行版本。 ### 输入服务端地址,点击上传全部,将手机相册的照片全部上传到服务端,服务端使用SHA265算法对文件去重,...阅读全文

博文 2019-06-14 11:13:44 markus