0%

简介

cpp_easygraph主要由C++编写,利用pybind11框架实现用C++代码到python的桥接。在cpp_easygraph提供的类和方法中,暴露出的接口与python库源码的接口相同(即函数名、参数、效果等)。EasyGraph通过引入cpp_easygraph中的类和方法,将C++实现的内容嵌入到原先的代码中,从而实现类和高性能计算方法的扩展。

为何使用Pybind11?

对于一个由C/C++编写的python库来说,开发阶段的测试和最终代码的发布都需要开发者能够快捷且正确地编译代码生成目标文件。Pybind11是一个纯头文件的项目,一方面,它基于原生Python/C API,兼容所有原生函数接口,另一方面,它仅仅保留了部分重要的函数和类,非常轻量,仅需在代码中包含头文件而不需要链接额外的静态库。因此,在不同的操作系统上,可以直接使用python setup.py build_ext进行编译和构建,这也极大地方便了开发运维一体化。

Read more »

深入理解Kubernetes 张磊著

第一章 云原生大事记

  • CloudFoundry公司开辟了PaaS(Platform as a Service)的市场,已有容器、沙箱等实现
  • 来自于dotCloud公司Docker项目的发布颠覆了CloudFoundary复杂的打包流程,以image的概念将操作系统与文件目录打包到一起,从而可以快速地在任意机器部署环境
  • Docker在短时间内吸引了大量开发者,出现了一批以Docker为核心的项目,一般自称为CaaS(Container as a service)。之后dotCloud更名为Docker公司,并开发了Swarm项目,试图回到PaaS(因为有更多的商业机会)
  • 由于众多开发者不满意Docker公司越来越大的话语权,因此多方协同之下成立了OCI(Open Container Initiative),意在将容器运行时和镜像的实现剥离出Docker,但效果不大。然后Google、Red Hat又牵头成立了CNCF(Cloud Native Computing Foundation)基金会,为Kubernetes的发展提供了良好条件:
    • Red Hat的众多开发者为项目提供了足够大的人力
    • Kubernetes在构建之初就在各层开放了众多插件接口,从而快速引入了一大批之后发挥重要作用的项目
  • 试图将开源项目封闭与自己产品的Docker公司没能击败Kubernetes,最终进行了商业转型,并将容器运行时部分Containerd捐赠给CDCF。

第二章 容器技术基础

Read more »

CLARE: A Semi-supervised Community Detection Algorithm

KDD2022 PDF

社群检测算法无法检测出某种特定的社群

现有的方法可以归纳为seed based methods,在选定的seed旁边发展community

Read more »

因为本人懒得每次push完代码再手敲一次部署命令,所以想利用Github Action来实现每次push后自动部署到网页。中文互联网上搜索到的解决方案较老,花了几天时间踩了很多坑之后我这里也是成功配置完毕,因此在这里写篇博客记录一下。

以下是相关版本号

  • hexo:v6.3.0
  • next:v7.8.0
  • node:v16

手动部署

Read more »

花了一晚上的时间,终于搭建好hexo环境啦!以后应该会在这里分享一些技术相关的文字,或者个人生活的小感悟~

总之按照惯例道一声Hello World!