Links

29

  1. 1.
    每日一句分享: 不乱于心,不困于情。不畏将来,不念过往。如此,安好。——丰子恺
  2. 2.
    image-20201129141341653
    A: 马老师发生瑟么事了
    B: 我大意了 没有闪
  3. 3.
    image-20201129141405617
    Rust 之父 近日加入了 亚马逊..
  4. 4.
    快餐文分享:
    现代化 Web 开发实践之 PWA
    摘要: PWA 具有快速、可靠、粘性的特点。快速即快速响应,通过独立的线程进行资源缓存,提高页面的加载时间;可靠指在不稳当的网络环境下, App 也能瞬间加载并展现内容,在离线环境下也提供用户有效反馈;粘性则是通过沉浸式的用户界面、桌面图标、消息推送等手段来增强用户的粘度。
    字体跳动团队的一篇软文,前言介绍的不错,后面实践部分有点浅了。
  5. 5.
    网站分享:
    分享几个我经常刷的图像网站:
  6. 6.
    视频分享:
    【FunnyCoder第0期】非科班前端老司机从2K到40K之路
    收获最重要的一点是: 学习是终身的任务,这是个漫长的过程 也是一个值得付出的过程。
  7. 7.
    快餐文分享:
    2万字20个实例解析Java8 Stream,带你玩转集合四大点!
    大家可以看看文中 demo,去体会 stream 背后的意义。
    stream 代表得正是 命令式编程与函数式编程的差异。
    而我经常发现很多同学 coding 时没有此抽象能力。
    就比如,我想求一个数组的和,命令式代码如下:
    const getSum = arr => {
    let sum = 0
    for(let i = 0 ; i < arr.length; i++) {
    sum += arr[i]
    }
    return sum
    }
    函数式代码如下:
    const sum = arr.reduce((a,b)=>a+b)
    看起来,函数式代码更短小,但demo的意义不在于此。
    我想表达的是,很多时候 完全不用把行为的逻辑分为一个个“原子”操作。
    这样会增加心智负担,并且维护性也不好。
    有很多行为可以抽象一个原子,当这些行为可组合起来时,收益将是无穷的。
  8. 8.
    export type JsonObject = {[Key in string]?: JsonValue};
    export interface JsonArray extends Array<JsonValue> {}
    export type JsonValue = string | number | boolean | null | JsonObject | JsonArray;
    三行代码定义 json schema 简直酷毙了
  9. 9.
    export type Split<S extends string, D extends string> =
    string extends S ? string[] :
    S extends '' ? [] :
    S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] :
    [S];
    我突然明白了 TypeScript String Template Type 的意义了,原来是在类型系统是 实现了一套模式匹配... 远不止修饰 key 那么简单,哇哦。 TypeScript 给我太多惊喜了...
  10. 10.
    字面类型与类型系统 天然冲突。 以后我们不使用 TypeScript 编程,而是使用 Type 编程 - JJC
  11. 11.
    1960年12月出生于丹麦哥本哈根,曾在丹麦科技大学学习工程学,计算机科学家。Turbo Pascal编译器的主要作者,Delphi、C#和TypeScript之父,.NET(dotnet)创立者。
    https://www.welcometothejungle.com/en/articles/anders-hejlsberg-microsoft-career 安德斯大叔的一次访谈, 讲了他做过的项目初衷.
  12. 12.
    image-20201129213020631
  13. 13.
    class Counter extends HTMLElement {
    #xValue = 0;
    get #x() { return #xValue; }
    set #x(value) {
    this.#xValue = value;
    window.requestAnimationFrame(this.#render.bind(this));
    }
    #clicked() {
    this.#x++;
    }
    constructor() {
    super();
    this.onclick = this.#clicked.bind(this);
    }
    connectedCallback() { this.#render(); }
    #render() {
    this.textContent = this.#x.toString();
    }
    }
    window.customElements.define('num-counter', Counter);
    JS 私有变量的提案已经通过, 现在又来了个 私有方法提案...
    每次看到 这个#var 就头疼, 太丑了吧..
    这设计得毫无美感可言...
Last modified 2yr ago