自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

欢迎来到我的博客站点

欢迎到访我的个人博客网站: http://blog.kilig.ink/

  • 博客(51)
  • 资源 (1)
  • 收藏
  • 关注

原创 STL体系结构概述

本文将是STL系列的第一篇文章,主要参考《STL源码剖析》,辅以网络博文,不定时更新我感兴趣的内容。

2023-12-23 12:42:53 964

原创 一种解决Qt5发布release文件引发的无法定位程序输入点错误的方法

一种解决Qt5发布release文件引发的无法定位程序输入点错误的方法

2023-12-17 15:39:20 641

原创 解决[Unable to determine the device handle for GPU...: Unknown Error]问题

针对训练模型时GPU显卡突然无法识别的一种解决方案

2023-11-02 10:34:25 7078 2

原创 C++中的静态库与动态库

单独提这个库,我想我们在coding过程中,可能也会知道一两个词,如*标准库*、xx库等。库作为一组已编写好、组织好的、可复用的资源接口,可以被用于其他程序。很不夸张地说,很多程序都需要依赖一些底层依赖库,从而支撑它们完成一些基础工作。

2023-09-25 18:19:18 767

原创 TOTP算法实现

双因子认证(2FA)是一种身份验证方法,要求用户提供密码和另一个认证因子或者至少提供两个认证因子(其中一个代替密码),从而提高用户账户的安全性。传统的密码仅为一组静态信息,很容易被窃取,而导致账户被盗用,相对来说,双因子认证比传统密码还多了一个认证步骤,并且一般来说认证因子会比传统密码更难破解、获取(具有时效性),引入双因子认证虽然带来了一定复杂度,但提高了安全性。

2023-09-17 16:27:46 351

原创 初识FUSE(Filesystem in userspace)

FUSE(全称Filesystem In Userspace)是一个用户空间的文件系统框架,也就是说能够允许用户空间创建并管理文件系统。内核模块(fuse.ko):协议封装和解析,封装转发由VFS转发过来的请求给用户态程序用户空间库(libfuse.*):协议解析和封装,负责解析由内核模块封装好的IO请求挂载工具(fusemount):用户态文件系统挂载用户态文件系统是区别于内核文件系统的,在用户态文件系统没有出现之前,常见的文件系统如Ext2Ext4。

2023-09-13 18:54:35 348

原创 Linux中的虚拟文件系统(virtual file system)

本文从比较简单的角度学习了Linux内核中虚拟文件系统的源码以及其核心数据结构,如果要继续剖析该模块的内容,其实还可以更深入,如发生系统调用(如readwrite等)过程中VFS在此过程中如何处理的。但理解这些深入的内容,还是回归基础,搞清楚这个基本的数据结构的定义以及它们背后隐含的关系,才能更好地去分析。后续如果来得及的话,会继续分析这部分的内容。

2023-09-11 09:48:13 555

原创 C++中的Pimpl和RAII惯用法

文章主要简单介绍C++中的Pimpl和RAII的惯用法

2023-08-27 09:09:11 286

原创 在C中指针的高级技巧

对于初学者来说,指针是比较头疼的东西,但是,如果你想深入了解底层的一些东西,指针你又是避不开的。既然逃避不了,干嘛不加入呢?一起继续探索指针中更高级更好玩的技巧吧1 回顾指针也指内存地址,指针变量是用来存放内存地址的变量,在32位的操作系统中,它的大小为4个字节,在64位的操作系统中则是8个字节,依次类推…c语言中常见的指针变量定义/**********************part one**********************///声明一个存储整型变量地址的指针int *p

2021-12-10 14:25:18 879

