Dvorak
Dvorak

Dvorak Chen

All Posts


为什么我在css里使用功能类优先

此篇博客主要探讨了在编写CSS时,为什么作者会选择功能类优先而非语义类优先的写法。首先,作者指出语义类和功能类是CSS的两种写法,其中语义类将CSS语法写在选择器中,再将选择器名写在HTML的class属性中,而功能类则是直接在HTML的class属性中写上代表CSS语法的名字。虽然语义类看似简单易懂且可重用,但实际上由于前端页面的复杂性,往往无法做到真正的重用。因此,作者选择了功能类优先的写法,这种写法不仅减少了CSS文件的数量,使得HTML的样式实现更直观,而且完全消除了style的写法,使代码变得更加统一美观。然而,这并不意味着语义类就无用处了,对于那些真正能够达到重用效果的CSS,如全局的设置和button类的设置,使用语义类写法还是非常推荐的。总的来说,功能类和语义类的选择应视具体情况而定,而不是一概而论。你是如何看待这两种写法的呢?--GPT 4

css

KMP 算法

本篇博客详细讲解了KMP算法,这是一种用于在目标字符串中查找子字符串出现位置的算法。文章首先介绍了最直接的实现方式,即逐字比较,但这种方法的时间复杂度为O(mn)。然后,文章引入了KMP算法,它能够通过跳过重复的字符来提升查找效率,达到O(m+n)的时间复杂度。文章详细解释了KMP算法的工作原理,包括如何跳过重复字符,如何处理匹配失败等。文章还介绍了KMP算法中的关键概念——next数组,它能够告诉我们在匹配失败时应该从哪里重新开始匹配。最后,文章展示了如何构建next数组和如何使用KMP算法查找目标字符串。这篇文章对KMP算法的解释非常详细,无论你是初学者还是有经验的开发者,都能从中受益。当你阅读完这篇文章后,你可能会思考:在实际编程中,我应该如何有效地应用KMP算法?有没有更高效的字符串匹配算法?--GPT 4

Algorithms KMP

浅谈 Javascript 事件循环

本篇博客主要探讨了Javascript中的事件循环机制,包括宏任务队列和微任务队列的工作方式,以及如何通过理解这些机制优化代码,提高页面渲染效率。我们首先了解了宏任务队列和微任务队列的基本概念,以及它们在事件循环中的作用。然后,我们通过一个实际的例子,解释了如何通过利用setTimeout函数,将一个耗时的任务分解成多个宏任务,从而充分利用浏览器的渲染机制,提高页面渲染效率。最后,我们还讨论了一种劣质的优化方法,通过对比,我们可以更深入理解事件循环的工作机制。那么,在你的实际编程中,你又会如何利用这些知识来优化你的代码呢?--GPT 4

Javascript

鸣谢

本篇博客主要展示了对Anduin Xue的鸣谢,表达了对其提供的博客的深深感谢。此外,博客中也强调了身体健康的重要性,提醒读者在忙碌的生活中,不能忽略对身体的关爱。这篇博客可能会让你思考:为何我们要对他人的帮助表示感谢?身体健康又有何重要性?希望你能在阅读完整篇博客后,找到你的答案。--GPT 4