文章509
标签267
分类66
使用C++解释器Cling

使用C++解释器Cling

众所周知C++是一门编译型的语言,我们需要先将C++的源代码进行编译、连接生成二进制,然后才能执行;

而Cling是一个构建在Clang和LLVM之上的一个C++解释器,它允许我们像Python一样实现对C++代码的逐行执行!

同时,Cling也支持集成进JupyterLab中直接使用!

源代码:


安装JupyterLab

安装JupyterLab

相信使用过Python的同学都不会对JupyterNotebook陌生,而JupyterLab是JupyterNotebook的升级版,它提供了更好的用户体验,例如可以同时在一个浏览器页面打开编辑多个Notebook,Ipython console和terminal终端,并且支持预览和编辑更多种类的文件等;

本文讲述了如何安装JupyterLab,并实现远程登录;


使用K8S部署最简单的Go应用

使用K8S部署最简单的Go应用

控制Goroutine数量的方法

控制Goroutine数量的方法

在我们写代码的时候,经常会有批量创建任务并等待返回的场景;此时使用生产消费者并发的提交任务来代替for循环逐个执行任务能够大大提高代码效率;

然而不加限制的创建Goroutine也是会有内存溢出、CPU切换过多等资源浪费的情况;

本文讲述了Go中一些常用的控制Goroutine数量的方法;

源代码:


Rust中的PhantomType

Rust中的PhantomType

在Git项目中增加pre-commit校验

在Git项目中增加pre-commit校验

有些编程语言提供了代码格式化检查等工具,如:Go、Rust等,我们可以在commit之前,对代码进行格式化检查,保证代码规范,而pre-commit正是这样的工具;


Rust实现WebAssembly初窥

Rust实现WebAssembly初窥

最近在学习Rust,而Rust和WebAssembly的结合正在如火如荼的进行着;相比于Go,Rust和WebAssembly的结合可以说是更加成熟,包括了编译优化、甚至编译完成可以一键发布到npm库;

本文讲述了如何使用Rust实现一个Hello-World的WebAssembly;

关于Go实现WebAssembly,见:

源代码:


在Golang发生Panic后打印出堆栈信息

在Golang发生Panic后打印出堆栈信息

虽然用了比较长时间的Golang,但是还是有很多不懂得地方;比如,最近我才发现,原来通过recover函数拦截的err并不会返回堆栈信息,而是仅仅返回类似于“空指针错误”的信息,基本上没什么用,更没法定位到底是哪行代码发生了panic十分鸡肋;

最后经过查找网上的资料发现,可以通过runtime包获取到堆栈信息;

源代码:


Docker原理实战-4:容器Container

Docker原理实战-4:容器Container

【分享】Epic-Game自动领取Docker镜像

【分享】Epic-Game自动领取Docker镜像