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

golang: Martini之inject源码分析

依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。在传统的程序设计过程中,调用者是自己来决定使用哪些被调用者实现的。但是在依赖注入模式中,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由注入器来完成,然后注入调用者,因此也称为依赖注入。 inject 是依赖注入的golang实现,作者是 codegangsta 。它能在运行时注入参数,调用方法。是Martini框架的基础核心。 我对依赖注入提取了以下2点性质: 由注入器注入属性。 由注入器创建被调用者实例。 在inject中,被调用者为func,因此注入属性也即对func注入实参(当然inject也可以注入struct,这样的话注入的属...阅读全文

博文 2014-10-04 19:27:00 陈一回

Go1.7改善了编译速度并且会生成更快的代码

Go1.7的开发周期正在接近它的下一个里程碑,Go的提交者Dave Cheney报告了子即将发布的版本中,团队成员在语言工具链上的努力。 Cheney称,基于当前的开发状态,Go1.7将会很容易就成为最好的Go发布版本。提升工具链的努力主要聚焦在如下两个方面: 编译和链接的时间; 代码生成。 当谈到编译时间,Go编译器自从C转到了Go的影响而一直以来的较慢的性能。这个问题已经被讨论很多次并且最近的完成的工作目标就是减少编译器内存使用来改善链接时间。这项改进和Go1.5.3相比大约减少了20-30%的总编译时间,如下图所示: 代码生成,如上文所述,是Go1.7的另一个主要关注点。新的后端改用SSA,和LLVM以及其他编译器着的一样,以启用代码生成的很多优化。这些优化包含更好的无用代码的消除,寄...阅读全文

5亿次请求,95万QPS HTTPS CC攻击——阿里云云盾抗下全球最大DDoS攻击

5亿次请求,95万QPS HTTPS CC攻击——阿里云云盾抗下全球最大DDoS攻击 3月29日, 阿里云正式对外发布《2015下半年云盾互联网DDoS状态和趋势报告》。报告披露,去年11月,阿里云安全团队成功防御了黑客对阿里云平台上某互联网金融用户发起的超大规模HTTPS/SSL CC流量攻击,此次攻击也是迄今为止全球有统计数据最大的HTTPS SSL/CC攻击。 作为国内最大的公共云计算服务提供商,大量网站选择阿里云的安全防护,也因此为国内客户防御了当前互联网上主要的攻击行为。 攻击者从11月5日下午14点开始针对网站开始发起攻击,出现两次波峰分别在14点10和晚上7点30左右,总攻击量达到了5亿次请求。 ![1攻击请求QPS变化.jpg](http://stu...阅读全文

设计模式-命令模式(Go语言描述)

在上一篇博客设计模式-单例模式(Go语言描述)中我们介绍了在golang中如何去实现单例模式,在文章的最后我们也介绍到了golang独有的一种实现单例的方式-sync.Once.Do(),可以让golang轻松的实现可以应对并发请求的单利.今天我们继续探索设计模式,来介绍一下命令模式的实现. 说起命令,大家第一反应可能就是我们平时敲的各种命令,啪啪啪几行命令下去就可以完成一些功能,在看到命令模式这个词后,可能大家也会和我一样认为这里的命令就是执行一些简单任务的功能,然而并不是,这里的命令更多的像是我们发出的请求或者电视遥控器的按键.这样吧,咱们先来看看命令模式的定义,然后再从生活中找实际的例子对比一下. 命令模式是将一个请求封装为一个对象,从而使我们可用不同的请求对客户进行参数化;对请求排队...阅读全文

博文 2016-03-06 12:00:00 qibin0506

用GO实现的改进的观察者模式

废话不说。上代码: Publisher.go: package main import ( "container/list" ) type Handler interface {//这里主要参考了Go里HTTP包的实现 Serve(int) } type HandlerFunc func(args int) func (f HandlerFunc) Serve(args int) {//是不是很熟悉的代码? f(args) } type Publish struct { HandlerFuncs *list.List Value int } func NewPublisher() *Publish { p := new(Publish) p.HandlerFuncs = list.New()...阅读全文

博文 2015-06-18 09:02:16 zha_stef

golang中使用kafka

golang中比较好用的kafka client有 sarama confluent-kafka-go go_kafka_client optiopay-kafka siesta 其中 sarama的使用者应该是最多的, 然后还有一个sarama的cluster版本sarama-cluster 本文简单描述下sarama的一些简单使用 生产者接口 func producer_test() { fmt.Printf("producer_test\n") config := sarama.NewConfig() config.Producer.RequiredAcks = sarama.WaitForAll config.Producer.Partitioner = sarama.NewRand...阅读全文

博文 2018-09-29 18:34:37 yandaren

收集Go语言技术文档,欢迎提供线索!!

各位好! 我们最近计划对Go语言的技术文档进行一个系统的收集和整理,现在向大家公开征集,希望大家推荐一些不错的Go语言技术文档,中英文皆可。 我这里先列一些,欢迎补充。 GO官方文档地址 http://golang.org/doc/ 《the way to GO》的中文版:《go入门指南》https://github.com/Unknwon/the-way-to-go_ZH_CN GO语言(FAQ) 英文 http://golang.org/doc/faq 《Go Web 编程》开源图书 https://github.com/astaxie/build-web-application-with-golang 《学习Go语言》中文版 http://mi...阅读全文

Gartner首推机密计算:阿里云名列其中

近日,全球信息技术研究机构Gartner发布了2019年云安全技术成熟度曲线报告(Gartner, Hype Cycle for Cloud Security, 2019, Jay Heiser, Steve Riley, 23 July 2019),首次将机密计算(confidential computing)列入其中,阿里云因在机密计算领域的诸多实践被列为典型厂商,且是亚太唯一云服务商。 技术成熟度曲线(The Hype Cycle),又称技术循环曲线,指的是企业用来评估新科技的可见度,利用时间轴与市面上的可见度决定要不要采用新科技的一种工具。1995年,Gartner开始每年推出各领域的技术成熟度曲线。 2019年,Gartner首次将机密计算列入其中,并作为云安全技术模型中最初始的一...阅读全文

博文 2019-08-22 17:32:55 阿里云官网

golang: facebookgo之inject测试用例

依赖注入(Dependency Injection)和控制反转(Inversion of Control)是同一个概念。在传统的程序设计过程中,调用者是自己来决定使用哪些被调用者实现的。但是在依赖注入模式中,创建被调用者的工作不再由调用者来完成,因此称为控制反转;创建被调用者实例的工作通常由注入器来完成,然后注入调用者,因此也称为依赖注入。 下面是facebookgo/inject 包的测试用例, 需要的自取。 https://github.com/e421083458/injec...阅读全文

golang并发编程实践 -- 简单生产者消费者(with lock)

上一篇文章用golang中的channel实现了简单的消费者模型,下面的版本是用传统的锁技术实现的版本,相对比会发现golang提供的channel更好用。而且golang的channel可以完成很多在别的语言里需要很多代码才能实现的功能。以后陆续解答。 package main import ( "fmt" "sync" "time" ) type Queue struct { Elem []int Capacity int Front int Rear int Lock sync.Locker Cond *sync.Cond } func New() *Queue { theQueue := &Queue{} theQueue.Capacity = 10 theQueue.Elem = ...阅读全文

博文 2014-10-04 19:26:11 aura521521

Golang的值类型receiver和指针类型receiver

Golang的值类型和指针类型receiver一直让我比较混淆,在此做几个试验备忘 先看指针类型的receiver: package main import ( "fmt" ) type BasicEvent struct { EventId int } func (ev *BasicEvent) updateEventID(id int) { ev.EventId = id } func main() { ev1 := &BasicEvent{EventId: 1} fmt.Printf("before update id = %d\n", ev1.EventId) ev1.updateEventID(2) fmt.Printf("After update id = %d\n", ev1....阅读全文

博文 2015-04-23 15:00:01 miros

Go负载均衡

负载均衡 请求者向均衡服务发送请求type Request struct { fn func() int // The operation to perform. c chan int // The channel to return the result. } 注意这返回的通道是放在请求内部的。通道是first-class值 能很好的模拟一个请求者,一个负载产生者func requester(work chan<- Request) { c := make(chan int) for { // Kill some time (fake load). Sleep(rand.Int63n(nWorker * 2 * Second)) work <- Request{workFn, c} // ...阅读全文

博文 2017-03-05 19:45:34 紫若丹枫

Golang分布式设计模式之-----星型拓扑分形设计

Golang分布式设计模式之-----星型拓扑分形设计 上一篇分层设计中,利用了简单的流水线原理,实现了简单的状态转移的设计。如下 这一篇我们将考虑另外一种情况。例如,linux内核中的进程管理。所有的进程都有一个父进程。当子进程正常运行时候,与父进程基本无通信。但当子进程死亡时,要通知其父进程,让父进程进行资源回收。当父进程死亡时,两种情况,子进程随着父进程一起死亡,或者将子进程交由父进程的父进程管理。类似于下图 其中每个进程都有自己的父进程,也有可能会有自己的子进程。 在这种管理中,父子关系,或者说是管理者与被管理者的关系。被管理者,可以独自运行,但要将其的一些状态告知管理者,或者管理者,可以定期获取被管理者的状态。 下面以一个p2p下载器为例: 一、职能划分,形成管理者与被管理者 1)...阅读全文

博文 2015-01-21 09:17:51 screscent

阿里云携领先SDN能力,亮相全球网络技术盛会ONS

摘要: 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。 网络通讯届盛会Open Network Summit(ONS)于3月29日落下了帷幕。作为开源网络届首屈一指的世界性大会,今年在洛杉矶举办的ONSNA2018已经是第七年举办了。参会者囊括了来自电信运营商、云服务提供商、网络设备制造商、芯片厂商、网络软件开发商、研究学者等众多网络生态参与者,共吸引了超过2000名业界专家和从业人员参加。知名IT...阅读全文

一份来自阿里云引擎ACE的求职信,你收到了吗?

尊敬的企业领导,个人站长、开发者们: 如果有个员工,可以把企业把70%运维的工作都干了,你们再也不用操心对操作系统、运行环境、应用中间件的安装、配置、优化、监控、升级等一系列繁杂的维护工作,可以专注精力在业务运营上,您是否会考虑录用他? 下图就是阿里云引擎ACE求职信,敬请查收! 详细了解ACE:http://www.aliyun.com/product/ace !![1111111.jpg](http://studygolang.qiniudn.com/151126/487be9e31756e7b913347e4f645e3023.png) 详细了解ACE:http://www.aliyun.com/product/ace...阅读全文

Red Hat: API层是微服务架构成功的关键

Microservices作为一项在云中部署应用和服务的新技术已成为当下最新的热门话题。但大部分围绕microservices的争论都集中在容器或其他技术是否能很好的实施微服务,而红帽说API应该是重点。 企业和服务提供商正在寻找更好的方法将应用程序部署在云环境中,microservices被认为是未来的方向。通过将应用和服务分解成更小的、松散耦合的组件,它们可以更加容易升级和扩展,理论上是这样。 最近一场关于“容器技术和虚拟机是否是实现微服务的最佳技术”的辩论在加州硅谷的OpenStack Silicon Valley上进行。 正方是容器更轻、更快的部署;反方是虚拟机是更成熟的技术,并且在不同工作负载之间可以提供更好的隔离。 但这场辩论有些没抓住要点,根据Red H...阅读全文

Go 多返回值

Go语言革命性地在静态开发语言阵营中率先提供了多返回值功能。这个特性让开发者可以从原来用各种比较别扭的方式返回多个值的痛苦中解脱出来,既不用再区分参数列表中哪几个用于输入,哪几个用于输出,也不用再只为了返回多个值而专门定义一个数据结构。 package main import "fmt" func vals() (int, int) { return 3, 7 } func main() { a, b := vals() fmt.Println(a) fmt.Println(b) _, c := vals() fmt.Println(c) } 123456789101112131415 package mainimport "fmt" func vals() (int, int) { ret...阅读全文

开源邮件代理服务Exim被爆RCE和DoS漏洞,建议赶紧升级!

影响范围 4.88和4.89 开源邮件传输代理Exim简介 Exim是由剑桥大学Philip Hazel开发的邮件传输代理,负责邮件的路由,转发和投递。它可运行在绝大多数的类Unix系统上,包括Solaris、AIX、Linux、macOS等。相比其他MTA,Exim配置更灵活,支持String Expansion技术,能执行诸如条件判断,字符转换等功能。 Exim漏洞提交至BugTracker 一名安全研究员发现并公开披露了流行互联网邮件信息传输代理Exim中的两个紧急漏洞,其中一个能导致远程攻击者在目标服务器上执行恶意代码。 最开始漏洞是由Phil Ponnock在黑五(11月25日)没有任何预告发布在这里的,提交到了该项目的BugTracker。 漏洞详情 第一个漏洞是使用后释放漏洞C...阅读全文

博文 2017-11-30 01:53:04 www.dbsec.cn

关于推送,你可能忽略的那些事儿

推送是维持APP留存率最重要的方法之一,但是大多数APP开发者都没有正确意识到推送的意义,也没有建立起一套评估Push质量的方法。推送是一个典型的双刃剑,如果使用的好可以帮你提升留存率,可是使用不当,甚至滥用将会成为你APP的噩梦。但是不幸的是,我看到的大多是推送的不当使用。 1. 给用户一个允许推送的理由 之前看过一篇文章讲的很好,大概的意思是说你要任何事情的时候都请给一个需要的理由。作为APP开发者我们都知道,用户很少会反悔从前做过的设置。我举个简单的例子,如果用户在最初的时候禁止你访问他的通讯录,可能你就再也没有机会访问他的通讯录了。同理,如果用户最初的时候禁止你的推送消息,那么你可能就再也没有机会去为用户发送推送通知了。 所以在希望用户授予推送权限时,一定要给用户一个清...阅读全文

老司机带你用 Go 语言实现 Raft 分布式一致性协议

老司机带你用 Go 语言实现 Raft 分布式一致性协议   随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。   为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。任何一个分布式系统都无法同时满足 Consistency(一致性),Availability(可用性),Partition tolerance(分区容错性)这三个基本需求,最多只能满足其中两项。 但是,一个分布式系统无论在 CAP 三者之间如何权衡,都无法彻底放弃一致性(Consistency),如果真的放弃一致性,那么就说明这个系统中的数据根本不可信,数据也就没有意义,那么这个系统也就没有任何价值可言。...阅读全文

博文 2017-02-09 06:00:24 chauncy

Golang学习笔记之方法(method)

如果对与结构体还有什么疑问的可以看一下Golang学习笔记之结构体 ⽅法总是绑定对象实例,并隐式将实例作为第⼀实参 (receiver)。 • 只能为当前包内命名类型定义⽅法。 • 参数 receiver 可任意命名。如⽅法中未曾使⽤,可省略参数名。 • 参数 receiver 类型可以是 T 或 *T。基类型 T 不能是接⼝或指针。 • 不⽀持⽅法重载, receiver 只是参数签名的组成部分。 • 可⽤实例 value 或 pointer 调⽤全部⽅法,编译器⾃动转换。 • Go 不允许同名函数,但是同名方法可以定义在不同的类型上 • method和receiver必须在同一个包里定义 • 作为函数参数,值类型就是值类型,指针类型就是指针类型 • 方法有一个值类型和指针类型的接受者时,...阅读全文

博文 2018-12-06 19:34:54 学生黄哲

Darma Cash简介

基础DMC 是在XMR基础上整合树图、DDPOS 、智能合约、预言机、及时通信等技术的区块链项目。一、创新 1、 创新采用树图结构并结合POW + DDPOS 共识模型,保证了币分发的公平性,又能保证币流通的安全性。 通过引入树图协议,让DMC在去中心化且POW条件下实现高TPS和协议层杜绝双花;而DDPOS (不限制节点的去中心化委托权益证明)进一步加强了网络的安全性,树图结构+POW +DDPOS 三者的融合让DMC在性能、安全、去中心化三角中实现了最优解。2、 在XMR基础上原创基于Omni Layer协议的隐私TOKEN,具有比ERC20 更安全、可靠、且完美继承XMR 全部的隐私特性的优点。3、支持golang语言的DVM虚拟机DMC原创并集成了一个基于WASM 优化的轻量级、图灵...阅读全文

博文 2020-03-05 03:32:40 DarmaCash

使用容器,企业可以更快更好地赚钱

容器技术基于传统的容器虚拟化技术,采取了一种全新的应用打包理念,让整个云计算产业为之颤抖。它能够为开发人员提供几乎相同的开发、测试、预发布和生产环境。同时得益于容器为微服务提供的恰到好处的抽象,容器技术对传统大型软件的解耦也有一套优雅的解决方案。从云平台提供商的角度来看,容器技术简化了混合云的实现,而将负载的变化扔给更上层处理。去年以来,已经有许多云平台厂商将Docker集成到核心云服务上。 ### 托管服务提供商(HSP)——提高投资回报率(ROI) HSP在很多年前就已经认识到容器的好处,目前他们采用这项技术提高ROI。 与传统虚拟机相比,容器虚拟化允许HSP在相同的硬件上放置更多应用程序,对于他们的客户而言,也不存在性能退化,因为容器更轻量,分配但未使用的资源可以共享给其...阅读全文

一人耗时 2 年,收集 2000 多万数据,创建了一个提供免费翻译搜索的网站

> 作为小微开发者,难以支付高昂的翻译费用,在线翻译又难以满足精度,所以想通过复用高质量的翻译实例进行软件内容翻译,我花了两年时间收集了2000 多万条移动 app 的翻译数据,将它们做成了一个搜索网站,期望能帮助小微开发者以更低的成本更好的质量完成软件或者网页的国际化。 #### i18n 多语言语料搜索引擎 - 网址:[https://i18ns.com](https://i18ns.com/) - 功能:支持 11 国语言搜索,包括:中文、英文、西班牙文、葡萄牙文等语言。有一千多种语言数据,超 2000 多万条数据,免费提供搜索服务。 - 详细介绍: <https://i18ns.com/help.html> - 中文搜索地址:[http...阅读全文

C,Go,Rust,Nim 4语回文数大战!仅供娱乐参考!

联想笔记本 inter i7,2.4GHz,16G,win10 C语言(应该是全C,vs2015编译) #include #include #include bool ishuiwen(int n) { int sn = 0; sn = n; int tn = 0; while (sn != 0) { tn = tn * 10 + sn % 10; sn = sn / 10; } if (tn == n) return true; return false; } int hw1() { int tx = 0; int x = 0; for (x = 0; x <= 10000000; x++) { if (ishuiwen(x) == t...阅读全文

博文 2015-09-25 09:00:00 捍卫机密

cannot call pointer method on xxx literal 错误❌原因

因: 指针不能作为接收者, 需要需要定义变量来接送地址​type myTreeNode struct{ node *tree.TreeNode } func (mynode *myTreeNode) postOrader(){ if mynode==nil || mynode.node==nil{ return } //错误的写法 myTreeNode{mynode.node.Left}.postOrader() right := myTreeNode{mynode.node.Right}.postOrader() mynode.node.Print() //正确的写法 left := myTreeNode{mynode.node.Left} left.postOrader() right ...阅读全文

博文 2018-08-27 21:44:48 zhangyangbest

机器学习入门:概念原理及常用算法

课程介绍 本课程主要讲解机器学习的概念、原理和应用场景,以及机器学习的常用算法,比如有监督学习、无监督学习、线性回归等。 讲师介绍: 西亭,蚂蚁金服大规模机器学习高级算法专家 学习入口:[请点击这里](http://click.aliyun.com/m/27941/) 课程目标 掌握机器学习的概念、原理和算法 适合人群 大数据开发者 机器学习开发者 阿里云大学官网(阿里云大学 - 官方网站,云生态下的创新人才工场) ...阅读全文

为什么公司要从Scala转到Go?

Jim Plush是网络安全服务提供商CrowdStrike的云工程高级总监。CrowdStrike由McAffee的前CTO George Kurtz及前副总裁Dimitri Alperovitch于2011年创建。Scala是CrowdStrike内部使用的主要语言。2011年,Jim主导了Scala的使用。在加入CrowdStrike之前,Jim就职的Gravity公司也是Scala重度用户。前段时间,他们将技术栈从Scala转向了Go。Jim Plush从技术总监的角度介绍了这种变化。随着业务增长,公司的工程师从5个增长到200多个。需要考虑的是,如何让code base便于维护,工程师可以轻松跨项目交流,新人能够快速上手。几年前,Jim曾遇到一个问题。当时产品中出现了一个会影响大量...阅读全文

博文 2016-08-10 14:00:01 abv123456789

马士兵:从零到年薪百万,写给浮躁的程序员

做老师这么多年,最高兴的就是听到学生说:“老师,我找到工作了!” “老师,我又涨薪水了”。听到这些,我由衷的替他们感到高兴,与此同时,也有作为老师参与到他们的人生发展中的那种自豪。但是,更多的是那些刚刚入行的人,他们感受到最多的,是迷茫,是无助。“老师,我怎么这么倒霉,刚毕业就赶上互联网寒冬,听说京东裁员了,听说阿里关闭招聘了,听说腾讯提高标准了,听说头条通过率只有.....”,“老师,这条路我还走下去吗?”作为一个骨灰级的“老人”,所谓的寒冬,我已经经历过多次。和其他行业一样,IT业也有自己的浮浮沉沉,每当行业低谷期,一群群在十字路口徘徊的人哪,都在不停的问:“我到底该何去何从?”我能建议的,是沉下心来学习。八年前,简晓敏以大专生的身份入职阿里,前几天,他说:“老师,您知道吗,我终于翻越百...阅读全文

博文 2019-05-09 03:35:01 马士兵

关于golang编写的kafka客户端消费者创建的问题

本人刚刚接触go语言,在用go语言写kafka消费者的时候遇到了如下问题:panic: kafka server: Offset's topic has not yet been created.可以确定是有这个topic的,而且用kafka-console-consumer.sh也是可以正常消费。go语言代码如下: brokers := []string{"xxxxxxx:9092","xxxxxxx:9092","xxxxxxx:9092"} topics := []string{"test"} config := cluster.NewConfig() config.Consumer.Return.Errors = true config.Consumer.Offsets.Commit...阅读全文

博文 2018-11-05 17:06:44 Eric_Gao

状态变换 | 我的代码没有else

嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「状态模式」如何在真实业务场景中使用。 「状态模式」比较简单,就是算法的选取取决于于自己的内部状态。相较于「策略模式」算法的选取由用户决策变成内部状态决策,「策略模式」是用户(客户端)选择具体的算法,「状态模式」只是通过内部不同的状态选择具体的算法。 什么是「状态模式」? 不同的算法按照统一的标准封装,根据不同的内部状态,决策使用何种算法 「状态模式」和「策略模式」的区别 策略模式:依靠客户决策 状态模式:依靠内部状态...阅读全文

状态变换 | Go语言设计模式实战

嗯,我的代码没有else系列,一个设计模式业务真实使用的golang系列。 前言 本系列主要分享,如何在我们的真实业务场景中使用设计模式。 本系列文章主要采用如下结构: 什么是「XX设计模式」? 什么真实业务场景可以使用「XX设计模式」? 怎么用「XX设计模式」? 本文主要介绍「状态模式」如何在真实业务场景中使用。 「状态模式」比较简单,就是算法的选取取决于于自己的内部状态。相较于「策略模式」算法的选取由用户决策变成内部状态决策,「策略模式」是用户(客户端)选择具体的算法,「状态模式」只是通过内部不同的状态选择具体的算法。 什么是「状态模式」? 不同的算法按照统一的标准封装,根据不同的内部状态,决策使用何种算法 「状态模式」和「策略模式」的区别 策略模式:依靠客户决策 状态模式:依靠内部状态...阅读全文

重磅 | 时速云发布 3 款新产品 打造“容器平台”+“应用交付”+“应用治理”三级火箭

2018年6月,时速云重磅发布 3 款新产品! ① 时速云企业版 v3.0 | TenxCloud Enterprise; ② DevOps 开发运维一体化 v3.0 | TenxCloud DevOps; ③ 时速云微服务治理平台 v1.2 | TenxCloud Microservice; 时速云 PaaS、微服务开发团队保持高速的开发迭代效率,不断推出满足企业客户最新需求的新产品&新能力,助力企业数字升级! 此次发布的产品线,覆盖功能更丰富全面,加速开发效率提升,降低基础架构成本,更好的满足全行业企业级的不同 PaaS、微服务产品需求。 企业版 V3.0 主要新功能: 应用管理:  多版本共存、支持灰度发布;  服务、节点亲和性调度策略自定义;  ⽀持容器调⽤集群 GPU 节点资...阅读全文

golang中Ticker的使用

// code_048_Ticker project main.go package main import ( "fmt" "time" ) //Ticker是一个定时触发的计时器, //它会以一个间隔(interval)往channel发送一个事件(当前时间), //而channel的接收者可以以固定的时间间隔从channel中读取事件。 func main() { ////创建定时器,每隔1秒后,定时器就会给channel发送一个事件(当前时间) ticker := time.NewTicker(time.Second * 1) i := 0 go func() { for { //循环 <-ticker.C i++ fmt.Println("i =", i) if i == 5 { ...阅读全文

博文 2018-10-08 17:35:50 ck_god

阿里云安全合作伙伴计划 新一轮招募开始

摘要: 阿里云安全合作伙伴计划新一轮招募开始了。 我们希望有更多具备安全服务能力、营销能力、技术能力的合作伙伴加入我们,为企业客户提供更专业、更高效的云安全服务,借助生态的力量,实现云安全的普惠。 共享百亿规模云安全市场红利 随着云计算的普及和企业数字化转型的加速,云安全的市场规模以超过20%的增速拓展(Gartner数据),安全厂商、垂直行业云、服务和咨询机构等,有望“搭上云这趟车”,迎来新一轮增长。 阿里云安全合作伙伴计划 新一轮招募开始了。 image 我们希望有更多具备安全服务能力、营销能力、技术能力的合作伙伴加入我们,为企业客户提供更专业、更高效的云安全服务,借助生态的力量,实现云安全的普惠。 共享百亿规模 云安全市场红利 随着云计算的普及...阅读全文

Signal守望者 (Watcher)

#Watcher ###Signal 守望者 #####可以设置Signal处理回调.并提供Signal的退出函数,线性与并行执行选择,提供一个向制定进程发送Signal的函数 ######预期是希望在用户自定义Signal中添加优雅的服务器重启与关闭,因为没有思路,目前还没有实现.大家可以在处理函数中自己添加处理. Github:https://github.com/Congenital/watche...阅读全文

golang 依赖注入

使用facebook的三方库:https://github.com/facebookgo/inject type C struct{ B *B `inject:""` } type B struct{ A *A `inject:""`//这里会根据注入对象的Name字段有选择的进行注入 } type A struct{ Name string } var injectGraph inject.Graph func main() { a := A{ name: "hello", } a2 := A{ Name: "hello2", } c := C{} err := injectGraph.Provide(//对象提供者 &inject.Object{Value: &a}, &inject.O...阅读全文

博文 2019-02-23 17:34:44 杜子龙

Go语言中普通函数与方法的区别

1.对于普通函数,接收者为值类型时,不能将指针类型的数据直接传递,反之亦然。 2.对于方法(如struct的方法),接收者为值类型时,可以直接用指针类型的变量调用方法,反过来同样也可以。 以下为简单示例: package structTest //普通函数与方法的区别(在接收者分别为值类型和指针类型的时候) //Date:2014-4-3 10:00:07 import ( "fmt" ) func StructTest06Base() { structTest0601() structTest0602() } //1.普通函数 //接收值类型参数的函数 func valueIntTest(a int) int { return a + 10 } //接收指针类型参数的函数 func poi...阅读全文

博文 2015-06-17 23:02:21 books1958

Bowery为什么放弃Node.js,转向Go?

【编者按】Go语言自从面世就受到了很多开发者的欢迎,越来越多的项目基于Go语言实现,例如非常著名的云计算项目Docker。而本文作者分享了其从Node.js转到Go语言后,整个开发平台的性能得到显著提升,并从中总结出Go的六大亮点。 以下为译文: Bowery是一个基于云技术的开发平台,强大的协同处理技术让即使分散各地的团队成员都能无缝地进行工作。在2014年进行的一次由Node.js转到Go的变更中,Bowery获得了不错的性能提升。那么Go有哪些亮点值得开发者关注的呢? 强大的跨平台编程能力 Bowery团队指出Go能很方便地在不同系统里进行程序编译,这是他们转入Go的重要原因之一。 作为开发平台,对Linux,Windows,OSX等常见操作系统提供支援是能否吸引开发者的基本要素。在G...阅读全文

博文 2015-02-04 01:00:00 mengyidan1988

简单的网站优化方法

简单的网站优化方法 做好网络推广,首先你要做好网站的站内优化。 一、 关键词: 做站内优化,第一步也是最重要的就是关键字的选择,这一个关乎你后期页面的排名,一个网站不但首页排名高,其他页面排名上来了,这样才能到达覆盖效果。 小建议: 1.合理的挑选关键词 2.不要把所有词都堆积在首页, 3.关键词的部署要分配好,(顶级关键词、目标关键词、固定关键词、长尾关键词分配不同的页面) 4.每个页面关键词使用合理 例:耐思尼克首页 文章页面 每个栏目页面的关键词选择都要不同,title;keyword;description都需要设定好,针对自身的产品或者服务来选定自己的关键词。注:如果是一个新站,已经有许多行业网站,你在关键词的选择上可以偏向于长尾词...阅读全文