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

高速成长的创业公司,诚邀互联网产品大牛,GO研发大牛 坐标:深圳

岗位职责: 负责公司产品后台服务的架构搭建和编码实现; 负责公司后台性能优化,与产品协作提升产品数据; 高级工程师带领团队完成工作,并负责技术攻关. 技术分享; 岗位要求: 1.熟悉golang或c++开发,3年以上实际项目经验; 2.精通linux/unix网络编程. 多线程编程; 3.逻辑思维能力强,有较强的分析定位问题的能力; 4.掌握mysql. redis或其他数据库,能够独立设计数据库表格并优化数据库语句; 加分项: 熟悉Python 有高并发. 数据集群. 海量数据处理研发经验 Spider. 搜索. 推荐系统. 自然语言处理. 机器学习等相关经验。 联系方式: daihuijian@xbonline.ne...阅读全文

erlang对比golang,如何选择?

我最早使用的语言是Java和Python, 并且一直都对Python充满好感, 我喜欢这种很朴实和高效率的感觉, 但我却最后没有采用Python,原因其实也很简单, 我就是不喜欢缩进语法, 就跟很多人换工作仅仅是为了屏幕更大一点一样, 另外就是有了同样很棒的可选方案, 这就是Ruby, 所以我最终采用了Ruby作为主力编程语言, 同样也为不能使用Python而有一点小遗憾,毕竟Python的健壮性比Ruby好很多,只不过Ruby也一直在进步, 所以这一点无伤大雅 我们都知道,无论是Python还是Ruby,甚至Java, 都是在解决业务层的问题, 属于应用型语言, 以解决业务逻辑为主, 但还有一个领域是系统领域,偏网络层和底层操作,在这一块我一直在寻找一种优雅的方案, C++被我首先给淘汰掉...阅读全文

博文 2016-09-05 01:00:03 jiang314

erlang对比golang,如何选择?

我最早使用的语言是Java和Python, 并且一直都对Python充满好感, 我喜欢这种很朴实和高效率的感觉, 但我却最后没有采用Python,原因其实也很简单, 我就是不喜欢缩进语法, 就跟很多人换工作仅仅是为了屏幕更大一点一样, 另外就是有了同样很棒的可选方案, 这就是Ruby, 所以我最终采用了Ruby作为主力编程语言, 同样也为不能使用Python而有一点小遗憾,毕竟Python的健壮性比Ruby好很多,只不过Ruby也一直在进步, 所以这一点无伤大雅 我们都知道,无论是Python还是Ruby,甚至Java, 都是在解决业务层的问题, 属于应用型语言, 以解决业务逻辑为主, 但还有一个领域是系统领域,偏网络层和底层操作,在这一块我一直在寻找一种优雅的方案, C++被我首先给淘汰掉...阅读全文

博文 2016-09-04 14:00:02 jiang314

运维架构服务监控Open-Falcon

摘要:监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。一、 介绍监控系统是整个运维环节,乃至整个产品生命周期中最重要的一环,事前及时预警发现故障,事后提供翔实的数据用于追查定位问题。监控系统作为一个成熟的运维产品,业界有很多开源的实现可供选择。当公司刚刚起步,业务规模较小,运维团队也刚刚建立的初期,选择一款开源的监控系统,是一个省时省力,效率最高的方案。之后,随着业务规模的持续快速增长,监控的对象也越来越多,越来越复杂,监控系统的使用对象也从最初少数的...阅读全文

博文 2017-10-12 10:04:57 青衫无名

APP测试之做好功能交接

项目中出现人员变动时,你一定遇到过被动的接受别人的项目或者功能模块,而在交接过程中,不可避免的会出现功能细节和测试注意点的遗漏,那么当这些功能出现问题或者变动时,你要如何保证项目质量呢?我们又是否有方法最大程度的避免交接遗漏呢?   下面,小编就分享一些项目中的经验给大家~    功能交接过程   1)交接前: a.     阅读相关文档(需求、流程图以及交接人的总结文档),确保在正式交接前对该功能有整体了解; b.     罗列自己的疑问,明确功能难点; c.      查看bug列表,明确易出问题的环节;   2)交接中: a.     解除疑问; b.     抓住重点和逻辑复杂的模块,尽量细致的提问和了解; c.      依据bug列表,在APP测试过程...阅读全文

go语言安装与设置

