自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(218)
  • 资源 (7)
  • 收藏
  • 关注

原创 文章集锦-值得反复修订的文章

GDB相关:gtk4+gdb线程观察-线程卡牢为哪般-优快云博客

2025-03-10 21:33:49 153

原创 sourceinsight安装,为postgresql学习做准备

一番搜索,找到2个版本,我都试过了,可以安装上。2025年如果有时间,要学习一下postgresql源码,推进武汉大学的彭志勇/彭煜玮 写的《PostgreSQL数据库内核分析》--新南威尔士大学【中英⚡Postgres数据库实现原理|COMP9315 2018。安装si3.5也是有效的,下面链接明明是3.5,作者偏说是4.0,不知是何用意。--看他用的是source insight 4.0。安装下面的程序有效:si4.0。

2025-04-04 16:58:52 101

原创 逆向工程核心原理-第二章-helloworld

在EP代码的00FE126C地址处使用Step Into(F7)指令,进入40270C函数--cookie函数,不知道啥意思,和书上并不一样。下载了最新的1.10工具,这个工具看网站上说已经停止开发了,可惜了。还有1个plugin,不知道啥作用,暂不安装。用我的vs2022编写了一个简单的helloworld程序,注意生产的是win32,release。未完待续,这个OllyDbg工具用起来还是比较难的。很厉害的样子,可以不会用,按书上的一步一步走吧。单步调试好像F8走几步就卡住了,不知道怎么解决。

2025-04-02 23:48:23 210

原创 软件大局观--演讲记录

0-10000,000代表4K,10代表16,16页内存,PAGE_NOACCESS代表不可访问,这时操作系统为支持C++的内存0不可访问的定义,支持程序员的编程习惯,这段区域代表空指针。设计非常好,~0,表示0号线程的栈。后面是进程ID.线程ID,栈分为3个部分,PAGE_READWRITE是正在用的,PAGE_GUARD这时保护的,用完了碰到GUARD触发缺页异常,会增长栈grow。winmine.exe的位置:我们VC编译的放到4000位置,微软写的放到10 00000,16M的位置。

2025-03-30 19:41:57 843

原创 算法-第四版

读完这个再读 算法导论,算法导论 也出了第四版,朋友发给我一个PDF文件,躺在电脑里面几年了,没有读,准备导入微信读书,学习完算法后再学,希望到时候能新写一篇体验。看来电子版还是有好处的,在京东读书上买了电子版,准备2025重新阅读一下,踏踏实实的提高算法基础,不被当今AI热潮的急功近利影响,修炼基础内功。因为微信读书我有会员,可以阅读本书,我就是想从京东读书买下来,花了银子,认认真真的读一遍,微信读书主要听一些新书,有好的再买。另外,gongsi屏蔽了微信读书,但可以看京东读书,呵呵,你懂的。

2025-03-30 15:37:56 402

原创 angular19-官方教程学习

C:\Program Files\nodejs\ 目录改为 C:\nodejs\。卸载老的nodejs 20.10.0,安装最新的LTS版本。提示更新npm到最新版本,我就更新一下。已经是19.0.4最新版本了,完美。最新LTS版本已经是22.12.0。重新更新angular。查看angular版本。

2024-12-08 15:58:50 1217

原创 springboot学习-spring-boot-data-jdbc分页/排序/多表查询的例子

上次使用的是JdbcTemplate实现的,是比较老的方式,重新用spring boot data jdbc和jdbc client 实现一遍。也比较一下这几种的编码差异。数据库方面JAVA给了太多选择,反而不好选了。我们需要在代码中动态构建SQL语句来解决这个问题。--这里就直接写,不用占位符了。直接就报错了,才改为了jdbcTemplate.注意有个坑:SQL语法错误引起的,特别是在。JDBC Client应该也行,没有试过。验证通过,这个方法很好。

2024-11-30 18:37:35 316

原创 springboot学习-分页/排序/多表查询的例子

最近喜欢上了springboot,真是个好的脚手架。今天继续学习分页/排序/多表查询等复杂功能。按步骤记录如下。

2024-11-27 20:35:19 585 1

原创 springboot学习-jdbc,jdbc-client,spring-data-jdbc

除了JDBC,当然还有另外一条JPA路线。也就是用hibernate。晚上又看了Dan Vega的视频,讲解了jdbc在spring 的发展史。总之,不同流派各有千秋,类似华山派的剑宗和气宗,谁也不服谁。发言者经验一个网站,教人调优持久层。个人网站也值得一看。

2024-11-25 23:02:09 439

原创 springboot学习-一个完整分页查询的例子

