Shiro 反序列化漏洞原理分析
1 概述 Apache Shiro 在 Java 的权限及安全验证框架中占用重要的一席之地,在它编号为 550 的 issue 中爆出严重的 Java 反序列化漏洞。 Shiro 反序列…
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 …
一个学习 Koa 源码的例子
学习目标: 原生 node 封装 中间件 路由 静态文件服务(未完成待续) Koa 原理 一个 nodejs 的入门级 http 服务代码如下, // index.js const http = …
前端开发与 HTTP/2 的羁绊——安利篇
HTTP/2 是万维网(WWW)基础协议 HTTP 16 年来的首次重大升级。共经历了 18 版草案(00-17),于 2015 年 2 月 18 日正式定稿,2015 年 5 月 14 日 H…
什么是 ANR,如何避免?
以下是关于 ANR(Application Not Responding)的介绍以及避免方法: ANR 的定义及产生原因 定义 在 Android 系统中,当应用程序的主线程在规定时间内…
CUDA 编程指南 5.0 中文版 PDF 文档
CUDA 一种通用并行计算架构,2006 年 11 月,英伟达推出了 CUDA ,一种基于新的并行编程模型和指令集架构的通用计算架构,CUDA 能够利用英伟达 GPU 的…
Python 3.5 中 async 和 await 怎么会工作呢?
作为 Python 的一名核心开发者使得我想要了解这个语言一般是怎样工作的。我意识到,总会有一些我不知道每一个复杂细节的不起眼的角落,但是为了能够帮…