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

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

开源区块链实现 Hyperledger Fabric

Fabric是一个开源区块链实现,开发环境建立在VirtualBox虚拟机上,部署环境可以自建网络,也可以直接部署在BlueMix上,部署方式可传统可docker化,共识达成算法插件化,支持用Go和JavaScript开发智能合约,尤以企业级的安全机制和membership机制为特色。你要是不知道这些术语什么意思,就记住一点,Fabric之于区块链,很可能正如Hadoop之于大数据...阅读全文

go语言限制Goroutine数量

package main import ( "fmt" "runtime" "time" ) func main() { runtime.GOMAXPROCS(runtime.NumCPU()) c := make(chan bool, 100) t := time.Tick(time.Second) go func() { for { select { case <-t: watching() } } }() for i := 0; i < 10000000; i++ { c <- true go worker(i, c) } fmt.Println("Done") } func watching() { fmt.Printf("NumGoroutine: %d\n", runtime.N...阅读全文

博文 2015-06-17 23:07:18 u013834131

Go BT种子爬虫

主要实现了BitTorrent DHT协议。爬虫的原理是利用DHT协议监听announce_peer消息,然后根据获得的metada info 下载种子。 你可以用来打造你的海盗湾,也可以进行数据分析。不过要注意版权和被墙的风险,因为里边包含很多限制级资源,比如色情资源。 Github:https://github.com/shiyanhui/dht 这个是利用这个库做的一个BT search engine: http://bthub.io...阅读全文

修改golang最大内存限制

摘自golang nut You can tune the MHeapMap_Bits in malloc.h and arena_size in malloc.goc to reduce memory usage, as long as they statisfy this: (1UL << (12 + MHeapMap_Bits)) >= arena_size (for example, I changed MHeapMap_Bits to 20, and arena_size to ”4LL<<30“, all tests passed, and the size of bss sections is dropped to about 10MB for bin/go: linux-am...阅读全文

博文 2016-04-22 21:00:01 sorawa

Go实现接口访问速率限制

接口的访问限制,10分钟内,接口访问限制100次 基于go语言进行编写,抽离出统一配置。 func CheckRateLimit(ip, request, action string) bool { current := int(time.Now().Unix()) currentStr := strconv.Itoa(current) //limit 100次 //timeset 600秒 //限制600秒最多访问100次 limit, timeset := GetRateLimitConfig() allowanceStr, timestampStr := LoadAllowance(ip, request, action) allowance, _ := strconv.Atoi(al...阅读全文

博文 2016-11-29 03:00:02 mingzhehaolove

golang控制channel的出入口

golang控制channel的出入口 我们常常使用channel来在多个goroutine之间做数据通讯,但是chan作为函数的入参我们应该怎么写呢?也许有人觉得这个问题比较傻,不过这个还真的是我今天才知道的. 首先我们看看下面的代码: func main() { c := make(chan int) go in(c) go out(c) time.Sleep(time.Second) } func in(c chan int) { for i := 0; i < 10; i++ { c <- i } close(c) fmt.Println("int end") } func out(c chan int) { for i := range c { fmt.Printf("%d\n",...阅读全文

博文 2015-05-02 00:00:12 coffee_hc

企业级Registry Harbor

![alg tag](http://static.oschina.net/uploads/img/201603/15130717_M8y6.png) 容器应用的开发和运行离不开可靠的镜像管理。从安全和效率等方面考虑,部署在私有环境内的Registry是非常必要的。Project Harbor是由VMware公司中国团队为企业用户设计的Registry server开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能,欢迎使用和反馈意见。 一些界面截图: ![create project](http://static.oschina.net/uploads/img/201603/1513093...阅读全文

开源项目 2016-03-14 16:00:00 vmware

Go deep into equals方法

深入equals方法 equals方法的重要性毋须多言,只要你想比较的两个对象不愿是同一对象,你就应该实现equals方法,让对象用你认为相等的条件来进行比较. 下面的内容只是API的规范,没有什么太高深的意义,但我之所以最先把它列在这儿,是因为这些规范在事实中并不是真正能保证得到实现. 1.对于任何引用类型, o.equals(o) == true成立.2.如果 o.equals(o1) == true 成立,那么o1.equals(o)==true也一定要成立.3.如果 o.equals(o1) == true 成立且 o.equals(o2) == true 成立,那么o1.equals(o2) == true 也成立.4.如果第一次调用o.equals(o1) == true成立再o...阅读全文

博文 2016-04-11 02:00:10 napolar

2015杭州.云栖大会拉开帷幕(2015年10月14-15日)

7-8月,2015云栖大会全国城市峰会席卷全国,4个城市汇聚近万名云计算领域的企业领袖、行业精英、创业者、开发者,在北京、成都、武汉、重庆等地掀起了云计算总动员的浪潮。 10月,这股云计算浪潮将再度升温,“2015杭州·云栖大会”以“互联网+、创新、创业”为本届主题,展现“互联网+”时代下无处不在的云计算与各行各业的交错连接,介绍云计算为产业升级和改革创新提供的源源动力,挖掘云计算助力下生生不息的创业激情和机遇。 ●超过3000家云上企业,全景展现云上生态之变革与创新; ●约150位国内外业界专家发表主题演讲,更有重磅神秘嘉宾指点江山,多维度解读云计算时代的互联网+、创业、创新; ●上万平米大会会场,200余家展商,展示云计算...阅读全文

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

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

【技术干货】时速云企业级容器PaaS技术沙龙 第八期

目前,基于 Kubernetes 的容器 PaaS 在企业级数字化转型中扮演了越来越重要的角色。而 Kubernetes 在开源容器编排技术里独占鳌头,并在市场中迅速升温,越来越多的企业开始使用基于 Kubernetes 技术构建企业级 PaaS 平台,从而加速业务应用的交付、提高运维效率、实现微服务架构升级。可以预见,未来几年企业级容器 PaaS 市场将呈现出持续的爆发式增长。 那么,对于还未使用这一技术,或者尚在探索阶段的企业和开发者来说,如何应用好它,如何构建企业级 PaaS 平台,如何把 Kubernetes 技术与具体业务结合?未来又有怎样的发展趋势?我们将在本次沙龙为大家带来一些经验分享。 时速云( TenxCloud )自 2014 年成立之日起,就根植于技术社区。...阅读全文

【技术干货】时速云企业级容器PaaS技术沙龙 第八期

目前,基于Kubernetes的容器PaaS在企业级数字化转型中扮演了越来越重要的角色。而Kubernetes在开源容器编排技术里独占鳌头,并在市场中迅速升温,越来越多的企业开始使用基于Kubernetes技术构建企业级PaaS平台,从而加速业务应用的交付、提高运维效率、实现微服务架构升级。可以预见,未来几年企业级容器PaaS市场将呈现出持续的爆发式增长。 那么,对于还未使用这一技术,或者尚在探索阶段的企业和开发者来说,如何应用好它,如何构建企业级 PaaS平台,如何把Kubernetes技术与具体业务结合?未来又有怎样的发展趋势?我们将在本次沙龙为大家带来一些经验分享。 时速云(TenxCloud)自2014年成立之日起,就根植于技术社区。迄今为止时速云已在北京、上海、深圳等地...阅读全文

go database/sql 源码分析(三)sql.DB数据结构

package sql 中最核心的的数据结构是sql.DB, 其为上层应用程序提供一个统一的抽象体,它不代表一个数据库连接,也不代表一个连接池,其是sql的包的作者为了实现:并发访问安全控制,连接池等诸多功能而设计的一个综合抽象数据结构。具体见代码注释 221 type DB struct { #通过driverName获取driver,通过driver的Open()方法获得到DB的原始连接,sql.Open() 创建一个DB实例 222 driver driver.Driver #DB连接字符串,创建DB实例不会理解创建连接,只有使用的时候才去创建连接 223 dsn string 224 // numClosed is an atomic counter which represents...阅读全文

学Python有什么用?python入门指南

老男孩教育分享《Python全栈9期全套视频》,内容涵盖:Python基础、并发编程、前端、vue.js、MySQL、Django、Flask、Tornado、rest API、分布式爬虫、Linux架构、区块链、数据分析、人工智能等,感兴趣的请加微信号:life_kl0517,备注:9期 在我看来,基本上可以不负责任地认为,Python 可以做任何事情。无论是从入门级选手到专业级选手都在做的爬虫,还是Web 程序开发、桌面程序开发还是科学计算、图像处理,Python都可以胜任。 Python为我们提供了非常完善的基础代码库,覆盖了网络、文件、GUI、数据库、文本等大量内容,被形象地称作“内置电池(Batteries included)”。用Python开发,许多功能不必从零编写...阅读全文

[译] part 8: golang if else 语句

文地址:Part 8: if else statement 原文作者:Naveen R 译者:咔叽咔叽 转载请注明出处。 if是条件语句,语法为, if condition { } 如果condition为true,介于{}之间的代码块将被执行。 与 C 之类的其他语言不同,即使{}之间只有一个语句,{}也是强制性需要的。 else if和else对于if来说是可选的。 if condition { } else if condition { } else { } if else的数量不受限制,它们从上到下判断条件是否为真。如果if else或者if的条件为true,则执行相应的代码块。如果没有条件为真,则执行else的代码块。 让我们写一个简单的程序来查找数字是奇数还是偶数。 packag...阅读全文

博文 2019-04-24 01:34:41 咔叽咔叽_7647

有了它,你也可以快速制作专业级企业数据报表

阿里云在线技能认证全新上线,3小时学会使用Quick BI搭建企业数据分析平台: 使用Quick BI 制作企业数据分析报表(课程+考试+认证) 看到下面这些内容你会想到什么? 数据即时分析与决策 交易数据权限管控 报表与自有系统灵活集成 用户行为画像 百万级用户精细化运营 海量营销数据分析 一个超级BI系统?还是一个强大的数据分析平台?没错,它就是阿里云专为云上用户量身打造的新一代智能BI服务平台——Quick BI 基于Quick BI,4步即可完成专业报表门户的创建与分析。 第1步:数据集成 多数据源支持: 1、来自云数据源:RDS、HybridDB(Greenplum)、MaxCompute(ODPS)、AnalyticDB(ADS)等 ...阅读全文

弹性与性能兼俱,阿里云神龙云服务器全解析

摘要: 10月12日,在2017杭州云栖大会上,阿里云副总裁李津发布了全新一代的计算类服务器产品--神龙云服务器(X-Dragon Cloud Server)。 神龙云服务器是一种可水平弹性伸缩的高性能计算服务,融合了物理机与云服务器的各自优势,实现超强超稳的计算能力。神龙云服务器采用阿里云自主研发的虚拟化2.0技术,让神龙云服务器兼有普通云服务器的弹性和体验,以及物理机的高计算性能和完整特性,同时具备物理级别隔离的优势,真正做到资源零争抢。 ​ 先来看一张干货表格,了解神龙云服务器与传统物理机和虚拟机的功能对比 神龙云服务器具有四大突出亮点:极致性能、机密计算、秒级交付、与阿里云全站云产品互联互通。 作为一款云端弹性计算类产品,神龙云服务器达到了当前世...阅读全文

数据结构——Golang实现队列

载请注明出处: 数据结构——Golang实现队列 Golang 1. 介绍 队列是一种特殊的线性表,特殊之处在于它只允许在表的前端(front)进行删除操作,而在表的后端(rear)进行插入操作,和栈一样,队列是一种操作受限制的线性表。进行插入操作的端称为队尾,进行删除操作的端称为队头。 数据结构里的队列就是模仿现实中的排队。 1) 新来的都排在队尾; 2) 最前面的办理业务后离队,后面一个跟上。 根据特点,计算机砖家就归纳以下队列结构。 image.png 2. Golang 实现 2.1. 队列结构 同前文的栈一样,在这里,我把队列拆分为两个部分,容器和链表,容器用结构体实现,链表用单链表,当然大家也可以用其他链表结构,甚至数组来实现。 这里的例子,也是使用单链表实现的。 // Queu...阅读全文

博文 2019-02-13 16:34:47 ChainZhang

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

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

DockOne技术分享(二十五):企业级云平台的实践和思考

【编者的话】嘉宾从事很多年云平台的研发。在本文中他将结合自己的经验向大家分享企业级云应用平台实践和思考相关内容。 今天要讲的题目是《企业级云平台的实践和思考》, 主要涉及一些基于云环境的应用构建的技术, 讲一下我在这方面的一些实践经历和一些思考, 主要讲两个参与开发的系统的功能和设计为主,不会涉及太多细节技术。 当然,我们也可以就一些点具体讨论一下。 资源管理和应用管理基于云的应用平台,我将它分成两类: 一块是资源管理技术, 比如私有云如OpenStack、CloudStack或者公有云技术; 还有就是资源集群管理技术, 在Docker这个技术领域,个人感觉集群技术更适用。另一块就是应用的构建和管理技术, 包括应用资源管理,应用构建、部署、维护、 监控和弹性扩展等技术,以下我会就这两块来分享...阅读全文

博文 2017-06-25 15:01:17 adolphlwq

技术性能领先,阿里云网络产品全面升级为企业级

摘要: 在12月13日的阿里云网络产品发布会上,阿里云将详细介绍其网络产品家族重大更新,阿里云网络产品已经全面升级为企业级。届时,云栖社区将会对发布会进行直播,欢迎预约https://yq.aliyun.com/promotion/434。 在12月13日的阿里云网络产品发布会上,阿里云将详细介绍其网络产品家族重大更新,阿里云网络产品已经全面升级为企业级。届时,云栖社区将会对发布会进行直播,欢迎预约https://yq.aliyun.com/promotion/434 那么,如何理解升级为企业级呢?我们认为企业级需求主要有产品丰富度、性能、稳定、安全几个方面。 首先,丰富的产品家族满足企业级多样需求。 随着云骨干网的发布,阿里云已经有涵盖5大场景的11款网络产品(还不...阅读全文

阿里云发布企业级ECS产品线,释放技术升级红利,最高降价35%

摘要: 8月9日,阿里云ECS企业级产品线正式对外发布,标志着阿里云ECS产品正式以最新的产品功能、性能、最高的性价比来服务器企业客户的决心。 计算、存储、网络三驾马车的优化叠加,阿里云ECS的基础设施升级到业界最佳水平。 8月9日,阿里云ECS企业级产品线正式对外发布,标志着阿里云ECS产品正式以最新的产品功能、性能、最高的性价比来服务器企业客户的决心。 1 计算、存储、网络三驾马车的优化叠加,阿里云ECS的基础设施升级到业界最佳水平。 Intel与阿里云有深入长远的CPU定制合作史,新产品家族采用的Skylake处理器也为云计算场景做了特别定制,各项性能首屈一指。存储领域进化为计算与存储分离的先进架构,SSD云盘单实例达到18万IOPS,包括Latency以及吞吐都跃...阅读全文

当我们谈论企业级存储市场时,我们谈论(做)了什么

摘要: APSARA Block Storage是阿里云弹性计算块存储团队推出的一款企业级分布式块存储产品,为企业级市场头部客户量身打造,构建高性能、弹性、可靠的大规模横向扩展云存储服务平台。可对接多种类型的计算平台,包括阿里云ECS、ZStack、OpenStack、Kubernetes以及物理服务器等不同类型,帮助客户轻松应对云时代下海量存储资源的敏捷存取需求,适用于政府、金融、运营商和大型制造企业的线下数据中心云存储业务场景。 一、 什么是APSARA Block Storage APSARA Block Storage是阿里云弹性计算块存储团队推出的一款企业级分布式块存储产品,为企业级市场头部客户量身打造,构建高性能、弹性、可靠的大规模横向扩展云存储服务平台。可对接多种...阅读全文

15.22数据库(22):MySQL多表联合查询

备注:所有查询基于前面章节中建立的中国数据库 ``` /*联合查询*/ -- union (select CityID,CityName from t_city where CityID between 6 and 10) union (select ProName,ProID from t_province where ProID between 6 and 10); --查询中国共有多少地级市 select count(*) from t_city; --查询河北省有多少地级市 select count(*) from t_city where ProID = ( select ProID from t_province where ProNam...阅读全文