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

自助建站系统有什么优势

“自助”这个词可能很多人会第一时间想到的是衣食住行方面的,对于互联网来说,“自助”可能更多被运用在网站功能、软件方面。如果做网站也变得“自助”起来了,会变成怎么样呢?今天我给大家说说网站建设怎么自助化,自助建站系统有什么优势。 自助建站系统的出现时是为了方便帮助中小型企业、个人自助快速的建设网站。便捷、快速、简单的建站方式让你在建设网站过程中,节约大量的人力、物力、资金。现在越来越多企业想要通过网络为自己带来效益,从而搭建网络营销渠道,网络营销渠道的核心就是建设企业网站,通过网站来开拓自己的渠道。 为什么要选择自助建站系统呢? 1.自助建站就是通过一套完善、智能的系统,让不会建设网站的人通过一些非常非常简单的操作就能轻松建立自己的网站。自助建站一般是将已经做好的网站...阅读全文

电脑换IP-更换内网ip地址

要改公网的的IP首先是你有PPTP的帐号密码服务器地址,有了后点击图一建立新的网络连接,点击连接到工作区。点击连接到我的,输入服务器的地址点击下一步。输入帐号密码后点击下一步,接着点击立即连接即可。如果你拥有的是国外的帐号,那么连接后就是国外的IP地址了。等于是更换了公网的IP地址...阅读全文

博文 2019-03-06 10:41:18 xiniuxiaoniu

简单聊聊VPC和SDN/NFV

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

监控io性能、free、ps、查看网络状态和linux抓包工具

监控io性能、free、ps、查看网络状态和linux抓包工具 一、监控io性能 1、iostat -x 磁盘使用 1 关注最后一列的数值,数值大说明磁盘有异常 2、iotop 磁盘使用 安装:yum install -y iotop 2 二、free命令 查看内存使用多少,剩余多少请看第二行的数据。另外我们还可以加-m或-h 或者-g选项分别以M或G为单位打印内存使用状况: 常用: free -h 3 三、ps命令 ps查看系统进程 用法:ps aux 或 ps -elf 4 PID :进程的id,想终止某一个进程,则用 ‘kill 进程的pid 有时并不能杀掉,则需要加一个-9选项了 kill -9 进程pid STAT :表示进程的状态 D:不能中断的进程(通常为IO) R: 正在运行...阅读全文

博文 2019-01-09 22:34:41 Golang语言社区

自助建站系统的优势所在

自助建站系统顾名思义就是能够自己进行网站建设,不需要依靠程序员与设计师来进行网站制作与建设。为了解决更多公司企业、各类行业与个人进行网站建设而不懂得编程代码,自助建站系统诞生了。自助建站系统通俗来讲就是给不懂制作网页与程序代码使用的一套系统,通过这套系统能够简单的制作出一个网站,不再需要复杂的代码程序。很多人不懂制作网站,觉得找网站建设公司制作一个网站费用高,所以会选择制作一个微网站。 自助建站系统的优势: 1、 建站速度快 建站宝盒自助建站系统建设一个网站约半小时至三小时即可快速搭建,随时可以更改网站内容,传统模式建站约1-2个月左右,在建站速度上,自助建站系统大大提升。 2、 简单易用 自助建站系统的最大的优势在于它简单易用,不管你是否懂程序或者网页设计...阅读全文

docker-proxy存在合理性分析

访问docker容器网络 熟悉docker的朋友也许都知道在使用docker默认情况下为所有的容器准备了一个网络(docker0),并且可以通过-p参数将将主机上某个端口映射到容器内部的固定端口上。例如: docker run -name zxy-nginx -itd -p 8080:80 mynginx:v1 /bin/bash 上面命令运行后,可以在主机上通过docker ps命令查看到多了一个叫zxy-nginx的容器(上例中假设我们主机上有一个叫mynginx:v1的nginx 容器镜像)。且docker在主机上将任意网络接口的8080访问导入到zxy-nginx容器内部。 # docker ps CONTAINER ID. IMAGE. COMMAND. CREATED. STAT...阅读全文

