apktool
人生要有意义只有发扬生命,快乐就是发扬生命的最好方法——张闻天 来到github地址: https://github.com/iBotPeaches/Apktool 点击最新版: 下载jar 然后找到对应目录打开控制台 输入命令: 1java -jar apktool_2.6.0.jar d [apk所在路径] 执行后: 我们的apk就被反编译出来了,放在了生成的文件目录
compute
破产是一种暂时的困境,贫困是一种思想的状态。——比尔·盖茨 今天在Map中看到了这样一个函数:compute 于是做了点测验 123456789101112131415161718192021222324252627282930313233343536373839404142Map<String, String> map = MapUtil.newHashMap();map.put("123", "456");map.put("789", "123");System.out.println("如果存在就执行,并将结果作为value放入map");map.computeIfPresent("1234", (k, v) -> v + "1 ");// {123=456, 789=123} 说明未找到指定的key时无更改System.out.println(map);map.computeIfPresent...
uView
穷且益坚,不坠青云之志。——王勃 分享一个最近开发中使用的前端UI组件库:uView 它里面的组件基本都是拿来即用 按照官方文档进行安装、配置即可
如何给开源项目提交pr
只有满怀自信的人,才能在任何地方都怀有自信沉浸在生活中,并实现自己底意志。——高尔基 今天收到消息,发现我给hutool提交的pr(Pull Request)通过了 然后有朋友问我怎么提交pr 这里就以hutool为例: 首先来到hutool的代码仓库 点击Fork 选择个人,点击确定 然后这里就变成了 阿超/hutool 我们将代码clone下来 注意此处hutool的贡献代码描述 我们切换分支 代码修改完毕后提交代码 push 查看我们对应的分支,代码的确提交上来了,我们点击+Pull Request 当我们编写完描述,就可以点击创建啦 之后耐心等待吧,提交有可能会被接受,也有可能会被拒绝,当然如果拒绝了也不要灰心啦~~~ 要注意此处提交为dev分支哦
vue中slot插槽
Be weird. Your strangeness is your magic. 我们在进行vue开发中,经常会使用到slot插槽 插槽允许我们在父组件引用子组件时,在组件其中放一段可以带标签的元素,甚至放入其他组件等 例如我这里定义一个组件 12345678910111213141516171819<template> <div> <header><slot name="header" :user="user">-------</slot></header> <main><slot :user="user">默认内容</slot></main> <footer><slot name="footer" :user="user">-------</slot></footer> </div><...
vue中属性简写
任何职业都不简单,如果只是一般地完成任务当然不太困难,但要真正事业有所成就,给社会做出贡献,就不是那么容易的,所以,搞各行各业都需要树雄心大志,有了志气,才会随时提高标准来要求自己。 —— 谢觉哉 我们可以在包含vue-loader的vue项目中如下写法 123<div :class="[{ active: active }, isButton ? prefix + '-button' : null]"></div><!-- 简写 --><div :class="{ active, [`${prefix}-button`]: isButton }"></div> 这里三个值: 12345678910export default { data() { return { active: true, isButton: true, prefix: '...
自定义注解和AOP
生命不可能有两次,但许多人连一次也不善于度过——吕凯特 我们写一个注解用AOP去实现接口的访问记录,这个也可以用于日志记录等地方 12345678910111213141516import java.lang.annotation.*;/** * 记录 * * @author <achao1441470436@gmail.com> * @since 2021/7/29 11:28 */@Inherited@Documented@Target(ElementType.METHOD)@Retention(RetentionPolicy.RUNTIME)public @interface WithMe { String value();} 然后在AOP中这样写 123456789101112131415161718192021222324252627282930313233import lombok.extern.slf4j.Slf4j;import org.aspectj.lang.JoinPoint;import org.aspectj....
vue深度作用选择器
勤劳一日,可得一夜安眠;勤劳一生,可得幸福长眠。——达•芬奇(意大利) 我们首先在HX中创建vue项目 跟着我之前写的博客简单配置一下路由 今天简单聊聊vue中css的作用域 我们知道vue中的style标签带scoped属性时,它的CSS只作用于当前组件中的元素 例如我这里的HelloWorld组件 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061<template> <div class="hello"> <div class="hello-ruben"> <h1>{{ msg }}</h1> <p> For a guide and recipes on how to configure / customize this proj...
jquery在iframe中选中父元素节点
忧劳可以兴国,逸豫可以亡身。——《新五代史·伶官传序》 我们在使用如layui的layer弹窗或者在页面上用别的方式打开的iframe中可能会要获取到父页面的某个元素 可以使用: 1window.parent.$(".layui-laypage-btn") 这里.layui-laypage-btn是父元素的节点 主要是 window.parent这个属性,能返回当前窗口的父窗口
sessionStorage
勤奋是一种可以吸引一切美好事物的天然磁石。 ——罗•伯顿 前端除了localStorage还有sessionStorage localStorage即便关闭了浏览器,再次打开该页面仍然存在 但sessionStorage的作用于仅仅局限于当前标签页或通过当前标签页中的点击事件打开的新页面 localStorage一般用于用户token储存、主题设置等需要稍微长期持久化的场景 sessionStorage一般用于刷新页面记住分页页码、记住检索条件等关闭标签页即销毁的场景 sessionStorage的api和localStorage的api非常相似: 12// 存sessionStorage.setItem("ruben","ruben") 取出来: 12// 取sessionStorage.getItem("ruben")
