自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (9)
  • 收藏
  • 关注

原创 docker 部署前后端分离项目(mysql + springBoot + redis)

之前也有学过一点docker方面的知识,这次迁移服务器刚好想着把docker用起来,用的腾讯云服务器,简单的列一下步骤和踩过的坑。首先是安装docker,网上命令很多,这里不细说。我们需要4个容器,分别是后端应用程序包(**.jar),nginx容器(存放前端静态资源,和nginx拦截跨域请求),mysql容器,redis容器。1. 安装mysqldocker pull mysql:5.7 // 拉取镜像docker run -p 3306:3306 --name mysql -v .

2021-02-28 21:58:10 661

原创 js的中一些小技巧

将十进制数 转换为某进制, 例如将41转换为7进制数后为56var a = 41;b = a.toString(7) // "56"将某个进制数的字符串转换为10进制数c = parseInt(b,7) // 41console.log(a===c) // true

2020-12-30 10:43:37 143

原创 个人网站wordpress配置成https教程

一直以来想做这个事,可是总是由于一些其他原因给耽误了,今天上午比较有空,就准备将我自己的个人网站升级成https协议了,整个过程没有想象的那么复杂,主要是自己平时也对https协议这个东西做了不少了解,真正配置https协议的就只需要那几个步骤。首先:需要申请证书文件,现在阿里云,腾讯云都有提供免费的证书,自己只需要去申请就行了,笔者因为买的是阿里云,所以申请的是阿里云证书,申请的时候需要绑定自己的网站域名,申请完之后,我们就可进入阿里云控制台看到相应的证书信息了。右边的下载功能,提供了各种不同

2020-09-04 14:48:37 557

原创 数据结构之并查集

并查集类型的题目在力扣上刷题的时候经常会碰到,这个知识点,如果不懂,解题可能会很费劲,但若是掌握了并查集,解此类型的题目几乎都是套模板,说这么多了,并查集究竟是来干什么的呢,就个人理解来看,它是对数据用来进行归类的,初始状态下,我们假使每个数据都是独立的,在对这个数据进行查找类别的时候,初始时都是他们自身。并查集对外提供两个API,一个是查找find,一个是合并union,查找是查找出这个元素是属于哪个门类,合并,是合并两个元素为一个门类。它对应的数据结构如下:...

2020-08-28 12:29:27 169

原创 leetcode系列之岛屿问题

在leetcode里的深度优先遍历的题目集中,有很多题几乎有着相同的解题思路,其中的岛屿问题就是如此,对应的题目有被围绕的区域,岛屿数量,岛屿的最大面积和统计封闭岛屿的数目,水域大小。在深度优先遍历的时候,往往有个难点就是如何记录当前已经被访问过的节点,如果不做处理的话,很有可能会造成递归,常规的解题思路是用一个visited数组来表示是否已经访问,它有个好处就是不改变原有数据里面的状态,但是同时额外带来些空间消耗。但是在解岛屿问题的时候,我们可能会发现通过直接更改访问节点的状态,可以使我们程序不重复访问某

2020-08-27 22:02:11 1253

原创 数据结构之单调队列

承接上部分的单调栈,单调队列在leetcode上面的题目也蛮多的,很多是与其他知识点混合在一起考察,暂且先不看单调队列是如何定义的,我们先练习一下相关的题目,滑动窗口的最大值,队列的最大值等,现在以滑动窗口为例,题目如下:给定一个数组nums和滑动窗口的大小k,请找出所有滑动窗口里的最大值。示例:输入: nums = [1,3,-1,-3,5,3,6,7], 和 k = 3输出: [3,3,5,5,6,7]解释:输入: nums = [1,3,-1,-3,5,3,6,7], 和...

2020-08-25 21:05:53 209

原创 数据结构之单调栈

单调栈,顾名思义,即栈内的元素都是单调的,要么递增,要么递减,力扣上面关于这个考点比较多的有例题移调K位数字,下一个更大元素I II III,每日温度等,思路都大同小异,现那下一个更大元素I,作为例题讲解下原题:给定两个 没有重复元素 的数组nums1 和nums2,其中nums1是nums2的子集。找到nums1中每个元素在nums2中的下一个比其大的值。nums1中数字x的下一个更大元素是指x在nums2中对应位置的右边的第一个比x大的元素。如果不存在,...

2020-08-25 09:43:50 167

原创 面试题系列之防抖与节流

