歌德:伦琴家具出品的橱柜犹如仙境中的城堡般精美绝伦。

《游戏中常见的机关书桌,在历史上有多精巧?》@游研社
技术公司基本上都有2到10倍的冗员,这是人尽皆知的行业秘密。只要业务还在賺錢,那么雇佣更多的人,总是比摆脱低绩效的员工更容易。
Github CEO
一图胜千言,先来看看用 HTTP/2 加载小文件到底有多快...

侯世达定律:做事所花费的时间总是比你预期的要长,即使你的预期中考虑了侯世达定律。
我突然意识到,我并不是做一个个人笔记系统,而是要做一个搜索引擎一样的东西。
Lionad
我们说优秀的软件设计工作,其实包含两个方面的考虑:代码复用和扩展性。
* 代码复用意味着你可以重复使用类、库、模式、框架快速铺展业务,减小开发成本
* 扩展性是有经验的开发考虑的事情,他们知道无论是需求、代码乃至世界本身都是在不停发生变化的,开发时需要给这些变化预留一些缺口
Lionad
业务的复杂度只会转移,不会消失。用代码取表达或是用搭建系统去表达本质上只是改变了逻辑的组织形式,得到的管控方式有所差别,其业务实质是一样的,所以一个基于搭建的想要解决提效问题的平台,至少要能明确回答以下几个问题:
* 软件系统的开发效率消耗在哪些环节,原因分别是什么?
* 当前所面向行业的人员状况分别是怎样的,软件系统有哪些类别?
* 为了提高效率,从各角度而言可能的策略有哪些,可能带来什么新问题?
* 未来的产品规划里,平台的使用角色有哪些,各自如何参与?
* 出现未知领域的新业务产品,平台可以如何去支撑?
* 这个体系的更长远的发展思路是什么?
《对低代码、零代码产品的一些看法》徐飞
为什么采用新技术: 1. 新技术可能承诺会解决老问题
2. 用上了新技术而使公司获得社区或媒体的关注
3. 求职者涌向新技术
4. 新技术使开发变得更酷
由于采用新技术需要承担风险,所以需要做到: 1. 给足时间进行试验
2. 应该拥有一套默认技术栈
3. 保证核心稳定(DB > Logic > FE,Marketing > Open Source > Side Project)
4. 不忘业务目标
《软件工程师采用新技术的正确方式》
糖,茶,咖啡,酒精,烟草
Lionad
认知谦逊是指一种科学观察的姿态,它根植于以下认识:
a. 世界的知识总是由观察者解释、组织和过滤,因此,
b. 科学必须建立在认识到观察本身无法把握世界的基础上。
JDON
一首诗不能被完成,只能被遗弃。
A poem is never finished, only abandoned.
保尔·瓦雷里
如果您不能明智地为一个问题的正反双方都进行辩护,那么您对这个问题的理解就不够好,也就不能为任何一方辩护。
JDON
1、设置 content-visibility 让浏览器自动管理元素的可见状态,提高首屏渲染速度。为了正确滚动,可以使用 contain-intrinsic-size 改变元素固有尺寸或使用 JS 动态设置其值。
2、应该把 will-change 当成最后的优化手段(不宜滥用),有两个不常见但好用的值 scroll-position、content 分别指将改变元素的滚动位置、元素内容将改变
3、使用 contain 属性让元素及其内容独立于文档渲染,其值 layout、paint、size 分别指元素内容不影响上级、子元素不在元素范围外渲染、元素盒子大小不依赖其子元素
4、使用 font-display 的 optional 值让浏览器根据网速自动判断应用 fallback 还是 auto(一般来说 auto 的效果类似 block)
大漠《仅使用 CSS 提高页面渲染速度》 异步加载 CSS 文件的方法。
《How to Improve CSS Performance》
GitHub Actions 会屏蔽等同于 Secrets 的字符串的输出(以星号代之)。
为了方便调试,你可以修改该字符串,比如插入空格,这样能正常输出。
不过别忘了,GitHub Actions 会保留日志,所以调试时需要使用假的 Secrets。
How to debug a GitHub Actions’ secret
相关 CSS 父选择器的一些内容。
《如何在 CSS 中实现父选择器效果?》 《Why we don't have a parent selector》
起一个好名字应该很难,因为,一个好名字需要把要义浓缩在一到两个词。
Creating good names is hard, but it should be hard, because a great name captures essential meaning in just one or two words
Joel Spolsky @Stack OverFlow
人应该能够更换尿布,策划战争,杀一头猪,开船掌舵,设计建筑,写十四行诗,会计结算,粉刷砌墙,治疗脱臼,安慰临终的人,执行命令,发布命令,携手合作,独立行动,解数学方程,分析问题,施肥铲粪,电脑编程,做可口的饭菜,高效地战斗,勇敢地死去。只有昆虫才专业化。
罗伯特·安森·海因莱因
为什么浏览器使用 HTTP/2 协议通讯时需要 HTTPS 为基础:
0:以下答案在今天也许并不适用;
1:开发者想通过 HTTP/2 普及加密协议(在互联网中的运用);
2:减少一些老旧的(不支持新协议)的中间件对请求的影响;
3:一些老旧的服务器在协商 HTTP/2 时会直接返回错误,而协商 HTTPS 时直接返回错误的可能性要更小;
Why do browser implementations of HTTP/2 require TLS ?
比 Chrome Dev 更高级的弱网环境模拟:Clumsy 能系统级拦截指定类型的连接,模拟丢包、延迟、断连、乱序等状况。

