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

让互联网更快的协议,QUIC在腾讯的实践及性能优化

作者|罗成 编辑|小智 本文主要介绍 QUIC 协议在腾讯内部及腾讯云上的实践和性能优化。欲了解 QUIC 协议产生的背景和核心特性,可阅读今日二条推文。 写在前面 如果你的 App,在不需要任何修改的情况下就能提升 15% 以上的访问速度。特别是弱网络的时候能够提升 20% 以上的访问速度。如果你的 App,在频繁切换 4G 和 WIFI 网络的情况下,不会断线,不需要重连,用户无任何感知。如果你的 App,既需要 TLS 的安全,也想实现多路复用的强大。如果你刚刚才听说 HTTP2 是下一代互联网协议,如果你刚刚才关注到 TLS1.3 是一个革命性具有里程碑意义的协议,但是这两个协议却一直在被另一个更新兴的协议所影响和挑战。如果这个新兴的协议,它的名字就叫做“快”,并且正在标准化为新一代...阅读全文

golang 速度限制,time.Tick(time.Second*2) channel,隔2秒后继续执行

package main import ( "fmt" "time" ) func main() { requests := make(chan int, 5) for i := 1; i <= 2; i++ { requests <- i } close(requests) limiter := time.Tick(time.Millisecond * 200) for req := range requests { //会循环两次,前面往requests channel中发送了两个值 <-limiter //执行到这里,需要隔 200毫秒才继续往下执行,time.Tick(timer)上面已定义 fmt.Println("request", req, time.Now()) } burs...阅读全文

博文 2015-04-18 03:00:00 benlightning

Go channel 实现自增长ID

1 //autoInc.go 2 3 package autoInc 4 5 type AutoInc struct { 6 start, step int 7 queue chan int 8 running bool 9 } 10 11 func New(start, step int) (ai *AutoInc) { 12 ai = &AutoInc{ 13 start: start, 14 step: step, 15 running: true, 16 queue: make(chan int, 4), 17 } 18 19 go ai.process() 20 return 21 } 22 23 func (ai *AutoInc) process() { 24 defer fu...阅读全文

博文 2014-11-01 03:00:00 yumuxu

高级语言流派与python发展

一、高级语言的流派人类代码———>翻译———>机器语言人类代码<———翻译<———机器语言1、流派一:编译型语言执行流程:人类代码——一次性把代码给翻译官(翻译器)——汇编语言——机器语言语言代表:C、C++、golang优点:执行速度快缺点:跨平台可移植性差(基于intel开发的程序,无法移植在ARM平台使用) 硬件平台:CPU,有自己的指令规则。 intel、AMD :cpu属于复杂指令集,高性能高功耗 ARM :cpu属于简单指令集,手机、平板、低功耗 软件平台:windows、linux、mac系统平台不一样,指令操作不同2、流派二:解释性语言执行流程:人类代码——边执行边翻译,陪同翻译(解释器、虚拟机)——机器语言语言代表:python、java、php、ruby、c#优点:跨平台...阅读全文

博文 2019-10-15 20:34:34 aside section ._1OhGeD

问答 APP 自动答题助手Answer Helper

问答 APP 自动答题助手,适用于 百万英雄 / 芝士超人 / 冲顶大会 / 花椒百万赢家 等多个直播答题类 APP,支持 iOS、Android 手机和模拟器,3 秒出结果,可以自动答题。 ![image](https://raw.githubusercontent.com/henson/Answer/master/doc/1.png) 超快的响应速度 支持iOS、Android 支持真机测试和模拟器 全面覆盖百万英雄/芝士超人/冲顶大会/花椒百万赢家等多个直播答题类APP 优化搜索逻辑保证高正确率 多维度参考值,答案交叉验证 自动答题(目前仅支持Android...阅读全文

一个基于Golang的分布式存储开源项目

项目地址:https://code.google.com/p/weed-fs/ weed-fs是一个简单且高性能的分布式存储系统, 它有两个目标: 1、存储海量文件 2、快速访问所存的文件 weed-fs选择了 key~file 映射的方式实现文件寻址, 而不是POSIX文件系统已有的机制, 这有点类似于nosql系统, 你可以称之为“NoFS” weed-fs的实现机制是管理volumes服务器, 而不是在一个中心阶段管理所有的元文件, volumes服务器可以管理文件及其元文件, 这种机制可以大大的缓解了中心节点的压力, 并且可以将元文件保存在volumes服务器的内存中, 而且文件自动采用Gzip 压缩 , 从而保证了文件的访问速度 weed-fs的理论模型可参考 Weed-FS mo...阅读全文

博文 2015-06-17 20:17:42 love_se

使用golang搭建新博客系统

原文链接:[https://ashan.org/archives/931](https://ashan.org/archives/931) 前一段时间想对博客系统进行一次大面积更新,因为原有Nodejs后台很多地方做的不好,无论从设计上还是编码结构上都没有达到我想要的效果。所以国庆节前就开始着手对新系统进行设计,经过几天的重构修改,前台部分第一版已经完成,后续还会继续优化。 ### 预计目标 我对我自己博客系统的构想一直没有过变化,而且就这个设想我还专门撰写过一篇名为[《我想要一个怎样的Blog系统》](http://www.ashan.org/archives/893)。我对这次系统更新做了如下几个优化点。 - 打开速度要更快 - 依然不需要花哨功能 - 路...阅读全文

Golang-btree包的主要方法和总结

B-tree(多路搜索树,并不是二叉的)是一种常见的数据结构。使用B-tree结构可以显著减少定位记录时所经历的中间过程,从而加快存取速度。按照翻译,B 通常认为是Balance的简称 本篇介绍google的btree使用, 地址:http://github.com/google/btree 树的结构必须实现排序的规则 import ( "github.com/google/btree" ) type MyTree struct { Age int Name string } func (m *MyTree) Less(item btree.Item) bool { return m.Age < (item.(*MyTree)).Age } 创建树 btree.New(degree int)...阅读全文

博文 2020-03-03 15:33:21 八叉树

01.手撕Go语言-初识

简介 Go是一门开放源码的编程语言,可容易的构建简单、可靠和高效的软件 历史 Go语言是由谷歌的开发工程师(罗伯特·格瑞史莫、罗布·派克、肯·汤普逊等)于2007年开始设计,利用20%的自由时间开发的实验项目,并于2009年以BSD-style授权(完全开源)首次公开发布,于2012年正式发布。 罗布·派克:Unix小组成员,参与Plan9和Inferno操作系统,Limbo语言和UTF-8编码主要设计者,《Unix编程环境》,《编程实践》作者之一 肯·汤普逊:B语言和C语言设计者,Unix和Plan9操作系统创立者之一,1983年图灵奖获得者 罗布特·格瑞史莫:参与制作JAVA的HotSpot编译器及Chrome浏览器JAVASCRIPT引擎V8 创造 开发者使用编程语言的三大分类(执行速...阅读全文

博文 2019-06-23 23:32:47 imsilence

干货满满的大数据技术沙龙来了,24日北京不见不散

豪华讲师阵容,大牛云集,云栖线下沙龙大数据专场即将开启,为你揭秘大数据与人工智能技术的最佳实践,2月24日邀您到现场,与大牛面对面。 立即报名:https://yq.aliyun.com/promotion/154 大数据和人工智能技术正在变革着我们的生活、工作和思维,相关的技术也在不断演进,使得大数据的应用越来越便捷,功能也越来越强大。 阿里云数加平台提供了一站式的大数据以及人工智能服务,在大数据技术方面有着大量的积累。本期沙龙请到了数加平台的4位技术大牛,为大家带来大数据技术的演进与实践。 议题介绍: **1. PAI分布式机器学习平台编程模型演进之路** 讲师:九丰 阿里巴巴iDST技术专家 议题简介:随着训练数据规模的持续扩大,模型特征的持...阅读全文

3G门户GO手机浏览器试用

alect发布于 2009-06-14 12:50:33| 17397 次阅读 字体:大 小 打印预览 var ReTitle = '回复:3G门户GO手机浏览器试用 '; 3G门户花大手笔打造的GO浏览器自上次流出界面截图后,就吸引了机友们的眼球。 近日,3G门户进行了一次小规模的试用,通信之家第一时间拿到泄露版。现在就听我们一一道来试用感受。 安装 目前GO浏览器只支持Symbian S60第三版,sis安装包大小为2.61MB,安装后占用了约3MB的内存,还预装了一个TTF通用矢量字体。安装和启动速度比较快,1分钟内搞定了。 支持GPRS和Wi-Fi连接。安装后会跳出“帮助”,用户可以自行关闭,比较人性化。 启动过程 界面 GO采用了Akebono UI进行开发,号称“可以让用户在普通...阅读全文

百度云虚拟主机有助于提升网站收录和排名?

站长朋友都知道,要想网站在搜索引擎中能有好排名,需要依靠搜索引擎的搜索规则对网站进行优化。网站优化是一个系统综合的过程,从前期的建站规划到后期的网站运营,SEO无处不在。 为了提升网站排名,很多企业会选择用虚拟主机来托管网站,而在选择虚拟主机上,大家都会针对各种虚拟主机进行对比,而百度作为国内最大的搜索引擎、最大的中文网站,它推出的百度云虚拟主机对于网站排名有什么影响?是否有助于提升网站收录和排名? (https://static.studygolang.com/180423/5573a455ca7ad1d725e486a864bbca89.png)![5555.png] SEO友好度 网站优化获得好排名是基于搜索引擎自然排名机制,而搜索引擎的排名机制又以用户...阅读全文

DLang vs GoLang

这次我打算好好写, 因为最近有点闲. 首先介绍两种语言: DLang 如果你不介意阅读英文, 那么DLang的官网有一份非常好的介绍, 简单概括下就是 C太古老了, 缺乏很多新的特性.C/C++太复杂了, 但是语言标准就有数百页之多.C++中有很多常用的, 好的特性是通过标准库实现的, 而非编译器, 这样无法做到最好的优化.D希望简化开发, 降低复杂度, 但同时保留大多数好的特性.作者希望这能成为C/C++的代替品. 对我来说, DLang意味着: 垃圾回收. DLang采用了多线程GC(有时间我会写写这个), 回收精度很高, 性能损耗却非常小.C Style Syntax. C和D之间类似的代码具有类似的功能.DMD + LDC. DMD是官方的后端, 而LDC则是基于LLVM的后端, 前...阅读全文

购买国内虚拟主机怎样选择机房?需要注意什么?

购买了国内虚拟主机,怎样选择机房,成了大家头疼的事情,毕竟没有好的机房去辅助,再好的虚拟主机也不能很好的发挥。 国内虚拟主机机房的选择主要考虑是速度,安全等,另外举例网站访客的物理位置靠近,举例越短访问速度快而且稳定。 分两方面考虑,地理位置和是否备案 从地理位置上。一般情况下我们建议选择离自己目标用户所在地域最接近的数据中心,这样可以进一步提升用户访问速度。比如:华北用户推荐选北京和青岛地域,华东用户选杭州地域,华南地域用户可选广州和深圳地域。机房越近,你搭建的网站就经常有秒开的刺激。与自己的电脑本地搭建的服务器相近。 从备案与否。无论是华北机房用户,还是其他国内机房,国内机房都需要按照工信部的要求来操作,对网站进行备案,域名有备案号则可直接购买主机使用。如购买的国...阅读全文

如何做好自适应网站

想要自己动手做一个好网站,首先你要了解网站建设的步骤、流程、所需的要素。做网站不是说一朝一夕就能马上完成的,一个好网站是要通过不停的测试与修改才能算做好一个网站。而不是把一个网站做出来就完事了,还要通过各方面的测试与体验才能更好的完善出一个完美的网站。网站建设的过程是枯燥乏味的,做网站也考验耐心。做为资深网站测评者的小编,今天给大家说说怎么来断定一个网站的好与坏呢? 一、 网站的响应速度 一个网站最重要是浏览用户的体验,如果网站的响应速度慢,就会导致用户在体验时的兴趣大大减少。 二、 网站内容的丰富性 网站内容要多样式,不能太过单一,就算是企业型展示网站也不能光是做一些行业的宣传。要多做点关于行业内的新闻,这样整个网站才会感觉有内容。 三、 网站的快...阅读全文

go语言服务端内存持续增长,求解惑!

最近用golang开发了一个socket服务端,主要逻辑就是接收客户端发来的数据解析后存入opentsdb中,但是跑一段时间后发现内存就会增长,而且不会被gc回收,初步判定是由于大量make []byte 导致内存不释放,代码如下,求高人解惑? ``` func StartTCP() error { tcp_addr, _ := net.ResolveTCPAddr("tcp4", tcp_listen) listener, err := net.ListenTCP("tcp4", tcp_addr) if err != nil { return err } defer listener.Close() log...阅读全文

Git RPC 服务Gitaly

Gitaly是一个Git RPC服务,用于处理GitLab发出的所有git调用。目前Gitaly仍在发展。 我们期望它成为一个标准组件,并在2017年第三季度达到全覆盖。 **项目目标:** 制作大型GitLab实例的git数据存储层,特别是GitLab.com,速度快。 **这将通过关注两个领域(按此顺序)来实现:** 允许高效缓存 GitLab的Git数据层的弹性水平缩放 **由来:** 对于GitLab.com git访问很慢。 当查看Rugged :: Repository.new性能数据时,我们可以看到我们的P99峰值高达30壁秒,而CPU时间保持在15毫秒的范围内。 指向文件系统访问是罪魁祸首。 ![rugged.new timings](https://sta...阅读全文

开源项目 2017-03-06 18:01:11 网友

【互联网早报】2017.11.30

## 国内新闻 1.中国“悟空”重磅新成果:我们可能首次看到了暗物质 http://tech.sina.com.cn/2017-11-30/doc-ifypceiq7892012.shtml 2.迅雷与子公司互撕殃及股价 周三暴跌逾31% http://tech.sina.com.cn/i/2017-11-30/doc-ifyphxwa7072305.shtml 3.爱回收运营中心6周年活动:详解用户隐私保护机制 http://tech.sina.com.cn/mobile/n/n/2017-11-24/doc-ifypathz5549517.shtml ## 国际新闻 1.苹果起诉高通:骁龙820处理器存在侵权行为 ...阅读全文

Windows下Node.js多版本管理器

由于开发的要求,需要在本地配置不同的node.exe,而开发环境是Win,所以无法使用nvm,而nvmw又不是特别好使,因此索性自己写了一个。 使用GO编写,代码已经放在[github](https://github.com/kenshin/gnvm),不过没什么特别的地方,就是一个自动化的CLI工具,节省了手动下载/配置的麻烦。 文档(详细介绍) -------- https://github.com/kenshin/gnvm 下载 -------- * [32-bit](https://app.box.com/gnvm/1/2014967291) | [64-bit](https://app.box.com/gnvm/1/2014967689) **常用地址...阅读全文

QQ空间已在生产环境中使用QUIC协议

QUIC(Quick UDP Internet Connections,发音’quick’)是Google于2013年发布的基于UDP的多路传输协议,它的主要目标是为了整合TCP协议的可靠性和UDP协议的速度和效率,以降低延迟,提高用户体验。 Google通过大规模的性能分析发现,“相对于TCP而言,QUIC的性能有了真正的进步”,这得益于QUIC的以下特性: 低延迟链接的建立,这对已建立的链接很有好处。在这种情况下,Google搜索页面的平均加载时间缩减了3%。 改进拥塞控制和丢包恢复机制,这在糟糕的网络环境中尤为重要。在这种情况下,Google搜索页面在“最慢的1%的连接”中节省了整整1秒的时间,并且观看基于QUIC的YouTube视频时会减少高达30%的数据重缓存。 据了解,QQ 空间...阅读全文

博文 2017-10-13 06:39:19 郭蕾

做网站的几点建议

如何让自己的网站能够在互联网上展现自如、屹立不倒?一个网站怎么样才算做的成功? 对于这两个问题,最直接影响的方面就在于网站建设的准备工作上。做网站不是说想到了就马上做,要有规划和计划。在建设网站前,要明确做网站的目的、网站的定位、网站的方向,这样才能确定网站的功能、网站模板、网站规模、投入费用。所以在网站建设的前期,一定要做好网站规划。针对刚接触网站建设的个人与企业来讲,可以借助建站宝盒自助建站系统来辅助你来做网站。 网站建设 对于网站建设的规划,小编有几个方面的建议: 一、网站性质规划 1. 要明确自己网站的定位于方向 要知道自己做这个网站的目的是什么?是想要宣传产品、推广公司,还是开拓市场、找分销、找合作。从而来定义自己的网站,宣传推广的性质可以为展示型网站...阅读全文

如何开发和构建Android multidex?

在Android开发中,函数方法超过65k限制后,我们就常常会用到multidex分包解决,但是multidex的配置,对系统apk的构建、签名、打包复杂性大大的增加,严重的降低了构建效率。那这个问题怎么处理呢? 为解决这个问题,通常我们使用的方法就是在Gradle productFlavors新建出来一个 development flavor 和 production flavor 来满足我们不同构建需求。 为了更直观的给大家展示具体的操作,我们通过一个例子来演示如何设置这些flavors在Gradle build文件中: android { productFlavors { // Define separate dev and prod prod...阅读全文

Docker挖Twitter首席财务官难道是要上市?

Docker今天宣布,聘请前Twitter首席财务官和Zynga财务主管Mike Gupta作为其新的首席财务官。Gupta自2012年12月以来担任twitter的首席财务官。去年7月升任高级副总裁负责战略投资。在此之前,他曾一度担任Twitter的公司财务副总裁并且在Zynga工作了大约一年半,值得注意的是他还在雅虎工作过8年。 ![alt 文本](http://blog.tenxcloud.com/wp-content/uploads/2015/09/Twitter.jpg) Docker’s new CFO Mike Gupta Docker现任首席财务官Eric Bardin将成为Docker高级财务和业务操作的SVP。该公司表示,他将负责财务计划和分析,扩大D...阅读全文

大型网站的 HTTPS 实践(三)——基于协议和配置的优化

1 前言 上文讲到HTTPS对用户访问速度的影响。 本文就为大家介绍HTTPS在访问速度,计算性能,安全等方面基于协议和配置的优化。 本文最早发表于百度运维部官方博客 2 HTTPS访问速度优化 2.1 Tcp fast open HTTPS和HTTP使用TCP协议进行传输,也就意味着必须通过三次握手建立TCP连接,但一个RTT的时间内只传输一个syn包是不是太浪费?能不能在syn包发出的同时捎上应用层的数据?其实是可以的,这也是tcp fast open的思路,简称TFO。具体原理可以参考rfc7413。 遗憾的是TFO需要高版本内核的支持,linux从3.7以后支持TFO,但是目前的windows系统还不支持TFO,所以只能在公司内部服务器之间发挥作用。 2.2 HSTS 前面提到过将用...阅读全文

博文 2015-05-04 11:27:17 luocn99

study_note

1 提高注意力 长期 1)休息好,医生建议每天至少睡7小时最有益健康; 2)做计划,事先想好目标,否则容易在邮件、短信、网页上浪费时间; 3)冥想 ,每天给自己留一段时间,练习提高注意力的技巧; 4)均衡饮食+经常运动 短期 1)使用耳塞,最好每隔一小时就歇会儿; 2)记录注意力分散的时间段; 3)给自己留几个胡思乱想的时间段; 4)工作半个到一个小时后休息一下; 5)一次完成一件事(延伸:看完一本书、做好一份工作); 6)蜘蛛技巧:预计到那些能让你分散注意力的事情,就不会被它们影响 2 心声 作为非原生家庭的我,经不住烧,耐不住冷,做不成雷锋,当不成案例,不是合格的奋斗者,理解不了《告研发员工书》,丰富不了人们的沟通和生活。华为给我最快乐的日子,就是我还没有来华为时的日子;华为对我来说很神...阅读全文

博文 2018-07-01 17:34:49 brightsunp

网络安全 - 制作免杀

介绍:之前使用 小七免杀工具包 来作免杀(有空我会上传到网盘上),就是对PE(.bat、.exe这类)文件中出现的特征码进行替换修改,修改方法:等价替换指令,字符串修改大小写等。 现在开源的东西比起手工,免杀率高,速度快,功能多。下面我就介绍下 Hercules 工具: 一、安装 Kali Linux 二、搭建GO语言环境 1、下载解压GO 解压到 /usr/local 目录下: 2、配置环境 让GO命令有效: 文件后追加 export PATH=$PATH:/usr/local/go/bin: 再按 Esc ,输入 :wq,保存退出。使文件生效,并查看版本号,是否正确配置: 三、安装Hercules 升级软件包: 运行Hercules: 四、生成免杀载荷 选择1,输入ip、端口号(用于反弹...阅读全文

博文 2017-06-09 05:05:42 alexnevsky

IDEA 专门发布了一个golang的IDE叫Goland

非常好的IDE,叫goland。 支持最新的golang1.8了 下载地址: https://www.jetbrains.com/go/ 开始使用手册: https://www.jetbrains.com/help/go/1.0/getting-started-with-gogland.html 只有一直都是使用java的ide然后在加上go plugin进行开发的。 有新的ide就用新的吧。 golang也发展到了1.8的版本更新速度快啊。 下载地址: https://golang.org/dl/ 最近的项目开始慢慢的使用golang进行开发了。 简单快速高效,是java不能比拟的。 $(function () { $('pre.prettyprint code').each(functi...阅读全文

博文 2017-07-12 10:27:28 freewebsys

全面升级后的开源云盘不了解一下么?蓝眼云盘 2.0 发布

蓝眼云盘的 Github 地址,请随手点个 star,谢谢啦。 部分软件截图: 2018 年 1 月份的时候,蓝眼云盘 1.0 刚开发完毕,那时候一个 star 都没有。为了让自己的这个开源项目看起来像那么回事儿,我发第一篇文章, 经过一年时间的持续迭代,目前蓝眼云盘已经有了 600+的 star。 这次升级的关键词就是:更快,更人性化,更透明。更快是指后端重新梳理了架构,从而日志、异常、离线任务、配置文件等更加规范了,图片缩略图也增加了缓存功能,访问速度更快。更人性化是指增加了 UI 的安装向导,可以通过下一步,下一步的方式就配置好数据库和管理员账户。更透明是指增加了大盘监控,管理员可以非常直观的看到每天的 PV,UV 以及周环比日环比,文件占用空间等重要信息。 开源虽然不容易,但是看到大...阅读全文

博文 2019-01-08 23:34:45 李爽

Go 静态网站生成器 gohugo

Hugo 是 Go 编写的静态网站生成器,速度快,易用,可配置。Hugo 有一个内容和模板目录,把他们渲染到完全的 HTML 网站。 Hugo 依赖于 Markdown 文件,元数据字体 。用户可以从任意的目录中运行 Hugo,支持共享主机和其他系统。 Hugo 只需要几分之一秒就可以渲染一个经典的中型网站,最好网站的每个部分渲染只需 1 毫秒。 Hugo 非常适合博客,文档等等网站的生成。 Hugo 当前提供 Windows,Linux,FreeBSD,NetBSD 和 OS X (Darwin) 的 x64, i386 和 ARM 架构的二进制预构建包。 Hugo 的源代码可以通过 Go 编译器工具链编译到任意地方运行,例如: DragonFly BSD, OpenBSD, ...阅读全文

一个上线90天就被焦点访谈报道的APP 如何通过阿里云升级它的创业体验

在这个脑洞大开的APP上面,你可以出售任何你想出售的“商品”,包括你的时间、你的技能,你可以陪人聊天、代人跑腿,甚至只是笑给你听。这款特别的APP上线仅仅60天就获得了1个亿的A轮融资,平台服务人次超10万,最近还得到了中央电视台《焦点访谈》的关注。这款APP的名字是“空格”。 据公司创始人兼CEO唐永波介绍,“空格”的使命是升级生活方式。于他而言,他要通过“空格”打造一个更广阔的“升级生活”的格局:1个新商业模式和1个新生态系统,最终实现“1+1>2”的效果。 ![空格配图3.PNG](http://studygolang.qiniudn.com/160105/048e68ce5f595c257b6fcf60c49176c5.PNG) 1个新的商业模式指S2C(Serv...阅读全文

游戏专项测试究竟怎么测?

摘要: 随着游戏行业的不断发展,移动游戏市场占比首次超过客户端游戏,并保持着持续增长的趋势,可见手游将成为未来游戏行业的核心增长点。但在手游行业迅猛发展的同时,也伴随了日益激烈的竞争。有很多潜心打磨一炮而红的手游,也有很多因为个别质量问题就在上升期跌了跟头,甚至就此出局的手游。手游的质量控制和质量管理逐渐成为游戏厂商生存和发展的核心。 一、行业痛点 1. 缺少自动化测试系统 一套完整的自动化系统往往包括交互平台、测试工具和硬件机房几个部分。自动化系统的建设和维护都需要投入大量的人力物力,大部分手游公司都难以自行建立一套自动化测试系统。往往通过半自动化或完全手工测试来完成手游的测试工作,人力成本巨大且效率很低。 2. 技术挑战 传统的应用自动化测试,可以通过脚本查...阅读全文

一次糟糕的golang面试体验

因为现在的公司加班过于严重,一周五个工作日我有四个工作日是晚上11点以后才能下班,偶尔可能会到凌晨一点,两点...甚至到四点,第二天还要正常到公司。因为实在有点扛不住了就公开了下简历,准备重新看看外面的情况。 然后就有好几个猎头找到了我,我就把我的简历给了他们;后来呢有一个猎头给我推荐一个一家公司(位于五角场附近,我本身也就附近住)所以就没多考虑准备过去看看;时间定在了周五下午3点。后来这个猎头又找我说这家公司需要在简历上涉及到三个问题;猎头就把三个问题给到了我问我会不会,我看完之后感觉没什么问题就简短的回答了下给了他;面试时间依然是周五下午3点钟 三个问题 1.并发达到1万/秒怎么做TCP的连接管理? 2.消息中间件如果异常,造成数据丢失怎么处理? 3.并发量持续增长的情况下,怎么保证原有...阅读全文

????????字节跳动 2020 春季实习生招聘及校招全职补录全面启动????????

????????字节跳动 2020 春季实习生招聘及校招全职补录全面启动????????投递之后记得在评论区留个言哈,方便我在后台匹配投递记录!​时间有限,抓紧投递简历了!顺便介绍一下我的部门!​我们是国际化研发部门,这个部门做啥呢?这不就是一看名字就知道是做的海外产品的吗~那你们这个部门咋样?有拿得出手的产品吗?那是必须有啊!国际化部门的重磅产品:Helo,这是公司内第一款在海外首发的社交媒体平台!现在Helo已经是印度本土语种社交媒体平台的第一名!GP上免费榜霸榜选手!目前,Helo在印度已经拥有几千万每日活跃用户,并保持高速增长!我们的未来是什么?​未来,我们希望可以把业务扩展到更多的国家地区,做全球的社交媒体平台!因此,我们需要更多优秀的人一起做有挑战的事!国际化研发团队,欢迎你!!...阅读全文

Golang(Go语言)的三大设计目标

1.编译快 2.运行快 3.容易写 一般语言都只满足其中一两者,但是Go语言却找到了一个平衡点,同时满足这三个要求。目前比较适合做相对底层一点的东西,比如云计算、数据库、服务器后端等方面的,有些人可能不喜欢golang的语法,认为限制太多,比如大括号不能抬头等,不然编译都不能通过,但是我觉得这样很好,就不存在各种编程风格之争,大家格式都写得一样,习惯了就很容易阅读和理解别人的代码。还有其大繁至简的设计理念,使得用很少的代码量就能完成很复杂的开发工作,只要习惯了语法,写起代码来很轻松~~ C/C++这种类型语言的优点是运行速度快,缺点是编译较慢,语言诞生很早,由于历史原因,C++起初本身并不完美,规范经过不断完善修改并兼容,导致C++很复杂,虽然性能好,但是开发效率不是很高。 Java、.NE...阅读全文

博文 2016-02-20 21:00:02 QQ245671051

golang和cache一致性

之前关于golang调度以及垃圾回收相关文章中,都有提到cache一致性的问题。今天来简单说一下cache相关内容,以及在golang中需要注意的事情。 cache结构 图中是一个存储结构示意图,cpu和主存直接使用的是L3的结构。金字塔越上面,相互之间的访问速度越快但是数据量越小,越往下访问速度越慢但数据量越大。 在单核CPU结构中,为了缓解CPU指令流水中cycle冲突,L1分成了指令(L1P)和数据(L1D)两部分,而L2则是指令和数据共存。多核CPU增设了L3三级缓存,L1和L2是CPU核自己使用,但是L3缓存是多核共享的。 cache局部性原理 局部性分为时间局部性和空间局部性,时间局部性是说,当前访问到的数据随后时间也可能会访问到。空间局部性是指,当前访问的的地址附近的地址,之后...阅读全文

博文 2019-08-10 22:34:18 lucifer_L

国内主机与海外主机的区别是什么

站长建站的时候都遇到过主机选择困难的问题,一个是听上去高大上的国外主机,一个是纷繁多样的国内主机,到底怎么选择?其实,只要了解了它们的区别,选择就容易多了。下面给大家整理了国内和国外主机的六大差别,供大家选购参考。 1、备案:国内主机必须备案,国外主机不需要。 国外主机可以说是懒人福音,但如果为了省略这点手续就选择国外主机,并不值哦。因为现在国内一些主机商会包办备案服务,大家准备资料就可以了。 2、访问速度:国内主机国内访问快,国外主机国外访问快。 如果你的网站主要针对国内用户,选择国内主机才是最合适的,因为国外的服务器在国内的响应速度比较慢,因为网站打不开而丧失客户,实在有点冤。如果是专门做外贸的,建议根据外贸地域选择主机。 3、空间大小:如果说国内主机的空间是香辣鸡...阅读全文

在安全管理的Hard模式中,当一个好“玩家”

摘要: 据全球媒体Venture Beat的数据,2016年,全球游戏市场份额达到910亿美元,手游占据了一半,中国的手游玩家数量,已经稳居世界第一。 在游戏行业旺盛的生命力背后,网络攻击也在游戏行业中逐利、蓄意破坏、助长恶性竞争。 据全球媒体Venture Beat的数据,2016年,全球游戏市场份额达到910亿美元,手游占据了一半,中国的手游玩家数量,已经稳居世界第一。 在游戏行业旺盛的生命力背后,网络攻击也在游戏行业中逐利、蓄意破坏、助长恶性竞争。玩家的第二世界,也是 “恶魔的游乐场”。 Steam最近公布的官方数据显示,每个月约有77,000个Steam账户的凭据被盗,每年,全球针对游戏行业的DDoS攻击几乎是成倍增长。 Twitter: 暴雪公司因DDoS攻...阅读全文

Golang 中使用 Slice + 索引 Map 替代 Map 获得性能提升

起因 在我们的多个线上游戏项目中,很多模块和服务为了提高响应速度,都在内存中存放了大量的(缓存)数据以便获得最快的访问速度。 通常情况下,为了使用方便,使用了 go 自身的 map 作为存放容器。当有超过几十万 key 值,并且 map 的 value 是一个复杂的 struct 时,额外引入的 GC 开销是无法忽视的。在 cpu 使用统计图中,我们总是观测到较为规律的短时间峰值。这个峰值在使用 1.3 版本的 go 中显得特别突出(stop the world 问题)。后续版本 go gc 不断优化,到我们现在使用的 1.10 已经是非常快速的并发 gc 并且只会有很短暂的 stw。 不过在各种 profile 的图中,我们依然观察到了大量的 runtime.scanobject 开销! ...阅读全文

使用Go语言一段时间的感受

最近在忙一个Server+Client的项目,Client是Android手机,大概也就是几十的规模。Server是纯Go语言实现,没有apache或者ngix这种web server,也没有数据库,自己写了个文件管理module,处理这种小规模的服务没问题。算下来接触Go语言也有四个多月了,断断续续写了一些东西,这里记录一下心得吧。 先大概说下为什么用Go语言。我是一个对语言有洁癖的人,曾经是一个c+Python的坚定呐喊者,最常说的一句话就是,只要熟练这两种,什么情况都能应付,根本不用Java和C++(纯指我所在的领域)。核心代码用c,速度快,需要记的语言细节少;外围用Python glue,灵活,简洁,任何模块都容易上手,绝配。Java的繁琐,C++的无数无用的特性,都让我只在不得不用...阅读全文

博文 2014-11-19 03:00:00 denghp83

大规模指标储存平台Uber M3

M3  是 Uber 开源的一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。 M3 目前拥有超过 66 亿条时序数据,每秒聚合5亿个指标,并在全球范围内每秒持续存储 2000 万个指标(使用 M3DB),批量写入将每个指标持久保存到不同区域的三个副本中。它还允许工程师编写度量策略,以不同的时间长度和不同粒度对资料进行保存。这使得工程师和数据科学家能以不同的留存规则,精细和智能地存储有不同保留需求的时序数据。 基于 Uber 日益增长的度量存储工作负载的经验,M3 具备以下特性: 优化指标管道的每个部分,为工程师提供尽可能多的存储空间,以实现最少的硬件支出成本。 通过自定义压缩算法 [M3TSZ](...阅读全文

阿里云助力网络安全社区MMBEST,书写云上新面貌

摘要: 始于2001年的MMBEST论坛,是国内成立最早的黑客安全技术联盟学习培训基地。为了专注网站建设及简化运维工作,MmBEST选择了阿里云服务器迁移上云。 始于2001年的MMBEST论坛,是国内成立最早的黑客安全技术联盟学习培训基地。为了专注网站建设及简化运维工作,MmBEST选择了阿里云服务器迁移上云。 背景 MMBEST社区的建立初衷就是为一些网络安全爱好者提供一个学习和交流的平台,自由!免费!共享!——这是我们始终秉持的服务宗旨。但在技术的快速迭代下,自建机房的运维管理逐渐显露出颓势,渐渐产生了很多问题: 1.系统及网络安全方面; 2.数据备份方面; 3.不同地域的访问速度方面; 4.硬件的稳定性方面。 因此为了应对这些方...阅读全文

Golang、python多线程非常典型例子,对照两门语言计算速度.

比如我们 从1加到100,我们小时候就知道 101*50=5050,这是利用了算法,但是我们这里没有讨论算法,只是验证计算机的计算能力,在GO语言中,我们这样设计遍历。 func main() { ts := time.Now().UnixNano() h := 1000000000 sum := 0 for i := 0; i <= h; i++ { sum = sum + i } fmt.Println(sum) fmt.Print("时间毫秒:") fmt.Println((time.Now().UnixNano() - ts) / 1000000) } 计算结果: 500000000500000000 时间毫秒:289 这样单线程计算的话,浪费了计算机的多核性能,而且GO的并发就是利...阅读全文

博文 2017-03-19 19:00:37 大洋的顶端

云主机与虚拟主机的区别是什么

普通虚拟主机:虚拟主机,也叫“网站空间”,就是把一台运行在互联网上的物理服务器划分成多个“虚拟”服务器,每个空间都给予相应的FTP权限和Web访问权限,以用于网站发布。 云虚拟主机:是普通虚拟主机的升级版。在云服务器基础上,使用云计算技术,更稳定、安全,可用性更强的虚拟主机。 虚拟主机的特点 1、 价格便宜。虚拟主机是标准的资源共享,性能虽然比不上VPS和服务器,但胜在价格,适合前期建设的网站。 2、 操作简便。虚拟主机的控制面板上有明确的在线解压、绑定域名、301重定向等设置,比较适合新手操作。 3、升级方便。如果在耐思尼克购买虚拟主机,主机升级只要用户在线提交申请,不用对网站进行更改,网站依然能正常运行,不够空间也不用担心。 云虚拟主机的特点 1、 通过...阅读全文

Go 语言开发的搜索引擎 bleve

全文检索领域,Elasticsearch 应该是当之无愧的大佬了,当对与一些小的项目来说还是过于厚重了,不想用 Elasticsearch。只好搜寻其他能用的项目。目前自己的网站正好用 golang 来重后台,搜寻一下 go 语言有哪些可以用的开源项目,刚好看到一篇文章。转载记录一下。 先安利一个 Go 语言开发的搜索引擎 bleve,目前看来这应该是 Go 语言开发的搜索引擎里面最有潜力,或者说最不像玩具的搜索引擎。 简单试用了一下体验还可以,并试探性的提了一个关于打版本标签的 issue ,作者的回复响应速度也很快。 网上搜的资料上显示 bleve 是由 CouchBase 团队打造出来的。 但是我比较不理解的是为什么看了一下代码提交的commit ,主要都是由作者一个人提交的代码。 这...阅读全文

博文 2019-08-21 00:02:42 烈日星辰

[转载记录]使用Go语言一段时间的感受

有一段时间没更新了。最近在忙一个Server+Client的项目,Client是Android手机,大概也就是几十的规模。Server是纯Golang实现,没有apache或者ngix这种web server,也没有数据库,自己写了个文件管理module,handle这种小规模的服务没问题。算下来接触Golang也有四个多月了,断断续续写了一些东西,这里纪录一下心得吧 先大概说下为什么用Golang。我是一个对语言有洁癖的人,曾经是一个c+Python的坚定呐喊者,最常说的一句话就是,只要熟练这两种,什么情况都能应付,根本不用Java和C++(纯指我所在的领域)。核心代码用c,速度快,需要记的语言细节少;外围用Python glue,灵活,简洁,任何模块都容易上手,绝配。Java的繁琐,C+...阅读全文

博文 2015-06-07 16:00:02 leifurong6

如何使用hugo搭建个人博客(三):添加follow与修改share的方式

如何使用hugo搭建个人博客(一) 如何使用hugo搭建个人博客? 按照创建步骤有: 1. 在win7上使用hugo,能够本地预览(就是本文了) 2. 修改主题:颜色,字体,布局(后续) 3. 添加follow与修改share的... justheretobe 2016-05-30 00:06 2541 如何使用hugo搭建个人博客(四):添加评论系统disqus 按照官方说法,只需要在config.toml文件中加上disqus的shortname即可让博客拥有disqus评论系统的功能。但折腾许久未能成功,现提供另一种添加disqus的方式。1.注册disq... justheretobe 2016-06-09 17:01 2181 精选:深入理解 Docker 内部原理及网络配置 网络...阅读全文

博文 2017-09-19 06:07:43 justheretobe

使用Go语言一段时间的感受

最近在忙一个Server+Client的项目,Client是Android手机,大概也就是几十的规模。Server是纯Go语言实现,没有apache或者ngix这种web server,也没有数据库,自己写了个文件管理module,处理这种小规模的服务没问题。算下来接触Go语言也有四个多月了,断断续续写了一些东西,这里记录一下心得吧。 先大概说下为什么用Go语言。我是一个对语言有洁癖的人,曾经是一个c+Python的坚定呐喊者,最常说的一句话就是,只要熟练这两种,什么情况都能应付,根本不用Java和C++(纯指我所在的领域)。核心代码用c,速度快,需要记的语言细节少;外围用Python glue,灵活,简洁,任何模块都容易上手,绝配。Java的繁琐,C++的无数无用的特性,都让我只在不得不用...阅读全文

博文 2014-10-28 19:00:00 Mr_Data_Mining