分类
开发

新开发的网页软件:“猜猜我说了什么”

最近本人新开发了一个网页软件,中文名叫 “猜猜我说了什么”。它允许你输入一段话,等待完成计算后,分享当前页面给别人,别人就可以猜你刚才输入的内容。别人只能知道是猜对还是猜错,没有介于两者之间的提示。
它是什么原理?其实就是在本地通过某种不可逆的算法对你所输入的内容进行加密,然后将算出来的一段密码放在网址上。由于不可逆,所以几乎是没有可能对其进行解密的,只能通过猜或者是暴力破解(几乎不可能做到)的方法。具体的算法和实现是这样的

分类
开发

本站使用 PHP7.0

今天,再次将整个服务器迁移了,这一次迁移到了更加开放的 Vultr。迁移的同时,顺便把 PHP 升级到了 PHP7.0,我升级 7.0 的最大动力就是它强大的运算性能,实际使用下来,大概是 5.6 版本的 2~3 倍。Vultr 价格低廉,而且运算性能超越了众多主机提供商,有日本、欧洲和美国等地服务器。
同样的运行实例,只有 PHP 版本不同,计算速度对比:
[img id=”1479″ size=”medium”][/img]
[img id=”1478″ size=”medium”][/img]

分类
开发

iOS 9.3 Safari 点击不再有延迟

iOS 9.3 在这周发布了,有一个很不起眼的改进:Safari 针对适配移动版的网页去掉了点击时的 300ms 延迟。对于普通用户来说,会发现浏览网页的速度似乎变快了。对于网页开发者来说,不再需要引入类似 FastClick 这样的 Hack 了。目前测试来看,双击放大的功能仍然可用,但是必须点击链接之外的地方才有效(否则就直接进入链接了)。早在去年,WebKit 就移除了这个延迟,在最新的 iOS 9.3 已经对 Safari 的 WebKit 内核做了更新。

分类
开发

建立自动负载均衡与服务器集群并存的博客系统

注:2016 年五月中旬,服务器已经不再是这样了。
2016-01-30 这一天,TLO XYZ 的博客系统(包括 guozeyu.com)整个迁移到了 “一个” 新的服务器,准确的说,服务器已经不止一个,而是许多个服务器负载均衡。
我们的服务器选用的是 Amazon 提供的的服务器,使用多个 EC2 (环境:PHP+Apache)服务器和一个 RDS(环境:MySQL)。EC2 上的程序代码可以直接使用 Git 部署,方便至极。我们使用的博客系统软件是 WordPress,这个软件分别放到了多个 EC2 上,配置都完全相同(每次 Git Push 时都会同步)。每一个 EC2 都使用同一个 RDS 作为数据库,这样可以保证发布文章等操作都是实时的。

分类
开发

WordPress 上的几个推荐安装的插件

EWWW Image Optimizer

无损及有损压缩 JPEG 和 PNG 图像,支持压缩已有的图像,可以加快访问者加载图片的速度。同时支持 JPEG 的渐进式加载。正常情况下,网速低时,图片是一点点从上往下加载,而使用渐进式加载,则是先加载这个图片的低分辨率版本,然后逐渐变得清晰。我已经成为这个插件的付费用户,能够进一步有损压缩 PNG 和 JPEG 格式图片、降低服务器 CPU 占用(否则每上传一张图片,CPU 都消耗很多)。不过最近使用了 Cloudflare 的 Polish 功能,就没有再在服务器上安装同类软件了。

Autoptimize

[img id=”1029″ size=”medium”][/img]
这个插件能够自动的合并 CSS 和 JS,并对其压缩,非常

分类
开发

Piwik 与 WordPress 配合使用,建立强大统计系统

在配合使用之前,首先需要安装 Piwik。[a href=”https://piwik.org/download/”]前往 Piwik 官网下载软件包[/a],然后解压到服务器上。当然,如果你的服务器上支持一键安装 Piwik 那更好。需要 PHP 环境和 MySQL 数据库。安装只需要根据步骤一步步来就好了。最好和 WordPress 安装在一个主机下,这样更方便配合使用。

地理位置功能

前往设置中的地理位置页面,在页面左下角选择下载一个 GeoIP 数据库。下载了之后,你就可以使用 GeoIP (Php) 了,然而这个比较慢。我推荐你使用 GeoIP (PECL),如果你使用的是 cPanel,那么你可以直接在 Select PHP Version 页面中开启 GeoIP 模

分类
开发

为何要使用一个 CDN 服务?

CDN(内容分发网络)是一种网站服务,可以让用户从周围最近的服务器上获取静态的内容(尤其是图像、视频、音频、CSS 和 JavaScript),服务器尽可能地遍布全球各地。一个 CDN 网络,说白了就是一堆会自动缓存的代理服务器。
那么,使用 CDN 有什么好处呢?首先,就是可以减少

分类
开发

静态网页的优与劣

静态网页,即纯 HTML 的网页,博客中的每一个页面均为一个 .html 文件。
首先这里存在一个误区,一些人认为静态网页是不能很方便更新的,实际上静态网页是可以很方便更新的,借助静态网页生成器,更新它并不复杂。当它需要更新一篇文章时,需要重新生成主页和这篇文章,还好这一切一般不到一分钟就能完成。
如果博客要使用动态网页呢?这样做当然是可以的,现在有很多成熟的软件,比如 WordPress,运行在 PHP 环境中,需要 MySQL 数据库。每次访问网页时,需要服务器读取数据库的内容(或从缓存中读取),再处理成有一定样式的 HTML 返回给用户。当然动态网页能够实现一切静态网页的功能,当然还能有更多的功能,比如图片上传,定时发布等。
既然动态网页能实现一切静态网页的功能,那么静态网页有什么优势呢?

分类
开发

全面 HTTPS 时代即将到来

HTTPS 是一种网络安全传输协议,网址以 https:// 开头,就代表是使用了这个协议。
苹果最新发布的移动端操作系统 iOS 9,除了带来了许多新的功能之外,还提升了整个系统安全性,正如iOS 开发者资源所说

If you’re developing a new app, you should use HTTPS exclusively. If you have an existing app, you should use HTTPS as much as you can right now, and create a plan for migrating the rest of your app as soon as possible. In addition, your communication through higher-level APIs needs to be encrypted using TLS version 1.2 with forward secrecy. If you try to make a connection that doesn’t follow this requirement, an error is thrown.
如果你正在开发一个新的程序,你仅应该使用 HTTPS。如果你已经有一个程序,你现在就应该尽可能多的使用 HTTPS,并准备好对剩下部分迁移的计划。另外,如果你的程序使用更高层级的 API 进行通信,则需要使用 TLS 1.2 或以上的版本。如果你试图建立一个不遵守这些需求的通信,就会引发错误。

没错,从 iOS 9 开始,将逐步禁用非 HTTPS 请求!
即使现

分类
开发

使用 srcset + sizes 属性与 w 标识符解决一切响应式图片问题

使用 srcset 属性可以解决一切响应式图片问题,但这里分为两种情况,确定和不确定宽度的照片。相比之下,不确定宽度的照片更复杂些。

确定宽度的照片

此处指的确定宽度照片,是指样式属性宽度设置为一个确定了多少 px 的照片。
随着越来越多的高设备像素比(指 device pixel ratio,下同)显示器出现,网站需要更高像素的照片来适配这些显示器。
比如有一张照片显示宽度为 200px,它在