自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Erya Programming learning

每天进步一点点

  • 博客(176)
  • 资源 (3)
  • 问答 (1)
  • 收藏
  • 关注

原创 [蓝桥杯]2020年第十一届省赛真题C/C++ B组(七月)

第十一届蓝桥杯省赛题目试题A: 跑步训练试题B: 纪念日试题C: 合并检测试题D: REPEAT 程序试题E: 矩阵试题F: 整除序列试题G: 解码试题H: 走方格不保证代码题全对,因为还没有题目可以提交检验,仅供参考,如果有错误请指出~试题A: 跑步训练【问题描述】小明要做一个跑步训练。初始时,小明充满体力,体力值计为10000。如果小明跑步,每分钟损耗600 的体力。如果小明休息,每分钟增加300 的体力。体力的损耗和增加都是均匀变化的。小明打算跑一分钟、休息一分钟、再跑一分钟、再休息一分钟

2020-10-16 19:32:58 7305 2

原创 桌面制作——Wallpaper Engine+Rainmeter

闲来无事逛知乎,看到话题“为什么很多人电脑桌面上软件图标寥寥无几甚至空空荡荡?请问是怎么做到的?”实不相瞒看见高赞回答们的桌面(下图),我心动了!心动不如行动,动手做ing……这样干净好看的桌面是用Wallpaper Engine+Rainmeter来实现的,Wallpaper Engine是steam下一个动态壁纸软件,需要购买,19元。(非必需,找一些高清壁纸设为桌面背景也可)因为以前都没有接触过Rainmeter这个软件,所以趁着这次机会熟悉并且学习基础的使用方法。###首先,进入Rainm

2020-05-27 01:48:14 5681 1

原创 暴力技术(一)——BFS广(宽)度优先搜索

bfs算法思想以老鼠走迷宫为例,如果说DFS是一只老鼠将整个图走到底,那么BFS就是一群老鼠走迷宫,也可以称作“并行处理”的模拟。假设老鼠是无穷多的,这群老鼠进去后,在每个路口派出部分老鼠探索没有走过的路。停下有两种情况:走某条路碰壁,无法前行。到达的路口已被探索过。显然,这将使得所有道路都走到,且不重复。一般使用队列这种数据结构来具体实现BFS。BFS是一个“扩散”的过程,如果...

2019-11-18 00:05:56 385

原创 Deflate内部实现(LZ77无损压缩算法)超详细图解算法版~

基于字典的无损压缩算法,它搜索重复的未压缩序列并用引用指针替换它们。

2024-06-19 17:11:21 1507

原创 如何解决input输入时存在浏览器缓存问题?

浏览器有时会在你输入表单过后缓存你的输入,有时候能提供方便。但是在某些新建或新页面情况下出现历史的输入信息,用户体验很差。

2024-06-19 15:40:00 481

原创 Promisification、微任务

fication:使成为…,Promisification:使……成为promisenode.js常使用,promisify 是Node.js 标准库 util 模块中的一个函数,用于将遵循Node.js 回调风格的函数转换为返回Promise 的函数,可以使用 async/await 语法来等待异步操作完成,从而让异步代码看起来更像同步代码。目的: 接受回调的函数 —————————> 一个 返回p

2024-03-06 17:31:08 927

原创 promise.then异步实现方法对比(简易手写vs源码解析)

reaction 对象用于封装 then 方法中传入的成功和失败回调函数,以及与之关联的新 Promise 对象。它包含了以下属性:ok:用于存储成功回调函数,如果传入的回调函数是可调用的,则将其存储在这里。fail:用于存储失败回调函数,如果传入的回调函数是可调用的,则将其存储在这里。promise:用于保存 then 方法返回的新 Promise 对象。domain:用于存储当前 Promise 对象所属的域(如果支持)。

2024-03-06 17:18:37 799

原创 React hooks文档笔记(二) 添加交互性

Clock组件会随着父节点传入不同的props 参数 time 而重新渲染,但在input中输入‘1’,重新渲染时‘1’没有消失。在下一步,即提交阶段之前,它不会对这些信息做任何事情。只有 Hook 的调用顺序在多次渲染之间保持一致,React 才能正确地将内部 state 和对应的 Hook 进行关联。每次调用 useState 时,React 都会为您提供下一个状态对并递增索引。在处理状态更新之前,React 会等到事件处理程序中的。在初始渲染时,React 将调用根组件。

