Shiro 反序列化漏洞原理分析
1 概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它编号为 550 的 issue 中爆出严重的 Java 反序列化漏洞。 Shiro 反序列…
.gitignore 文件不生效?.gitignore 忽略文件不生效
在开发过程中,我们使用 Git 来管理代码版本,而 .gitignore 文件则是我们用来指定哪些文件或目录不需要被 Git 跟踪的重要工具。然而,有时我们会遇到…
sync.mutex 源代码分析
sync.Mutex 是 Go 标准库中常用的一个排外锁。当一个 goroutine 获得了这个锁的拥有权后, 其它请求锁的 goroutine 就会阻塞在 Lock 方法的调用上,直…
Org mode 中的代码块
Org mode 是 Emacs 中的一个大杀器,也是我从 Vim 转向 Emacs 的最重要的原因。与 Markdown 相比, Org mode 有一个非常强大的功能叫作 Babel ,不仅…
Clang Static Analyzer 介绍
Clang Static Analyer 是一个开源的源代码分析工具,它以一些程序分析研究论文为基础,设计了名字 - 内存区域 - 值的三元内存模型、基于函数内联的过…
你可能不知道的 Animation 动画技巧与细节
在 web 应用中,前端同学在实现动画效果时往往常用的几种方案: css3 transition / animation - 实现过渡动画 setInterval / setTimeout - 通过设置一…
Android 自定义权限的作用
什么时候使用自定义权限? 和 android:exported 有什么区别? 为什么很多第三方服务集成,都需要你自己定义权限?比如小米推送,为什么你要加上 permis…
Activity 的四种 launchMode
Activity 一共有以下四种 launchMode: standard singleTop singleTask singleInstance 我们可以在 AndroidManifest.xml 配置的 android:launchMode …