Author Archive: nex3z

Kotlin Reference: Basic Types

  本系列翻译自 Kotlin 官方文档,并对一些疑难点添加了备注,以【注】标记。   Kotlin 中一切皆对象,也就是说,我们可以调用任意变量的成员函数和属性。虽然一些内置类型的实现经过了优化,但对用户来说,它们仍表现为普通的类,本节就描述了这些类型:数字、字符、布尔和数组。 Numbers   Kotlin 对数字的处理和 Java 类似,但又不完全相同。比如说,Kotlin 不会对数字进行…
Read more

调整 Jupyter Notebook 的代码字体

Jupyter Notebook 在 Windows 上默认使用的 monospace 作为代码块的字体,略丑,可以通过如下的方法修改代码字体。 1. 找到 codemirror.css   首先找到 Jupyter Notebook 的安装目录下的 codemirror.css 文件,如果使用的是 Anaconda,Jupyter Notebook 安装在 Anaconda 安装目录下,如 \A…
Read more

在 LEMP Stack 的单个 VPS 上搭建多个 WordPress 站点

最近几天,之前一直使用的 VPS 被墙得厉害,不墙的时候连接也很不稳定,于是换了另一家的 VPS,顺便把 Apache 换成了 Nginx。本文整理了博客迁移过程中,在 LEMP Stack 的单 VPS 上搭建多个 WordPress 站点的方法(多个 WordPress 实例,非 Multisite),使用系统为 Ubuntu 17.04 x64。 0. 初始配置和安装   服务器的初始配置和…
Read more

保护 WordPress 远离 XML-RPC 攻击

  WordPress 使用 XML-RPC 进行远程过程调用,XML-RPC 攻击通过在短时间内大量发出请求,导致服务器宕机,在 WordPress 上的一个典型症状就是显示“Error connecting to database”。本文介绍 Apache + WordPress 环境下阻止 XML-RPC 攻击的方法。 1. 判断是否受到 XML-RPC 攻击   登录服务器后检查log,搜…
Read more

Android RadioGroup 源码分析

  Android 的 RadioGroup 可用于容纳 RadioButton,并为其中的 RadioButton 提供统一的行为管理(选中/取消选中)和事件监听(OnCheckedChangeListener)。RadioGroup 可以很方便地管理 RadioButton,但也仅限于 RadioButton,RadioGroup 无法为其他 View 提供类似的功能。   最近在做一个类似 …
Read more

使用 Apktool 逆向 Android APK

Apktool 是对 smali/baksmali 的一个封装,smali 和 baksmali 可以看做是 Android 的 assembler 和 disassembler,Apktool 在其基础上提供了更便捷的使用方法。 1. 建立测试工程   首先来建立一个测试工程。新建一个 Android APP 工程,只包含一个 TextView,在 MainActivity 中创建一个名为 na…
Read more