自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

parade岁月的博客

一个不正经的Android开发

  • 博客(153)
  • 资源 (1)
  • 收藏
  • 关注

原创 Android学习中遇到的优秀文章的总结(持续更新)

项目练习通用的Android练习模版设置,此文章介绍了怎么提高练习项目的效率,我从中学到了学习建立公共库,让工程中的其它module都使用共同库的依赖,避免重复导入第三方依赖...

2019-09-17 22:47:05 2503 2

原创 告别代码质量隐患:Husky 生态工具链在前端工程化中的实战应用

更换commitizen命令行工具的交互方式插件。像cz-emoji,这些都是适配器,至于选择哪个,看个人喜好选择。本文选择cz-git在添加以下脚本,方便利用上述工具进行提交。提交代码时执行即可,这个命令相当于单独在终端执行了两个命令git add .和npx git-cz,而在脚本里不需要npx,是因为当你执行npx git-cz时,npx会在项目的目录下寻找git-cz可执行文件并运行它。这就是为什么npx git-cz可以正常工作。但当你直接执行git-cz时,系统会在你的环境变量PATH。

2025-03-17 08:52:13 696

原创 从学习ts的三斜线指令到项目中声明类型的最佳实践

三斜线指令(Triple-Slash Directives)是 TypeScript 提供的一种特殊的单行注释格式,用于在编译期间引入额外的类型声明。问题推荐做法是否需要在每个.ts文件里引用 vite/client?❌ 不需要,只需集中在引用一次。多个.d.ts文件需要重复///吗?❌ 不需要,推荐通过的include统一包含。三斜线指令可以放在文件中间吗?❌ 不可以,必须放在文件开头。可以用 path 引入自定义 d.ts 吗?⚠️ 不推荐,推荐直接放types/

2025-03-12 18:00:06 978

原创 Vue 3 响应式系统:最佳实践与陷阱解析

自定义 Hooks 返回原始ref对象,需要.value// 如果传入的不是ref,创建一个ref包装它// 创建响应式状态userStatus: '离线',lastActiveTime: '未知'})// 根据输入参数计算派生状态const isOnline = computed(() => state.userStatus === '在线')// 监听参数变化,自动更新状态// 这里用watchEffect而不是watch,因为我们想在hooks被调用时就执行一次。

2025-03-03 21:00:00 589

原创 组件通讯 ≠ 状态管理?解读 Vue3 中的两个概念

组件通讯和状态管理并不是相互排斥的概念,而是在不同场景下解决不同问题的工具。好的架构设计应该是两者的合理结合,在保持代码简洁性的同时,也要确保应用的可维护性和扩展性。在实际开发中,我们需要根据具体场景选择合适的方案,避免过度设计。

2025-02-24 08:00:00 849

原创 解密算法复杂度:从数组合并看JavaScript的时间与空间效率

想象一下这个场景:你从一个API获取了用户的基本信息,从另一个API获取了同一批用户的详细资料,现在你需要将它们高效地合并成一个完整的数据集。大O记号(Big O Notation)是描述算法效率的数学符号,表示算法在最坏情况下的时间或空间复杂度的上界。O(n + m)的解决方案相比O(n × m)的方案,在大规模数据处理中可以带来数量级的性能提升。上面的Map方法是典型的"以空间换时间"策略,通过使用哈希表数据结构(JavaScript中的Map)将查找操作的时间复杂度从O(n)降低到O(1)。

2025-02-21 10:50:57 844

原创 别再说 JavaScript 对象是引用传递了!从内存模型彻底理解参数传递机制

JavaScript 的参数传递机制是一致的:都是按值传递。理解这一点对于写出可靠的代码至关重要。当我们说对象是按引用传递时,实际上是引用地址的值传递,这种理解可以帮助我们更好地预测和控制函数的行为。

2025-02-10 17:39:42 239

原创 你可能忽略的 JavaScript 模板标签函数:深入探索其强大潜力

JavaScript 中的模板字面量标签函数(Tagged Template Literals)是 ES6 引入的一个强大特性。它允许你通过自定义函数解析模板字符串(用反引号包裹的字符串),从而更灵活地处理字符串拼接和插值逻辑。掌握标签函数后,你可以更灵活地控制字符串生成逻辑,适用于库开发、模板引擎等高级场景。

2025-02-09 18:37:20 921