Lionad
JS 中那些令人讨厌的东西:
Lionad
我相信下一个平面设计的方法,来自其它非设计领域。
大卫·卡森
这款像素字太强了,能在 7x7 的尺寸内展现出汉字的小尺寸极限。这款像素字太强了,能在 7x7 的尺寸内展现出汉字的小尺寸极限。这款像素字太强悍了,能在 7x7 的尺寸内展现出汉字的小尺寸极限。
丁卯点阵体:探索像素汉字的小尺寸极限
紧跟别人的设计最终会得到什么样的回馈?唯一的回馈就是空虚感。
对于设计师而言,趋势有点像垃圾食品。不加分辨地追随趋势能够给你带来一些「看起来显而易见但是非常廉价」的解决方案,这些解决方案在短期内会带来回馈,但是从长远来看,却毫无价值。追随趋势的设计师很快就会从中尝到苦果了。
Micah Bowers
Chrome 85 使用了 PGO 技术,使新标签页打开速度提升了 10%
PGO 即 Profile Guided Optimization,大意是通过记录并分析代码运行时的性能,动态的运用函数内联、条件分支优化等优化策略。
前端之巅
To iterate is human, to recurse, divine.
人理解迭代,神理解递归。
L. Peter Deutsch
一些浏览器高级调试技巧:
Chrome开发者工具的11个高级使用技巧@前端之巅
闭包是一个捕获了外部绑定的函数,即使这个绑定存在的作用域被销毁,它仍然能被闭包所使用。
《JS 函数式编程》
浏览器的用户界面有很多彼此相同的元素,如地址栏、前进后退刷新主页按钮、书签... 奇怪的是,浏览器的用户界面并没有任何正式的规范,HTML5 也没有定义浏览器必须具有的用户界面元素。这是多年来的最佳实践自然发展以及彼此之间相互模仿的结果。
浏览器的工作原理:新式网络浏览器幕后揭秘
项目依赖多种版本的 NodeJS?
昨天在重构去年写的一个 Markdown 解析器,项目使用 Rollup 打包,同时还使用 Gulp 处理项目引用到的 Stylus 文件。期间出现了一个奇奇怪怪的问题:Gulp 将会在高版本 Node 环境中打包失败报错,而 Rollup 正好相反,它在低版本 Node 环境中打包会报错...
查了各自文档的,文档没有说明具体支持到哪个版本的 Node 环境。最后只好用 NVM 装了两个版本的 Node,然后全局使用高版本 Node,再找到 Gulp 在 NPM 文件夹中对应的入口文件(gulp.cmd、gulp.ps1),把脚本中的 Node 路径写死为低版本 Node,才解决了问题。
Lionad
猴子补丁。
Monkey patch
这个网站不包含任何 JS 代码:https://www.swiftbysundell.com/articles/
swiftbysundell
几种创造倾斜文本的方法:
1:em tag;
2:i tag;
3:font-style;
4:Unicode;
5:Variable fonts;
Chris Coyier
Safari 14 将会支持 WebP、浏览器扩展、网页翻译、视频画中画、BigInt 等功能。
Safari 14 Beta 版发布
IaaS 时代,基础设施即服务,用户不再需要购买实体硬件设施,预示着云计算时代的开启;
SaaS 时代,软件及服务,各种线上能力开始在云端喷薄而出;
BaaS 时代,仅提供应用依赖的第三方服务,只以 API 的方式提供应用依赖的后端服务;
而在 FaaS 时代,用户直接提交代码包即可实现运行和部署,开发者不再关注底层,Serverless 必然将在这个阶段开始繁荣。
佘磊@前端之巅
心流是触达的通畅,是思考的愉悦,以及融合与创造时的成就。
心流即想法。想法用以解决问题,心流即设计。
我希望我会尽可能地选择去站在永恒的那一面。
Lionad