女王控的博客

全部

230 篇文章

前端面试题CSS部分

CSS 选择器的优先级是如何计算的? 浏览器通过优先级规则,判断元素展示哪些样式。优先级通过 4 个维度指标确定,我们假定以 命名,分别代表以下含义: 表示是否使用内联样式(inline style)。如果使用, 为 1,否则为 0。 表示 ID… »

前端面试题HTML部分

DOCTYPE 有什么用? 版本一 在 HTML 中 doctype 有两个主要目的。 对文档进行有效性验证: 它告诉用户代理和校验器这个文档是按照什么 DTD 写的。这个动作是被动的,每次页面加载时,浏览器并不会下载 DTD 并检查合法性,只有当手动校验页面时才启用。 决定浏览器的呈现模式: 对于实际操作,通知浏览器读取文档时用哪种解析算法。如果没有写,则浏览器则根据自身的规则对代码进行解析,可能会严重影响 HTML 排版布局。浏览器有三种方式解析 HTML… »

代码可读性

一、可读性的重要性 编程有很大一部分时间是在阅读代码,不仅要阅读自己的代码,而且要阅读别人的代码。因此,可读性良好的代码能够大大提高编程效率。 可读性良好的代码往往会让代码架构更好,因为程序员更愿意去修改这部分代码,而且也更容易修改。 只有在核心领域为了效率才可以放弃可读性,否则可读性是第一位。 二、用名字表达代码含义 一些比较有表达力的单词: 单词 可替代单词 send deliver、dispatch、announce、distribute、route find search、extract… »

代码重构

第一个案例 如果你发现自己需要为程序添加一个特性,而代码结构使你无法很方便地达成目的,那就先重构这个程序。 在重构前,需要先构建好可靠的测试环境,确保安全地重构。 重构需要以微小的步伐修改程序,如果重构过程发生错误,很容易就能发现错误。 案例分析 影片出租店应用程序,需要计算每位顾客的消费金额。 包括三个类:Movie、Rental 和 Customer,Rental 包含租赁的 Movie 以及天数。 最开始的实现是把所有的计费代码都放在 Customer… »

高性能MySQL

一、存储引擎 InnoDB InnoDB 是 MySQL 默认的事务型存储引擎,只有在需要 InnoDB 不支持的特性时,才考虑使用其它存储引擎。 采用 MVCC 来支持高并发,并且实现了四个标准的隔离级别,默认级别是可重复读。 表是基于聚簇索引建立的,它对主键的查询性能有很高的提升。 内部做了很多优化,包括从磁盘读取数据时采用的可预测性读、能够自动在内存中创建哈希索引以加速读操作的自适应哈希索引、能够加速插入操作的插入缓冲区等。 通过一些机制和工具支持真正的热备份。 MyISAM MyISAM… »

0%