20180103

作者: NOTEBOOK2 | 来源:发表于2018-01-03 09:49 被阅读0次

    1 Bootstrap高级
    webstorm,sublime里面快速生成标签:输入 span.h${标题$}*6 然后按tab

    全局样式用法
    viewport 的意义
    栅格布局用法
    字体,图标
    响应式开发

    特性:响应式设计,栅格布局,完整的类库,jQuery插件,不同的使用场景

    解决的问题:传统开发命名重复复杂无意义,结构冗余胡乱嵌套,页面错乱

    https://v3.bootcss.com/css/#type
    排版、大小写 对齐 标题
    <h1> 到 <h6>的文字大小为:36-30-24-18-14-12

    屏幕快照 2018-01-03 10.21.16.png

    栅格布局 怪异属性


    屏幕快照 2018-01-03 11.04.32.png

    2 抓包工具下载 https://www.charlesproxy.com/documentation/getting-started/

    https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417
    POST 请求 https://www.v2ex.com/t/419056?p=1
    Python脚本 https://www.jianshu.com/p/134461a82600

    下载Fiddler MacOS的一个运行环境???500M http://www.mono-project.com/download/#download-mac
    Downloading Fiddler for OS X Beta...
    https://www.telerik.com/download/fiddler/fiddler-osx-beta
    算了,我觉得还是直接学Charles比较靠谱。
    没有看到微信文件夹下面的 请求
    https://zhaoxuyang.com/ios下抓取微信跳一跳小游戏的session_id值/

    屏幕快照 2018-01-03 18.48.04.png

    抓包工具配置讨论https://gist.github.com/feix/6dd1f62a54c5efa10f1e1c24f8efc417

    3 github interview linkdin
    https://www.linkedin.com/in/johnawasham

    4 模块化部分
    从 CommonJS 到 Sea.js https://github.com/seajs/seajs/issues/269
    JavaScript 并没有内置模块系统(反正现在没有,需要等到 ES6 的普遍支持,不知还需要多少年),于是 CommonJS 创造了自己的。
    CommonJS 与浏览器

    仔细看上面的代码,您会注意到 require 是同步的。模块系统需要同步读取模块文件内容,并编译执行以得到模块接口。

    然而, 这在浏览器端问题多多。

    浏览器端,加载 JavaScript 最佳、最容易的方式是在 document 中插入<script> 标签。但脚本标签天生异步,传统 CommonJS 模块在浏览器环境中无法正常加载。

    解决思路之一是,开发一个服务器端组件,对模块代码作静态分析,将模块与它的依赖列表一起返回给浏览器端。 这很好使,但需要服务器安装额外的组件,并因此要调整一系列底层架构。

    另一种解决思路是,用一套标准模板来封装模块定义。这套模板代码为模块加载器提供了机会,使其能在模块代码执行之前,对模块代码进行静态分析,并动态生成依赖列表。

    为了让静态分析可行,需要遵守一些简单的 规则
    require 书写约定
    https://github.com/seajs/seajs/issues/259

    实现https://github.com/seajs/examples 的例子,执行报错,很久没有维护了。

    前端模块化开发那点历史 https://github.com/seajs/seajs/issues/588

    前端模块化开发的价值
    https://github.com/seajs/seajs/issues/547

    知乎回答
    作者:玉伯
    链接:https://www.zhihu.com/question/20351507/answer/14859415
    来源:知乎
    著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

    AMD 是 RequireJS 在推广过程中对模块定义的规范化产出。
    CMD 是 SeaJS 在推广过程中对模块定义的规范化产出。
    类似的还有 CommonJS Modules/2.0 规范,是 BravoJS 在推广过程中对模块定义的规范化产出。
    还有不少⋯⋯

    这些规范的目的都是为了 JavaScript 的模块化开发,特别是在浏览器端的。
    目前这些规范的实现都能达成浏览器端模块化开发的目的

    区别:

    1. 对于依赖的模块,AMD 是提前执行,CMD 是延迟执行。不过 RequireJS 从 2.0 开始,也改成可以延迟执行(根据写法不同,处理方式不同)。CMD 推崇 as lazy as possible.

    2. CMD 推崇依赖就近,AMD 推崇依赖前置。看代码:

    // CMD
    define(function(require, exports, module) {
    var a = require('./a')
    a.doSomething()
    // 此处略去 100 行
    var b = require('./b') // 依赖可以就近书写
    b.doSomething()
    // ...
    })
    
    // AMD 默认推荐的是
    define(['./a', './b'], function(a, b) { // 依赖必须一开始就写好
    a.doSomething()
    // 此处略去 100 行
    b.doSomething()
    ...
    })
    

    虽然 AMD 也支持 CMD 的写法,同时还支持将 require 作为依赖项传递,但 RequireJS 的作者默认是最喜欢上面的写法,也是官方文档里默认的模块定义写法。

    3. AMD 的 API 默认是一个当多个用,CMD 的 API 严格区分,推崇职责单一。比如 AMD 里,require 分全局 require 和局部 require,都叫 require。CMD 里,没有全局 require,而是根据模块系统的完备性,提供 seajs.use 来实现模块系统的加载启动。CMD 里,每个 API 都简单纯粹

    4. 还有一些细节差异,具体看这个规范的定义就好,就不多说了。

    另外,SeaJS 和 RequireJS 的差异,可以参考:https://github.com/seajs/seajs/issues/277

    相关文章

      网友评论

          本文标题:20180103

          本文链接:https://www.haomeiwen.com/subject/wqzcnxtx.html