学会git-rebase看这一篇就可以了

前言哈喽,everybody,不知不觉8天的小长假也接近了尾声,玩耍了这么多天,今天也要收一收心,开始学习了呦~。明天就要上班啦,今天姐姐突然问我git-rebase指令是干什么的,怎么用?其实我是不想给他讲的,但是还是没有逃过姐姐的软磨硬泡,那么我们就一起来看一看什么是git-rebase吧!!!缘起话说,我和姐姐的缘分是在那一个月黑风高的晚上,啪,姐姐一巴掌打在了我的脸上并说了一句:能不能讲重点~~~。哈哈,不开玩笑了,直接说重点吧。我们先来看一个场景,我查看了一下我github上的个人仓库...阅读全文

Segmentfault 2020-10-11 20:32:32 asong

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

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

简书 2020-10-08 16:32:40 马小诺QAQ

hashicorp/2qcache ipfs

LRU缓存的缺点 嗯,在一些文件系统缓存中实现的标准的LRU淘汰算法是有一些缺点的。例如,它们对扫描读模式是没有抵抗性的。但你一次顺序读取大量的数据块时,这些数据块就会填满整个缓存空间,即使它们只是被读一次。当缓存空间满了之后,你如果想向缓存放入新的数据,那些最近最少被使用的页面将会被淘汰出去。在这种大量顺序读的情况下,我们的缓存将会只包含这些新读的数据,而不是那些真正被经常使用的数据。在这些顺序读出的数据仅仅只被使用一次的情况下,从缓存的角度来看,它将被这些无用的数据填满。 另外一个挑战是:一...阅读全文

简书 2020-10-08 15:32:43 杨杰_18b7

Go struct 类型的 map 结构体成员不能修改的问题

原文链接:golang 结构体作为map的元素时,不能够直接赋值给结构体的某个字段 引入: 错误 Reports assignments directly to a struct field of a map 1. 问题的产生 这个问题在github上可以追溯到2012年提交的一个issue,链接为https://github.com/golang/go/issues/3117;如上图,结构体作为map的元素时,不能够直接赋值给结构体的某个字段,也就是map中的struct中的字段不能够直接寻址...阅读全文

简书 2020-10-08 15:32:42 Darker_坤

golang编译dll给C#调用

最近需要用到golang编译dll给C#调用,记录一下,希望可以给遇到的朋友一些帮助。 开发环境: 1.windows7,VS2019,VScode 2.macOS,VScode 习惯在macos开发golang应用,先写好了dll,可以参考: https://blog.csdn.net/henreash/article/details/88768206 然后在windows7上面使用C#调用的时候出现不能识别dll,于是只好在windows7安装golang开发环境。 简单安装了VScode和...阅读全文

简书 2020-10-08 15:32:41 Jewson

深入剖析go中字符串的编码问题——特殊字符的string怎么转byte?

