使用 iptables 防止 DDos 攻击

在 Linux 系统中 iptables 可是一大保护神,但是苦于不懂如何配置 iptables 所以一直都是直接关掉 iptables 来使用。今天简要记录一下,利用 iptables 抵御一部分的 DDos 攻击。

阅读全文

私有 Shadowsocks 的搭建及优化

由于喜迎国家会议的召开,方便使用 Google 和 Github,特此记录搭建及优化 Shadowsocks 服务、服务器简单加固的过程。

本教程仅适用于 Ubuntu 16.04 及更高版本,基于 Python 3 ,使用 Systemd 管理 Shadowsocks 服务,优化部分包括 BBR 、TCP Fast Open 以及系统吞吐量的配置。

阅读全文

ML 入门:交叉验证与网格搜索算法

交叉验证(Cross Validation)和网格搜索(Grid Search)是机器学习两大法宝,前者用于检验模型的好坏,后者用于模型的调参。

阅读全文

DL 入门:破解 Captcha 验证码 II

上一篇验证码识别所用的训练数据都是初级难度的,图片是规定尺寸的,面对一些挑战性的不定尺寸的验证码就很头疼了,今天我们就来尝试一下难度较高的验证码。

阅读全文

DL 入门:破解 Captcha 验证码 I

在深度学习入门阶段,我们不可避免的会遇到如猫狗大战验证码识别这样经典的题目,为了牢固深度学习入门的基础,特此写本篇验证码破解学习的总结。

阅读全文

暴力枚举:数组变换

0x00 题目

有一个数组,里面的数可能不相等,现在他想把数组所有的数都变为相等的数,问是否可行。

可以进行的操作是:将数组中的任意一个数改为这个数的两倍。这个操作的使用次数不限,也可以不使用,并且可以对同一个位置使用多次。

阅读全文

技巧:使用二进制快速判断是否为 2 的幂

0x00 原理

将 2 的幂次方写成二进制形式后,很容易就会发现有一个特点:二进制中只有一个 1 ,并且 1 后面跟了 N 个 0。

因此问题可以转化为判断 1 后面是否跟了 N 个 0 就可以了。

如果将这个数减去 1 后会发现,仅有的那个 1 会变为 0,而原来的那 N 个 0 会变为 1。

因此将原来的数与去减去1后的数字进行与运算后会发现为零。

最快速的方法:

(number & number - 1) == 0

阅读全文

常用数学符号的 LaTeX 表示方法

最近开始研究机器学习以及深度学习相关的内容,里面很多数学公式,每次写总结要截图感觉有点 low ,于是开始了 LaTex 之旅。

-> 在线 LaTex 符号编辑器 <-

阅读全文

Python:编译安装以及更换 PIP 镜像源

最近大量的配置环境,在此特地记录一下 Python3 的源码安装。由于大陆的不可抗因素,访问 PIP 默认源 pypi.python.org 总是超时,或者下载速度十分缓慢,也记录一下替换 PIP 源的方式。

在此,我们选择的是清华的源 https://pypi.tuna.tsinghua.edu.cn

阅读全文

IP 保留地址

0x00 前言

在配置一些网络环境的时候,我们想要对内网保留地址进行处理,但是有时候记不住哪些属于内网 IP 段,特此记录。

阅读全文