自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 问答 (1)
  • 收藏
  • 关注

原创 npm、yarn和cnpm的比较和选择

这些工具之间的关系是:npm和cnpm都是NodeJS的包管理器,而yarn则是Facebook发布的一款替代npm的包管理工具,它们可以共同使用来帮助前端开发者更高效地管理他们的项目。npm的基本命令包括检查版本、安装模块、查看安装模块、更新模块、卸载模块、搜索模块、创建模块、添加用户、发布模块、撤销模块某个版本、清空本地缓存和使用淘宝镜像等。yarn 是Facebook发布的一款替代npm的包管理工具,具有速度超快、超级安全、超级可靠、安装快捷、配置简单、发布简单、更新简单等特点。

2024-04-01 11:35:44 148

原创 前端VUE项目快速生成配置方案

在项目根目录下,你会看到一个名为vue.config.js的文件。这个文件允许你自定义Vue项目的各种配置选项。这会提示你选择预设的配置选项,你可以根据需要选择或跳过。然后,你可以使用cd命令进入新创建的项目目录,并使用npm run serve命令启动开发服务器。你可以在src目录下创建新的.vue文件,并在其中编写代码。具体的配置可能会根据你的需求和项目规模有所不同。你可以将生成的静态文件部署到Web服务器上,或者使用CDN来分发你的应用程序。使用Vue CLI(命令行界面)来初始化你的Vue项目。

2024-04-01 11:31:57 350

原创 最全Android安全检测漏洞解决方案

前言:APP安全检测通常在一些小型企业涉及的比较少,并且并不太关注这方面的问题。然而在一些大型互联网企业或者国企等等就非常在意这方面的安全问题,并且会有专门的人去对APK进行检测。本节我们一起学习在Android中大量的app漏洞应如何去避免或者修改。一、基本应用信息通常包括:应用名称、包名、文件大小、版本信息、文件MD5、签名信息、加固厂商、第三方SDK等。二、安全漏洞检测项加密算法和密码安全1 、AES/DES加密算法不安全使用风险2 、RSA加密算法不安全使用风险安全防护能力1、 Z

2021-03-09 11:34:21 13258 4

原创 算法学习笔记(十三)

栈的例题实现一个栈,该栈带有出栈、入栈、取最小元素3个方法。要保证这3个方法的时间复杂度是O(1)。思路一:1.创建一个整型变量min,用来存储栈中的最小元素。当第一个元素进栈时,把进栈元素赋值给min,即把栈中唯一的元素当做最小值。2.之后每当一个新元素进栈,就让新元素和min比较大小。如果新元素小于min,则Min等于新进栈的元素;如果新元素大于或等于min,则不做改变。3.当调用getMin方法时,直接返回min的值即可。此时,该方法采用临时变量暂存栈的最小值,但是只考虑到了进栈的

2021-03-01 16:47:11 130

原创 算法学习笔记(十二)

一、算法例题有一个单向链表,链表中可能出现环,如下图所示:那么,如何用程序来判断该链表是否为环链表呢?方法一:首先从头节点开始,依次遍历单链表中的每一个节点。每遍历一个新节点,就从头检查新节点之前的所有节点,用新节点和此节点之前所有节点依次比较。如果发现新节点和之前的某个节点相同,则说明该节点被遍历过两次,链表有环,如果之前的所有节点中不存在与新节点相同的节点,就继续遍历下一个新节点,继续重复刚才的操作。如图中所示,当遍历到节点7的时候,从头方位节点5和节点3,发现已遍历的节点中并不存在节点7,则

2021-02-26 11:38:47 189 1

原创 算法学习笔记(十一)

一、桶排序桶排序同样是一种线性时间的排序算法,类似于计数排序所创建的统计数组,桶排序需要创建若干个桶来协助排序。桶(bucket) 代表一个区间范围,里面可以装载一个或者多个元素。假设有一个非整数数列:如下图工作原理:第一步:创建桶,并确定每一个桶的区间范围。具体创建多少个桶,如何确定桶的区间范围,有很多种不同的方式,这里创建桶的数量等于原始数列的元素数量,除最后一个桶只包含数列最大值外,前面各个桶的区间按照比例来确定 **区间跨度=(最大值-最小值)/(桶的数量-1)**第二步:遍

2021-02-25 10:34:50 130 1

原创 算法学习笔记(十)

线性时间的排序之计数排序回顾之前的排序:冒泡排序:在一个数组中,如果左边的大于右边的,则它两互相交换位置。堆排序:同样也是交换元素的位置有一些特殊得排序并不基于元素比较,如计数排序、桶排序、基数排序。。一、初始计数排序假设数组中有20个随机数,取值范围为0~10,要求用最快得速度把这20 个整数从小到大进行排序。根据这个有限的范围建立一个长度为11的数组,数组下标从0开始。元素初始值为0.假设值为:9,3,5,4,9,1,2,7,8,1,36,5,3,4,0,10,9,7,9对这个无序的

