自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

zmjのblog

这个需求不难

  • 博客(137)
  • 收藏
  • 关注

原创 历届蓝桥杯国赛试题及部分题解(Java本科B组)

2018年第九届蓝桥杯国赛试题及详解(Java本科B组)2017年第八届蓝桥杯国赛试题及详解(Java本科B组)2016年第七届蓝桥杯国赛试题及详解(Java本科B组)2015年第六届蓝桥杯国赛试题及详解(Java本科B组)2014年第五届蓝桥杯国赛试题及详解(Java本科B组)2014年第四届蓝桥杯国赛试题及详解(Java本科B组)...

2019-05-18 16:32:21 903

原创 cccc-gplt 团体程序设计天梯赛JAVA题解

1. 前言大多是想用java解的,有些题java会超时就换成了c++2. 目录编号标题题解分类L1-001Hello, WorldJava水题L1-002打印沙漏Java打印图形L1-003个位数统计Java字符串处理L1-004计算摄氏温度Java水题L1-005考试座位号JavamapL1-006连续因...

2019-05-13 14:27:39 3687 6

原创 LeetCode题目,源码解析

leetcode_java前言刷leetcode的记录,代码并不是十分滴优秀~~网上优秀滴题解也非常多…嗯…但还是想放上来,给自己看!嗯…很调皮!介绍大多题目的解题思路在代码中都有注释,点击语言一栏中的Java, 跳转到相对应的代码,github会实时更新,csdn这边可能会慢一些编号题目难度语言标签002Add Two NumbersMediumJava...

2018-11-11 22:26:21 231 3

原创 React 自定义hooks最佳实践

react hooks推出已经有一段时间了,而自定义hooks在hooks中其实是非常关键的一环,它是抽离业务逻辑和UI逻辑,复用代码的关键

2022-09-14 14:31:18 3741 1

原创 node fs文件系统常用操作总结

原有的fs库应该抛弃了,使用全新的库constfs=require('fs/promises')//以下api均已promise化//读取目录文件和文件夹,options参数一般用不到,可以用来指定编码fs.readdir(path,options)//返回文件类型,此时返回的是数组,每个元素都是文件类Dirent,该类可获取文件名以及判断文件类型fs.readdir(path,{true})//将oldPath重命名为newPath。...

2022-07-15 16:03:40 543

转载 常见逻辑谬误整理

概念以及形式谬误谬误本质典例偷换概念在同一论证过程中,概念并没有保持一致【典例】买一送一。 【分析】两个“一”的含义往往不同循环定义在定义过程中,定义项直接或者间接地包含了定义项【典例】逻辑学是研究逻辑的科学。【分析】用“逻辑”来定义“逻辑学”,实际上并未定含了被定义清楚什么是逻辑学分解谬误认为整体具有的性质,部分一定具有【典例】湖北人能喝酒,焕哥是湖北人。因此,焕哥能喝酒。【分析】喝酒是湖北人整体的特点,焕哥不一定具有认为部分具有的性质,整体一定具有合

2022-03-12 14:14:05 4358

原创 H5 挽留弹窗方案设计与实现