博文 2019-07-20 20:32:39 marshalzxy

千城千站为你解决网络营销四大难题

互联网技术应用的普及以及发展,网络营销的优势和价值已经被社会各界认同,同时网络营销成为企业实践的热点,企业实施网络营销目标,以满足客户的需求,而流量少,收录低,排名低,展现差,是网络运营中普遍遇到的难题。 传统的网络推广方法不外乎就是不断地进行外链建设、原创内容,更新关键词,这种做法的确有效,但仍存在着工作效率低、见效时间长、竞争力弱、效果难以保障等诸多弊端,并不能更好的解决这些问题,到底有没有什么解决的办法呢? 答案的是肯定的,今年初,市面上推出了一款全新的SEO智能站群优化系统——千城千站,它是一款专为搜索引擎自然收录和排名优化目标定制开发的智能站群推广系统,运营高智能AI算法实时同步创建千个推广子站。 ![7.jpg](https://static.studygo...阅读全文

使用BSN一天学会区块链开发-golang篇

作者:时跃堂,曹国波《使用BSN 一天学会区块链开发》系列文章可以帮助具有一定开发经验的开发者,在不需要学习区块链开发语言的情况下,在区块链服务网络(BSN)上完成区块链应用的开发。本文主要介绍用户如何通过链下业务系统使用golang语言与链上数据进行交互而进行的相关操作流程说明,但在说明链下业务系统与链上进行数据交互之前,首先对用户如何在区块链服务门户注册、应用发布服务、应用服务参与以及应用管理进行一一说明。注册和登录打开区块链服务网络网址:www.bsnbase.com, 点击登录页面中的【内测申请】按钮进入内测申请页: 根据页面中的提示填写内测申请信息并提交内测申请,内测申请用户分为个人用户和企业用户两种,申请人应根据自己的用户类型任选一种进行申请, 内测申请提交后需等待系统审核,待系...阅读全文

博文 2019-12-10 17:33:13 区块链服务网络BSN

tshark + Elasticsearch 打造流量回溯分析系统

tshark是网络分析工具wireshark下的一个工具,主要用于命令行环境进行抓包、分析,尤其对协议深层解析时,tcpdump难以胜任的场景中。本系列文章将整理介绍tshark相关内容。本文将介绍与tshark相关的流量解决方案。 tshark + elastic stack 利用tshark,不仅可以对现有的pcap文件进行分析,由于可以输出其他格式,也就可以结合ES的强大搜索能力,达到对数据报文进行记录、分析处理的能力,可以实现回溯分析,结合kibana可视化工具,甚至达到实时可视化监控。 elastic stack全家桶 性能一直被诟病,后来另起炉灶,针对采集使用golang构建出一套beats,用于不同的采集场景。其中针对网络流量,开发出packetbeat。 packetbeat...阅读全文

微服务指南走北(一):微服务是什么

微服务“Microservices”已经成为软件架构最流行的热词之一。网络上看到很多关于微服务的文章,但是感觉很多离我们还很遥远,并且没有找到多少真正在企业场景中应用的实例。此处省略一万字~~~~于是想要将自己最近一段时间使用微服务以及通过看大师们的文章的所思所想梳理出来,分享出来,以供大家参考(热切欢迎大家拍砖,头破血流最好)。 一、什么是微服务 记得刚看到微服务的时候,注意点在微字上,然后才是服务,初步理解为:将整块儿的服务拆分成多个类似工具类的微小web服务,供其他服务调用,每个服务应该是极其微小的,就像各个零件一样,各司其职,拼装成一个伟大的服务群 由于自己是技术出身,对理论并不是很重视,于是基于初期的理解,就向着“微服务”(这里要打引号,不然会被拍板砖)迈进。先是实现了微服务的多种...阅读全文

博文 2017-03-15 04:01:04 刘迎光

使用BSN一天学会区块链开发-golang篇

作者: 时跃堂,曹国波 《使用BSN 一天学会区块链开发》系列文章可以帮助具有一定开发经验的开发者,在不需要学习区块链开发语言的情况下,在区块链服务网络(BSN)上完成区块链应用的开发。本文主要介绍用户如何通过链下业务系统使用golang语言与链上数据进行交互而进行的相关操作流程说明,但在说明链下业务系统与链上进行数据交互之前,首先对用户如何在区块链服务门户注册、应用发布服务、应用服务参与以及应用管理进行一一说明。注册和登录打开区块链服务网络网址:www.bsnbase.com, 点击登录页面中的【内测申请】按钮进入内测申请页:根据页面中的提示填写内测申请信息并提交内测申请,内测申请用户分为 个人用户和 企业用户两种,申请人应根据自己的用户类型任选一种进行申请, 内测申请提交后需等待系统审核...阅读全文

博文 2019-12-11 16:34:46 wx5da979d83cf0a

以太坊源码分析—p2p节点发现与协议运行

前言 p2p(peer to peer)负责以太坊底层节点间的通信,主要包括底层节点发现(discover)和上层协议运行两大部分。 节点发现 节点发现功能主要涉及 Server Table udp 这几个数据结构,它们有独自的事件响应循环,节点发现功能便是它们互相协作完成的。其中,每个以太坊客户端启动后都会在本地运行一个Server,并将网络拓扑中相邻的节点视为Node,而Table是Node的容器,udp则是负责维持底层的连接。这些结构的关系如下图 Server p2p/server.go type Server struct { PrivateKey *ecdsa.PrivateKey Protocols []protocol StaticNodes[] *discover.Node ...阅读全文

博文 2018-11-13 19:34:40 187J3X1

Go 其他特性

Go 其他特性 为了保持 Go 语法介绍的完整性,有一些 Go 独有的特性,并没有在前面的章节介绍。说 Go 独有的特性其实并不恰当,因为其他语言并非在语言层面定义上下面的几个特性。 本节想介绍的关键字与函数包括 defer, append, close, make, new, copy, delete,只有第一个是关键字,后6个都是内置函数。 defer defer 是 Golang 中的广义的通用析构函数。析构函数是在Java,C++类中所定义的一类在类被销毁时执行收尾的函数。什么叫收尾,就是类似于离家出门前总是要锁门;下班了总是要打卡这样一类,默认都需要在结束时做的事情。在函数结束时,哪些工作需要收尾呢? 打开的文件要关闭,不管发生读写任何操作; 打开的网络连接要关闭,不管你访问了哪些...阅读全文

博文 2018-11-26 17:34:44 PRE_ZHY

Master the game of Go without human knowledge

A long-standing goal of artificial intelligence is an algorithm that learns, tabula rasa, superhuman proficiency in challenging domains. Recently, AlphaGo became the first program to defeat a world champion in the game of Go. The tree search in AlphaGo evaluated positions and selected moves using deep neural networks. These neural networks were tra...阅读全文

博文 2017-12-03 06:01:01 myfather103

golang调用原生epoll引起event loop阻塞问题

前言: golang标准库net很优秀,可以让开发者轻易构建非阻塞网络服务,但开发爽快带来的问题协程数加大,比如在net/http里一个连接两个协程,grpc算是业务和keepalive心跳是四个协程,数据的进出是通过channel传输。 golang netpoll抽象了epoll事件的调用,借助runtime的gopark&goready实现就绪协程的调度,让应用层用同步方法构建io异步的网络应用。 该文章原文地址 http://xiaorui.cc/archives/6758 问题: 那么如何规避netpoll的协程太多的问题? 业界通用的方案是通过原syscall epoll实现网络应用,比如evio、gnet库。我先前使用过evio构建过不少服务,但当你的业务调用含有阻塞逻辑时会使...阅读全文

博文 2020-03-21 21:54:34 rfyiamcool

net包--阅读摘记

简介 在net包中有很多的结构体,各种函数各种方法。我自己决定总体上看一遍,然后做个导图。 复制粘贴来源:https://studygolang.com/stati... 常量 const ( IPv4len = 4 IPv6len = 16 ) 全局变量 常用的IPv4地址。 var ( IPv4bcast = IPv4(255, 255, 255, 255) // 广播地址 IPv4allsys = IPv4(224, 0, 0, 1) // 所有主机和路由器 IPv4allrouter = IPv4(224, 0, 0, 2) // 所有路由器 IPv4zero = IPv4(0, 0, 0, 0) // 本地地址,只能作为源地址(曾用作广播地址) ) 很多OpError类型的错误会包...阅读全文

博文 2019-08-12 20:02:39 l1nkkk

Tensorflow快餐教程(1) - 30行代码搞定手写识别

去年买了几本讲tensorflow的书,结果今年看的时候发现有些样例代码所用的API已经过时了。看来自己维护一个保持更新的Tensorflow的教程还是有意义的。这是写这一系列的初心。 快餐教程系列希望能够尽可能降低门槛,少讲,讲透。 为了让大家在一开始就看到一个美好的场景,而不是停留在漫长的基础知识积累上,参考网上的一些教程,我们直接一开始就直接展示用tensorflow实现MNIST手写识别的例子。然后基础知识我们再慢慢讲。 Tensorflow安装速成教程 由于Python是跨平台的语言,所以在各系统上安装tensorflow都是一件相对比较容易的事情。GPU加速的事情我们后面再说。 Linux平台安装tensorflow 我们以Ubuntu 16.04...阅读全文

Go36-47-基于HTTP协议的网络服务(net/http)

基于HTTP协议的网络服务 HTTP协议是基于TCP/IP协议栈的,并且是一个面向普通文本的协议。原则上,使用任何一个文本编辑器,都可以写出一个完整的HTTP请求报文。只要搞清楚了请求报文的头部(header、请求头)和主体(body、请求体)应该包含的内容。 如果只是访问基于HTTP协议的网络服务,那么使用net/http包中的程序实体会非常方便。 http.Get函数 调用http.Get函数,只需要传递给它一个URL即可: package main import ( "fmt" "net/http" "os" ) func main() { resp, err := http.Get("http://baidu.com") if err != nil { fmt.Fprintf(os....阅读全文

博文 2019-02-10 22:35:16 骑士救兵

​使用BSN一天学会区块链开发-C#篇

作者:曹国波《使用BSN一天学会区块链开发》系列文章可以帮助具有一定开发经验的开发者,在不需要学习区块链开发语言的情况下,在区块链服务网络(BSN)上完成区块链应用的开发。本文主要介绍用户如何通过链下业务系统使用C#语言与链上数据进行交互而进行的相关操作流程说明,但在说明链下业务系统与链上进行数据交互之前,首先对用户如何在区块链服务门户注册、应用发布服务、应用服务参与以及应用管理进行一一说明。注册和登录打开区块链服务网络网址:www.bsnbase.com, 点击登录页面中的【内测申请】按钮进入内测申请页: 根据页面中的提示填写内测申请信息并提交内测申请,内测申请用户分为个人用户和企业用户两种,申请人应根据自己的用户类型任选一种进行申请, 内测申请提交后需等待系统审核,待系统审核通过后将向申...阅读全文

博文 2020-01-08 19:33:22 区块链服务网络BSN

2019回顾篇

19年在nginx,redis,mysql,golang,php方面有了自己的领悟,但是感觉一眼看去又道不出所以然,感觉是不是要总结点什么了,以后技术方案选型时候才能清晰的道出所以然。 nginx nginx深入配置篇章教程 看了很多nginx配置文章,还是以实际场景来划分把 0.了解nginx的模块划分的配置结构思想 1.分别以tcp和unix的通讯方式配置 nginx + php-fpm 2.nginx配置静态资源服务器 3.nginx配置location根据不同的路径进行转发到不同项目目录 4.ngixn配置负载均衡(ip模式,权重模式...) 5.nginx 并发场景优化 nginx 结构分析篇 ... #全局块。 events { #events块 ... } http #http...阅读全文

Golang学习基础命令

链客,专为开发者而生,有问必答!此文章来自https://www.liankexing.com/notetwo/8144,未经允许,拒绝转载Golang学习-基础命令一、go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译成临时文件,然后再运行这个临时文件,临时文件可能包括可执行文件和归档文件。这些临时文件如果不做命令标记,会在被运行后被删除。下面是go run命令常用的标记:–a : 强制编译相关代码文件,无论代码文件是否有更新 –n : 打印编译过程中所需要的命令,但是不执行它 –p N : 并行编译,其中N为CPU逻辑个数 –v : 列出被编译的代码包名称 –work : 显示编译时创建的临时工作目录,注意这些目录并不会删除 –x ...阅读全文

博文 2019-05-10 13:35:05 链客区块链技术问答社区

区块链入门教程以太坊源码分析p2p-dial.go源码分析

dial.go在p2p里面主要负责建立链接的部分工作。 比如发现建立链接的节点。 与节点建立链接。 通过discover来查找指定节点的地址。等功能。dial.go里面利用一个dailstate的数据结构来存储中间状态,是dial功能里面的核心数据结构。// dialstate schedules dials and discovery lookups.// it get's a chance to compute new tasks on every iteration// of the main loop in Server.run.type dialstate struct {maxDynDials int //最大的动态节点链接数量ntab discoverTable //disco...阅读全文

博文 2018-10-25 18:35:11 xdl区块链

Windows ECS上如何以正确的姿势配置FTP Server使用NAS

摘要: 如何在Windows ECS上正确配置FTP,使FTP用户可以访问ECS上挂载的NAS文件系统。 以下配置以Windows2008 + FileZillaServer为例,介绍如何在Windows ECS上配置FTP服务器,并将NAS文件系统输出给FTP的用户。 (以下内容假设用户已经安装FileZillaServer) 第一步:配置FTP Service以指定用户运行。 由于用户挂载NAS的一般是当前登录用户,比如Administrator,但默认FileZillaServer是以”SYSTEM”用户运行,Windows默认对于挂载的NAS映射的盘符(比如Z:)是对不同用户隔离的,因此为了让FTP服务程序可以访问NAS,需要配置FTP服务以相同的用户...阅读全文

Go36-46-访问网络服务(socket)

访问网络服务 这篇开始讲网络编程。不过网络编程的内容过于庞大,这里主要讲socket。而socket可以讲的东西也太多了,因此,这里只围绕Go语言介绍一些它的基础知识。 IPC方法 所谓socket,是一种IPC(Inter-Process Communication)方法,可以被翻译为进程间通信。顾名思义,IPC这个概念(或者说规范)主要定义的是多个进程之间,相互通信的方法。这些方法主要包括: 系统信号(signal),os包和os/signal包有针对系统信号的API 管道(pipe),os.Pipe函数可以创建命名管道,os/exec包支持另一类管道:匿名管道 套接字(socket),net包中提供支持 文件锁(file lock) 消息队列(message queue) 信号灯(se...阅读全文

博文 2019-02-09 08:35:10 骑士救兵

网络连接超时

服务端 1 .GO实现超时的网络原语:Deadline,Deadline是一个绝对时间值,当达到这个时间段时,所有io操作都会失败,返回超时错误 2 .Deadline不是超时机制,仅仅时一个绝对时间值,不会自动重置,需要每次手动设置 3 .ReadTimeout,WriteTimeout,可以在这两个地方设置超时方法 srv := &http.Server{ ReadTimeout: 5 * time.Second, WriteTimeout: 10 * time.Second, } 4 .ReadTimeout 1 .从接受Accept到request Body完全被读取,如果不读取body,那么时间截止到读到header为止.内部实现就是在Accept立即调用SetReadDeadli...阅读全文

博文 2019-10-15 23:32:49 aside section ._1OhGeD

Golang学习-基础命令

链客,专为开发者而生,有问必答!此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。 Golang学习-基础命令11一、go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译成临时文件,然后再运行这个临时文件,临时文件可能包括可执行文件和归档文件。这些临时文件如果不做命令标记,会在被运行后被删除。下面是go run命令常用的标记:–a : 强制编译相关代码文件,无论代码文件是否有更新 –n : 打印编译过程中所需要的命令,但是不执行它 –p N : 并行编译,其中N为CPU逻辑个数 –v : 列出被编译的代码包名称 –work : 显示编译时创建的临时工作目录,注意这些目录并不会删除 –x...阅读全文

博文 2019-06-28 13:02:39 链客区块链技术问答社区

爬虫性能分析及优化

前两天我们写了单任务版爬虫爬取了珍爱网用户信息,那么它的性能如何呢? 我们可以通过网络利用率看一下,我们用任务管理器中的性能分析窗口可以看到下载速率大概是保持在了200kbps左右,这可以说是相当慢了。 我们针对来通过分析单任务版爬虫的设计来看下: 从上图我们可以看出,engine将request从任务队列取出来,送到Fetcher取获取资源,等待数据返回,然后将返回的数据送到Parser去解析,等待其返回,把返回的request再加到任务队列里,同时把item打印出来。 慢就慢在了没有充分利用网络资源,其实我们可以同时发送多个Fetcher和Pareser,等待其返回的同时,可以去做其他的处理。这一点利用go的并发语法糖很容易实现。 上图中,Worker是Fetcher和Parser的合并...阅读全文

Golang学习-基础命令

链客,专为开发者而生,有问必答!此文章来自[区块链技术社区](https://www.liankexing.com),未经允许拒绝转载。 、 Golang学习-基础命令一、go run 用于运行命令源码文件,只能接收一个命令源码文件以及若干个库源码文件作为参数。先将源码文件编译成临时文件,然后再运行这个临时文件,临时文件可能包括可执行文件和归档文件。这些临时文件如果不做命令标记,会在被运行后被删除。下面是go run命令常用的标记:–a : 强制编译相关代码文件,无论代码文件是否有更新 –n : 打印编译过程中所需要的命令,但是不执行它 –p N : 并行编译,其中N为CPU逻辑个数 –v : 列出被编译的代码包名称 –work : 显示编译时创建的临时工作目录,注意这些目录并不会删除 –x...阅读全文

博文 2019-07-09 13:32:40 链客区块链技术问答社区

理解Kubernetes网络:ingress篇

在本系列的第一篇文章中,我讲了Pod跨Kubernetes集群中的节点相互连接的网络。第二篇重点讲了服务网络如何为Pod提供负载平衡,以便群集内的客户端可以与它们可靠地通信。对于这第三篇也是最后一篇文章,我想以这些概念为基础来展示集群外的客户端如何使用同一服务网络连接到Pod。由于各种原因,这很可能是三篇涉及最多的,并且掌握前两篇关于pod和service的内容是理解本篇的的前提。 路由并不是负载均衡 在上一篇文章中,我们创建了一个具有两个Pod的部署,并为该服务分配了一个IP,称为“集群IP”,针对Pod的请求已发送到该IP。我将在此处继续根据该示例进行构建。回想一下,该服务的群集IP 10.3.241.152位于与Pod网络以及节点本身所在的网络不同的IP地址范围内。我称这个地址空间为“...阅读全文

go语言工作笔记

关闭网络连接步骤:1. 直接关闭2. 赋值 nil对与网络连接相关的操作(客户端网络连接、服务器网络连接)都应该: 加锁、解锁```bashconnect *net.Conn // TCP网络连接connectMutex sync.RWMutex // TCP网络连接读写锁使用时:connectMutex.RLock()defer connectMutex.RUnlock()```协程的使用:```bashfor { select { case <-c.ctx.Done(): // 增加退出协程相关操作 return default: } // 增加逻辑代码 // 匿名函数的使用 func(){ // ... }()}```- 注意逻辑代码和业务代码的分层处理,可以抽象的尽量抽象。不要把底层...阅读全文

博文 2019-08-19 20:02:44 Paulin666

人工智能深度学习领域中Python之外的语言如何应用

深度学习领域目前主流的语言是Python,但一些深度学习框架也推出了其他语言的版本或适配方法。以谷歌(Google)公司著名的TensorFlow平台为例,虽然训练神经网络的过程还需要使用Python语言,但对于已经训练好的神经网络模型,已经可以在Java、Javascript、C++、Go等语言中调用,以便利用这些模型进行计算并获取神经网络对于需解决问题的预测结果。下面我们来给出一个具体的实例帮助理解这种方式,实例将使用Go语言(Golang)。 1. 搭建Go语言调用TensorFlow模型所需的环境TensorFlow目前仅支持在Linux和MacOS下由Go语言调用,因此,如果想在Windows下使用,建议在Windows 10上安装Ubuntu子系统(Ubuntu是Linux系统中...阅读全文

博文 2020-03-16 09:32:46 陆满庭

2020 区块链 golang 版本(7)

封面 我们知道比特币的安全性来源 hash 加密和共识机制,所以我们今天聊一聊比特币中的共识机制。 分布式共识 分布式的 hash 表,系统有很多计算机,这些计算机共同来维护一个 hash 表。 Alice -> 12345 下面介绍关于分布式两个结论 关于分布式 FLP impossibility result 在一个异步系统里(网络延时没有上限),即使一个成员是有问题,也就是无法取得共识。 CAP Theorem C(Consistency) A(Availability) P(Partition tolerance) 任何一个分布系统,这个三个性质中最多只能满足两个,无法全部满足以上3性质。 分布式共识一个比较著名协议我 Paxos,Paxos 又能一直没有达到共识。这些理论我们简单了...阅读全文

golang 基础(28)defer

square-gopher.png 资源管理与出错处理 defer 调用 有的时候我们需要程序发生错误后需要进行后续的处理,例如关闭文件、结束网络连接等。这时候我们就会用到 def ,如果是 java 的 developer 可以理解为 finally。 确保在函数结束时发生 参数在 defer 语句时计算 defer 列表为后进先出 var wg sync.WaitGroup func say(s string){ for i:=0; i < 3; i++ { fmt.Println(s) time.Sleep(time.Millisecond * 100) } wg.Done() } func main(){ wg.Add(1) go say("Hey") wg.Add(1) go sa...阅读全文

博文 2019-04-03 08:34:39 zidea

区块链入门教程以太坊源码分析p2p-dial.go源码分析

dial.go在p2p里面主要负责建立链接的部分工作。 比如发现建立链接的节点。 与节点建立链接。 通过discover来查找指定节点的地址。等功能。dial.go里面利用一个dailstate的数据结构来存储中间状态,是dial功能里面的核心数据结构。// dialstate schedules dials and discovery lookups.// it get's a chance to compute new tasks on every iteration// of the main loop in Server.run.type dialstate struct {maxDynDials int //最大的动态节点链接数量ntab discoverTable //disco...阅读全文

博文 2019-06-12 17:03:20 xczxsa

浅析Facebook LibraBFT与比原链Bystack BBFT共识

如果说什么是区块链的灵魂,那一定是共识机制。 它是区块链的根基。无论公链或是联盟链,共识机制都从基础上限制了区块链的交易处理能力和扩展性。 2019年6月18日,Facebook 发布了自己 Libra 项目的白皮书,引发广泛关注。作为 Facebook 试图创造国际流通数字货币的重要项目,Libra 区块链采用的是 LibraBFT 共识机制,是一个为 Libra 设计的鲁棒的高效的状态复制系统。它基于一种新型的 BFT 共识算法,HotStuff。 就在 Facebook Libra 项目白皮书发布之前不久,5月17日,比原链发布了 BaaS 平台 Bystack。这是一个一主多侧链架构的商用区块链系统,主链采用 PoW 共识保证多样资产安全和去中心化,侧链提供可插拔的共识以满足不同业务...阅读全文

博文 2019-07-03 15:03:42 比原链Bytom