使用BEM声明CSS样式名
折腾CSS
类名已经很长一段时间了,也得到了一些教训和经验。维护CSS
有几个比较困难的问题:
- 默认全局命名空间,样式冲突十分常见
- 混乱的样式重用或选择器的滥用,导致改动牵一发而动全身
- 修改样式表的同时可能会改动页面结构,而且往往不只一个页面
之前的关注点是通过选择器嵌套和样式复用来决定样式名,由于过分考虑样式的复用,又没有进行正确的限制,样式耦合十分严重。
最后回过头一想,如果是使用类名来决定选择器的嵌套和样式重用,情形应该会怎么样呢?恰好之前也了解了一点BEM
的东西,这篇文章是我关于BEM
的思考和尝试。
RequireJS使用心得
一直对于JS模块化开发心存敬畏,尽管很早之前就接触到了RequireJS(在微擎里面),实际项目中却仍旧采用的是最原始的在HTML文档中script标签里面写代码。一方面是因为后台的同学有时候需要自己写JS处理逻辑;另一方面是后台模板将共用的头部样式表和底部脚本都分离为单独文件,管理起来也不是很麻烦。因此一直没有去了解require.js
。
最近一个多月一直在折腾新的博客,想着要不要试试require.js
,然后一发不可收拾。
实现一个简易的PHP框架
发表于 | 分类于 技术原理
在11月份的时候,参照慕客网的视频,照猫画虎折腾了一个非常简陋的PHP框架半成品,简陋到只勉强实现了自动加载类和路由功能,由于功力不足暂时将这个小项目放在了旁边,到后面补习了一些PHP的基础知识,又花了大概一周的时间去了解Laravel,对于PHP框架的运行流程稍微长进了一点。现在趁着周末重新整理了之前的笔记:一个简易的PHP MVC框架的实现。
实现一个简易的JS模板引擎
发表于 | 分类于 技术原理
之前的项目中,通过ajax请求获得的数据,重新在页面上渲染出来,基本上都是采用字符串拼接或者定义一个type/html
的script标签,然后通过jQuery查找结点然后插入数据的,在数据量不大的情况下,这么做貌似也没有什么问题。但是昨天遇见的情况是返回好评、中评、差评的多条数据,,且每天评论需要展示的内容十分多,因此考虑使用第三方的模板引擎库。
关于CSS的思考
本文总结了之前关于CSS代码维护的思考、关于CSS选择器命名的思考和关于CSS选择器嵌套的思考这三篇文章的内容,是当时刚写前端时关于编写CSS引发的一些思考。
使用Node.js写爬虫(初级篇)
发表于 | 分类于 技术原理
最近两周,写爬虫写出魔怔了。很早之前就打算用Python写爬虫,可一直没有时间重新学习Python。刚好现在正在学习Nodejs,用JS写爬虫,实际上也很酷炫。额当然我现在也只会爬一些很简单的静态爬虫,这篇文章主要是整理一下这两周的心得,由于我也是爬虫菜鸟,如果有错误的地方还请指正,感激不尽。
《计算机网络-自顶向下的方法》读书笔记
发表于 | 分类于 读书笔记
大概是几个月前,曾被赶鸭子上架似的学习了一阵子socket,作为没有一丁点网络基础的菜鸟,完全无从下手,靠死记硬背写了几端代码,最后还是将它搁在哪里了。在现在的前端工作中,仍免不了要跟网络请求打交道,然而只明白几个http状态码,调用个Ajax接口是远远不够的,带着弄明白“从浏览器地址栏输入网址到看见整个网页发生了什么”这个经典面试题的目的,打开了《计算机网络》这本书。
Flex布局
最近在掘金上看见了一个叫做flex.css
的项目:使用flex进行移动端的快速布局。之前在学习CSS3的时候还挣扎在定位和浮动的困惑无法自拔,后面的项目也未曾想到使用flex。因此翻开CSS手册,准备整理一下关于flex的知识。
SCSS进阶
最近阅读了一个按钮样式库button.css
,尽管源码是用scss写的,我却看懵了:别人写的scss和我写的完全不一样啊,各种数组各种循环...!
原本以为会用混合器和继承就差不多了,实际上还差的远了去了。
然而之前看的教程文档上也只有这些基础,然后一通查询,摸索了一些关于SCSS进阶的方法,整理如下。
初识Vue
大约两个月前其实就已经去尝试学习了Vue(实际上就是看了看文档,云里雾里不知道什么意思),最近在使用原生PHP后端开发,完成第一个留言板的小项目之后着实被混杂的PHP和HTML代码给恶心到了,开始折腾如何分离代码。后来在论坛上看见一位前辈说初级的话不用去折腾什么页面静态化smarty之类的,使用include就够了,PHP本身就自带模板标签,那么怎么解决数据遍历的问题呢?突然灵机一动,想到了Vue(暴殄天物,让唾沫来淹死我吧...)下面重新过一遍文档(貌似现在是V2.0了)。
初识MySQL
最近在练习一个后台小项目,随便规划了几个需求之后开始搭环境(好吧其实就是写了几个页面然后上ThinkPHP),当正儿八经的开始写后台项目的时候才发现,我对于MySQL的了解远远不够,赶紧恶补一番。
PHP基础入门
大概是参加工作后的一个月吧开始学习PHP,最初只是草草地翻阅了一下手册,然后跟着后端的同学熟悉PHP框架开发,在ThinkPHP语法糖的诱惑下,一直没有深入PHP的基础知识(与其说是深入,不如说是了解)。PHP的函数十分繁杂,命名也比较混乱,然而项目中常规使用的函数:比如打印,判断,字符串,数组等函数和方法,应当是优先需要掌握的,因此重新整理有道云上面的笔记,进一步学习PHP。之后的目标是用PHP为我的小网站重新搭一遍(PS:自从用了Hexo,之前买的虚拟主机就一直撂在那里了...)
正则表达式之捕获
发表于 | 分类于 编程语言/JavaScript
最近刚好搞定CSS选择器命名的问题(勉强能够心平气和的写样式表,姑且算作是解决了一个疑问吧),然后开始阅读jQuery源码,虽然很早之前就曾经打开看过,当时看见第六十几行定义的几个正则,然后一脸蒙蔽,悻悻然关闭了编辑器。
然而,jQuery源码迟早是要读的,正则也是必须要掌握的,最重要的一点是:并没有什么知识是不可能学会的!既然如此,那就先从正则入手吧。
初识gulp
前端技术日新月异,现在在工作中也尝试着使用一些工具简化业务开发,比如Koala来编译SCSS,使用图好快来压缩图片等。
这些工具十分方便,但是也存在一个问题:面对不同的需求需要尝试使用不同的工具,而各个工具之间却没有任何之间联系,相当于我们仍然要手动管理最基本的流程,这样就不可避免地会出现错误。
碰巧最近被一个规模比较大的项目搞得心烦意乱(前期没有进行管理规划),痛定思过,开始捣鼓gulp。
《Sass与Compass实战》读书笔记
发表于 | 分类于 读书笔记
虽然最初使用Less写了两个项目,后来又转为Scss开发,经过短暂的语法学习就直接在生产环境中使用(没有人管...),不过使用的只是诸如变量,嵌套这一些比较基础的语法,时间久了就有一种"暴殄天物"的感觉。
所幸有网友推荐了这本《Sass与Compass实战》,带着“真正学会Scss,提高工作效率”的目的,以及那个困扰我许久许久的“选择器命名”问题,开始学习本书。
PS:书很薄,二百来页。
《MySQL必知必会》读书笔记
发表于 | 分类于 读书笔记
四月份的时候在腾讯课堂邵发老师的课上对mysql有了大致的了解,当时是使用C++操作数据库,加之处于迷茫状态,因此只能说是了解到了一点皮毛,连增删查改都不利索。 最近在恰逢学习ThinkPHP,使用数据库模型,M()函数的时候才明白应当回头夯实数据库的基础知识,于是入手了《MySQL必知必会》并从头学习,(杜哥当初推荐的是《SQL必知必会》,只是草草翻阅,这也应该重新看看。PS:我的学习路线是不是十分凌乱?)
《计算机科学导论》读书笔记
发表于 | 分类于 读书笔记
早在今年三月底从船厂辞职的时候,就买了计算机科学丛书这一系列,但是当时翻阅如同天书一般,草草翻阅了两页,阅后即忘,我想大概计算机专业的同学去拿着一本传热学,气体动力学之类的书也会有这样的感觉。于是当时就决定先放一放,待进入编程的大门之后再回过头来看这一套书(大概有五六本不吧)。现在,我觉得是时候了。
《CSS权威指南》读书笔记
发表于 | 分类于 读书笔记
刚学前端的时候总是觉得页面啊样式表啊这些东西,没有什么技术含量,刷一刷W3C School就够了。现在工作了一段时间,才发现页面结构和页面样式的坑是多么的大,之前学到的东西都是知其然而不知其所以然,刚好看见论坛上有推荐《CSS权威指南》这本书,赶紧补一补。