继续学习springboot 3.4.0,今天做一个完整的例子:springboot3.4.0+JDBC API+spring data jdbc+H2 database+Thymeleaf,https://start.spring.io/H2 Database缺省是内存数据库,要手工改为文件数据看,一遍数据能长期保存。application.properties配置文件甚至数据库的相关信息配置后启动,就可以通过h2-console查看数据库了当然这个RUN数据库是resource/schema.sq

2024-11-25 20:41:51 444

原创 springboot学习-openapi

springboot3.4使用swagger2.0,发现不能运行了,网上查了一些,应该是swagger还在使用javax.servlet,而springboot3.4.0已经使用jakarta.servlet,所以根本启动不了。加入后还要定制config类,但是我是找不到org.springdoc.core.models.OpenAPI,暂时不实现了,加了这个依赖,就能直接使用接口了。神奇的是,这些接口可以用于测试,get user是可以调用成功的,完美。最新版本是v2.7.0。

2024-11-24 19:08:10 468

原创 springboot学习-lombok

最新的是23.0.1了,这是发布版本,下载后看看怎么样。然后打开idea,还是报错,发现还是用的jdk24,在project structure里面修改为23.0.1,然后rebuild,就可以编译通过了,完美。下一步就是演练springboot的各种特性了,我最期待的是可以脱离虚拟机,编译成exe文件,这个特性稍后试试,看看后续能否有JAVA编写,exe发布一些小工具。今天学习一下springboot,为了减少set,get的无效编码,特意选择了lombok。中生成pom.xml真是特别方便。

2024-11-24 11:16:56 1105

原创 gmtime不支持多线程并发

这两个日期有一个客户和对端的日期对上,另外一个对不上,我怀疑对端有两个日期,对端程序员说就一份数据,很奇怪。既然双方都认为没有问题,只能靠日志报文检查了,因为偶发,还很难抓住,原来也出过类似问题,都不了了之了,这次想证明是对方问题,就下功夫抓报文,终于抓到了,结果大跌眼镜,同样的整数值,时间转换函数偶发转换成另外的值了,竟然是我们这边的问题。ACE其实是个老古董了,封装的是操作系统libc的库,问了一下豆包,说可能线程不安全,但也不确定,建议看ACE源码,看来ACE相关的信息太少,大模型都给不出确切答案。

2024-11-15 16:45:39 321

原创 缓冲区溢出,数据被踩的案例学习

这个代码通俗易懂,就一个.c文件,主要是使用最传统的gets方法,没有判断输入的内容是否超过了缓冲区长度,造成了buffer的输入覆盖了token内存,token内存被填入了刻意准备的值,绕过了鉴权,登录了系统。export https_proxy="https://xxx:8080",为的是能下载符号。r -- run起来,会提示下载源码,前面我们设置的proxy,顺利下载。继续在ubuntu上学习GDB,今天要学习的是缓冲区溢出。l --list一下源码,可以看到。b main -- 设置断点。

2024-11-14 23:02:36 871

原创 vscode ssh+clion+idea等本周小结-2024.11.3

本周工作并不轻松,但是还是抽了写时间做了些杂七杂八的事情,没有啥头绪,随便记录一下备忘。尤其clion的安装,现在不写估计就忘记了,下次更换机器又不会安装了。

2024-11-03 15:43:13 535

原创 强大的x86指令

一种典型的使用场合就是用来循环处理一个数组,ECX指向数组的基地址,EDX做循环变量,索引数组的元素,而数组元素的长度可以为2、4、8三种。4)最后的rep stos指令是具有循环功能的串指令,它把EAX的值存入EDI指向的内存,然后自动递增EDI,递减ECX。今天调试一个应用程序时,偶然中看到一条很长的x86指令,机器码有11个字节,目标操作数是一个堪称复杂的表达式,于是摘录下来。这3个寄存器的值保存到栈上,防止当前函数破坏了它们的值,根据约定,返回到父函数时这几个寄存器的值应该保持不变。

2024-10-30 19:13:24 862

原创 Linux常用错误码

标准C中便定义了错误码机制,包括记录错误码的errno变量和查找errno对应含义的strerror API。posted on 2013年12月30日 20:41 由。

2024-10-15 23:03:10 924

原创 PG高CPU查询语句收集

最近看了一个视频,介绍相关的SQL语句,记录如下。

2024-10-11 13:07:10 878

原创 gtk4+gdb线程观察-线程卡牢为哪般

这个程序我看是2023年上传的,用的是gtk2,在我的机器上死活跑不起来,界面直接死掉退出。假期出去几天,10.6开始在家休息两天,这两天仔细研究了这个程序,终于将gtk2迁移改造为gtk4,可以在我的ubuntu 上运行了。不过有个缺点,就是界面不能换行,加了\n就运行异常,估计还是没有学好gtk4。这也不影响使用GDB调试这个多线程程序,让我们开始结合这个slock.cpp(我缩短了文件名称)来操练gdb多线程调试吧。lsof -p 30133 --列出打开的文件描述符。可以通过lsof来获取。

