自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

择一事终一生

记录,分享,交流,学习

  • 博客(125)
  • 收藏
  • 关注

转载 GDB调试指南-断点设置

上篇《GDB调试指南-启动调试》我们讲到了GDB启动调试的多种方式,分别应用于多种场景。今天我们来介绍一下断点设置的多种方式。本文介绍了常见的断点设置方法,断点设置之后,可以便于我们后期观察变量,堆栈等信息,为进一步的定位与调试做准备。欢迎关注公众号【编程珠玑】

2023-09-16 18:41:59 945

原创 gmssl v2 用 dgst 命令通过 sm2 私钥签名出的结果,在别的工具上无法验签的问题分析

通过分析发现,导致问题的原因是:gmssl v2 调用的算法不是 sm2 算法。

2023-09-14 22:14:20 829

原创 sm2 签名验签

目前发现 sm2 有很多实现,比如 gmssl, openssl 1.1.1 ,openssl 3.0,各种代码库实现等等。实践中发现这些实现会出现不能互相验签的情况。后续研究一下。

2023-09-10 20:42:00 2102

原创 安全启动相关命令使用

安全启动相关的一些工具的使用

2023-07-16 19:36:06 588

转载 CentOS 8: No URLs in mirrorlist error 源的设置

如果你仍然需要运行CentOS 8,你可以在/etc/yum.repos.d中更新一下源。使用vault.centos.org代替mirror.centos.org。现在他们被转移到 https://vault.centos.org。原文链接:https://blog.csdn.net/xiaocao_debug/article/details/122807870。在2022年1月31日,CentOS团队终于从官方镜像中移除CentOS 8的所有包。本质上是用仍在运行的 URL 替换之前的 URL。

2023-02-22 22:46:16 815 1

原创 0-1 背包问题

假设,有一堆种类各不相同的宝石,还有一个背包,这个背包承重能力有限为 17。怎么让背包中装的宝石最值钱。装到包中用 1 表示,不装到包中用 0 表示,所以解是由 0,1 组成的序列。简称 0-1 背包问题。下表是宝石的重量和价值从问题可以看出,已知数据是每个宝石的重量和价值,背包的承重 WWW。用 wiw_iwi​ 表示第 iii 个宝石的重量,viv_ivi​ 表示第 iii 个宝石的价值,装入背包的宝石的最大价值可表示为:max∑i=1nviximax\sum_{i=1}^nv_ix_imax

2022-12-04 12:54:18 436

原创 malloc(): corrupted top size 解决

在运行程序时突然蹦出 malloc(): corrupted top size 错误 第一次 malloc 的内存,存在越界问题,而且没有报错。第二次 malloc 时,就报了 malloc(): corrupted top size 错误解决这个问题,需要排查第一次 malloc 之后内存越界使用的问题。

2022-12-04 11:29:49 2589

原创 排序算法 堆排序

堆排序就是利用堆这种数据结构,实现对数据的排序堆是一颗完全二叉数,有大根堆和小根堆之分,大根堆满足非叶子节点不小于子节点,所以大根堆根节点是最大值;小根堆满足非叶子节点不大于子节点,所以小根堆根节点是最小值。

2022-11-06 16:38:04 187

转载 Troubleshooting “E: Unable to locate package” Error on Ubuntu [Beginner’s Tutorial]

“E: Unable to locate package” Error on Ubuntu

2022-10-04 21:50:47 322

原创 linux centos ubuntu 网络图标消失的解决办法

在使用 linux 的过程中有时会会出现 网络图标消失的问题,这时系统会没有网络。有些 linux 的网络连接由 NetworkManager 管理, 问题应由它解决。

2022-08-08 08:00:00 7792 7

翻译 Python 能做什么

如果你想学或刚开始学 Python,你可能会有这样的疑问。“ Python 能做什么?”由于 Python 的应用十分广泛,这个问题很难回答。但是,它有 3 个主要的应用。 Web development Machine learning Scripting 我们从 Web Develipment 开始。Web DevelopmentDjango 和 Flask 是非常受欢迎的用来进行 web 开发的 python 框架。它们被广泛用于开发服务端代码(后端代码)

2022-05-03 13:49:42 191

转载 不要重复造轮子 Stop Trying to Reinvent the Wheel

“Stop Trying to Reinvent the Wheel(不要重复造轮子 )”, 可能是每个程序员入行被告知的第一条准则。在公司里面,我也会对团队里面每个新进的成员反复灌输这个理念。但要真正做到这一点也非易事。❈寻找轮子所谓“轮子”可以理解为行业里面的技术解决方案。特别是当今开源社区的盛行,开源软件以及开源技术方案层出不穷,这为寻找轮子提供了丰富的途径。避免重复造轮子一个轮子能够个被复用,体现了软件的复用性。使用轮子,本身就是“站在巨人的肩膀上”,最大化享受当

2022-04-27 08:00:00 661

转载 Linux内核红黑树(Red-Black Tree or rbtree)算法的实现