来自公众号:新世界杂货铺前言前段时间发表了Go中的HTTP请求之——HTTP1.1请求流程分析,所以这两天本来打算研究HTTP2.0的请求源码,结果发现太复杂就跑去逛知乎了,然后就发现了一个非常有意思的提问“golang 特殊字符的string怎么转成[]byte?”。为了转换一下心情, 便有了此篇文章。问题原问题我就不码字了,直接上图:看到问题,我的第一反应是ASCII码值范围应该是0~127呀,怎么会超过127呢?直到实际运行的时候才发现上图的特殊字符是‘’(如果无法展示,记住该特殊字符的...阅读全文

Segmentfault 2020-10-11 13:32:32 新世界杂货铺

golang 源码阅读 —— bufio

前言文件读写一直是我在学习一门语言的时候比较难以记忆和弄懂的部分,每次当我使用比如 golang 去读取/写入一份文件的时候,总会在浏览器中不停的google: "how to read and write file via golang". 当隔一段时间再要实现上述功能的时候,我还是会去浏览器搜索相同的关键字,这样实际上很没有效率,因此借着这篇博客,我将解析bufio有关文件读写方面的源代码实现及其常用的方法。Part 0: io库简要分析,以及bufio究竟做了什么bufio做了什么?官方文...阅读全文

Segmentfault 2020-10-11 09:32:33 BOBBAIcl

16.Golang设计模式之解释器模式

解释器模式 GitHub代码链接 解释器模式(Interpreter Pattern)提供了评估语言和语法表达式的方式。 什么是解释器模式 解释器模式实现了一个表达式的接口,该接口解释一个特定的上下文。这种模式被用在SQL语句处理,符号解释引擎等。 解决的问题 给定一个语言,定义他的文法,并定义一个解释器,这个解释器使用该标识来解释语言中的句子。如果一种特定类型的问题发生的频率足够高,那么就值得将该问题的各个实例表述为一个简单语言中的句子,这样就可以构建一个解释器,解释器通过解析这些句子来解决该...阅读全文

简书 2020-10-08 10:32:40 ShawnLee_123

Golang,一门独立门户却又好好专注于解决过程式和纯粹app的语言

本文关键字:真正的APP语言。GO正确的设计。GO真正的分布式语言 以前,我总谈到编程是从xaas开始,到langsys到 domainstack到app的四栈叠加过程,语言因为平台也有本质上的二种:toolchain式和app式,历史上,人们总是企图从toolchain式语言上封装一次,在这上面发展app语言,这使得任何一种app都有了平台相关性,这种相关性或是CPU架构,OS的,或是toolchain libc。所以才会有那些移殖性的讨论和软件虚拟机语言(它们将平台重新发明了一次,以封装相异...阅读全文

51CTO博客 2020-10-07 23:05:31 minlearn

golang如何使用Spring Cloud Stream

慎重声明,只代表本人观点,不一定代表实际。看了差不多半天Spring Cloud Stream中的kafka源代码,差不多断断续续折腾了一个月,终于在golang中使用kafka发送给Spring Cloud Stream并且成功处理 Spring Cloud Stream当使用@StreamListener中的condition,通过head进行选择的时候,其中MessageHeader是需要包含三个信息: id UUID类型 contentType 字符串类型,内容类型,可以为:applic...阅读全文

简书 2020-10-07 23:32:40 EasyNetCN

GeoHash

对9个base32进行排序 [wt3mf9qe, wt3mf9qg, wt3mf9qs, wt3mf9qt, wt3mf9qu, wt3mf9qv, wt3mf9r5, wt3mf9rh, wt3mf9rj] geohash base32图 image.png 对9个二进制编码进行排序 1110011001000111001101110010011011001101, 1110011001000111001101110010011011001111, 1110011001000111001101...阅读全文

简书 2020-10-07 19:32:41 golang才是未来

爬取前端渲染网站网站(vue,react)

最近公司写爬虫 但是对于 前端渲染的网站(vue,react) 但是 chromedp selenium等又太重了于是用puppeteer koa2 写了一个 通用服务https://github.com/dollarkillerx/marionettedocker 运行docker run --name marionette -d -p3000:3000 dollarkiller/marionette:latest简单说一下这个服务的Restful APIGET /ssr?q=http://g...阅读全文

Segmentfault 2020-10-11 09:32:32 dollarkillerx

Go语言数组和切片的坑点记录

虽说golang的数组和切片使用简单,但是当你编码到一定量的时候,你就会发现原来简单的数组和切片也有很多坑点啊,下面就记录了我实际工作中的采坑点,话不都说直接上代码,各种注意点都在代码注释里了。package main import "fmt" func main() { test01() //test02() test03() test04() test05() //test06() test07() } /* 下标索引操作的一些误区 s[i:l:c] i 是起始偏移的起始位置,l 是起始偏移...阅读全文

Segmentfault 2020-10-10 20:32:34 simamengde

Go语言爬取后端渲染网站(vue,react)

最近公司写爬虫 但是对于 前端渲染的网站(vue,react) 但是 chromedp selenium等又太重了 于是用puppeteer koa2 写了一个 通用服务 `https://github.com/dollarkillerx/marionette` docker 运行 ``` docker run --name marionette -d -p3000:3000 dollarkiller/marionette:latest ``` 简单说一下这个服务的Rest...阅读全文

Go语言中文网 2020-10-07 12:31:06 dollarkiller

15.Golang设计模式之命令模式

命令模式 GitHub代码链接 命令模式(Command Pattern)是一种数据驱动的设计模式。属于行为型模式。请求以命令的形式包裹在对象中,并传给调用对象。调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象。该对象执行命令。 解决的问题 在软件系统中,行为的请求者和行为的实现者是一种紧耦合的关系。当我们要对行为进行记录、撤销、或者重做、事物等处理时,这样紧耦合的设计就不太适合。 为了让行为的请求者和行为的实现者解耦。我们将一组行为抽象成对象,通过调用者调用接受者来执行命令。顺...阅读全文

简书 2020-10-07 11:32:43 ShawnLee_123

golang geom wkt

package main import ( "encoding/json" "fmt" "github.com/twpayne/go-geom" "github.com/twpayne/go-geom/encoding/geojson" "github.com/twpayne/go-geom/encoding/wkt" "reflect" ) func main() { unitSquare := geom.NewPolygon(geom.XY).MustSetCoords([][]geom.C...阅读全文

简书 2020-10-07 11:32:43 golang才是未来

【保姆级教程】手把手教你进行Go语言环境安装及相关VSCode配置

【Go语言入门系列】前面的文章:【Go语言入门系列】(七)如何使用Go的方法?【Go语言入门系列】(八)Go语言是不是面向对象语言?【Go语言入门系列】(九)写这些就是为了搞懂怎么用接口本篇文章介绍Go的环境安装和VSCode的配置使用。所需环境:Windows 10Go语言安装包VSCode安装包1. Go语言环境安装进入Golang官网,进入下载页面。如果打不开可访问Golang中国:https://golang.google.cnGolang中文版:https://go-zh.org百度网...阅读全文

Segmentfault 2020-10-10 20:32:34 行人观学

08-go数据类型内存结构-interface

### 1. 值接收者和指针接收者 - 实现了接收者是值类型的方法, ```自动生成```了接收者是指针类型的方法; - 实现了接收者是指针类型的方法,```不会自动生成```对应接收者是值类型的方法。 ### 2. iface 与 eface 都是两个成员,第二个成员都是接口存放的数据。不同的是第一个成员。 ``` eface._type ```接口保存的实体类型,没有包含任何接口方法。 ```iface.tab```是一个itab结构,itab.inter是一个int...阅读全文

Go语言中文网 2020-10-07 10:52:21 ivenher

Golang:实现断点续传

Seeker 接口 Seeker 是包装基本 Seek 方法的接口。 type Seeker interface { Seek(offset int64, whence int) (int64, error) } seek(offset,whence),设置指针光标的位置,随机读写文件: 第一个参数:偏移量 ​第二个参数:如何设置 0:seekStart表示相对于文件开始, ​1:seekCurrent表示相对于当前偏移量, ​2:seek end表示相对于结束。 const ( SeekSta...阅读全文

简书 2020-10-06 23:32:42 金刀大菜牙

Vue3.0(正式版) + TS 仿知乎专栏企业级项目

Vue3.0(正式版) + TS 仿知乎专栏企业级项目Vue3.0企业级项目实战。热门技术双剑合璧,Vue3.0 配合 TypeScript ,使用新版Vuex 和 Vue-Router 全家桶完成前后端分离复杂实战项目。一系列由易到难通用组件开发,让你学会一个基本的组件库的开发思路和技巧。接入真实后端API,告别 mock 数据,并提供Swagger 在线调试查询。抓住前后端分离开发痛点 - 权限管理,路由控制,全局Store 结构设计,前端缓存实现等。适合人群1-3年开发经验的前端开发者 初...阅读全文

Go语言中文网 2020-10-06 23:18:07 huazhujiudian