-
清除挖矿木马后的复盘
第一次遭遇挖矿木马的攻击,写下本文记录下清除木马的过程、应对思路以及后续处理。 发现问题 动手前的规划思考 观察和收集信息 确定方向 开始清除 中止 cron 服务 修改文件属性 涉及的目录和文件 收尾工作 存在的问题 参考内容发现问题收到云服务提供商(阿里云)的警告,并发现服务器上部分关键进程会自动终止。登录相关服务器,使用 top 命令查看进程列表,输入 P (即 shift ...…
-
JavaScript 基础 - 变量
系统地过一遍 JavaScript 基础语法及各种知识点。 声明变量 变量提升 (hoisting) 运算符 数据类型 类型判断 历史遗留问题 布尔值 boolean 数值 Number 数值的进制 特殊数值 数值相关全局方法 字符串 参考内容声明变量 ES 5: var ES 6: let 声明变量,const 声明常量。变量提升 (hoisting)Java...…
-
堆与堆排序
堆与堆排序是算法学习中的一环。堆排序如果单从代码量的角度来看是十分简单的,但实际上涉及很多理论部分。虽然网络里关于堆排序的资料非常多,但大多都只按照代码来演示排序过程而已,对具体的原理和许多值得探讨的点都没有深入。如堆是如何调整结构、Floyd 算法为什么产生了实质性的优化等问题。因此写下此文,记录下学习过程的所有疑惑的点以及思考的结果,以供自己日后参考。主要参考资料为清华大学邓俊辉老师的教材以及维基百科。如有错漏,恳请指正。 概述 二叉堆 元素位置 堆操作...…
-
基数排序:原理与实现
本文以维基百科作为主要参考资料,记录了我对基数排序的思考过程,既用于思维训练,也方便将来回顾。注:文中的 key 为待排序集合中的单个元素,与英文资料的指代相同(如维基百科和 CLRS 等)。主要内容: 1.概述 2.过程演示 LSD MSD 3.正确性分析 4.复杂度 5.代码实现 LSD: 十进制整数 MSD: 十进制整数 MSD 变种:二进制原地排序 1.概述基数排序 (Radix So...…
-
Docker 基础学习
Docker 的个人学习记录。不包含 Docker 安装内容(默认已完成)。 1. Docker 的意义 2. 官方教程 3. 主要概念和常用命令 4. demo 示例: 演示镜像构建及发布的过程 5. 本地运行 MySQL 6. 扩展阅读1. Docker 的意义介绍 docker 的文章实在太多了,所以这里就不长篇累牍地展开。简而言之,往大的方向说,企业可以通过使用容器工具 docker 和容器编排调度工具部署微服务应用、实现 DevOps 的交付方式;往小的方向说,在个人...…
-
Nexus3 服务器部署
本文用于记录 Nexus(v3.21.1)在私人服务器上的部署过程,以便日后参考。Nexus 的官方名称为 Nexus Repository Manager,简称为 NXRM,因此 Nexus 3 又称 NXRM3。服务器环境:CentOS Linux 7,x86-64。 安装与运行 服务器配置 1. 系统服务 2. 反向代理与 SSL 安装与运行1. 下载和解压缩由于使用 wget 下载时会出现 connection timeout 问题,因此改...…
-
十种基础排序算法
1. 比较排序 1.1 选择排序 1.2 冒泡排序 1.3 归并排序 1.4 快速排序 算法过程 渐进复杂度 示例代码 退化的情况 与归并排序比较 总结 1.5 插入排序 1.6 希尔排序 1.7 堆排序 2. 非比较排序 2....…