Skip to the content.

Blogs of 2018

Contact me


区块链——分布式合同

数据库,Hadoop,区块链


卷积网络的可视化

CAM, Grad-CAM, Grad-CAM++


生成模型的应用

BigGAN,tempoGAN


Distributed ML

Distributed ML: Computation and Storage, Communication Principles


多标签的one_hot编码与解码

单标签和多标签的编码解码方法


C++的explicit

使用explicit来避免隐式类型转换,但是static_cast依旧可以做转换


现代C++应该使用nullptr,而不是NULL

重载中的NULL和0的问题,nullptr使用


从C++的RAII到Rust的所有权(二)

数据竞争,引用规则


从C++的RAII到Rust的所有权(一)

Rust的移动和拷贝,所有权转移


cppreference对移动构造函数的解释

移动构造函数隐式生成的情况,不生成的情况等


sizeof(struct)是多少

C和C++在空struct的区别,C++类不同成员和函数占的空间大小


使用反射的例子

java的反射,一些应用场景


从const说起

顶层const,底层const,java的final


谈谈C的类型

内存对齐,格式化输出,类型的建议


LaTex使用中遇到的问题

参考文献,导入pdf页,修改目录样式,目录不出现页码,修改图表标题后的:为空格,不显示链接的颜色框


GitHub Page支持Latex公式

修改Jekyll默认样式支持公式,MathJax


Python引入其他包的模块

在普通文件夹下引用其他python包的模块


Python中什么时候不使用List

什么时候不应该使用List
一些情况下比List更高效的collection


从C语言的数组参数退化为指针谈起

数组参数为什么要退化为指针
数组指针


从C语言的函数传参谈指针

函数参数是复制的
指针的本质就是一个存地址的变量,仅此而已


从C++的RAII理解智能指针的思路(二)

shared_ptr原理
weak_ptr原理


从C++的RAII理解智能指针的思路(一)

RAII,析构函数管理内存
简单实现unique_ptr原理


使用 list comprehension 提高简单循环性能

比较for循环与list comprehension, filter 性能
对于简单循环,list comprehension最为高效