原创 空字符串的 split 操作:一个容易陷入的误区

通过对不同编程语言的观察,我们可以看到,对空字符串进行split操作时,得到的结果并非我们最初想象的空数组或空列表,而是包含一个空字符串元素的数组或列表。这是由于不同语言中split函数的设计逻辑导致的。为了避免这个误区,我们可以在使用split函数之后进行filter,先检查字符串是否为空,或者根据具体的需求添加额外的逻辑处理这种情况。这样可以确保我们在编程时得到预期的结果,避免因这个误区带来的潜在问题。希望这篇博客能帮助大家更好地理解split。

2025-01-21 09:52:47 372

原创 uniapp Android 原生插件开发-Module扩展为例-从开发到测试到部署到uniapp项目

本篇文章重在介绍开发完插件后测试部署的过程,Android Studio的使用不做介绍。

2025-01-09 15:44:22 996

原创 Vue Prop 默认值深入解析:工厂函数与 rawProps 的正确使用

在 Vue.js 中,prop是组件接收外部数据的重要方式。我们常常为组件的prop设置默认值,确保在父组件没有传递值时,组件能正常工作。默认值可以是基本类型,也可以是对象、数组或函数。然而,很多开发者可能会在设置对象和函数类型的prop默认值时感到困惑。今天,我们就来深入探讨如何正确使用 Vue 中的default和rawProps,并通过实际案例让你更加清晰地理解这些概念。

2024-12-31 16:46:54 1168

原创 解锁Vue的潜力:封装递归组件的经验之谈(网站导航层架嵌套)

因为事件可能发生在三级菜单或者更深的层级,所以要把事件逐级传递到最外层。父子组件爱你在一个单文件组件里,可能不太好理解。可以想象成父子组件在不同的文件,最里层的子组件发送事件到上一层级,上一层级接收到事件后,再继续往上一层级发送事件,直到最顶级。最近在使用BootstrapVue写一个网站(我也不知道为啥要用这个😂),使用到了NavBar+DropDown等一些组件的组合,可以自动创建一个响应式的效果,还不错。并且作者也给了回复,会在未来的版本加入这个功能,然后这都2024年了…点睛之笔我觉得还是属于。

2024-07-26 16:15:18 244

原创 鱼与熊掌可兼得,使用vue的全局构建版和Jquery开发网站

平常使用Vue都是结合webpack或者View等构建工具,通过单文件组件(SFC)进行开发,一旦脱离了构建工具,使用全局构建版本,突然就不知道怎么使用Vue了。传统开发网站一般使用Jquery来操作dom,现在Jquery虽然还在更新(2024年4月28日),但是感觉还是Vue的响应式好一点,我只需要修改数据源就可以了,UI可以自动刷新,不用再操作dom了。可以在这个基础之上再结合axios,感觉做网站达到了灵活,快速,可能也利于优化seo。所以就可能既使用Jquery又使用Vue。

2024-04-28 16:48:33 548 4

原创 Android项目使用gradle配置新旧方式对比

Android项目在gradle7.0前后的配置发生了一些变化,下面先从一些简单的方便做了一些对比,后面工作中遇到其他方面的使用,再来进行补充。其实在升级了gradle后,依然可以使用以前的旧的配置方式。

2023-11-19 08:58:42 866

原创 flutter项目Could not create task xxxxxxxx‘:‘.this and base files have different roots

可能是升级了Gradle版本之后,编译出现了这个错误,在Flutter仓库的issue了找到了问题,原因是PUB_CACNE所在的盘和项目所在盘不是同一个。就是项目如果在D盘,那PUB_CACHE也必须在D盘,Flutter SDK可以再其他盘。

2023-09-27 15:25:49 554

原创 使用ts封装axios时增加的一些类型判断

在上面做的一个补充之外,还可以正常做axios做。我在ts项目中使用axios时,遇到两个困惑。针对以上两三点做了以下封装。

2023-07-30 21:56:04 652

原创 在国际化中常用语言的Language subtag和Country subtag对照表

在国际化中常用语言的Language subtag和Country subtag对照表

2023-03-18 22:07:15 417

原创 使用AndroidStudio对flutter进行多版本管理

