标签 知识 下的文章

Dark Mode 开发与 Debug 指南

Dark Mode 的判断

media 中有一个属性 prefers-color-scheme ,用 matchMedia() 来检测 (prefers-color-scheme: dark) 是否存在就可以了。

Dark Mode Debug

截止2019年11月15日,目前经过测试可以直接 Debug DarkMode 的浏览器(以最新版为准):

  • Safari
  • Chrome 金丝雀版

其中 Firefox 可以通过安装插件实现 Dark Mode Debug(兼容性不是很好)。

- 阅读剩余部分 -

从 Django Allauth 中进行登录改造小结

大概来介绍一下 Django Allauth 改造的期间遇到的一些问题和改造方法,在此之前我只想说——Django Allauth 是屑。

为什么我说 Django Allauth 是屑

入职之初我就接到了一些第三方登录的任务,然而 Django Allauth 将内部封装的太好,暴露的 API 不足,更新又慢,issue 和 PR 很少有人处理,当你需要扩展时,很多情况下你只能用一些 hack 的手段去解决问题,非常蛋疼,所以当时就决定慢慢的切到自己的一套 Auth 体系中。

- 阅读剩余部分 -

知识迁移——工程师多向发展的优势

From:「GDG DevFest 2019」
这是由演讲 PPT 汇集而成的内容,可能与演讲内容有所差异,并非演讲稿,望悉知。

知识迁移?

首先得提出一个问题,到底什么是知识迁移,在 wiki 上有这样一段解释。

在一个地方所学的技能、知识与态度对另一个学习的影响,它可以加快学习的速度。
——艾尔德

- 阅读剩余部分 -

如何写一个 certbot 的插件

目前白嫖 HTTPS 的主流途径依旧是 LetsEncrpyt,certbot 似乎是官方主要推荐的一个申请方式,关于用途和用法,这里不多介绍,总之,是一个品种齐全,种类多样的 cli 工具:https://certbot.eff.org/

这里由于我的 NAS 希望签 HTTPS,但是电信开外网是不允许开 80 和 443 端口的,所以无法用 HTTP 协议去校验,只能选择 DNS,如果没有 DNS 插件,那么只能用 Manual 的方式,非常麻烦。

于是,我开始了面向源代码编程——

- 阅读剩余部分 -

WebSocket 限流的研究

关于 WebSocket,在四年前做实验室习题时第一次接触,当时基本上没怎么介绍 WebSocket,只贴了一份链接,而恰巧这次做了一些 WebSocket 上的工作,所以会从头开始介绍一下 WebSocket。

WebSocket 的原理

在 WebSocket 以前,Web 工作人员已经探索过好多种方法了,由于我没有生在那个时代,所以除了 ajax 轮询之外的方法,我完全都没有记住,不过 WebSocket 确实是站在了巨人的肩膀上,终于成为了一套事实方案,而其维护成本和原理也比 TCP 的 socket 链接要简单不少。

- 阅读剩余部分 -

如何构造一些有意义的测试

好久都没更新博客了,难得有时间,还是水一篇好了……

在此之前,我从来没有聊过测试相关的话题,这是因为——平时根本没有时间去写单元测试!最多只有 lib 级别的东西不得不写测试才会有时间去写。不过这次由于业务的关系,补了一大堆单元测试,对于开发而言,整个流程其实还是挺简单的,但是正要构造起测试用例来确很麻烦,因为单元测试和开发会有一些区别——

- 阅读剩余部分 -

魔鬼时间:探究各邮件兼容性

(自从学日语之后每天光日语就竭尽全力了(而且还要追星不是)所以一直没更新,但是这个必须写一下……)

在探究邮件兼容性之前,先友情提示:请在防盗链白名单里加上各邮箱供应方的域名,以防图片 block。

这几周老板交给了我一个伟大而光荣的任务:

15648402520372.jpg

- 阅读剩余部分 -

前端规范化 Lint tools 推荐

说起 Lint tools,其实不如说是 Vue 的 Lint tools 推荐,在过去我对 Vue.js 的 Lint 感受的不够深刻,由于 Vue.js 是由 .vue 的后缀名组成的 template file,那样 Lint 其实是不好做的,但是万万没想到,这年头 Lint 工具超发达的,什么都有——

eslint

lint 界元老,也是最基本的一个 lint 工具,即使别的你什么都不配,相信你也至少会使用 eslint 来管理你的项目。

- 阅读剩余部分 -