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

go语言常用函数:make

创建数组切片 Go语言提供的内置函数make()可以用于灵活地创建数组切片。创建一个初始元素个数为5的数组切片,元素初始值为0: mySlice1 := make([]int, 5) 创建一个初始元素个数为5的数组切片,元素初始值为0,并预留10个元素的存储空间: mySlice2 := make([]int, 5, 10) 创建一个map myMap = make(map[string] PersonInfo) 创建了一个键类型为string、值类型为PersonInfo的map.//from:http://www.cnblogs.com/osfipin/ myMap = make(map[string] PersonInfo, 100) 也可以选择是否在创建时指定该map的初始存储能力,...阅读全文

博文 2015-07-28 03:00:00 osfipin

【GoLang笔记】遍历map时的key随机化问题及解决方法

之前的一篇笔记曾分析过,Go的map在底层是用hashmap实现的。由于高效的hash函数肯定不是对key做顺序散列的,所以,与其它语言实现的hashmap类似,在使用Go语言map过程中,key-value的插入顺序与遍历map时key的访问顺序是不相同的。熟悉hashmap的同学对这个情况应该非常清楚。 所以,本文要提到的肯定不是这个,而是一个比较让人惊奇的情况,下面开始说明。 1. 通过range遍历map时,key的顺序被随机化 在golang 1.4版本中,借助关键字range对Go语言的map做遍历访问时,前后两轮遍历访问到的key的顺序居然是被随机化的! 这个现象在其它语言中是很少见的,比如C语言实现hashmap时,通常会用数组(即一段连续的内存空间)来存key,虽然key的...阅读全文

博文 2015-04-02 19:00:01 slvher

Golang通过syscall调用windows dll方法