2021-02-24 16:37:05 159

原创 算法学习笔记(九)

一、堆排序回忆二叉堆的特性:1.最大堆的堆顶是整个堆中的最大元素2.最小堆的堆顶是整个堆中的最小元素以最小堆为例,如果删除一个最小堆的堆顶(并不是完全删除,而是跟末尾的节点交换位置),经过自我调整,第2小的元素就会交换上来,成为最大堆的新堆顶。根据二叉堆的特性,每一次删除旧堆顶,调整后的新堆顶都是大小仅次于旧堆顶的节点,那么反复删除堆顶,反复调整二叉堆,所得到的集合就会成为一个有序集合。由此可以归纳出堆排序算法的步骤。1.把无序数组构建成二叉堆,需要从小到大排序,则构建成最大堆;需要从大到小排

2021-02-20 16:26:06 90

原创 算法学习笔记(八)

一,单边循环法上一节,我们学习到双边循环法,找到基准元素,与左右两边比较大小,将数列分成两部分。此节,我们一起来学习什么是单边循环法。双边循环法虽然直观,但是代码实现相对繁琐。而单边循环法,从名字来看就知道只从数组的一边对元素进行遍历和交换。同样给出以下数列: 4 7 3 5 6 2 8 1 首先,同样也是选择一个基准元素,并设置一个mark指针指向数列的开始位置,这个mark指针代表小于基准元素的区域边界。基准元素:41,接着从基

2021-02-19 10:46:39 127

原创 算法学习笔记(七)

一、快速排序和冒泡排序一样,快速排序也属于交换排序,通过元素之间的比较和交换位置来达到排序的目的。不同之处:冒泡排序再每一轮中只把一个元素冒泡到数列的一端,而快速排序则在每一轮挑选一个基准元素,并让其他比它大的元素移动到数列一边,比它小的元素移动到数列的另一边,从而把数列拆解成两个部分。关键词:基准元素,比它大,比它小。这个思路叫分治法。这样的好处右什么呢?假如一个数列为9个元素。冒泡排序则要比较8轮。每一轮把一个元素移动到数列的一端。,时间复杂度是O(n*2)。脑补一下图。在分治法的思想下,原

2021-02-18 16:52:25 84

原创 算法学习笔记(六)

根据时间复杂度的不同,可以将排序算法分为三大类:1,时间复杂度为O(n*n):冒泡排序选择排序插入排序希尔排序2,时间复杂度为O(nlogn)的排序算法快速排序归并排序堆排序3,时间复杂度为线性的排序算法计数排序桶排序基数排序除此之外其他的排序都是基于传统排序演变的。其次还可以根据稳定性,分为稳定排序和不稳定排序。稳定排序:如果值相同的元素在排序后仍然保持着排序前的顺序,则这样的排序算法是稳定排序。不稳定排序:如果值相同的元素在排序后打乱了排序前的顺序,则这样的排序算法是不

2021-02-09 11:02:50 96

原创 算法学习笔记(五)

首先,先回顾队列的特点:先进先出。1,入队元素放在队尾,出队元素从队头移出。优先队列: 1,最大优先队列。2,最小优先队列。不再组合南浔先入先出的原则。最大优先队列无论入队顺序如何,都是当前最大的元素优先出队。最小优先队列无论入队顺序如何,都是当前最小的元素优先出队。比如最大优先队列中有一元素为9,并且为该队列中最大元素,但是并不是队头元素,但是出队时,仍然让元素9首先出队。最小队列则相反,不论位置在哪儿,最小的优先出列。2,二叉堆实现优先队列2.1二叉堆的特性:最大堆的堆顶是整个堆中的

2021-02-08 11:06:40 84 1

原创 算法学习笔记(四)

一,二叉堆二叉堆本质上是一种完全二叉树,分为两个类型1.最大堆。2.最小堆。最大堆:最大堆的任何一个父节点的值,都大于或等于它左,右孩子节点的值。最小堆:最小堆的任何一个父节点的值,都小于或等于它左,右孩子节点的值。二叉堆的根节点叫做堆顶。最大堆的堆顶是整个堆中的最大元素,最小堆的堆顶是整个堆中的最小元素。二,二叉堆的操作1,插入节点2,删除节点3,构建二叉堆此处以最小堆举例:1.插入节点:当二叉堆插入节点时,插入位置时完全二叉树的最后一个位置。(最后一个位置!!)此时。若新节点的

2021-02-07 10:22:28 194

原创 算法学习笔记(三)

