- 博客(351)
- 资源 (10)
- 收藏
- 关注
原创 简介Kadane算法及相关的普通动态规划
本文详细论述Kadane算法的经典题目,并通过“首先列出动态规划解法,再改为Kadane算法解法”的方式,讲解二者的不同。最后给出一道Kadane算法变体的题目,解法极为简洁优美。
2023-12-03 11:11:01 164
原创 git重命名local branch和remote branch
rename local branch and remote branch in git
2023-07-13 11:43:36 366
原创 PyTorch深度学习笔记之五(使用神经网络拟合数据)
本文首先介绍了神经网络和神经元的基本概念,然后构建了一个3层的神经网络以解决温度计问题。
2022-11-30 22:54:51 3832 3
转载 Linux中常见的过滤拦截
Linux中常见的拦截过滤本文着重介绍Linux平台上常见的拦截: 用户态动态库拦截。 内核态系统调用拦截。 堆栈式文件系统拦截。 inline hook拦截。 LSM(Linux Security Modules) eBPF Hook拦截。(本文新增) 动态库劫持Linux上的动态库劫持主要是基于LD_PRELOAD环境变量,这个环境变量的主要作用是改变动态库的加载顺序,让用户有选择的载入不同动态库中的相同函数。但是使用不当就会引起严重的
2022-05-15 18:07:29 1573
原创 《Expert C Programming》(C专家编程)读书笔记
C专家编程笔记第一章 C: 穿越时空的迷雾C 与 UNIX 的历史1969: Multics 工程失败(通用电气、麻省理工、贝尔实验室)1969: 一个简易的新型操作系统诞生 (用PDP-7汇编编写)1970: 更名为 UNIX ,并采用 PDP-11 汇编重写 (所以UNIX系统时间从1970-01-01:00:00:00 算起)1970: Dennis Ritchie 利用PDP-11的强大性能,创立了 “New B” 语言,即 C 的前身1972: 可能是3月,更名为
2022-05-03 21:57:00 1737 2
转载 ELF文件介绍
ELF文件,大名叫Executable and Linkable Format。作为一种文件,那么肯定就需要遵守一定的格式。从宏观上看,可以分成四个部分:图中的这几个概念,如果不明白的话也没关系,下面我会逐个说明的。在 Linux 系统中,一个 ELF 文件主要用来表示3 种类型的文件:1. 可执行文件2. 目标文件3. 共享文件既然可以用来表示 3 种类型的文件,那么在文件中,肯定有一个地方用来区分这 3 种情况。在我的头部内容中,就存在一个字段,用来表示...
2022-03-31 21:48:23 12964 9
原创 git merge 只产生一个commit的方法
git merge 只产生一个commit的方法假设当初创建本branch的时候,用的是这个命令:git checkout -b <current-branch> --track origin/<other-branch>下面有2种方法可以在把 other-branch 合并过来时只产生一个commit方法-1.git merge --squash origin/<other-branch>或git merge --squash <other-br
2022-02-17 10:27:43 4657
原创 C++异常小结
如果一个函数抛出了一个异常,而调用者没有捕获它,则该异常会进入上一层调用者,并且一直继续下去,直到被捕获或者直到main函数中也没有被捕获而导致程序终止。stack unwindingstack unwinding译作"栈反解"或"栈展开"。异常发生处至捕获处(不包含),每一层创建的局部对象都会被销毁。这种局部对象的自动清理就称为 stack unwinding.标准异常一般来说,使用标准异常类比自定义异常类要方便快捷;如果标准类不能满足要求,可以继承它们从而派生出自己的异常类。所有的标准异常类
2022-02-06 10:12:47 1181
原创 《Essential C++》读书笔记
《Essential C++》是一本老书了,第一版应该是成书于1999年。这一点在其中文译本中竟没有说明。此书作者便是大名鼎鼎的《C++ Primer》的作者 Stanley B. Lippman, 而中译本的作者也很有名,乃是宝岛台湾的侯捷。相较于《C++ Primer》近千页(第5版)的厚重,《Essential C++》的中译本只有281页,若除去附录部分,则只有204页。这其实是一本相对较简单的初级C++书籍。虽然年代久远,仍是珠玉难掩,其中一些东西还是值得一读。这篇读书笔记,只是笔者本人的一
2022-02-05 22:15:44 1659
原创 C++中的RVO、NRVO与Copy Elision
RVO: Return Value OptimizationNRVO: Named Return Value OptimizationRVO 和 NRVO 都是当函数返回值的时候,编译器所做的优化,目前并不是C++标准所规定的内容,因此各家编译器实现可能有差别,另外当函数比较复杂的时候,也可能不会有RVO或NRVO的优化。Copy Elision 是 C++11 新增移动语义后给出的一种建议,即当返回值时使用移动语义替代拷贝语义以减少内存拷贝;它属于标准的建议,因此编译器是否实现了该优化以及如何实现
2022-01-05 23:43:05 984
原创 Linux文件系统笔记
一篇小的读书笔记0, 磁盘大小计算方法盘面数 x 磁道数/盘面 x 扇区数/磁道 x 字节数/扇区 = 磁盘总大小1、机械磁盘随机读写时速度非常慢,操作系统是采用什么技巧来提高随机读写的性能的?操作系统通过按磁道对应的柱面划分分区,来降低磁盘 IO 所花费的的寻道时间 ,进而提高磁盘的读写性能。2、touch 一个新的空文件占用磁盘空间吗?占用的话占用多少?占用一个 inode ,一般是 256字节,要根据实现来看使用命令 dumpe2fs 可以看到 inode 大小3、新建一个空目录占用磁
2021-12-21 23:39:21 408
Lua编程语言详细介绍与实例(PPT)
2012-10-06
Lua5.1全三套:Lua Programming(中英文版)+中文手册
2012-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人