windows下安装: 包下载路径:http://golangtc.com/download 使用前需要dos执行 set GOROOT= set GOOS=mingw set GOARCH=386 set PATH=/bin 编译执行test.go文件需要执行 8g test.go //编译生成test.8 8l test.8 //连接生成8.exe 8 //执行8.exe example: package main import “fmt” func main() { fmt.Print(“Hello, World\n”) } 中文支持需要保证go文件采用utf-8格式存放,且没有BOM字符 1、dos执行chcp 65001 //修改代码页为utf-8,否则无法通过编译 2、修改dos...阅读全文

博文 2016-04-26 21:00:05 xueyingqi

golang中time比较的时区问题

问题 最近发现程序中有一个时间代码比较老是不对 at, err := time.Parse("2006-01-02 15:04:05", authTime) if err != nil { return } nt := time.Now() fmt.Println(nt, at) if nt.After(at) { return } 打印nt和at后发现at明明在nt之前,但是nt.After返回了false. 原因 fmt.Println(nt.Unix(), at.Unix()) 打印nt和at的Unix时间戳后发现,at时间增加了8个小时.查看time.Parse文档后发现,这里解析的是UTC时间,与中国时间相差8个小时. 解决 使用time.ParseInLocation即可解决问题...阅读全文

博文 2018-10-23 12:34:39 pinecone

DockOne微信分享(一零五):度量驱动的DevOps转型

【编者的话】虚拟化,容器化,云计算,自动化为DevOps运动提供了底层技术支持,新的工具链和技术栈的采用进一步降低了DevOps的技术门槛,越来越多的企业纷纷开始自己的DevOps转型之路,然而…… 本次分享我们将会讨论到: DevOps以及企业DevOps转型的现状为什么我们需要在DevOps转型中强调度量如何实现度量驱动的DevOps转型DevOps转型中的其它实践 Wiki上讲:DevOps(Development和Operations的组合词)是一种重视“软件开发人员(Dev)”和“IT运维技术人员(Ops)”之间沟通合作的文化、运动或惯例 (这个是目标)透过自动化“软件交付”和“架构变更”的流程(这个是方法)来使得构建、测试、发布软件能够更加地快捷、频繁和可靠(这是结果)。 ​ 所...阅读全文

goroutine请求http服务器时很快就阻塞,请问什么原因,或者如何定位问题?

###goroutine请求http服务器时很快就阻塞,请问什么原因,或者如何定位问题? 在做一个设备管理的功能,通过访问http服务器的REST ful接口确定设备是否在线,30s访问1000个设备,目前写的方案大致如下 其中看到goroutine的数量并不是很高,但很快程序就不动了,cpu,内存也并没有占用过高 ```golang package main import ( "fmt" "net/http" "runtime" "time" ) func a() { b() //..... } var bb = 0 func b() { fmt.Printf("b:%d\n", bb) bb++ resp, ...阅读全文

盒测试之做好功能交接

项目中出现人员变动时,你一定遇到过被动的接受别人的项目或者功能模块,而在交接过程中,APP测试便可能出现不可避免的会出现功能细节和测试注意点的遗漏,那么当这些功能出现问题或者变动时,你要如何保证项目质量呢?我们又是否有方法最大程度的避免交接遗漏呢? 下面,TestBird就分享一些项目中的经验给大家~  功能交接过程  1)交接前: a.     阅读相关文档(需求、流程图以及交接人的总结文档),确保在正式交接前对该功能有整体了解; b.     罗列自己的疑问,明确功能难点; c.      查看bug列表,明确易出问题的环节; 2)交接中: a.     解除疑问; b.     抓住重点和逻辑复杂的模块,尽量细致的提问和了解; c. ...阅读全文

让我们一起啃算法----合并两个有序数组

合并两个有序数组(Merge-Sorted-Array) 题干: 给你两个有序整数数组 nums1 和 nums2,请你将 nums2 合并到 nums1 中,使 nums1 成为一个有序数组。说明:初始化 nums1 和 nums2 的元素数量分别为 m 和 n 。你可以假设 nums1 有足够的空间(空间大小大于或等于 m + n)来保存 nums2 中的元素。示例: 输入: nums1 = [1,2,3,0,0,0], m = 3 nums2 = [2,5,6], n = 3 输出: [1,2,2,3,5,6]来源:力扣(LeetCode) 这是一题关于数组的题目。目前为止讲解数组、字符串相关的题目都会引入一个解题思路: 双指针思路。其实就是想让小伙伴们培养一个习惯:面对数组、字符串类...阅读全文

博文 2020-05-11 10:32:47 三斤和他的朋友们

