自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(41)
  • 资源 (1)
  • 收藏
  • 关注

原创 js原生实现年份轮播选择效果

文章目录前言一、思路是什么?二、全部代码1. html2.js2.css总结前言用js实现一个年份轮换选择效果。废话不多说,看图:一、思路是什么?布局: 左右箭头使用实体字符 < 和 > 年份5个span。使用用flex布局横向排列。js逻辑:(注:年份数据为number数组)a> . 默认展示年份数据前5个。b>. firstIndex记录要显示的5个年份的起始索引。点击右侧箭头+1,直到firstIndex+5 刚好等于年份数组长度,不

2021-01-11 15:54:18 6371 9

原创 python利用netCDF4处理气象数据(nc文件)

利用python处理气象数据(nc文件)。安装netCDF4库,安装详见安装netCDF4库(ubuntu & w in d o w)解决步骤:1>. 利用netCDF4解析nc文件,分析数据结构2>.利用matplotlib的Basemap、pyplot绘制(Basemap负责地图绘制)一、第一步: 解析nc 及 分析数据结构#!/usr/bin/p

2018-01-14 15:48:33 42961 39

原创 Window系统上通过SSH搭建git服务器

Window系统上通过SSH搭建git服务器。

2024-02-23 16:38:31 1009

原创 axios封装使用

axios配置拦截 并使用 promise封装 get和post请求。

2023-03-11 09:35:48 213

原创 vue常见面试题

1、响应式系统:Vue通过使用Object.defineProperty()方法来劫持数据对象的属性,从而监听数据变化,并及时更新页面视图。当数据变化时,Vue会触发“响应式系统”,自动更新页面。2、模板解析:Vue通过将模板解析成AST(抽象语法树),然后根据AST生成渲染函数,最终将渲染函数编译成可执行的代码。3、虚拟DOM:Vue通过使用虚拟DOM(Virtual DOM)来减少DOM操作的次数,从而提高页面渲染性能。

2023-02-17 14:25:11 2217

原创 vue 虚列表实现

vue虚列表可以使用观察者监听滚动事件,并通过计算 start 和 end 来控制虚拟数据的呈现。还有一些插件,如 vue-virtual-scroll-list,可以更简单地实现虚拟列表。

2023-02-09 15:52:11 337

原创 vue列表回到顶部组件封装

回到顶部vue组件

2022-11-10 11:54:46 305

原创 CSS实现瀑布流布局

CSS实现瀑布流布局

2022-08-25 18:00:45 1885

原创 JS高级篇

