Go入门系列(十二)编译

目录 一、二进制编译 二、白帽子觉醒 三、Golang进阶 一、二进制编译 我们首先来明确一个问题,编译意味着什么? 脱离环境,脱离依赖运行! 我们知道,python也是可以编译的,但是需要借助第三方包来完成,但是在最新的python3中兼容极差,而且对系统的位数架构各种条件苛刻,即使如此,依然随时崩掉,各种缺包。我丢! Go语言的编译需要用到build方法: usage: go build [-o output] [-i] [build flags] [packages] 关于其跨平台编译,我...阅读全文

简书 2020-03-20 05:32:51 RabbitMask

如何获取HTML文档的标题?

如何获取HTML页面的标题?下面本篇文章就来给大家介绍一下使用javascript获取HTML文档标题的方法,希望对大家有所帮助。 原文地址:如何获取HTML文档的标题?方法一:使用title属性title 属性可返回当前文档的标题( HTML title 元素中的文本)。语法:document.title示例:使用document.title属性获取HTML文档的标题。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>My...阅读全文

简书 2020-03-20 05:32:48 yanghs

TiKV Committer 庄天翼:只要能提升 Codebase 质量,就值得提交 PR

2020 年 2 月,TiKV 项目迎来了一位新晋 Committer —— 庄天翼(GitHub ID:TennyZhuang),他 2018 年毕业于清华大学,目前在旷视科技担任分布式存储开发工程师,平时爱看动漫,工作之余也喜欢写一些代码,实现自己的想法。前天,我们“正儿八经”地采访了庄天翼同学,在互相努力憋笑中,愉快地掉落了以下文字…… 传说中的“天才少年” 天翼并不是普通意义上的计算机“天才少年”。 虽然他在大四时和队友一起拿了 CCPC(中国大学生程序设计竞赛)区域赛金牌,但他第一次接...阅读全文

简书 2020-03-20 05:32:48 PingCAP

golang在编译时用ldflags设置变量的值

转载请注明出处,原文链接http://tailnode.tk/2017/01/go...我们经常会在一些程序的输出中看到程序版本、编译时间、Git的commit id等信息,比如dockerming@vultr:~$ docker versionClient: Version: 1.12.5 API version: 1.24 Go version: go1.6.4 Git commit: 7392c3b Built: Fri Dec 16 02:42:17 2016 OS/Arch: linu...阅读全文

简书 2020-03-20 05:32:47 OldGong

利用RadonDB实现MySQL分库分表

利用RadonDB实现MySQL分库分表 RadonDB是青云上提供的MySQL分布式解决方案,提供数据库的透明拆分及高可用服务。RadonDB包括Radon, Xenon, MySQL三部分安装。其中Radon,Xenon官方没有发行二进制包,需要编译安装, MySQL可以使用官方编译后的版本安装,但需要使用MySQL 5.7这个版本。在以下文档安装过程中如果遇到问题请及时的反馈作者:QQ/Weixin: 82565387 本文内容较长大致分为: 环境基本情况介绍 编译环境准备 Xenon编译...阅读全文

简书 2020-03-20 05:32:47 小知_知数堂

golang regexp Flag 用法匹配换行

