【周记】2018.03.26-2018.03.31


title: 【周记】2018.03.26-2018.03.31
date: 2018-03-31
tags: [周记]
categories: 琐事


孤山寺北贾亭西,水面初平云脚低。几处早莺争暖树,谁家新燕啄春泥。乱花渐欲迷人眼,浅草才能没马蹄。最爱湖东行不足,绿杨阴里白沙堤。   - 白居易《钱塘湖春行》

关键字:

  1. 百乐门培训
  2. 订阅管理上线前优化需求
  3. 回顾 js 异步发展史 callback => promise => co + generator => async + await + promise
  4. 回顾箭头函数
  5. 阅读 webpack 官方指南/掘金小册,还有视频
  6. 初读 koa 源码,重点:koa 中间件实现原理
  7. 买了 15 个月的腾讯云服务器
  8. 明朝那些事儿【朱佑樘,朱厚照】
  9. 返校

工作

  1. 周四晚上到周六一整天都是公司新员工培训,周四晚上组队并且进行团队介绍,周五前往西溪湿地公园“寻宝”,周六培训业务相关(然而我已经回学校了)。

    一点感触,不要因为自己是实习生就对别人太 过于 有礼貌,正常交流即可,可能技术比工作了五年的老哥们差了不少,但大家都会是正式员工,是平等的,不存在上下级关系,弱势久了能想象得到以后工作很麻烦。

    尽量多思考,不要一有问题就发问,实在不行正常请教即可,不用摆出学生姿态,放自然点,没人在意你是实习生还是新人。

    西溪湿地很漂亮,三月的尾巴离开了杭州,这个春夏过渡的很自然。

    上几张图咯。

1.jpeg
2.jpeg
3.jpeg
4.jpeg
  1. 订阅管理上线前优化需求。特意留了一个星期来修复 bug,结果偏偏最后一天冒出四五个需求,还撞上了培训, 真是全场最佳。还好有暖心的同事。

学习

  1. 回顾 js 异步发展史,真的真的特别重要,原来直接跳过了 generator 到了 async,这周静下心来梳理了一下,配合 co 也算是会入门使用了,但是没有去看 co 的源码,下周可以看看。上码:
const fs = require('fs')

// 第一阶段 callback
function readFile(cb) {
  fs.readFile('./package.json', cb)
}

readFile((err, data) => {
  if (!err) {
    data = JSON.parse(data)
    console.log(data.name)
  }
})

// 第二阶段 promise
function readFileAsync(path) {
  return new Promise((reslove, reject) => {
    fs.readFile(path, (err, data) => {
      if (err) reject(err)
      else reslove(data)
    })
  })
}

readFileAsync('./package.json')
  .then(data => {
    data = JSON.parse(data)
    console.log(data.name)
  })
  .catch(err => {
    console.log(err)
  })

// 第三阶段  co + generator function + promise
const co = require('co')
const util = require('util')

co(function*() {
  let data = yield util.promisify(fs.readFile)('./package.json')
  data = JSON.parse(data)
  console.log(data.name)
})

// 第四阶段 async
const readAsync = util.promisify(fs.readFile)
async function readWithAsync(path) {
  let data = await readAsync(path)
  data = JSON.parse(data)
  console.log(data.name)
}

readWithAsync('./package.json')
  1. 回顾箭头函数,上码。
const luke = {
  id: 1,
  say: function() {
    setTimeout(function() {
      console.log('id:', this.id)
    }, 500)
  },
  sayWithThis: function() {
    let that = this
    setTimeout(function() {
      console.log('this id:', that.id)
    }, 1000)
  },
  sayWithArrow: function() {
    setTimeout(() => {
      console.log('arrow id:', this.id)
    }, 1500)
  },
  sayWithGlobalArrow: () => {
    setTimeout(() => {
      console.log('global arrow id:', this.id)
    }, 2000)
  }
}

luke.say()
luke.sayWithThis()
luke.sayWithArrow()
luke.sayWithGlobalArrow()
  1. 系统性的学习了一下 webpack,对 webpack 在浏览器上实现模块化进行了一些思考(webpack 在多页应用单页应用使用情景的差别),部分笔记如下:

    • ES6,7/react => babel
    • css 相关 => css-loader style-loader extra-text-webpack-plugin
    • 代码规范 => eslint
    • 图片,字体 => file-loader url-loader
    • 开发热更新环境 => webpack-dev-server
    • Common chunk
    • Code splitting && lazy load
    • Uglify && Minisize

    提取公共代码:CommonChunkPlugin 通过将公共模块拆出来,最终合成的文件能够在最开始的时候加载一次,便存到缓存中供后续使用。这个带来速度上的提升,因为浏览器会迅速将公共的代码从缓存中取出来,而不是每次访问一个新页面时,再去加载一个更大的文件。4.0 版本已经移除

    css 相关:

    • css 引入:
      • style-loader :创建 style 标签
      • css-loader:使得 css 可被 import
    • Css modules
    • 配置 less/sass/stylus
    • 抽离 css: extra-text-webpack-plugin 可以将 css 或各种预处理器[转换成 css]抽离出来,有利于缓存,异步组件无法抽离,需要配置 fallback,不能抽离的 css 动态生成 style 标签,官方文档很完善【重复@import 的 css 代码若不抽离会被打入 js 两次】

    代码分割和懒加载: 不需要配置 webpack,只需要自己在代码中实现即可。

    • import(). [react-loadable]
    • require.ensure([],function(){})
    • 因为分割成了多个文件,共同依赖存在重复打包的问题,在入口处进行引入减少重复打包
    • webpack 异步加载的原理
  2. koa 中间件原理。koa-compose:

好累,写不动了。

生活

  1. 看关键字,好贵。
  2. 看关键字,终于看了课外书。
  3. 看关键字,爽死了。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 205,236评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 87,867评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 151,715评论 0 340
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,899评论 1 278
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,895评论 5 368
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,733评论 1 283
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,085评论 3 399
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,722评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 43,025评论 1 300
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,696评论 2 323
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,816评论 1 333
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,447评论 4 322
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,057评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,009评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,254评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 45,204评论 2 352
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,561评论 2 343

推荐阅读更多精彩内容

  • GitChat技术杂谈 前言 本文较长,为了节省你的阅读时间,在文前列写作思路如下: 什么是 webpack,它要...
    萧玄辞阅读 12,671评论 7 110
  • 版权声明:本文为博主原创文章,未经博主允许不得转载。 webpack介绍和使用 一、webpack介绍 1、由来 ...
    it筱竹阅读 11,028评论 0 21
  • 最近在学习 Webpack,网上大多数入门教程都是基于 Webpack 1.x 版本的,我学习 Webpack 的...
    My_Oh_My阅读 8,166评论 40 247
  • webpack 介绍 webpack 是什么 为什么引入新的打包工具 webpack 核心思想 webpack 安...
    yxsGert阅读 6,450评论 2 71
  • 站在校园门口,可以隐约听见孩子们的嬉闹声。刹那间,童年的回忆如潮水般向你涌来。你漫步在校园长廊中,看着学校介绍,...
    魚兒氺阅读 262评论 0 1