2024-10-07 21:31:32 858

原创 gtk4学习

前几天学习GDB,下载了张老师写的一个GTK图形程序,在我ubuntu机器上运行不了,界面直接死掉了。所以今天准备简单学习一下gtk。

2024-09-28 18:51:31 984

原创 winamp开源了

记忆中这是MP3播放器,当年使用很多,看说明是1997年发布的。看代码目录,是QT开发的,按说Linux下应该也能用。开发公司的名字也比较有意思Nullsoft.

2024-09-26 14:18:32 255

原创 C++20-协程

当然还有个比较令人烦闷的事情,VS2022里面,std::suspend_never,std::coroutine_handle,co_await编辑器都标识为错误,这是为啥,VS2022不是号称支持C++20吗?昨天看到一本书,《现代C++语言核心特性解析》,第33章是协程,我机器上安装了vs2022,肯定是支持的,直接运行第一个例子就报错了。显示少了#include <coroutine>,加上后不行,又把项目的C++语言设置为C++20,缺省是C++14。搜了一大圈不明就里,现在搜索质量真是差。

2024-09-25 12:35:33 373

原创 gtk安装和测试

linux的图形库有qt和gtk, qt功能强大,但是商用要付费。gtk是个免费开源的,也不错。现在linux的类似windows办公环境基本是gtk编写的吧(我猜)。linux下的wps好像是用qt写的。提示已经安装,难道是前面的一堆包包括了?不过查看了一下,似乎不包括,而是包括了gtk3-devel-3.22.30, 难道最新的gtk变成3.x版本了?gtk2.x已经过时了,不管了。有个小缺陷,关闭窗口进程也不退出。万里长征走出了第一步。就会弹出一个小窗口,实验成功。闲言少序,开始gtk.

2024-09-23 21:42:13 605

原创 Kubernetes网络权威指南-读书笔记

不畏浮云遮望眼,自缘身在最高层” --让我们一起攀登云原生网络这座高峰。Kubernetes网络权威指南 读书笔记。为读者呈现整个云原生网络的知识体系。基础作为“暖场嘉宾”​,

2024-09-23 09:57:21 194

原创 学习GDB

GDB是linux调试的基本工具,虽然比起windbg来说略显简陋,但也没办法,linux的调试工具只有它了。gdb, gcc,g++先要安装,就不讲了,linux系统都是自带的,手工升级太难,就用系统自带的吧。stp---是把信息压栈--arm64 一次压一对pair:bp,lr。kill -s SIGSEGV pid --段错误。bt -- backtrace 显示栈。frame 3 --我们自己的代码。frame 1 --回到1号栈帧。frame 0 --回到0号栈帧。ctrl-c停不下来。

2024-09-09 08:17:32 396

原创 install zed的失败经历