使用配置的版本就行pub get等一些命令式,必须使用AndroidStudio提供的方式,否则再命令行使用flutter pub get等命令时,会从系统的环境变量里找flutter的版本。以此打开File-Settings-languages-Flutter,选择本地的flutter版本即可,设置完flutter版本后,dart版本就会自当确定,不需要再单独设置。以上的配置,每个项目都可以使用不同的配置。

2023-03-18 18:13:22 1281

原创 flutter的pubspec.yml中依赖版本号使用any和不使用版本号的区别

flutter(dart)项目添加依赖时,依赖的版本号有时候会使用any,有时候压根不写版本号。那么这两种写法有什么区别呢。

2023-03-18 17:24:03 409

原创 不同语言遍历跳出多层循环

不同语言遍历时跳出多层循环

2023-01-15 12:48:54 129

原创 使用newman导出postman响应数据到本地文件

Postman是日常接口测试的一个重要工具,有时候需要可能需要把请求的响应数据导出到本地文件。单纯使用postman客户端是不行的。应该是为postman内置了安全机制,不允许这样操作。但是可以通过newman来操作。newman是执行postman请求集合的一个命令行工具,也可以作为一个npm包,再配合其他npm包就可以把数据写入excel文件了。

2022-10-21 19:16:12 2701

原创 Vue3的组合式api的那些不太方便的地方

Vue3的组合式api很香,但是也有一些不太方便的地方。下面给出一种解决方案,整理自codewhy老是的视频课。关于watch的原理还不太明白,后期补上。在vue3中组合式api中使用vuex的map系列函数时,是无法使用展开语法的。在vue3中观察一个响应式对象时,得到的新值和旧值是一样的,这在有时候就不方便。vuex中的map系列函数。

2022-09-25 20:49:45 958

原创 Rxjava之concatDelayError的正确使用方法

在项目中使用rxjava遇到需要合并请求的时候,很多时候会需要使用有关delayError操作符,(concatDelayError,mergeDelayError)concatDelayError可以保证顺序。二者都可以保证观察者可以接收到所有的成功事件,即使某一个被观察者发送了error事件。正常情况下,如果没有使用切换线程操作符,自然支持这种效果。但是如果观察者和被观察者不在同一个线程,则需要使用observeOn的重载方法,如下。...

2022-08-17 22:34:18 744

原创 AES再Java和js中的使用以及postman中使用Crypto解密接口数据

