M/J TIMI
死亡面前,事事都会后悔!
在讲解异步编程的时候,有必要先提到Event Loop(事件轮询)的概念。首先是运行时的一些概念。
Event Loop
Stack
function foo(){ ... } function bar(){ foo(); ... } bar();
代码的最后一行调用bar()时,会在栈内创建第一个帧(帧的概念就是想表达一个意思),包含了bar的参数和局部变量。当bar调用foo时,第二帧被创建,并压到bar创建的帧上。foo返回时,foo创建的帧就被弹出。直到所有函数返回,栈空。。
bar()
bar
foo
June 7 , 2017 Node 阅读全文
CommonJS的模块规范,是一种定位于服务器端的模块规范。
CommonJS对模块的定义十分简单,主要分为模块引用、模块定义和模块标识。
June 6 , 2017 Node 阅读全文
将以前看的Introduction to Programming in Python时做的笔记,特地整理了一下放在博客上。书籍是开源的,内容可以到这个http://introcs.cs.princeton.edu/python/home/网站获取。结构如下:
http://introcs.cs.princeton.edu/python/home/
June 4 , 2017 Python 阅读全文
最近读了Tom Barker的High Performance Responsive Design。对响应式设计有了更多的新理解,尤其是利弊和测试方面。
Tom Barker
在很多响应式架构中,我们都只注意到响应式的优点:能同时兼顾移动端和PC端,方便了开发。但是很多网站在设计时,并不能秉承移动优先的策略,或者完全放弃该策略。你就会发现,对于使用响应式构建的网站,需要加载更多的资源。这也意味着,相对于单独进行移动端和PC端建站,响应式页面加载的时间更长。这是值得响应式开发者深思的问题。
May 25 , 2017 Responsive Performance 阅读全文
其他链接:
代码Github地址:
Github
当然了,webpack也可以对CSS文件进行打包,将其作为模块引入到JavaScript代码中,然后利用Loader输出。本篇文章主要针对的就是对CSS的操作。
webpack
CSS
JavaScript
Loader
May 19 , 2017 Webpack 阅读全文
这里呢,打算将所有和html有关的操作都集合到这篇文章中来,用来熟悉webpack对html的操作。
html
May 18 , 2017 Webpack 阅读全文
想不到webpack比我想象中要难一点。
webpack是一个现代的JavaScript应用程序的模块打包器(module bundler)。但随着它的发展,有向前端代码管理工具演变的趋势。
module bundler
对于一个网站而言,之前的管理方式是:HTML文件、CSS样式、JavaScript文件、图片文件各自都是独立的,需要分开地管理每一个文件,然后确保一切正常运行。Gulp这样的任务管理工具就是在这个基础上发展而来,能处理不同的预处理器和编译器,任务一个接着一个进行。
HTML
Gulp
而webpack抛开了这种管理方式,在开发过程中的某一个阶段通过JavaScript去处理所有的依赖。比如说,我们可以利用loader将HTML/CSS文件打包成JS文件,然后再解析出来(这里说的有点糊涂,下次理解透彻再来)。
loader
HTML/CSS
JS
May 17 , 2017 Webpack 阅读全文
有些CSS属性有些是可以继承的,有些是不可以继承的。在多个规则定义了相同的CSS属性,并且这些规则都应用在页面的同一元素上,有时候,会产生冲突。对于现代浏览器,有一种cascade的机制,用来进行冲突判定。
cascade
有两种情况会导致样式冲突:
Class
<p>
May 16 , 2017 CSS 阅读全文