另一个视角看待这次 antd

公众号相信大家今天都已经知道了 antd 这次的事故了,不知道的简单回顾一下。 今天圣诞节,所以在 type 是 primary 的 Button 上都加上了雪花。 就是在 antd 3.9.3 的时候增加了一个定时器,到 12 月 25 的时候增加一个 christmas 的 css 类,还给 title 改为了 Ho Ho Ho。具体 commit 见:https://github.com/ant-design/ant-design/commit/00aebeb9756afecc884ad48486084836b9a2707a 然后就导致今天开发者早上一来看,就觉得莫名其妙,还以为是病毒啥的,还有人因此被解雇(issue 上说的,不知道是否是真),总之,这个事情还是挺严重的。 作为一个有温度的前端号,肯定不是带你们吃瓜的,要是带你们吃瓜,肯定大早上的这篇文章就出来了,我们从另外的角度来看下这个问题。 功不抵过 开源及责任 批评没有任何好处 功不抵过 Antd 作为全世界最好的 React 前端组件库之一,目前将近 4 万的 star,国内外很多企业都会使用 antd 做前端开发。 我估计最近几年大部分人接触 React 的人,使用的 UI 库都会是 antd,Vue 的话可能 Element UI 和 iView 还可以拼杀一下,但是 antd 在 React 界是绝对的老大,这是 antd 的功。 但是这一次彩蛋事件,就导致很多人因此而放弃它。 然后网上骂声一片。 这是为什么呢? 因为这次失误触犯了使用者的底线,本来使用 antd 就是因为他的稳定,用起来放心。 结果这个彩蛋,出其不意,在没有给用户任何提示的情况下,悄悄的代码里面加一些“副作用”,导致让用户感觉用 antd 不再放心,担心下次加点获取用户信息啥的。...

1 min · 139 words · 桃翁

我也想做自己喜欢做的事儿

我今天看到一视频,给了我非常大感触。是 B 站上的一个视频,标题名叫:《这有可能是我最后一期视频了,再见了 B 站》, 视频链接可以点击「原文链接」得到。 这个视频大概讲的是这样: 一个富二代,大学毕业以后没有去家里帮爸妈,由于自己非常喜欢游戏,所以就想做自媒体,自己赚钱养自己,做了差不多一年半,在 B 站拥有不多不少的 25 万粉丝,由于他自己喜欢的是单机游戏,但是国内喜欢单机游戏的人太少,所以在 B 站涨粉缓慢,慢慢的,迫于生计,不得追求快速涨粉,不至于入不敷出。 所以就开始做一些自己不喜欢的视频,比如热点视频,电影娱乐等,因为这些看的人多,涨粉相对较快,但是自己并不喜欢这些视频。以前自己做的游戏视频做完之后会回味好几遍,但是现在做的这些视频自己非常不喜欢,做完之后完全没有动力去看。 突然有一天他的爸妈给他买了一套 1600 万的房子,加上装修可能 1700 万左右,但是他爸妈只付了首付(他爸妈能全款买得起),剩下的贷款要让他自己还,目的就是要让他回去帮家里的忙,因为他做自媒体根本换不起这个贷款。 一个月贷款要还 3 万多,他做 B 站一年半才赚了 10 万,他爸妈就质问他,你觉得你做现在这个职业有前途吗?能还得起这个房贷吗?如果将来你的儿子想住这么大的房子你买得起吗? 他就开始思考当初的初心,自己做自媒体是为了赚钱,现在家里有四个厂,家里父母也 50 了,回去帮忙岂不是能花更少的时间赚更多的钱。 所以他就关了自己的工作室,不再做自己不喜欢的视频,并且回家去继承家业。 看完这段视频莫名的感到了一丝心酸和无奈。 心酸的是很多做自媒体(包括我自己)的刚开始都是做自己喜欢的东西,后来慢慢的为了粉丝向营销号靠拢,远离了自己的初心,这视频作者可以回家继承家产,而剩下的那些远离了初心的人又会何去何从呢? 无奈的是即使家里这么有钱,不想靠着父母打拼出一番事业,但是在房贷的压力下,以及对自己能力确实不太能够打拼出一番事业,最后只能回家靠父母的无奈。 这种富二代他们一次一次的失败之后,还是会有退路(回家继承家产),但是对于我们普通人来说,就没有退路,只能向前冲,就得努力赚钱。 但是在自己能力还没到的时候,做自己想做的事的时候,又赚不了那么多钱,所以只能违背这自己的初心,去赚一些合法的钱。 在这种金钱和自己喜欢的东西做斗争的时候,我无法给出应该选择哪种的建议。可能站在局外人来说,当然做自己喜欢的事儿呀,把事情做好,然后赚钱是自然的。 道理谁都懂,但是我觉得这是在考验人性的时候,当这件事儿发生在你的身上可能就不一定会这么做,因为我遇到太多太多这样的人了,只有非常少数的人能坚持自己的原则,这种人往往就缺少一个贵人,等待一个爆发期,但是在爆发期来临之前,又有多少人能坚持下来呢,很难说。 最后想说的是还是想做那个最初想做的人,把这个公众号做成自己喜欢的样子,提供一些在其他地方看不到的稀缺的有价值的东西,跟我公众号的 slogon 一样:成为自己想成为的那个样子。 每天花一小时来写文章,而不是花半个小时来找一篇好的文章。 其实我很希望你们可以给我多留言,多跟我交流你们的想法,而不是向我提一些问题,让我解答,两者之间的区别在于我们两是否在同一个水平,是否双方都会受益。 所以我喜欢你在请教我一些东西的时候,你已经做好了功课,咱们在此次对话中花了这么多时间,都能得到一些价值。 虽然我不是一个大 V,但是我还是很忙,有我自己的事儿,每天向我请教的人又特别多,我目前不想专门开一个付费的知识星球来回答问题,然后出售我的时间。 如果你希望和我交流,可以在公众号后台回复「微信」,联系到我。 最后如果你还愿意继续关注我的话,可以留个言,点个好看,甚至帮我多转发文章。

