自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

BLUEHEART

梦为努力浇了水,爱在背后往前推

  • 博客(140)
  • 资源 (8)
  • 收藏
  • 关注

原创 表征(Representation)

表征(Representation)在目标检测和识别领域中,指的是将目标的特征以某种形式描述或编码的过程和结果。一个好的表征应该能够准确、有效地捕捉目标的关键特征,使得后续的检测、识别或跟踪任务更容易进行。好的表征应该具有区分性(能够区分不同类型的目标)、鲁棒性(对噪声和干扰不敏感)和紧凑性(用较少的数据表达丰富的信息)。目标特征微弱:远距离小目标通常缺乏明显的纹理或形状特征,需要更精细的表征方法。外观特征表征:描述目标的视觉特征,如形状、颜色、纹理等。时序特征表征:描述目标在时间序列上的变化特征。

2024-09-13 21:39:17 694

原创 Anaconda 的一些配置

最重要的一步!!!!!改文件夹权限。

2024-03-11 22:01:54 518

原创 jupyterlab 设置

PS:jupyter lab 快捷打开方式(不用cmd命令行输入):找到jupyter lab.exe文件(类似路径D:\Software\Python3.8.6\Scripts),一般在python安装路径下的Scripts文件夹下,右键固定到开始屏幕,即可一键打开。类似于’C:\Users\UserName.jupyter\jupyter_lab_config’即为所在路径。win+R,输入cmd,然后输入:>>> jupyter-lab --generate-config。

2024-03-11 00:15:58 818

原创 jupyter notebook

接着上一步输入pip install jupyter_contrib_nbextensions -i https://pypi.mirrors.ustc.edu.cn/simple后点击回车等待安装,如下图所示。第七步:重启jupyter,在弹出的主页面里,能看到增加了一个Nbextensions标签页,点击Nbextensions标签页之后进入。接着上一步输入pip install --user jupyter_nbextensions_configurator后回车等待完成。第二步:激活base环境。

2024-03-08 16:23:14 1108

原创 getStaticPaths函数 以及 fallback参数

`getStaticPaths`是Next.js的一个静态生成API,它用于在构建时确定哪些页面需要被预渲染。它需要返回一个包含`params`属性的对象数组,其中每个对象都代表一个路径参数集合,可以被预渲染为一个静态页面。如果所有参数都已知,它们将被硬编码到页面中,否则Next.js将根据路径参数动态生成HTML页面。

2023-02-24 22:40:59 1065

原创 用Axios和原生fetch写访问语雀API接口

用axios 和 fetch 调用语雀api

2023-02-24 18:04:23 593

原创 JavaScript 数据结构与算法——数组

