系统调用跟踪——分析(一)

  通过strace工具可跟踪用户进程与Linux内核的调用交互,可看到其中的System Call(系统调用情况)情况; 安装strace: apt-get instsall strace   strace安装完成后执行:strace ls /data即可看到ls命令执行时所执行的系统调用情况,

使用ANSI改变终端输出样式

  默认情况下程序输出到终端的字符样式为白字黑背景,样式、字体比较单一。如想改变程序输出到终端字符的样式等可使用ANSI转移码使其输出具有不同样式; ANSI转义序   ANSI转义序列包括这三个部分组成:前置引导,CSI转义序列,结束符号 1、前置引导: 为ESC的ASCII值(\033,\0x1

Golang中的空字符,似花不是花

  最近在Linux下开发Go程序,发现一个奇怪的问题,在读取Linux系统信息时读到了空字符,导致了程序异常。在ASSIC中十六进制0为字符NUT,表示为空字符NULL。但这个字符在不同的编程语言、不同的运行环境中却有着不一样的呈现,如果换一个角度看,空字符也就是无字符也就能解释ASSIC空字符没

在Golang中是锁或Channel还是Atomic

  与其他编程语言一样在并发环境下如不对多个goroutine(线程)访问或修改的共享资源元素的进行控制,让进入临界区的对象互斥。就可能会出现数据异常情况;   一个非线程安全对象如下,如不对Id的访问进行控制,多个goroutine进行更新Id字段是就会出现数据不一致的情况,如下示例: type

分布式应用运行时Dapr

  Dapr为微软开源的一个用于构建分布式应用的框架,Dapr为分布式应用运行时(Distributed Application Runtime)的英文单词缩写;Dapr提供了分布式应用所依赖的执行环境,分布式运行时包括了:服务通讯、数据持久化、资源绑定、pub-sub、Actors、密钥等,通过使

CEP复杂事件处理简单介绍

  CEP(Complex Event Processing)复杂事件处理,这里的复杂事件指的是业务规则的复杂, 随着互联网、物联网技术的发展现在传感器装得越来越多,目前实时流数据业务处理越来越广,业务规则也越来越复杂。   可以说CEP就是一种基于事件的数据流分析技术,它通过过滤、聚合、关联、状态

Golang中的插件开发

  插件化开发提供了很多便利,可动态扩展程序的相关功能,如Windows中的DLL、Linux中的So文件、还有IDEA中的插件,应用范围不可谓不广;   在Golang中提供了自己的插件机制,可使用其进行插件化开发;在Golang的plugin包中提供了加载插件、调用插件中函数的相关方法; Gol

Multipass轻量虚拟机管理器

  multipass 轻量虚拟机管理器,是由Ubuntu运营公司Canonical所推出的开源项目。运行环境支持Linux、Windows、macOS,在Linux上使用的是KVM、Window上使用Hyper-V、macOS中使用HyperKit以最小开销运行VM。支持在笔记本模拟小型云。   

Golang中将字节流转为Protobuf

  在接入第三方数据流或接入物联网设备时,通常这些数据所上报的数据只是按照指定的协议所编码,上报的数据流也不够紧凑,如我们直接存储这类字节流数据也比较大。此时可以将字节流转为其他压缩格式的流,如Protobuf等;   将字节流转为Protobuf流具体流程为:定义Proto文件、生成对应的Prot

Golang中的SingleFlight与CyclicBarrier

  SingleFlight将并发请求合并成一个请求,可用于减少下游压力;CyclicBarrier可重用栅栏并发原语,控制一组请求同时执行; SingleFlight   在Go中SingleFlight并不是原生提供的,而是开发组提供的扩展并发原语。它可实现多个goroutine调用通过一函数时
Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×