Netlify全自动部署静态博客

netlify

Netlify是一家位于旧金山的云计算公司,为静态网站提供托管和无服务器后端服务。 它具有Git在全球应用交付网络中的持续部署,无服务器表单处理,对AWS Lambda功能的支持以及与Let’s Encrypt的完全集成。它提供免费和付费计划。 维基百科(英文)

在之前,我使用Python写的Pelican程序生成静态博客,然后托管到Github Pages。长期使用这个组合后,发现这样有很多缺点:

  1. github pages在国内访问速度较慢,有的地方甚至给屏蔽掉了。

  2. 使用免费版cloudflare加速效果并不明显,要调教的东西还很多

  3. 跨平台非常麻烦,因为github pages只接受output文件夹(只包含HTML),其余的环境还需要建个仓库备份起来。

在了解了Netlify的作用之后,我发现网上写的教程都是怎么把它当做一个静态环境使用,也就是类似于github pages,完全忽略了他的自动部署功能,然而这个功能才是我迁移到Netlify的最大理由。下面说说怎么一步步完成迁移。

一、在github新建一个repo

我之前的博客就是托管在github的,但是原来的是github pages,原来的仓库里只有静态html,而新建的这个仓库将来会把所有环境放进去,让Netlify帮我自动生成静态文章。

新建好后就先放在那,最后才会用到。

new repo

二、本地新建模拟环境

我自己的Python环境是3.7.1,Netlify当前对Python的最高支持版本是3 …

➟ 查看全文

tshark常用命令详解

Wireshark简介

Wireshark 是一款免费开源的包分析器。可用于网络排错、网络分析、软件和通讯协议开发以及教学等。tshark是wireshark的cli版本

安装

Archlinux

yaourt -Syu wireshark-cli

Debian

apt-get update
apt-get install tshark

查看权限

$ getcap /usr/bin/dumpcap
/usr/bin/dumpcap = cap_net_admin,cap_net_raw+eip

dumpcap的位置也可能在/usr/sbin/dumpcap,如果输出结果不像上面那样,则还需要设置权限

# setcap 'CAP_NET_RAW+eip CAP_NET_ADMIN+eip' /usr/sbin/dumpcap

把用户添加至wireshark用户组

# gpasswd -a username wireshark

切换至新用户组

$ newgrp …
➟ 查看全文

充值卡折现价值分析

前几天,媳妇把收到的一条短信转给我,问我值不值,我的第一反应当然是不值,这种预存方式都是欺负不懂时间价值的人玩的把戏。为了说服她,特地手算折现,但是发现,嗯?好像还是挺值的啊。于是就有了这篇文章,把计算的完整思路和代码贴出来。

message

注:计算全部使用年华利率按月折现

求真正价值的思路很简单,

真实价值 = 充值卡的标称价值向后折现再折回\(T_0\) - 付出的价格按类似年金的方式收息后把总利息折回\(T_0\)时刻

代码如下:

def calculate_value(month_after_use, year_yield, price, value, printlog=True):
    cash_flow = value / 12

    def discount():
        fv = sum(
            cash_flow * (1 + year_yield)**(y / 12) for y in range(1, 12 + 1))
        return …
➟ 查看全文

升级 Openwrt/LEDE 大版本至 18.06

下载升级包

首先下载新版文件,点击下方链接中任意一个,进入你的路由器架构,然后搜索路由器型号,如果你已经是 Openwrt/LEDE 系统,可以下载升级包*-squashfs-sysupgrade.bin,如果不是,则要下载完整安装包*-squashfs-factory.img。

官方下载

中科大

清华大学

备份 & 更新

下载好文件后,进入路由器 Luci 界面,System —-> Backup / Flash Firmware

backup and flash

建议先备份一份配置到本地,备份好后,上传文件,开刷!等待路由器重启后进入后面的步骤。

更新源

关于详细的如何更换源操作,我在LEDE/OpenWRT 路由器打造家庭媒体影音中心(一)中有写,这里仅给出自定义源文件的内容。

vim /etc/opkg/customfeeds.conf

#Tsinghua
src …
➟ 查看全文

编译 Tensorflow 1.10 + CUDA9.2 + MKL

我的电脑系统是基于 Archlinux 的 Manjaro,软件包更新的比较激进,很早就已经是 CUDA 9.2 了,而目前 Tensorflow 的官方编译版本对 CUDA 的支持还只停留在 CUDA 9.0。由于还不太会用 mxnet 和 pytorch,这时倍加想念 Keras 的简单。最近忙里偷闲研究了一下编译安装 Tensorflow,发现还挺简单的,把成功的喜悦分享出来,也供有需要的朋友参考。

查看系统信息

查看系统架构和发行版本

我用的 Manjaro x86_64

uname -m && cat /etc/*release

x86_64
Manjaro Linux
DISTRIB_ID=ManjaroLinux
DISTRIB_RELEASE=17.1.11
DISTRIB_CODENAME …
➟ 查看全文