• 程序员中的长期主义者


    利益面前保护自己,试着用技术保护自己

      提代码时写好注释 commit -m 干了什么事,别人看了注释很专业

      用脚本跑一下,列出哪一天干了什么事就是季度工作量,足够堵住那些嘴炮

    心里建设

      《黑客与画家》艺术家不会觉得自己智商有问题。如今的大神程序员曾今也多次觉得自己智商堪忧,所以“你并不孤独”。

      我具备一些互联网思维,并且互联网思维不是那么反人性,随着理解能力的逐步提高,对此不那么痛苦。

      我并不具备计算机思维,计算机思维本来就不是一个很好的类比,有极强的误导性,一个正常人去思考计算机会很痛苦。换句话说计算机没有思维只有抽象和接受,所以就是反复弄,习惯就好,相信我“你并不孤独”。(寻找老司机获得套路,然后快速入门,然后不断学实践新的东西和打基础)

    大纲

      用互联网、计算机思维解决问题

      学新东西

      夯实基础

        数据结构算法、操作系统、计算机网络、编译原理、数据结构和算法

        case

          vue源码

    1、不频繁地执行函数

      防抖debounce/节流throttle,区别前者执行时间点可能会不断更新

    2、promise

      手撸一个promise,实现符合 promise/A+标准,业内:ES6 Promise,Q库

      返回promise链式调用,value穿透

    3、EventLoop

    //不要蒙,彻底搞清楚
    //函数调用栈,同步、异步(宏任务、微任务) console.log("task start"); task1(); setTimeout(() => { console.log("setTimeout"); }); new Promise(resolve => { console.log("promise"); resolve(); }).then(() => { console.log("promise 1"); }); async function task1() { await task2(); console.log("task1"); } async function task2() { console.log("task2"); } console.log("task end");

    4、this

      箭头函数,对象里定义时,v8会一直往外打,直到全局变量

      call/apply/bind,处理this,前俩参数不同前者剩余参数罗列,后者为数组,bind函数柯里化返回可执行函数

    5、缓存(分类标准是否麻烦服务端,强制缓存不麻烦服务端)

      强制  Expires(绝对时间)> Cache-control:max-age,前者有缺陷,标准把后者权重更高。

      304/200  协商对比缓存  last-modified   Etag 资源实体hash值

        if-modified-since 用上一次last-modified的值 和 服务器本地last-modified比较

    6、深拷贝 VS 浅拷贝

    脱离引用类型变量赋值的影响,实现层面不断循环遍历直至都是基本类型

    7、进制转换

    记住现有思想后有数据结构,正如栈。但是反复学习栈反过来也可以掌握背后的思想。

    不断地除算出求余算出各个位置的数字(从地位到高位)

    用栈pop出  后进先出或者用数组翻转(从左到右,从高位到地位)

    // 进制转换
    function toOne(num, i) {
        let result = []
        let cur 
        do {
            debugger
            // 求余算出每一位的值
            cur = num % i
            // 为算次地位做准备
            num = Math.floor(num / i)
            result.push(cur)
        } while (num !== 0)
        result = result.reverse().join("")
        console.log(result)
        return result
    }
    toOne(15, 8)

    递归(心理建设:递归是计算机擅长的东西  自己想俩层即可  不要把人脑当电脑  用数字验证下  找准终止条件)

      eg,电影院哪一排,爬楼梯

      递归公式+终止条件(自己调自己,不断的递出去,终止条件触发归)

      1、递归爆栈 2、重复计算性能低下

      

  • 相关阅读:
    js实现冒泡排序
    AngularJS控制器
    AngularJS指令
    AngularJS表达式
    AngularJS基础
    Python小例子(判断质数)
    Python小例子(求和)
    Python笔记
    js小例子(简单模糊匹配输入信息)
    word学习笔记
  • 原文地址:https://www.cnblogs.com/wenhandi/p/14178566.html
Copyright © 2020-2023  润新知