- 博客(51)
- 资源 (4)
- 收藏
- 关注
原创 Spring源码学习:setter循环依赖
1.开始实例化a1.1.在三级缓存中查找a1.2.未找到,开始创建a的Bean实例1.2.1.通过反射对A类实例化1.2.2.将实例对象包装为WrappedInstance1.2.3.将该实例添加到第三级缓存中1.2.4.开始初始化a实例的所有属性1.2.4.1.开始初始化a的属性b,b是setter循环依赖属性1.2.4.2.在三级缓存中查找b1.2.4.3.未找到,开始创建b的Bean实例1.2.4.4.通过反射对B类实例化1.2.4.5.将实例对象包装为WrappedInstan
2023-01-21 21:29:39 1657 1
原创 Sails.js自动化Api实践与测试
开发中为了快速交互数据库,于是需要一个能便捷搭建api的平台。于是学习了一下sails.js框架。本次实践是一次摸索,使用了winston日志记录,supertest单元测试,mongo数据库,hashids哈希值解密。模块: winston+supertest+mongo+hashids。
2022-10-11 18:17:17 784
原创 React.js学习(二):案例源码学习“排序动画”
这里状态管理的代码就阅读完了,同时整个项目的实现也大致可以猜到了,就是借助全局的状态管理器,来完成兄弟元素间的信息传递,所有的模块只需要跟useData和useControls来交流即可。
2022-09-25 23:15:17 359
原创 React.js学习(一):设计并实现一个“任务清单列表”
今日算是React.js学习的第一天,经过昨天前端基本知识的学习,让我能比较顺利的上手React框架。今日实践是一个网页记事清单,由于不是很熟练,任务删除还没写,懒得写的了,做个总结。
2022-09-20 21:00:50 766
原创 前端快速学习记录:实现一个原神时钟(简易版)
正在学习React,今天先快速学一下前端页面的一些基础知识,并做一个小实践。上面是实现时钟的展示。(与原版的还是有许多差距)
2022-09-19 16:38:03 1047
原创 遭遇“挖矿”病毒——TagMiner以及杀毒的尝试
后续可能被黑客再次关顾。这里可以看到,这个文件通过doos.pid文件生成随机的pid,然后一旦发现进程被杀死,就使用生成的pid启动新进程,这样就导致永远都无法靠kill-9命令杀死进程。由于需要校外访问处于内网中的服务器,于是服务器上面使用了内网穿透的软件,在开启内网穿透的两周后,服务器的显卡被匿名为“Python”程序的所高频占用。这里可以发现,此文件会启动后台数据库,收集挖矿数据,又发现病毒文件中包含一个叫nano.backup的文件,应该是用到了nano微型服务器进行挖矿数据传输。........
2022-07-27 21:06:42 1478 3
原创 Netlogo笔记07:蚁群算法实现TSP问题可视化
实现效果:蚂蚁旅行商源码globals [count1 min1 min_list iteration holes_list prior changed]breed [ants ant]breed [holes hole]ants-own [age hos_already km moving nearest]holes-own [dis_list phe_list conbine_list]extensions [rnd]to setup ca set...
2022-05-06 13:05:33 1576 3
原创 Yolov5(2):模型解析与构建源码逐行解析
目录一、模型配置文件解读二、 parse_model函数解析YOLOv5系列:解析索引一、模型配置文件解读nc: 80 # number of classesdepth_multiple: 0.33 # model depth multiplewidth_multiple: 0.50 # layer channel multipleanchors: - [10,13, 16,30, 33,23] # P3/8 - [30,61, 62...
2021-12-27 18:03:04 1531
原创 Yolov5(1):Detect源码逐行解析
开学时,给自己定的学习任务,直到今天才有闲空来完成。一方面是yolo代码初看觉得乱糟糟的,不想读;其次,yolo算法对于初触深度学习的我而言,还是有较大的难度。今天学习成果就是弄懂了,yolov5的Idea+模型的构建+实现源码类似ViT的阅读,阅读完后觉得,还是自顶向下解析比较清晰。一、Yolo v5 模型结构模型整体分为:1.BackBone2.Neck3.Head(在代码中,直观上看似乎作者将Neck和Head放在一起实现了)下方的图中,用四种颜色圈出...
2021-12-22 00:24:50 6972 9
原创 深度学习(4):“完全一致”地复现UNet模型
本次实践的内容为,参考UNet模型结构图,完整复现模型,1.分析模型上图为UNet原文中的模型结构图,详细的给出了每一层的输出形状以及模型的详细模块组建方式。为了清晰明了的复现模型且便于测试每一个部分的正确性,故将模型划分为一下几个部分:一、UNet 1.DownLayer 1.1 Double Convolution 2D (2Con) 1.2 Max Pooling (MP) ...
2021-11-22 17:28:47 3324 1
原创 深度学习(2):卷积层的过程探究
对于pytorch框架而言,给出了三种卷积方式,分别是:Conv1d、Conv2d、Conv3d本文对于前两种卷积方式,进行探究,第三种依次类推0.最基本的卷积模式理解 假设蓝色是被卷积的矩阵,橙色是卷积核,那么沿着横向核纵向的卷积移动过程就如下所示1.Conv1d一维的卷积,意思就是卷积核不像上面那样,它只会沿着一个方向移动卷积核,那么问题就来了:以3...
2021-10-06 02:30:19 998
原创 Vision Transformer(2):T2T ViT源码阅读以及Drop解释
上图是Tokens-to-Token ViT中关于Token to Token处理模块的结构图,可以看出其过程是将原图像沿着某一维度(横向或者纵向),将这一维度的向量看作Token,以图像尺寸的平方根为新尺寸进行升维,然后在展开成新的Token。上图是T2T ViT进行图像分类的过程。一、前导DropPath/Dropout:drop_rateDropPath和dropout其实原理类似,通过随机的rand值,其范围是(0,1),当施加了一个drop...
2021-10-01 19:05:50 2536
原创 Vision Transformer(1):ViT源码逐行阅读解析
上图是Visual Transformer原文的模型结构展示,可以看到模型包含了几个核心模块:1.Norm层2.Multi-Head Attention层3.MLP多层感知器一、Norm层class PreNorm(nn.Module): # fn:前馈网络,包含attention层以及残差结构 ''' param: dim输入维度 fn前馈网络层,选择Multi-Head Attn和MLP二者之一 ''' ...
2021-09-18 18:04:55 4567 1
原创 深度学习(1):激活函数笔记
1.激活函数汇总Identity、Sigmoid、TanH、Softmax、Softsign、Softplus、ReLU、Leaky ReLU、Randomized ReLU、ParametericReLU、ISRU、ISRL、Binary、、SeLU、GeLU2.不同激活函数的图像特征(1)Identity图像图像接近y=x,导数稳定可用于线性激活。(2)Sigmoid图像优点:便于求导,能将数据幅度控制在0到1之间,适合前向传播。缺点:从图中可以看出,...
2021-09-17 17:35:46 824
原创 最简单的Qt配置opencv教程
最简单的Qt配置opencv教程第一步:下载vs2019可以去官网下载installer:下载地址安装模块勾选 windows桌面开发(包含MSVC2019编译器)第二步:下载opencv的Qt配置库这是我自己编译好了的库:链接:https://pan.baidu.com/s/1jTZ3KAjdlg6yZnLbOtY1_A提取码:7vgz配置步骤,将压缩包解压后,将图中文件复制到对应系统目录。第三步:安装Qt,记得勾选MSVC2019的编译支持如果已经安装Qt..
2021-04-09 16:28:29 1244
原创 考研数据结构复习笔记--文件操作
题目要求:从文件中读取数据,内容每行是一个学生的信息,包含姓名(不超过10字符)、性别(0:男,1:女)、年龄、班级号(不超过6字符)。要求读取数据后,找出年龄最小的男生和女生,并存入文件f.txt代码实现--C语言版#include <stdio.h>#include <string.h>#include <stdlib.h>#define N 6struct Student{ char name[10]; int sex;
2020-12-03 10:05:13 426
原创 八大排序算法汇总 (已优化)
一、冒泡排序:实现代码:void bubble_Sort(vector<int> &nums){ bool flag; for(int i=1;i < nums.size(); ++i){ flag = false; for(int j=nums.size()-1;j >= i; --j){ if(nums[j]<nums[j-1]){ swap(nums[
2020-10-23 11:31:44 348
原创 Mysql:临时表方法,实现多表查询第二高工资
salaries表:employees表:departments表:查询sql语句:use employee;DROP TABLE IF EXISTS tTable;DROP TABLE IF EXISTS max_salary;DROP TABLE IF EXISTS exclude_max_salary;CREATE TEMPORARY TABLE tTable AS( select * from salaries natural joi..
2020-09-27 23:14:18 196
原创 手动实现KMP算法(C++)
#include <iostream>#include <string>#include <vector>using namespace std;//原始next算法://当位置j与t的字符相同时,说明当j+1位置的模式字符与原字符串不匹配时,可以跳转到t+1来继续匹配 //因为j后连续的子串与t后一连续子串相同。 void getNext(st...
2020-03-17 23:36:53 207
原创 九大智能优化算法复习(3):退火算法
复习目的:更好的理解退火算法的基本模型思想以及原理实现,并对以前的实现代码进行更进一步的优化关于最优路径遍历所有点的退火算法解法,在原来的基础上进行引入了“死灰重燃”的可能,从而在不需要进行更加大量的搜索的前提下,降低了算法结果的波动程度,提高了解的优化程度。第一部分:计算所有点间的距离(能量表)function [ fare ] = distance( coord )% ...
2020-02-28 19:33:48 746
原创 Netlogo笔记06:狼羊追逐
向量定向法,更新狼的移动方向globals[flag]breed[cats cat]breed[dogs dog]to update_heading;red to find black let x1 1 let y1 1 let x2 1 let y2 1 let hea 0 ask turtles with [color = red][ set x1...
2020-02-28 11:40:44 3535 1
原创 Netlogo笔记05:火灾扩散模型样例
globals [ initial-trees ;; how many trees (green patches) we started with burned-trees ;; how many have burned so far]breed [fires fire] ;; bright red turtles -- the leading edge of th...
2020-02-27 17:21:45 3421 2
原创 Netlogo笔记04:羊吃草"S"增长模型
turtles-own [energy]to setup __clear-all-and-reset-ticks reset-ticks ask patches[ ifelse random-float 1 < 0.2 [ set pcolor green ] [ set pcolor black ] ] ...
2020-02-27 16:01:50 3205 1
原创 Netlogo笔记03:兰顿蚂蚁的实现
兰顿蚂蚁的规则:当前若为黑地,则向左转90度并设置当前块为白色,再向前进一个单位 当前若为白地,则向右转90度并设置当前块为黑色,再向前进一个单位特点:当模型进展到一定程度后,蚂蚁会挖掘一条High_Speed_Channelto setup __clear-all-and-reset-ticks reset-ticks create-turtles 1[ se...
2020-02-27 15:47:19 891
原创 Netlogo笔记02:生命游戏B3S23的实现
patches-own [living]to setup __clear-all-and-reset-ticks ask patches[;if rannum < 0.2,a cell born,else nothing happend ifelse random-float 1 < 0.2[ set pcolor black ] [ ...
2020-02-27 15:37:13 1523
原创 Netlogo笔记01:基本语句创建一个运动的圆点集
to setup __clear-all-and-reset-ticks create-turtles 50[ setxy random-xcor random-ycor ] set-default-shape turtles "circle"endto go ask turtles[ if random-float 1 < prob[...
2020-02-27 15:27:50 1249
原创 MySql:利用循环生成10个分布在10到99之间的整数
1.while循环delimiter //create table random_num (num int);drop procedure if exists ran1; create procedure ran1(num int) begin declare i int; set i = 0; while i<num do insert...
2020-02-26 01:13:36 998
原创 朴素贝叶斯分类算法(matlab实现)
一、原理:对于两个事件A,B而言,事件发生的概率记为P(A)、P(B)。事件A发生的前提下,事件B发生的概率为:事件B发生的前提下,事件A发生的概率为:由此可得事件AB同时发生的概率为:从而推导出贝叶斯公式:在已知的一个数据集中,决策变量为x1, x2, x3......,目标量是y,就能够引用上述公式:在y取不同值时,分母都是固定的常...
2020-02-22 13:09:50 11179 7
原创 用C/C++实现简单游戏开发:easyx实现幻彩贪吃蛇
效果:实现代码(粗略实现,有待优化):#include<iostream>#include<graphics.h>#include<vector>#include<conio.h>#include<string>#include<ctime>using namespace std;void Pain...
2020-02-20 20:53:39 570
原创 K-means 无标记分类算法(matlab实现)
以训练数据与分类点的距离和分类点的位置作为训练指标,最优结果即为分类子集与分类点距离达到最小。初始化分类点 按点分类 计算分类子集距离和 由距离和求出分类中心,更新为分类点流程:1--> 2--> 3--> 4--> 2--> 3--> 4......经过适当的迭代训练,得到最终无标记分类的分类点以及分类集。matlab代码:funct...
2020-02-09 15:16:32 709
原创 动态规划(二分法改进):LIS问题以及应用题 (子序列型)
LIS问题解决思路,着手dp数组记录下长度为b的单调递增子序列最小结束元素。Example: array = [2,1,4,3,8,7,5,6,9]对每个元素array[i]进行单独判断,考虑array[i]可构成最长为多长的局部LIS。局部的搜索采用二分,以dp数组为域,以array[i]为判定值,找到一个dp中的位置 j 满足:( dp[j]<array[i] and ...
2020-02-09 15:00:41 634
原创 模板--红黑树(C++实现)
一、结点类与红黑树类:(一)结点类基本数据成员:1.左右子结点指针域2.父结点指针域,方便回访父结点3.有序 前驱 /后继指针域,迭代访问元素,提供一种顺序存储的假象4.结点颜色,利用红黑规则,保持树的平衡。(二)结点类的基本成员函数:两个重载的构造函数,构造红色的新结点(三)红黑树类基本数据成员:1.头结点:保存一个据点,用来维系根节点与公用空结点2....
2020-01-18 12:54:03 468
原创 模板--大/小根堆(C++实现)
目录一、堆整体结构:二、相关成员函数实现:1.向堆加入元素2.弹出堆顶元素3.删除元素4,上浮调整5.下沉调整6.打印堆三、测试代码四、测试结果:五、功能总结:一、堆整体结构:#include<iostream>#include<vector>#define Size long longusing name...
2020-01-08 13:26:18 2916 2
原创 Linux多线程:多线程判断数独是否有效、实现归并排序
一、判断数独是否有效:#include <pthread.h>#include <stdio.h>#include <stdlib.h>int judgeRow(int row);//判断行int judgeCol(int col);//判断列int judgeLump(int row, int col);//判断九宫格int inputDa...
2019-10-24 15:47:49 2630
原创 九大智能优化算法复习(2):遗传算法
一、了解遗传算法:遗传算法借鉴了达尔文和孟德尔的遗传学说。它的运行本质也就是模拟了物种在繁衍过程中,染色体通过一系列的步骤,将优质的遗传基因保存下来,而将大部分的劣质因子淘汰掉的过程。总得来说,遗传算法核心一般有:编码、选择、交叉、变异。当然对于具体问题,可能还有特殊的算子和参数设定。二、理解遗传算法:染色体:它代表了一个个体的几乎所有的性状表现,因此可以用染色体来代表一个个体,或...
2019-10-21 22:16:33 819
原创 linux进程:DFS遍历进程树
1.进程的PCB结构:struct task_struct { //进程的运行时状态 volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ void *stack; atomic_t usage; //进程当前的状态...
2019-10-18 23:18:49 996
原创 九大智能优化算法复习(1):粒子群算法
问题:求解函数:f(x) = sum(xi) - sum(xj),(-20 < xi, xj < 20,i为奇数,j为偶数)的最小值其中:0 <= i,j <= 10构建粒子群模型:维数D:10 适应度函数fit:f(x) 位置上界、下界:20,-20 设置粒子数:200 设置速度上界,下界:10,-10 设置惯性w:0.8 设置学习因子c1,c...
2019-10-17 15:57:16 556
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人