Cgo基础和原理

为了能够直接复用优秀的历史资产,Go提供了Cgo这个特性,允许我们在Go代码中调用C/C++的代码。CGO工具作为Go编译器的一部分,负责将Go代码和C代码混合在一起,以便在Go程序中使用C语言。而我现在了解Cgo,其实是因为历史包袱的原因,不得不使用遗留的C的资产。

2022年终总结

工作

今年算是步入新项目完整的第一年,在项目架构和基础上对FPS类型的游戏也算有所理解和认识,不过由于种种原因,工作上也还是有很多不尽如人意的,有时候感觉有力使不上,比较有成就两件事也就是:

容器化技术之Linux Namespace

在梳理Docker的相关历史发展的时候,知道了现阶段容器化技术的实现基础其实依赖Linux内核的两大核心功能:Namespace和Cgroups,分别用来进行资源的隔离和使用限制;这两大功能是Linux为了虚拟化分别在2002年的「 2.4.19」和2007年的「2.6.24」就开始引入的功能点;本文主要参考Namepsace的manual手册进行相关梳理,欢迎批评指正;

Python之语法基础入门

今天端午节,为了老婆需要,抽时间整理一下Python的基础语法和一些使用技巧,以及和其他语言的一些差别,方便快速的了解和使用Python;对于使用过C++,Python,Go,Lua的人,相信可以更好的去解释Python的一些设计思想和基础关键点;

Git SubModule使用

What

在项目开发过程中,我们可能会有跨项目合作,或者项目组内部多个subgroup之间的协作,以及社区各个开源项目之间的引用,这时候repo需要有一种机制能够引用,跟踪对应的项目;submodule就是git提供的一种项目引用和跟踪的机制;基于此对引用的上游项目也可以进行很容易的进行自定义的修改,合并和推送;