H5 挽留弹窗的设计与实现背景运营提出想在用户点击退出,返回的时候,弹窗挽留用户,并通过挽留弹窗引流一些产品,提高转换率,因此挽留弹窗需要实现以下功能,用户点击返回的时候,弹出挽留弹窗。方案初步设计经过本人的调研,浏览器没有直接提供类似用户退出的事件监听,因此端外实现的方案都是比较hack的方案。主要借助history这个API,使用到以下两个方法history.pushState():往浏览器里插一条历史记录window.addEventListener(‘popstate’, (e) =

2021-11-26 10:32:32 2471

原创 使用JS去除字符串中的HTML标签

背景有时候我们经常需要删除掉字符串中的一些HTML标签下面我推荐两个办法正则表达式str.replace(/<[^>]+>/g, '')使用innerHTML(推荐)有时候网上的一些正则可能不符合你的需求,此时我们可以通过HTML自带的textContent来解决const deleteTag = (str) => { const el = document.createElement('div') el.innerHTML = str return el.

2021-11-24 19:13:11 2726

原创 element-admin同时使用mock数据和真实后端接口

背景系统接入了真实后端接口进行登录,但业务接口还没开发完成,需要mock数据。方案一般来说有两种方案多个server,启用纯前端mock这里建议我采取的是第二种方案。具体操作步骤如下启用src/main.js下的mockXHR方法,并将环境改成development在mock文件夹下创建dashboard.js编写mock数据具体的书写方法可以参考生成的几个mockjs文件,如arcticle.js等export default [ { url: `/

2021-03-11 15:03:07 1321

原创 less使用变量减少伪类:nth-child代码

原有的代码&:nth-child(1){ margin-top: 0; h4 { top: auto; bottom: 596 / @s; } .fixed h4{ top: 100 / @s; }}&:nth-child(2){ h4 { top: auto; bottom: 465 / @s; } .fixed h4{ t

2020-12-31 10:19:51 1269

原创 iframe高度自适应方案总结

1. 背景iframe能将一个网页嵌入到另一个网页中,有个缺陷是高度不能随内容而撑开,需要手动设置。如果内容高度是动态的,就会存在问题。在网上查了不少方案都存在一些问题,总结了一下2. 思路整体而言思路是:通过scrollHeight获取iframe的滚动高度,动态将iframe.height设置为scrollHeight即可但是要考虑到两个问题如果内容是动态改变的,就不能仅仅在window.onload后做一次高度改变要考虑撑开后又高度又缩小的情况3. 代码为了解决上述的两个问题,

2020-10-27 16:18:58 10543 4

原创 React-Router 路由传参的几种方式

1.get传值路由配置还是普通的配置,如:‘admin’传参方式如:‘admin?id=‘1111’’通过this.props.location.search获取url获取到一个字符串’?id=‘1111’我们可以用url,qs,querystring,浏览器提供的api URLSearchParams对象(do not need to support IE and do not contain array or object)或者自己封装的方法去解析出id的值。2.动态路由传值路由需要配置成动

2020-10-26 20:02:50 1463

原创 vue-router控制台报错You are using the runtime-only build of Vue where the template compiler...

使用vue-router报错You are using the runtime-only build of Vue where the template compiler is not available.今天第一次用vue-router,按照官网的例子抄了一遍首先在main.js中引入vue-router配置import Vue from 'vue'import App from ...

2020-04-22 10:03:33 724

原创 windows10系统下安装配置ruby开发环境

1. 前言由于ruby在windows下不友好因此考虑使用wsl来搭建环境,wsl是“Windows Subsystem for Linux”的缩写,顾名思义,wsl就是Windows系统的Linux子系统使用wsl搭建环境后,使用vscode作为开发环境以下是搭建过程2. 配置wsl可以参考下面这篇文章WSL 使用指南——02 安装配置3. 配置vscode打开vscode,一...

2019-10-16 15:29:35 1568

原创 win10 vscode搭建go语言开发环境

1. 下载和安装golang下载安装比较简单直接进官网下载即可:https://golang.org/下载好之后,一直按下一步即可(不用刻意配置环境,安装完自动会配环境)然后打开win + r打开cmd输入go version# 我的版本:go version go1.13.1 windows/amd642. vscode运行这一步比较坑了,当你创建好go文件,输入hello,...

2019-10-15 20:00:17 547

原创 vscode添加第三方库代码提示

众所周知,JS是门动态语言,对一些代码提示会比较弱特别是引入一些第三方库,如jQuery, d3等,没有代码提示有时候写demo的时候,不想引入npm各种包,仅仅需要一个文件的时候<!--index.html文件--><!DOCTYPE html><html lang="en"><head> <meta charset="U...

2019-09-14 17:19:59 9690 1

原创 用d3.js画一个柱状图

1. 前言涉及到的比较重要的点Scale(比例尺)Update、Enter、Exit2. 比例尺重点在于比例尺的应用线性比例尺domain是定义域,range是值域可以将定义域放大或者缩写什么意思呢? 假设我们的数据长度是[0, 1000],但是1000这个高度太高了,放不下我们就可以将其缩小5倍var y = d3.scaleLinear() .domain([...

2019-09-14 16:54:13 553

原创 判断一棵树是否是另一颗树的子结构

1. 题目输入两棵二叉树A,B,判断B是不是A的子结构。(ps:我们约定空树不是任意一个树的子结构)2. 思路注意是B是A的子结构,并不是子树也就有可能是,A是一颗很大的树,B只是中间一部分树的结构所以要做的事情就两件遍历A树,将A树每个节点与B树比较判断A是否是B的结构(根节点相同)代码var compare = (p1, p2) => { // 如果p2遍历...

2019-09-11 19:00:59 397

原创 翻转一个单链表

1. 题目翻转一个链表2. 思路涉及三个节点的关系 前一节点,当前节点,下一节点打比方说是A -> B -> C此时想要变成A <- B <- C显而易见,直觉会很容易想到让B->next 去指向A但直觉有时候往往容易出错,如果第一步就让B->next去指向A,那么就会丢失B与C之间的联系所以在让B指向A之前,我们必须先保存好C节点地址然...

2019-09-10 22:00:17 159

原创 链表中倒数第k个结点

1. 题目在一个链表,输出该链表中倒数第k个结点。2. 思路可能比较常见的做法是,用一个数组保存链表中的节点,遍历一遍链表,然后输出数组倒数第k个结点function FindKthToTail(head, k) { var tmp = [] while(head) { tmp.push(head) head = head.next ...

2019-09-10 21:50:30 118

原创 从零手写一个Promise

手写一个promise分五步走解决基本状态,即Promise三个状态pending, fulfilled, rejected的转换解决then方法支持异步操作支持链式调用all和race1. 解决基本状态看一段promise代码const promise = new Promise((resolve, reject) => { con...

2019-09-08 20:37:12 206

原创 js 中 new 与 Object.create()的区别

前言在js中,创建对象有三种方式{} // 对象字面量new Object()Object.create()1和2的区别很小,1不能传参,2可以传参。new Object() 和Object.create() 区别就比较大了1. new关键字new 关键字做了几件事创建一个新对象将新对象的原型指向构造函数的原型执行构造函数,绑定this返回这个对象比如创建一个Ca...

2019-08-23 21:39:27 454

原创 深拷贝的终极二次探索(99%的前端都不知道)

1. 前言很多前端er认为深拷贝很难,其实我觉得主要是网上很多文章代码虽然实现了深拷贝,但代码冗余度很高,确实是不利于阅读。2. 难点在哪?首先我给出下面这个对象var obj = { name: "muyiy", book: { title: "You Don't Know JS", price: "45", b: { ...

2019-08-17 21:24:16 420 8

原创 js垃圾回收机制

1. 垃圾回收机制简言之,垃圾回收就是把我们不需要再用到的对象释放内存那怎么判断对象是否不再需要呢?主要有两种方法引用计数法标记清除法2. 引用计数法以前的垃圾回收机制主要是用引用计数法这种方法判断对象是否不再需要 是通过判断对象是否被引用来实现的在内存环境里,对象如果被其他对象引用了,说明这个对象我们还需要它,反之则不需要它注意,这里的对象不只是js对象,也包括函数作用域...

2019-08-17 13:59:26 158

原创 on-event事件处理器与addEventListener区别

1. on-event我们通常将通过on-event函数绑定的叫事件处理器(handler event)on-event 属于 DOM level 0 events,最早提出的规范这种事件处理方式,是将指定的事件注册到元素上实现的,作为一个元素属性var t = document.getElementById('demo')t.onclick = function() { }因为是作...

2019-08-16 14:00:20 4064

原创 从哈希表到MD5摘要算法

1. 散列表是什么?定义,摘选自维基百科。散列表(Hash Table)也叫哈希表。是根据键(Key)而直接访问在内存存储位置的数据结构它通过计算一个关于键值的函数,将所需查询的数据映射到表中一个位置来访问记录,这加快了查找速度。这个映射函数称做散列函数,存放记录的数组称做散列表。2. 一个例子通过一个简单的例子解释一下。老师统计班上同学的成绩,想要把每个分数的人数统计一下,也就...

2019-08-04 17:05:10 359

原创 微PE重装系统

http://www.wepe.com.cn/ubook/installtool.html

2019-08-03 14:25:44 1522

原创 React全家桶搭建大众点评Webapp

1. 项目简介项目预览地址:http://47.100.2.47/dianping该项目使用React全家桶搭建了大众点评Webapp其实项目还是有点难度的,为了仿真app体验,是重度使用了Redux,将所有的状态都保存在Redux中,方便做缓存,增加用户体验,但也增加了项目的复杂度2. 使用方法将本仓库clone到本地在根目录下输入yarn install命令,安装依赖yarn ...

2019-07-26 23:48:40 224

原创 垂直方向margin重叠和margin坍塌问题

垂直方向margin重叠是兄弟元素之间<div class="container"> <div class="A">A</div> <div class="B">B</div></div>.A, .B { width: 100px; height: 100px; backgrou...

2019-07-05 22:05:48 489

原创 React项目部署到阿里云ECS服务器教程

前言以下流程都是博主本人2019/7月实际操作,React,Nginx均为最新版本,已成功部署,可放心食用。要注意的一点是我的阿里云服务器是Centos 7,不是Ubuntu·1. 买服务器花钱买阿里云服务器。。。2. 使用putty连接上服务器这一步看官网的教程:https://help.aliyun.com/document_detail/25434.html?spm=a2c4g....

2019-07-02 18:00:33 2070 1

原创 将React项目部署到本地Nginx服务器上

过程很曲折,所以记录下来。首先我的项目是一个React+Redux+React-Router的单页应用。1. 配置package.json首先配置项目中的package.json,这一步非常非常重要加上字段"homepage": "http://localhost:8000/dianping",这里要重点说明一下这个字段是映射服务器的,所以这个路径非常重要不要写根目录,如果你写成下...

2019-07-02 16:19:10 2559

原创 js 数组reduce()方法详解

1. 前言reduce是一个很美妙的函数,不仅因为它好用,也因为它也蕴含了Redux的哲学,对理解Redux中的reducer也有很大的帮助2. 思考先抛出一个问题,如何实现数组求和?const arr = [1, 3, 5, 9, 20] // 求和问题很简单,一个简单的解决方案如下:let sum = 0for (let i = 0; i < arr.length; i+...

2019-06-15 17:52:46 230

原创 js实现拖拽效果(二):面向对象封装

1. 前言在上一篇文章中,已经实现了拖拽的效果,但并不利用复用,我们使用面向对象的方式,将代码重构一遍。2. 代码(function() { function Drag(selector) { // 传进来的如果是DOM对象则不用再查找 this.elem = typeof selector == 'object' ? selector : docum...

2019-06-14 14:47:28 291

原创 js实现拖拽效果(一):原理实现

1. 原理JS 拖拽一个元素的原理:首先要明白三个值鼠标的位置A = {x, y}盒子的位置B = {x, y}鼠标在盒子内的距离C = {A.x - B.x, A.y - B.y}涉及到三个鼠标事件鼠标按下时,mousedown鼠标移动时,mousemove鼠标松开时,mouseup然后就可以开始讲明实现过程了鼠标按下的时候,计算出C,鼠标在盒子里距离(鼠标位置 ...

2019-06-14 12:56:51 343

原创 js获取元素的left和top值方法总结

方法一:使用obj.style.left和obj.style.top该方法获取到的样式可读可写但是这种方法有局限性,仅能获取行内样式中的left,right。如果写在了style标签里,或者link引入的css文件中,则获取不到方法二:使用window.getComputedStyle该方法接收两个参数第一个参数是,要获取样式的元素第二个是可选参数,要匹配的伪元素的字符串用法...

2019-06-14 10:49:27 14152 1

原创 js 获取 iframe 内的元素

今天在写爬虫的时候,用选择器的时候发现选择不到元素。。后来才发现这是iframe内的元素,因为iframe包裹的内容相当于另一个页面了,所以用当前页面的document是选不到的选取方法// 1. 先选择iframevar iframe = document.querySelector('#iframe_id').contentWindow// 2. 选择iframe内的元素var e...

2019-05-30 13:03:47 4737

原创 2015年第六届蓝桥杯国赛试题及部分题解(Java本科B组)

1. 分机号X老板脾气古怪,他们公司的电话分机号都是3位数,老板规定,所有号码必须是降序排列,且不能有重复的数位。比如:751,520,321 都满足要求,而,766,918,201 就不符合要求。现在请你计算一下,按照这样的规定,一共有多少个可用的3位分机号码?请直接提交该数字,不要填写任何多余的内容。解析:直接三层循环暴力package A;public class Mai...

2019-05-29 13:12:57 442

原创 2014年第五届蓝桥杯国赛试题及部分题解(Java本科B组)

1. 国王的遗产标题:国王的遗产X国是个小国。国王K有6个儿子。在临终前,K国王立下遗嘱:国王的一批牛作为遗产要分给他的6个儿子。其中,大儿子分1/4,二儿子1/5,三儿子1/6,…直到小儿子分1/9。牛是活的,不能把一头牛切开分。最后还剩下11头牛,分给管家。请计算国王这批遗产中一共有多少头牛。这是一个整数,请通过浏览器提交答案,不要填写任何多余的内容(比如说明性的文字)解析:...

2019-05-22 16:44:12 386

原创 蓝桥杯 历届试题 第八届C++国赛 B组 发现环 Java

1. 发现环标题:发现环小明的实验室有N台电脑,编号1~N。原本这N台电脑之间有N-1条数据链接相连,恰好构成一个树形网络。在树形网络上,任意两台电脑之间有唯一的路径相连。不过在最近一次维护网络时,管理员误操作使得某两台电脑之间增加了一条数据链接,于是网络中出现了环路。环路上的电脑由于两两之间不再是只有一条路径,使得这些电脑上的数据传输出现了BUG。为了恢复正常传输。小明需要找到所有在环路...

2019-05-22 16:12:12 264

原创 蓝桥杯 历届试题 分考场 Java

1. 题目:分考场问题描述  n个人参加某项特殊考试。  为了公平,要求任何两个认识的人不能分在同一个考场。  求是少需要分几个考场才能满足条件。输入格式  第一行,一个整数n(1<n<100),表示参加考试的人数。  第二行,一个整数m,表示接下来有m行数据  以下m行每行的格式为:两个整数a,b,用空格分开 (1<=a,b<=n) 表示第a个人与第b个人...

2019-05-22 16:07:00 639

空空如也

空空如也

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

TA关注的人

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