原创 解决Linux下交叉编译U-Boot源码时报‘multiple definition of `yylloc‘‘的错误

一、编译环境环境值操作系统Fedora release 35 (Thirty Five)交叉编译环境gcc-linaro-6.1.1-2016.08-x86_64_aarch64-linux-gnuLinux 内核版本5.14.16U-Boot版本1.7.4(板子厂商特供版)二、问题描述我们可以从报错信息看到,dtc-parser.tab.o和scripts/dtc/dtc-lexer.lex.o这两个中间文件中对yylloc多重定义了,导致在链接时,

2021-12-01 16:07:00 6142 8

原创 C语言中的预处理器

预处理器作者注:最近在阅读U-Boot的源码时,发现在头文件中使用了较多的宏定义语句,顿时觉得这个宏在实现C语言程序可移植性特性起着重要作用,故本次简单地复习一下预处理器…编译一个C程序会经过四个阶段:预处理、编译、汇编、链接。而第一阶段的预处理阶段到底时做什么呢?答案就是:在源代码编译之前对其进行一些文本性质的操作。那么,什么是文本性质的操作呢? 就个人理解来说,应该是想表达一种使用某种文本去替换另一种文本的操作它的主要任务有:删除注释插入被#include指令包含的文件的内容。定义和

2021-11-27 15:59:59 612

原创 CentOS 7 下RabbitMQ的 安装

欢迎访问我的个人主页:传送门最近想深入学一下有关JAVA后台的一些中间件,这里选择了RabbitMQ消息中间件,并记录一下RabbitMQ的安装过程。1. 下载所需的文件为了安装rabbit-server,你需要自己去下载上图所需的三个文件。除了以rabbitmq-server开头的这个文件外,其他是是安装Rabbitmq是必需的依赖环境,版本关系最好是官网查阅确定一下。我这里提供这三个文件的压缩包下载。链接:https://pan.baidu.com/s/1f2QCvx__tzT7aFrIx9

2020-11-08 17:56:31 152

原创 搭建Hadoop集群之环境配置系列-配置静态ip

说在前面的话由于老师给我们学生布置了一个Linux作业,虽然有几个可选的题,但是最后我还是觉得选择Hadoop应用开发,毕竟我一直想尝试这个新东西,趁着这个机会学点东西挺好的。要想使用这个Hadoop进行应用开发,那么首先就应该配好环境,安装啥的不说了,因为我觉得这个配置静态ip有点麻烦,也最容易出问题,所以下面我将和你谈谈如何为你的hadoop集群服务器配置静态ip:为什么要配置静态ip?使用静态ip就不用担心每次联网你自己局域网的ip发生改变,进而影响你搭建Hadoop集群。开始1.查看虚

2020-07-05 15:45:42 4170

原创 修改equals方法时为什么还要重写hashcode方法?

推荐本人Github pages: 点击这里虽然在实际开发中,我们已经使用到散列集合(如HashMap),或也单独学过散列(Hash)。但是也会有很多人像我一样,看到有些时候别人写的pojo中有对对象内hashcode函数做一个重写,这就让我重新思考为什么要这么做? 下面就让我和你一起去探索一下吧!Hash是什么?Hash就是上文说到的散列,是把任意长度的输入(又叫做预映射pre-image)通过散列算法变换成固定长度的输出,该输出就是散列值。它的理论时间复杂度是可以达到O(1),但一般来说,这

2020-06-22 22:28:11 348

原创 #每天踩一踩坑# 解决Spring MVC使用@Valid注解校验表单无效

最近在学习Spring MVC的想做一下对表单数据的校验,根据书里的提示,引入了以下依赖: <dependency> <groupId>javax.validation</groupId> <artifactId>validation-api</artifactId> <version>2.0.1.Final</version>

2020-05-28 10:49:45 793 3

原创 #入门#学习一波Spring MVC中的跨重定向请求传递数据(URL模板、Flash属性)

跨重定向请求传递数据1. 写在开头的话2.使用URL模板以路径变量和/或查询参数的形式传递数据3.使用flash1. 写在开头的话​ 在Spring MVC中,若是在控制器方法返回的视图名称中,使用了redirect:前缀,那么这个String就不再是用于查找视图了,即是用于让浏览器进行重定向的路径。当发生重定向了之后,之前的请求就会被作废,请求携带的数据也会被销毁,所以该如何保证数据在重定向时保持不变呢?(小知识点:如果使用forward:前缀则表示转发,转发宽泛的说是同一个请求,不同的视图,所以数

2020-05-27 22:34:58 149

原创 #入门#聊聊Spring AOP

Github地址:1291945816–kilig我就站在你面前,你看我几分像从前Spring Aop入门什么是AOP?AOP中的关键术语AspectJ表达式一个包租婆卖房的例子(参考例子)定义连接点创建切面定义切点配置类AOP测试使用环绕通知基于XML实现AOPAOP中需要配置的元素参考文献什么是AOP?首先允许我引用一下维基百科关于AOP的解释:面向切面的程序设计(Aspect-oriented programming,AOP,又译作面向方面的程序设计、剖面导向程序设计)是计算机科学中的

2020-05-19 23:10:21 176

原创 C语言使用PV操作实现读者-写者问题

开局一张图代码一贴#include <stdio.h>#include <pthread.h>#include<semaphore.h>#define P sem_wait#define V sem_post#define writeblock &writeblock_#define mutex &mutex_sem_...

2020-04-26 22:50:55 3888

原创 谈谈操作系统中的信号量与PV操作

在临界区的调度原则中有:互斥使用有空让进忙则等待有限等待择一而入算法可行在实际应用中,我们考虑对临界区的管理有软件算法,也有硬件设施,但是这些偏软,偏硬的方法,或存在复杂、效率低下,或存在浪费CPU时间等问题。下面笔者将和大家谈谈一种新的同步工具:信号量和PV操作。PV操作PV操作是属于原语操作,原语操作即是执行时是不可被打断的,如原子一般不可再分,通过PV操作我们可以保...

2020-04-23 17:39:26 2834 6

原创 谈谈jquery获取的对象与document对象的区别

引出问题我做了一个登陆界面,想要实现一个点击验证码可以更换验证码图片的操作,所以我使用jquery做了如下操作$(function (){ $("img#checkcode").click( function () { var img = $('img#checkcode'); img.src="/test/checkco...

2020-04-19 14:31:37 312

原创 一文带你回忆Java注解的有关内容

Java注解在面对大型的Java EE项目中,常常通过注解进行地址映射,对象注入等操作,因此有必要去了解一下注解的相关的知识。注解是 java5 引入众多语言变化之一,可以用于表达在java中无法表达且你需要完整表述程序所需的信息。注解可以让我们可以以编译器验证的格式存储程序的额外信息。通过使用注解,可以将元数据保存在Java源代码中,且具备以下优势:简单易读编译器类型检查使用an...

2020-04-08 13:21:59 289

原创 一文带你回忆JDBC的简单内容

JDBC(Java Database Connectivity)JDBC属于JavaSE的一部分,是一个用于连接数据库和执行SQL语句的java api。它通过JDBC驱动去连接数据库,其驱动程序主要分为以下四种(解释参考百度百科):JDBC-ODBC Bridge Driver(JDBC-ODBC桥驱动程序)(在 java 8,其已经被移除)由JDBC-ODBC桥和一个ODBC驱动程序...

2020-04-07 01:08:49 145

原创 大数思维-乘法/除法

(整型)大数乘法#include&lt;iostream&gt;#include&lt;cstdio&gt;#include&lt;cmath&gt;#include&lt;string&gt;using namespace std;int main(){ string a, b; int C[256],num,p,q,t = 0,temp,k; //num 进数 p ...

2020-03-26 22:05:44 145

原创 The 3n + 1 problem(问题 1095)

原题链接:http://www.dotcpp.com/oj/problem1095.html题目描述Consider the following algorithm to generate a sequence of numbers. Start with an integer n. If n is even, divide by 2. If n is odd, multiply by 3 a...

2020-03-26 22:04:59 384 3

原创 浅记js中的浏览器对象(windows,navigator,screen,location...)

浏览器对象window属性作用innerWidth、innerHeight获取窗口的内部宽度和高度outerWidth、outerHeight获取浏览器窗口的整个宽高navigator属性作用navigator.appName浏览器名称;navigator.appVersion浏览器版本navigator.languag...

2020-03-26 22:02:43 177

原创 二叉树的一些基本概念以及实战

二叉树概念二叉树:是n(n>=0)个节点的有限集合,该集合或者为空集(称为空二叉树),或者由一个根节点和两棵互不相交的、分别称为根节点的左子树和右子树的二叉树组成。满二叉树:如果一个二叉树中的任何结点要么度数为0,要么度数为2,则此二叉树为满二叉树完全二叉树:如果一棵二叉树中,只有最下面两层的节点的度数小于2,其余各层的度数都等于2,并且最下面一层的节点都集中在最左...

2020-03-26 17:18:59 207

原创 【动态规划】Coin Change(LintCode---669)---详解

题目给出不同面额的硬币以及一个总金额. 写一个方法来计算给出的总金额可以换取的最少的硬币数量. 如果已有硬币的任意组合均无法与总金额面额相等, 那么返回 -1.Example样例一输入:[1, 2, 5]11输出: 3解释: 11 = 5 + 5 + 1样例二输入: [2]3输出: -1思路这道题看起来很像可以使用贪心解决,每次都拿最大的,这样就能使得最后...

2020-03-24 21:03:53 594

原创 如何在Eclipse中为Activiti的bpmn文件快速增加信号定义(信号中间事件)?

笔者今天学习到信号边界事件时,在设置信号边界事件的配置时,发现无法直接引用一个信号,也就是如下图也就是一片空白,也不能直接输入(怪我笨咯)。最后根据查找相关资料,发现是我没有定义一个信号,所以无法关联,但是如小白的我不知道该如何去定义这个信号,信号边界事件也没有这个选项,故我首先将bpmn文件改为xml文件然后直接增加一个标签属性(用于定义信号),如图:这样如果自己每次加信号的时候都要如此...

2020-03-21 22:38:46 400

原创 【Activiti实战-实战一】和你谈谈关口中的排他网关(ExclusiveGateway)

【相关概念】流程关口: 主要是用于在流程中控制顺序流的分支和汇合, 在BPMN规范中规定了关口可以消耗执行流或者产生执行流。排他关口(ExclusiveGateway): 根据所给定的流程参数按照输出流的顺序一个一个计算,当条件计算结果为true的时候,会继续执行当前网关中符合条件的输出流。需要注意的是:当线路中存在多个顺序流且计算结果都为true的时候,则会选择第一个在流程文件中定义的输出流...

2020-03-14 21:05:53 430

原创 简单枚举系列之Uva_10976分数拆分【例题】

分数拆分(Fractions Again?!,Uva10976)【问题引用】输入正整数k,找到所有的正整数x>=y,使得1/k=1/x+1/y样例输入:212样例输出:21/2=1/6+1/31/2=1/4+1/481/12=1/156+1/131/12=1/84+1/141/12=1/60+1/151/12=1/48+1/161/12=1/36+1/181...

2020-03-12 21:05:58 209 1

原创 简单枚举系列之Uva_11059最大乘积【例题】

简单枚举(2)(Maxiumum Product,Uva 11059)最大乘积【题目引用】【题目分析】连续子序列有两个要素:起点和终点,所以可以枚举起点和终点,也就是这道题的核心所在。【实际问题】用什么存数据?数组还是STL这里n的范围比较小,所以根据喜好选择,这里个人采用的是C++的vector容器。如何枚举这个起点和终点刚开始笔者思考的时候,用了三个循环做处理,也...

2020-03-12 00:06:35 183

原创 简单枚举系列之UVa_725除法【例题】

UVA 725 除法(Division)【题目引用】输入正整数n,按从小到大的顺序排列所有形如abcde/fghij=n的表达式,其中a-j恰好为数字输入0-9的一个排列(可以有前导0),2<=n<=79.样例输入:62样例输出:79546/01283=6294736/01528=62【题目分析】题目中说明了a~j是一个0~9的一个全排列,所以这里就隐含着10个数字...

2020-03-10 23:34:44 468

原创 数据标准化的常见方法(Min-Max标准化、Z-Score标准化等)

数据预处理写在前面的话:数据的标准化:将数据按比例缩放,使之落入一个小的特定区间,一般目的在于:去除数据的单位限制,转化为无量纲的纯数值,便于不同单位或量级的指标能够进行比较和加权。数据的归一化便是一个典型的案例。数据的归一化:把数转换为(0,1)之间的小数把有量纲的表达式转换为无量纲的表达式归一化的好处:在多指标评价体系中,由于个评价指标的性质,通常具有不同的量纲和数量级。当各...

2020-01-14 12:38:33 61030 4

原创 C/C++实现排序算法系列——归并排序(MergeSort)

归并排序(MergeSort)是建立在归并操作上的一种有效的排序算法,该算法是采用分治法(分而治之-Divide and Conque)的一个典型应用,也是目前较为流行的经典算法之一。归并排序可分为二路归并、三路归并、多路归并等,本文基于最普遍的二路归并来讲述。

2019-11-22 11:57:43 1468 4

原创 这里告诉你如何计算算法的时间复杂度(大O阶)

关于时间复杂度:在计算机科学中,算法的时间复杂度(Time complexity)是一个函数,它定性描述该算法的运行时间。这是一个代表算法输入值的字符串>的长度的函数。时间复杂度常用大O符号表述,不包括这个函数的低阶项和首项系数。使用这种方式时,时间复杂度可被称为是渐近的,亦>即考察输入值大小趋近无穷时的情况。例如,如果一个算法对于任何大小为 n (必须比 n0 大)的输入,它至多...

2019-09-03 22:40:03 9125 3

原创 蓝桥杯训练题解-蛇行矩阵(问题 1097)

原题链接:http://www.dotcpp.com/oj/problem1097.html题目描述蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。输入本题有多组数据,每组数据由一个正整数N组成。(N不大于100)输出对于每一组数据,输出一个N行的蛇形矩阵。两组输出之间不要额外的空行。矩阵三角中同一行的数字用一个空格分开。行尾不要多余的空格。样例输入5样例输出1 3 6...

2019-08-31 14:11:39 494

原创 蓝桥杯训练题解-Minesweeper(问题 1096)

原题链接:http://www.dotcpp.com/oj/problem1096.html题目描述Minesweeper Have you ever played Minesweeper? This cute little game comes with a certain operating system whose name we can’t remember. The goal of ...

2019-08-31 14:11:11 541

原创 大数思维-大数阶乘(1000以内)(c++描述)

首先,在本篇文章开头提供我看到的挺好的阶乘解法(c描述)的链接:https://blog.csdn.net/lisp1995/article/details/52403507我的解法也是参考他的思路的.众所周知,普通的阶乘100以内(或者更小),我们是可以直接算的(简单的迭代或者递归),但当超过一定的long long int(64位)范围,就会溢出,这时我们就不能直接通过定义变量来求了,这时...

2019-08-31 14:05:11 816

原创 两种排序-快排与冒泡

快速排序算法描述:先定义左边i=L 与最右边的 j=R取中间的数 mid 作为判断 mid = a[(R+l)/2]一趟快速排序:先从左边开始 逐渐递增i的值直到找到第一个a[i] &gt; mid 此时跳出循环然后从右边开始 逐渐递减j的值直到找到第一个a[j] &lt; mid 此时跳出循环此时这两者是应该满足 i &lt; j的 也就是保持 i在左边而j在右边 ...

2019-08-31 14:04:47 360

原创 迷宫的最短路径-宽度优先搜索(BFS) -例题

BFS概念与深度优先搜索相似,都是由某个状态开始探索所有可以到达的状态.但相对深度优先搜索来说,宽度优先搜索总是先搜索距离初始状态较近的状态,即由近及远,首先探索满足条件最近的状态。利用原理:队列,“先进先出”。例题 迷宫的最短路径 给定一个大小为N*M的迷宫,迷宫由通道和墙壁组成,每一...

2019-08-31 14:04:29 1841

学生抽签程序(可以对多数的且具备学号和姓名的进行随机抽签)

这是python实现抽签程序可以实现对学生进行随机的抽签,这里的学生指的是多个的时候。很多时候抽签的人数不是少量的,就不能轻易的按1-10来确定人,所以此处使用excel来导入数据。且excel数据前两列最好是学号姓名,这样表达才会正确。

2020-03-09

空空如也

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

TA关注的人

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