exec.Command僵尸进程问题

## 问题 exec.Command是Go标准库提供了一个可以很容易地运行外部命令的方法,但是如果使用不当会容易出现僵尸进程的问题。 > 僵尸进程:一个进程使用fork创建子进程,如果子进程退出,而父进程并没有调用wait或waitpid获取子进程的状态信息,那么子进程的进程描述符仍然保存在系统中。这种进程称之为僵死进程。 exec.Command执行的方法有两种,一种是直接调用Run()方法: ```go cmd := exec.Command("ls") cmd....阅读全文

Go语言中文网 2021-10-31 22:14:28 uuid

如何系统学习C 语言(上)之 基础篇

C 语言的特点C 语言程序设计就是结构化程序设计,它的主要观点是采用自顶向下、逐步细分和模块化的程序设计方法,使用顺序、选择、循环三种基本控制结构来构造程序。世间万物都有两面性,C 语言既有简洁性、灵活性、高效性等优点,又有如 若标识命名不得体,代码编排不规范,使用了野指针,出现内存泄漏等就会使得它原本的优点变成糟糕的缺点。为何学习C 语言我们天天使用的操作系统,数据库,游戏引擎等大多都是使用C 语言实现的,还有很多经典算法、框架也是用C 语言来编写的。除此之外,在已经进入了“物联网”时代,嵌入...阅读全文

Go语言中文网 2021-10-31 19:26:51 buzzttys

试问,如何设计一个高并发的golang日志库

> golang中有很多优秀的日志库,例如zerolog,see-log,blog4go等。 这些日志首先具备强大的高并发能力,其次具备丰富的接口,输入格式,索引接口。 把外壳去掉,日志库的设计原理本质上是一样的。 **我个人认为一个日志系统需要满足的特点:** - 1 内容不确定(非格式化数据)。为能够方便索引,因此需要额外引入一些namespace和类型,时间戳等的字符串。 - 2 要求并发量大,写入快,也就是日志需要有实时性,不能对现有业务造成阻塞。 因此日志需要设置成带缓...阅读全文

Go语言中文网 2021-10-31 16:46:42 TangYiMo

生产环境中推荐使用的一款服务器性能监测工具——WGCLOUD

在我们项目的生产环境,会涉及到各种资源使用,比如服务器性能、各种应用、服务接口、数据源等,我们迫切想把这些资源都监测起来,发现异常时候可以收到告警通知,降低故障时间 我们项目里用的[WGCLOUD监控系统](http://www.wgstart.com),运行非常稳定,它是一款集成度较高的分布式运维监控系统,具有易部署、易上手使用、轻量、高效等特点,server端基于springboot开发,agent端使用go编写。核心模块包括:主机系统信息监控,CPU监控,CPU温度监控,内存监控...阅读全文

Go语言中文网 2021-10-29 16:49:02 tianshiyeben

Go 日志组件封装

## 背景 Go目前流行多个日志组件:logrus、zap、zerolog、seelog,他们有各自的优点,但是使用方式存在差异, 如何屏蔽这些差异,对外提供统一的接口,减少对具体的日志组件依赖,从而方便后续组件替换? 对此,我们可以增加一层防腐层,定义一套统一的日志接口,业务代码不直接依赖具体的日志实现,而是依赖抽象接口,这样就可以将具体的实现进行隔离,业务代码就不会包含具体日志组件相关的代码,当日志组件需要替换时,只要做一层适配,实现约定好的日志接口方法,就可以无缝进行切换日志组...阅读全文

Go语言中文网 2021-10-28 12:53:32 uuid

用python轻松完成一个分布式事务TCC,保姆级教程

什么是分布式事务?银行跨行转账业务是一个典型分布式事务场景,假设A需要跨行转账给B,那么就涉及两个银行的数据,无法通过一个数据库的本地事务保证转账的ACID,只能够通过分布式事务来解决。 分布式事务就是指事务的发起者、资源及资源管理器和事务协调者分别位于分布式系统的不同节点之上。在上述转账的业务中,用户A-100操作和用户B+100操作不是位于同一个节点上。本质上来说,分布式事务就是为了保证在分布式场景下,数据操作的正确执行。 什么是TCC分布式事务,TCC是Try、Confirm、...阅读全文

Go语言中文网 2021-10-24 19:27:05 yedf

go 快速排序TopK leetcode 251

# TopK ## 求第K大数 已知一轮快排可以将一个数组分为两个部分,且两个部分有大小关系,利用这个关系来求解,每一轮快排都能缩小问题的范围, [go快速排序](https://studygolang.com/articles/35264) [go快速排序,非递归](https://studygolang.com/articles/35278) ## CODE ```go func findKthLargest(nums []int, k int) int { ...阅读全文

Go语言中文网 2021-10-21 23:48:52 letterbeezps

Python 注解方式实现缓存数据详解

目录 背景 拿来即用 实践过程 通过装饰器类简化代码 总结 背景 每次加载数据都要重新Load,想通过加入的注解方式开发缓存机制,每次缓存不用写代码了 缺点:目前仅支持一个返回值,虽然能弄成字典,但是已经满足个人需求,没动力改(狗头)。 拿来即用 新建文件 Cache.py class Cache: def __init__(self, cache_path='.', nocache=False): self.cache_path...阅读全文

Go语言中文网 2021-10-19 12:55:04 e31845690mei

Python编程使用matplotlib绘制动态圆锥曲线示例

目录 椭圆 双曲线 抛物线 极坐标方程 作为让高中生心脏骤停的四个字,对于高考之后的人来说可谓刻骨铭心,所以定义不再赘述,直接撸图,其标准方程分别为 在这里插入图片描述 在Python中,绘制动图需要用到matplotlib中的animation包,其调用方法以及接下来要用到的参数为 1 ani = animation.FuncAnimation(fig, func, frames, interval) 其中fig为绘图窗口,func为绘图函数,其返回值为图像,f...阅读全文

Go语言中文网 2021-10-19 12:48:48 e31845690mei

大厂对Golang的要求,请问你所在公司对Golang的要求有哪些?

# 前言 本文致力于统计Golang需要具备的技能点,让广大网友学习Golang指明方向,了解并清楚现在企业,大厂对Golang开发者的要求。 作者经历有限,也希望有更多Golang开发者提出宝贵的内容,丰富并统计企业对Golang的要求,大厂对Golang的要求。 # Go学习地址 [Golang资料补给包(满血战斗),包含文章,书籍,作者论文,理论分析,开源框架,云原生,大佬视频,大厂实战分享ppt](https://github.com/0voice/Introduction-...阅读全文

Go语言中文网 2021-10-14 10:56:46 hanaper

gRPC,爆赞

**原文链接:** [gRPC,爆赞](https://mp.weixin.qq.com/s/1Xbca4Dv0akonAZerrChgA) gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。 作为一名程序员,学就对了。 之前用 Python 写过一些 gRPC 服务,现在准备用 Go 来感受一下原汁原味的 gRPC 程序开发。 本文的特点是直接用代码说话,通过开箱即用的完整代码,来介绍 gRPC 的各种使用方法。 代码已...阅读全文

Go语言中文网 2021-10-12 20:42:28 yongxinz