protobuf3基础语法

本文作者:陈进坚 个人博客:https://jian1098.github.io CSDN博客:https://blog.csdn.net/c_jian 简书:https://www.jianshu.com/u/8ba9ac5706b6 联系方式:jian1098@qq.com 简介 ProtoBuf (Google Protocol Buffer)是由google公司用于数据交换的序列结构化数据格式,具有跨平台、跨语言、可扩展特性,同类型有常用的XML及JSON,但具有更小的传输体积、更高的编...阅读全文

简书 2020-08-28 17:34:04 不能吃的坚果j

[Swoole] 结合 Laravel 与 Swoole,更简易的开发与布署!

构想 Swoole 实现了 HTTP Server,也就是说 PHP 的布署不再需要依赖 Nginx 或 Apache 这样的网页伺服器,也不需要靠着 PHP-FPM 或 PHP_mod 才能与 Web Server 沟通。 安装了 Swoole extension 后的 PHP,就像 golang 那般內建高效率的 HTTP Server。 甚至,只要用一个简单的 Dockerfile 就可以实现布署的流程,再也不需要 link nginx 又 link php-fpm,把 Dockerfil...阅读全文

简书 2020-08-28 17:34:04 it阿布

go mod环境搭建

前言 go mod 是golang最新的模块依赖管理的工具,推荐使用。 go 1.11通过设置环境变量GO111MODULE来决定是否启用 go1.13已经默认支持,以下以1.13为例 配置环境变量 export GOPROXY=https://mirrors.aliyun.com/goproxy 或 export GOPROXY=https://goproxy.io export GOPATH="/Users/XXXX/goDownload" goproxy :设置拉取依赖包的代理 gopat...阅读全文

简书 2020-08-28 17:34:04 l刘言飞语

强大高效而精简易用的Golang爬虫框架Colly,能否取代 Scrapy?

前言任何刚接触爬虫编程的朋友可能都熟悉或者或多或少了解过基于 Python 异步框架 Twisted 的爬虫框架 Scrapy。Scrapy 发展了将近 7 年,是爬虫框架中的开山鼻祖,自然而然成为最受欢迎的也是应用最广的爬虫框架。对于 Scrapy 来说,其天然的优势是支持并发,而且集成了 HTTP 请求、下载、解析、调度等爬虫程序中常见的功能模块,让爬虫工程师只专注于页面解析和制定抓取规则,在当时极大的简化了爬虫开发流程,提高了开发效率。但是,Scrapy 并不是完美的,它仍然有不少缺点。其...阅读全文

Segmentfault 2020-09-02 09:32:33 MarvinZhang

2020全新升级版-Google资深工程师深度讲解Go语言

点击下载:2020全新升级版-Google资深工程师深度讲解Go语言 Go作为专门为并发和大数据设计的语言,在编程界占据越来越重要的地位!不论是c/c++,php,java,重构首选语言就是Go~本次课程特邀谷歌资深工程师,将Go语言使用经验总结归纳,从Go语言基本语法到函数式编程、并发编程,最后构建分布式爬虫系统,步步深入,带你快速掌握Go语言! 适合人群及技术储备要求 如果你已经掌握了一门编程语言,想转型Go语言工程师, 或者是对Go的基础语法有简单的认识,想更深层次的了解Go语言 那么本门...阅读全文

51CTO博客 2020-08-28 11:30:59 wx5f09f37e3d83b

使用iris实现safari浏览器中使用video标签浏览mp4的功能

  最近在实现一款小程序时,使用到了视频在线播放的功能,由于资金紧张,所以没有采用第三方云存储的方案,而是将视频文件通过文件上传的功能保存在了自己服务器的磁盘上,而查看时,使用iris的sendFile方法将视频文件输入到response中给前台,而这一方法在chrome浏览器中使用video的方法测试没有任何问题,然后发布小程序,在安卓手机上查看也没发现问题,但是在safari上或者iphone手机上查看,则无法播放视频文件,之后在网上查找了一些方法,发现时safari浏览器本身对视频文件的访...阅读全文

