自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(36)
  • 收藏
  • 关注

原创 浏览器性能分析工具

浏览器性能分析工具开始以chrome浏览器为例,使用F12打开开发者工具可以在隐身模式下打开浏览器,在隐身模式下打开Google Chrome。隐身模式可以确保Chrome在干净的状态下运行。例如,如果安装了很多扩展,这些扩展可能会影响到性能分析的结果。打开后可以看到几个Tab,性能分析时主要关注Performance 和 Memory。在进行性能分析时,经常会需要模拟低配置机器的性能,可以在Performance 内设置中限制CPU的使用,默认是降低4倍和6倍,也可以自定义。另外,我们能看

2020-09-30 13:12:36 749

原创 Webpack学习笔记(八):缓存

目的缓存的目的在于浏览器端能够缓存下资源文件,而不用花时间去服务器获取资源,降低网络流量,提高访问速度。缓存的问题在于,如何确保资源文件更新后,浏览器能够拿到最新的文件而不是缓存的过期文件。除了通过服务器端配置外,还可以通过webpack配置的方式解决这个问题。修改输出文件名webpack 提供了一种使用称为 substitution(可替换模板字符串) 的方式,通过带括号字符串来模板化文件名。其中,[contenthash] substitution 将根据资源内容创建出唯一 hash。当资源内容

2020-07-24 15:43:16 151

原创 Webpack学习笔记(七):代码分离