Flag 含义 i 不区分大小写 s 让.匹配\n(单行模式) m 除了开始/结束文本外,让^并$匹配开始/结束行(多行模式) 用法 例如:前缀"(?is)"使匹配的字符不区分大小写,并让. 匹配 \n package main import ( "fmt" "regexp" ) const CONTENT = `<div class="info"> <div class="hd"> <a href="https://movie.douban.com/subject/1291546/" clas...阅读全文

简书 2020-03-20 05:32:44 崔天浩

Docker alpine中编译和测试Go RocketMQ Client

为什么要做本次测试 rocketmq的go-client分为两种: native 优点 纯go实现 缺点 缺少功能 稳定性未达生产环境要求 API接口不稳定,随时可能修改 cgo 优点 完善的功能 稳定性高 缺点 依赖cpp的库 实验环境 基于docker, 使用 golang:alpine 镜像。 初始化容器 docker run --rm -it golang:alpine /bin/sh 安装相关的包: apk update && apk add gcc g++ cmake automak...阅读全文

简书 2020-03-20 05:32:44 Zeal_8421

使用go/scanner库来查找golang标准库源码中最常用的标识符

在YouTube上又看了Francesc Campoy大神的视频。这一期他主要讲了go/scanner库的用法。那么什么是go/scanner呢? 官方的定义是: Package scanner implements a scanner for Go source text. It takes a []byte as source which can then be tokenized through repeated calls to the Scan method. 翻译过来就是: scan...阅读全文

简书 2020-03-20 05:32:43 zooeymoon

通过例子学GO语言Web开发之移植网易云音乐API

网易云音乐API在github中网易云音乐系列的开源项目中最多star应该是NeteaseCloudMusicApi许多好玩的网易云音乐项目都是基于这个项目,今天将带领大家熟悉这个优秀的项目同时移植到GO语言中,通过移植进一步熟悉go语言以及gin框架。项目地址:  go版本:https://github.com/Jackkakaya/NeteaseCloudMusicGoApi  node原版:https://github.com/Binaryify/NeteaseCloudMusicApi进...阅读全文

Go语言中文网 2020-03-19 20:17:38 Jackkakaya

解读神书《凤凰项目》,带你跳出DevOps转型的所有坑

《凤凰项目》是DevOps界神书,虽然内容表现形式是小说,但是依然是敏捷开发及DevOps领域的必读书籍。很多知名的咨询师都是通过此书开启了DevOps及敏捷之旅,书中故事均来源于运维的日常工作,正是体现了艺术源于生活、高于生活的本质。笔者间隔两年时间,阅读此书两次,希望可以讲书中了解到的一些经验分享给大家。小说主人公比尔,临时接任了IT运维经理的职位,然而此时,公司已经经历了多轮裁员,生产线上故障不断。董事会指望凤凰项目重启拯救公司,然而面对的着层层困难,比尔开始不停的应付突发的线上故障,身心...阅读全文

Go语言中文网 2020-03-19 18:41:43 JFrogChina

基于golang文件实时监控并同步远端服务器工具

### SftpSync 基于golang开发的 文件实时同步软件 ### 前言 1.本人是个重度某度云用户,但是云盘的速度不开会员的情况下真是太慢了,而且也不能实时备份,所以想过自己搭建一个NAS。写个程序能可以实时把我的工作目录备份到NAS上。 2.工作中,我们开发组想搭建一个公共的开发机,但是samba协议挂在到本地以后无法用svn 或git 与版本库同步,最近突然想到其实也可以用实时同步的程序,把本地的脚本代码实时同步到开发机上,这个就可以解决开发机的问题了 ...阅读全文

Go语言中文网 2020-03-19 18:18:05 Punching

一行 Golang 代码引发的血案——全网最详细分析 2020 年 3 月 Let’s Encrypt 证书吊销事故

Let's Encrypt 作为一家免费提供 SSL 证书的组织,旨在推进互联网向更安全的 HTTPS 迁移,受到了大量小型网站的支持和认可。然而很多站长在 3 月 3 日收到了来自 Let's Encrypt 名为 ACTION REQUIRED: Renew these Let's Encrypt certificates by March 4 的邮件,警告站长尽快更新证书。那么为什么需要更新证书?不更新证书有什么危害?如何更新证书?本文将为读者分析本次 Let's Encrypt 证书漏洞...阅读全文

Segmentfault 2020-03-23 16:32:37 思否编辑部

golang规则表达式的写法

golang规则表达式的写法 matched, err := regexp.MatchString(`a.b`, "aaxbb") or re1, err := regexp.Compile(`regexp`) // error if regexp invalid re2 := regexp.MustCompile(`regexp`) // panic if regexp invalid 就不细说了,这里主要总结regexp的写法。 选择 表达式 含义 xy 连接,x后面跟y x|y 选择,或者...阅读全文

leetcode_56

Golang: 思路:找到插入区间与原区间的交集,一次遍历,然后统一处理。 代码如下: func insert(intervals [][]int, newInterval []int) [][]int { i:=0 flag:=0 for i<len(intervals){ if newInterval[0]>=intervals[i][0] { if newInterval[0]<=intervals[i][1]{ flag=1 break }else{ i++ } }else{ break...阅读全文

简书 2020-03-19 15:33:55 淳属虚构

leetcode_49

Golang: 思路:对所有字符串处理(排序),字母异位词必然会有同一排列。 代码如下: type Bytes []byte func (b Bytes) Len() int { return len(b) } func (b Bytes) Less(i, j int) bool { return b[i] < b[j] } func (b Bytes) Swap(i, j int) { b[i], b[j] = b[j], b[i] } func groupAnagrams(strs []st...阅读全文

简书 2020-03-19 15:33:55 淳属虚构

Go入门系列(十一)WEB

目录 一、服务端 二、客户端 一、服务端 什么是Web的服务端?个人理解:网站,API等。 Go语言里面提供了一个完善的net/http包,通过http包可以很方便的就搭建起来一个可以运行的Web服务。同时使用这个包能很简单地对Web的路由,静态文件,模版,cookie等数据进行设置和操作。 拉起一个http服务仅需要简单的几行,定义路由,定义方法即可: func hello(w http.ResponseWriter, r *http.Request) { fmt.Fprintf(w, "He...阅读全文

简书 2020-03-19 15:33:54 RabbitMask

golang

博客 www.liwenzhou.com 代理 goproxy.io 查看go的配置 go env 初始化 go mod init xxxx 文件结构 bin pkg src 打包 运行 安装环境和各种基本命令见这个url https://www.liwenzhou.com/posts/Go/install_go_dev/ go build 打包成exe,执行exe go build -o xxx.exe 打包成xxx.exe go run 执行某个go文件 go install 打包&拷贝 M...阅读全文

简书 2020-03-19 15:33:19 任我笑笑

DjanFey的基础库解读--bufio包(scan.go)

package my_bufio import ( "bytes" "errors" "io" "unicode/utf8" ) // Scanner为读取数据操作(例如文本用换行符分隔行的文件)提供了一个便利的接口 // 成功调用Scan方法会逐条扫描文件的'token',跳过'token'之间的字节 // token的规范是由SplitFunc类型的分割函数定义的 // 默认的分割函数是把输入按行终止符分割成多行, 去掉了行终止符 // ...阅读全文

Go语言中文网 2020-03-19 13:52:30 DjanFy

给Java程序员的Go私房菜(二) Hello Golang

vscode 安装go环境 还是抵不住vscode的诱惑,我还是选择了它,但是由于国内网络环境,大部分插件还是安装失败,即使科学上网了,还是失败,但是我运气好,全部successful。但办法还是有的,把对应的vscode的go插件,下载下来直接放到gopath的bin目录下就可以了,具体操作我这里不详细解释了,直接传送门:vscode搭建go开发环境 GO的HelloWord 相信大家学习的每一门语言都是从HelloWord开始的吧。这里我们依旧这个规矩开始,首先回顾一下gopath目录 go...阅读全文

掘金 2020年03月19日 HarryZhang6

leetcode_45

Golang: 思路:DP,但是这题我最终实现的效率很低,所以有待优化 代码如下: func jump(nums []int) int { if len(nums)<=1 { return 0 } arr:=make([]int,len(nums)) arr[0]=0 for i:=0;i<len(nums)-1;i++{ for j:=i+1;j<=i+nums[i];j++{ if j<len(arr)&&(arr[j]==0||min(arr[j],arr[i]+1)==arr[i]+1)...阅读全文

简书 2020-03-19 10:33:32 淳属虚构