我青睐于把想法亦或经历过的事情,用文字记录下来。短则「说说」、「朋友圈」;长则「博客」,从最初一周一篇到一月一篇,又到这次两月一篇,偶尔把时间维度拉长一些、回过头来看,或许会发现更有意思的事情。过去两个月时间里,我经常问自己想要什么?这不是迷茫,而是希望自己不辜负这有限的时间。随着自己的想法被不断推翻,结论也愈加清晰:守正出奇但克制欲望,并做自己想要做的事情。
在 10 月份,我们的开源网关项目 APISIX 加入了 Apache 软件基金会进行孵化,自己目前主要负责 Dashboard 维护与 …
已有一月有余未更新订阅号,在此回顾下这段时间所发生的事情 🙂
开发 WordPress 插件 8 月初,自己尝试学习开发了一款 WordPress 插件,其主要作用是:上传附件至三方存储服务,并启用 CDN 加速资源访问。
开发该插件原因有二:
存在相关需求:自己希望附件直接存储至三方服务,而非通过 CDN 回源访问服务器资源; 学习开发 WordPress 插件; …
有时需要使用 Sleep 函数阻塞代码一段时间,该函数常规实现与调用方式如下:
// Sleep Function const sleep = (ms) => new Promise((resolve) => setTimeout(resolve, ms))( // Usage async () => { await sleep(3000) } ) 但在 Array.prototype.map 中使用时,却有着错误的表现,具体如下:
// code snippet 1 …
场景 存在如下场景:当音频播放器分别处于加载资源、播放音频、播放结束等不同状态时,通过某种机制执行不同操作(如更新 UI 状态)。即通过监听某些对象,当其状态发生变化时,触发不同事件。
上述场景可通过 EventEmitter 实现,该方法至少可对应两种模式:观察者模式与发布/订阅模式。我们先来了解这两种模式:
观察者模式 观察者模式(Observer Pattern)定义了 1:n 关系,使 n 个观察者对象监听某个被观察者对象(主题对象),当被观察者对象状态发生变化时,它将主动通知所有观察者 …
在深圳生活与工作已一月有余,在此期间学到了四件事:
Done is better than perfect 预估排期应考虑多重因素 说到做到,让对方信任自己 分析清楚再动手 有时候针对某些需求,需求方并不要求尽善尽美,而是希望快速完成最小可用版本并持续迭代,至于样式以及交互是否优秀,需求方在早期阶段并不关心。否则在时间比较紧的情况下,自作聪明,用了大量时间去处理边际问题,这在需求方看来是愚蠢的,因此 Done is better than perfect。
同样的,在进行需求排期时,不能仅考 …
原文:https://chinese.freecodecamp.org/news/fcc-devtalk-ju-zhi-yuan-growth-path-of-an-excellent-full-stack-web-developer/
本期嘉宾致远,是一位 97 年的小朋友。叫他小朋友是因为他的年纪比我小好几岁,记得之前我们合影的时候他总是有点腼腆地抿着嘴哈哈~自我们 2017 年认识以来,这位小极客的独立、坚韧、认真的品质,始终对世界保持好奇与不断探索的态度,都给我留下深刻的印象,也启发我以 …