JavaScript 数据结构与算法(二)数组几乎所有的编程语言都原生支持数组类型,因为数组是最简单的内存数据结构。数组通常情况下用于存储一系列同一种数据类型的值。但在 JavaScript 里,数组中可以保存不同类型的值。但我们还是要遵守最佳实践,别这么做(大多数语言都没这个能力)。创建和初始化数组new Array()const daysOfWeek = new Array( "Sunday", "Monday", "Tuesday", "Wednesday", "T

2022-03-27 21:34:36 286

转载 前端开发规范之 Eslint

https://alloyteam.github.io/eslint-config-alloy/AlloyTeam ESLint 规则不仅是一套先进的适用于 React/Vue/Typescript 项目的 ESLint 配置规范,而且也是你配置个性化 ESLint 规则的最佳参考。使用方法内置规则npm install --save-dev eslint @babel/eslint-parser eslint-config-alloy在你的项目的根目录下创建一个 .eslintrc.js 文件

2022-03-20 23:49:33 1533

原创 Javascript 实现冒泡排序、选择排序、插入排序、归并排序、快速排序、希尔排序、堆排序

1. 冒泡排序、选择排序、插入排序。它们的平均时间复杂度都为 O(n2)。1.1 冒泡排序冒泡排序只会操作相邻的两个数据。每次冒泡操作都会对相邻的两个元素进行比较,看是否满足大小关系要求。如果不满足就让它俩互换。一次冒泡会让至少一个元素移动到它应该在的位置,重复 n 次,就完成了 n 个数据的排序工作。// 冒泡排序const bubbleSort = arr => { const length = arr.length; if (length <= 1) ret

2022-03-14 17:44:12 2819

原创 认真总结 HTTP常见面试题(持续更新)

这两天学习了一些HTTP相关的知识点,总结记录一下。《好看的版本!!》https://www.yuque.com/docs/share/6f16ec3a-9418-49a6-9cde-be445776f362?#1. 在浏览器输入URL后敲下回车后发生了什么?1.1 简单分析1.2 详细分析1.2.1 URL解析首先,浏览器做的第一步就是解析 URL 得到里面的参数,将域名和需要请求的资源分离开来,从而了解需要请求的是哪个服务器,请求的是服务器上什么资源等等。一个URL的结构解析如下:.

2022-03-12 01:09:18 2575 2

原创 彻底搞懂 React 生命周期

1. React的生命周期有哪些?React 通常将组件生命周期分为三个阶段:装载阶段(Mount),组件第一次在DOM树中被渲染的过程;更新过程(Update),组件状态发生变化,重新更新渲染的过程;卸载过程(Unmount),组件从DOM树中被移除的过程;https://projects.wojtekmaj.pl/react-lifecycle-methods-diagram/1.1 组件挂载阶段挂载阶段组件被创建,然后组件实例插入到 DOM 中,完成组件的第一次渲染,该过程只会发生

2022-03-11 10:58:56 1847

原创 记录 axios 库的使用

axios是目前前端使用非常广泛的网络请求库。主要特点包括:在浏览器中发送 XMLHttpRequests 请求、在 node.js 中发送 http 请求、支持 Promise API、拦截请求和响应、转换请求和响应数据等等;1. axios的基本使用axios(config)axios.request(config)axios.get(url[, config])axios.delete(url[, config])axios.head(url[, config])axios.post(

2022-03-10 17:08:01 1052

原创 Axios 的二次封装

1. 简单版本:config.jsconst devBaseURL = "https://httpbin.org";const proBaseURL = "https://production.org";export const BASE_URL = process.env.NODE_ENV === 'development' ? devBaseURL: proBaseURL;export const TIMEOUT = 5000;request.jsimport axios from

2022-03-10 16:05:30 5552

原创 记录 JavaScript 事件循环 Event Loop

1. JavaScript 是一门单线程语言JavaScript 是一门单线程语言,所谓"单线程",就是指一次只能完成一件任务。如果有多个任务,就必须排队,前面一个任务完成,再执行后面一个任务,以此类推。虽然JavaScript是单线程运行的,但是还是存在其他线程的;例如:处理Ajax请求的线程、定时器的线程、读写文件的线程(node.js中)等。2. 同步任务和异步任务"同步任务"就是指在主线程上排队执行的任务,只有前一个任务执行完毕,才能继续执行下一个任务,程序的执行顺序与任务的排列顺序是一致的

2022-03-10 00:54:49 1078

原创 简单版 JavaScript 防抖、节流的实现

1. 什么是防抖节流用户在页面上进行窗口大小的调整、滚动页面或者在输入框搜索联想词等一系列操作时,都会频繁的触发事件处理函数;如果这时候又需要在事件处理函数里去异步获取数据或者进行DOM的操作等耗性能的操作时,容易导致页面卡顿等影响用户的体验;这时就可以通过防抖(debounce)和节流(throttle)函数来限制事件处理函数的调用频率,提升用户的体验。最上面正常执行每一条竖线代表了每一次事件处理函数的调用,中间是经过防抖函数处理后实际的调用情况,最下面是经过节流函数处理后的调用情况;发现比最

2022-03-09 23:50:22 376

原创 CSS水平垂直居中

CSS 实现水平垂直居中,这是一道经典的面试题,也是我们平时开发经常遇见的问题。本文总结了常用的方法,以及各种奇淫巧技,并且会说明每种方法的兼容性。开始正文之前,我们准备一些元素:<div class="outer"> <div class="inner">hello world</div></div>为了便于查看,加上一些样式:.outer { width: 300px; height: 300px; border: 1px so

2022-03-06 17:01:44 365

原创 理解伪类选择器与伪元素选择器

1. 两个选择器的异同:伪类选择器是用来向某些选择器来添加效果。不修改DOM内容,通过一些特定的选择器根据特定的状态、特定条件来修改元素的杨氏。比如:悬停(hover)、点击(active)以及文档中不能通过其它选择器选择的元素(这些元素没有 ID 或 class 属性),例如第一个子元素(first-child)或者最后一个子元素(last-child)。伪元素选择器是一个附加在选择器末尾的关键词,通过伪元素您不需要借助元素的 ID 或 class 属性就可以对被选择元素的特定部分定义样式。例如通过伪

2022-03-06 15:13:13 2184

原创 Component _c declared `PropTypes` instead of `propTypes`. Did you misspell the property assignment?

要注意大小写!!

2022-03-04 23:21:09 642

原创 深入理解 Proxy 和 Reflect-- JavaScript

总结:Proxy 是用来监听js对象的相关操作如果我们希望监听一个对象的相关操作,那么我们可以先创建一个代理对象(Proxy对象)。之后对该对象的所有操作,都通过代理对象来完成,代理对象可以监听我们想要对原对象进行哪些操作。Reflect 提供操作js对象的方法它主要提供了很多操作JavaScript对象的方法,有点像Object中操作对象的方法;比如Reflect.getPrototypeOf(target)类似于 Object.getPrototypeOf();比如Reflect.d

2022-03-04 14:19:15 870

原创 深入理解Object.defineProperty

1. 定义及参数MDN 对该Object.defineProperties()方法的定义:Object.defineProperty()方法会直接在一个对象上定义一个新属性,或者修改一个对象的现有属性,并返回此对象。Object.defineProperty(obj, prop, descriptor) 可接收三个参数:obj:要定义属性的对象。prop:要定义或修改的属性的名称或 Symbol 。descriptor:要定义或修改的属性描述符。2. 属性描述符分类属性描述符主要

2022-03-04 00:17:12 1681

原创 手写JavaScrip函数柯里化

// 柯里化函数的实现lyCurryingfunction lyCurrying(fn) { function curried(...args) { // 判断当前已经接收的参数的个数, 可以参数本身需要接受的参数是否已经一致了 // 1.当已经传入的参数 大于等于 需要的参数时, 就执行函数 if (args.length >= fn.length) { // fn(...args) // fn.call(this, ...args)

2022-03-03 23:18:56 287

原创 JS柯里化详解 -- JavaScript

1. 柯里化是什么?柯里化是一种函数的转换。是指将一个函数从可调用的 f(a, b, c) 转换为 f(a)(b)(c)。// 普通函数function add(x, y, z) { return x + y + z}var result = add(10, 20, 30)console.log(result)// 柯里化函数function sum1(x) { return function(y) { return function(z) { ret

2022-03-03 22:45:27 2534

原创 基于 Redux 状态管理【面试题】

1. 为什么使用Redux?React 是视图框架。Redux是一个用来管理数据状态和**UI状态**的JavaScript应用工具。随着 JavaScript 单页应用(SPA)开发日趋复杂, JavaScript需要管理比任何时候都要多的state(状态), Redux就是降低管理难度的。(Redux支持React、Angular、jQuery甚至纯JavaScript)。在 React 中,UI 以组件的形式来搭建,组件之间可以嵌套组合。但 React 中组件间通信的数据流是单向的,顶层组

2022-03-03 21:15:30 2860

原创 值类型和引用类型 -- JavaScript

1. JavaScript 中的变量类型包括:值类型(基本类型):string、number、boolean、undefined、null、symbol(ES7新增)。引用类型:Object、Array、Function2. 值类型和引用类型的区别2.1 值类型:占用空间固定,保存在栈中保存与复制的是值本身使用typeof检测数据的类型基本类型数据是值类型2.2 引用类型:占用空间不固定,保存在堆中保存与复制的是指向对象的一个指针使用instanceof检测数据类型

2022-03-01 22:53:10 330

原创 手写Promise【05】-Promise 方法的异常捕获以及 then 方法实现可选参数

1. 捕获自定义 LyPromise 中的错误const PENDING = 'pending';const FULFILLED = 'fulfilled';const REJECTED = 'rejected';class LyPromise { constructor(executor) { try { executor(this.resolve, this.reject); } catch(error) {

2022-03-01 17:34:32 622

原创 执行上下文与执行栈 -- JavaScript

本文主要记录全局执行上下文和函数执行上下文1. 执行上下文简而言之, 执行上下文 就是 JavaScript 代码运行的环境。1.1 分类在JavaScript中,有三种执行上下文类型:全局执行上下文 :这是默认或者说基础的上下文,任何不在函数内部的代码都在全局上下文中。它会执行两件事:创建一个全局的 window对象(浏览器的情况下),并且设置 this 的值等于这个全局对象。一个程序中只会有一个全局执行上下文。函数执行上下文 : 每当一个函数被调用时,都会为该函数创建一个新的上下.

2022-03-01 15:32:31 1033

原创 手写Promise【04】-then方法链式调用识别 Promise 对象自返回

来看一个例子:let promise = new Promise((resolve, reject) => { resolve(1000);})let p1 = promise.then(value => { console.log(value); return p1;})p1.then(resolve => { console.log(resolve);}, reject => { console.log(reject);}

2022-02-28 20:42:46 387

原创 手写Promise【03】-实现then方法多次调用与链式调用

1. then 方法的多次调用我们在定义成功successCallback和失败failCallback的回调的时候,只定义了一个值,没有考虑到 then 方法被多次在异步中调用的情况,所以在这里应该将成功和失败的回调定义成为一个可收纳多个值的东西–数组。successCallback = [];failCallback = [];所以 then 方法中的回调存储也随之改变:this.successCallback.push(successCallback);this.failCallback

2022-02-28 17:59:40 1672

原创 手写Promise【02】-异步逻辑实现

上次手写的 Promise 没有做异步处理,本篇实现一下。1. 上次实现的 Promiseconst PENDING = 'pending';const FULFILLED = 'fulfilled';const REJECTED = 'rejected';class LyPromise { constructor(executor) { executor(this.resolve, this.reject) } status = PENDING;.

2022-02-28 16:44:47 196

原创 手写Promise【01】-Promise类核心逻辑实现

1. Promise的基本使用首先通过 new 关键字来创建一个 Promise 对象。创建完毕后就可以看到 Promise 实际上是一个类。在执行这个类的时候,需要传递一个回调函数进来,这个回调函数会立即执行。在回调函数内会传递两个参数:resolve 和 reject。调用这两个参数的时候会更改 Promise 的状态,所以这两个参数实际上是两个函数。Promise 的状态改变:一旦状态确定就不可更改resolve 被调用时将状态会更改为成功:pending -> fulfille

2022-02-28 15:04:45 356

原创 用React写个小博客

用 React+Framer Motion+Styled Components 写了个小玩意Source Code

2022-02-27 20:51:09 305

原创 React-router-dom 从v5向v6

之前用react-router-dom v5版本 配合 react-router-confighttps://www.npmjs.com/package/react-router-confighttps://reactrouter.com/这么搞目录结构:router/index.jsimport React from "react";import { useRoutes } from "react-router-dom";import LyMine from "../pages/.

2022-02-24 23:08:59 385

原创 findIndex与indexOf 的区别

1.find()与findIndex()相同:参数与用法不同:find返回元素,findIndex返回索引;找不到时find返回undefined,findIndex返回-1。2.findIndex()与indexOf()findIndex比indexOf更强大一些,可以通过回调函数查找对象数组,indexOf只能查找数组中指定的值,不过indexOf可以指定开始查找位置的索引。...

2022-02-21 15:59:21 7993

原创 Iterator和Generator -- JavaScript

Iterator和Generator前言:明白几个概念1. 什么是可迭代对象和迭代器?1.1 原生迭代器对象1.2 可迭代对象的应用1.3 迭代器的中断2. 什么是生成器?2.1 生成器传递参数 – `next`函数2.2 生成器提前结束 – `return`函数2.3 生成器抛出异常 – `throw`函数3. 生成器替代迭代器3.1 举例1:创建一个函数, 这个函数可以迭代一个范围内的数字。3.2 举例2:使用生成器的三种写法3.3 举例3:自定义类迭代前言:明白几个概念迭代器:是帮助我们对某个数据

2022-02-19 23:50:59 595

原创 forEach、for…in、 for…of 的区别

文章目录1. `forEach`, `for in` , `for of` 三者的区别?1.1 forEach1.2 for in1.3 for of1. forEach, for in , for of 三者的区别?1.1 forEach遍历的时候更加简洁,效率和for相同,不用关心集合下标问题,减少出错的效率没有返回值不能使用break中断循环, 不能使用return返回到外层循环const array = [1, 3, 4];let newArray = arr.forEach(i

2022-02-17 00:24:57 1817 1

原创 347. 前 K 个高频元素

347. 前 K 个高频元素给你一个整数数组 nums 和一个整数 k ,请你返回其中出现频率前 k 高的元素。你可以按 任意顺序 返回答案。时间复杂度好像没满足,js 写优先队列太复杂了,等等看思路先map一下,算出各个数的频率然后根据频率降序排列 最后选出前k个var topKFrequent = function (nums, k) { let res = []; const map = new Map(); for (const num of nums) {

2022-02-16 00:55:13 442

原创 给路径设置别名, 借助于 craco

React 中给路径设置别名 借助 craco 实现。craco.config.jsonconst path = require("path");const resolve = dir => path.resolve(__dirname, dir);module.exports = {..... webpack: { alias: { "@": resolve("src"), "components": resolve("src/components"

2022-02-15 21:10:50 421

原创 【已解决】OpenSSL SSL_connect: Connection was reset in connection to github.com:443 errno 10054

https://blog.csdn.net/qq_37555071/article/details/114260533OpenSSL SSL_read: Connection was reset, errno 10054代理打开,走代理!!

2021-05-13 12:08:34 1371

原创 初始化文件 eslintrc prettierrc gitignore

/// 生成一个空的package.jsonnpm init -y///安装 eslintnpm install --save-dev eslintnode_modules\.bin\eslint --init/// prettiernpm install --save-dev prettier新建一个 .prettierrc 的文件npm install --save-dev eslint-plugin-prettier eslint-config-prettier在 .es

2021-03-25 17:43:17 329

原创 怎么让DataFrame按照某一列绝对值从小到按排列?

比如按照‘a’列的绝对值从小到大排序df.iloc[df['a'].abs().argsort()]按照绝对从大到小排序df.iloc[df['a'].abs().argsort()[::-1]]第一步:先定义一个array数据import numpy as npx=np.array([2,4,5,3,-10,1])第二步:输出结果:y=np.argsort(x)print(y)输出结果为:y=[4 5 0 3 1 2]第三步:总结:argsort()函数是将x中的元素从小到大排

2021-03-22 22:11:23 3443

GeoPandas安装文件.rar

geopandas 安装不成功可以看一下。把文件下载之后安装即可。py3.6版本 geopandas 安装不成功可以看一下。把文件下载之后安装即可。py3.6版本 geopandas 安装不成功可以看一下。把文件下载之后安装即可。py3.6版本

2020-07-26

ffmpeg.win32.exe.zip

ffmpeg.win32.exeffmpeg.win32.exeffmpeg.win32.exeffmpeg.win32.exeffmpeg.win32.exe

2020-02-21

SSH Secure File Transfer Client

Windows远程连接linux SSH Secure Shell Client + SSH Secure File Transfer Client

2018-11-09

VS2017+OpenGL配置所需文件.rar

VS2017+OpenGL配置所需文件,里面包括:glad、glaux 、glfw-3.2.1.bin.WIN32、glutdlls37beta。满足所需!

2018-10-25

ArcGIS 所需PostgreSQL32文件

ArcGIS 所需PostgreSQL32文件 libeay32.dll, libiconv-2.dll, libintl-8.dll, libpq.dll, and ssleay32.dll

2018-03-27

PostgreSQL-9.2.19-windows

ArcGIS 10.2 支持版本 ,PostgreSQL-9.2.19-1-windows

2018-03-27

ArcGIS_API_For_JS的智能提示 jsapi_vsdoc12_v38.js

ArcGIS_API_For_JS的智能提示 jsapi_vsdoc12_v38.js ArcGIS_API_For_JS的智能提示 jsapi_vsdoc12_v38.js

2018-03-18

ArcGIS API for JavaScript部署两件套

文件有apache-tomcat-7.0.85-windows-x64,arcgis_js_v323

2018-03-16

空空如也

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

TA关注的人

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