像黑客一样写博客–Pelican快速搭建静态博客

“像黑客一样写博客”,通过文本编辑器(Markdown编辑器)即可实现写博客,而且是静态的,很神奇吧,这里的方案是Pelican.

为啥叫 Pelican 这么奇怪的名字
“Pelican” is an anagram for calepin, which means “notebook” in French. ;)

Pelican 是基于Python实现的开源静态博客系统,所谓静态博客系统就是无需数据库,每一篇文章会事先渲染成HTML静态文件,访问速度非常快。所以今天给大家介绍下怎么使用Pelican。

安装 pelican

pip3 install pelican markdown –upgrade

创建项目

```
>mkdir blog  # 创建项目目录

>cd blog # 进入项目目录

\blog>pelican-quickstart  # 生成pelican骨架
Welcome to pelican-quickstart v3.7.1.

This script will help you create a new Pelican-based website.

Please answer the following questions so this script can generate the files
needed by Pelican.
...
Done. Your new project is available at \blog
```

安装过程过,会有很多需要你输入的配置项,如果不知道怎么填就直接忽略或者选择n,因为这些配置项在后面可以自己手动再添加的。

创建完成后生成的目录结构如下

.
├── Makefile # 管理博客
├── content/ #存放文章的源文件
├── develop_server.sh
├── fabfile.py
├── output/ #生成的静态文件存放目录
├── pelicanconf.py #博客配置文件
└── publishconf.py #发布文件

第一篇makedown文章

你的文章需要保存在content目录下,通常情况我们写文章采用markdown语法,所以,现在我们在content目录创建一篇文章,文章内容:

```
Title: My super title
Date: 2010-12-03 10:20
Modified: 2010-12-05 19:30
Category: Python
Tags: pelican, publishing
Slug: my-super-post
Authors: Alexis Metaireau, Conan Doyle
Summary: Short version for index and feeds
This is the content of my super blog post.
```

生成静态文件

pelican content

执行完成后,output 目录会多出一些文件,markdown文件最终也会转换成html文件放到该目录下

选择Apache 虚拟文件路径,启动你的博客网站吧: http://Youthblue.com

高级功能1:配置主题

在http://www.pelicanthemes.com/选择自己喜欢的主题
将从pelican-themes上下载主题到本地并安装
git clone https://github.com/getpelican/pelican-themes.git

在pelicanconf.py文件中,配置主题
THEME = “pelican-octopress-theme”

高级功能2:修改时区和默认的时间格式

TIMEZONE = ‘utc’
DATE_FORMATS = {
‘en’: ‘%a, %d %b %Y’,
‘jp’: ‘%Y-%m-%d(%a)’,
‘zh’: ‘%Y-%m-%d(%a)’,
}

AD:
http://kylinholding.com/

全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场

长期以来,全球 IPv4 地址耗尽令人担忧,今天这一时刻终于来临。负责英国、欧洲、中东和部分中亚地区互联网资源分配的欧洲网络协调中心(RIPE NCC)宣布,其最后的 IPv4 地址空间储备池在 11 月 25 日 UTC + 1 15:35 完全耗尽,所有 43 亿个 IPv4 地址已分配完毕。这意味着没有更多的 IPv4 地址可以分配给 ISP 和其他大型网络基础设施提供商。

最新Instagram 包月赞,ins自动点赞加粉评论推广工具 wx 21372550  全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场 20191129224400

该过程自 80 年代以来就已预见到。IP 地址的全球性管理机构为互联网号码分配局(IANA),其下有五个局域网际网络注册管理机构(RIR)。由 IANA 管理的 IPv4 位址,于 2011 年 1 月 31 日完全用尽。其他五个区域的可核发地址,除了为迁移 IPv6 而保留的最后一块 /8 地址外,也随之陆续用尽:亚太地区在 2011 年 4 月 15 日用尽,欧洲地区在 2012 年 9 月 14 日,拉丁美洲及加勒比海地区在 2014 年 6 月 10 日,北美地区在 2015 年 9 月 24 日,非洲地区在 2017 年 4 月 21 日。

IPv6 的出现是为了从根本上解决 IPv4 地址耗尽的问题。IPv4 版本的 IP 地址只有 4 字节大小,即 32 位长度的 IP 地址。IPv6 版本的 IP 地址有 16 字节大小,即 128 位的长度。

IPv6 技术在国家推进下全面进行。在 IPv4 时代,中国是没有根服务器的。全球被限制为总共 13 台根服务器,唯一主根部署在美国,其余 12 台辅根服务器有 9 台在美国,2 台在欧洲,1 台在日本。

为打破根服务器困局,中国领衔发起“雪人计划”(Yeti DNS Project),面向全球招募 25 个根服务器运营志愿单位,共同对 IPv6 根服务器运营、域名系统安全扩展密钥签名和密钥轮转等方面进行测试验证。到 2017 年“雪人计划”已在全球完成 25 台 IPv6(互联网协议第六版)根服务器架设,中国部署了其中的 4 台,由 1 台主根服务器和 3 台辅根服务器组成,打破了中国过去没有根服务器的困境。

