- 博客(201)
- 资源 (32)
- 论坛 (6)
- 收藏
- 关注

原创 Python操作Excel工作簿(\*.xlsx)
`Excel` 作为流行的个人计算机数据处理软件,混迹于各个领域,在程序员这里也是常常被处理的对象,可以处理 `Excel` 格式文件的 Python 库还是挺多的,比如 `xlrd`、`xlwt`、`xlutils`、`openpyxl`、`xlwings` 等等,但是每个库处理 `Excel` 的方式不同,有些库在处理时还会有一些局限性...
2020-03-15 17:29:27
4653
69

原创 MySQL数据库导入、导出、复制表、重命名表
提前说明这是一篇小白总结,高手勿喷请绕行,写这篇总结的原因是发觉自己有时候确实眼高手低了,大道至简,花了很多时间去看索引、缓存、主从等等,等到出现实际问题的时候却发现自己磨磨蹭蹭写出的SQL语句居然有语法错误,看来还得稳扎稳打从基础入手,因为实际工作的用到的SQL并不多,现在把常用的几条总结一下,即使下次不能立马写出来,也能在这篇文章中的快速找到想要的...
2019-11-30 14:13:09
1438
22

原创 linux环境下常用的打包、压缩、解压命令(tar、gzip、bzip2、zip)
经常使用电脑的人常常会接触到压缩文件,不管是软件、数据还是资料,下载之后通常就是一个压缩包,在Windows平台上如果安装了WinRAR或者360压缩,不管是什么格式的压缩文件,一般点击压缩文件右键选择解压选项即可,非常地方便。正因为长时间在Windows平台上方便的解压文件,导致我对打包、压缩的概念理解错误,结果在linux操作压缩文件时有很多疑问,今天终于明白了一点,专门总结一下,同时列举常用的压缩、解压命令,方便日后查找使用...
2019-11-06 17:10:56
1547
20

原创 float的精度和取值范围
前言关于float的精度和取值范围这个问题,我查询了很多次,每次都是用完就忘了,等到再使用的时候还需要再次查询,关键是这个问题大家给出的结果并不都是一致的,我得从众多的资料当中选择出正确的观点,这还要额外花一些时间,所以我决定也总结一次,方便我以后拿来直接用了,如果能给大家带来帮助那就更好了。下面提到一些说法很多都是我个人的理解,如果大家有疑义,欢迎讨论。精度限制首先考虑下为什么会产生精度...
2019-06-16 12:11:00
39575
84