2023-06-30 11:22:25 1010

原创 React hooks文档笔记(三) 状态

这是因为每次渲染都会创建不同的 函数,你在同一个位置渲染不同的组件,所以 React 重置下面的所有状态。组件被包裹的元素不同,整个子tree都会重新渲染,组件内部的状态会重置,(当您在同一位置渲染不同的组件时,它会重置其整个子树的状态)时,以下代码不会重新渲染,状态仅在第一次渲染期间初始化。状态保存在 React 内部,React 通过组件在。不可能同时为true,所以最好用一个。,可以计算出的值不要再设为状态。是一个计算值,可以根据。计算得出,不用设为状态。如果需要重新渲染 ⬇️。

2023-06-29 20:14:47 766

原创 React hooks文档笔记(四) useRef

当想让组件记住一些信息,又不想触发新的渲染,可以使用ref:总是返回同一个对象。

2023-06-29 20:00:45 749

原创 React hooks文档笔记(五)useEffect——解决异步操作竞争问题

每个渲染器的 Effect 都有自己的ignore变量。最初,ignore变量设置为false。但是,当切换别的选项 Effect 执行清除函数后,它的ignore变量将变为true,所以请求完成的顺序并不重要。

2023-06-29 19:30:45 927

原创 Immer编写简洁的更新state逻辑

react官网推荐库use-immer:https://www.npmjs.com/package/use-immer

2023-06-09 10:43:21 906

原创 Promise.allSettled优化并行接口报错

当用Promise.allSettled时,我们只需专注在then语句里,当有promise被异常打断时,我们依然能妥善处理那些已经成功了的promise。

2023-06-09 10:32:22 867

原创 React报错#310复盘小结+hooks使用的场景+调用原理

apm报错:Minified React error #310

2023-02-03 18:33:54 2159 1

原创 React hooks学习小结(一)—— key

the key lets React identify the item throughout its lifetime.(React通过key对item识别跟踪,是唯一标识符)

2023-02-03 18:23:37 505

原创 CSS-counter 计数器详细教程+使用场景示例

计数器是一种特殊的数字跟踪器,通常用于为CSS列表项自动编号,早期无序列表ul和有序列表ol元素定义时,会自动添加`counter()`计数器,列表也会自动递增序号,属性都会取默认值。CSS计数器只能跟content属性在一起的时候才有作用,而content属性专门用在before/after伪元素上。于是,就有了,“计数器↔伪元素↔content属性”的铁三角关系。

2022-11-23 17:50:07 3058

原创 antd:ConfigProvider+getPopupContainer解决筛选框遮挡问题(及其他浮层问题)

ConfigProvider+getPopupContainer解决筛选框遮挡问题(及其他浮层问题)

2022-11-23 17:23:02 6941 1

原创 antd form.getFieldsValue(true)用法

在form组件中手动推入一个自定义属性,并获取

2022-09-09 15:08:00 5155

原创 Antd-Table filters:某列数据的不重复所有值展示筛选+不区分大小写搜索

文章目录问题/期望:某列的所有数据可以被不重复地展示并筛选解决问题/期望:某列的所有数据可以被不重复地展示并筛选期望效果:table中内置filters属性可以对表格筛选,当前所有数据中只有空/343456…过的两个值,希望在内置的筛选框中出现这两个值且不重复展示,可以选择并筛选解决这时可以对数据进行处理:首先引用loadsh库将表数据logList 使用Lodash _.chain()方法,用于包装启用显式方法链序列的值。使用Lodash _.uniq()去重 let

2022-05-19 14:31:53 1468

原创 React+Antd Form控件前后加文案或样式后不能获取到值问题+手写校验输入字符(包含中文)长度

