分类
博客

在今天成为加拿大永久居民

今天,我收到了eCOPR(移民纸电子档),这意味着我从2021年7月3日起成为了加拿大的永久居民。

分类
博客

对于网站自动备份的思考与对策

我对于网站数据的完整性达到了近乎强迫症的地步。个人博客自从2016年11月5日开创以来,经历几度折腾,数据也丢失了不少(主要是图片,目前依然不知道有些图片是如何丢失的),令我极为痛心。

虽然说现在自己使用VPS,对于网站的迁移也达到了较为娴熟的标准化作业,但我依旧十分担心哪一天我的博客、网站的数据再度丢失。

过去的一段时间里,我一直使用DigitalOcean付费提供的VPS备份服务,这个服务让我感到安心,但有着以下几个缺点:

  1. 需要花钱VPS价格的20%。
  2. 只有保存5份备份,这对于一些情况相当不利。比如说,我自己没有察觉到把哪些数据误删了,很长一段时间之后才发现(这也是我前面所述那些图片丢失的情况),那么DigitalOcean的备份服务,便没有办法让我找回这些数据。
  3. DigitalOcean的备份服务,再怎么说也是DigitalOcean自家的,不符合风险分散原则。
分类
项目精选

您现在可以用脸来玩经典的贪吃蛇游戏

您曾经着迷于贪吃蛇游戏吗?

现在,借助名为PoseNet的TensorFlow模型,您可以在这款经典游戏获得完全不同的体验。那是因为: 您现在可以用脸来控制蛇!

点击此链接:https://projects.chenpan.xyz/snake/

演示

鸣谢

  1. PoseNet团队,他使我的面部控制蛇游戏的核心功能成为可能。
  2. 分享他/她的贪吃蛇游戏源代码的陌生人,使得我可以修改代码来制作自己的游戏。

分类
项目精选

Get UofT Access

Chrome浏览器扩展程序,只需单击一下即可自动将网页重定向到myaccess.utoronto.ca。节省人们的时间!将myaccess.utoronto.ca复制并粘贴到地址栏中可能需要5到10秒钟的时间,但是现在只需单击一下即可。

This image has an empty alt attribute; its file name is Get-UofT-Access.jpg
Get UofT Access示意图

更多背景:

我们在网上找到许多论文,它们不是免费的,或是需要登录的。例如,来自ACM数字图书馆的网址是https://dl.acm.org/doi/10.1145/352871.352887

This image has an empty alt attribute; its file name is image-2-1024x378.png
ACM数字图书馆的一篇论文

但是,UofT图书馆镜像了许多网站,包括ACM数字图书馆,并授予对UofT社区的访问权限。

比如说,UofT图书馆镜像了这个页面这个到https://dl-acm-org.myaccess.library.utoronto.ca/doi/10.1145/352871.352887。如果你是UofT学生,你在这个页面上拥有访问此论文的权限。

URL转换中有一个模式。此扩展程序可以为您完成这项工作。您无需自己转换URL,只需单击即可。

Chrome web store现已上架此扩展程序:安装地址

分类
项目精选

个人网站

到目前为止,我的个人网站已有四个版本。

HTML + CSS + JavaScript(版本1)

一开始,我的个人网站是HTML+CSS+JavaScript,没有后端,只是前端。即使它可以托管在 GitHub 页面中,我仍然在服务器上托管它。

This image has an empty alt attribute; its file name is image-1024x505.png
陈攀的个人网站,版本1 。

链接:https://web.archive.org/web/20210601232934/https://www.v1.chenpan.xyz/

HTML+CSS+JavaScript+PHP+MySQL(版本2)

我带来了PHP和MySQL到我的个人网站,使它是一个动态的网页,使访问者可以留下评论给我。

此外,我为此版本做了一个简历管理系统,我可以更新我的在线简历,而无需接触HTML代码。

它曾经赢得了100%的Lighthouse性能得分。

我使用 LAMP 堆栈在 Ubuntu 服务器上托管此版本。

HTML+CSS+JavaScript+PHP(Laravel)+MySQL(版本3)

自2020年5月6日以来,我一直在使用 Laravel(遵循模型视图-控制器体系结构模式的 PHP 框架)重构我的个人网站。

This image has an empty alt attribute; its file name is image-1-1024x503.png
陈攀的个人网站,版本3

链接: https://web.archive.org/web/20210601232831/https://www.v3.chenpan.xyz/

WordPress(版本4)

2020 年 12 月 6 日,我开始将个人网站集成到 WordPress 网站。为了加快速度,我搬到了LNMP堆栈,并使用了百度提供的全局CDN。

这是最新的版本。

This image has an empty alt attribute; its file name is screenshot-1024x768.png
陈攀的个人网站,版本4。

附录

  • 所有四个版本都是多种语言。
  • 所有四个版本都是移动友好的。
  • 您可能会觉得访问存档版本很慢。这是因为现在它们托管在我的第二台服务器中,该服务器位于德国,并且我不在它们上实现 CDN(2020 年 12 月 16 日)。
  • 版本 2 和版本 3 都基于版本 1,而版本 4 是全新的,并应用了不同的布局。
分类
项目精选

SickKids医院尿流速检测

SickKids尿流速检测是UofT CSC301课程的一个项目,我在该课程中担任了一个 7 人团队的前端开发人员。

我们直接与SickKids医院合作开发此应用程序。我们构建了一个 Web 应用程序和一个移动应用程序。通过我们的产品,患者可以在移动应用程序中记录尿液的声音,这些声音将被发送到后端。有一个预先开发的自然网络模型,为尿液的声音生成曲线。临床医生可以看到他们的病人的曲线,更新状态,发表评论,如果必要的话。

有关此应用程序了解更多信息,请查看Github或观看视频演示

分类
项目精选

基于NodeJS网址缩略器

3030.link是一个使用MongoDB、Express.js以及Node.js架设的缩略网址服务。

每个用户有10个配额来为任意的网址生成短链接。

已经部署完的实例在Heroku.

分类
博客

个人网站重新设计

从HTML + CSS + JavaScript到Vanilla PHP,

从Vanilla PHP到Laravel,

从Lravel返回WordPress。

分类
项目精选

披萨店API

我使用了Python和Flask来制作这款网络应用API。

集成测试和单元测试都进行过,以确保诸如订披萨,订饮料,修改订单,查看菜单,设置配送方式等功能都被正确实现。