防抖与节流是实际开发过程经常会碰到的应用场景,例如防抖,就可应用在即时搜索的过程中,由于用户输入的过快,如果不做处理的话,很可能会导致前一次搜索结果的值出现在后一次搜索结果的值的后面,这样就会导致信息的搜索有误,这种情况就可采取防抖策略,具体思路时,只对用户最后一次的输入进行相关搜索,代码实现如下:// 关于防抖function _debounce(fn,ms){ let t; function next(){ clearTimeout(t); // 把上次清空

2020-08-06 11:08:11 1014

原创 面试题系列之setTimeout与setInterval

前端面试中,经常会考察对setTimeout和setInterval的理解与使用,常见面试题就如两者之间的转换了。用setTimeout实现setInterval,代码如下// 用setTimeout 实现setIntervalfunction set_interval(fn,ms){ // fn参数可以通过在后面使用...rest接受,为了测试结果明显,目前使用n传递fn参数 let n = 0; function next(){ setTimeout

2020-08-06 10:52:55 377

原创 JS设计模式之发布-订阅模式

在前端的很多领域都使用到了这个模式,包括vue里面实现的双向绑定原理,也是用了这种模式,有的书称其为观察者模式,废话不多说,先看下定义:它定义了对象间的一种一对多的关系,让多个观察者对象同时监听某一个主题对象,当一个对象发生改变时,所有依赖于它的对象都将得到通知。简而言之就是当某一个事件触发的时候,我们需要很多观察这个事件的观察者们都能响应这个变化,作出自己的行为,举一个简单的例子,商店购物,小王喜欢红色衣服,每当店里的红色衣服尺寸变化的时候,他都要去吃试穿;小李则喜欢绿色衣服,每当店中绿色衣服尺寸

2020-08-03 16:48:20 142

原创 关于排序的一些小细节

由于之前刷题一直用的c++,而面试过程中要求写代码的时候一般是用js,所以自己也在尝试用js语言去刷题。中间会遇到一些小问题,就例如排序c++ 中的sort函数很好理解,sort(arr,arr+len,cmp). 其中cmp函数决定着排序的策略,是由小到大,还是由大到小,这个很容易记混,为了便于理解与记忆,目前先以由小到大排序为例,观察其实现方法,在c++中,cmp返回的是个bool类型值,代码如下bool cmp(int a,int b){ return a < b;}但是

2020-08-02 16:20:11 85

原创 动态规划之零钱兑换

