使用Go进行io_uring的动手实践

在Linux中,系统调用(syscalls)是一切的核心。 它们是应用程序与内核交互的主要接口。 因此,至关重要的是它们要快。 尤其在后Spectre / Meltdown后世界中,这一点尤为重要。如果觉得看完文章有所收获的话,可以关注我一下哦知乎:秃顶之路 b站:linux亦有归途 每天都会更新我们的公开课录播以及编程干货和大厂面经或者直接点击链接c/c++ linux服务器开发高级架构师来课堂上跟我们讲师面对面交流需要大厂面经跟学习大纲的小伙伴可以加群973961276获取大部分系统调用都处...阅读全文

Segmentfault 2020-10-31 08:32:37 秃头大哥

2020-10-30:给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标。即求出: maxValue = max{arr[j]-a...

2020-10-30:给定一个正数数组arr(即数组元素全是正数),找出该数组中,两个元素相减的最大值,其中被减数的下标不小于减数的下标。即求出: maxValue = max{arr[j]-arr[i] and j >= i}? 福哥答案2020-10-30: 1.双重遍历法。 2.一次遍历法。 golang代码如下: package main import "fmt" const INT_MAX = int(^uint(0) >> 1) func main() { s := []int{7,...阅读全文

简书 2020-10-30 21:32:38 福大大架构师每日一题

自定义 Kubernetes 调度器

感谢作者,原文链接:https://www.qikqiak.com/post/custom-kube-scheduler/kube-scheduler 是 kubernetes 的核心组件之一,主要负责整个集群资源的调度功能,根据特定的调度算法和策略,将 Pod 调度到最优的工作节点上面去,从而更加合理、更加充分的利用集群的资源,这也是我们选择使用 kubernetes 一个非常重要的理由。如果一门新的技术不能帮助企业节约成本、提供效率,我相信是很难推进的。调度流程默认情况下,kube-sche...阅读全文

简书 2020-10-30 18:32:47 贺大伟

MIT6.824分布式系统课程 翻译&学习笔记(二)基础架构:RPC和线程【持续更新中】

说明本系列文章是对大名鼎鼎的 MIT6.824分布式系统课程 的翻译补充和学习总结,算是自己一边学习一边记录了。如有疏漏错误,还请指正:)持续更新ing。。。翻译&补充内容Go中的线程和RPC,看一下实验为什么选择Go?对线程良好的支持方便的RPC类型安全垃圾回收(没有内存释放后再被使用的问题)线程+垃圾回收非常棒相对简单在教程学习后,请阅读 effective go线程很有用的构造工具,但是有时候会很棘手在Go里叫做“goroutines”;其他地方叫做线程线程 = “执行线程”线程允许一个程...阅读全文

Segmentfault 2020-10-31 08:32:36 raesnow

​教你导入golang.org的包

导入golang.org的包golang是google开源的编程语言,用久了就会对这个事实有深刻的体会比如说,go get一些包的时候,失败liao。 怎么解决国内golang.org下的包无法下载到本地GOPATH的问题呢?例子: github.com/colinmarc/hdfs 这个包用到了golang.org/x/crypto的部分功能原因:golang.org解析出来是google的ip,“理所应当”被拒绝访问办法,找到github的镜像包: 步骤:git clone [镜像地址].然...阅读全文

简书 2020-10-30 17:32:50 也许会了

2021年Linux服务器开发的知识技术合集(基础入门到高级进阶)

前言本文介绍下Linux从入门到高级进阶的学习路线。整个路线体系专注于服务器后台开发,知识点包括C/C++,Linux,Nginx,ZeroMQ,MySQL,Redis,fastdfs,MongoDB,ZK,流媒体,CDN,P2P,K8S,Docker,TCP/IP,协程,DPDK等等(技术点目尾都提供免费视频,qun832218493取资料)资源列表:1:linux零基础入门2:linux服务器开发3:架构师开发4:linux内核5:webrtc入门到精通6:音视频FFmpeg7:神器Git入...阅读全文

Go语言中文网 2020-10-30 16:53:16 zlh0921

Golang cache2go

一、简介 二、带着问题 三、源码 3.1 代码结构 3.2 核心代码 源码学习 https://github.com/muesli/cache2go 一、简介 cache2go是一个简单的缓存库,大概500行代码。 支持并发安全 支持过期清除 支持访问计数 配置回调函数 二、带着问题 并发的使用 过期清除如何实现的 回掉函数的配置 三、源码 3.1 代码结构 Cache.go 缓存库 CacheTable.go 缓存表 CacheItem.go 缓存项 3.2 核心代码 CacheItem ty...阅读全文

简书 2020-10-30 16:32:50 梦工厂

岛屿的周长 --leetcode刷题,golang实现

给定一个包含 0 和 1 的二维网格地图,其中 1 表示陆地 0 表示水域。 网格中的格子水平和垂直方向相连(对角线方向不相连)。整个网格被水完全包围,但其中恰好有一个岛屿(或者说,一个或多个表示陆地的格子相连组成的岛屿)。 岛屿中没有“湖”(“湖” 指水域在岛屿内部且不和岛屿周围的水相连)。格子是边长为 1 的正方形。网格为长方形,且宽度和高度均不超过 100 。计算这个岛屿的周长。 示例 : 输入: [[0,1,0,0], [1,1,1,0], [0,1,0,0], [1,1,0,0]] 输...阅读全文

简书 2020-10-30 16:32:49 牙哥

Go编程语言基础知识简介

译者:AI研习社(Maker) 双语原文链接:https://www.yanxishe.com/TextTranslation/2943 Go编程语言基础知识简介 Go是一种开源编程语言,大约在11年前首次出现,与30岁的Python和35岁的C++相比,这门语言非常年轻。 Go是由谷歌的 Robert Griesemer, Rob Pike和 Ken Thompson设计的,目的是让开发人员更快、更容易地进行软件开发。 根据HackerEarth调查,Go是最受学生和专业开发人员欢迎的编程语言...阅读全文

简书 2020-10-30 16:32:49 AI研习社

error排查小技能

在日常的问题排查中经常因为找不到问题的所在方法,需要浪费大量的时间,当然链路追踪这个另说,记录一下我个人的问题排查方法,下面这个是正常的输出: ```go func main() { _, err := GetUrl("baidu.com") fmt.Println(err.Error()) } func GetUrl(url string) (string, error) { resp, err := http.Get(url) if err...阅读全文

Go语言中文网 2020-10-30 14:49:37 TonoT

你真的了解 sync.Once 吗

转型做go大概一个多月了吧,工作中也是边写边学,最近也是在极客时间学习一些go相关课程,现学现用,源码在我 github 上:https://github.com/wuqinqiang...是什么引用官方描述的一段话,Once is a object that will perform exactly one action,即它是一个对象,它提供了保证某个动作只被执行一次的功能。最典型的场景当然就是单例对象的初始化操作。咋么做Once 的代码很简洁,从头到尾加注释不超过 70 行代码。对外暴露了...阅读全文

Segmentfault 2020-10-31 08:32:36 wuqinqiang

你真的了解 sync.Once 吗

> 转型做go大概一个多月了吧,工作中也是边写边学,最近也是在极客时间学习一些go相关课程,现学现用,源码在我 github 上:https://github.com/wuqinqiang/Go_Concurrency ### 是什么 引用官方描述的一段话,`Once is a object that will perform exactly one action`,即它是一个对象,它提供了保证某个动作只被执行一次的功能。最典型的场景当然就是单例对象的初始化操作。 ##...阅读全文

Go语言中文网 2020-10-30 11:53:57 Remember

如何在Filecoin上存储和构建数据?云算力有存储和检索收益吗?

IPFS的实用与魅力邀您见证在过去的几周里,许多Filecoin社区成员就不同的主题就行了演讲,这些主题与存储数据和构建Filecoin相关:在本文中,我们将重新介绍其中的一些讲座和小组讨论,以帮助您快速开始在 Filecoin 上存储和构建。您可以在此处查看 Filecoin 事件的完整列表,包括过去的记录和将来的事件。 大师课程:Powergate入门 V zhang228289Textile 的联合创始人兼首席执行官 Andrew Hill 主持了这次会议。Textile 提供的工具使开发...阅读全文

简书 2020-10-30 11:32:50 晓迪微zhang228289

图说比特币 Part 1

1.1引言 这个系列使用golang从零开始写一个比特币轻量化节点。最终达到和实际的比特币网络进行交易和SPV(Simplified Payment Verification)。 注意:大部分代码都源自BTCD,实际上也是一个BTCD源码分析文章。最终实现以下功能: 连接到比特币的网络(包括 mainnet, testnet, simnet) 加入到比特币网络(“version handshake”) 向其他节点获取blockchain state 下载blockhain heads 实现SPV...阅读全文

简书 2020-10-30 10:32:50 ke_chain

蚂蚁金服6面,成功唬住面试官拿了36K,突然感觉Java面试貌似不太难...

蚂蚁金服-面试前 蚂蚁的面试挺独特,每轮面试都没有 HR 约时间,一般是晚上 8 点左右面试官来一个电话,问是否能面试,能的话开始面,不能就约一个其它时间。 image 全程 6 面,前五面技术面,电话面试,最后一面是 HR 面,现场面。 大佬说技术这方面肯定要掌握好,其实面试题也可以背一背,要是他提前有时间就看一下面试题说不定有些问题就可以回答得更好,可以起个抱佛脚的作用。 注:这边特意给刷到此文的朋友准备了2020最新最全——Java一线大厂高岗面试题解析合集:JAVA基础-中级-高级面试+...阅读全文

简书 2020-10-30 10:32:49 熬夜_不_加班

爬虫

什么是爬虫? 爬虫实际上就是采集网络上数据的一段程序。 简单来说,爬虫程序通过请求url地址,然后根据响应的内容进行数据采集。如果响应内容是html,分析dom结构,进行dom解析或者正则匹配,如果响应内容是xml/json数据,转换数据对象,然后对数据进行解析。 采集数据的用途 采集数据就是将别人的资源采集下来,然后加以利用,变为自己的资源。我们可以从某些网站获取需要的图片、数据、文章放到自己的网站中,也可将网站中的热点采集下来,进行数据分析。 Beautiful Soup 是一个常用的网页解...阅读全文

简书 2020-10-30 01:32:38 guangyan24

Socks5协议简介

socks5是一个代理协议,主要的作用就是代理客户端来访问远程服务器,起到一个中介作用。 一般情况下当代理客户端因为防火墙等原因访问不了远程服务器,而另一个服务器即可以访问远程服务器又可以被客户端访问到时,可以在这个服务器上部署socks5服务端,本地部署socks5客户端,让这个中介服务器来代理访问远程服务器。 下面介绍协议流程,可以简单分为握手阶段,准备阶段和代理阶段 一,握手阶段 客户端建立和代理服的tcp连接A,并发送第一帧数据: 含义 协议版本 鉴权方法数 鉴权方法集 字段 VER N...阅读全文

简书 2020-10-30 01:32:38 小风吹的我乱了

阿里云工作初体验

换工作 这次的起因是一次被动换工作,我去年投过阿里,所以7月份的时候简历被从阿里的简历库里被捞起,面的部门工作方向和我之前的经历相符合(监控平台开发),所以幸运拿到了offer。 9月4号我告别了shopee的同事,8号离开了工作4年的深圳到杭州,10号正式入职阿里云,目前入职阿里已经1个多月,想要记录下我心中的小小感受。 团队氛围 刚开始来的时候由于团队只有我一个女生,所以不知道和男生聊啥,前几天感觉还是比较闷的。 熟了一点以后,我发现团队小伙伴是很棒的,而且很乐于助人。有疑问咨询大家,大家都...阅读全文

简书 2020-10-29 21:32:37 小秀秀better