Go语言中文网 2020-08-28 14:57:09 sjzwanglong

golang 跨平台编译

只需要指定目标操作系统的平台和处理器架构即可: 命令行方式 因为不支持CGO,所以要禁用CGO SET CGO_ENABLED=0 // 禁用CGO SET GOOS=linux // 目标平台是linux SET GOARCH=amd64 // 目标处理器架构是amd64 然后再执行go build命令,得到的就是能够在Linux平台运行的可执行文件了。 Mac 下编译 Linux 和 Windows 平台 64位 可执行程序: CGO_ENABLED=0 GOOS=linux GOARCH=...阅读全文

简书 2020-08-28 14:32:41 陈Sir的知识库

【Golang】对使用接口实现多态的理解

前言 看【Go语言实战】这本书第二遍了,看第一遍的时候只是留下个印象,为了加深记忆以及方便回顾,把自己的理解写出来,仅供参考,Go Go Go,开始 定义 接口是用来定义行为的类型。这些被定义的行为不由接口直接实现,而是通过方法由用户 定义的类型实现。如果用户定义的类型实现了某个接口类型声明的一组方法,那么这个用户定 义的类型的值就可以赋给这个接口类型的值。这个赋值会把用户定义的类型的值存入接口类型 的值。 值接受者与指针接受者 1、如果参数类型是指针,那么在调用的时候也必须传递指针地址,因为编...阅读全文

简书 2020-08-28 13:32:41 大宝_5a8e

开发环境安装

仅仅记录在mac下安装beego环境配置哈:1、安装Gobrew install go2、安装 beegogo get github.com/astaxie/beego在安装beego的时候,会有部分package安装失败(由于网络的原因,访问google.golang.org超时),此处解决的办法: 在GOPATH下创建相应package的目录; 从Github clone相应的repo到对应的目录;3、安装beego get github.com/beego/bee 也可能出现安装beego...阅读全文

简书 2020-08-28 10:32:42 斯密达2020

LeetCode 算法之路 数组篇 1

LeetCode 算法之路最近,希望做一系列的文章,来记录刷算法的过程。目前,主要是根据 LeetCode 上 https://leetcode-cn.com/circle/article/48kq9d/ 这一帖子的模块进行刷题。内容呢,主要是帖子内楼主的总结以及个人的一些体会,和自认为较典型题目的算法思路。数组篇 - 1数组的遍历与统计知识点遍历一个数组。遍历数组时记录数组中的最值,最值数量固定时通过相应个数的辅助变量。题目T485 最大连续 1 的个数链接描述:给定一个二进制数组, 计算其中...阅读全文

Segmentfault 2020-09-01 21:32:32 GopherXS

[Introduction]万字手撕Go http源码server.go

Author:Wzy_CC全文一共10000字阅读时间10~15分钟前言本文目标:从路由注册到监听本地端口后请求路由的一系列动作的分析,基本上仅限于net/http server.go这个包文件的路由相关部分解读写作目的:在使用原生库进行web开发的时候,很多初学者很容易被mux.Handle()/mux.HandleFunc()/mux.Handler()/Handlerfunc/Handler/Handle()/Handlefunc()/handler给唬住,本身几个名称就相近,首字母有时候...阅读全文

Segmentfault 2020-09-01 15:32:50 Wzy_CC

Golang格式化字符串输出

格式化指令 含义 %% % 字面量 %b 一个二进制整数,将一个整数格式化为二进制的表达方式 %c 一个 Unicode 的字符 %d 十进制数值 %o 八进制数值 %x 小写的十六进制数值 %X 大写的十六进制数值 %U 一个 Unicode 表示法表示的整形码值,默认是 4 个数字字符 %s 输出以原生的 UTF-8 字节表示的字符,如果 console 不支持 UTF-8 编码,则会输出乱码 %t 以 true 或者 false 的方式输出布尔值 %v 使用默认格式输出值,或者使用类型的 ...阅读全文