求大神帮忙解决问题

取文章函数: ![1513857512(1).png](https://static.studygolang.com/171221/6db4e1a71ce381ef6c546cfa6caed970.png) topiccontroller调用函数: ![1513857531(1).png](https://static.studygolang.com/171221/3bc0b6821c69401fdad20f5ec7ab0c9c.png) ![1513857478(1).png](https://static.studygolang.com/171221/c4290c98a2da451784ddb5a1ead4f012.png) 为什么会出现这个情...阅读全文

作为一个搞运维的,你真的了解 SRE 么?

来自:知乎,作者:悟冥 链接:https://zhuanlan.zhihu.com/p/97600369 0、为什么诞生 SRE? 原因一:企业成本的增长同用户的增长不成线性变化。但是随着系统的复杂度提升,组建越来越多,用户的流量压力也越来越大,相关的变更也会越来越多,各模块之间的变更顺序也会越来越复杂。在这样的情况下,单纯的靠运维人力的数量提升无法满足业务的发展需求,而且会提升企业的成本; 原因二:传统的研发团队和运维团队天然具有冲突。公司的IT人员的配置:研发(Dev)和运维(Ops),研发部门聚焦在快速构建和快速发布;运维部门关注的是如何避免发生故障,从目标上讲就是矛盾的。且随着 IT 技术的发展,对 IT 从业者的要求也越来越高,既要懂得底层系统,也要懂得数据算法,同时对主流技术还要...阅读全文

博文 2020-04-13 09:32:43 码农小光

任职要求

UI设计师 职位详情 负责产品UI视觉设计与用户体验,能独立完成设计任务。 与团队合作,针对复杂抽象的问题设计清晰有效的解决方案。 准确理解产品需求和交互原型,设计出优质用户体验的界面效果图。 参与产品分析、创意以及交互体验优化,并提出建设性意见。 规范产品在用户体验上的统一性和一致性。 任职要求 本科及以上学历,设计类相关专业,2年以上的互联网或移动互联网设计经验。 有互联网公司工作经验,主导过上线项目。 精通各类交互与视觉设计,熟悉iOS、Android端的官方设计规范,同时是深度用户。 重视细节,追求像素级完美,热爱人机交互与用户洞察,对设计探索有浓厚兴趣,自我驱动力强。 具备一定的产品思维和较好的用户同理心,能够参与用户研究、交互设计、设计原型开发等工作。 后端开发工程师 职位详情 ...阅读全文

由一个问题引发对文件描述符的研究

故事的起因 一次一个同事给我发了一段简单的代码,问我这段代码有什么问题? package main import ( "fmt" "os" ) func main() { f, err := os.Open("/test.txt") if err != nil { fmt.Println(err) } fmt.Println(f.Name(), "opened successfully") } 看到这段代码后不加思索的回答,文件没有close,他说错,可能当时我们没在一个频道上,“err处理没有return”。 又仔细的看了下代码,发现err的处理代码块后使用了f.Name(),这个是存在问题的,因为当open发生错误时,返回的文件句柄则为nil,下文直接使用f.Name()。这种错误对于初...阅读全文

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个阶段: 第...阅读全文

什么是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笔记-变量声明与初始化

开发十年,就只剩下这套Java开发体系了 >>> 变量声明 官方DOC: http://golang.org//spec#Variable_declarations Go中使用全新的关键字var来声明变量。var我们并不陌生,在Javascript 和C#中均有出现。不同的是Go和C#中变量属于强类型,在声明变量后就不允许改变其数据类型。 声明变量有多种形态: var a int //声明一个int类型的变量 var b struct { //声明一个结构体 name string } var a = 8 //声明变量的同时赋值,编译器自动推导其数据类型 var a int = 8 //声明变量的同时赋值 var { //批量声明变量,简洁 a int b string } 变量初始化 变量...阅读全文

移动测试智能化实践

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

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

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

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 渐行渐远

leetcode_275

Golang: 思路:二分思路往往是想起来很简单,但实现起来很容易出错,主要原因其实就是在于边界问题,这题也是一样 代码如下: func hIndex(citations []int) int { low,high,res:=0,len(citations)-1,0 for low<=high{ mid:=low+(high-low)/2 if citations[len(citations)-mid-1]>=mid+1{ if mid+1>res{ res=mid+1 } low=mid+1 }else{ high=mid-1 } } return res ...阅读全文

博文 2020-03-28 15:32:45 淳属虚构