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

golang goquery selector(选择器) 示例大全

本文为原创文章,转载注明出处,欢迎扫码关注公众号flysnow_org或者网站http://www.flysnow.org/,第一时间看后续精彩文章。觉得好的话,顺手分享到朋友圈吧,感谢支持。 最近研究Go爬虫相关的知识,使用到goquery这个库比较多,尤其是对爬取到的HTML进行选择和查找匹配的内容时,goquery的选择器使用尤其多,而且还有很多不常用但又很有用的选择器,这里总结下,以供参考。 如果大家以前做过前端开发,对jquery不会陌生,goquery类似jquery,它是jquery的go版本实现。使用它,可以很方便的对HTML进行处理。 基于HTML Element 元素的选择器这个比较简单,就是基于a,p等这些HTML的基本元素进行选择,这种直接使用Element名称作为选...阅读全文

MaxCompute Console 实用小命令

摘要: MaxCompute Console 可以从 这里 下载。在阿里云官网可以查看 帮助文档。 这里跟大家分享一些 MaxCompute Console 中实用的小命令。 MaxCompute Console 可以从 [这里](http://repo.aliyun.com/odpscmd/?spm=a2c4e.11153959.blogcont61428.7.546b65c3f7Xooq) 下载。在阿里云官网可以查看 [帮助文档](https://help.aliyun.com/document_detail/27804.html?spm=a2c4e.11153959.blogcont61428.8.546b65c3f7Xooq)。 这里跟大家分享一些 MaxCompute ...阅读全文

饿了么监控体系:从架构的减法中演进而来

本文根据黄杰老师在〖2019 Gdevops全球敏捷运维峰会-广州站〗现场演讲内容整理而成。讲师介绍黄杰,前饿了么框架工具部监控平台负责人。2015年加入饿了么,负责整个监控平台的构建及周边工具链的建设。之前曾在携程、eBao等多家公司工作,在监控、消息系统及大数据等领域积累了丰富经验。分享概要1、背景2、遇到的问题3、场景化4、系统设计大家好!很荣幸有这样的机会和大家交流,今天分享的主题为《饿了么监控体系的演进》。我差不多是2015年中加入饿了么,主要是负责饿了么整个监控平台的搭建,从0开始搭建这套监控系统。今天主要从以下四块给大家讲一下,整个过程我们遇到了哪些问题,怎么来解决这些问题,以及用怎么样的设计来支撑起这个系统。一、背景其实整个饿了么监控系统在演进过程中主要分为如下3个阶段: 第...阅读全文

怎样上手一个开源系统

本文目的是呈现一种掌握开源系统的方法,以及掌握阶段划分。纯属个人观点,如有指导意见,恳请留言,大家一起学习。 掌握开源系统,可以分成四个级别 基本使用 掌握高级特性 熟悉系统实现细节,可以参与功能开发和bug修复 深刻理解系统设计哲学,提出建设性方案和实现 基本使用 系统初始化(安装、引用等) 基本功能使用,满足一般场景的需求 高级特性 高级特性使用,满足特殊需求 扩展高级特性,满足定制化需求 参与者 发现系统中bug,提价issue,参与讨论 能修复自己的bug 能参与处理别人提交的issue 领导者 深刻理解系统的定位,提出建设性功能 让大家接受自己的设计哲学,带领大家一起不断完善系统 实现列表 后续会根据以上步骤,分析几个比较热门的开源系统 golang web框架 gin golan...阅读全文

博文 2019-02-14 00:34:43 小肥涛

Go语言学习笔记10

6.程序测试和文档 6.1程序测试 Go语言中提供了 go test 命令,它不仅仅可以对代码包进行测试,还可以对个别源码文件进行测试,只要存在针对这些测试的测试源码文件。除此之外,Go语言还在标准库中提供了一个专门用于测试的代码包 testing,它提供了编写测试源码文件所需的一切。 1.功能测试 测试源码文件总应该与被它测试的源码文件处于同一代码包内。在编写测试源码文件的时候,总是会用到标准库代码包 testing 中的 API。testing 包为Go语言的代码包提供了自动化测试支持。它的目标是与 go test 命令协同使用,以自动执行目标代码包中的任何测试函数。 (1).编写功能测试函数 在测试源码文件中,针对其他源码文件中的程序实体的功能测试程序总是以函数为单位的。被用于测试程序...阅读全文

博文 2016-09-07 17:00:22 u012855229

Hyperledger Fabric学习笔记01-系统逻辑架构

本系列学习笔记以阅读《深度探索区块链:Hyperledger Fabric技术与应用》一书的笔记为蓝本,故默认Hyperledger Fabric 1.0,期间可能会追加最新版本的内容,到时会在里面注明。这是一个边看边写的系列,有兴趣的也可以先自行购买此书学习。 Hyperledger Fabric 1.0是一种通用的区块链技术,其设计目的是利用一些成熟的技术实现分布式账本技术(Distributed Ledger Techonlogy DLT)。 超级账本采用模块化架构设计,复用通用的功能模块和接口。 模块化的方法带来了可扩展性、灵活性等优势,会减少模块修改、升级带来的影响,能很好地利用微服务实现区块链应用系统的开发和部署。 Hyperledger Fabric 1.0设计的几个特点: 特...阅读全文

博文 2019-03-21 01:34:41 蜜汁炒酸奶

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

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

Golang源码分析之sort

排序是工程中必不可少的功能,很多编程语言SDK都提供了排序相关的实现。作为软件工程师,我们在学习各类排序算法的同时,是否有思考过,如何去实现一个工业级的排序算法?如果你是Go语言的作者之一,该如何去实现一种能适应多种情况的排序算法? Go SDK中排序相关的实现主要在sort/sort.go中,本文主要基于该文件进行相关实现的分析。 首先来看看Go对排序接口的定义,利用Go的interface特性可以轻松实现多种数据类型的排序功能。想要调用sort包的排序功能我们需要实现这个排序接口,排序接口主要定义了三个方法: Len() int: 返回传入数据的总数 Less(i, j int) bool: 返回数组中下标为i的数据是否小于下标为j的数据 Swap(i, j int): 表示执行交换数组...阅读全文

一看就懂系列之Golang的测试

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u011957758/article/details/81267972 https://blog.csdn.net/u011957758/article/details/81267972 前言 每种语言都有自己的测试姿势,golang的作者提供了一个testing的包来供大家完成测试之旅,简单好用,一起走一波。 10s后以下知识点即将靠近: 1.为什么需要测试? 2.Golang的测试规矩 3.功能测试 4.压力测试 5.测试代码的覆盖率测试 6.测试所有的参数备忘 正文 1.为什么需要测试? 这个是一个老生常谈的话题了,忘记哪里看的数据了,表明是完善的测试体系(这里主要指自测),其实是会提高开...阅读全文

博文 2019-01-10 17:31:35 u011957758

移动测试智能化实践

摘要: monkey、遍历、功能测试想必大家都不陌生,monkey随机性强能够发现隐藏的问题但是随机性强,不可控,效率低;遍历流程可控,但是往往需要较高的时间成本编写维护相关脚本。MQC在自动化测试领域耕耘多年,在充分吸取各种测试方式优点的情况下,为兼容性测试打造了全新的测试工具Ripper。 一、应用质量 & 开发速度 大多数公司在App开发的同时往往有三方面的考虑,时间成本、开发成本、失败成本。 •与时间赛跑 •开发成本 •失败成本 二、测试现状 & 痛点 人工测试 •重复性工作多,测试速度慢 •需要关注的点多,QA成本高 自动化功能测试 •变化快,需要经常性修改,维护成本高 •流程重复,难以发现crash •用例失败原因往往是脚本或是设...阅读全文

QC功能测试大揭秘(1) - 从Android自动化测试谈起

In software testing, test automation is the use of special software (separate from the software being tested) to control the execution of tests and the comparison of actual outcomes with predicted outcomes. Test automation can automate some repetitive but necessary tasks in a formalized testing process already in place, or perform additional testin...阅读全文

go语言实战教程之 后台管理页面统计功能开发(2)

上节内容介绍了后台管理页面统计功能开发(1),从功能介绍,到接口请求分析和归类,最后是代码设计。经过上节内容的介绍,已经将业务逻辑和开发逻辑解释清楚,本节内容侧重于编程代码实现具体的功能。当日增长数据功能、七日增长数据功能通过浏览器工具调试会发现,当日增长功能和近7日增长数据使用的请求接口相同,只是传值较为特殊。以当日用户增长请求为例,当日用户增长数据请求接口如下:/statis/user/NaN-NaN-NaN/count可见,传递的值为NaN-NaN-NaN。进而查看近七日增长数据请求。仍以用户增长请求为例,近七日中的某天数据增长请求接口如下:/statis/user/2019-04-08/count综合上述两种情况的分析,当日请求与近七日请求url相同,只是传值不同。因此,在程序开发实...阅读全文

博文 2019-04-15 12:34:41 qfzhangxu

go 的反射 reflect

Golang语言实现了反射,反射机制就是在运行时动态的调用对象的方法和属性,官方自带的reflect包就是反射相关的,只要包含这个包就可以使用。 grpc 的 golang 版本也是靠反射实现的。 reflect 的基本功能 reflect.TypeOf 返回类型 reflect.Type reflect.ValueOf 返回值 reflect.Value 可以从reflect.Value 中获取类型 通过Kind 来判断类型 先看第一个例子 一 、 反射的基本用法 ValueOf用来获取输入参数接口中的数据的值,如果接口为空则返回0 TypeOf用来动态获取输入参数接口中的值的类型,如果接口为空则返回nil // 反射的基础用法 func base00() { var num = 1.23...阅读全文

博文 2019-08-07 08:32:40 OOM_Killer

离线计算中的幂等和DataWorks中的相关事项

摘要: 概念 幂等这个词在软件研发中经常被提到。比如消息发送时不应该同时给同个用户推送多次相同的消息,针对同一笔交易的付款也不应该在重试过程中扣多次钱。曾见过一个案例,有个对于一个单据的确认模块没有考虑到幂等性,导致对应的单据有两条确认记录。 **点此查看原文:http://click.aliyun.com/m/42758/** **概念** 幂等这个词在软件研发中经常被提到。比如消息发送时不应该同时给同个用户推送多次相同的消息,针对同一笔交易的付款也不应该在重试过程中扣多次钱。曾见过一个案例,有个对于一个单据的确认模块没有考虑到幂等性,导致对应的单据有两条确认记录。其实幂等这个词是个数学的概念,表示这个操作执行多次的结果和执行一次是完全一样的。严格的定义这里不展开讨论,有...阅读全文

【栈与队列】设计一个有getMin功能的栈

#### 【题目】 实现一个特殊的栈,在实现栈的基本功能的基础上,再实现返回栈种最小元素的操作 #### 【要求】 1、pop、push、getMin 操作的时间复杂度都是O(1) 2、设计的站的类型可以使用现成的栈结构 #### 【难度】 ★☆☆☆ #### 【解答】 ```go package main import ( "errors" "fmt" ) func main() { s := NewStack() for _,num := range []int64{4,2,1,3} { s.Push(num) } for i:=0;i<5;i++{ fmt.Println(s.GetMin()) s.Pop() } } type Stack struct { stackData []i...阅读全文

Blog.6 分布式会话跟踪系统架构设计与实践

调用链trace系统可以帮助技术人员快速的定位问题,查看整个请求的调用链路,及各个链路的耗时情况。方便技术人员针对性的对服务进行性能优化。 概念 参考调用链trace的设计分析的介绍,trace系统的要素包括:traceId、spanId、annotation。 traceId:贯穿整个调用链路,通过traceId来关联链路的所有相关日志 spanId:标识单次请求调用 annotation:记录请求调用的附加信息 简化trace日志设计 在调用链trace的设计分析文章中,系统log设计相对复杂,先从最简单的入手开始了解。 微服务A、B、C之间存在相互调用关系,我们为每次请求记录一条log。通过log中的parnetID来确定调用的层级关系,通过spanID来唯标识一个独立请求,通过tra...阅读全文

博文 2019-08-25 18:02:38 渐行渐远

100%移植阿里云移动测试技术,竟仅需1周?!——移动测试专有云(3)——内容详解

摘要: Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题,包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼容性测试使用非常简单,客户只需要提交被检测的APK文件(如需登录再提供测试账号/密码),最快经过10分钟全面测试(其他平台在1-3分钟测试时长)之后,将收到测试完成通知,就可以来MQC上查看测试报告。 **一、自动化测试服务** **Android兼容性测试** Android兼容性测试旨在帮助解决Android应用在不同真机机型上的各类兼容性问题,包括 Crash/ANR分析、6项性能分析、UI检测、3个版本的覆盖安装检测等。Android兼容性测试使用非常简单,客户只需要提交被检测的APK...阅读全文

go语言渐入佳境-网络[4]-port

端口port服务器运行在主机上。 IP地址将定位主机。但是在每台计算机上可能有很多服务,需要一种简单的方法来区分它们。 TCP,UDP,SCTP等使用的方法是使用端口号。有许多“标准”端口。 Telnet通常使用端口23,TCP协议。 DNS使用端口53,使用TCP或UDP。 FTP使用端口21和20,一个用于命令,另一个用于数据传输。HTTP通常使用端口80,但它通常使用端口8000,8080和8088,所有端口都使用TCP。在Unix系统上,常用端口列在文件/etc/services中。 Go具有查询此文件的功能测...阅读全文

博文 2020-01-14 22:33:14 jonson_jackson

Golang学习笔记-测试

Go的标准库提供了几个与测试有关的库,其中最主要的是testing包,testing包需要与go test命令以及源代码中所有以_test.go后缀结尾的测试文件一同使用,一般测试文件的名字都会与被测试源码文件的名字相对应,例如main.go的测试文件名为mian_test.go。 功能测试 为了测试源代码,我们需要在测试文件中创建具有以下格式的测试函数,其中Xxx首字符必须是大写的英文字母,在测试函数的内部,我们可以使用Error,Fail等一系列方法表示测试失败。 func TestXxx(t *testing.T){...} testing.T结构有几个非常有用的方法: Log():将给定的文本记录到日志。 Logf():根据给定的格式,将给定的文本记录到日志。 Fail():将测试函...阅读全文

博文 2019-12-29 14:32:39 土豆吞噬者