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

【币码翁】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星际特工

【互联网早报】2017.11.28

## 国内新闻 1.用游戏化教学实现“零成本”获客,「编玩边学」获数千万元Pre-A轮融资 http://36kr.com/p/5104910.html 2.21个月之后,聚美优品宣布撤回私有化,股价上涨13% http://www.donews.com/news/detail/3/2976627.html 3.十分到家获国美1.05亿投资 并达成战略合作 http://www.pintu360.com/a40418.html 4.支付宝推免押金出海 芝麻分700以上可境外免押租车 http://www.donews.com/news/detail/3/2976616.html 5.一嗨租车接到私有化要约 较上周收盘价溢...阅读全文

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网络,如今进化到领先的第三代全球云上企业网的历史进程。他所带领的团队历时近十年...阅读全文

对于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

Docker容器网络指南

尽管媒体对容器技术存在大肆宣传,但是,应用程序打包技术仍在不断发展之中,特别是与网络有关的。 在过去的一年里,虽然Docker容器自身在网络功能方面有着长足的进步。但与此同时,Docker也构建了一个插件架构,允许更先进的网络管理工具控制容器。 同时,众多创业公司也已经开发出定制的平台来管理容器,而传统的供应商,如思科和VMware使他们的网络管理工具控制容器。因此,最初的容器网络挑战开始得到解决,但还有更多的工作要做。 ### 基本挑战 一直都存在容器网络问题。容器托管在相同的物理服务器上可以相互作用和共享数据。但Docker开发者最初没有能力将容器从一个主机迁移到另一个主机,或在不同的主机上将一个容器到另一个容器建立连接。 “跨容器通讯一直是最大挑战,”技术...阅读全文

阿里云携领先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

golang GPIO编程

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

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 容器时代

理解Docker跨多主机容器网络

在Docker 1.9 出世前,跨多主机的容器通信方案大致有如下三种: 1、端口映射 将宿主机A的端口P映射到容器C的网络空间监听的端口P’上,仅提供四层及以上应用和服务使用。这样其他主机上的容器通过访问宿主机A的端口P实 现与容器C的通信。显然这个方案的应用场景很有局限。 2、将物理网卡桥接到虚拟网桥,使得容器与宿主机配置在同一网段下 在各个宿主机上都建立一个新虚拟网桥设备br0,将各自物理网卡eth0桥接br0上,eth0的IP地址赋给br0;同时修改Docker daemon的DOCKER_OPTS,设置-b=br0(替代docker0),并限制Container IP地址的分配范围为同物理段地址(–fixed-cidr)。重启各个主机的Docker Daemon后,处于与宿主机在同一...阅读全文

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

【预警】新型勒索病毒来袭,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....阅读全文

Go 的插件化开发 Pingo

Pingo 是一个用来为 Go 程序编写插件的简单独立库,因为 Go 本身是静态链接的,因此所有插件都以外部进程方式存在。Pingo 旨在简化标准 RPC 包,支持 TCP 和 Unix 套接字作为通讯协议。当前还不支持远程插件,如果有需要,远程插件很快会提供。 使用 Pingo 创建一个插件非常简单,首先新建目录,如 "plugins/hello-world" ,然后在该目录下编写 main.go:

// Always create a new binary
package main

import "github.com/dullgiulio/p...阅读全文

开源项目 2015-04-27 16:00:00 dullgiulio

使用SWIG桥接Golang和Windows DLL

最近看了下Go语言,利用Dynamsoft Barcode SDK做了一个简单的Golang条形码扫描。这里分享下如何使用SWIG来快速封装底层C/C++接口。 参考原文:How to Use SWIG to Link Windows DLL with Golang 作者:Xiao Ling 翻译:yushulx 下载安装 mingw-w64 SWIG Go Dynamsoft Barcode Reader 如何使用SWIG实现Cgo封装 运行cmd.exe,设置GOPATH: set GOPATH=f:\go-project set DBR= 创建一个package: mkdir %GOPATH%\src\github...阅读全文

博文 2016-01-16 13:00:02 yushulx

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

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

Docker源码分析(七):Docker Container网络 (上)

1.前言(什么是Docker Container) 如今,Docker技术大行其道,大家在尝试以及玩转Docker的同时,肯定离不开一个概念,那就是“容器”或者“Docker Container”。那么我们首先从实现的角度来看看“容器”或者“Docker Container”到底为何物。 逐渐熟悉Docker之后,大家肯定会深深得感受到:应用程序在Docker Container内部的部署与运行非常便捷,只要有Dockerfile,应用一键式的部署运行绝对不是天方夜谭; Docker Container内运行的应用程序可以受到资源的控制与隔离,大大满足云计算时代应用的要求。毋庸置疑,Docker的这些特性,传统模式下应用是完全不具备的。然而,这些令人眼前一亮的特性背后,到底是谁在“作祟”,到...阅读全文