二叉树的遍历二叉树的遍历不同于数组与链表的遍历,二叉树的遍历从节点之间的位置关系角度来看,可以分为4种遍历。1.前序遍历。2.中序遍历。3.后序遍历。4.层序遍历。从更宏观的角度来看,又可以归结为两大类。1.深度优先遍历(前序遍历,中序遍历,后序遍历)2.广度优先遍历(层序遍历)。1.1深度优先遍历:1.前序遍历。前序遍历的输出顺序为根节点----左子树----右子树。即从根节点开始,将左边的节点树依次遍历完成之后,再遍历右边的树。遵循全部先左后右的原则,包括子树如上图所示,前序遍

2021-02-05 11:26:56 79

原创 算法学习笔记(二)

一,树1,什么是树树类似于家谱或者企业里的职级关系,树是一种非线性数据结构。树(tree)是n(n>=0)个节点的有限集,当N=0时,称为空树。有如下两个特点:1.有且仅有一个特定的称为根的节点。2.当N>1时,其余节点可分为m(M>0)个互不相交的有限集,每一个集合本身又是一个树,并称为根的子树。在上图中5是根节点,1,3,7是树的末端,2,8又是5的子树。树的结构从根节点到叶子节点,分为不同的层级。树的最大层级数,被称为树的高度或者深度。显然上图的树的高度是3.二,

2021-02-04 15:22:29 71

原创 算法学习笔记(一)

一,队列和散列表1.双端队列:即可以先入先出,也可以先入后出2.优先队列:它遵循的不是先入先出,而是谁的优先级最高,谁先出队。它不属于线性数据结构的范畴,是基于二叉堆来实现的。3.散列表:也叫哈希表,这种数据结构提供了键和值的映射关系。只要给出key就可以高效的查找到它匹配的value,时间复杂度接近于O(1).4.哈希函数:在java中常用的集合HashMap。每一个对象都有属于的自己的hashcode,这个hashcode是区分不同对象的重要标识。是一个整型变量。转换改成数组的下标,最简单的

2021-02-03 11:24:08 110

原创 不要更新AndroidStudio4.1!!!

不要更新AndroidStudio4.1!!!

2021-01-27 11:06:48 165

原创 AndResGuard Android资源混淆使用过程

AndResGuard Android资源混淆AndResGuard的github项目地址在代码中除了使用proguard-rules规则对代码进行混淆的同时,还可以使用andresguard对资源进行混淆,在此记录一次动手实现资源混淆的过程。一,项目根目录下build.gradle中,添加插件的依赖: dependencies { classpath 'com.tencent.mm:AndResGuard-gradle-plugin:1.2.20' }

2020-11-16 20:44:56 620

原创 Android ImageView的SaleType属性总结

Android ImageView的SaleType属性总结在使用这个属性的时候,需要明白其中几个属性的区别:如上图所示为图片自适应的效果。CenterCenter_cropcenter_insidefit_centerfit_endFit_startFit_endFit_xy为了方便理解,这里将 图片的宽高定义为x,控件ImageView的宽高定义为Ycenter属性:目的:将图片显示在ImagView的中心点,不进行缩放。1,若x均大于Y,则不完整显示。如下图所示,设

2020-11-16 11:26:16 410

原创 版本号工具类

public class VersionUtils {/** * 获取本地软件版本号 * * @param ctx * @return */ public static int getLocalVersionCode(Context ctx) {int localVersion =0; try {Packag...

2019-12-06 14:26:12 298

原创 GreenDao的使用及Android五大存储方式回顾

前几天再做一个列表功能的时候,提需求的大大突然走过来对我说:这个功能不用调接口,也不用联网,自己保存在本地就行了。当时的我脑袋是这样的:又要玩我然后我说:好的,我先思考思考。目送他离开。脑袋里循环显示:我该怎么实现好呢,我到底用那种方式去存啊。完了,好像不知道从那儿下手。这玩意后台给我存不是更好么。又是添加又是删除的。还不让丢失数据。好,想到android的五大数据存储方式:第一种:使...

2019-12-06 10:42:02 1052

原创 Android 获取wifi列表

记录一次Android端获取WiFi列表,并实现连接的过程。需求:获取WiFi列表,并连接无密码的指定wifi。wifi状态连接成功之后调取第三方接口进行验证,接口请求类型GET。牢骚:没做锅啊,小白一个。怎么办?,群里闲聊两小时,不如百度一分钟。(实际好多分钟。。。)调查与研究:、、、、网上关于获取wifi列表,并连接wifi的文章也有很多,每一篇都点来看看。会发现,哇,蛮有趣的,一如...

2019-12-06 10:21:31 5571

空空如也

空空如也

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

TA关注的人

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