06__渲染流程(下):HTML、CSS和JavaScript,是如何变成页面的?

上篇文章中,我们介绍了渲染流水线中的DOM 生成、样式计算布局三个阶段,那今天我们接着讲解渲染流水线后面的阶段。

这里还是先简单回顾下上节前三个阶段的主要内容:在 HTML 页面内容被提交给渲染引擎之后,渲染引擎首先将 HTML 解析为浏览器可以理解的 DOM;然后根据 CSS 样式表,计算出 DOM 树所有节点的样式;接着又计算每个元素的几何坐标位置,并将这些信息保存在布局树中。

06__异常:用还是不用,这是个问题

你好,我是吴咏炜。

到现在为止,我们已经有好多次都提到异常了。今天,我们就来彻底地聊一聊异常。

首先,开宗明义,如果你不知道到底该不该用异常的话,那答案就是该用。如果你需要避免使用异常,原因必须是你有明确的需要避免使用异常的理由。

06__用“等待-通知”机制优化循环等待

由上一篇文章你应该已经知道,在破坏占用且等待条件的时候,如果转出账本和转入账本不满足同时在文件架上这个条件,就用死循环的方式来循环等待,核心代码如下:

06__域名里有哪些门道?

在上一讲里,我们学习了 HTTP 协议使用的 TCP/IP 协议栈,知道了 HTTP 协议是运行在 TCP/IP 上的。

IP 协议的职责是“网际互连”,它在 MAC 层之上,使用 IP 地址把 MAC 编号转换成了四位数字,这就对物理网卡的 MAC 地址做了一层抽象,发展出了许多的“新玩法”。

06__员工沟通:怎么赢得之前平级的技术骨干的尊重?

你好,我是许健。今天我要我要和你聊一聊,你成为经理后,怎么和之前跟你平级的技术骨干相处。

如果在成为经理之前,你就是所在组能力最强的技术骨干,其他组员的战斗指数、综合实力都在你之下,那对于这个问题我估计你体会不深。但如果在你当经理之前,组内有跟你级别一样的、能力差不多甚至专业能力在你之上的组员,你必然要经历一个困难的适应过程。

06__云上虚拟网络:开合有度,编织无形之网

你好,我是何恺铎。

我们对于 IaaS 的介绍已经渐入佳境了。前面,我们主要涉及了与云虚拟机相关的计算和存储方面的内容。今天这一讲,我想要和你讨论的,则是“计算 / 存储 / 网络”三要素中的最后一项:网络

06__长参数列表:如何处理不同类型的长参数?

你好,我是郑晔。

前面两讲,我们分别讲了长函数和大类,它们都是那种“我一说,你就知道是怎么回事”的坏味道,而且都让我们深恶痛绝,唯恐避之不及。这样典型的坏味道还有一个,就是长参数列表。

06__执行:打造品质,要从头开始“闭环”

你好,我是雷蓓蓓。今天我要跟你分享的主题是:打造品质,要从头开始“闭环”。

不知道你是否经历过这样的场景:你的团队历经一个多月没日没夜的奋斗,终于在圣诞节采购季来临前,完成了“黑五购物节”活动的所有功能,全部测试完毕,马上就要上线了。结果,产品负责人试用之后,皱着眉头说:“这……不是我想要的!”你说,还有比这更悲惨的吗?

06__职业素养篇热点问题答疑

你好,我是臧萌。转眼之间第一个模块就结束了,这个模块讲了我们在日常工作上遇到的问题,也引起了很多同学的共鸣,在评论区纷纷说出了自己的苦恼。我觉得有些话题非常值得展开讨论,

06__指令跳转:原来if...else就是goto

上一讲,我们讲解了一行代码是怎么变成计算机指令的。你平时写的程序中,肯定不只有 int a = 1 这样最最简单的代码或者指令。我们总是要用到 if…else 这样的条件判断语句、while 和 for 这样的循环语句,还有函数或者过程调用。