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

golang中os/exec包用法

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 func main() { f, err := exec.LookPath("ls") if err != nil { fmt.Println(err) } fmt.Println(f) // /bin/ls } type Cmd //表示一个正在准备或者正在运行的外部命令 type Cmd struct { Path string //运...阅读全文

博文 2015-06-17 20:02:21 chenbaoke

【币码翁】IPFS官方周报第52期 ​

​ 欢迎关注IPFS官方周报!星际文件系统(IPFS)是一种通过内容和身份寻址的新型超媒体分发协议。IPFS支持创建完全分布式应用程序。它旨在使网络更快,更安全,更开放。由于这是一个非常大的范围,我们在每周调度中跟踪整个生态系统的发展。以下是自上次IPFS周报以来的一些亮点。最新的在Raspberry Pi上安装IPFS和IPFS-Cluster想过破解IPFS和物联网吗?Aadhi Manivannan最近写了一篇很棒的教程,介绍如何在Raspberry Pi上安装IPFS和IPFS-Cluster。 IPFS在野外你在Twitter上关注IPFS吗?有关IPFS的最新新闻,请查看我们的Twitter提要或查看有关Awesome IPFS的最新文章。分散式云存储正在改变互联网的面貌,Hac...阅读全文

博文 2019-07-31 16:32:48 IPFS星际特工

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

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

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...阅读全文

golang 写文件--详细解释

1,不覆盖指定的文件 先看代码怎么写,下面再具体解释. func writeToFile(msg string) { f, err := os.OpenFile("/home/mingbai/del/koala.log", os.O_WRONLY&os.O_CREATE, 0666) if err != nil { log.Println(err.Error()) } _, err = f.Write([]byte(msg)) if err != nil { log.Println(err.Error()) } f.Close() } OpenFile 这个函数不那么好理解,解释一下. 第一个参数 就是文件路径. 第二个参数是一个 文件打开方式的flag是读是写 还是读写;是追加还是清空等,...阅读全文

博文 2019-10-10 00:32:44 aside section ._1OhGeD

关于SDN的未来,Linux基金会专访阿里云网络大神

摘要: 近日,大家熟知的国际开源组织Linux基金会与阿里云进行了一次访谈。专访了阿里云网络团队掌门人江鹤。江鹤执掌阿里云网络产品线,并负责阿里集团网络虚拟化产品的研发管理工作。在软件定义网络(SDN)和网络功能虚拟化(NFV)领域从事开发和产品管理工作多年,是一名资深网络技术专家。 近日,大家熟知的国际开源组织Linux基金会与阿里云进行了一次访谈。专访了阿里云网络团队掌门人江鹤。江鹤执掌阿里云网络产品线,并负责阿里集团网络虚拟化产品的研发管理工作。在软件定义网络(SDN)和网络功能虚拟化(NFV)领域从事开发和产品管理工作多年,是一名资深网络技术专家。他参与和主导了阿里云网络从第一代经典网络,第二代VPC网络,如今进化到领先的第三代全球云上企业网的历史进程。他所带领的团队历时近十年...阅读全文

go 语言中常用的包

来自学习go语言.pdf 译者刑星 ==== fmt 包fmt实现了格式化IO函数,这与c的printf和scanf类似,格式化短语派生于c %v 默认格式的值。当打印结构时,加号(%+v)会增加字段 %#v go样式的值表达 %T 带有类型的go样式的值表达 io 提供了原始的io操作界面,主要人物就是os包这样的原始的IO进行封装,增加以下其他相关,是器据哟抽象功能在公共的接口上 bufio 这个包实现了缓冲的io,风中雨io.Reader和io.Write对象,创建了另一个对象(Reader和Writer)在提供缓冲的同时实现了一些文本IO 功能 sort 对数组和用户定义集合的原始的排序功能 strconv 提供了将字符串转换为基本数据类型,或者从基本数据类型转换为字符串的功能 os...阅读全文

博文 2016-08-03 13:00:01 li-daphne

对于APP安全性测试策略的思考

随着互联网发展,APP应用的盛行,最近了解到手机APP相关的安全性测试。目前手机App测试还是以发现bug为主,主要测试流程就是服务器接口测试,客户端功能性覆盖,以及自动化配合的性能,适配,压测等,对于App安全性测试貌似没有系统全面统一的标准和流程,其实安全性bug也可以是bug的一种,只不过更加隐秘,难以发现,尤其针对于手机App。 特别是以webview为主体的app,先简单说说,站在入侵或者攻击的角度来讲,安全隐患在于http抓包,逆向工程。    目前大部分app还是走的http或者https,所以防http抓包泄露用户信息以及系统自身[url=]漏洞[/url]是必要的,通过抓包当你查看一个陌生用户信息时,一些手机号,qq等信息页面上应该不显示的,但这些信息不显示并...阅读全文

使用 Golang 操作 Linux Namespaces

Linux 命名空间简介命名空间分类CLONE_NEWPIDCLONE_NEWIPCCLONE_NEWNSCLONE_NEWNETCLONE_NEWUTSCLONE_NEWUSER代码示例总结参考 Linux 命名空间简介 Linux Namespaces(Linux 命名空间)机制提供了进程使用操作系统资源时的隔离方式,是基于内核实现轻量级虚拟化(容器化,例如 docker)的实现基础。 具体来说就是当我们创建一个进程时,可以给进程设置 flag 组合来构建进程的命名空间,处于不同命名空间的进程是相互隔离的。 命名空间分类 目前我们可以设置如下几种命名空间,它们分别从不同的资源纬度进行隔离。 CLONE_NEWPID 该标识用于创建一个新的 PID 命名空间,新进程将成为命名空间里的第一个...阅读全文

博文 2015-04-05 11:18:54 88250

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

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

能源管理系统—能源在线监测平台搭建

源中瑞能源在线监测平台开发联系电话/微信:13828867935(谭)QQ:1993018750 源中瑞能源在线监测系统简介 能源在线监测系统采用高质量的专用智能电表、智能水表、蒸汽流量计、热能计等各种通讯功能的仪表,采集能耗数据,通过布线或者无线传输到软件平台(优先考虑利用企业自有的内部局域进行数据传输,减少成本)。按照有关能源形式和种类的定义,全面覆盖电、水、煤、汽/气、油等企业生产经营活动可能消耗能源的计量和监测。 源中瑞能源在线监测系统是什么? 1、监视关键设备运行状况 2、实时掌握能耗情况。 3、计算分析工艺流程的能耗水平。 4、实现成本分摊。 5、提供能源信息。 6、为进一步实施节能工程提供数据支撑。 源中瑞能源在线监测系统的三大组成部分 1、能源管理系统软件平台:主要对采集的数...阅读全文

博文 2018-12-29 14:49:55 vx13828867935

goinstall

【背景】 折腾: 【记录】go语言中通过log4go实现同时输出log信息到log文件和console 期间,以: http://code.google.com/p/log4go/ 为例,如何安装第三方包。 【折腾过程】 1.看到: http://code.google.com/p/log4go/ 中有一句安装的: goinstall log4go.googlecode.com/hg 所以去试试: 结果我此处根本没有goinstall: E:\Dev_Root\go\src\EmulateLoginBaidu>goinstall 'goinstall' 不是内部或外部命令,也不是可运行的程序 或批处理文件。 2.参考: Installing Third-Party Packages 发现,其...阅读全文

博文 2015-04-03 03:00:01 rojas

golang GPIO编程

最近想到一个问题,现在的物联网也算发展的不错,golang说是在多个平台上开发但并没有看到有arm板上的外接设备的驱动方法,不知道是我没有找到还是现在并不支持,如果有的话希望能够提供一些例子或是链接。 PS:arduino这一类的arm板的go开发的框架有很多但太单一了,别的普通板好像真没有发现 追加:这个一个支持多品种ARM板的框架 https://github.com/hybridgroup/gobot/
https://github.com/kidoman/emb...阅读全文

golang 执行 command

```golang```中会经常遇到要 fork 子进程的需求。go 标准库为我们封装了 ```os/exec```标准包,当我们要运行外部命令时应该优先使用这个库。这里我简单结合```context``` 和 ```Cmd``` 模块写一个通用的执行 command 方法。代码如下: ```go package main import ( "context" "os/exec" "syscall" ) func RunCmd(ctx context.Context, cmd *exec.Cmd) error { cmd.SysProcAttr = &syscall.SysProcAttr{ Setpgid: true, } if err := cmd.Start(); err != nil...阅读全文

关于go程对外部变量的引用

假设有个函数A,A内有多个局部变量,并开启了一个go程B,B直接使用了A的局部变量(调用参数/内部参数)。 很明显的是,每一次调用A,开启的go程都应该只和当时的A的内部变量环境有关,否则程序就要乱套了。 这一点在任何语言里都是必须的,go也是如此。 但是,这就带来一个问题,即:A执行完毕后,其占用的数据堆栈无法被释放(因为要维持其开启的go程的外部环境)。 如果A占用的堆栈相当庞大的话,会导致严重的内存浪费。 因此,新开的go程应尽量减少对外部环境的依赖,尤其是对外部函数局部变量的引用;如果需要使用,则应尽可能的将使用的变量作为参数传递给go程。 如此,避免对外部函数环境依赖的go程,即可以被编译器进行更好的优化...阅读全文

golang CIDR 与 IpMask 互转解析

在网络设备上,没家厂商表示ip的形式各不相同,但可能表示的是同一个意思, 列如 10.95.134.192/29 = 10.95.134.192/255.255.255.248 CIDR表示方法:IP地址/网络ID的位数,比如10.95.134.192/29,其中用29位表示网络ID。 CIDR to IpMask _, ipNet, err := net.ParseCIDR("10.95.134.192/29") if err != nil { fmt.Println(err) } val := make([]byte, len(ipNet.Mask)) copy(val, ipNet.Mask) var s []string for _, i := range val[:] { s = ...阅读全文

博文 2018-11-15 01:34:40 包牙齿

用Go语言写一个简单的shell

‍‍‍‍本文我们将用Go语言实现一个最简的Unix shell。这段程序只有60行左右。阅读之前你需要对Go语言有一些了解(例如,如何构建一个简单的项目),并且知道一些UNIX shell的基础用法。开始之前"UNIX非常简单,只有天才才明白它的简单"——Dennis Ritchie (https://en.wikipedia.org/wiki/Dennis_Ritchie)当然,我不是一个天才,并且我甚至都不确定Dennis Ritchie的话是否包括用户空间工具。此外,对于一个全功能的操作系统而言,shell只是其中一块很小的部分(与Kernel对比来说,shell真的是一个简单的部分),但是我希望在文章的最后,你可以惊讶的发现,一旦你理解了shell背后的概念,实现一个shell是多么...阅读全文

博文 2018-07-30 15:35:16 容器时代

Golang地表最狂(一)—— 标准库os/exec学习

伪粉表示stepping stone是真的燃 “来到舞台接受到的目光 怎么都不一样 面对亲戚朋友父母亲的所有抵抗 我努力独立成长 守护着自己坚强 但为了妈妈每日翘楚以盼长大 才对 他们剑拔弩张 我是双截棍柔中带刚 不用去少林武当 Not afraid 地表最狂 举世无双 撑这束追光 不怕艰险的 别人不知道的力量 不知道的力量 各霸一方 遗忘你铩羽而归的地方 你会前进 步履艰辛 但终究得要习惯投降 想当然尔 盗铃掩耳 是你最大的致命伤 我按兵不动 有恃无恐 沉默的酝酿 纯粹出于我礼貌的开场 神华内敛才能以柔克刚 试探性衡量 暗箭难防 自尊受伤 成王败退 没什么两样 我运筹帷幄 仰望夕阳 你放弃抵抗 低头离场 但不用放在心上 是因为我们是地表最狂”---听到mdr-1abt燃烧的声音,真的进入一...阅读全文

博文 2018-09-10 22:34:44 地表最狂蓝胖子

【预警】新型勒索病毒来袭,eCh0raix紧盯NAS设备

病毒预警 近日,研究人员发现了新型勒索病毒eCh0raix,该勒索病毒针对QNAP网络附属存储(NAS)设备进行攻击,其攻击行为类似于Ryuk和LockerGoga勒索病毒,亚信安全将其命名为Ransom.Linux.ECHORAIX.A。NAS设备是网络连接的存储设备,主要用于文件存储和备份系统。由于其成本低,效率高并且可扩展,受到用户欢迎,其市场占有率高达80% 。受本次勒索病毒影响的NAS设备包括QNAP TS-251、QNAP TS-451、QNAP TS-459 Pro II和 QNAP TS 253B。病毒技术细节分析eCh0raix勒索病毒使用Go/Golang语言编写,该病毒通过检查语言来确定被感染的NAS设备所处的位置,如果其位于俄罗斯、乌克兰和白俄罗斯等国家,其会终止自身...阅读全文

博文 2019-07-19 23:32:43 鸿萌数据恢复

OTP一次性动态密码工具实现

对于企业内部信息安全或行业安全合规性需求,3A认证、授权、审计是必要的基础安全审查项。认证安全机制要求双因素认证,从技术要可使用基于数字证书和OTP来实现满足。 OTP分为两种技术算法HOTP(基于次数 RFC 4226)和TOTP(基于时间 RFC 6238)标准。而目前开源的Google Authenticator工具很好的实现了OTP移动端APP的使用与密钥管理。 为了在企业运维安全加固需求可以开发自己的后端的OTP认证服务器和统一用户认证管理中心,结合Google Authenticator工具快速整合用户的移动端动态密钥的生成。 可适用的双因素场景:网络设备的认证(Radius协议)、企业内部开发的应用系统认证集成。 AuthOTP golang实现google authencat...阅读全文

博文 2019-01-07 00:34:48 Xiao_Yang

基于TableStore构建简易海量Topic消息队列

摘要: 12月7日,2017苏州·云栖大会上,阿里云发布全新的混合云数据存储和灾备方案,此次发布的内容包括最新推出的混合云容灾服务HDR和混合云备份服务HBR,以及全面升级的混合云存储阵列CSA2000和CSA3000。 12月7日,2017苏州·云栖大会上,阿里云发布全新的混合云数据存储和灾备方案,此次发布的内容包括最新推出的混合云容灾服务HDR和混合云备份服务HBR,以及全面升级的混合云存储阵列CSA2000和CSA3000。 ![3d6b1826d99c00df1619050f7111bd2d417523c2[1].png](https://static.studygolang.com/171213/1c82ed88ac1bbb5c35c7c3896c1971a7....阅读全文

阿里云弹性裸金属服务器-神龙架构(X-Dragon)揭秘

摘要: 在5月16日的飞天技术会新品直播中,特别邀请了业界知名大咖狒哥以及阿里云虚拟化资深专家旭卿作为现场直播的嘉宾。本次直播主要从产品背景到“X-Dragon架构”,从硬件设备到软件应用来深度的剖析“X-Dragon架构”为弹性计算裸金属服务器提供的极致计算能力。 在5月16日的飞天技术会新品直播中,特别邀请了业界知名大咖狒哥以及阿里云虚拟化资深专家旭卿作为现场直播的嘉宾。本次直播主要从产品背景到“X-Dragon架构”,从硬件设备到软件应用来深度的剖析“X-Dragon架构”为弹性计算裸金属服务器提供的极致计算能力。 直播视频请点击 以下为精彩视频内容整理: 产品背景 这几年越来越多的大客户把自己的业务搬到云上来,一方面是因为云可以在成本、效率、性能方面提供更多的优势。...阅读全文

golang os/exec 执行外部命令

exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 1. func main() { 2. f, err := exec.LookPath("ls") 3. if err != nil { 4. fmt.Println(err) 5. } 6. fmt.Println(f) // /bin/ls 7. } type Cmd //表示一个正在准备或者正在运行的外部命令 1. type Cmd ...阅读全文

博文 2019-04-27 08:34:42 佛心看世界

如何在 Go 中优雅关闭子进程

有时我们会遇到这样的需求,在一个主进程中启动另外一个进程,而在 Go 中可以使用 exec 包的 Cmd 来轻松实现这类需求,例如代码: package main import ( "fmt" "log" "os" "os/exec" "os/signal" ) func main() { cmd := exec.Cmd{ Path: "nc", Args: []string{"-u", "-l", "8888"}, Dir: "/usr/bin", } if err := cmd.Start(); err != nil { log.Panic(err) } fmt.Println("Start child process with pid", cmd.Process.Pid) c := m...阅读全文

go语言的os.exec包介绍

载自:http://www.unjeep.com/q/586059486.htm exec包执行外部命令,它将os.StartProcess进行包装使得它更容易映射到stdin和stdout,并且利用pipe连接i/o. func LookPath(file string) (string, error) //LookPath在环境变量中查找科执行二进制文件,如果file中包含一个斜杠,则直接根据绝对路径或者相对本目录的相对路径去查找 func main() { f, err := exec.LookPath("ls") if err != nil { fmt.Println(err) } fmt.Println(f) // /bin/ls } type Cmd //表示一个正在准备或者正在...阅读全文

博文 2016-04-21 19:00:02 kuoshuang

使用 Golang 操作 Linux Namespaces

Linux 命名空间简介 Linux Namespaces(Linux 命名空间)机制提供了进程使用操作系统资源时的隔离方式,是基于内核实现轻量级虚拟化(容器化,例如 docker)的实现基础。 具体来说就是当我们创建一个进程时,可以给进程设置 flag 组合来构建进程的命名空间,处于不同命名空间的进程是相互隔离的。 命名空间分类 目前我们可以设置如下几种命名空间,它们分别从不同的资源纬度进行隔离。 CLONE_NEWPID 该标识用于创建一个新的 PID 命名空间,新进程将成为命名空间里的第一个进程。 一个 PID 命名空间为进程提供了一个独立的 PID 环境,其内部的 PID 将从 1 开始, 在该命名空间内创建的进程都将产生一个在该命名空间内独立的 PID。后续在该命名空间创建的进程都...阅读全文

10年大数据架构师:日访问百亿级,如何架构并优化日志系统?

日志数据是最常见的一种海量数据,以拥有大量用户群体的电商平台为例,双 11 大促活动期间,它们可能每小时的日志数量达到百亿规模,海量的日志数据暴增,随之给技术团队带来严峻的挑战。 本文将从海量日志系统在优化、部署、监控方向如何更适应业务的需求入手,重点从多种日志系统的架构设计对比;后续调优过程:横向扩展与纵向扩展,分集群,数据分治,重写数据链路等实际现象与问题展开。日志系统架构基准 有过项目开发经验的朋友都知道:从平台的最初搭建到实现核心业务,都需要有日志平台为各种业务保驾护航。 如上图所示,对于一个简单的日志应用场景,通常会准备 master/slave 两个应用。我们只需运行一个 Shell 脚本,便可查看是否存在错误信息。随着业务复杂度的增加,应用场景也会变得复杂。虽然监控系统能够显示...阅读全文

博文 2018-08-17 10:34:57 养码场

golang坑之 'godoc' 不是内部或外部命令,...

@[TOC](golang坑之 'godoc' 不是内部或外部命令,...) golang坑之 'godoc' 不是内部或外部命令,... 最近接触了一点golang, 发现这个语言蛮有趣的, 因为第一次接触, 还是遇到了不少坑, 记录一次'godoc' 不是内部或外部命令,...的坑. 前言 因为我下载的是最新的版本的go1.13, 在某个旧版本前, golang好像就去除了godoc工具, 要另行编译,在官方x包tools库下的cmd有个godoc. 可以自行下载进行install到gopath目录. 也可参照此教程, 少踩坑(调皮) ! 前提准备: 拥有最基本的Go环境 gopm安装 gopm 可以帮助我们拉取需要翻墙的go资源 我遇到的坑 我的坑 前面说过了, 这是因为我下载的是最新...阅读全文

博文 2020-03-09 15:35:57 Iven_Colt

Go中链路层套接字的实践

介绍 接上次的博客,按照约定的划分,还有一层链路层socket。这一层就可以自定义链路层的协议头部(header)了,下面是目前主流的Ethernet 2(以太网)标准的头部: 相比IP和TCP的头部,以太网的头部要简单些,仅有目标MAC地址,源MAC地址,数据协议类型(比如常见的IP和ARP协议)。 但多了尾部的FCS(帧校验序列),用的是CRC校验法。如果校验错误,直接丢弃掉,不会送到上层的协议栈中,链路层只保证数据帧的正确性(丢掉错误的)。具体数据报的完整性由上层控制,比如TCP重传。链路层最大长度是1518字节,除去18字节的头部和尾部,只剩1500字节,也就是MTU(最大传输单元)的由来,并约定最小传输长度64字节。 服务端 用 ifonfig 查看本机的网络设备(网卡):eth0...阅读全文

博文 2018-07-17 10:35:17 wuhui115

6位技术大咖11月倾心巨献,大数据+安全主题的技术分享合集【阿里云MVP 干货集锦】

摘要: 大家好,阿里云 MVP 11月大数据+安全主题分享新鲜出炉,快来一睹为快吧!哪些MVP的分享最吸引你,你最想支持哪个MVP? 我们将开启为期一周的最人气内容评选,我们将在MVP评论内容下抽取评论最佳赠送公仔抱枕一只!并有机会受邀参加阿里云粉丝活动 大家好,阿里云 MVP 11月大数据+安全主题分享新鲜出炉,快来一睹为快吧!哪些MVP分享的内容最吸引你,你想为谁打call? 我们将开启最具人气内容评选,在MVP博文下发表评论,我们将选取最走心最有价值的评论内容赠送淘公仔抱枕或双肩背包,优质评论人还有机会受邀参加阿里云粉丝区域见面会活动,快行动起来吧! 阿里云 MVP11月主题分享直达传送门: **阿里云 MVP 郭翔云——中油瑞飞系统架构师** 看美女架构师如何带你聊...阅读全文

golang的excel文件处理

引入excel文件处理包 "github.com/tealeg/xlsx" 直接excel文件进行处理 excel文件导入: import "github.com/tealeg/xlsx" //获取文件 file, h, err := this.GetFile("Filename") if err != nil { response.Msg = fmt.Sprintf("获取文件异常:%s", err.Error()) this.toJson(&response) } defer file.Close() //校验文件后缀 if !strings.HasSuffix(h.Filename, ".xlsx") { response.Msg = "文件格式异常" this.toJson(resp...阅读全文

博文 2019-07-05 19:32:38 进击的扣子

go 1发布了,之前写的代码不能运行了

刚刚发布go 1 ,迫不及待的进行更新,可问题出来了: 1、8g的命令不能用了 我的平台是windows,用notepad++配置了开发环境(http://www.cnblogs.com/MikeZhang/archive/2012/02/10/nppRunGo.html) 设置“8g -o test1.8 test1.go & 8l -o test1.exe test1.8 & test1.exe”的快捷键为Ctrl+F6 但当执行时候,提示如下: ‘8g.exe' 不是内部或外部命令,也不是可运行的程序或批处理文件。 查了查资料,应该这样做: go run file.go 或者 go build -o file.exe file.go 2、http包归并到net下了,不能直接用 之前文章...阅读全文

博文 2014-10-04 19:26:51 MikeZhang

理解Docker单机容器网络

Docker容器是近两年最 火的IT技术之一,用“火山爆发式“来形容Docker的成 长也不为过。Docker在产品服务的devops 运维、云 计算(CaaS)、大数据以及企业内部应用等领域正在被越来越多的接受和广泛应用。Docker技术的本质在于提升计算密度和提升部署效率,高屋 建瓴的讲,它的出现符合人类社会对绿色发展的追求,降低资源消耗,提升资源的单位利用率。不过经历了两年多的发展,Docker依旧年轻,尚未成 熟,在集群调度、存储、网络、安全等方面,Docker依旧有很长的路要走。 在一年多以前,也就是Docker发布1.0后没几个月时,我曾经学习过一段时间的Docker,主要学习Docker的概念和基本使用方法。由于当时docker 还相对“稚嫩”,在产品和项目中暂无用武之地,也就...阅读全文

博文 2016-02-21 16:13:34 bigwhite

理解Docker容器网络之Linux Network Namespace

由于2016年年中调换工作的原因,对容器网络的研究中断过一段时间。随着当前项目对Kubernetes应用的深入,我感觉之前对于容器网络的粗浅理解已经不够了,容器网络成了摆在前面的“一道坎”。继续深入理解K8s网络、容器网络已经势在必行。而这篇文章就算是一个重新开始,也是对之前浅表理解的一个补充。 我还是先从Docker容器网络入手,虽然Docker与Kubernetes采用了不同的网络模型:K8s是Container Network Interface, CNI模型,而Docker则采用的是Container Network Model, CNM模型。而要了解Docker容器网络,理解Linux Network Namespace是不可或缺的。在本文中我们将尝试理解Linux Network...阅读全文

博文 2017-02-06 03:21:11 bigwhite

Go语言-闭包

载http://blog.sina.com.cn/s/blog_487109d101018fcx.html 略做加工 在找“闭包”的资料时找到这个: http://www.cnblogs.com/Jifangliang/archive/2008/08/05/1260602.html 这里解说得很清楚明了,例子也很间单。 闭包是“函数”和“引用环境”组成的整体。 在这里用Go重写一下他的例子: package main import "fmt" func ExFunc(n int) func() { sum:=n a:=func () { //把匿名函数作为值赋给变量a (Go 不允许函数嵌套。 //然而你可以利用匿名函数实现函数嵌套) fmt.Println(sum+1) //调用本函数外的...阅读全文

博文 2015-06-17 23:02:08 hittata

Go语言入门教程 - Hello World

Go语言入门教程 - Hello World 这是Go语言入门教程的第二篇教程。在进入第二篇教程之前,请阅读第一部分简介和安装知晓如何安装golang。 没有更好的方法能比我们手把手的敲代码来学习程序语言来的快了。那么让我们赶紧去写我们的第一个程序吧。 我个人推荐使用 Visual Studio Code 作为go语言的编辑器,它支持自动补全,代码样式(如:高亮)和其他很多功能。 设置workspace 在开始编码之前,我们必须设置go语言的workspace。 在Mac、Linux 环境下,我们将workspace设置为 $HOME/go。我们可以使用 mkdir ~/go 命令创建该目录。 在Windows环境下,我们将workspace应被设置为C:\Users\YourName\go...阅读全文

博文 2018-01-15 14:34:39 tomato

golang执行外部命令超时处理

golang执行外部命令超时处理 不至于当前程序挂起,超时杀死超时进程。 doneChan := make(chan bool, 1) errorChan := make(chan error, 1) var cmd *exec.Cmd = exec.Command(name, newArg...) go func() { output, err := cmd.CombinedOutput() if err != nil { log.Printf("execute command failed, output: %s, error: %v\n", string(output), err) errorChan <- err return } doneChan <- true }() selec...阅读全文

博文 2020-05-17 02:32:42 CodingCode

ARTS 第6周

[TOC] Algorithm 807. Max Increase to Keep City Skyline 难度:[medium] [思路] 先求出每一行的最大值,以及每一列的最大值 每一个元素对应的值其实就是:该元素对应行的最大值和列的最大值中 小的那一个值 那这个值减去原来的值即可求出差值,把所有元素的差值相加即可 [参考代码] func maxIncreaseKeepingSkyline(grid [][]int) int { // 先求出每一行的最大值,以及每一列的最大值 rowMax := make([]int, len(grid[0])) columnMax := make([]int, len(grid[0])) lens := len(grid[0]) for i := 0...阅读全文

博文 2019-05-13 12:34:47 陈卧虫

简单聊聊VPC和SDN/NFV

摘要: 近几年,SDN和NFV是网络界的热点,那么阿里云是如何做SDN和NFV的呢?阿里云VPC又是如何实现的呢?和SDN和NFV是什么关系呢?本文将介绍相关内容。 注:本文部分内容来自网络搜索的整合 大家都知道,目前各大云服务商都提供了VPC(Virtual Private Cloud)产品,VPC已经成为用户使用云首先需要考虑的云产品,甚至是比ECS更早需要考虑的云产品,可以说是基础中的基础。首先,我们还是来简单介绍下什么是VPC?VPC又有什么好处?再来讨论我们今天的主题,即阿里云VPC和SDN及NFV的关系。 什么是VPC 可以从下面三点来理解VPC。 首先,VPC可以认为是一个网络容器。用户可以免费开通这个容器,开通后再在这个容器中...阅读全文

大数据架构师:日访问百亿级

日志数据是最常见的一种海量数据,以拥有大量用户群体的电商平台为例,双 11 大促活动期间,它们可能每小时的日志数量达到百亿规模,海量的日志数据暴增,随之给技术团队带来严峻的挑战。本文将从海量日志系统在优化、部署、监控方向如何更适应业务的需求入手,重点从多种日志系统的架构设计对比;后续调优过程:横向扩展与纵向扩展,分集群,数据分治,重写数据链路等实际现象与问题展开。我自己是一个从事了6年的Java全栈工程师,最近整理了一套适合2019年学习的Java\大数据资料,从基础的Java、大数据面向对象到进阶的框架知识都有整理哦,可以来我的主页免费领取哦。日志系统架构基准有过项目开发经验的朋友都知道:从平台的最初搭建到实现核心业务,都需要有日志平台为各种业务保驾护航。 如上图所示,对于一个简单的日志应...阅读全文

博文 2019-05-23 07:34:47 编程小世界

golang flag

1.命令行参数获取:命令行获得可通过os.Args参数, Args在os中定义为:var Args []string官方解释:Args hold the command-line arguments, starting with the program name.2.命令行解析golang 对命令行解析提供了flag包,按照功能可以分为以下三类:1.基本命令解析2.自定义参数解析3.解析外部命令字符串2.1 基本命令解析命令注册:通过flag.type(int,string等),提供命令名称, 默认参数值按照返回值的形式分为两种, 返回值为值的指针, 通过传入指针,解析值后写入传入的指针命令解析:调用flag.Parse()解析命令行以bool解析为例子:func main() { var ...阅读全文

博文 2019-01-10 17:31:36 haidonglin

百亿级日志系统架构设计及优化

本文将从海量日志系统在优化、部署、监控方向如何更适应业务的需求入手,重点从多种日志系统的架构设计对比;后续调优过程:横向扩展与纵向扩展,分集群,数据分治,重写数据链路等实际现象与问题展开。 日志系统架构基准 有过项目开发经验的朋友都知道:从平台的最初搭建到实现核心业务,都需要有日志平台为各种业务保驾护航。 图片.png 如上图所示,对于一个简单的日志应用场景,通常会准备 master/slave 两个应用。我们只需运行一个 Shell 脚本,便可查看是否存在错误信息。 随着业务复杂度的增加,应用场景也会变得复杂。虽然监控系统能够显示某台机器或者某个应用的错误。 然而在实际的生产环境中,由于实施了隔离,一旦在上图下侧的红框内某个应用出现了 Bug,则无法访问到其对应的日志,也就谈不上将日志取出...阅读全文

Help!!!如何使用os/exec包在执行外部命令时反复地输出获取到的结果?

![p1.png](https://static.studygolang.com/171101/c9ee545ae77e5784c2859bd9acbae33d.png) 如图,如何循环让下图中的leela接受每一条命令就输出一次获取到的结果? 试了几次,无论我加多少条新的cmd.Stdin = strings.NewReader("xxxxxxx")上去 都只会打印cmd.Run()的下一行,其它全部不执行 所以我非常不解,怎么才能让我后面每加一条新的io.reader命令 都会输出一次...阅读全文

2018-08-19 说一说现在的Decentralized Storage的传输

golang是特别不适合拿来做应用层可靠协议开发的语言。所有的可靠协议都依赖于连接状态,在讲究并发的场景下,所有的状态都依赖于事件,所有的事件都依赖于内核文件描述符,问题是,在可靠场景下,我们常常需要将一个端口用作一块网卡,一块网卡可以有65536个描述符并发处理事件,一个端口却只有一个描述符,这一个描述符需要模拟出65536个描述符的事件处理效能,这本来就是令人头大的问题。golang本身的协程机制----固然golang和大多数的协程实现不尽一致----导致每一个事件的处理都应短暂,且事件之间应是无状态的,如果对于可靠协议各阶段的业务与事件理解不到位,极其容易实现出资源有余,而协议效能低下的情况。为什么要有上面一段呢?因为目前的Sia,IPFS,Storj,Swarm都是golang实现...阅读全文

时序数据库 InfluxDB(四)

相关文章:时序数据库 InfluxDB(一)时序数据库 InfluxDB(二)时序数据库 InfluxDB(三)时序数据库 InfluxDB(四)时序数据库 InfluxDB(五)时序数据库 InfluxDB(六) 存储引擎 InfluxDB 数据的写入如下图所示: 所有数据先写入到 WAL( Write Ahead Log )预写日志文件,并同步到 Cache 缓存中,当 Cache 缓存的数据达到了一定的大小,或者达到一定的时间间隔之后,数据会被写入到 TSM 文件中。 为了更高效的存储大量数据,存储引擎会将数据进行压缩处理,压缩的输入和输出都是 TSM 文件,因此为了以原子方式替换以及删除 TSM 文件,存储引擎由 FileStore 负责调节对所有 TSM 文件的访问权限。 Comp...阅读全文

LINUX, GO GO GO!

计算机组成:CPU,存储设备,I/O设备,内存 linux发行版:slackware:SUSE Linux Enterprise Server (SLES)OpenSuse桌面debian: ubuntu, mintredhat: RHEL: RedHat Enterprise LinuxCentOS:兼容RHEL的格式Fedora:每6个月发行一个新版本ArchLinux:轻量简洁Gentoo:极致性能, 不提供传统意义的安装程序Linux的哲学思想:一切皆文件 在linux系统中,目录,配置文件,硬盘等等都是用文件来表示的 linux命令:pwd:显示当前工作目录echo:回显ifconfig:查看网卡信息tty:查看当前终端startx:切换图形界面export:设置或者显示系统环境变...阅读全文