51CTO博客 2020-08-27 21:16:32 hgditren

Golang数据类型详解--整型

整型 Go 语言提供了 11 种整型,如下列表所示。 类型 说明 byte 等同于 uint8 int 依赖于不同平台下的实现,可以是 int32 或者 int64 int8 [-128, 127] int16 [-32768, 32767] int32 [-2147483648, 2147483647] int64 [-9223372036854775808, 9223372036854775807] rune 等同于 int32 uint 依赖于不同平台下的实现,可以是 uint32 或者 ...阅读全文

51CTO博客 2020-08-27 20:53:12 hgditren

《Go Programming Cookbook》推

image.png 通过本实用指南解决Go编程中最棘手的问题 主要特点 使用现代编程技术为不同领域开发应用程序 解决Go中并行性,并发性和反应式编程的常见问题 使用基于最新版本的Go的现成代码 图书说明 Go(或Golang)是Google开发的静态类型的编程语言。它以其庞大的标准库而闻名,它还提供诸如垃圾收集,类型安全,动态键入功能以及其他内置类型等功能。 这本Go食谱帮助我们将Golang提供的高级概念和库付诸实践。本书中的食谱遵循最佳实践,例如使用Go模块进行文档编制,测试和供应,以及使用...阅读全文

简书 2020-08-28 01:32:41 追梦人在路上不断追寻

golang中string slice array转换 byte数组

unsafe 任何类型的指针和 unsafe.Pointer 可以相互转换。 uintptr 类型和 unsafe.Pointer 可以相互转换。 1.Pointer 可以指向任意类型,实际上它类似于 C 语言里的 void* 2.pointer 不能直接进行数学运算,但可以把它转换成 uintptr,对 uintptr 类型进行数学运算,再转换成 pointer 类型。 注意:uintptr 并没有指针的语义,意思就是 uintptr 所指向的对象会被 gc 无情地回收。而 unsafe.Po...阅读全文

简书 2020-08-28 01:32:39 无拘无束的猪

Go语言(Golang)中访问Oracle数据库简要环境搭建

首先,需要安装第三方数据库驱动包Godror,其中包含了驱动以及支持标准Go语言SQL包规范的函数调用及对象。使用下面的go get方法安装即可。 go get -v github.com/godror/godror代码中的包导入(即import) 时,要下划线导入gordor包,下划线导入的作用是仅执行其中的init函数,加载驱动。_ "github.com/godror/godror" 之后编写程序即可编译通过(如何编写代码请参看godror包的说明,在pkg.go.dev查看即可),但如需...阅读全文

简书 2020-08-27 23:32:41 陆满庭

Fabric

Fabric基本概念 Fabric (Hyperledger fabric) 是由 IBM 贡献的超级账本框架:利用现有成熟的技术来组合而成的一个区块链技术的实现,允许可插拔实现各种功能的的模块化架构。它具有强大的容器技术,来承载各种主流语言来编写的智能合约。 Fabric 大致分为底层的网络层、权限管理模块、区块链应用模块,通过 SDK 和 CLI 对应用开发者提供服务,如下面的图所示。 image chaincode:链码,Hyperledger Fabric智能合约写在链码里并在区块链外部...阅读全文

Java程序员不缺对象,缺的是对象存储

前言 文件服务器是一个应用必要的组件之一。最早我搞过FTP,然后又用过FastDFS,接私活的时候我用MongoDB也凑合凑合。现如今时代不同了,开始流行起了OSS。什么是 OSS全称为Object Storage Service,也叫对象存储服务,是一种解决和处理离散单元的方法,可提供基于分布式系统之上的对象形式的数据存储服务,具有可拓展、可管理、低成本等特点,支持中心和边缘存储,能够实现存储需求的弹性伸缩,主要应用于海量数据管理的各类场景。这概念真是够难以理解的。简单说点我知道的吧,平常我们...阅读全文

简书 2020-08-27 17:32:44 Java互联网架构师小马