- 博客(111)
- 收藏
- 关注
原创 封装Tcp Socket
本文中用到的Log.hpp。TCP相对于UDP更加复杂,这里只介绍TCP的封装,学习完后,大家可以自己尝试UDP的封装。1. 服务端if(argc!sleep(1);// 注意资源的释放return 0;2. 客户端if(argc!if(!return 0;sleep(1);return 0;3. 通信测试。
2025-04-13 16:42:46
550
原创 Backtrader从0到1——Data Feeds【入门篇】
所谓Data Feeds,翻译过来就是数据推送。笔者在学习Data Feeds模块时,发现官网上很多部分的代码都过分冗余,并且真正有实际应用意义的内容也不多。本文将着重介绍CSV格式文件的加载方式,以及pandas数据的加载方式。笔者在加载这些数据时,已经形成了一套自己的体系,包括CSV文件内容格式,如何读取,以及自定义CSV类型参数持久化,都有自己的一套规范。希望大家在学习时,也能形成一套自己的使用体系。
2025-04-12 15:25:44
907
原创 Backtrader从0到1——第一个回测策略
本人翻阅了大量资料,以及市面上的Backtrade教程,大多都晦涩难懂,或者模棱两可,也不系统。迫于无奈,只能通过Backtrader的官方文档慢慢学习。可官方文档是英文的,使用翻译软件翻译的结果,也差强人意,只能凭借着即将消失的英文记忆,慢慢啃原文。于是,笔者决定,将啃到的内容做一下整理,分享给大家。也是做一个Backtrader的系统性教程,希望大家支持。本系列文章除了讲解文档中的内容外,还有一些我自己的理解。笔者不生产文档,只是文档的搬运工!!!
2025-04-10 23:17:49
984
原创 CSRF跨站请求伪造——入门篇【DVWA靶场low级别writeup】
本文将带你实现一次完整的CSRF攻击,内容较为基础。了解cookie;已经安装了DVWA的靶场环境(本地的或云的);下载了专业版BurpSuite;1. 模拟一次“正常”的上网行为有一天,我打开了一个银行的网页(我们模拟的银行网站),想要给我的朋友转钱:转完钱后,我又去浏览了其他“好看”的网页:看了一会儿之后,再次回到银行页面查看余额,发现钱没了!!!又刷新了一次好看的页面,再去看银行,钱更少了!!!这是什么情况?2. 分析作为一名网络安全的选手,怎么甘心钱就这么消失了呢?肯定有猫腻。
2025-04-03 22:44:40
1013
原创 PHP基础二【变量/输出/数据类型/常量/字符串/运算符】
在所有函数外部定义的变量,拥有全局作用域。除了函数外,全局变量可以被脚本中的任何部分访问(先创建,再访问),要在一个函数中访问一个全局变量,需要使用。在上面的例子中,我们不难发现,在给变量赋值时,不需要指定变量的数据类型,编译器会根据所给的值自行判断。你可以在不同函数中使用相同的变量名称,因为这些函数内定义的变量名是局部变量,只作用于该函数内。我们把5赋值给变量x,把6赋值给变量6,把x+y的值,赋值给变量z,最后输出z的值。在强类型的编程语言中,我们必须在使用变量前先声明(定义)变量的类型和名称。
2025-04-03 17:52:45
1150
原创 Ollama部署本地大模型【部署DeepSeek】
总的看来,大模型的本地部署,有它的必要性(数据安全问题),但是也有很大局限性,尤其是在硬件资源不足的情况下,很难运行起来。即使能运行,资源不足,也是一些“智障”模型。!!
2025-04-02 16:28:32
895
原创 守护进程化
相信大家已经知道它的两个参数是什么意思了,和我们写的功能一样,只不过含义相反。但是我们一般不建议使用系统的。,因为不同系统的这个函数,默认行为可能有所差别,还是使用自己的比较稳妥,且这个接口实现起来也不麻烦。终端是“窗口”,提供交互界面;Bash是“大脑”,处理命令逻辑。系统也提供了将进程守护化的接口。
2025-03-24 23:28:09
621
原创 网络编程套接字【端口号/TCP&UDP/网络字节序/socket编程接口/UDP&&TCP网络实验/TCP通信全流程】
学习日志。并且要对Linux系统有一定的了解,遇到知识盲区可以去看我的Linux专栏。
2025-03-18 22:44:26
1000
原创 网络基础(一)【网络发展/认识协议/网络 VS 系统/以太网通信原理/重谈协议/网络中的地址管理】
同一个局域网中的主机,连接在同一个网线中,如果主机A想向主机B发送一个消息“你好”,只需要知道主机A和主机B网卡的mac地址即可,这个信息携带着主机A和主机B网卡的mac地址,发送到了网线上,所有连接在这个网线上的主机都收到了这个信息,只是有的主机解析该信息后,发现mac地址不是自己的,也就不是发给自己的,就把这个信息丢弃了。在同一个局域网中,两台主机可以直接通信,每一个网卡都有一个mac地址,这个mac地址是全球唯一的(mac地址也可以虚拟,例如虚拟机的mac地址就是虚拟出来的)
2025-03-08 23:19:56
1031
原创 MySQL快速入门——数据类型
说明:不建议在添加枚举值,集合值的时候采用数字的方式,因为不利于阅读。表示的范围更大,其他所有地方都一样。即可,只是占空间8个字节,比。
2025-02-25 15:28:20
736
原创 Linux从0到1——线程池【利用日志Debug】
每一个线程需要执行的逻辑是,先从任务队列中拿任务,如果没拿到(说明任务队列为空),就先等待;拿到了就立即执行该任务。线程池一般在整个程序中只有唯一一份,适合用单例模式实现,下面实现“懒汉”线程池。进线程池内部的任务队列中,多个线程并发的从任务队列拿任务,并执行。这个线程池要有一个任务队列。
2025-02-15 23:04:28
946
原创 Linux从0到1——线程同步和互斥【互斥量/条件变量/信号量/PC模型】
这个学生学习完了,准备走了,刚出自习室大门,突然又不想走了,又回去了。出现这种问题,单纯的互斥是解决不了的,还需要引入同步机制,让各线程的执行具有一定的顺序性。这时管理层出了一个规定,一旦你出了自习室的门,就必须把钥匙交出去,给后面排队的学生。假设现在有一个场景:一群学生在轮流使用一个自习室,这个自习室每次只能容纳下一个人,且只有一把钥匙,只有拿到钥匙的人才能进入。不难看出,条件变量很好的解决了互斥情况下,可能存在的饥饿问题,提高了互斥的效率。钥匙就是我们之前说的“锁”,而学生就是一个一个的“执行流”,
2024-12-27 17:47:17
1099
原创 Docker之技术架构【八大架构演进之路】
本章意在让大家了解Docker出现的历史原因,从宏观上认识Docker以及Docker在架构中起到的作用。
2024-12-24 14:35:18
1234
原创 Linux从0到1——初识线程【什么是线程/线程控制/详解tid】
1. 线程概念课本上的概念:线程是比进程更加轻量化的一种执行流;线程是在进程内部执行的一种执行流。我们的理解:线程是CPU调度的基本单位;进程是承担系统资源的基本实体。2. 理解线程每创建一个进程,就需要创建对应的地址空间mm_struct,PCB,页表。开销实际上是比较大的。那么可不可以设计一种更轻量级的进程?让这种轻量级进程,和主进程共用一个地址空间,共用一个页表?
2024-12-16 23:10:51
1174
原创 决策回归树【原理/算例/决策回归树 VS 线性回归】
决策回归树,虽然叫做“回归”树,但是它的本质还是分类算法,只是分的类别多一点。此处的得分是R2值。
2024-11-24 21:43:04
1065
原创 决策树分类算法【sklearn/决策树分裂指标/鸢尾花分类实战】
决策树属于有监督机器学习的一种,起源非常早,符合直觉并且非常直观,模仿人类做决策的过程,早期人工智能模型中有很多应用,现在更多的是使用基于决策树的一些集成学习的算法。这一章我们先把决策树算法理解透彻,有利于后面学习集成学习。1. 示例一我们有如下数据:ID拥有房产(是/否)婚姻[单身,已婚,离婚]年收入(单位:千元)无法偿还债务(是/否)1是单身125否2否已婚100否3否单身70否4是已婚120否5否离婚95是6否已婚60否7是。
2024-11-23 14:52:11
1125
原创 MySQL快速入门——库的操作
可以告诉我们当前有哪些用户连接到我们的MySQL,如果查出某个用户不是你正常登陆的,很有可能你的数据库被人入侵了。以后大家发现自己数据库比较慢时,可以用这个指令来查看数据库连接情况。注意:不要随意删除数据库。
2024-10-24 23:13:54
9399
4
原创 多元线性回归【正规方程/sklearn】
这种最小二乘法估计,我们可以认为,假定了误差服从正太分布,认为样本误差的出现是随机的,独立的,使用最大似然估计思想,利用损失函数最小化 MSE 就能求出最优解!所以反过来说,如果我们的数据误差不是互相独立的,或者不是随机出现的,那么就不适合去假设为正太分布,就不能去用正太分布的概率密度函数带入到总似然的函数中,故而就不能用 MSE 作为损失函数去求解最优解!所以,最小二乘法不是万能的。还有譬如假设误差服从泊松分布,或其他分布那就得用其他分布的概率密度函数去推导出损失函数了。
2024-10-22 11:40:46
1445
原创 VSCode配置Python开发环境【练习环境VS工程环境】
学习完这篇博客后,相信大家已经掌握了如何用Minconda管理虚拟环境。终端窗口,不会显示当前所处的虚拟环境,所以最好切换成。
2024-10-19 16:43:23
1329
原创 Linux从0到1——信号【信号的概念/信号的产生/Core Dump/信号的保存/信号的处理/可重入函数/volatile/SIGCHLD】
函数访问一个全局链表,有可能因为重入而造成错乱,像这样的函数称为不可重入函数,反之,如果一个函数只访问自己的局部变量或参数,则称为可重入(Reentrant)函数。信号的处理是有优先级的,并不是先收到哪个信号就先处理哪个,这个我们不做研究。,插入操作分为两步,刚做完第一步的时候,因为硬件中断使进程切换到内核,再次回用户态之前检查到有信号待处理,于是切换到。是一个布尔函数,用于判断一个信号集的有效信号中是否包含某种信号,若包含则返回1,不包含则返回0,出错返回-1。,因为处理信号的动作,会自动中断休眠。
2024-10-10 22:38:01
1004
原创 VSCode搭建C/C++开发环境【Windows】
VSCode毕竟是一个高级的编辑器,只能用来写C/C++代码,不能直接编译代码。所以,如果我们要能使用VSCode搭建C/C++的编译和调试环境,还必须有编译器使用。为了方便,我们就使用。快捷键,在弹出的界面中选择:【C/C++:编辑配置(UI)】,然后进入设置页面。将下载后得到的文件解压缩,得到一个文件夹。接下来将这个文件夹放在一个方便管理的地方,建议放在C盘或D盘的根目录下。在弹出的页面中,选择【C/C++:gcc.exe 生成活动文件】现在我们想在另一个目录中,编译执行代码,只需要将这个。
2024-10-08 20:49:17
3242
原创 滑动窗口_找出字符串中所有字母异位词、串联所有单词的子串_C++
的子串,返回这些子串的起始索引。不考虑答案输出的顺序。指字母相同,但排列不同的字符串。
2024-10-05 23:38:21
422
1
原创 滑动窗口_水果成篮_C++
你想要尽可能多地收集水果。你正在探访一家农场,农场从左到右种植了一排果树。这些树用一个整数数组。,返回你可以收集的水果的最大数目。棵树上的水果种类。
2024-10-05 17:47:41
329
原创 双指针_复写零_C++
请你将该数组中出现的每个零都复写一遍,并将其余的元素向右平移。注意:请不要在超过该数组长度的位置写入元素。进行上述修改,不要从函数返回任何东西。给你一个长度固定的整数数组。
2024-10-05 14:46:18
534
原创 BFS解决多源最短路问题_01矩阵_C++【含多源最短路问题介绍+dist数组介绍】
如图,红色是出发点,蓝色是终点。以前我们做的题中,出发点只有一个,所谓多源的意思就是,出发点有多个,求最短路径。当然,这种题的解题思路就是,将所有的出发点,合在一起,变成一个超级源点,直接计算从这个超级源点出发,到目标点的最短距离即可。
2024-10-03 21:41:20
1087
原创 BFS解决最短路问题_最小基因变化、单词接龙_C++
记录了所有有效的基因变化,只有基因库中的基因才是有效的基因序列。(变化后的基因必须位于基因库。这些变化关系和基因构成了一副无向图,并且边权唯一。一次基因变化就意味着这个基因序列中的一个字符发生了变化。基因序列可以表示为一条由 8 个字符组成的字符串,其中每个字符都是。所需的最少变化次数。如果无法完成此基因变化,返回 -1。进行变化,就可以得出四个不同的基因。如此一来,就将该问题转化为了边权为1的最短路问题。默认是有效的,但是它并不一定会出现在基因库中。如图,假设起始基因为。,可以变化的字符只有。
2024-10-03 15:10:08
1060
原创 BFS解决最短路问题_迷宫中离入口最近的出口_C++【含最短路问题介绍】
假设我们要从A点到G点,想要找到一条最短的路径,就是最短路问题。当然每个节点之间的权值可能不为1,但是今天我们只讨论边权为1的最短路问题,因为BFS算法只适用于边权为1的最短路问题。
2024-10-02 23:11:03
414
原创 BFS解决FloodFill算法_岛屿数量、岛屿面积、岛屿周长_C++
给你一个由 ‘1’(陆地)和 ‘0’(水)组成的的二维网格,请你计算网格中岛屿的数量。岛屿总是被水包围,并且每座岛屿只能由水平方向和/或竖直方向上相邻的陆地连接形成。此外,你可以假设该网格的四条边均被水包围。这道题不同于“图像渲染”,它涉及到一个死循环访问的问题。位置开始BFS搜索,假设会先访问到。位置开始BFS搜索时,会再次访问到。在上面的网格中,假设我们先从。,这样就会产生循环访问。
2024-10-01 16:11:31
520
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人