原创 智能指针(三):weak_ptr浅析
weak_ptr这个指针天生一副“小弟”的模样,也是在C++11的时候引入的标准库,它的出现完全是为了弥补它老大shared_ptr天生有缺陷的问题,其实相比于上一代的智能指针auto_ptr来说,新进老大shared_ptr可以说近乎完美,但是通过引用计数实现的它,虽然解决了指针独占的问题,但也引来了引用成环的问题,这种问题靠它自己是没办法解决的,所以...
2018-09-01 14:36:26
24697
25
原创 记一次解决Intel 9462无线网卡的笔记本安装Ubuntu16.04后无法连接WIFI问题的艰难历程
文章目录前言安装环境解决方案安装过程初始环境安装Ubuntu16.04.2硬件禁止问题激活无线网卡更新软件列表附加驱动更新内核1安装Ubuntu16.04.7查找网卡版本更新内核2安装Ubuntu20.04.1安装Ubuntu18.04.5再次安装Ubuntu16.04.7踩过的其他坑总结前言一台新申请的ThinkPad-X390笔记本需要安装Ubuntu系统,为了统一工作开发环境,选择了大家一直都在使用Ubuntu16.04版本,虽然这个系统版本旧一点,不过同一个版本出现开发环境问题也好排查,但没想到
2021-01-17 00:19:09
177
原创 在比较Linux和Windows命令差异时意外发现了Windows Terminal
目前工作时的开发环境是 `Windows` + `Linux`,常常需要切换测试环境,比如写一个脚本既要在 Windows 使用,同时也要在 Linux 下运行,命令的使用是 Linux 的强项,它自带了很多方便的命令程序,比如过滤字符串的 `grep`,统计文件行数的 `wc`,查看目录文件的 `ls` 等等,如果要在 Windows 中运行相同逻辑的脚本...
2021-01-10 00:54:22
133
2
原创 2020年终总结!新的起航,新的征程
从2019年开始意识到年终总结的意义,通过反思自己的得失进而确定今后的方向,既然去年开了头,今年也不能中断,依旧写写每天的流水账,细数最近一年发生的故事...
2021-01-01 00:31:00
327
2
原创 system_clock::now()和time()时间函数混用带来的踩坑经历
时间是一个可怕的东西,听说能用来杀猪。在编程世界中,时间也控制着一个维度,常常伴随着程序运行而流逝,有时也会影响着程序的运行的逻辑,所以在程序中处理时间时还是要仔细一些,最近连续踩坑,总结一下给自己提个醒,有些逻辑还是需要抱着怀疑的态度去看待...
2020-12-14 00:36:04
258
原创 C/C++中有符号数隐式类型转换成无符号数需注意的问题
隐式类型转换转换是一个挺基础的概念,即使对于初学者来说都不会陌生,一般情况下是指数据类型的转换是由编译系统自动进行的,不需要人工干预的类型转换方式。与之相对的是强制类型转换,在进行转换时必须使用强制类型转换运算符进行转换,这种也被称为显式转换...
2020-12-08 00:10:17
109
原创 简单聊聊01世界中编码和解码这对磨人的小妖儿
在程序员生活的01世界中有两大Boss级难题,分别是缓存失效和命名问题,对比这两大难题来说,编码和解码只能算是小妖儿了,只不过这两个小妖儿出镜率很高,有时确实很磨人的,得多花些时间捋顺一下...
2020-11-29 23:11:17
221
原创 linux环境下使用netstat命令查看网络信息
`netstat` 这个命令一直以为是 net status 的缩写,今天一查发现并没有找到官方的这种说法,然后参考了 man 手册,发现这个词更像是 net statistics 的缩写,命令的作用是显示网络连接、路由表、接口连接、无效连接和多播成员关系的...
2020-11-23 01:44:02
194
原创 学习cmake从成功编译一个小程序开始
在 linux 开发环境下通常会使用 gcc 或者 g++ 进行编译,可是编译选项有点多,当工程非常大的时候需要写的编译参数太多了,这时可以使用make命令来帮助我们编译 C++ 程序,编译时依赖一些规则,这些规则就写在一个叫 Makefile 的文件中...
2020-11-15 23:57:57
117
原创 linux环境下sed命令的基础用法
sed并不是一个单词,而是 stream editor 的缩写,本意为面向字符流的编辑器,说白了sed就是用来编辑文件的命令,编辑文件是我们每天经常做的工作,但是如果每天的编辑工作都类似,我们就要考虑使用sed工具来提高工作效率了,比如说把今天新增的100个文件的第一行都加上版本信息,虽然手动编辑也能做,但是你想体验一下敲个命令瞬间搞定这件事情的快感吗,我们来学习sed命令吧...
2020-11-07 23:08:32
84
原创 关于数据一致性的思考
也不知道是谁这么有才,居然发明了1024这个程序员的节日,其他的节日都是买买买,唯独这个节日促销活动少的可怜,连早上买菜都是占了第二天重阳节的便宜,除了程序员们自嗨,也没人来给码农们庆祝了...
2020-10-24 22:54:59
111
原创 linux环境下使用sort命令完成常见排序操作
linux 系统下的命令常常给人一种短小精悍的感觉,使用起来就像一把把锋利的小刀,在自己专注的领域做到极致,今天要聊的就是 linux 环境下的排序命令 `sort`,处理文本按列排序非常方便,最近使用 `sort`命令来排序日志查找问题...
2020-10-18 15:57:48
225
原创 使用Spreadsheet Compare工具对比Excel文件差异
与 `Spreadsheet Compare` 这个工具的相遇是通过 TortoiseSVN 来牵线的,在使用 SVN 管理 Excel 表格时发现,TortoiseSVN自带的比较工具不能查找Excel文件的版本差异,这对于通过日志查找问题来说非常不方便,通过搜索发现了 `Spreadsheet Compare` 这款优秀的工具,特此记录一下,方便日后查找并快速配置...
2020-10-12 00:31:36
619
原创 Go语言在解决实际问题时的优点与不便
`Go`语言,全称`golang`,是Google开发的一种静态强类型、编译型、并发型并具有垃圾回收功能的编程语言。 从2007年末由 Robert Griesemer、Rob Pike、Ken Thompson 主持开发,其中的 Ken Thompson 可是和 Dennis Ritchie 一起发明了C语言的大佬。Go 语言2009年11月正式宣布成为开放源代码项目...
2020-10-04 23:24:07
110
原创 东拉西扯01世界的沧海桑田
此篇非技术总结,但却与技术相关,写这篇总结的起因是前两天看了一节关于虚幻四的公开课,这节课也不是讲开发技术,更多的是讲创作艺术,课程开始前看到虚幻编辑器的画面,还是有一种很熟悉的感觉,毕竟使用了3年多的时间,外观几乎没有变化,使用方式依旧是原来的步骤,但随着课程的进行,我发现它变了...
2020-09-27 00:29:14
265
原创 C++求解组合数的具体实现
很少写关于具体算法的总结笔记,因为很难把一个算法从头到尾的叙述清晰并且完整,容易造成误解。这次想总结一下组合数的具体实现,原因是最近总是碰见组合数,所以决定来写写,免得每次从头推导公式耽误时间。排列组合经常会作为一个问题解决方案中一部分...
2020-09-20 12:54:34
1066
16
原创 C++中优先队列priority_queue的基础用法
学习优先队列之前先看个单词队列 queue, 这个单词的读法很多人都能独对吧,音标是 `/kjuː/` ,再看一个双端队列 deque,它的音标是 `/dek/`,应该有人读错了吧,反正我是没读对,刚开始看见一次错一次,现在还好了,基本能记住怎么读了,可是这些队列怎么用呢...
2020-09-12 17:28:51
977
7
原创 git log根据特定条件查询日志并统计修改的代码行数
想要统计就得有数据源,而 `git log` 命令恰恰就能提供这个数据源,`git log` 本身就是一个显示日志的命令,日志记录的是代码库变化的数据,类似于描述代码库变化的 “史书”,想要描述历史就需要大量的数据支撑,想要统计修改的代码行数,只要我们从历史记录中找到需要计算的部分就可以了...
2020-09-07 00:31:06
845
4
原创 Python中时间戳、时间字符串、时间结构对象之间的相互转化
使用 Python 写程序的时候常常要查看中间结果,需要把一些内容记录到日志中,为了不让新产生的日志覆盖之前的日志文件,所以通常使用时间字符串来作为文件名,类似于 `2020827_233842.log` 这种格式...
2020-08-30 22:16:54
912
7
原创 GDB调试指北-启动调试或者附加到进程
要想使用 `gdb` 调试程序,必须让 `gdb` 程序和被调试程序建立联系,这种联系可以通过程序的可执行文件、core文件或者正在运行的进程来建立,具体调试的时候使用的选项不同,涉及到参数的传递,选项的顺序,多进程启动前的设置等等...
2020-08-25 00:29:31
140
原创 Redis源码-BFS方式浏览main函数
欠下的技术债慢慢还,继续为去年吹过的牛而努力。去年年末的时候意识到自己掌握的知识还不够深入,决定开始看一些开源项目的源码,因为当时 `Redis` 的兴起,所以瞄准了准备从它下手,之后确实看了一部分内容,比如跳表、网络事件库等等,后来过年就鸽了。今年开始一直熟悉新的业务,比较懒没跟进,最近间歇性踌躇满志又发作了...
2020-08-16 00:09:26
222
2
原创 GDB调试指北-启动GDB并查看说明信息
学习 `gdb` 使用是一个漫长的过程,先了解一下 `gdb` 的启动方式和基础信息的查看方法,能够帮助我们更全面的认知这个工具。`gdb` 是一个交互式命令行程序,在使用 `gdb` 调试的时候不断的在命令行内输入命令,然后 `gdb` 程序就会给出反馈信息,这在很大程序上可以帮助我们调试程序问题...
2020-08-08 00:15:03
924
2
原创 小白眼中的docker究竟是个什么东西
`Docker`,中文名:容器引擎,别名:小鲸鱼,生于2013年3月20日,有一个法裔美籍的母亲 `Solumon Hykes`,父亲是谁,不得而知。虽然只有7岁,但是在 `Hello World` 平行宇宙中也算进入了青壮年吧,正在飞速的发展着...
2020-08-01 00:37:01
4635
13
原创 GDB调试指北大全
`GDB` 作为程序调试利器,是一个受通用公共许可证(GPL)保护的自由软件,全称是 `GNU Debugger`,又常常被称为 `GNU symbolic debugger` 或者 `GNU project debugger`,能够帮助开发者调试程序,分析应用程序运行过程。目前支持调试 `C`、 `C++`、 `D`、 `Go`、 `Objective-C`、 `Fortran`、 `Java`、 `OpenCL C`、 `Pascal`、 `assembly`、 `Modula-2`、 `Ada` ..
2020-07-26 00:22:31
1265
6
原创 gdb调试解决找不到源代码的问题
通过 `gdb` 启动程序,打好断点运行,开始调试输入 `list` 命令,结果发现找不到源代码,是不是很糟心,让我们来看看怎么解决这种情况...
2020-07-18 23:16:49
2025
原创 Shell脚本中获取命令运行结果、特殊变量使用、条件判断等常用操作
最近在处理一个 `Python` 局部变量的作用域问题时发现有些奇怪,想起了之前常写的 `Lua` 脚本,于是想写个函数测试一下,结果发现短短的十几行代码出现了多个错误,这可是我写了近三年的代码啊,才放下半年就记不清了,所以知识这个东西还是要不断“温故”,今天要总结的 `Shell` 脚本命令也是,基本属于一看就会,一写不对的状态,所以还是要把常用的操作总结到一起,方便查找和复习...
2020-07-11 00:49:49
2395
9
原创 根证书的应用和信任基础
人生在世总要相信点什么,信亲人、信朋友、信你面前的陌生人,即便这些你都不信,也要信自己吧,假如连自己都不信了,那在地球上恐怕很难生存了。我们把钱存入银行,因为我们相信当我们需要用钱时可以通过银行卡把钱取出来;我们拿着车票准时来到候车大厅,因为我们相信除非特殊情况,我们买的那趟车绝不会提前丢下我们而去;遇到纠纷我们会选择打官司,因为我们相信法官最后会给我们公正的判决结果...
2020-07-06 00:11:45
488
原创 C++中的std::lower_bound()和std::upper_bound()函数
问题是躲不掉的,该来的总会来,这不是代码中又遇到了 `std::upper_bound()` 函数,再来学习一遍好了,在我的印象中每次看到这 `lower_bound` 和 `upper_bound` 两个函数都有些别扭,凡是见到他们必须查一遍,因为我记得它们两个函数的作用不对称,这一点记得很清楚,但是它们两个函数查找的细节却记不住,这次总结一下,强化记忆,下次回忆起来应该会快一点...
2020-06-26 23:33:05
1557
6
原创 码龄10年工作6年的搬砖小哥,最常访问的学习网站都在这里了
最近看到一篇总结学习网站的文章,发现很有收藏价值,所以也想试着把自己常用的学习网站总结到一起,之前确实用过一些比较好的网站,有些网站是查找问题时找到的,但是解决完问题就找不到了很可惜,所以我养成了收藏网址的习惯,感觉有用就会分门别类的添加到书签中,再次遇到之前解决过的问题就先在书签里搜一下,有时候会加快解决问题的进度...
2020-06-20 00:19:24
3734
16
原创 认证、HTTPS、证书的基本含义
其实密码技术除了应用在加密领域外还有很多其他的用途,比如验证数据的完整性、用来做认证、提供一些不可否认的证据等,这些应用也常常出现在我们的日常生活中,比如很多官方网站在提供软件下载链接的同时,还附带一个验证的字符串,实际上很多就是md5码或者hash码,这些就是供下载的人来验证完整性的,防止被其他人篡改...
2020-06-14 23:44:17
653
2
原创 对称加密、非对称加密、公钥、私钥究竟是个啥?
世界上有没有不能破解的密码或加密方式?还真有一种,叫做一次性密码本,这时唯一一种不能破解的加密方式,而其他的密码只要时间无限理论上都是可破解的,如果你也对加密这个领域感兴趣,可以简单了解下这些概念...
2020-06-07 23:29:20
1031
10
原创 git在回退版本时HEAD~和HEAD^的作用和区别
今天总结一个小知识点,虽然不难,但是对新手有很强的迷惑性,了解一下也挺好。我们在使用 Git 回退到版本的时候,可能见过这种写法 `git reset --hard HEAD~`,有时候也会遇到这种写法 `git reset --hard HEAD^`,这两个语句都是将代码库还原到上一个版本,但是只差了一个符号,他们究竟有什么区别呢?这里先给出结论:`HEAD~` 和 `HEAD^` 含义不同,功能一样...
2020-05-31 15:18:26
2796
8
原创 配置Beyond Compare 4作为git mergetool来解决git merge命令导致的文件冲突
使用 `git merge` 命令合并代码的时候可能会产生文件冲突,产生这种冲突的根本原因是文件的同一处同时被多次修改,这种同时修改常体现的不同分支上,当多个分支修改了同一处代码,再合并代码的时候就会产生冲突,因为 `git` 程序也不知道我们想要保留哪一份修改,这时就需要我们手动修改产生冲突的文件...
2020-05-23 00:51:55
1853
18
原创 使用c++filt命令还原C++编译后的函数名
这个命令功能单一,但是非常强大,可以用来还原C++编译后的函数名,为什么C++的函数名需要单独的命令来还原,因为他们看起来都是这样 `_ZNK4Json5ValueixEPKc`、这样 `_Z41__static_initialization_and_destruction_0ii` 或者这样的 `_ZN6apsara5pangu15ScopedChunkInfoINS0_12RafChunkInfoEED1Ev`,仅通过这一串字母很难知道原函数的名字是什么,参数类型就更难分析了,实际上C++在编译函数时有
2020-05-17 01:02:23
1296
30
原创 汇编指令入门级整理
我们大都是被高级语言惯坏了的一代,源源不断的新特性正在逐步添加到各类高级语言之中,汇编作为最接近机器指令的低级语言,已经很少被直接拿来写程序了,不过我还真的遇到了一个,那是之前的一个同事,因为在写代码时遇到了成员函数权限及可见性的问题,导致他无法正确调用想执行的函数,结果他就开始在 `C++` 代码里嵌入汇编了,绕过了种种限制终于如愿以偿,但是读代码的我们傻眼了...
2020-05-10 20:49:34
2150
30
原创 C++11在左值引用的基础上增加右值引用
右值引用这个词是最开始是学习 `easylogging++` 这个日志开源项目的时候遇到的,当时遇到 `&&` 这样的写法先是一愣,还有这种写法?难道是引用的地址?结果查询资料才明白这叫做右值引用...
2020-05-05 23:21:48
622
20
x86_64-8.1.0-release-posix-seh-rt_v6-rev0.zip
2020-07-03
linux下sed命令在windows上的移植版本工具sed.exe
2020-04-18
UnxUtils_2013-04-24_WithUpdates.zip
2020-04-17
显示当前目录下所有文件的修改时间的工具
2020-04-04
Redis-x64-3.2.100.msi和Redis-x64-3.2.100.zip打包下载
2019-11-22
ActivePerl-5.26.3.2603-MSWin32-x64-a95bce075.exe
2019-03-18
sublime所需的channel_v3.json
2019-01-11
VS2015主题下载 - Son of Obsidian
2018-06-25
VS2015主题下载 - Selenitic
2018-06-25
Lua代码解释器-Release版本-发布版本
2016-09-13
curl源码(支持http跨平台)
2016-06-28
LeakDiag 内存检测软件
2016-06-26
AlbertS的留言板
发表于 2020-01-02 最后回复 2020-07-27
无聊散分,一起聊聊工作之后到底写了多少行代码
发表于 2019-05-08 最后回复 2019-05-14
如何上传一个下载时不需要积分的资源
发表于 2019-03-18 最后回复 2019-05-08
博客原来的评论看不到了
发表于 2019-03-15 最后回复 2019-03-15
CSDN博客中的代码段完全达不到代码片样式中的效果
发表于 2018-11-17 最后回复 2018-12-13
文章标题被强行修改
发表于 2018-04-12 最后回复 2018-04-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人 TA的粉丝