网站全面切换到 https

现在这个网站的访问已经全面切换到 https 了,无论是裸域名的 xiaogd.net,还是子域名的 exp.xiaogd.net 都是如此。

本来上个月切换到 nginx 时就想一并弄了的,不过很不幸那段时间领导们正好在开会,寡妇网(g.f.w)卡得特别死,导致都没有办法访问外网的  Let’s Encrypt 去申请证书,所以又拖了段时间。(也正好有理由偷偷懒~~)

另外也配置了 301 的跳转,如果你访问 http,会跳转到 https,换言之已经不能用 http 来访问了。暂时的处理是这样,如果以后发现 https 访问较慢的话,可能也会切换回去 http,或者两种方式并存,由用户自行选择,这个运行一段时间后再看看。

其实对于一个博客网站来说,是否开启 https 其实并不是很重要,不过 https 现在是一个趋势,早晚会来的,所以“早死早超生”吧,就这样……

 

web server 切换到 nginx

web server 从 apache 切换到 nginx。

之前没有注意 nginx 不支持 apache 那种 .htaccess 式的配置,导致永久链接(permalinks)失效,现已在 nginx 中配置 rewrite 规则,永久链接已经 OK 了。如果还发现有不能访问的,请留言,谢谢!

另:子域名的 https 暂时还没有配置。

关于微积分的一个精彩视频

今天看了关于微积分的一个系列视频,还是很不错的。制作者非常用心,特别是用了相当多的动画技术来演示一些重难点部分。在 bilibili 的观看地址如下:

https://search.bilibili.com/all?keyword=3BLUE1BROWN&from_source=video_tag

也可以在 youtube 上看到,感兴趣的可以自行在上面搜索 3blue1brown 这位作者。

我觉得像微积分这样比较复杂抽象的东西,已经很难用一种静止地文字的形式去讲述它,比如像现在许多教科书所采用的形式,甚至说大量运用图片都很难讲述清楚许多复杂的概念。视频化,动画化我觉得是未来的趋势。

其实编程方面的许多知识也同样面临同样的问题,许多复杂的东西已经很难用一种静止的文字的形式去讲述。

计算机及相应的编程技术,理应成为一种强大的工具,在人类认知及自我迭代升级过程中发挥它的强大作用。

何不食肉糜与何不努力

为什么说“努力”其实也是一种天赋……

据说是晋惠帝执政时期,有一年发生饥荒,百姓没有粮食吃,许多百姓因此活活饿死。消息报到宫中,naive 的晋惠帝来了一句:“百姓无粟米充饥,何不食肉糜?”(百姓肚子饿没米饭吃,为什么不去吃肉粥呢?)一不小心就闹了一个大笑话。

现代的晋惠帝在我看来则是一些“奋斗论”者,他们常说,你不成功,那是因为你没有努力奋斗;而他们之所以成功,是因为他们努力奋斗了。

曾经有一段时间有这么一句话很流行:“以绝大多数人努力程度之低,根本轮不到拼天赋的地步”。然而我并不赞同这样的话。 继续阅读“何不食肉糜与何不努力”

Java 字节流与字符流(3)

在上一篇中比较了使用字节流和字符流来读取(写入)文本文件的优劣后,这一篇主要探讨缺省编码这个主题。

字符流使用缺省编码

通过前面的例子,已经得出了一个结论:字符流=字节流+编码。

可以在构建字符流时显示传入编码参数,那么所得到的字符流就会以该编码来编码(encode)解码(decode)字节流,这会给文本数据处理带来极大方便。

但有时,构建字符流时也可以不传入编码参数,比如如下直接构建一个 InputStreamReader :

继续阅读“Java 字节流与字符流(3)”

Java 字节流与字符流(2)

在上一篇中介绍了字节流与字符流的关系,这一篇主要给出一些具体的代码示例。

使用字节流读取文本文件

上篇中说到,无论是字符流还是字节流,都可以用于读取文本文件,特别是对于一整个文件的读取,两者的差别并不大。来看一个具体的示例,假如有如下 gbk 编码的 txt 文件一枚,具体内容为“hi你好”,对应二进制如下:

继续阅读“Java 字节流与字符流(2)”

Java 字节流与字符流(1)

Java 的 IO 系统是比较庞杂的,各种流特别多,其中有一种就是字符流。

在本系列前面的一些文章中,也曾涉及过字符流的话题,不过没有详细展开讨论,这次准备具体综合地谈一谈。

你可能听过不少关于字节流与字符流对比的介绍,不过严格地说,我认为把“字节流”和“字符流”去对比这种说法不是特别妥当,为什么呢?

继续阅读“Java 字节流与字符流(1)”

子域名启用 https 的尝试

现在可以通过 https 访问我的子域名:https://exp.xiaogd.net/

不过暂时还是不建议这样去访问,因为主站 //xiaogd.net 还没有启用,导致从子域名跳到主站时会出现安全警告。

因为在跳转链接上使用了跟随协议式的写法,像这样://xiaogd.net

所以现在子域名上也还是两种方式并存,通过 //exp.xiaogd.net/ 这种不安全的方式访问也还是能支持,我也没有去做跳转。

其实我的主站是个“裸域名”,正常来说应该是这样:http://www.xiaogd.net,现在 https 证书是个生意,我在腾讯云上申请它提供的免费证书时,发现免费的证书并不支持“裸域名”,只能支持像比如 www.xiaogd.net 这样的;或是我现在的这个子域名这样的:exp.xiaogd.net。

而且这样的一个证书还只是免费一年而已~

所以这个证书没有办法支持主站的域名。当然,要在主站全面支持 https,还要把网页中的所有站内链接一一调整成 https 开头的,

或者是前面说到的跟随协议式的写法。

所以你如果现在开始建站,建议一步到位使用 https,免得后面折腾。

当然,像 wordpress 系统的话,它本身在设置上有一些支持,可以较容易切换到 https;自己写的文章内的链接也有批量查找替换的插件。

另外,其实有其它免费的方案,比如这个: Let’s Encrypt,裸域名,多个域名都是没有问题的,当然它的证书也是有期限的,不过也有相关的自动化工具能在到期时帮你自动延期,具体的这里就不介绍了。