微信上跳出新闻,rust开发的zed编辑器速度非常快,比vscode体验好很多,处于对rust的好奇,在机器上安装,最终折腾一通失败了,记录一下,对在linux安装经验也是一个总结。2.改为手工下载软件,运行提示 version `GLIBC_2.29' not found (required by ./zed),我用的是glibc2.28,正巧差一个版本,glibc是linux基础库,试了不能升级(公司内部版本,ubuntu估计是可以的)3.按zed提示,源码安装,恰好前期安装了rust,直接安装。

2024-09-04 10:58:54 1328 5

原创 COMP9315-week2-lecture1

2/688/6811/68close(fd)fsync(fd)E.g.int fd;} *DB;int start;int npages;...} *Rel;21/68return db;free(db);return r;free(r);

2024-08-29 20:53:01 1179

原创 COMP9315-week1-lecture4

继续学习week1第四次课。

2024-08-27 12:42:55 838

原创 深度学习入门-第5章-误差方向传播法

5.6.3 Softmax-with-Loss层。5.7.2 对应误差反向传播法的神经网络的实现。5.6 Affine/Softmax层的实现。5.7.3 误差反向传播法的梯度确认。5.7.4 使用误差反向传播法的学习。5.6.2 批版本的Affine层。上一章的数值微分法有个缺点是比较。5.7.1 神经网络学习的全貌图。5.3.1 加法节点的反向传播。5.3.2 乘法节点的反向传播。,本章的误差反向传播法,可以。5.2.1 计算图的反向传播。5.5 激活函数层的实现。5.7 误差反向传播实现。

2024-08-22 16:09:01 231

原创 深度学习入门-第4章-神经网络的学习

数据是机器学习的命根子。比如识别手写数字5,可以从图像中提取特征量,再用机器学习学习这些特征量的模式。其中图像转换为向量时使用的特征量仍由人设计,不同问题需要人工考虑不同的特征量。另一派认为通过仿造人脑可以达到人工智能,自底向上看问题。神经网络(深度学习)称为端到端学习,图像中的特征量也由机器来学习。不管识别5还是识别狗,神经网络都是通过不断学习数据,尝试发现模式。两派一直是人工智能领域“两个阶级、两条路线”的斗争,这斗争有时还是你死我活。今天学习的是神经网络派。一套数据集,无法获得正确的评价。

2024-08-20 14:27:02 496

原创 nat+gre+gso

今天遇到的网络问题,对端回包过大,超过mtu,这时NAT网关(linux)转发包失败,提示进入gso,gre不能分片。wireshark查看报文:内层IP的DF设置了,这是不是不能分片的原因?两层IP的DF flag不一致,是否是这个原因,还需要继续定位。外层IP是运行分片的,但实际没有分片。

2024-08-08 07:39:49 346

原创 std::list里面的push_back和resize效率问题

用第一种用法,是避免了push_back的拷贝构造函数,用的缺省构造函数,对于COPY构造函数效率毕竟低的场景,也许有效。但是大部分时间应该没有啥用。结果:push_back效率最高,高的原因不详。向list里面循环添加数据,两种写法。

2024-08-06 11:25:59 545

原创 Linux多线程服务器编程-1-线程安全的对象生命期管理

C++标准库里的大多数class都不是线程安全的,包括std::string、std::vector、std::map等,因为这些class通常需要在外部加锁才能供多个线程同时访问。如何避免对象析构时可能存在的race condi​t​ion(竞态条件)是C++多线程编程面临的基本问题。· 无论操作系统如何调度这些线程,无论这些线程的执行顺序如何交织(interleaving)。· 在即将析构一个对象时,从何而知此刻是否有别的线程正在执行该对象的成员函数?· 多个线程同时访问时,其表现出正确的行为。

2024-08-02 18:14:10 206

原创 COMP9315-week1-lecture3

-88/129。

2024-07-30 18:25:01 385

原创 COMP9315-install and setup postgresql15.6/11.3

学习需要安装一个最新的postgresql版本,参考最新的链接。

2024-07-29 20:37:10 307

原创 COMP9315-lecture2

学习pg,内容代补充。

2024-07-23 07:50:44 167

原创 现代X86汇编-第一章-X86-64核心架构

昨天本来还要再用vs2022写一个例子,发现.386, .plat,c 甚至函数压栈的push ebp都编译不过,只有附录A的AVX特性的例子过了,才了解到X64已经和以前的32位win32程序有很大不同,需要老老实实的从第一章重新建立新的64位知识体系。:CPU发展史,包括intel,amd两个巨头。

2024-06-12 19:03:12 309

原创 现代X86汇编-C和ASM混合编程举例

端午假期安装好了vs c++2022,并写了个简单的汇编代码,证明MASM真的可以运行。今天需要搞一个实实在在的C++和ASM混合编程的例子,因为用纯汇编的求伯君写WPS的时代一去不复返了。个别关键函数用汇编,充分发挥CPU的特色功能,偶尔还是需要的。有从z-liabrary上下载了这本英文书,导入微信读书,自动翻译为中文,z-libary加微信读书,真是是我实现了读书自由(啥时候财务自由,还远)。这本书的附录A就举了怎样在vs2022环境建立一个C++加ASM的例子,今天咱们就逐步跟着书上学这个例子。

2024-06-11 23:50:40 689

原创 操作系统真象还原-第3章 完善MBR

继续学习第三章,MBR这个引导程序上一次只是打印一个字符串,没有起到引导作用,这一章估计是要做引导了,我设想一个扇区应该不够,会再load一段代码,然后跳到这段代码执行。编译器提供section是为了让程序员在逻辑上将程序划分为几部分,CPU不care。CPU三部分组成:控制单元、运算单元、存储单元。实模式是8086的工作方法,很古老。3.1.2 什么是section。3.1.3 什么是vstart。编译器的工作是给各符号编址。vstart是虚拟起始地址。3.1.1 什么是地址。3.2 CPU实模式。

2024-06-11 21:48:10 311

原创 现代x86汇编-环境安装

今天端午节,独自在家,翻阅了张银奎老师编写的《现代x86汇编语言程序设计》一书,前言部分说明书中示例代码都是用微软visual C++工具编写并使用微软宏汇编(著名的MASM)编译的,好久没有用微软vc++了,假期无聊,装上体会一下现代x86汇编。第一步当然是下载最新的viusal studio, baidu一下:download visual studio。搜到的这个链接竟然打不开。

2024-06-10 20:07:07 420

C++标准程序库

C++标准程序库,侯捷翻译的很不错.希望大家放心下载。我从中受益匪浅

2011-12-19

空空如也

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

TA关注的人

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