本用例在GO 1.4.2 上编译执行通过,直接上CODE: package main import ( "fmt" "syscall" "time" "unsafe" ) const ( MB_OK = 0x00000000 MB_OKCANCEL = 0x00000001 MB_ABORTRETRYIGNORE = 0x00000002 MB_YESNOCANCEL = 0x00000003 MB_YESNO = 0x00000004 MB_RETRYCANCEL = 0x00000005 MB_CANCELTRYCONTINUE = 0x00000006 MB_ICONHAND = 0x00000010 MB_ICONQUESTION = 0x00000020 MB_ICONEXCLAM...阅读全文

博文 2015-03-29 12:00:01 hotkit

mqtt介绍和go代码实现

MQTT(Message Queuing Telemetry Transport,消息队列遥测传输协议),是一种基于发布/订阅(publish/subscribe)模式的“轻量级”通讯协议,该协议构建于TCP/IP协议上,由IBM在1999年发布。MQTT最大优点在于,可以以极少的代码和有限的带宽,为连接远程设备提供实时可靠的消息服务。作为一种低开销、低带宽占用的即时通讯协议,使其在物联网、小型设备、移动应用等方面有较广泛的应用MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家...阅读全文

博文 2018-08-27 09:35:06 John_zhang

李嘉璇:技术人如何深入人工智能

前不久趣直播举办了一场技术人成长交流会,邀请了《TensorFlow 技术解析与实战》作者李嘉璇来分享。以下是视频:以下是文字版:谢谢智维的介绍,介绍的太棒了,我其实没有他说的那么棒,让我压力好大,尤其巧哥又讲的那么好我目前主要是做人工智能方向的,比较熟悉的是 TensorFlow,我有写过一本书,《TensorFlow 技术解析与实战》,我这里面再多说两句,因为有非常多的人会问我,你是怎么写出一本书的?或者说你写出一本书遇到什么样的困难?我现在面试的时候就会有人问我这样的问题,会经常让我去说这个事,我跟大家分享一下。我在写这本书的时候,我脑子里没有第二件事了,我说的第二件事就包括吃饭和睡觉上厕所,脑子里没有这些,就是在我的意识里,这些东西都不存在的。我眼里只有这一件事,我活着就是为了写书这...阅读全文

数据宝专场研讨会•贵安国际数字经济论坛•2017数博会圆满成功

2017年5月24日,2017数博会•贵安国际数字经济论坛•数据宝专场研讨会在北斗湾开元酒店多功能厅召开。本次数据宝专场研讨会以“共享•价值•大数据•大开放——大数据的流通与融合之美”为主题,由数据宝董事詹臻女士主持,会议分三个专题进行,分别是领导致辞、嘉宾演讲以及圆桌会议。 贵安新区管委会主任助理洛伟,国家工业信息安全发展研究中心(工业和信息化部电子第一研究所)副总经济师黄永金,中科院生物医药大数据中心主任李亦学教授,贵州数据宝网络科技有限公司董事长汤寒林,中国电信天翼征信有限公司产品总经理刘昊,中国联通智慧足迹数据科技有限公司首席营销官赵华,国家交通运输物流信息平台数据产品部总监董磊,中国电信医疗行业信息化应用(上海)基地常务副总经理谢青宇,中国金融行业自律联盟秘书长崔宏毅,江西服...阅读全文

AlphaGo的论文的译文,关于深度神经网络,蒙特卡洛树搜索:Mastering the game of Go with deep neural networks and tree search

前言: 围棋的英文是 the game of go,标题翻译为:《用深度神经网络和树搜索征服围棋》。译者简介:大三,211,计算机科学与技术专业,平均分92分,专业第一;英文水准:托福 103分,GRE v158 + q167 + AW3.5。为了更好地翻译此文,笔者查看了很多资料。笔者翻译此论文已尽全力,不足之处希望读者指出。 在AlphaGo的影响之下,全社会对人工智能的关注进一步提升。在笔者考完GRE的当天,3月12日,AlphaGo 第三次击败李世石。在3月15日总比分定格为4:1,随后AlphaGo的围棋排名世界来到第二。 论文的英文原文点击这里拜读 编者按:吐槽CSDN的后台服务器,在我用LaTeX编写的公式结尾都加上了一个“|”,比如:公式公式。这真是一个醉人的Bug。2014...阅读全文

博文 2016-03-22 19:00:01 u013390476

golang中的append函数详解

1. append函数是用来在slice末尾追加一个或者多个元素。 2. 当追加元素时,发现slice的**len>cap**时,会重新开辟一个**2*cap**的内存空间去存储追加过元素的slice。 3. 如果追加元素后slice的**len<=cap**,则append返回的新生成的slice的内存地址**依旧**是传入的slice参数的内存地址。 ```go testSlice := make([]int, 0) testSlice = append(testSlice, 0) fmt.Printf("len: %d, cap: %d, data:%+v \n", len(testSlice), cap(testSlice), testSlice) //len: 1, cap: 1,...阅读全文

博文 2018-11-12 14:56:01 lijingtian

golang mysql中timestamp,datetime,int类型的区别与优劣

golang time: https://golang.org/pkg/time/ golang中time包用法 http://blog.csdn.net/chenbaoke/article/details/41519193 首先 DATETIM和TIMESTAMP类型所占的存储空间不同,前者8个字节,后者4个字节,这样造成的后果是两者能表示的时间范围不同。前者范围为1000-01-01 00:00:00 ~ 9999-12-31 23:59:59,后者范围为1970-01-01 08:00:01到2038-01-19 11:14:07。所以可以看到TIMESTAMP支持的范围比DATATIME要小,容易出现超出的情况. 其次,TIMESTAMP类型在默认情况下,insert、update ...阅读全文

博文 2016-03-04 08:00:01 scut1135

golang数据类型-slice(切片)

slice介绍 数组的长度在定义之后无法再次修改;数组是值类型,每次传递都将产生一份副本。显然这种数据结构无法完全满足开发者的真实需求。在初始定义数组时,我们并不知道需要多大的数组,因此我们就需要“动态数组”。在Go里面这种数据结构叫slice,slice并不是真正意义上的动态数组,而是一个引用类型。slice总是指向一个底层array,slice的声明也可以像array一样,只是不需要长度,它是可变长的,可以随时往slice里面加数据。 初看起来,数组切片就像一个指向数组的指针,实际上它拥有自己的数据结构,而不仅仅是个指针。数组切片的数据结构可以抽象为以下3个变量: 1.一个指向原生数组的指针(point):指向数组中slice指定的开始位置; 2.数组切片中的元素个数(len):即sli...阅读全文

博文 2015-06-17 20:17:41 JesseYoung

一、Go语言的变量和常量

《Go Web 编程》《Go 语言编程》读书笔记 。 1.变量 变量是几乎所有编程语言中最基本的组成元素。从根本上说,变量相当于是对一块数据存储空间的命名,程序可以通过定义一个变量来申请一块数据存储空间,之后可以通过引用变量名来使用这块存储空间。 1.1 变量声明 对于纯粹的变量声明,Go语言引入关键字var,而类型信息放在变量名之后,形如: var variableName type var vname1, vname2, vname3 type 示例: var v1 int var v2 string var v3 [10]int // 数组 var v4 []int // 数组切片 var v5 struct { f int } var v6 *int // 指针 var v7 map...阅读全文

博文 2015-11-10 10:00:01 chyljy

数据宝参展2017中国国际软件博览会

6月29日,第十二届中国国际软件博览会(以下简称:2017软博会)在北京展览馆开幕,本届软博会由工业和信息化部与北京市人民政府主办,国务院副总理马凯莅临软博会现场,工业和信息化部部长苗圩、北京市代市长陈吉宁、北京市经济和信息化委员会主任张伯旭等领导随行。 ![1.jpg](http://studygolang.qiniudn.com/170710/fa38bd5deaf78ea0c0e68dd52f16ba8a.jpg) 中共中央政治局委员、国务院副总理马凯出席并讲话 马凯指出,软件是信息网络的核心和灵魂。全球软件业正在步入加速创新、快速迭代、群体突破的爆发期,在促进世界经济发展和人类文明进步中将发挥越来越重要的作用。中国政府高度重视发展软件产业,制定了鼓励软件产业发展的重大政策,...阅读全文

2018年全球十大突破性技术有哪些?

3月25日,科技之巅•麻省理工科技评论全球十大突破性技术峰会在北京召开,该峰会是全球最为著名的技术榜单之一,峰会围绕十大突破性技术在中国落地性最强,并对目前最受关注的领域进行深入解读。 2018年“全球十大突破性技术”分别是给所有人的人工智能、对抗性神经网络、人造胚胎、基因占卜、传感城市、巴别鱼耳塞、完美的网络隐私、材料的量子飞跃、实用型3D金属打印机以及零碳排放天然气发电。 **1. 给所有人的人工智能** 当人工智能技术与云技术相结合,将机器学习工具搬上云端,那么将有助于在医疗、制造、能源等行业更全面地推行人工智能技术,从而降低技术的使用难度和价格,极大地提高各产业的生产力。 **2. 对抗性神经网络** 形象地说,就是让两个 AI 系统通过玩“猫捉老鼠”游...阅读全文

深度学习第一课

近几年深度学习的概念非常火,我们很幸运赶上并见证了这一波大潮的兴起。记得2012年之前提及深度学习,大部分人并不熟悉,而之后一段时间里,也有些人仍旧持怀疑的态度,觉得这一波浪潮或许与之前sparse coding类似,或许能持续火个两三年,但终究要被某个新技术新方法所取代,再后来,无论是学术界还是工业界,总有些研究者为自己没有在第一时间跟进这波浪潮感到后悔莫及。确实,从2012年AlexNet取得ImageNet的冠军开始,五年过去了,深度学习的方法仍旧占领着人工智能这片领域。 随着这波浪潮,有些人作为弄潮儿,兴起一波波巨浪,引领各个领域从传统方法到深度学习方法的转变,并希望能够通过了解其他领域的方法改进自己所从事的领域;有些人辛勤地工作,利用深度学习的方法为公司提高业绩,希望实时跟进并实现...阅读全文

博文 2017-06-24 09:52:16 PaddlePaddle开源团队

golang中net包用法(三)--TCP和UDP以及Unix domain socket

type TCPAddr //表示TCP终端地址 type TCPAddr struct { IP IP Port int Zone string // IPv6寻址范围 } func ResolveTCPAddr(net, addr string) (*TCPAddr, error)//将一个地址解析成TCP地址形式,形如"host:port"或 "[ipv6-host%zone]:port",解析得到网络域名和端口名.其中net必须是"tcp","tcp4"或者"tcp6",IPv6地址字面值/名称必须用方括号包起来,如"[::1]:80"、"[ipv6-host]:http"或"[ipv6-host%zone]:80". func (a *TCPAddr) Network() stri...阅读全文

博文 2015-06-18 19:00:33 chenbaoke

在线学习平台具备什么特色和特点?

其实在我们的生活中,对于在线学习平台并不陌生,现在企业、教育单位和培训机构都会使用在线学习平台来进行线上学习、培训。使用在线学习平台,可以很好减少人力和物力成本,那么在线学习平台有哪些特色和特点呢? 在线学习平台是通过计算机互联网,或是通过手机无线网络,在一个网络虚拟教室与教室进行网络授课、学习。它不需要特定的时间到特定的地点进行学习,只要有一台电脑、一部手机在有网的地方就能进行学习。再者就是在线培训平台的稳定和安全性,或许很多人会担心在线学习平台的稳定性和安全性,担心在线学习系统会不稳定而丢失了重要数据。但其实不用担心,好智学在线学习平台采用APACHE 2.0+MYSQL+Golang技术,能够保证数据安全稳定,数据储存备份。再者就是在安装上来说,在线培训系统无需安装系统软件,直接在好智...阅读全文

博文 2019-07-08 11:02:42 在线培训学习系统

百度云虚拟主机与传统虚拟主机有什么区别?

在互联网飞速发展的时代,在选择虚拟主机时,市面上各类主机都有,在选择上大家都眼花缭乱,今天想通过一些对比跟大家分享最新推出的百度云虚拟主机与传统虚拟主机的区别。 (https://static.studygolang.com/180420/4361a3cd37433dc372b9ee4609202e7d.jpg) 一、传统虚拟主机与百度云虚拟主机是什么 虚拟主机,被称之为“网站空间”,也就是大家口中所说的空间,它利用技术把一台服务器分成多个具有独立的域名和完整的Intenet服务器功能、并且共享服务器的带宽和IP的“虚拟”的主机。 百度云虚拟主机,拥有容器技术、具有领先特性的新一代云主机,能提供新一代网站主机服务,率先支持SSL安全加密证书与Nginx搞笑WED框...阅读全文

C++ 相关后台 应用方面 职位分享(更新于20171027)

一、滴滴 后台开发(C++/Java)Linux C/C++开发工程师(J170525300)新四业务部工作地点:北京工作职责:1. 负责后台服务设计和开发;2. 负责后台数据库设计和架构;3. 负责后台核心模块代码重构和数据维护工作。任职资格:-具有分布式系统设计经验-熟练掌握c++,有较强的编程能力和编程经验-熟练使用shell、python等脚本-熟悉linux操作环境,熟练掌握网络编程、多线程编程等技术知识-学习能力强,具备较好的沟通能力二、快手 C++(存储开发,系统开发)C++高级后端开发工程师J10117工作职责1. 承担关键高并发分布式系统的研发工作,支撑业务发展2. 持续优化系统架构,推动多活分布、平台化等技术架构演进任职资格1.本科及以上学历,计算机科学与技术、软件工程或...阅读全文

博文 2017-10-27 03:05:02 持续成长的mage

用go语言通过FTP库实现web日库自动上传归档

因为平时管理的web服务器都是VM服务器,为节省硬盘空间,一般给虚拟机分配的硬盘空间都比较小,只有8G,因为,保存不了多少日志,所以每天都需要把每台WEB日志转移到一个硬盘比较大的服务器上,然后再使用NBU集中备份,本程序主要使用go语言实现实现将web日志通过FTP自动上传FTP服务器,使用了filepath.Walk遍历日志目录及第三方纯go库“github.com/jlaffaye/ftp”,而日志VM本地存储路径格式是 /var/log/weblog/www.domainName.com/month/20140616.access.log, ftp库下载地址 http://godoc.org/github.com/jlaffaye/ftp#ServerConn.Stor // upl...阅读全文

博文 2014-10-27 10:00:01 学思

ECUG Con 2011 - 国内第一场 Go 语言为主题的盛宴

ECUG Con 2011 介绍 ECUG.ORG 是 ECUG Con 大会的官方支持站点。 ECUG 全称为 Effective Cloud User Group(实效云计算用户组)。我们关注的是并发模型和分布式开发的最佳实践。 按照 ECUG 的计划,预计每年我们都会举行一次全国性的 ECUG Con 大会。下面是历届的会议资料: 2007年9月8日,CN Erlounge I,珠三角 Erlang 爱好者小聚。无会议资料,但酝酿了之后具有里程碑意义的 CN Erlounge II。2007年10月13~14日,CN Erlounge II (ECUG Con 2007)在珠海召开。金山为大会主要赞助方。2008年12月20~21日,CN Erlounge III(ECUG Con 2...阅读全文

博文 2014-10-19 17:00:00 xushiweizh

总结2019常用书单网站

# 总结2019,展望2020新的一年,新的目标,2019定的那些目标是不是都已经实现,2020是否已经指定了新的目标。2019年在手机上花费了大量的时间和金钱。全家人的手机,大概算了一下,能花了有小一万了。你花在手机上的时间越多越可能觉得自己像个文盲当我们看到夕阳西下我们想到的是:“卧槽!好多鸟!”“艾玛,真好看!” 我们早已忘记了:“落霞与孤鹜齐飞,秋水共长天一色”看见一轮明月,我们想到的是“卧槽真尼玛圆。”而不是“但愿人长久,千里共婵娟”,跟心仪对象聊天,吹不出文艺有趣彩虹屁看到稍带点文化的段子接不上梗哪怕是发生了令人气愤的社会新闻也不能完整表达自己的观点只好当个“金句复读机” 更可怕的是,随着语言水平的退步思维能力也随之下降,不着四六的论调频出一篇文章超过600字高呼“太长不看”一条...阅读全文

博文 2020-02-12 07:32:54 思考让人长寿

阿里云对象存储OSS Go SDK发布了,欢迎有兴趣的Go爱好者试用~~~

阿里云对象存储OSS提供的海量、安全和高可靠的云存储服务。存储容量和处理能力的弹性扩展,真正使您专注于核心业务,广泛的应用于海量数据存储与备份,数据加工与处理,内容加速分发,业务数据挖掘分析等多种业务场景。详细介绍见[阿里云官网](http://www.aliyun.com/product/oss/?spm=5176.383663.3.14.RM2v6L)。 本次发布的OSS Go SDK包含了丰富的功能,简洁的接口,详细的例子... ## 主要功能包括: - 简洁、丰富、易用的接口,如PutObject/GetObject/ListObjects; - 并发上传/下载; - 断点续传的上传/下载; - 全面支持STS/HTTPS/CNAME访问; - ...阅读全文

成都云创一指网络科技有限公司/招聘golang开发//薪资面议//双休//其他语言可转

1、统招专科以上学历,22-35岁,具有良好的团队合作精神,有较强的开发能力和灵活性; 2、熟悉golang语言,基础扎实,1年以上golang开发工作经验,有完整的项目经验优先 ; 3、熟悉Golang协程,精通channel和锁,对高并发、高可用架构系统有正确、深刻的理解,要求有分布式服务器开发经验; 4、有Web开发经验,对RESTful概念有清晰的理解,并至少有一次API Server开发项目中运用到; 5、熟悉xml/json/protobuf等至少任意一种网络通信技术和数据交换格式 6、有清晰的编程思路; 7、工作积极主动,态度踏实认真,有较强的职业素养和工作操守; 8、对技术有激情,喜欢钻研,能快速接受和掌握新技术,学习能力和工作责任心强,良好的沟通表达能力和团队...阅读全文

深度学习第二课:个性化推荐

大家好,我是来自 PaddlePaddle 开源社区的李钊(@livc),目前是一名大三学生。我曾经在手机百度实习,参与推荐算法和反作弊的研发工作,目前是 IDL 的一名实习生。很开心作为 Paddle Tutorials 系列的作者之一参加 GitChat 的分享。 在 Paddle 深度学习系列 Chat 的第一课中,官方开发组的张睿卿同学通过介绍一些深度学习的应用场景,带领大家了解深度学习的基本原理和工作方式,我们先来简单回顾下。 “人工智能”并不是一个很新的概念,它其实已经有 60 岁了,它的发展经历了三起三落,像极了数学史上的“三次危机”。作为燃料的大数据和硬件(GPU)腾兴带来的并行运算,促成了深度学习在 2012 年左右的大爆发。深度学习有很多有趣的应用,比如,搭载 GoPro...阅读全文

正确理解golang slice的复制

slice 三个属性 golang 的slice是一个指向底层的数组的指针结构体。 这个结构体有三个属性,1.指向数组指针,2.len: slice中元素的数量 3.cap:slice占用内存数量。 只有深刻理解这三个属性才能在使用slice中不至于犯错。 正确理解变量和共享 多个slice之间可以共享底层的数据,并且引用的数组部分区间可能重叠 以上是golang 圣经中的一句话。深刻理解这句话对于日程编程非常有意义。 1.什么时候共享数据会被其他变量修改 func f1() { a1 := []int{1,2,3,4,5,6} a2 := a1 a3 := a1[1:3] a1[1] = 999 fmt.Println("a1=",a1,"a2=",a2,"a3=",a3) } 运行结果 ...阅读全文

人工智能聊天机器人Olivia

Olivia 是带有人工神经网络的人工智能聊天机器人。 ![image](https://static.oschina.net/uploads/space/2019/0617/141938_28Mx_4105562.png) ### 使用 要使用 REST Api,必须使用两个参数建立对 `/api/response` 的 `POST` 请求: * `sentence` 这是要发送给 Olivia 的消息 * `authorId` 这是一个任意 ID,用于标识用户进行上下文聊天 ### 示例

curl -X POST 'https://olivia-api.herokuapp.com/api/response' --data "...阅读全文

[远程][10k-20k]Team247 招聘全栈工程师

### 关于我们 Team247 是一家位于硅谷的软件创业公司。 Team247 致力于将智慧产权投资于广大的互联网以及移动应用的初创公司,在过去的一年取得了高速的成长和发展。目前由于业务的不断增加,诚邀全栈工程师的加入 ### 待遇 - 社保补助 - 弹性化工作时间 - 灵活的工作地点 - 一年 12 天带薪假 ### 要求 - 两年以上的全栈开发经验 - 良好的英语读写能力,可以根据英文文档进行开发 - 在压力下能快速学习,按照自己的计划高质量地完成工作 - 具有团队合作精神与沟通协调能力 - 有安静的工作环境和高速网络连接 ### 联系方式 - 请发送简历至 jobs@theteam247.com,谢谢! ...阅读全文

[笔记] Golang小试实现神经网络框架

国庆节宅在家里,看完了40集的电视剧,也刷了4K代码。最近看看Golang,然后想摆弄一下神经网络。虽然如今都是第三方库泛滥,开源代码拿来即用,而这次对自己的要求是没有第三方库,代码自成闭包。这样更有自主控制性,加深对神经网络实现的理解,也省去了学习各种三方包的用法,顺带着熟练下Golang这门新语言。 搜索引擎可以找到各种神经网络的入门文章。 A Neural Network in 11 lines of Python Anyone Can Learn To Code an LSTM-RNN in Python 这两篇算是不错的入门级文章,虽然第二篇直接跳到比较新的循环神经网络。写文章的前辈代码质量虽然不是特别高,但是也是一行一行用尽洪荒之力来分析代码。第一篇的11行代码的神经网络很清晰,...阅读全文

博文 2016-10-10 01:00:01 prog_6103

Web 服务及网络服务框架Go Frame

## 介绍 gf(Go Frame)是一款为Web服务及网络服务开发设计的,模块化、低耦合、轻量级的Go语言开发框架。 实现了通用的HTTP/TCP/UDP Server,并提供了Web服务开发的系列核心组件, 包括:MVC、Cookie、Session、模板引擎、路由控制、配置管理、数据校验、数据库操作(ORM)等等, 并且提供了数十个实用开发模块,包括:缓存模块、日志模块、JSON模块、命令行模块、二进制模块、环境变量模块、并发安全容器、Goroutine池等等。 gf是开源的,免费的,基于MIT...阅读全文

轻量级且高性能的 Golang 网络库gnet

[项目详情链接](https://taohuawu.club/go-event-loop-networking-library-gnet) `gnet` 是一个基于 Event-Loop 事件驱动的高性能和轻量级网络库。这个库直接使用 [epoll](https://en.wikipedia.org/wiki/Epoll) 和 [kqueue](https://en.wikipedia.org/wiki/Kqueue) 系统调用而非标准 Golang 网络包:[net](https://golang.org/pkg/net/) 来构建网络应用,它的工作原理类似两个开源的网络库:[libuv](https://github.com/libuv/libuv) 和 [libevent](ht...阅读全文

Golang SQL 操作初体验

简介 Golang 提供了 database/sql 包用于对 SQL 的数据库的访问, 在这个包中, 最重要的自然就是 sql.DB 了.对于 sql.DB, 我们需要强调的是, 它并不代表一个数据库连接, 它是一个已存在的数据库的抽象访问接口. sql.DB 为我们提供了两个重要的功能: sql.DB 通过数据库驱动为我们管理底层数据库连接的打开和关闭操作. sql.DB 为我们管理数据库连接池 有一点需要注意的是, 正因为 sql.DB 是以连接池的方式管理数据库连接, 我们每次进行数据库操作时, 都需要从连接池中取出一个连接, 当操作任务完成时, 我们需要将此连接返回到连接池中, 因此如果我们没有正确地将连接返回给连接池, 那么会造成 db.SQL 打开过多的数据库连接, 使数据库连...阅读全文

最强围棋程序Alpha Go 浅析

最强围棋程序Alpha Go 浅析 去年谷歌的围棋程序Alpha Go一举打败所有已知的围棋AI程序,以及以5:0的大比分打败了专业棋手Fan Hui。随后在《nature》上报到了Alpha Go 的内幕。作为一个伪的围棋爱好者和一个机器学习爱好者,看了该文章,并看了其他的分析,写下自己的心得: 围棋的智能对弈程序最早当属我国的手谈,那个时期的自动对弈程序属于经验型的。随后从国外对围棋研究后,产生了蒙特卡洛树搜索的方法应运于围棋对弈,产生了一系列的强AI,可以达到业余水准,关于蒙特卡洛树搜索可以参看《基于蒙特卡洛树搜索的计算机围棋博弈研究》,可以说对该方法进行了详细的说明,阅读也较容易,可以得到围棋AI的一些背景,制约蒙特卡洛方法更近一步的原因是:树的展开,以及搜索的深度的确定。于此同时,...阅读全文

编程年·2015活动「邀请函」

尊敬的先生/女士: 北京矩道优达网络科技有限公司·诚邀您参加我们的新活动"编程年·2015",在 2015 年学编程。 一个呼吁“全民学编程”的站点,只需要简单输入邮箱报名,你将免费得到手把手教你编程的课程,新年到来时,你将收到老师的邮件。 从此,自己做应用和网站将不再是梦想,我们许诺你在未来的一年成为会编程的魔法师。 内页是一个邀请好友排名得奖品的活动,奖品包含了42寸电视、iPad、Xbox、锤子T1、投影键盘等或酷或萌的奖品。 参加活动请C戳------>[http://url.cn/YemAF9](http://url.cn/YemAF9) (谨记:BOSS承诺:凡通过内部员工邀请链接参加活动全部都送10积分作为初始积分,还有只要不作弊,自己人...阅读全文

成都,重庆招聘golang开发人员

1、有扎实的编程功底,热爱编程,精通至少一门开发语言,愿意深入学习golang;
 2、熟悉MVC架构,精通golang Web开发框架者优先;
 3、具备数据库设计能力,精通掌握MySql/MongoDB者优先;
 4、熟悉Linux操作系统,熟悉Apache/Tomcat/Ngnix等WebServer的部署和应用;
 5、有大型网络服务开发,在高并发,高稳定性方面有经验者优先;
 6、具备良好的编码习惯及开发文档书写习惯;
 7、具有优秀的团队合作和沟通协作能力,善于学习,乐于分享,能承受较大工作压力; 
8、 有一定的web前端技能,了解或熟悉HTML、CSS、Javascript;
 薪酬范围:6000-12000/月 薪酬福利:五险一金 绩效奖金 住房补贴 节日...阅读全文

Trie树

Trie树,又称字典树,前缀树,是一种很常用的树结构,它被广泛用于各个方面,比如字符串检索、中文分词、求字符串最长公共前缀和字典排序等等。 字典树设计的核心思想是空间换时间,所以数据结构本身比较消耗空间。但它利用了字符串的共同前缀(Common Prefix)作为存储依据,以此来节省存储空间,并加速搜索时间。Trie 的字符串搜索时间复杂度为 O(m),m 为最长的字符串的长度,其查询性能与集合中的字符串的数量无关。其在搜索字符串时表现出的高效,使得特别适用于构建文本搜索和词频统计等应用 字典树的性质 根节点(Root)不包含字符,除根节点外的每一个节点都仅包含一个字符; 从根节点到某一节点路径上所经过的字符连接起来,即为该节点对应的字符串; 任意节点的所有子节点所包含的字符都不相同; 下图...阅读全文

博文 2019-05-22 17:34:48 helloGlobal

DockOne微信分享(五十八):基于Docker、Mesos、Ceph全新技术栈的三地三中心容灾体系之大二层网络

【编者的话】基于Docker、Mesos、Ceph全新技术栈的三地三中心容灾体系解决方案目前是没有在生产环境中进行实施的,因为这还是一个正在研发中的解决方案,之所以分享出来是想把它做成一个解决方案开源项目,供大家参考和讨论,也请大家提出自己的想法和意见以便更好的完善这一解决方案。 @Container容器技术大会将于6月4日在上海光大会展中心国际大酒店举办,来自Rancher、携程、PPTV、蚂蚁金服、京东、浙江移动、海尔电器、唯品会、eBay、道富银行、麻袋理财、土豆网、阿里百川、腾讯游戏、数人云、点融网、华为、轻元科技、中兴通讯等公司的技术负责人将带来实践经验分享,5月7日之前购票只需438元,欢迎感兴趣的同学抢购。 大二层简介在TCP/IP协议栈中,标准的将IP协议分为七层,物理层、数...阅读全文

如何做好全网营销,实现真正转型

随着互联网的快速发展,网络成为了人们生活不可或缺的一部分,逐渐改变了人们的生活方式,特别是消费习惯,面对如今的市场变化该走向何方,企业如何实现“互联网+”?小编认为只有结合传统营销、移动网络营销以及PC互联网营销,实现全网覆盖,才能做好全网营销,实现真正转型。 想要做好全网营销,实现真正转型,首先要搭建一个全网营销型网站,全网营销型网站是针对搜索引擎以及消费者而策划的网站,只有具有高成交力,高传播力,才能让网站成为24小时的金牌业务员,让更多精准目标客户在网上发来询盘,最终才能够帮助企业赢得更高的经济效益。 全网营销型网站搭建之后,接下来需要做的便是如何实现全网覆盖,让公司的产品信息得到更全面的曝光,只有结合了免费和付费,双剑合璧,在互联网,移...阅读全文

除了 Python ,这些语言写的机器学习项目也很牛

Python 由于本身的易用优势和强大的工具库储备,成为了在人工智能及其它相关科学领域中最常用的语言之一。尤其是在机器学习,已然是各大项目最偏爱的语言。 其实除了 Python ,也不乏有开发者用其他语言写出优秀的机器学习项目。在此,列出其中一些个人认为值得关注的开源机器学习项目。由于篇幅有限,考虑分多期整理。 1、C Darknet —— 神经网络框架 Darknet 是一个用 C 和 CUDA 编写的开源神经网络框架。它快速,易于安装,并支持 CPU 和 GPU 计算。 CCV —— 计算机视觉库 CCV 是 C-based/Cached/Core Computer Vision Library 的简称, 它是一个现代的计算机视觉库。 CCV 是一种以应用驱动的算法库,比如对静态物体(如...阅读全文

博文 2017-06-25 06:47:11 编辑部的故事

热烈祝贺中共贵州数据宝网络科技有限公司支部委员会成立

2017年11月10日,数据宝贵州总部大厅一侧的雪白墙面上,悬挂了一张“中共贵州数据宝网络科技有限公司支部委员会”金属牌匾,这标志着中共贵州数据宝网络科技有限公司支部委员会正式成立,这也翻开了数据宝无数殊荣中的新篇章。 ![1.png](https://static.studygolang.com/171121/15bed321fd16ad3bfd5365880fe2c39b.png) 数据宝董事长汤寒林直面媒体,接受了记者的独家专访。 为什么成立数据宝党支部? 大数据的洪流之下,个人隐私信息被严重盗用、滥用成为事实。 公安部披露:自今年3月公安部部署开展打击整治黑客攻击破坏和网络侵犯公民个人信息犯罪专项行动以来,截至目前,全国共侦破侵犯公民个人信息案件和黑客攻击破...阅读全文

Go语言实战 - 创业进行时之创业伊始

在工作了10年之后,我于32岁的年纪在两个月前辞职创业了。 简单介 绍一下之前的整个职业生涯,挺典型的,工程师 –> 资深工程师 –> 架构师 –> 项目经理 –> 部门经理,可以说,产品研发过程中的所有角色我都走了一遍,任职的公司也越来越大,可是内心的不安确实与日俱增,总觉得这一身本事渐渐被淹没在了办公室的 各种琐碎之中,心中想要做一款好产品的梦想似乎越来越远了。 于是,我打定了主意,要创业。但在这个人生阶段(已结婚、无车、无房),这 不是一个容易的决定,有太多的东西会让我顾虑。为了不给自己留后路,一年前我就跟上司说明,我要创业了,请开始物色我的接班人。我还记得那天从老板办公室 中出来的心情,很复杂。后来的事实证明,这一招是必要的。人不把自己逼到绝路上,是很难下定决心的。 终于,两个月前,...阅读全文

博文 2015-06-11 03:00:05 ShaYeBlog

易推宝让客户每天都在搜索引擎找到你!

当今互联网时代,传统地推,已经很难支撑一个企业的销售额。即使在人流量最大的地铁站做地推投硬广,来去匆匆的人潮也只愿意把目光驻足在小小的手机屏幕,忙碌的都市生活让大部分白领下班后直接选择回家。我们坚持最长时间的小习惯,大概就是每天都要看手机不下100次,每天参与贡献数十亿的网络流量…… 因此大部分企业把中心转向网络推广。最常见的方式有百度竞价(SEM)和搜索引擎优化(SEO)。百度竞价是有钱企业玩的游戏,大多本身已经占据了较大的市场份额,即使小企业做百度竞价,除非行业比较冷门,不然,即使你做了竞价也不到一定获得好的排名。SEO成了企业做网络推广最经济实惠的方式,但请一个好的SEO推广花费也不低,做关键词排名效果很难立竿见影,没办法让中小企业在短期提升业绩。经过对上万家中小企业的网络推广现...阅读全文

【广州招聘】go语言开发/golang

.........................................分割线...................................... 职位描述: 1、负责棋牌游戏服务器架构优化; 2、负责棋牌游戏新游戏,活动等开发; 3、协助运维维护线上服务器。 职位要求: 1、熟悉c/c++/java,至少一年你使用经验; 2、熟悉golang,至少一年服务器开发项目经验; 3、熟悉tcp,ip,http等网络协议; 4、熟悉docker优先; 5、熟悉棋牌开发优先; 6、善于沟通,要有团队合作精神; 7、能承受一定强度的工作压力,对工作有热情,负责。 ...............阅读全文

Golang工程师

职位描述: 1. 使用 Go 语言开发稳健可扩展的后端服务 2. 为实现服务的高可用,进行必要的调优 3. 通过单元测试、自动化以及代码审查等提升优化代码质量 职位要求: 1. 两年以上 Go 服务端经验 2. 熟悉C/C++ 或 Rust至少一年开发经验 3. 熟悉 Linux、Redis、关系型数据库(MySQL,PostgreSQL)、消息队列、Docker 4. 熟悉IP/TCP VLAN SDN 等网络协议(加分) 5. 能够熟练阅读和理解纯英文开发文档(加分) 6. 熟悉华为 思科等网络设备的配置和命令(加分) 7. 有Github开源作品/个人Blog(加分) 工作地址 北京市丰台区航丰一号时代财富天地2112-2113...阅读全文

Go 机器学习库 Gorgonia

Gorgonia 是 Go 机器学习库。撰写和评估多维数组的数学公式。与  [Theano](http://deeplearning.net/software/theano/) 和 [TensorFlow](https://www.tensorflow.org/) 理念相似。具体来说, #### Gorgonia 性能: * 执行自动分化 * 执行符号微分 * 优化 梯度下降 * 进行稳定的数值计算 * 提供便捷功能来帮助创建神经网络 * 操作快(与Theano和Tensorflow速度相当) * 支持GPU / CUDA * 支持分布式计...阅读全文

Go-Slice

要点 一个区间:[low:high] 两个概念:length, capability 三个函数:make(), append(), copy() 概念 Array是在声明的时候都确定了长度,之后不可更改。Slice和数组类似,也是表示一个有序元素,但这个序列的长度可变。 在Go中,Slice序列中各元素的数据类型必须一致,因为在声明slice的时候即要指定类型。 可以在Python中找到Slice,和Go的Slice基本上是一致的语义和用法。Slice中文通常被译为切片,大抵是因为可以从一个序列中存取指定的某一部分。下面是Collins词典中对于slice的解释,有助于了解该词的含义: N-COUNT (指食物切下的)片,薄片 A slice of bread, meat, fruit, o...阅读全文

博文 2016-09-02 07:00:05 u013344915

golang之array

数组 √ golang数组包含的每个数据称为数组元素(element),数组包含的元素个数被称为数组长度(length)。 √ golang数组的长度在定义后不可更改,并且在声明时可以是一个常量或常量表达式(在编译期即可计算结果的表达式)。golang数组长度是一个内置常量,可以用len()函数来获取。 √ golang数组是一个值类型,在赋值和作为参数传递时都将产生一次复制动作,因此在函数体中无法修改传入的数组的内容。 • 数组声明和初始化 ▶ 数组声明 ▪ 语法如下 // 数组声明 var array [n]Type // 数组声明和初始化 var array [n]Type = [n]Type{v1, v2, ..., vn} var array = [n]Type{v1, v2, ....阅读全文

博文 2016-02-20 03:00:04 heartchord

阿里云面向企业效率的云上产品全解析:云桌面、云AP、云投屏

一、云桌面 重新定义云计算时代的桌面服务 2017年10月12日的杭州云栖大会上,阿里云副总裁李津做了“云之深处”的阿里云新品发布主题演讲,在演讲中,李津认为在数字化时代,商业的效率将指数级提升,而智能技术的发展,也将给企业与客户的交互带来巨大的变化,为了帮助企业在数据化时代领跑商业前沿,阿里云推出了面向企业效率的云上产品栈,云桌面,就是其中的一个重要产品。 阿里云桌面是部署在公有云上的桌面系统,用户可以用多种设备登陆云端的PC桌面,实现云端办公。同时云桌面解决了管理、部署、运维、资源弹性、高可用、数据安全、成本优化等问题。 虚拟桌面的首要特点是快速便捷,可以快速创建桌面环境,而管控与运维则统一在云端进行。这意味着,使用虚拟桌面的企业可以节省成本,快速交付...阅读全文

Go的三色标记GC

三色标记 三色标记的原理如下:整个进程空间里申请每个对象占据的内存可以视为一个图, 初始状态下每个内存对象都是白色标记,先stop the world,将扫描任务作为多个并发的goroutine立即入队给调度器,进而被CPU处理,第一轮先扫描所有可达的内存对象,标记为灰色放入队列;第二轮可以恢复start the world,将第一步队列中的对象引用的对象置为灰色加入队列,一个对象引用的所有对象都置灰并加入队列后,这个对象才能置为黑色并从队列之中取出。循环往复,最后队列为空时,整个图剩下的白色内存空间即不可到达的对象,即没有被引用的对象; 第三轮再次stop the world,将第二轮过程中新增对象申请的内存进行标记(灰色),这里使用了writebarrier(写屏障)去记录这些内存的身份...阅读全文