1 min · 48 words · 桃翁

根据 React 历史来聊如何理解虚拟 DOM

最近我发现很多面试题里面都有「如何理解虚拟 DOM」这个题,我觉得这个题应该没有想象中那么好答,因为很多人没有真正理解虚拟 DOM 它的价值所在,我这篇从虚拟 DOM 的诞生过程来引出它的价值以及历史地位,帮助你深入的理解它。 什么是虚拟DOM 本质上是 JavaScript 对象,这个对象就是更加轻量级的对 DOM 的描述。 对,就是这么简单! 就是一个复杂一点的对象而已,没什么好说的,重点是为什么要有这个东西,以及有了这个描述有什么好处才是我们今天要介绍的内容。 为什么要有虚拟DOM 再谈为什么要用虚拟 DOM 之前,先来聊一聊 React 是怎么诞生的,毕竟在了解历史背景,再去思考他的诞生,就知道是必然会出现的。 再查了很多关于 React 的历史相关的文章,这篇文章我感觉比较值得令我信服:React 是怎样炼成的。 众所周知,Facebook 是 PHP 大户,所以 React 最开始的灵感就来至于 PHP。 字符串拼接时代 - 2004 在 2004 年这个时候,大家都还在用 PHP 的字符串拼接来开发网站: $str = '<ul>'; foreach ($talks as $talk) { $str += '<li>' . $talk->name . '</li>'; } $str += '</ul>'; 这种方式代码写出来不好看不说,还容易造成 XSS 等安全问题。 应对方法是对用户的任何输入都进行转义(Escape)。但是如果对字符串进行多次转义,那么反转义的次数也必须是相同的,否则会无法得到原内容。如果又不小心把 HTML 标签(Markup)给转义了,那么 HTML 标签会直接显示给用户,从而导致很差的用户体验。 XHP 时代 - 2010 到了 2010 年,为了更加高效的编码,同时也避免转义 HTML 标签的错误,Facebook 开发了 XHP 。XHP 是对 PHP 的语法拓展,它允许开发者直接在 PHP 中使用 HTML 标签,而不再使用字符串。...

3 min · 550 words · 桃翁