- 博客(218)
- 资源 (7)
- 收藏
- 关注
原创 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
原创 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
原创 深度学习入门-第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 condition(竞态条件)是C++多线程编程面临的基本问题。· 无论操作系统如何调度这些线程,无论这些线程的执行顺序如何交织(interleaving)。· 在即将析构一个对象时,从何而知此刻是否有别的线程正在执行该对象的成员函数?· 多个线程同时访问时,其表现出正确的行为。
2024-08-02 18:14:10
206
原创 COMP9315-install and setup postgresql15.6/11.3
学习需要安装一个最新的postgresql版本,参考最新的链接。
2024-07-29 20:37:10
307
原创 现代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
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人