用Go看到进程中的系统调用

系统调用在我们日常coding时候,一般写的都是用户层的代码,内核对于我们而言好像是透明的,并未关注过。但是程序却无时无刻在与内核打交道,比如当读取文件时候的read,又或者在写文件的Write,都会经过内核。用户程序不会直接与磁盘等硬件打交道,所以不能直接对文件进行操作,所以需要内核这层"垫片",用户程序既然要访问内核,就免不了要执行系统调用。当要执行系统调用时候,CPU会切换到内核态,执行系统调用函数。由于内核实现了很多的系统调用函数,所以内核需要为每个函数提供一个标识,代表要调用的内核函数...阅读全文

Segmentfault 2021-03-07 20:32:33 郭朝

手撸golang 基本数据结构与算法 k-means聚类算法

缘起 最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一) 本系列笔记拟采用golang练习之 k-means聚类算法 聚类就是在输入为多个数据时, 将“相似”的数据分为一组的操作。 k-means算法是聚类算法中的一种。 首先随机选择k个点作为簇的中心点, 然后重复执行“将数据分到相应的簇中”和 “将中心点移到重心的位置”这两个操作, 直到中心点不再发生变化为止。 k-means算法中,随着操作的不断重复, 中心点的位置必定会在某处收敛, 这一点已经在数学层面上得到证明。 摘自 <<我...阅读全文

简书 2021-03-03 15:33:32 老罗话编程

基于容器环境的1-1课堂的开发部署

作者:申屠鹏会 近年来,容器化已经是业界的共识了,不仅可以减少运维的成本,也有助于进行产品的快速迭代,同时,本地也可以利用容器,搭建出和生产几乎一样的环境,很方便的进行开发demo或者进行小功能的测试部署。接下来,我将从产品的需求分析,设计,业务编码,集成测试,到正式上线,利用声网强大的SDK,全程用容器化的思想,完成一个一对一课堂软件的开发。(因为资源关系,开发时候的容器环境只用Docker,而非K8s)。 项目介绍 疫情以来,传统的一对一家教已经很难实现了,利用网络进行视频教学逐渐成为主流,...阅读全文

简书 2021-03-03 15:33:10 声网Agora

golang获取两个日期的自然天之差

如题,在golang中要想获取两个时间相差的自然天数,比如 T1(2021-02-28 23:59:59) 和 T2(2021-03-01 00:00:00)这两个时间,尽管时间戳只相差1秒,但相差的自然天数为1,我期望的结果是1。但是go语言标准库中并没有提供计算日期差值的函数。 而网上大多数博客讲的都是用两个时间戳之差除一天的秒数(如:(T2.Unix()-T1.Unix()) / 86400),很明显这种方法只能计算出两个时间戳之差换算出的绝对天数,无法计算上面的T1和T2的自然天之差。 ...阅读全文

简书 2021-03-03 15:32:40 jeason58

golang快速实现网页截图

golang是近几年发展非常迅猛的一款服务器端的语言,其生态也日益丰富。对于使用golang实现网页截图这个需求,笔者在经过一番调研之后发现大家有推荐Selenium方案,但是这一方案问题较多:需要安装Selenium或是PhantomJSPhantomJS已经停止维护了Selenium的运行需要安装chromedriverchromedriver对chrome的版本有一定要求还有推荐headless chrome方案的,但是这一方案也需要自行在服务器端安装一款浏览器,对服务器的压力比较大,并发...阅读全文

51CTO博客 2021-03-03 13:00:36 mb601cf713ef4ca

手撸golang 基本数据结构与算法 k-means聚类算法

缘起最近阅读<<我的第一本算法书>>(【日】石田保辉;宫崎修一)本系列笔记拟采用golang练习之k-means聚类算法聚类就是在输入为多个数据时, 将“相似”的数据分为一组的操作。 k-means算法是聚类算法中的一种。 首先随机选择k个点作为簇的中心点, 然后重复执行“将数据分到相应的簇中”和 “将中心点移到重心的位置”这两个操作, 直到中心点不再发生变化为止。 k-means算法中,随着操作的不断重复, 中心点的位置必定会在某处收敛, 这一点已经在数学层面上得到证明。 摘自 <<我的第一本...阅读全文

Segmentfault 2021-03-07 19:32:33 ioly

golang实现京东支付v2版本

一、准备阶段pc&h5 接入步骤官方文档 https://payapi.jd.com/docList... 查看主要接入步骤密钥生成• 需要设置desc key• md5 key 和 app id app对接会使用• 证书文件名称my_rsa_private_pkcs8_key.pem wy_rsa_public_key.pem示例程序使用私钥格式为 pkcs8 格式官方的SDK中的数据可以在示例程序中使用下载SDK地址 https://payapi.jd.com/docList... 找到接口...阅读全文

Segmentfault 2021-03-07 16:32:32 快乐源泉

windows下golang开发环境安装。

1、登录地址:htttps://www.golang.google.cn下载安装windows版。 image1.png image2.png 2、进入到系统CMD下测试go是否安装成功。 image3.png 3、点击下载的文件一路next安装 ima[图片上传中...(image.png-5ac355-1614697750499-0)] ge4.png 4、配置环境变量GOROOT、GOPATH、GOBIN。 GOROOT 对应安装目录,我的安装目录是:D:\ruanjian\golang ...阅读全文

简书 2021-03-03 02:32:39 阿里里啊嘞嘞

leetcode338 比特位计数 golang

338. 比特位计数 解题思路 image.png 动态规划实现, 考虑数字13和数字 6,他们的二进制表示分别为 1101和110 可以发现 6 右移 为12,补上末位的1则为13. 则13二进制的数未6的二进制数目加1. 由此可得 cnt[i]=cnt[i/2]+ (i & 1), 其中 i & 1 用来表示 i的末位补的是不是1,如果是0的话,则i 和 i/2的二进制数目一致。 代码 func countBits(num int) []int { A := make([]int,num+1...阅读全文

简书 2021-03-03 02:32:37 lucasgao

vim--golang开发配置

参考链接: Vim-安装和配置开发离不开IDE,每个人的喜好各不相同,vim是一种强大的支持各种插件的IDE,相信应该有不少人推崇。最近在学习golang,砍柴就要先磨刀,下面介绍下适合golang开发的一些vim配置,大家可以根据需要选用。 一、语法高亮 网上有很多是拷贝go/misc/vim/目录方法,其实在大概是go1.4版本后包里就不再提供vim目录了,这是一个比较久远的方案,不建议使用。我本次介绍的是装vim-go方案。 下载插件等都是github上,请大家首先设置好代理,否则下面的有...阅读全文

51CTO博客 2021-03-02 21:04:36 wx592a7561e9493

vim安装go插件vim-go和gocode,支持代码高亮、代码提示和语法检查等功能

参考链接: Vim-插件版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhang197093/article/details/78559903 vim是linux系统下常用的代码编辑器,默认情况下不支持go的代码高亮和语法检查,不过可以通过安装vim插件来支持go的开发,golang官方也向我们推荐了一些vim的go插件如下所列:(具体哪些插件请查看https://github.com/golang/go/wiki/IDEsAndTextEdi...阅读全文

51CTO博客 2021-03-02 21:43:03 wx592a7561e9493