Hexo搭建个人博客
Hexo 搭建个人博客
Hexo 是一个快速、简洁且高效的博客框架。Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。
0. 安装前提
Node.js
Git
创建 GitHub 仓库
Hexo 建站环境配置详见:Hexo 建站环境配置
1. Hexo 建站
在配置完环境之后,就可以正式安装 Hexo 了。安装步骤还是比较简单的,主要在 Git Bash 中通过命令行安装。
Hexo 建站教程详见:Hexo 建站教程
2. 个性化域名(可选)
部署完博客之后,会发现我们的域名是 https://xxxxxx.github.io,很明显这个域名不够高端大气上档次,因此我们可以在 阿里云、腾讯云 等域名供应商那里注册自己的域名,一年大概几十块的费用,当然你也可以选择不更换域名。
GitHub Pages 个性化域名配置详见:GitHub Pages 个性化域名配置
3. 双线部署到 GitHub 和 Coding
本博客已迁移到阿里云 ECS, 部分功能可能失效,请注意!
由于 GitHub 的服务器在国外,所以访问速度不怎么样,因 ...
LeetCode 解题报告
LeetCode 解题报告
var chartDom = document.getElementById('main');
var myChart = echarts.init(chartDom);var option;
option && myChart.setOption(option);
// 基于准备好的dom,初始化echarts实例
var myChart = echarts.init(document.getElementById('echarts6550'));
// 指定图表的配置项和数据
var option =
option = {
tooltip: {
trigger: 'item'
},
legend: {
top: '5 % ',
left: 'center'
},
series: [
{
name: 'LeetCode 解题报告', ...
算法专题汇总
算法专题汇总
常用算法模板——常见算法
常用算法模板——数据结构
常用算法模板——数学知识
常用算法模板——搜索与图论
背包九讲学习笔记
排序算法总结
二分查找学习笔记
快速幂算法详解
由数据范围反推算法复杂度以及算法内容
使用 Caddy 替代 Nginx
使用 Caddy 替代 Nginx
前言
Caddy 2 is a powerful, enterprise-ready, open source web server with automatic HTTPS written in Go
Caddy 是一个 Go 编写的 Web 服务器,类似于 Nginx。相较于 Nginx 来说,Caddy 的配置简单了很多,而且默认启用了 https,更加的安全。
最开始的时候,我使用的还是 Nginx 进行部署,当时主要是也不太了解,磕磕碰碰查资料来部署静态网站,复制粘贴后也能把 server 写起来,但对于里面的字段配置也不怎么明确。最近想要弄反向代理的时候,感觉配置没问题,但就是代理不成功,可能就是菜吧 😣
在查找问题的过程中,发现了 Caddy,简单尝试之后发现相较于 Nginx 来说,Caddy 的配置简单了很多,没有 Nginx 那么多的配置项。
当然,如果你是用的是宝塔面板,可以忽略上面的所有问题。虽然当初主要是抱着学习的目的没有用宝塔,但确实越来越感觉宝塔是真的方便,可是这就是折腾吧。
安装 Caddy
官方提供了许多安装方 ...
线段树模板
线段树模板
线段树是算法竞赛中常用的用来维护 区间信息 的数据结构。
线段树可以在O(logN)O(\log{N})O(logN)的时间复杂度内实现单点修改、区间修改、区间查询(区间求和,求区间最大值,求区间最小值)等操作。
线段树 + Lazy(数组)
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273class SegmentTree: def __init__(self, nums) -> None: self.n = len(nums) self.nums = nums self.tree = [0] * (4 * self.n) self.lazy = [0] * (4 * self.n) self.build(1, self.n, 1) def build(self ...
【论文阅读】Time-Series Anomaly Detection Service at Microsoft
Time-Series Anomaly Detection Service at Microsoft
前言
论文原文:Time-Series Anomaly Detection Service at Microsoft,KDD 2019
「异常检测」旨在发现数据中的意外事件或罕见项目。它在许多工业应用中非常流行,是数据挖掘中的一个重要研究领域。
为了解决时间序列异常检测的问题,作者提出了一种基于 谱残差(SR) 以及 卷积神经网络(CNN) 的新算法。首次尝试将 SR 模型从视觉显著性检测领域借用到时间序列异常检测中。此外,作者创新性地将 SR 和 CNN 结合起来,以提高 SR 模型的性能。
主要用于微软一个时间序列异常检测服务,帮助客户连续监测时间序列,并及时提醒潜在的事件。
INTRODUCTION
Challenge
缺乏标签。序列标注成本高。为了为单个业务场景提供异常检测服务,系统必须同时处理数百万个时间序列。此外,时间序列的数据分布是不断变化的,这需要系统识别异常情况,即使以前没有出现过类似的模式。
泛化能力。需要监控来自不同业务场景的各种时间序列,目前没有很好的通用解决 ...
Redis 时间序列
Redis 时间序列
前言
REmote DIctionary Server(Redis) 是一个使用 ANSI C 编写的开源、支持网络、基于内存、分布式、可选持久性的键值对存储数据库。
RedisTimeSeries 是 Redis 的一个扩展模块。它专门面向时间序列数据提供了数据类型和访问接口,并且支持在 Redis 实例上直接对数据进行按时间范围的聚合计算。
由于 RedisTimeSeries 不属于 Redis 的内置数据结构,在使用时,需要先把它的源码单独编译成动态链接库 redistimeseries.so。
在本文中,直接使用官方说明文档中的 docker 实例:
1docker run -p 6379:6379 -it --rm redislabs/redistimeseries
RedisTimeSeries 基本操作
RedisTimeSeries 的操作主要有 5 个:
TS.CREATE 命令创建时间序列数据集合
TS.ADD 命令插入数据
TS.GET 命令读取最新数据
TS.MGET 命令按标签过滤查询数据集合
TS.RANGE 支持聚合计算的范 ...
【论文阅读】Modeling Extreme Events in Time Series Prediction
Modeling Extreme Events in Time Series Prediction
前言
论文原文
时间序列预测是数据挖掘中一个深入研究的课题。尽管取得了相当大的进步,但最近基于深度学习的方法忽略了极端事件的存在,这导致将它们应用于实时序列时性能较弱。
在本文中,探讨了提高深度学习建模极端事件以进行时间序列预测的能力。
Extreme Value Loss (EVL)
论文发现深度学习方法的弱点源于传统形式的二次损失函数。为了解决这个问题,论文从极值理论中汲取灵感,开发了一种新的损失函数,称为极值损失(EVL),用于检测未来发生的极端事件。
Memory Network
使用记忆网络来记忆历史记录中的极端事件。通过将 EVL 与经过调整的记忆网络模块相结合,实现了一个端到端的框架,用于极端事件的时间序列预测。
Introduction
在时间序列预测中,时间序列中的不平衡数据(或极端事件)也对深度学习模型有不好的影响。直观地看,时间序列中的极端事件通常具有极小或极大的值,即不规则和罕见的事件。
论文训练一个标准 GRU 来预测一维时间序列,其中某些阈值用于 ...
树状数组学习笔记
树状数组学习笔记
前言
树状数组或二叉索引树(Binary Indexed Tree),又以其发明者命名为 Fenwick 树
它可以以 O(logn)O(\log n)O(logn) 的时间得到任意前缀和 ∑i=1jA[i],1<=j<=N\sum_{i=1}^j A[i], 1 <= j <= N∑i=1jA[i],1<=j<=N,并同时支持在 O(logn)O(\log n)O(logn) 时间内支持动态单点值的修改。空间复杂度 O(n)O(n)O(n)。
使用场景
树状数组可以高效地实现如下两个操作:
数组前缀和的查询
单点更新
对于上面两个问题,如果我们不使用任何数据结构,仅依靠定义,「数组前缀和的查询」 的时间复杂度是 O(n)O(n)O(n),「单点更新」 的时间复杂度是 O(1)O(1)O(1)
利用数组实现前缀和,每次查询前缀和时间复杂度就变成了 O(1)O(1)O(1), 但是对于频繁更新的数组,每次重新计算前缀和,时间复杂度为 O(n)O(n)O(n)。
树状数组简介
树状数组名字虽然又有树,又有数组,但是它实际上物 ...
Linux 文件权限
Linux 文件权限
前言
Linux 系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
为了保护系统的安全性,Linux 系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
Linux 文件属性
在 Linux 中,文件属性是一个字符串,它描述了文件的权限,文件的所有者,文件的所有者组,文件的其他用户的访问权限。
使用 ls -l 命令可以显示文件的属性:
12345678root@emoryhuang:/# ls -ltotal 970048lrwxrwxrwx 1 root root 7 Nov 23 18:08 bindrwxr-xr-x 18 root root 3880 Jan 12 08:46 devdrwxr-xr-x 90 root root 4096 Jan 12 18:44 etcdrwxr-xr-x 5 root root 4096 Jan 12 21:29 home-rw------- 1 root root 993249280 Nov 23 18:08 swa ...