最新Instagram 包月赞,ins自动点赞加粉评论推广工具 wx 21372550  全球43 亿个 IPv4 地址正式耗尽了,未来IPV6会加速入场 20191129224436

2017 年 11 月 26 日,中共中央办公厅、国务院办公厅印发《推进互联网协议第六版(IPv6)规模部署行动计划》。2018 年 6 月,三大运营商联合阿里云宣布,将全面对外提供 IPv6 服务,并计划在 2025 年前助推中国互联网真正实现“IPv6 Only”。2019 年 4 月 16 日,工业和信息化部发布《关于开展 2019 年 IPv6 网络就绪专项行动的通知》,计划于 2019 年末完成 13 个互联网骨干直联点 IPv6 的改造。

预期 IPv4 与 IPv6 将会共存于互联网一段较长的时间。在未来过渡的数十年间,将会有多种网络形态存在。在过渡初期阶段,IPv4 网络已经大量部署,而 IPv6 网络只是散落在各地的孤岛;然后逐步是 IPv4 和 IPv6 网络重叠;最后阶段,会以 IPv4 孤岛为主,直至 IPv4 全部消失。

原文:全球 IPv4 地址正式耗尽

Docker实践的自我认知

Docker实践的自我认知

前几天翻译了一篇文章,郁闷了好几天:
我自己.net阵营下开发已有经年。

在VS 2003年时代,在学校做毕业设计,一个Winform程序,单机版,SQL Server数据库十几个表,。

业务场景是的旅游管理系统,简单的一些CRUD操作,我用的
ADO.net,通过获得DataSet、DataReader,进行insert、select、update、delete。
反正系统没人用,自写自话,没有啥框架、分层概念(虽然理论上知道这些概念,但是实战中没有这个需求),就1个人使用,10几个表,几十条数据记录。

https://www.codeproject.com 看看文章、下载源码。
http://www.codeplex.com/ 微软出的源码共享平台

www.github.com 下载源码。

后来参加工作后,接触项目,慢慢框架、分层、缓存等等融入:核心是有需求场景、有数据量、有用户,技术就得更新升级。

IIS

轻量级网络服务器 Self Hosting Nancy

selfhost

SharpDevleop: plugin方式的

ORMs
方案1:NHibernate ORM to the .NET Framework
方案2:EF ( ADO.NET Entity Framework)
方案3:LINQ to SQL

iBATIS
在*.xml里面写SQL,由iBATIS进行DTO转换。

Select操作,表关联导致SQL优化。

插入数据库,涉及到批量。

如几十条记录,可以通过如下方式优化
性能分析:

foreach (var adjective in adjectives) {
    dataContext.AdjectivesExpanding.InsertOnSubmit(adjective)
    dataContext.SubmitChanges();
}

Or:

foreach (var adjective in adjectives) {
    dataContext.AdjectivesExpanding.InsertOnSubmit(adjective);
}
dataContext.SubmitChanges();

如果成百上千,则通过BCP进行批处理,项目中曾经通过BCP处理50万入库情况,速度在生产环境没问题。
BCP在Oracle、Sybase、SQL Server都支持。

Java Spring全家桶三件套,基本满足Java需求了。

Docker解决实际问题1:VPS搭建xifarm.com博客

采购了VPS,刚学习开始LAMP,大约需要1天,不会Ubuntu Linux系统走了很多弯路。
三四次反复实践后,通过shell批处理脚本,能在2~3小时内从0把VPS搭建好,换VPS方便极了。

在有了Docker后,找现成的LAMP镜像,短短20分钟即可搭建好(VPS在海外,Docker 网速不是问题)

即,效率从1天3小时20分钟,分别提高了70%,1000%
就这一点看,Docker在部署环境上,功不可没,极大提高了DevOps生产效率。

Docker解决实际问题2: Tensflow的学习

学习Python、学习Tensflow,配置环境是新人头大的事情。 Python默认安装的3.7最新版,但是Tensflow最好支持的是Python 3.5版本,还有其他环境,仅仅折腾Linux系统环境,以我的经历,半天都未必搞得定。
而有了Docker后,直接下载Tensflow镜像,20~30分钟时间即可开始写机器学习的hello world应用了,一下子飞了起来。
再也不用被烦人的环境配置问题困扰了。

做技术的,经常保持知识刷新,这个是必须的,尤其是teamLeader、架构师,吃老本很快就回出问题。

Docker docker实践的自我认知 Docker实践的自我认知 vGuay

Docker解决实际问题3: 干净环境的测试电脑。

快速干净部署一个虚拟机。

+------------+  docker build   +--------------+  docker run -dt   +-----------+  docker exec -it   +------+
| Dockerfile | --------------> |    Image     | --------------->  | Container | -----------------> | Bash |
+------------+                 +--------------+                   +-----------+                    +------+
                                 ^
                                 | docker pull
                                 |
                               +--------------+
                               |   Registry   |
                               +--------------+