go

Go Gin Gonic Unit Testing Deployment Issue

*爱你&永不变心* 提交于 2020-12-15 05:29:09
问题 I have a Go API built using the Gin framework. Reading the docs in the testing section here, i tried to implement something similar: main.go package main import ( "mes/routes" "github.com/gin-gonic/gin" ) func setupMainRoutes(engine *gin.Engine) { engine.GET("/mesg/:language/services", routes.AllServices) engine.GET("/mesg/:language/service/:id", routes.OneService) engine.GET("/mesg/:language/services/search", routes.SearchService) } func setupErrorRoutes(engine *gin.Engine) { engine.NoRoute

聊聊golang的zap的buffer

最后都变了- 提交于 2020-12-15 00:23:38
序 本文主要研究一下golang的zap的buffer buffer zap@v1.16.0 /buffer/buffer.go package buffer // import "go.uber.org/zap/buffer" import ( "strconv" "time" ) const _size = 1024 // by default, create 1 KiB buffers // Buffer is a thin wrapper around a byte slice. It's intended to be pooled, so // the only way to construct one is via a Pool. type Buffer struct { bs []byte pool Pool } // AppendByte writes a single byte to the Buffer. func (b *Buffer) AppendByte(v byte) { b.bs = append(b.bs, v) } // AppendString writes a string to the Buffer. func (b *Buffer) AppendString(s string) { b.bs = append(b.bs, s...) } /

“看门狗”团伙远控木马投毒计,360安全大脑极速斩杀输出体系防御力

跟風遠走 提交于 2020-12-14 21:21:16
近日,360安全大脑独家捕获“看门狗”团伙最新动向,其正通过伪造某聊天软件官网以及钓鱼邮件等方式,对特定目标人群精准投毒祸乱网络。该组织命名来源于攻击样本包含的中文PDB路径,也有安全厂商称其为“金眼狗”组织。 360 安全大脑基于持续跟踪数据,并对攻击样本进行梳理分析后发现,“看门狗”团伙长期通过申请正规软件开发商签名,进而利用白加黑方式执行远控木马;钓鱼邮件定向投毒,并通过漏洞利用启动远控木马;伪装正规聊天工具捆绑远控模块等三大手段横行网络。 手段1:以假乱真,冒用签名投放远控木马 一直以来,冒用软件开发厂商签名都是“看门狗”团伙的惯用伎俩。从360安全大脑长期监测数据来看,9月下旬至今已追踪到该团伙冒用的十余个数字证书,具体如下: 与此同时,360安全大脑最新数据显示,“看门狗”团伙除申请了与原厂商相同的签名外,还申请了部分同名但大小写不同的高迷惑性签名,以便于测试安全软件反应,为冒用签名投放远控木马试水。 手段2:迷惑性诱饵,钓鱼邮件扩散远控木马 冒用签名之外,360安全大脑数据显示,钓鱼邮件是“看门狗”团伙的第二大惯用伎俩。从360安全大脑捕获的钓鱼邮件攻击样本来看,该团伙通过钓鱼邮件,将伪装成技术资料等文档的恶意程序,投递至目标用户邮箱,以诱骗点击下载。 一旦触发,恶意程序会利用muse音乐播放器栈溢出漏洞执行后续shellcode,并经过几轮内存加载后

分布式事务框架 seata-golang 通信模型详解

♀尐吖头ヾ 提交于 2020-12-14 19:17:30
一、简介 Java 的世界里,大家广泛使用的一个高性能网络通信框架 netty,很多 RPC 框架都是基于 netty 来实现的。在 golang 的世界里,getty 也是一个类似 netty 的高性能网络通信库。getty 最初由 dubbogo 项目负责人于雨开发,作为底层通信库在 dubbo-go 中使用。随着 dubbo-go 捐献给 apache 基金会,在社区小伙伴的共同努力下,getty 也最终进入到 apache 这个大家庭,并改名 dubbo-getty 。 18 年的时候,我在公司里实践微服务,当时遇到最大的问题就是分布式事务问题。同年,阿里在社区开源他们的分布式事务解决方案,我也很快关注到这个项目,起初还叫 fescar,后来更名 seata。由于我对开源技术很感兴趣,加了很多社区群,当时也很关注 dubbo-go 这个项目,在里面默默潜水。随着对 seata 的了解,逐渐萌生了做一个 go 版本的分布式事务框架的想法。 要做一个 golang 版的分布式事务框架,首要的一个问题就是如何实现 RPC 通信。dubbo-go 就是很好的一个例子摆在眼前,遂开始研究 dubbo-go 的底层 getty。 二、如何基于 getty 实现 RPC 通信 getty 框架的整体模型图如下: 下面结合相关代码,详述 seata-golang 的 RPC 通信过程。 1

Go开发工程师

北城以北 提交于 2020-12-14 08:16:51
download: Go开发工程师:迎接上升风口,踏入蓝海行业! 适合零基础小白学习吗 小同学,当你问出这句话的时候,就说明你已经不是小白了,你是个很有主见的“大人”了,要是你问零基础适合学习么?我肯定的告诉你:非常适合,而且要相信自己不是小白,而是小牛~祝你更进一步,加油~ 课程中的项目是真的企业级/商业级项目么? 同学这个问题是我见过问得最有水平的问题了~ 确实网络上充斥了很多美其名曰“企业级/商业项目”,然而当你咨询想要体验一下项目效果,这么最低的标准都达不到,也就是网络充斥很多打着“企业级”名号的耍流氓项目,他们连最低的企业级标准--可部署可上线标准都达不到! 那么,同学想一下这个问题:什么样的标准才能称之为“企业级/商业级”?那么我认为有如下几点标准必须符合: 1、 【最低标准】可部署可上线(课程两个分别打开微信,搜索“租辆酷车”、“波哥电商”体验项目) 2、 真正的三端分离项目(两项目都符合,以微商城举例) 3、 满足企业真实的开发场景(以共享出行项目为例) (1) 先进的google设计理念+架构实践 (2) 符合当前最前卫的开发流程 (3) “敏捷开发”、“领域驱动DDD”等的最佳实践 4、 符合企业标准架构演进:从三端分离到微服务化项目迭代 (1) 微电商项目(前端+后端+后台管理-->搜索微服务化) (2) 共享出行项目(Typescript前端+后端+Vue3

Windows下visual studio code搭建golang开发环境

喜欢而已 提交于 2020-12-14 01:40:19
前言 其实环境搭建没什么难的,但是遇到一些问题,主要是有些网站资源访问不了(如:golang.org), 导致一些包无法安装,最终会导致环境搭建失败,跟据这个教程几步,我们将可以快速的构建golang的开发环境。 开发环境: 一、安装 这里我用需要安装一些工具: 1. Visual Studio Code 1.0.0 2. Golang下载 这里我使用的是 Go1 .6. 3. git下载 这一步跟建环境没什么关系, 但是之后要引用一些包需要它. 4. 安装vscode-go 插件 安装方法:打开vscode 按F1 然后选择安装扩展 选择 go 下载后 重启 5. 下载vscode扩展依赖工具 vscode- go 插件需要一些工具,这些功具默认需要这样安装: go get -u -v github.com/nsf/gocode go get -u -v github.com/rogpeppe/godef go get -u -v github.com/golang/lint/golint go get -u -v github.com/lukehoban/ go-outline go get -u -v sourcegraph.com/sqs/goreturns go get -u -v golang.org/x/tools/cmd/gorename go get -u -v

大咖云集,一场技术盛宴等你来约!| 免费报名、周边豪礼

主宰稳场 提交于 2020-12-13 21:54:08
导语: 腾讯年度技术盛会 Techo Park 开发者大会将于12月19日在北京798艺术中心举行,本次大会旨在汇聚全球顶尖行业专家和技术爱好者,搭建一个开放、中立、活跃的技术交流平台。微服务作为云原生重要的技术领域,组委会专门设立了微服务分论坛,与大家分享微服务转型的全生命周期的技术解决方案和实践经验。 大会现场 除了技术大咖面对面交流外,还设立了有趣的游戏玩法和周边豪礼!下面由小Q妹为大家解锁下微服务分论坛的精彩内容和游戏玩法吧! 今年 Techo Park 开发者大会将设置1场主论坛,29场垂直技术分论坛以及多场独具特色的创新互动活动,来自国内外200多位技术大咖将现场为大家带来一场年度的技术嘉年华。 主论坛 在大咖云集的主论坛,腾讯高级执行副总裁、腾讯云与智慧产业事业群总裁汤道生、腾讯云副总裁王慧星、Linux基金会执行董事Jim Zemlin 、AWS Lambda 创始人&前总经理Tim Wagner,厦门大学博士生导师、国家“万人计划”青年拔尖人才纪荣嵘,腾讯杰出科学家、多媒体实验室总经理刘杉,腾讯云副总裁、腾讯会议负责人&多媒体实验室联合负责人吴祖榕,腾讯云安全总经理、腾讯安全云鼎实验室负责人董志强,腾讯云容器产品总经理邹辉、腾讯云数据库负责人林晓斌,以及微信小程序及云开发创始团队核心负责人、微信专家工程师林超,腾讯开源联盟主席单致豪等众多专家

Visual Studio Code配置GoLang开发环境

拜拜、爱过 提交于 2020-12-13 21:41:31
Visual Studio Code配置GoLang开发环境 在Visual Studio Code配置GoLang开发环境 作者:chszs,未经博主允许不得转载。经许可的转载需注明作者和博客主页: http://blog.csdn.net/chszs Visual Studio Code是我非常喜欢的开发工具。那么,如果能在Visual Studio Code上配置GoLang开发环境,以此开发GoLang程序,无疑很有趣。本文主要讲述这个过程。 一、GoLang的安装 GoLang在Windows的安装比较简单,过程省略。 验证一下: D:\>go version go version go1.5.1 windows/amd64 要注意,GoLang的安装要确保两个环境变量,一个是GOROOT环境变量;二是PATH环境变量要包含$GOROOT\bin值。 二、GoLang插件介绍 对于Visual Studio Code开发工具,有一款优秀的GoLang插件,它的主页为: https://github.com/microsoft/vscode-go 这款插件的特性包括: 代码着彩色 代码自动完成(使用gocode) 代码片段 快速提示信息(使用godef) 跳转到定义(使用godef) 搜索参考引用(使用go-find-references) 文件大纲(使用go

Slice element not updated in go

和自甴很熟 提交于 2020-12-13 20:59:13
问题 I have an account struct as below: type Account struct { Id string Name string Address string City string Email string Phone string Username string Password string IsActive bool } I also have two function: find and update . The find function find certain element from the slice and return the pointer to the element: func find(accounts []Account, username string) *Account { for _, acc := range accounts { if acc.IsActive && acc.Username == username { return &acc } } return nil } The update

移植vsftpd到arm linux

♀尐吖头ヾ 提交于 2020-12-13 20:02:31
vsftpd 即 very secure FTP daemon (非常安全的FTP进程),是一个基于GPL发布的类UNIX类操作系统上运行的服务器的名字(是一种守护进程),可以运行在诸如Linux、BSD、Solaris、HP-UX以及Irix等系统上面。vsftpd支持很多其他传统的FTP服务器不支持的良好特性。使用 vsftpd 可以在 Linux/Unix 系统上搭建一个安全、高性能、稳定性好的轻量级FTP服务器。 现在基于quectel的EC20CEFAG模块,来移植vsftpd服务。 1 下载 下载最新版本源码包,下载地址: https://security.appspot.com/vsftpd.html#download 。本文以 vsftpd-3.0.2.tar.gz 版本为例。 如果以上下载地址无法访问,也可以本地下载 vsftpd-3.0.2.tar.gz 。 2 解压 $ mkdir ~/vsftpd $ cp vsftpd-3.0.2.tar.gz ~/vsftpd $ cd ~/vsftpd $ tar xzf vsftpd-3.0.2.tar.gz $ cd vsftpd-3.0.2/ 3 配置 修改Makefile文件: CC = arm-oe-linux-gnueabi-gcc 4 设置交叉编译环境&编译 $ source ../../ql-ol