问题引入当使用Form.Item时,内部包含Select选择框,但由于需求,需要在Select前加一个 “*” 样式装点。这个时候会导致使用form的name属性时:getFieldValue('country')无法读取到值(见下图),因为form不仅仅是只包含了Select框元素。原代码(效果未实现): <Form.Item label="地区" name="country" key="country"> <span className={Styles.sp

2022-05-19 11:35:21 1589

原创 vue——不同组件中监听Localstorage变化并实时更新

期望效果:tip:access=1表示超级管理员,access=0表示管理员。希望内容框(一个组件)和顶栏(另一个组件)的管理员权限和localstorage中保持一致。内容框和顶栏属于组件间传值,如果需要同步状态可以用到vuex,但此时可以利用localstorage自身的方法来实现localstorage值的监听。准备首先要了解localStorage的使用,因为此处要监听不要使用localStorage.xxx='xxx'的方式来给key赋值!!!localStorage.getItem

2022-05-06 00:30:36 5338 4

原创 ReactHooks+Antd Checkbox Group多选框组单独禁用其中选项

antd官方文档中Checkbox Group给出的api如下:据图可知,其中Group 的 api 只有一个disabled,它的作用是使整个group选项全部失效,达不到我们的效果,但是Checkbox中却有api disabled 可以使选项单独失效。所以,可以 Checkbox 和 Checkbox Group 结合使用,实现方式如下:具体需求举例:当select==='yinpin'时,只存在yinpin时,前两个禁用当select不包括yinpin时,后两个禁用实现tip:

2022-04-08 15:18:30 2590

原创 算法思想——贪心(详细举例理解~)

算法思想贪心算法分而治之(递归思想)动态规划暴力穷举文章目录引入基础知识贪心三步走举例例题分享引入思考:假设有四种硬币,面值分别为50元、10元、5元和1元。现在要找给某顾客113元,你会怎么找?我们不假思索的就会选择2个50元,1个10元和3个1元的组合。而我们的下意识的使用了找硬币算法:1. 首先选取一个不大于113元的最大面值,即50元,剩余63待找。2. 再选取一个不大于63元的最大面值,即又一个50元,剩余13待找3. 再选取一个不大于13元的最大面值,即10元,剩余

2022-04-08 14:12:59 1045

原创 leetcode题解——贪心

文章目录738. 单调递增的数字435. 无重叠区间(活动调度问题)738. 单调递增的数字当且仅当每个相邻位数上的数字 x 和 y 满足 x <= y 时,我们称这个整数是单调递增的。给定一个整数 n ,返回 小于或等于 n 的最大数字,且数字呈 单调递增 。示例 1:输入: n = 10输出: 9示例 2:输入: n = 1234输出: 1234示例 3:输入: n = 332输出: 299思路:第一步找全局最优:求<=n的最大单调递增的整数第二步找子问

2022-03-16 23:51:15 2049

原创 React hooks + antd前台实现input搜索框实时搜索table表格

阅读本文前提需掌握react hooks 中useState和useEffect基本用法!?.详见“可选链”语法糖文章目录实现效果实现步骤1.引入2.初始化3.筛选数据4.输入和展示数据实现效果实现步骤1.引入filterparamList:在原始表数据中筛选后的结果列表associatedvalue:input输入框的值(搜索值)import { SearchOutlined } from '@ant-design/icons' const [associatedvalue, set

2022-03-10 19:32:16 6016 2

原创 git常用命令+git规范(附merge合并及冲突解决)

一、VCS版本控制系统version control system(VCS),用于项目中存储、共享、合并、历史回退、代码追踪文件历史等功能。VCS软件:2000年以前2010年以前2010年至今CVSSVNGit二、Git中的常见概念工作目录:是一个目录,用于保存项目中的文件暂存区: 是内存中的一块区域,临时存储项目中修改的文件本地仓库:是一个特殊的目录,保存项目中所有的文件及每次修改的记录三、命令以下命令可在本地git bash here执行3.1

2022-03-02 17:18:39 1202 1

原创 React-JSX详细语法及渲染使用

JSX*问题引入一、jsx1.1 基本使用步骤1.2 嵌入JavaScript 表达式二、条件渲染三、列表渲染四、样式处理4.1.行内样式 —— style4.2.类名 —— className(推荐)*问题引入react中自带创建节点的方法createElement() :React.createElement( type, [props], [...children])参数一:必填,类似HTML标签名称,如: ul, li参数二:选填,属性,如className参数三:选填,

2022-02-27 17:49:03 1145

原创 nvm安装npm出错问题解决方案

文章目录nvm安装命令问题及解决方案1.安装node失败2.access is deniednvmnvm是node的包管理工具。由于在打开不同的项目时可能需要切换node,每次重新配置node很麻烦,所以nvm就是一个比较好用node管理工具,用来切换node版本。安装方法一: 命令安装curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.34.0/install.sh | bash方法二:官网手动下载下载地址:https://git

2022-02-21 10:40:26 2199

原创 (非)对称加密算法在https中的应用(加密过程以及CA颁发、验证)

文章目录一、(非)对称加密对称加密非对称加密二、http与https1. HTTP1.1 HTTP与TCP1.2 短/长连接(HTTP如何使用TCP)2. HTTPS = HTTP+SSL/TLS2.1 SSL/TLS:解决http问题* 2.2 https 加密过程2.3 CA证书3. http/https区别一、(非)对称加密“加密”:明文 ==> 密文“解密”:密文 ==> 明文对称加密加密和解密使用相同的密钥。对称加密只有一个秘钥,作为私钥.例:用 7zip 或 Win

2021-12-30 17:41:29 1550 12

原创 ES6——generator与yield

文章目录一、Generator生成器函数1. 特点二、yield的加入1. 引入2. yield 特点三、举个例子一、Generator生成器函数它是ES6新推出的一种异步编程解决方案,与普通函数的区别:函数名前多了一个星号,与yield关键字配合使用,实现暂停执行的功能。1. 特点函数名前多了一个星号*直接调用 Generator函数并不会执行,也不会返回运行结果,而是返回一个遍历器对象(Iterator Object)依次调用遍历器对象的next方法,遍历 Generator函数内部的每

2021-12-30 15:28:57 901

原创 JavaScript——原型/原型链中的顶层对象(图解)

本篇需要提前了解的知识储备:原型和原型链,以下仅概要介绍,不作详细讲解。详细学习可参考:JavaScript——面向对象(封装):https://blog.csdn.net/qq_29493173/article/details/118404400JavaScript——面向对象之继承(原型对象)与多态(重载、重写):https://blog.csdn.net/qq_29493173/article/details/118410075构造函数/原型/原型链构造函数:定义一类对象的统一结构原型(

2021-12-20 12:39:43 4394 2

原创 leetcodeT14-最长公共前缀(两种解法+图解)

文章目录题目:最长公共前缀法一:暴力解法思路图解代码法二:两两对比法思路图解代码题目:最长公共前缀编写一个函数来查找字符串数组中的最长公共前缀。如果不存在公共前缀,返回空字符串 “”。示例 1:输入:strs = ["flower","flow","flight"]输出:"fl"示例 2:输入:strs = ["dog","racecar","car"]输出:""这道题重点词是 “前缀”,即我们要寻找的公共子串部分是在每个单词index=0的位置开始累计的法一:暴力解法

2021-11-17 16:51:24 2970

原创 CSS——FC(BFC/IFC/FFC/GFC)超详细版+原理案例分析

文章目录一、Box二、FC(Formatting Context)1. BFC1.1 BFC的形成条件一、BoxBox 是 CSS 布局的对象和基本单位, 一个页面是由很多个 Box 组成的。元素的类型和 display 属性,决定了这个 Box 的类型。不同类型的 Box, 会参与不同的 Formatting Context(一个决定如何渲染文档的容器),因此Box内的元素会以不同的方式渲染。让我们看看有哪些盒子:1、block-level box:display :属性为 block, li

2021-11-07 21:20:27 2645

原创 在静态页面中使用Scss(windows)

平时在脚手架配置中勾选sass或者npm安装,就可以在项目中使用sass。但如果是在一个静态页面中该如何使用呢?一、Ruby安装安装sass前必须安装ruby环境,因为Sass是用Ruby语言写的。前往Ruby官网(https://rubyinstaller.org/downloads/)按默认配置下一步,即可在开始菜单找到新安装的 Ruby,并启动 Ruby 的 Command 控制面板二、运行命令,安装sass1.输入gem install sass,如图安装成功2.检查版

2021-10-18 11:26:29 1055

原创 二分实现:查找数组中的峰值元素

问题引入给定一个有序数组arr,其中 arr[i] != arr[i+1],找到峰值元素并返回其索引首先,定位到题干中的关键字:峰值元素峰值元素是指 其值大于左右相邻值 的元素,是数组的一个转折点。法一:循环遍历根据峰值元素的特性,可以直接遍历找到符合条件的峰值元素:思想:遍历数组,如果当前元素大于它相邻的元素,则输出它的索引。若当前数组只有一个元素,则输出0,若当前元素为首尾元素,则只需要大于其另一侧的元素即可。//jslet arr = [3,4,5,6,7,1,2];let i

2021-09-07 22:49:53 1679 2

原创 事件循环机制 + ES7:Async/Await(基于generator原理实现)附详细示例分析

文章目录任务队列宏任务和微任务示例一Async/Awaitasyncawait示例二任务队列同步任务:立即执行的任务,同步任务一般会直接进入到主线程中执行;异步任务:异步执行的任务,比如ajax网络请求,setTimeout 定时函数,异步任务会通过任务队列的机制(先进先出的机制)来进行协调。主线程内的任务执行完毕为空,会去任务队列读取对应的任务,推入主线程执行。上述过程的不断重复就是我们说的 Event Loop (事件循环)宏任务和微任务Macro Task (宏任务):scrip

2021-08-22 00:24:42 842

转载 浅谈浏览器多进程与JS线程

面试被问到了浏览器线程,没答出来,最终还是感谢拿到了offer对于浏览器的知识还是知道的太少了,开始恶补TAT文章目录一、进程、线程之间的关系二、浏览器内的进程三、浏览器内核(渲染进程)四、 js引擎为什么是单线程五、浏览器内核中线程之间的关系1. GUI渲染线程与JS引擎线程互斥2. JS引擎线程与事件触发线程、定时触发器线程、异步HTTP请求线程一、进程、线程之间的关系一个进程有一个或多个线程,线程之间共同完成进程分配下来的任务。打个比方:假如进程是一个工厂,工厂有它的独立的资源工厂之

2021-08-19 14:35:30 699 2

原创 vue生命周期

一、组件生命周期组件生命周期:一个组件或一个"页面"加载过程中所经历的每个阶段。今后只要希望在页面或组件加载完成后自动执行一些初始化任务时就需要用到组件页面的生命周期.四个阶段(仅以new Vue()举例)(1)创建(create)阶段(必经).a.创建new Vue()对象.b.加载data对象到new Vue()中。c.暂时没有虚拟DOM树,可能无法执行DOM操作(2)挂载(mount)阶段a.根据el所指扫描页面,并首次将data中的变量值渲染到页面显示.b.既有data,又有虚

2021-08-14 15:46:12 127

原创 ES6之let原理+回调函数等待队列——五个完全相同的按钮,点第i个按钮弹出i

看此篇文章前,请确保已有闭包的知识储备~一、问题引入页面上五个完全相同的按钮,现在想实现点哪个按钮,哪个按钮就弹出自己是第几个。<button>click me!</button><button>click me!</button><button>click me!</button><button>click me!</button><button>click me!</butto

2021-08-10 18:04:39 601

原创 赋值-按值传递

一、按值传递1.原始类型例:Number,String,Boolean,Null,Undefined在函数中修改新变量,不会影响原变量例:var a = 3;var b = a;b++;console.log(a, b);//3,42.引用类型例:Object,Array在函数中用新变量修改对象,等效直接修改原对象例:var arr = ['1','2','string'];var arr1 = arr;arr1.pop();console.log(arr);//['1',

2021-08-09 13:14:37 196

github desktop 客户端

github desktop 客户端

2021-01-24

springboot项目.rar

一个完整可运行的springboot项目,仅包含部分功能:数据查询、登陆、数据添加与更新。发布后运行网址:http://localhost:8080/index,http://localhost:8080/show.jsp,http://localhost:8080/save.jsp

2020-12-05

智慧校园管理系统(物联网java项目)

登录界面包括用户登录、用户注册,进入系统后用户管理包括用户注册、密码修改和用户管理,IC 卡管理包括发卡、消费和充值,查询统计中可以查询IC的消费记录、充值记录和卡中余额。

2020-06-21

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

TA关注的人

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