博文 2015-03-29 20:00:57 孙宏亮

使用 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 养码场

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

Socket 网络隧道 qTunnel

qTunnel 是 getqujing.com 使用的安全套接字隧道,是 [Stunnel/stud](http://www.oschina.net/p/stud) 的替代品。qTunnel 使用 Go 编写,为了提高数据传输率,它去掉了认证设置和 SSL 握手。         使用:

$ ./bin/qtunnel -h
Usage of ./bin/qtunnel:
    -backend="127.0.0.1:6400": host:port of the backend
    -clientmode=false: if running at ...阅读全文

近期IPFS项目动态大汇总

近期,IPFS项目进行的如花如茶,小编给大家汇总下IPFS最近动态。议实验室于5月7~8日举办了 IPFS Pinning Submit。由于疫情原因,这次会议是线上举行。今日得闲,看了几个视频。IPFS 0.5.0版本发布,进展很大,本文做一个简单梳理。主要内容来自IPFS Project Lead - Molly Mackinlay。IPFS生态日渐完善 IPFS生态近期有比较大的发展,从内容分享、社交网络、身份服务、区块链应用、金融电子化等等各个方面。非常重要的是,目前有比较多的浏览器开始支持IPFS,包括Firefox, Chrome, Brave, Opera 等。有一些系统级的支持也出现了, 前看上图的左上角。IPFS 0.5 改进巨大IPFS 0.5 版是IPFS 到目前为止最...阅读全文

博文 2020-05-26 23:32:44 IPFS布道者博辉亚新

【IPFS】IPFS最新进展

协议实验室于5月7~8日举办了 IPFS Pinning Submit。由于疫情原因,这次会议是线上举行。今日得闲,看了几个视频。IPFS 0.5.0版本发布,进展很大,本文做一个简单梳理。主要内容来自IPFS Project Lead - Molly Mackinlay。 IPFS生态日渐完善 IPFS生态近期有比较大的发展,从内容分享、社交网络、身份服务、区块链应用、金融电子化等等各个方面。 非常重要的是,目前有比较多的浏览器开始支持IPFS,包括Firefox, Chrome, Brave, Opera 等。有一些系统级的支持也出现了, 前看上图的左上角。 IPFS 0.5 改进巨大 IPFS 0.5 版是IPFS 到目前为止最大的一次更新。这次更新主要在IPFS的效率、安全和更具弹性...阅读全文

博文 2020-05-25 23:32:49 胡飞瞳

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 进击的扣子

至联云讲解《IPFS 0.5版本改进较大,已出现系统级支持》

协议实验室于5月7~8日举办了 IPFS Pinning Submit。由于疫情原因,这次会议是线上举行。今日得闲,看了几个视频。IPFS 0.5.0版本发布,进展很大,本文做一个简单梳理。主要内容来自IPFS Project Lead - Molly Mackinlay。 IPFS生态日渐完善IPFS生态近期有比较大的发展,从内容分享、社交网络、身份服务、区块链应用、金融电子化等等各个方面。非常重要的是,目前有比较多的浏览器开始支持IPFS,包括Firefox、Chrome、Brave、Opera 等。有一些系统级的支持也出现了, 前看上图的左上角。IPFS 0.5改进巨大 IPFS 0.5版是IPFS 到目前为止最大的一次更新。这次更新主要在IPFS的效率、安全和更具弹性方面得到巨大提升...阅读全文

博文 2020-05-30 03:32:50 雨中的泡面

理解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

设计模式-02-桥接模式

桥接模式概述桥接模式将抽象部分与它的实现部分分离,使他们都可以独立地变化。通俗地说,桥接就是在不同的东西之间搭一个桥,让它们能够连接起来,可以相互通讯和使用。在桥接模式中的桥接是在被分离的抽象部分和实现部分之间搭一个桥。为了达到让抽象部分和实现部分分离开,而且在抽象部分实现的时候,还是需要使用具体的实现,可以使用桥接模式来实现。这里的桥接,就是让抽象部分拥有实现部分的接口对象,就桥接上了。 实现使用发送信息的例子来实现桥接模式。信息的发送方式如:手机信息、普通信息、Email信息作为抽象部分,信息的分类如:普通信息、紧急信息、加急信息作为具体实现部分。 总结与分析桥接模式是用来解决有两个变化纬度的情况下,如何灵活地扩展功能的一个很好的方案。其实,桥接模式主要是把继承改成了使用对象组合,从而把...阅读全文

博文 2019-04-10 20:34:40 疯狂的卡卡

vmware上安装linux过程记录

以前的电脑上安装过vmware+redhat,但是奈何电脑太老,配置太低,打开的时候超级卡,没法用。换了电脑后,再装上玩玩,故此记录一下安装过程。需要安装的小伙伴可以在此获取包然后按此步骤安装。 1、创建新的虚拟机 -> 自定义安装 2、选择虚拟机兼容版本,选择最高的就好 3、选择安装系统的方式,我们选择稍后安装 4、选择安装的系统类型,系统为32位的就选32位的(redhat enterprise linux 7),系统为64位的就安装64位的 5、设置安装的虚拟机系统名称以及安装的虚拟机存放路径,路径自己定义(建议不要放到C盘) 6、为虚拟机分配处理器(cpu)个数和每个cpu核数 7、为虚拟机分配内存大小 8、选择网络类型,这里使用桥接模式,安装好后会利用该方式上网 9、选择使用网络类...阅读全文

博文 2019-10-20 12:02:43 小碗汤

golang 管道

senderOnly := make(chan<- int) // 只能用来发送(管道的入口,只进不出) receiverOnly := make(<-chan int) // 只能用来接收(管道的出口,只出不进) unbuffer := make(chan int) // 无缓冲可收发 buffer := make(chan int, 2) // 无缓冲可收发 println(senderOnly, receiverOnly, unbuffer, buffer) 打印的是四个内存地址, 发现方法println, 和fmt.Println 区别在于一个输出到stderr,另一个是stdout,一个有返回值,另外一个没有。一个用fmt包支持,另外一个可能将来就没有了。 使用场景1 等待goro...阅读全文

博文 2020-05-04 13:32:40 蛐蛐儿阳

回望2019年

导语 眨眼间2019年过去了,想写个总结,坐在这里却不知道从何说起,那就选取几个片段 春节回家(二月) 这几年回家都是同一班次的火车,第一天早上9点多的火车,第二天早上6点到十堰,然后姐姐来接,外面天还没亮,但是火车站已经是灯火通明,人潮人海,都是回家过年的人,煞是热闹。司机们在车站外的广场上人群中来回游走寻找客人,刚出站的旅客也在寻找合适的车。我背一个包,提一个包站在相同的地方等待熟悉的车牌号出现,不多时总是有司机过来询问,我笑着答道:”有人接。“很平常的回答,内心却是满满的欢喜,归家的车站有人接是一件多么幸福的事儿。 火车从起点北京到终点十堰,需要行进20个小时,停靠的站点很多,车启动了,我要站在窗口良久,看着车窗外飞速略过的高楼大厦、田野房屋、高山河流,就那么静静地看着。”回家的路,数...阅读全文

博文 2020-01-05 13:32:43 简单的破小孩儿

docker(3):配置rancher网络环境,下载启动tomcat容器

1,关于rancher 上次搭建好了rancher的环境但是网络啥的没有配置好。 没有成功创建容器。这次搞定了,原来是网络的问题。 之前virtualbox安装的coreos没有配置ip,造成网络访问不到。 agent没有注册成功,没有主机环境,创建不了docker应用 。 2,配置网络 如果没有配置virtualbox的网络环境的时候,网络是nat的环境,这个时候只要将主见设置成 10.0.2.15 即可。 这个是virtualbox分配的nat的ip,但是这个网络是不能和外接通讯的。 只能使用端口转发,如果要将coreos放到内网环境中,需要使用桥接网络: 然后配置IP: vi /etc/systemd/network/static.network #编辑文件: [Match] Name...阅读全文

博文 2017-07-12 10:25:06 freewebsys

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

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 陈卧虫

大话设计模式 -- Golang实现

DesignPattern Use GO language to achieve 23 design patterns 该项目是拜读《大话设计模式》后,学习Golang语言实现的,有很多不足之处,有待完善 有些模式是根据UML图编写的基本框架,有些是基于特定的环境下编写的实例 创建型模式 Abstract Factory抽象工厂模式:提供一个创建一系列相关或者相互依赖对象的接口,而无需指定他们具体的类 Builder建造者模式:将一个复杂对象的构建与它表示分离,使得同样的构建过程可以创建不同的表示 Factory Method工厂方法模式:定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法使一个类的实例化延迟到其子类 Prototype 原型模式:用原型实例指定创建对象的种类,并...阅读全文

博文 2019-03-27 21:35:24 Golang语言社区

简单聊聊VPC和SDN/NFV

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

DockOne技术分享(五):Docker网络详解及Libnetwork前瞻

【编者的话】本文主要介绍了Docker网络的基础。紧接着讨论了网络配置工具pipework的使用,以及跨主机通信的几种方法。最后介绍了Docker的网络新项目Libnetwork。 网络基础Docker现有的网络模型主要是通过使用Network namespace、Linux Bridge、Iptables、veth pair等技术实现的。 Network namespace:Network namespace主要提供了关于网络资源的隔离,包括网络设备、IPv4和IPv6协议栈、IP路由表、防火墙、/proc/net目录、/sys/class/net目录、端口(socket)等。Linux Bridge:功能相当于物理交换机,为连在其上的设备(容器)转发数据帧。如docker0网桥。Ipta...阅读全文

博文 2017-06-25 14:53:04 冯明振

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

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

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

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

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

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

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