MENU

扯淡

免费SSL证书提供商盘点和一些杂谈

前言

近一两年,越来越多的网站采用了全站 HTTPS 的安全策略。从前,我们感觉使用 HTTPS 是出于用户安全的考虑;然而现在越来越多地被采用的 HTTPS,更多地来说,是为了页面内容的安全。网络劫持的方法可以说是层出不穷,相信不少人都是深受国内运营商困扰,强行插入广告可以说是见怪不怪了。值得一提的是,近两年大家可以发现百度也开始使用 HTTPS 了,不论是为了用户考虑,还是担心 ISP 的劫持会影响自己的广告业务,不得不说这个技术啊,是大势所趋。

这个博客其实很长一段时间都是使用 HTTPS 的,因此本次将要介绍的三家 SSL 证书提供商的产品我都是真正使用过的。希望论述的内容对大家有所帮助。

本次将要介绍的三家服务商为:

  1. StartCom
  2. WoSign
  3. Let's Encrypt

第二段前言

在正式开始主要内容之前,我还想和大家聊一聊 CloudFlare 这家公司。大家应该知道,CloudFlare 是做 CDN 的,实力也非常的强大。CloudFlare 在提供商业服务的同时,也充分考虑到小网站的需求,提供了免费的方案。CloudFlare 的免费方案无疑是成功的,我们能够发现有许多网站都使用了 CloudFlare 的服务。

Read More

写一个OJ

为了保证博客不会长草我还是很努力在坚持一月一更的…… 八月花了几天完工了一个 OJ 的一期工程,那么现在就来讨论讨论这个吧,也算是给自己做个备忘,可能之后有什么改动或者优化的也可以看看这里。

“Online Judge 系统(简称 OJ)是一个在线的判题系统。用户可以在线提交程序多种程序(如 C、C++)源代码,系统对源代码进行编译和执行,并通过预先设计的测试数据来检验程序源代码的正确性。”—— 摘自百度百科。

由定义看,显然一个 OJ 至少是由两个部分组成的:一是 Web,二是 Judger(下称评测机)。看起来评测机部分应该比较大头,那么本文主要内容就是评测机。

Read More

差点当叛徒——Markdown还是不错的

对于标题的解释:
昨天在某群里我说道:“有点想换 Typecho 了。”

的确,2010 年是我刚开始使用独立博客的时间。那时,我第一眼看中的就是 emlog。虽然之后的时间里面写博这件事情并没有一直坚持下来,但使用 emlog 的习惯倒是一直坚持下来了。至于为什么昨天会说到想换成 Typecho,那是因为我主要是看中了 Typecho 可以使用 Markdown 写作的这个优点。

在网络上我找到了这样的一段描述:

Markdown 的语法简洁明了、学习容易,而且功能比纯文本更强,因此有很多人用它写博客。世界上最流行的博客平台 WordPress 和大型 CMS 如 joomla、drupal 都能很好的支持 Markdown。

显然描述是十分正确的。我想,使用 Markdown,不仅是写作时,日后的修改,也能够方便很多。

Read More

神器Swoole

Swoole 是一个 PHP 的 C 扩展,可用来开发 PHP 的高性能高并发 TCP/UDPServer。Swoole 的网络 IO 部分基于多线程的 epoll/kqueue 事件循环,是全异步非阻塞的。
业务逻辑部分既可以像 node.js 一样全异步回调执行,也可以多进程同步阻塞方式来运行。这样既保证了 Server 能够应对高并发和大量 TCP 连接。又保证业务代码仍然可以简单的编写。

相信这一段引自 Swoole 官网的文字解答了大家的第一个问题:Swoole 是什么。那么现在我要说说,我是怎么找到它的。前一段时间,有写一个简单的 IM(Instant Message)的想法。因为初接触 C# 的缘故,客户端肯定是用.Net 写了,服务端呢?考虑到服务端肯定是跑在 Linux 上的,C# 马上被否决(不能编译成二进制可执行文件,麻烦)。有考虑过 C,但是 C 的特性还是少了点,写起来可能比较耗时。C++ 呢?确实有找到一个 C++ 的 Socket 库,但是… 毕竟 Linus 是说过某些话的,而且自己也没碰过 C++,上手很有难度。忽然想到了 PHP。PHP 是 C 写的,也有 Socket 相关的特性,但是查了一些资料之后,还是觉得有些麻烦。然而此时 Swoole 出现了。简单看了一下简介之后,决定就是它了。当时心情比较激动,PHP 写业务逻辑,底层实现还不用管,没有比这更爽的事情了。

Read More

算法?方法?

“你要分清楚算法和方法的区别。” 算法?方法?当时的我想,这我当然能分清楚了,有什么难的。然而我现在不再像当时那样简单地想了。

两个月以来一直在恶补 C,那个我认为过了时的玩意儿。过了时的东西,嗯,我现在仍这样想。学了几节语法结构后,我还觉得 php 语法不愧是 C 衍生来的,确实很像。依据经验,我的想法是:我迫切地需要知道更多的函数。掌握了各种函数,各种开发何在话下!然而令人失望的是,C 的库函数是那样的少,几乎是没有一个真正实用的库函数嘛!为此我曾对 Hans 说:“C 确实很适合搞算法竞赛。” 言外之意是,什么都得你自己亲自动手去完成。

到这时,我有点认识到算法与方法的区别了。之前搞的 Web 开发复杂之处,讲究的是性能与便捷平衡的,实现简单的业务逻辑的书写。然而现在则是来编写程序执行人类计算起来费劲的实际问题了。初学简单算法时,我曾用 1 行 php 完成了字符串反向的问题(NOIP 普及组第一题)。事实上这确实很简单,用 C 或 Pascal 也就十几二十行代码的事。我还曾用 5 行 php 解决了判断回文字符的问题。然而老师说了这样一番话:“库函数好是好,但是我们真正要做的,应该是去知道它本质到底是怎样实现的。” 我似乎有些明白了。群里曾讨论过 “发明轮子” 的问题。没错,实际应用里重复发明轮子是愚蠢的,然而当我们要深入理解程序,学习基础时,这就明显变得尤为重要了 —— 至少你要依葫芦画瓢地造个轮子出来。

Read More