防抖节流……防抖只响应最后一次操作怎么理解:事件会在设定的延时时间后执行,如果在时间内重新触发该事件,则重新计时案例:英雄联盟 -> 回城应用场景:input输入框输入事件触发提示:设定的时间内不一定能够执行一次事件,如回城,一直疯狂按回城键,永远无法回城 /** * * @param func 要防抖的函数 * @param millisecond 时间间隔 */ function debounce(func, m..

2022-05-25 17:23:37 181 2

原创 Git仓库迁移指南

git仓库迁移,包括代码,分支,提交记录说明:服务端git库迁移变更介绍、开发者本地切远程库地址文章目录git仓库迁移,包括代码,分支,提交记录前言一、旧库所有代码迁移至新库(含代码、分支、提交记录)1. 下载仓库镜像到本地2. 进入本地镜像仓库3. 将仓库中的旧的服务端地址更改为新仓库地址4. 将修改后的Git镜像仓库推送到新的仓库:二、开发者更新本地仓库的远端地址总结前言假设:旧仓库git地址: xxx/xxx/oldUrl.git新仓库git地址: xxx/xxx/newUrl.gi

2022-05-19 09:53:53 1143 1

原创 基于react-vant封装表单组件

基于react-vant封装表单基本常用组件[react-vant 组件库地址](https://3lang3.github.io/react-vant/v1/#/zh-CN/)目录基于react-vant封装表单基本常用组件一、基础组件1. LocationPicker总结一、基础组件1. LocationPicker效果演示:组件代码import React, {useEffect, useRef, useState} from 'react';import {Cell, Empt

2022-03-30 14:34:04 3110

原创 Vue实现从详情返回列表,保持原先的滚动位置

实现思路1、 页面使用 内部组件 keep-alive 实现缓存2、获取列表的滚动距离 this.offsetTop = this.$refs.listCmp.scrollTop ,并记录(data中定义offsetTop )3、返回列表页面恢复高度 this.$nextTick(() => { this.$refs.listCmp.scrollTop = this.offsetTop }部分代码示例 //离开列表 前记录高度 beforeRouteLeave(to, fr

2022-02-25 16:22:28 1977

原创 JavaScript使用百度地图API获取当前位置信息

使用步骤:一、百度开放API平台申请AK二、在线引入API 或者使用 npm三、使用API获取位置 注意:百度API、 高德API 商业用途,均需授权 引用与配置方式一 、在线引入API: <script type="text/javascript" src="https://api.map.baidu.com/api?v=2.0&ak=申请的ak"></script>方式二、 NPM使用:npm install baidumapvar bai

2021-12-14 16:42:43 5935 5

原创 前端js实现给图片添加水印

提示:本文技术暂时只支持图片添加水印 。页面DOM水印后续更新技术调研参考文献文章目录整体思路一、Image加载图片,创建canvas来绘制图片二、canvas绘制水印文本算法三、vant中上传图片使用示例总结整体思路1:、获取图片base64数据,使用js Image对象加载图片 (可以直接加载base64数据)2、 使用canvas写入图片,再canvas 绘制水印文本 ,具体算法见下文。 【参考: canvas绘制文本】3、canvas输出添加水印后的base64数据一、Imag

2021-11-26 17:54:40 12723 8

原创 Base64编码解码算法【js】

引用自 base64例子代码:var Base64 = { // private property _keyStr: "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=", // public method for encoding encode: function (input) { var output = ""; var chr1, chr2, ch

2021-11-23 10:46:46 287

原创 JavaScript数组去重(兼容基本数据类型和引用数据类型)

数组去重/** * * @param arr 原始数组 * @param attrs 依据属性 eg. 'a','b' 依据引用数组元素的属性a和b 作为判断依据。 * @returns [*] 去重后的数组 */const deDuplication = (arr, ...attrs) => { if (arr.length === 0) { return []; } let isRefType = arr[0] instanceof Obj

2021-09-18 17:03:30 268

原创 webpack 基本插件(plugin)使用

一、BannerPlugin为每个 chunk 文件头部添加 banner。类似版权声明new webpack.BannerPlugin(banner)二 、HtmlWebpackPlugin自动生成一个 HTML5 文件;自动将打包后的js文件,填到使用 script 标签中。安装npm install --save-dev html-webpack-plugin配置const HtmlWebpackPlugin = require('html-webpack-plug

2021-09-07 17:25:13 256

原创 webpack配置资源(css,less,img...)

一、webpack中使用css1 、安装style-loader 将模块的导出作为样式添加到 DOM 中css-loader 解析 CSS 文件后,使用 import 加载,并且返回 CSS 代码所以: 一般两者结合使用npm install --save-dev css-loadernpm install style-loader --save-dev2、配置loader解析,从右向左,所以正确写法 :use: [ ‘style-loader’, ‘css-loader’ ]错误写法

2021-09-07 10:42:25 349

原创 牛客网华为机试题训练汇总(JavaScript)

牛客网华为机试题训练(JavaScript Node环境)文章目录牛客网华为机试题训练(JavaScript Node环境)前言一、题目1. HJ11 数字颠倒2.HJ22 汽水瓶总结前言题目摘录牛客网华为机试题,答案为作者亲自操刀编码。一、题目1. HJ11 数字颠倒描述:输入一个整数,将这个整数以字符串的形式逆序输出程序不考虑负数的情况,若数字含有0,则逆序形式也含有0,如输入为100,则输出为001输入描述:输入一个int整数输出描述:将这个整数以字符串的形式逆序输出

2021-06-30 11:52:19 3275 2

原创 Chrome SameSite策略导致cookie写入失败解决方案

一 、问题描述:你是否在加载第三方页面的时候遇到如下问题?1、iframe无法加载链接,拷贝出iframe的src却可以在浏览器访问(chrome浏览器);2、 iframe可以在 Firefox、IE 正常加载,但无法在 Edge 、chrome 加载;…二、原因分析:1、chrome在80版本以后,更改了SameSite的默认值,80版本以前是None,80版本以后是Lax SameSite到底是什么?是cookie的一个属性,用来限制第三方Cookie。默认值有3种:St

2021-06-04 11:43:38 2492

原创 js实现各种排序算法

文章目录前言一、待定二、排序方法1.选择排序2.冒泡排序总结前言这里是前言 正文一、待定示例二、排序方法1.选择排序代码如下(示例): let arr = [12, 34, 54, 5, 2234, 23, 3, 4, 456, 76, 78]; /** * 选择排序:每次都在剩余的数列中选出最小的数字,放在最前面 */ function selectSort(arr) { console.time('selectSort'

2021-04-27 19:34:08 187 1

原创 自定义单选、多选组件(vue)

Demo 演示:一、组件代码:组件内部实现支持多选、单选能力;多选情况支持全选、反选、清空。思路:1、数据:     selectedArr 存储当前选中的数据。      单选:如果selectedArr[0] 等于当前选择数据,清空selectedArr ,否则赋值给 selectedArr[0] 。数组长度为0或1      多选:当前选择数据不在selected

2021-04-19 15:57:22 2024

原创 canvas使用

canvas 使用提示:canvas使用学习一、小球落体运动首先从模拟小球落体运动的案例开始,让我们逐步深入理解canvas。效果演示:Html代码:<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title> <script src="index.js" type="applicat.

2021-02-02 15:16:23 837 1

原创 CSS温习回顾篇

文章目录前言一、css基础篇选择器优先级二、高级篇1.引入库2.读入数据总结前言小菜鸡的css学习之路…一、css基础篇选择器通用选择器 (*)标签选择器类选择器属性选择器id选择器复合选择器群组选择器(逗号分隔)后代选择器 (空格分隔;直接后代使用>)兄弟选择器 (+ 或 ~)优先级选择器权值:* :0标签:1类:10属性:10伪类/伪元素:10id:100important:1000优先级原则:选择器权值加到一起 大的优先;权值相同,后

2021-01-18 12:18:36 247

原创 正则表达式的使用及常用案例

目录概念修饰符概念       正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符(修饰符、元字符等)、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。修饰符i :    ignore - 不区分大小写 , 搜索过滤时A 和 a 没有区别。g :    global - 全局匹配,查找所有的匹配项。使用在线工具 ,测试练习:

2020-12-28 15:53:00 656

原创 nginx基本操作命令和配置

nginx基本操作命令:启动nginx服务:start nginx停止nginx服务:nginx -s stop重启服务(修改配置生效的方式):nginx -s reload检查配置: nginx -t反向代理配置:location ^~ /login/ { proxy_pass http://ip:8080/gwmro/mobileService/login/; proxy_set_header Host $host;

2020-12-28 14:45:14 474 2

原创 vue自定义组件实现双向绑定

场景:我们比较常用的父子组件之间的交互方式:父组件通过props将数据流入到子组件;子组件通过$emit将更新后的数组发送的父组件;今天,我们通过另一种方式实现交互,参考input框的v-model,实现自定义组件的双向数据绑定。即:父组件值改变,子组件的值跟着改变;反之,子组件值发生变化,父组件值随之变化子组件定义:由于不能直接修改props属性值,我们这里定义valueData,通过监听实时接收value值,通过click方法修改valueData。这里注意model语法糖prop 是

2020-12-22 12:23:59 4909

原创 vue前端开发之mockjs

vue中使用mockjs前言一、mockjs是什么?二、使用姿势1.引入库2.模拟登陆接口配置3. vue项目中其他任何地方都可以进行接口拦截。总结前言前后端分离的项目中,前后端需要通过接口交互,才能完成整个项目的开发工作。理想状态前端使用到的接口应该已经通过各种测试保证了其可使用性、稳定性。但是, 实际上并不是这么回事:同时下需求,前端往往要等后端接口;有可能需求只下给前端了,后端没有下,很无语~~后端服务器不稳定,经常性500,404…等等一大堆问题。那么前端如何不依赖后端接口,完

2020-11-25 16:01:44 355

原创 element-ui导航菜单(el-menu)实现树形结构侧边栏

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档文章目录前言1、先上效果图2、具体实现2.1 定义Menu组件2.2 定义Slider组件,及树结构数据处理总结前言提示:一般侧边菜单数据都是静态、少量数据。如何实现动态可配置?可以通过接口返回的树形结构数据动态更新菜单条目1、先上效果图树形结构数据(模拟数据,实际开发中通过后台接口获取即可)[ { "nodeid": "777718a5-18a8-4955-928a-64b683513

2020-09-27 18:20:38 9189 1

原创 JS基本用法汇总(持续更新...)

文章目录前言一、数组篇二、待更新...总结前言一个小菜鸡的JS日常使用总结一、数组篇数组中重复元素判断let a = [1, 2, 3];let result = a.some((el, index, arr) => { return arr.indexOf(el) !== index;});console.log(result);//false数组去重let a = [1, 2, 3, 3];let b = a.filter((el, index,

2020-09-27 15:50:31 612 2

原创 Vue使用问题记录(持续更新…)

Vue使用问题记录(持续更新…)1. watch监听,无法检测数组长度变化

2020-09-22 18:38:59 175

原创 vue2.x 和 vue3.x 源码编译

vue2.x 和 vue3.x 源码编译 1. vue2.x源码编译错误解决错误信息:error D:\Code\vue\node_modules\phantomjs-prebuilt: Command failed.解决方案,参考log提示。github下载,由于网络问题,zip包下载很容易失败,可以手动下载 phantomjs-2.1.1-windows.zip 链接 安装包,并保存到c盘:C:\Users\Administrator\AppData\Local\T

2020-09-18 11:14:54 1697

原创 ES6语法(持续更新中...)

ES6语法ES6语法记录对象解构ES6语法记录ES6语法日常记录对象解构可以把对象属性和相同的变量绑定 let obj = { a: "aaaaaaaa", b: "bbbbbbb", c: "ccccccc", d: "dddddd" }; let { a, b, c } = obj; console.log(`a:${a} b:${b} c:${c}`);运行结果 a:aaaaaaaa b:bbbbbbb

2020-07-30 11:22:27 233

原创 安装netCDF4库(ubuntu & w in d o w)

关于netCDF4库,在windows 和ubuntu 下的安装方法windows: 去https://www.lfd.uci.edu/~gohlke/pythonlibs/ 搜索netCDF4,下载相应平台的whl文件,使用pip安装即可。ubuntu(两步 ):  第一步:先要安装依赖库:HDF5, 下载地址:https://support.hdfgroup.o

2018-01-10 12:26:02 12453 2

原创 python 实现插入排序,冒泡排序,快速排序,选择排序

#!/usr/bin/python# coding:utf-8#直接插入排序def insert_sort(list):    for i in range(len(list)):        Key = list [i]            #待插入元素            j = i - 1            while(Key =

2017-12-12 19:43:28 663

原创 根据文件路径、commit id、 批量获取patch

根据已知文件路径,和commit ID,遍历仓库,获取patch。文件路径和commit id以如下文件格式给出:system / core / ecf5fd58a8f50362ce9e8d4245a33d56f29f142bframeworks / base / e739d9ca5469ed30129d0fa228e3d0f2878671acframeworks / av / 119

2017-10-26 12:09:58 1744

原创 python 实现线性链表(单链表)--增加合并链表算法

初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码。!/usr/bin/python-- coding:utf-8 --Author: HuiDate: 2017-10-13结点类,class Node:def __init__(self, data): self.data = data # 数据域 self.next = No

2017-10-16 14:27:47 2157

原创 python 实现线性链表(单链表)

初学python,拿数据结构中的线性链表存储结构练练手,理论比较简单,直接上代码。#!/usr/bin/python# -*- coding:utf-8 -*-# Author: Hui# Date: 2017-10-13# 结点类,class Node: def __init__(self, data): self.data = data

2017-10-13 17:11:46 4585 1

原创 集成Apk到Android源码中编译

一般而言,简单的app我们通过IDE make就可以生成apk文件,拿来使用。但是,有些情况会因为权限等问题,导致你的apk crash。比如:‘’java.lang.SecurityException: Permission denial: writing to settings requires:android.permission.WRITE_SECURE_SETTINGS“ 。虽然我们在A

2017-06-08 14:09:46 4400

原创 通过广播更新RecyclerView

通过广播BroadCastReceiver监听ACTION_PACKAGE_ADDED和ACTION_PACKAGE_REMOUVED(apk安装,卸载),更新RecyclerView(静态在AndroidManifest.xml中注册即可,代码不再展示). @Override public void onReceive(Context context, Intent in

2017-05-17 16:04:03 1382

mac端Android模拟器2.12.0 版本

MAC 平台开发Android应用,使用的模拟器genymotion-2.12.0

2018-04-29

空空如也

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

TA关注的人

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