目的代码分离就是将代码分别打包到不同的bundle中,以获得更小体积的bundle,一方面加快打包速度,另一方面也可以优化加载时间入口起点(entry points)直接配置中手动分离代码const path = require('path');module.exports = { mode: 'development', entry: { index: './src/index.js', another: './src/another-module.js' },

2020-07-24 15:42:49 208

原创 Webpack学习笔记(六):生产环境

目的生产环境和开发环境不同,开发环境需要强大的source Maps 排查问题,需要HMR。但生产环境不需要这些,生产环境需要的是压缩bundle,资源优化,轻量甚至不需要source Maps。所以需要针对这两种环境进行区分配置Merge 工具生产环境和开发环境虽然有些不同,但还有很多配置都是相同的。为了防止重复配置,webpack可以保留一份common配置,针对不同环境进行个性化配置,最后将个性化配置和common配置组合起来。这个组合就使用的是merge安装依赖npm install --

2020-07-24 15:42:13 117

原创 Webpack学习笔记(五):开发环境和模块热替换

目的设置开发环境,使得开发体验变得轻松代码继承自Webpack学习笔记(四):管理资源,需要将mode设置为 ’development‘模式使用source Maps简单说,source Maps是一个信息文件,里面储存着位置信息。也就是说,转换后的代码的每一个位置,所对应的转换前的位置。有了它,出错的时候,除错工具将直接显示原始代码,而不是转换后的代码。使用source Maps的方式很简单,只需要在config里面指定devtool为要使用的哪种选项的source Maps即可 const

2020-07-24 15:41:39 140

原创 从webpack3+转成Vue CLI 4+遇到的问题, Zlib解压缩速度变慢

问题背景前端项目使用Vue框架,之前一直使用Vue CLI2 推荐的webpack打包方式, 使用原生webpack进行配置, webpack版本3+. 最近修改了打包方式, 升级到了Vue CLI 4+.问题描述前端服务接受服务器传来的数据, 进行解压, 然后进行其他处理. 这里面解压使用的是nodejs提供的zlib.unzip进行解压.主要代码如下:// data 为请求到的数据var buffer = Buffer.from(data, 'base64');zlib.unzip(buf

2020-07-01 18:42:28 733

原创 Webpack学习笔记(四):管理输出

Webpack学习笔记(四):管理输出目的避免在index.html中手动引入所有资源,使用插件进行管理,而不是继续手动管理分离入口代码继承自Webpack学习笔记(三):管理资源1.项目中添加新的js文件,作为打包的入口 webpack-demo |- package.json |- webpack.config.js |- /dist |- /src |- index.js+ |- print.js |- /node_modules2.修改webpa

2020-06-01 12:11:00 187

原创 Webpack学习笔记(三):管理资源

Webpack学习笔记(三):管理资源目的管理项目中CSS样式、图片、字体等资源,将他们和js文件一起通过webpack打包实现方式webpack 最出色的功能之一就是,除了引入 JavaScript,还可以通过 loader 引入任何其他类型的文件。也就是说,以上列出的那些 JavaScript 的优点(例如显式依赖),同样可以用来构建 web 站点或 web 应用程序中的所有非 JavaScript 内容。webpack引入js文件之外的文件都是是通过loader实现的,例如引入CSS文件需

2020-06-01 12:09:56 188

原创 Webpack学习笔记(二):搭建一个简单的webpack实例

Webpack学习笔记(二):搭建一个简单的webpack实例一、预先准备环境配置: 需要安装node初始化项目: 使用npm初始化项目,生成package.json文件, 并安装webpackmkdir webpack-demo && cd webpack-demonpm init -ynpm install webpack webpack-cli --save-dev此时, 就构造好了一个基础的webapck项目二、添加文件内容在上步构造好的文件夹中添加inde

2020-06-01 12:08:15 248

原创 Webpack学习笔记(一):基本概念

webPack基础概念webpack是一个打包工具,webpack 是一个现代 JavaScript 应用程序的静态模块打包工具。当 webpack 处理应用程序时,它会在内部构建一个 依赖图(dependency graph),此依赖图会映射项目所需的每个模块,并生成一个或多个 bundle。入口入口起点(entry point)指示 webpack 应该使用哪个模块,来作为构建其内部 依赖图(dependency graph) 的开始。进入入口起点后,webpack 会找出有哪些模块和库是入口起

2020-06-01 12:07:10 136

原创 最大子序列问题和最大字串问题集合

目录子序列和子串1、最大子序列2、最长公共子序列(LCS)3、最长递增子序列(LIS)4、最长公共子串(LCS)5、字符串编辑距离子序列和子串子序列 :一个特定序列的子序列就是将给定序列中零个或多个元素去掉后得到的结果(不改变元素间相对次序)。子串 :是指串中任意个连续的字符组成的子序列例如: 字符串 abcdefg 的子串可以是:abc,bcd,de...

2020-05-13 08:10:28 188

原创 使用js-xlsx导出excel分页和打印标题行

问题前端导出的excel需要进行分页处理便于打印,为了方便显示,打印时需要设置打印标题行(每一页都会打印标题)js-xlsx文档说明js-xlsx在文档中列出了一下几个属性,但没有具体说明,经过实验,可以得到其具体的作用ws[’!rowBreaks’]: array of row break points, e.g. [16,32] // 行分页,数组的值对应插入分页符的行ws[’!colBreaks’]: array of col break points, e.g. [8,16] // 列分

2020-05-11 10:02:16 1562

原创 Spring中同一个Filter被连续调用两次

spring中使用过滤器filter做准入的控制,具体配置如下:(注意!该注解写法是错误的!)这里面注意SpringBoot中的注解的使用,其中@WebFilter将该class作为过滤器注册到Spring的容器中,@Order(1)作用是当存在同名过滤器时的使用先后顺序,@Component是将该class作为组件注册到Spring容器中。如图所示,使用这种注解写法会导致在f...

2020-04-30 14:13:01 4028 2

原创 Flex布局学习笔记

Flex总结1. 基本概念给div这类块状元素元素设置display:flex或者给span这类内联元素设置display:inline-flex,flex布局即创建!其中,直接设置display:flex或者display:inline-flex的元素称为flex容器,里面的子元素称为flex子项。注意,设为 Flex 布局以后,子元素的float、clear和vertical-align...

2020-04-30 14:03:10 227

原创 [滴滴]大数幂运算

给定两个数R和n,输出R的n次方,其中0.0<R<99.999, 0<n<=25 输入描述:多组测试用例,请参考例题的输入处理 输入每行一个浮点数 R 其中0.0 < R <99.999, 一个整数 n 其中0 < n <=25输出描述:输出R的n次方输入例子1:95.123 12 0.1 1输出例子1:...

2018-09-10 10:41:41 561

原创 [滴滴] 几个岛

给定一个m行n列的二维地图, 初始化每个单元都是水.操作addLand 把单元格(row,col)变成陆地.岛屿定义为一系列相连的被水单元包围的陆地单元, 横向或纵向相邻的陆地称为相连(斜对角不算).在一系列addLand的操作过程中, 给出每次addLand操作后岛屿的个数.二维地图的每条边界外侧假定都是水. 输入描述:多组测试数据,请参考例题处理 每组数据k+3行...

2018-09-10 10:38:55 284

转载 表示数字

题目描述将一个字符中所有出现的数字前后加上符号“*”,其他字符保持不变输入描述:输入一个字符串输出描述:字符中所有出现的数字前后加上符号“*”,其他字符保持不变示例:输入:Jkdi234klowe90a3输出:Jkdi*234*klowe*90*a*3*思路:在每一个数字前后都加上*,然后将所有出现的两个**替换成*代码:import java.uti...

2018-08-26 11:04:14 221

原创 在字符串中找出连续最长的数字串

题目描述连续最长的数字串的长度输入描述:输入一个字符串输出描述:输出字符串中最长的数字字符串和它的长度。如果有相同长度的串,则要一块儿输出,但是长度还是一串的长度示例:输入:abcd12345ed125ss123058789输出:123058789,9思路:本来以为这可以理解成是一个最长递增子序列的变形题,但是其实又更简单的方法:将所有非数字的字符用"a"代替,...

2018-08-26 11:01:24 926

转载 将真分数分解为埃及分数

题目描述分子为1的分数称为埃及分数。现输入一个真分数(分子比分母小的分数,叫做真分数),请将该分数分解为埃及分数。如:8/11 = 1/2+1/5+1/55+1/110。输入描述:输入一个真分数,String型输出描述:输出分解后的string示例:输入:8/11输出:1/2+1/5+1/55+1/110思路:设a、b为互质正整数,a<b 分数a/b 可用...

2018-08-26 10:50:20 1532

转载 尼科彻斯定理

题目描述验证尼科彻斯定理,即:任何一个整数m的立方都可以写成m个连续奇数之和。例如:1^3=1 2^3=3+5 3^3=7+9+11 4^3=13+15+17+19 输入描述:输入一个int整数输出描述:输出分解后的string示例:输入:6输出:31+33+35+37+39+41思路:找规律,第一项是 m * m + 1 - m,共有m项...

2018-08-26 10:47:21 261

原创 查找组成一个偶数最接近的两个素数

题目描述任意一个偶数(大于2)都可以由2个素数组成,组成偶数的2个素数有很多种情况,本题目要求输出组成指定偶数的两个素数差值最小的素数对输入描述:输入一个偶数输出描述:输出两个素数示例:输入:20输出:713思路:从给定偶数的一半值开始向两边搜索,搜索到的第一对素数即为差值最小的素数对代码:import java.util.*;public ...

2018-08-26 10:42:49 492

转载 找出字符串中第一个只出现一次的字符

题目描述找出字符串中第一个只出现一次的字符输入描述:输入一个非空字符串输出描述:输出第一个只出现一次的字符,如果不存在输出-1示例:输入:asdfasdfo输出: o思路:很简单,可以由多种思路。import java.util.*;public class Main{ public static void main(String[] args)...

2018-08-26 10:39:23 201

原创 按字节截取字符串

题目描述编写一个截取字符串的函数,输入为一个字符串和字节数,输出为按字节截取的字符串。但是要保证汉字不被截半个,如"我ABC"4,应该截为"我AB",输入"我ABC汉DEF"6,应该输出为"我ABC"而不是"我ABC+汉的半个"。 输入描述:输入待截取的字符串及长度输出描述:截取后的字符串示例:输入:我ABC汉DEF6输出: 我ABC思路:汉字占两个字...

2018-08-26 10:37:08 273

原创 走迷宫

题目描述定义一个二维数组N*M(其中2<=N<=10;2<=M<=10),数组中只有0和1两个数字。数组表示一个迷宫,其中的1表示墙壁,0表示可以走的路,只能横着走或竖着走,不能斜着走,要求编程序找出从左上角到右下角的最短路线。入口点为[0,0],既第一空格是可以走的路。输入描述:输入两个整数,分别表示二位数组的行数,列数。再输入相应的数组,其中的1表示墙壁,0...

2018-08-26 10:31:24 193

原创 学英语

题目描述Jessi初学英语,为了快速读出一串数字,编写程序将数字转换成英文:如22:twenty two,123:one hundred and twenty three。说明:数字为正整数,长度不超过九位,不考虑小数,转化结果为英文小写;输出格式为twenty two;非法数据请返回“error”;关键字提示:and,billion,million,thousand,...

2018-08-26 10:23:54 74

原创 称砝码

题目描述现有一组砝码,重量互不相等,分别为m1,m2,m3…mn;每种砝码对应的数量为x1,x2,x3...xn。现在要用这些砝码去称物体的重量(放在同一侧),问能称出多少种不同的重量。称重重量包括0。输入描述:输入包含多组测试数据,对于每组测试数据:第一行: 砝码数 n第二行: 每个砝码的重量 m1 m2 m3 ... mn第三行:每个砝码的数量 x1 x2 x3 .....

2018-08-26 10:11:39 323

原创 判断两个IP是否属于同一子网

题目描述子网掩码是用来判断任意两台计算机的IP地址是否属于同一子网络的根据。子网掩码与IP地址结构相同,是32位二进制数,其中网络号部分全为“1”和主机号部分全为“0”。利用子网掩码可以判断两台主机是否中同一子网中。若两台主机的IP地址分别与它们的子网掩码相“与”后的结果相同,则说明这两台主机在同一子网中。输入描述:输入子网掩码、两个ip地址输出描述:得到计算结果示例:...

2018-08-25 09:47:46 7120

转载 蛇形矩阵

题目说明蛇形矩阵是由1开始的自然数依次排列成的一个矩阵上三角形。样例输入5样例输出1 3 6 10 152 5 9 144 8 137 1211import java.util.Scanner;public class Main{ public static void main(String[] args){ Scanner sc...

2018-08-24 20:38:31 184

原创 密码截取

题目描述功能: Catcher是MCA国的情报员,他工作时发现敌国会用一些对称的密码进行通信,比如像这些ABBA,ABA,A,123321,但是他们有时会在开始或结束时加入一些无关的字符以防止别国破解。比如进行下列变化 ABBA->12ABBA,ABA->ABAKK,123321->51233214 。因为截获的串太长了,而且存在多种可能的情况(abaaab可看作是aba,或...

2018-08-24 20:27:33 466

原创 查找兄弟单词

兄弟单词: 给定一个单词X,如果通过交换任意字母的位置可以得到单词Y,那么X和Y是兄弟单词思路:建立字母数组,扫描X的每一个字母,统计每一个字母出现次数存在字母数组,再扫描Y的每一个字母,将对应字母数组位置上的数减去;代码: private static boolean isBroWord(String s, String str){ if(s.equals(s...

2018-08-24 20:20:59 171

原创 合唱队

题目描述功能:计算最少出列多少位同学,使得剩下的同学排成合唱队形说明:N位同学站成一排,音乐老师要请其中的(N-K)位同学出列,使得剩下的K位同学排成合唱队形。 合唱队形是指这样的一种队形:设K位同学从左到右依次编号为1,2…,K,他们的身高分别为T1,T2,…,TK,   则他们的身高满足存在i(1<=i<=K)使得T1<T2<......<Ti-...

2018-08-24 20:11:10 166

原创 简单错误记录

题目描述功能:开发一个简单错误记录功能小模块,能够记录出错的代码所在的文件名称和行号。处理: 1、 记录最多8条错误记录,循环记录,对相同的错误记录(净文件名称和行号完全匹配)只记录一条,错误计数增加;2、 超过16个字符的文件名称,只记录文件的最后有效16个字符;3、 输入的文件可能带路径,记录文件名称不能带路径。输入描述:一行或多行字符串。每行包括带路径文件名称...

2018-08-24 19:56:22 194

原创 识别有效的IP地址和掩码并进行分类统计

题目描述请解析IP地址和对应的掩码,进行分类识别。要求按照A/B/C/D/E类地址归类,不合法的地址和掩码单独归类。 所有的IP地址划分为 A,B,C,D,E五类A类地址1.0.0.0~126.255.255.255;B类地址128.0.0.0~191.255.255.255;C类地址192.0.0.0~223.255.255.255;D类地址224.0.0.0~239...

2018-08-24 19:51:02 719

原创 求int型正整数在内存中存储时1的个数

题目描述功能: 输入一个int型的正整数,计算出该int型数据在内存中存储时1的个数。输入描述:输入一个整数(int类型)输出描述:这个数转换成2进制后,输出1的个数示例:输入: 5输出: 2思路:当给定数不为零,如果给定数和1与运算等于1,计数加;给定数右移1位;代码:import java.util.*;public class Main{ ...

2018-08-24 12:12:30 80

原创 质数因子

题目描述功能:输入一个正整数,按照从小到大的顺序输出它的所有质数的因子(如180的质数因子为2 2 3 3 5 )最后一个数后面也要有空格输入描述:输入一个long型整数输出描述:按照从小到大的顺序输出它的所有质数的因子,以空格隔开。最后一个数后面也要有空格。示例:输入: 180输出: 2 2 3 5思路:将给定数num用从2开始的数除,所得余数就是num的质数...

2018-08-24 12:00:55 697

原创 变态跳台阶

题目描述一只青蛙一次可以跳上1级台阶,也可以跳上2级……它也可以跳上n级。求该青蛙跳上一个n级的台阶总共有多少种跳法。 public class Solution { public int JumpFloorII(int target) { if(target <= 0) return 0; return 1 << (targ...

2018-08-07 17:10:39 64

空空如也

空空如也

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

TA关注的人

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