Jetpack学习之ViewModel、Lifecycles、LiveData声明:本学习笔记基于郭霖大大的《第一行代码第3版》并结合官方文档、网络资源以及个人理解整理而成,欢迎大家讨论指正Jetpack简介主要组成 Jetpack是一个开发工具集,能够协助开发者编写出更简洁的代码,简化开发过程,并且这些组件有一个很好的特点,他们大部分不依赖与任何Android系统版本,这意味着这些组件通常是定义在AndroidX库当中,并且拥有非常好的向下兼容性。 Jetpack全家桶包含内容非常多,主要可分为基础、架构、行为、界面4个部分,本次学习主要聚焦于对架构的学习,其中很多组件更是专门为MVVM
一个简单的vue3的websockethook.有以下基础功能:创建链接失败重连发送心跳包import{ref}from"vue";exportinterfaceWS_CONFIG{url:string;//ws链接地址sendData?:Record;//请求数据reconnectSec?:number;//请求异常重连间隔needHeart?:boolean;//是否需要心跳heartSec?:number;//心跳间隔heartData?:unknown;//心跳时发送的数据}exportdefaultfunction({url,sendData={},heartSec=1000*30,
一个简单的vue3的websockethook.有以下基础功能:创建链接失败重连发送心跳包import{ref}from"vue";exportinterfaceWS_CONFIG{url:string;//ws链接地址sendData?:Record;//请求数据reconnectSec?:number;//请求异常重连间隔needHeart?:boolean;//是否需要心跳heartSec?:number;//心跳间隔heartData?:unknown;//心跳时发送的数据}exportdefaultfunction({url,sendData={},heartSec=1000*30,
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助这样封装列表hooks,一天可以开发20个页面前言在做移动端的需求时,我们经常会开发一些列表页,这些列表页大多数有着相似的功能:分页获取列表、上拉加载、下拉刷新···在Vue出来compositionAPI之前,我们想要复用这样的逻辑还是比较麻烦的,好在现在Vue2.7+都支持compositionAPI语法了,这篇文章我将手把手带你用compositionAPI封装一个名为useList的hooks来实现列表页的逻辑复用。基础版需求分析一个列表,最基本的需求应该包括:发起请求,获取到列表的数组,然后将该数组渲染成相应的DOM节点。要
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助这样封装列表hooks,一天可以开发20个页面前言在做移动端的需求时,我们经常会开发一些列表页,这些列表页大多数有着相似的功能:分页获取列表、上拉加载、下拉刷新···在Vue出来compositionAPI之前,我们想要复用这样的逻辑还是比较麻烦的,好在现在Vue2.7+都支持compositionAPI语法了,这篇文章我将手把手带你用compositionAPI封装一个名为useList的hooks来实现列表页的逻辑复用。基础版需求分析一个列表,最基本的需求应该包括:发起请求,获取到列表的数组,然后将该数组渲染成相应的DOM节点。要
前言前段时间,部门的前端项目迁移到monorepo架构,笔者在其中负责跟git工作流相关的事情,其中就包括githooks相关的工程化的实践。用到了一些常用的相关工具如husky、lint-staged、commitizen、commit-lint等,以此文记录一下整个的实践过程和踩过的坑。注意:下文中的例子以及命令都是基于MacOS,如果你是windows用户,也不用担心,文中也会阐述大致原理和运行逻辑,对应的windows命令可以推理得知。GitHooksGitHooks是什么大多数同学应该都对githooks相当了解,但是笔者还是想在这里详细解释一下。首先是hook,这其实是计算机领域中
前言前段时间,部门的前端项目迁移到monorepo架构,笔者在其中负责跟git工作流相关的事情,其中就包括githooks相关的工程化的实践。用到了一些常用的相关工具如husky、lint-staged、commitizen、commit-lint等,以此文记录一下整个的实践过程和踩过的坑。注意:下文中的例子以及命令都是基于MacOS,如果你是windows用户,也不用担心,文中也会阐述大致原理和运行逻辑,对应的windows命令可以推理得知。GitHooksGitHooks是什么大多数同学应该都对githooks相当了解,但是笔者还是想在这里详细解释一下。首先是hook,这其实是计算机领域中
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱出来,对我来说也算是一种休息,相信有很多人跟我一样有这个习惯。这种习惯在独立开发时无所谓,毕竟没人会关心你咋实现的,但是在跟人合作时就给别人造成了很大的困扰了,毕竟每个人封装的东西都是根据自己习惯来的,别人看着多少会有点不顺眼,而且自己封装的组件大概率也是没有写文档和注释的,所以项目其他成员的使用率也不会太高,所以今天,我试着解决这个问题。另外,我还在一些群里看到有人抱怨vue3不如vue2好用,主要
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助前言我以前很喜欢封装组件,什么东西不喜欢别人的,总喜欢自己搞搞,这让人很有成就感,虽然是重复造轮子,但是能从无聊的crud业务中暂时解脱出来,对我来说也算是一种休息,相信有很多人跟我一样有这个习惯。这种习惯在独立开发时无所谓,毕竟没人会关心你咋实现的,但是在跟人合作时就给别人造成了很大的困扰了,毕竟每个人封装的东西都是根据自己习惯来的,别人看着多少会有点不顺眼,而且自己封装的组件大概率也是没有写文档和注释的,所以项目其他成员的使用率也不会太高,所以今天,我试着解决这个问题。另外,我还在一些群里看到有人抱怨vue3不如vue2好用,主要
FridaHook可变参数0x00前言:可变参数Hook原理可以参考下我的这篇文章:C++逆向可变参数Hook我在网上搜了好久,都没找到有人写过FridaHook可变参数.........0x01FridaHook可变参数argsOK回归正题,Frida如何Hook可变参数。首先可变参数意味着,他的参数个数不确定,参数类型不确定。在frida中,函数的参数都在args上。我看了官网资料,他说args是一个NativeObject的Array。可是当我用JS去遍历这个Array的时候,总是会报错。。。。(如果有大神知道,请告诉我如何去遍历。谢谢!)而且我就这样直接输出args,他也会报一个arr