升级博客到HTTPS

最近一直在搞flutter,遇见了使用flutter_webview_plugin支持webview的需求,打算把博客链接放上去,后来发现配置的网页URL必须是https的才行,由于之前站点一直没有升级https,因此需要首先解决这个问题。

下面是为站点申请免费的https证书的流程整理,实际操作之后,对于https的原理有了更清楚的认识。

阅读全文

如何部署前端代码

很早之前在知乎上看见一个提问:大公司里怎样开发和部署前端代码?,其中张云龙(fis3作者)的回答十分精彩。但当时由于水平有限,接触到的业务和开发环境也比较简陋。现在公司推行微服务,前端静态资源也基于fis3进行开发环境搭建和部署,算是这个回答比较完整的实现。

现在,是时候思考一下静态资源部署的重要性了。

阅读全文

初识puppeteer

大概是去年还在豆腐重构web站点的时候,一项比较重要的工作就是防爬虫。当时做了一些比较简陋的防爬虫手段,也了解到了一些神奇的爬虫方式,puppeteer就是在那时候了解的。恰好最近有一个工作需求,需要为运营搭建自动化的工作流程,因此想到了puppeteer,决定尝试一下。

阅读全文

记package-lock引发的一次事故

去年因为升级npm包导致在开发环境崩了(相关记录)。昨天在生产环境遇见了一个更严重的问题:线上环境升级了thrift,其升级包的某个依赖未正确安装,导致node服务启动失败,线上走静态容灾两个多小时~

经过排查和总结,发现之前对于pageack-lock的机制理解存在误区,因此这里整理下package-lock的原理和注意事项,避免下次遇见相同的问题。

阅读全文

初识flutter

偶然看见了移动端跨平台开发的深度解析这篇文章,里面提到的React-Native和weex或多或少都有了解,关于Flutter却了解甚少,于是决定体验一下。这篇文章主要用于初步尝试flutter开发的整理,包括开发步骤和遇见的一些问题。

在学习过程中写了一个练手的demo,放在github上了~

阅读全文

Chrome扩展程序之自动更新

最开始听到产品的Chrome插件需求时,由于用户较少,优先的关注点是功能的实现,并未过多考虑如何部署插件。每次更新都是提供一个压缩包,然后让用户使用开发者模式下加载本地压缩包的方式进行更新;后来用户逐渐增多,功能迭代也比较快,每次分发压缩包并重新安装,因此就有了插件自动更新的需求~

下面总结了两个插件实现的自动更新的一些整理和心得。

阅读全文

使用spritejs操作canvas

大概是一个多月前,从掘金推荐上了解到spritejs这个canvas库,碰巧中秋活动需要做一个比较复杂的canvas游戏,因此决定在项目中尝试使用spritejs。

这篇文章并不是介绍spritejs相关api或者使用方法,而是用于记录使用经验,包括相关项目以及踩过的坑,除此之外还有一些在canvas项目中常见的问题。

阅读全文

koa中间件导致接口404的问题

最近在使用koa时遇见了一个很奇怪的问题:控制器中包含异步操作的接口,返回均为404;只包含同步操作的接口,接口返回正常。

经过排查,发现是前面使用了一个同步形式的中间件,并未等待后续异步中间件结束导致的问题。这里记录一下相关问题,以及分析koa中间件的实现和注意事项。

阅读全文