平衡二叉树(Balanced Binary Tree 或 Height-Balanced Tree)又称 AVL 树。它或者是一棵空树,或者是具有下列性质的二叉树:它的左子树和右子树都是平衡二叉树,且左子树和右子树的深度之差的绝对值不超过1。若将二叉树上结点的平衡因子BF(BalanceFactor)定义为该结点的左子树的深度减去它的右子树的深度,则平衡二叉树上所有结点的平衡因子只可能是-1、0和1。(此段定义来自严蔚敏的《数据结构(C语言版)》)红黑树是一种在插入或删除结点时都需要维持平衡的二叉查找树

2022-04-26 23:13:14 726

转载 Markdown中的Emoji

偶然间发现Markdown支持Emoji,这让它变得更加好玩????。通用代码 Unicode使用格式为:&#x+unicode+;比如:Unicode Markdown Emoji U+1F601 😁 ???? U+2709 ✉ ✉ U+1F170 🅰 ???? U+1F1E8 🇨🇳 ???

2022-01-06 22:47:44 397

原创 x64 汇编 参数传递

参数传递在不同的系统上是不一样的windows称作 calling conventionrcx,rdx,r8,r9 用来存储整数或指针参数,按照从左到右的顺序xmm0,1,2,3 用来存储浮点参数其余参数会压入栈中。linux称作 ABI当参数在 6 个以内,参数从左到右依次放入寄存器: rdi, rsi, rdx, rcx, r8, r9。当参数大于 6 个, 大于六个的部分的依次从 “右向左” 压入栈中,和32位汇编一样。参数个数大于 6 个的时候H(a, b, c, d, e,

2022-01-06 22:43:43 3086

原创 如何强制 gcc 链接未引用的静态库中的 目标文件

gcc -o program main.o \-Wl,--whole-archive -lmylib \-Wl,--no-whole-archive -llib1 -llib2gcc 链接时会优先链接动态库,没有动态库的情况下会选择静态库。默认只选择静态库中被引用到目标文件进行链接。使用 -Wlm,–whole-archive 选项会强制将整个静态库连接到可执行文件中,-Wlm,–no-whole-archive 是结束标志。参考https://stackoverflow.com/questio

2022-01-06 08:00:00 1211

转载 gdb调试coredump(使用篇)

参考 https://blog.csdn.net/sunxiaopengsun/article/details/72974548

2021-12-15 22:28:19 552

转载 vscode 调试 go 程序

DebuggingThe Go extension allows you to launch or attach to Go programs for debugging. You can inspect variables and stacks, setting breakpoints, and do other debugging activities using VS Code’s Debugging UI.These debugging features are possible by usin

2021-12-01 08:00:00 3652

原创 Robot Framework

https://robotframework.org/

2021-11-25 21:35:03 107

转载 单元测试和E2E测试

单元测试把代码看成一个个组件,对每个组件进行单独测试测试内容主要是组件内每一个函数的返回结果是不是和期望值一样代码覆盖率是指代码中每个函数的每种情况的测试情况E2E测试把程序当做黑盒子,对于测试的输入,看能否得到预期得到的结果一般用来测试需求可否正确完成适用于代码重构...

2021-11-25 21:30:36 736

原创 python 调用外部程序的方式

2021-11-21 21:12:28 847

转载 https 配置

https配置

2021-11-20 19:02:05 92

原创 正则表达式

https://www.runoob.com/regexp/regexp-tutorial.html

2021-11-19 08:00:00 299

原创 x86 汇编

http://www.ruanyifeng.com/blog/2018/01/assembly-language-primer.html

2021-11-18 21:48:02 186

原创 postgresql psql 使用

本机登录PostgreSQL:psql -U posgtres -p 5432 -h localhost显示数据库列表:\l连接数据库:\c "database_name"在数据库显示表的列表:\dtor\dt+显示表的列表数据:SELECT * FROM "table_name";参考https://www.cnblogs.com/ryanzheng/p/9575902.htmlhttps://tomcam.github.io/postgres/...

2021-11-16 21:43:26 467

原创 gdb 如何跳过断点

https://stackoverflow.com/questions/2956889/how-to-make-a-gdb-breakpoint-only-break-after-the-point-is-reached-a-given-numbe

2021-11-16 21:26:02 1596

转载 Vmware 虚拟机设置主机映射端口

需求: 在一个局域网中通过 Vmware 使用NAT模式创建了一个虚拟机(Linux服务器),实现局域网中所有的主机都能够访问应用场景: 一个开发团队在同一个局域网中进行开发,每个人电脑都是 Windows 系统,但是一般服务器是Linux系统,因此一般开发者需要在自己的电脑中安装一个虚拟机,但是虚拟机一般使用 NAT模式创建,但是该模式下,虚拟机可以访问局域网的其他用户,其他用户却不能访问虚拟机,因此如果其他用户想要访问虚拟机,则可以通过端口映射的方式实现(使用桥连接的方式创建则不会出现以上问题,但是会

2021-11-16 17:54:06 13756 3

翻译 怎么用 gdb find 命令搜索内存

原文怎么用 gdb find 命令搜索内存 ?本文,我们讲讲 GDB 命令 find。有时,当调试时,你需要查找程序内存中的特定字节序列。或者,你想查找特定目标的所有地址。内存中每 8 个字节一个字节序列,表示你想确定的地址。提醒一下,find 命令会返回所有匹配的地址;因此我们必须接受可能存在的错误结果。但能接受-我觉得。find 命令提供了另一种审查程序的方式。我们看看是怎么使用。Hello, world!首先,先写个简单的程序,用作示例。打开你喜欢的编辑器(例如,emacs 或 v

2021-11-13 17:30:59 5272 1

原创 go 程序的调试

go 编译的程序默认包含调试信息,通过 -ldflags "-w -s" 可去除调试信息。其中-w 去掉DWARF调试信息,-s为去掉符号表。go 语言有多种调试方式,可通过 ide,gdb 等方式调试。ide 比 gdb 要方便不少。当没有 ide 时,使用 gdb 也不错。下面分享两个 gdb 使用技巧:# 有时 打断点不知道文件或函数路径可用下面的方法查找info sources # 列出所有源文件info functions # 列出所有函数## 搜索info sources xxxf

2021-11-13 16:00:00 1453

原创 设计师网址

https://hao.uisdc.com/

2021-11-12 08:00:00 66

转载 Dockerfile 多阶段构建

https://maichong.io/help/docker/dockerfile-multi-stage.html

2021-11-10 22:53:26 819

原创 Rust 语言

教程https://www.runoob.com/rust/rust-tutorial.html

2021-11-09 08:00:00 276

转载 开源项目分类

有些开源软件项目欢迎协作,并鼓励外部贡献,例如 Linux 内核。还有一些开源项目几乎与世隔绝,无法容忍外人插手,GIMP、GTK、Gnome 的维护者就属于后一类。除非你是内部集团的一部分,否则你的代码不会得到任何合并。– Hacker News 读者...

2021-11-08 21:11:22 239

原创 markdown

markdown

2021-11-08 20:21:23 80

转载 docker-compose配置networks

docker-compose配置networks默认网络例如, 假设有一个项目,目录名myapp, docker-compose.yml 配置如下:version: "3"services: web: build: . ports: - "8000:8000" db: image: postgres ports: - "8001:5432"当执行 docker-compose up 的时候。会发生以下事情:会创建一个名

2021-11-08 20:03:30 5125

转载 《沙丘》编剧、《权游》作者:MS-DOS我能再用五十年

《沙丘》编剧、《权游》作者:MS-DOS我能再用五十年!-品玩科幻迷期待已久的神作《沙丘》电影版(2021)终于在前不久全球公映了。这部恢弘的史诗电影,改编自美国作家弗兰克·赫伯特的同名科幻小说《沙丘》。原著曾获星云奖和雨果奖,被誉为史上最伟大的科幻小说之一,也是《星战》和《星际迷航》等作品的灵感来源。几十年里,对《沙丘》系列的影视化改编曾有过多次,然而这些项目要么无疾而终,要么出了作品却广受粉丝批评……这让《沙丘》被评价为最难影视化的科幻小说。究其原因,之前的几次影视作品,五毛钱特效、成本太低

2021-11-08 19:59:26 262

转载 搭建私有YUM仓库与内网镜像站

搭建私有YUM仓库私有yum仓库环境系统版本:centos7.4 IP:192.168.1.47 #最好能上公网私有yum仓库服务端配置第一:创建使用yum仓库存放路径mkdir /home/mirros/siyou -p第二:安装必要软件(yumdownloader这个命令在yum-utils工具里,用来下载软件包,但不安装)yum install createrepo yum-utils -y第三:上传自己打包好的rpm包到/home/mirros/siyoucd /home/mirr

2021-11-08 19:53:54 536

翻译 linux elf 文件理解与分析

https://linux-audit.com/elf-binaries-on-linux-understanding-and-analysis/我们理所当然的使用一些真正的工艺品。其中一部分就是 linux 上常见的工具,像 ps 和 ls。虽然这些命令看起来很简单,当仔细探究就会发现很多东西。这就要讲到 ELF(Executable and Linkable Format)。一个广泛使用的文件格式,只有少部分人真正了解。让我们通过这篇介绍教程去了解它。通过阅读本手册,你讲学到:为什么要用 ELF

2021-11-07 08:15:00 2071

原创 bash 快捷指令

!!!!!

2021-11-02 21:47:11 163

转载 armel armhf arm64

32-bit soft-float ARM (“armel”) ,软件浮点32-bit hard-float ARMv7 (“armhf”),硬件浮点64-bit ARM (“arm64”),64位https://www.debian.org/ports/1 这些名词是什么的缩写1.1 armel是arm eabi little endian的缩写。eabi是软浮点二进制接口,这里的e是embeded,是对于嵌入式设备而言。1.2 armhf是arm hard float的缩写。1.3 a

2021-11-02 08:00:00 434

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除