题目:给定不同面额的硬币 coins 和一个总金额 amount。编写一个函数来计算可以凑成总金额所需的最少的硬币个数。如果没有任何一种硬币组合能组成总金额,返回-1。输入: coins = [1, 2, 5], amount = 11输出: 3 解释: 11 = 5 + 5 + 1思路:这道题其实感觉比上一道题简单一些,我们先用一个数组保存从1-amount之间每个金额所需硬币的最少数,初始阶段先用-1表示不能用硬币组合,数组从小开始遍历,如果当前i>coins[j]且dp[i-.

2020-06-18 18:56:09 188

原创 动态规划之面试题:硬币问题

题目:硬币。给定数量不限的硬币,币值为25分、10分、5分和1分,编写代码计算n分有几种表示法。(结果可能会很大,你需要将结果模上1000000007)示例: 输入: n = 5 输出:2 解释: 有两种方式可以凑成总金额: 5=5 5=1+1+1+1+1思路:这题刚开始用递归试了下,发现时间上不满足OJ要求,并且写的时候,思路也有点混乱,百思不得其解,后来看了其他的题解,觉得代码设计很巧妙,借鉴一下,它的思路是遍历硬币,先用最小硬币组合1-n,方程为dp[i] = dp[i] +

2020-06-18 18:46:36 514

原创 动态规划之删除与获得点数

题目:给定一个整数数组nums,你可以对它进行一些操作。每次操作中,选择任意一个nums[i],删除它并获得nums[i]的点数。之后,你必须删除每个等于nums[i] - 1或nums[i] + 1的元素。开始你拥有 0 个点数。返回你能通过这些操作获得的最大点数。示例:输入: nums = [3, 4, 2]输出: 6解释:删除 4 来获得 4 个点数,因此 3 也被删除。之后,删除 2 来获得 2 个点数。总共获得 6 个点数。输入: nums =...

2020-06-18 18:24:40 152

原创 动态规划之最大的以1为边界的正方形

题目:给你一个由若干0和1组成的二维网格grid,请你找出边界全部由1组成的最大正方形子网格,并返回该子网格中的元素数量。如果不存在,则返回0。示例:输入:grid = [[1,1,1],[1,0,1],[1,1,1]]输出:9输入:grid = [[1,1,0,0]]输出:1思路:这也是一道比较典型的动态规划题目,思路是,可以先设置两个二维数组,top,left,分别记录网格中当前节点中连续向上和连续向左为1的格子个数,取其中最小值作为正方形的边,然后判断左...

2020-06-18 18:15:48 264

原创 动态规划之不同的二叉搜索树

题目:给定一个整数n,求以1 ...n为节点组成的二叉搜索树有多少种?样例如下:输入: 3输出: 5解释:给定 n = 3, 一共有 5 种不同结构的二叉搜索树: 1 3 3 2 1 \ / / / \ \ 3 2 1 1 3 2 / / \ \ 2 1 ...

2020-06-18 18:06:30 151

原创 记一次c++中的文件操作

前些日子,帮实验室师姐做了一个小任务,关于数据清洗,分类的。具体要求如下------------------------------------------------------------------------------------------------------------------------------------------------------------------...

2020-01-13 10:34:10 432 1

原创 leetcode18-四数和

题目描述:给定一个包含n 个整数的数组nums和一个目标值target,判断nums中是否存在四个元素 a,b,c和 d,使得a + b + c + d的值与target相等?找出所有满足条件且不重复的四元组。注意:答案中不可以包含重复的四元组。示例:给定数组 nums = [1, 0, -1, 0, -2, 2],和 target = 0。满足要求...

2019-11-24 17:20:53 89

原创 leetcode题集2-进击的骑士

题目:一个坐标可以从-infinity延伸到+infinity的无限大的棋盘上,你的骑士驻扎在坐标为[0, 0]的方格里。骑士的走法和中国象棋中的马相似,走 “日” 字:即先向左(或右)走 1 格,再向上(或下)走 2 格;或先向左(或右)走 2 格,再向上(或下)走 1 格。每次移动,他都可以按图示八个方向之一前进。现在,骑士需要前去征服坐标为[x, y...

2019-09-25 17:22:55 323

原创 leetcode题集1-twoSum

题目:Given an array of integers, returnindicesof the two numbers such that they add up to a specific target.You may assume that each input would haveexactlyone solution, and you may not use the...

2019-09-04 09:57:46 115

原创 OJ练习之约瑟夫问题

问题描述约瑟夫问题:有n只猴子,按顺时针方向围成一圈选大王(编号从1~n),从第1号开始报数,一直数到m,数到m的猴子退出圈外,剩下的猴子在接着从1开始报数。就这样,知道圈内只剩下一只猴子时,这只猴子就是猴王,编程完成如下功能:输入n,m后,输出最后猴王的编号。输入数据每行是用空格分开的两个整数,第一个是n,第二个是m(0<n,m<300)。最后一行是:0 0输出要...

2019-03-25 20:53:28 1065

原创 复习C语言 链表的头插法和尾插法

在入门C语言时,大多数同学可能都会对C语言的指针头疼,尤其在大二接触数据结构设计中,然而,对于一个陌生的东西,你花在这个上面的时间越长,以后你对这块儿的知识点就会记忆的越深,今天就先复习一下数据结构中的第一课,链表的建立,这里我们首先要会使用c语言的结构体,在这里,我们默认定义的链表结构体如下:typedef int ElemType;typedef struct Node { ...

2019-03-14 21:29:25 1651

原创 JavaScript学习笔记(一)

1.js的原型链,对象,构造函数之间的关系,先从练习开始   test1是函数原型,ex1,ex2则是这个函数的实例,从上述结果不难看出prototype是专属函数原型test1的属性,而_proto_则是函数实例化后ex1,ex2的属性,如果对这几个东西用图形展示的话,应该是下面这张     好,我们在了解完上述的关系后,再看一下另外的练习结果从实例化的ex1中,再加一个...

2019-01-06 21:23:12 1312 1

原创 前端学习入门笔记(一)

1.盒子模型:通常分为两种,一种是IE模型,一种是标准模型。两种的区别就是内容的width计算不同,先看下这两种布局上的不同(图片源自网络)      在标准模型下 width = content      而在ie模型下 width = content + 2 * padding + 2 * border      而这两种的模型的转换可以由boxing-size属性来设置  标准:...

2019-01-06 20:06:21 188

转载 关于win7系统搭建FTP服务器

http://www.cnblogs.com/grenet/archive/2012/05/04/2480682.html

2016-04-18 23:27:50 366 1

转载 关于图的遍历算法

前些天做算法设计实验,涉及到图的遍历的一些算法,由于数据结构是在去年学的,很多算法也有些记不清了,今天在网上看到了一篇好的博文,留作看吧. 转载自海子的: http://www.cnblogs.com/dolphin0520/图的遍历有两种遍历方式:深度优先遍历(depth-first search)和广度优先遍历(breadth-first search)。1.深度优先遍历基本思想:首先从图

2015-11-28 12:15:38 5802

原创 android多线程详解之AsyncTask

在上篇博文中我们讲到多线程之间通信的第一种办法,即通过使用handler,而在本篇博文中,我们重点来讲讲其中的第二种办法,使用AsyncTask来完成多线程通信.AsyncTask:异步任务,从字面上来说,就是在我们的UI主线程运行的时候,异步的完成一些操作。AsyncTask允许我们的执行一个异步的任务在后台。我们可以将耗时的操作放在异步任务当中来执行,并随时将任务执行的结果返回给我们的UI线程来

2015-10-07 15:47:53 440 1

原创 android多线程详解之Handler

当逐渐深入学习android的时候,会不可避免接触到网络开发的,有时我们需要从网络上获取大量数据时,获取完数据后,会及时进行主线程UI的更新,如果把这些耗时的操作放到主UI线程时,可能会造成主线程阻塞以致应用程序关闭,这时我们就需要把这些耗时的操作单独的放到另外的线程中,确保主线程能正常的运行.在android当中,一般能实现这些效果的有两种方法,一种是Handler,另外一种是AsyncTask.

2015-09-27 11:58:16 616

原创 复习系列之Java1(类与对象的一些小细节)

Java中,若父类在属性成员前未加访问控制符,则子类依然可以访问该成员,可默认该属性成员修饰符为protect构造方法的执行过程 当创建一个对象时,对象的各个变量根据其类型被设置为相应的默认初始值,然后调用构造方法。下面是执行步骤: ①调用父类的构造方法,这个过程会重复下去. ②按声明顺序对成员变量进行初始化. ③执行构造方法中的各语句. 原对象和上转型对象之间关系上转型对象

2015-09-18 22:37:54 406

原创 关于MySQL杂七杂八的一些操作

Mysql 数据库

2015-05-09 11:03:38 504

原创 关于Java中Runnable和Thread的一些使用

这几天,看了一下Java中的线程,觉得还是觉得有必要在线程这块儿说一说,因为这里的线程也牵涉到了安卓里的线程使用,好了,废话少说了,步入正题吧! 大家都已知道Runnable只是个接口,里面就一个光秃秃的run方法,关于它,要记住一点,当从Runnable导出一个类时,这个类并无特殊之处,他不会产生内在的线程能力.要实现线程行为,你必须显式地将一个任务(其实我更愿意将Runnable导出的类称之为

2015-04-08 22:18:41 1245

前端进阶之监控.pptx

前端监控这块儿一直是前端工程师从入门到进阶的一个重要部分,本ppt从三个方面主要介绍了前端监控,页面埋点,性能监控,异常上报。每个点都有详细的文档和代码介绍,非常适合初中级工程师。

2020-10-07

web安全概览.pptx

本课件是组会作为分享使用,亦可作为团队前端安全培训入门使用,全课件主要讲解了sql注入,xss,csrf,点击劫持等常见的web攻击手段,及其一些防范措施,对于初入web安全的领域的新手十分有帮助。

2020-06-30

typescript分享.pptx

现在前端的技术发展日新月异,从最开始的es5到es6,再到现在的typescript。本课件着重介绍了typescript的使用场景以及如何在项目中配置使用typescript,非常适合新人和想了解ts的人哦。

2020-06-19

Redux.pptx

前端现在非常火的redux机制入门讲解,里面着重介绍了单向数据流的发展历程,从flux到redux,再到具体框架中 react-redux,步步深入,并配有实战代码,非常适合入门和新手。

2020-06-18

eslint代码检查.pptx

这是一个关于eslint的培训ppt,里面有详细介绍如何在项目中配置并使用eslint,ppt中有对应的源码地址(码云),非常适合新手入门

2019-10-30

java连接oracle数据库最简单例子

java代码连接oracle数据库操作的最简单样例,内含连接oracle的jar包,和数据库相关的一些详细操作,并且附有注释,浅显易懂,对于入门的初学者非常有帮助

2018-05-05

编译原理整套课件

比较完整的编译原理课件,讲的比较细致,希望对大家有用

2015-05-31

黑客入门书籍

关于黑客的一些最基本的概念和技术,菜鸟入门必备的书

2014-09-20

java教程ppt

全套教程,详尽内容,介绍非常清楚,条理清晰,思路明了

2014-04-19

空空如也

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

TA关注的人

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