AES加密算法是密码学中的高级加密标准(Advanced Encryption Standard,AES),是一种区块加密标准。AES使用128、192 和 256 位密钥,并且用 128 位(16字节)分组加密和解密数据AES的加密方式会将明文拆分成不同的块进行加密,例如一个256 位的数据用128的密钥加密,则分成新建Cipher对象时需要传入一个参数,参数格式,algorithm有`algorithm,缺省的mode为ECB,缺省的padding为PKCS5Padding–使用CBC模式时必须传入pa

2022-07-14 00:03:40 1250

原创 小白第一次使用Jemeter测试的心路历程及学到的知识

起因在于在开发中遇到的一个问题,要用线程池执行100多个HTTP请求,但是有时候都成功,有时候个别响应的数据不完整,被截断了。这种错误不是必然发生的,于是就想弄明白是接口的问题还是代码的问题,就有了这次测试的旅程。测试要达到的效果,批量执行111个请求,且要使用3个线程来并发请求。由于平时都是使用Postman,于是第一时间就想起了它,开始在搜索引擎输入"postman批量请求",会有很多的答案,找了几个观看之后发现都需要创建关联的参数文件(txt或者csv或者json),这里我选择了csv,至于为什么选择

2022-07-12 23:44:36 1903

原创 Vue3中观察ref定义的数组的用法大全

数组是JavaScript常用的一种数据格式,在Vue3中使用数组作为响应式数据,应该有两种方式,一种是用包裹,一种是用,一般来说,用定义基本数据,用数据,之所以大家都喜欢用定义数组,可能是改变(清空或者重新赋值)数组方便,直接,这就造成了用监听定义的数组有不同的写法首先数组的变化分两种1️⃣数组本身的变化(数组长度的变化)2️⃣数组元素的变化数组被替换,常规写法,这样可以检测到变化使用数组的变更方法(),数组元素的变化创建时已经初始化了元素数据的数组–这种方式对于数组里是复杂数据也可以

2022-06-24 23:51:28 18870

原创 记一次Vue3组件简单封装的过程

一次Vue3组件简单封装的过程

2022-06-23 23:51:44 2359

原创 Vue3表单页面利用keep-alive缓存数据的一种思路

Vue3使用keep-alive动态清除缓存

2022-06-22 22:52:07 1300

原创 Vue项目在Webpack和Vite中使用静态资源图片

vue单文件中静态资源的处理

2022-06-03 18:22:04 1010

原创 Java泛型和类型系统(Type),以及数组为什么不能泛型实例化

为什么会引入泛型泛型的本质是为了参数化类型,也就是在泛型使用过程中,操作的数据类型被指定为一个参数,这种参数类型可以用在类、接口和方法中,这样就可以在不创建新类型的情况下,也可以限制类型泛型出现的原因,就是为了解决类型转换的问题我的理解是:针对class:比如集合,在jdk1.5之前,集合里可以添加任何元素,没有限制,我们get的时候也需要强制成具体的类型。但是在引入泛型之后,我们使用集合需要传入具体的(类型参数),集合里的元素通过编译器的手段,就限制了类型的统一,我们在使用的时候也不需要强转针

2022-05-26 00:33:21 1385

原创 正则表达式中()和[]的区别

正则()和[]的区别

2022-05-18 15:50:02 961 1

原创 Es6模块化Export和import用法大全

概念export和import是ES6模块中的两个命令:export 用于从模块中导出实时绑定的函数、对象或原始值,以便其他程序可以通过 import使用它们。ES6中export和import一般的用法有两种命名导出(Named exports)默认导出(Default exports)命名导出(Named exports)就是每一个需要导出的数据类型都要有一个name,统一引入一定要带有{},即便只有一个需要导出的数据类型。这种写法清爽直观,是推荐的写法//------ lib.js

2022-05-15 18:28:06 2364

原创 Vue计算属性和方法区别

Vue的计算属性和方法的区别大家都很清除了,计算属性由缓存并且是基于它们的响应依赖关系缓存,只有依赖的响应式关系发生变化时才会重新执行函数(重新渲染模板时如果依赖关系没有变化则立即返回结果,不会重新执行函数),demo见证如下:<!DOCTYPE html><html lang="zh-CN"><head> <meta charset="UTF-8"> <meta name="viewport" content="width=dev

2022-05-13 16:17:40 491

原创 DecimalFormat格式化简单使用

DecimalFormat 格式化

2022-05-12 00:21:20 537

原创 v-model在组件封装中的妙用-含vue2和vue3的区别

在开发中我们通常在表单元素上使用v-model来实现数据的双向绑定。其实v-model只是语法糖,是v-bind和v-on的缩写官方解释:// 以下两种是等价的<input v-model="searchText"><input v-bind:value="searchText" v-on:input="searchText = $event.target.value">基于以上的理论只是我们来展开说明Vue和和Vue3在组件上使用v-model的区别Vue2

2022-05-10 15:51:37 462

原创 Vue3 集成 tinymce富文本

vue3富文本

2022-05-10 14:53:07 1103 1

原创 JavaScript基础之链式赋值的坑

链式赋值要慎用

2022-04-27 07:36:19 1430

原创 Vue跨域配置

在项目中经常会遇到跨域的情况,也没怎么研究过,今天就来探讨一下:何为跨域CORS是一个W3C标准,全称是"跨域资源共享"(Cross-origin resource sharing)。所谓跨域就是违背了浏览器的同源策略,那么同源策略又是什么呢?同源策略要求请求两侧的三个一致:协议一致、主机名一致、端口号一致。注意:这是浏览器的一种策略。由此可能会产生一个误区:跨域是浏览器向服务器请求了数据,服务为也返回了数据,只是浏览器没有把数据交给我们解决跨域解决跨域有不同的方法,这里说一下通过配置代理服务器的方

2022-04-21 14:03:09 11719 1

原创 关于浏览器打印的一个疑问得到了解决(点击展开前和展开后显示不一样)

chrome一个神奇的打印

2022-04-11 23:20:28 731 1

原创 正则表达式对比(Java和JavaScript)

正则对比

2022-04-10 22:07:38 2986

wuye-v1.0.0-0707_1913-haochuang-release_100_jiagu_sign.apk

wuye-v1.0.0-0707_1913-haochuang-release_100_jiagu_sign.apk

2021-07-07

空空如也

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

TA关注的人

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