• 2022-36~37周(8.29-9.11) 项目问题整理


    新知识

    1、protoful 转 js

    参考文档 - protoc-gen-grpc-web工具
    参考文档 - @egret/protobuf

    2、glob.sync

    glob是一个可以支持正则去批量读取文件获取文件路径的工具;
    glob.sync标识同步,通常glob()pattern, [options], cb)是个异步函数。
    glob.hasMagic(pattern, [options]) 是否有特殊字符;
    glob.Glob 类,生成实例eventEmitter类型;

    minimatch正则匹配规则:

    大括号部分可能包含斜杠字符,因此a{/b/c,bcd}会扩展为a/b/cand abcd;
    *匹配单个路径部分中的 0 个或多个字符
    ?匹配 1 个字符
    […]匹配一系列字符,类似于 RegExp 范围。如果范围的第一个字符是!or^则它匹配不在范围内的任何字符。
    !(pattern|pattern|pattern)匹配与提供的任何模式不匹配的任何内容。
    ?(pattern|pattern|pattern)匹配所提供模式的零次或一次出现。
    +(pattern|pattern|pattern)匹配所提供模式的一次或多次出现。
    (a|b|c)匹配所提供模式的零次或多次出现
    @(pattern|pat
    |pat?erN)完全匹配提供的模式之一
    ** 如果“globstar”在路径部分中单独存在,则它匹配零个或多个目录以及搜索匹配项的子目录。它不会爬取符号链接的目录。

    3、kubernetes工具学习总结

    强大的代码管理服务工具;包含:代码镜像管理、CI/CD自动化构建触发实例更新、有无状态容器、环境变量管理(配置项configMap、Secret)、Ingress(域名服务指向实例)、存储卷(外部存储卷帮助存储日志,避免重启失去记录)、自定义声明周期标识实例或容器状态辅助定位问题、远程登录管理服务、负载均衡配置(cpu分配权重等)、共享数据结合NFS(自建NFS和云CFS)、路由及服务发现等丰富的功能。
    架构:集群 cluster - 业务 - 命名空间namespace - 有无状态应用 - 服务 - 工作负载 workload - 实例prod - 镜像image

    参考文件:
    kubernetes官网

    腾讯云 - 容器服务

    4、QQ小程序开发学习总结

    QQ小程序开发官文

    逻辑层:

    路由管理;
    APP、Page、Component 应用、页面、组件注册及对应声明周期管理;(onload、、unload)
    bindTap事件绑定,统一request封装请求;
    API:文档
    QQ原生 API,可以方便的调起QQ提供的能力,如获取用户信息,本地存储,支付功能等;事件监听、异步、同步类;
    import - export 模块组件导出;

    视图层:

    json用来配置当前页面window窗口信息;app.json配置整体内容:页面信息 + 一些系统配置(tabBar、组件等);
    qss:支持大多数css指令,扩增css的字体单位及样式导入;
    页面节点信息、区域变化、动画(qq.creatAnimation)

    Page生命周期:

    在这里插入图片描述

    5、A/B Test数据驱动

    指标(显、隐);V = F( 显{a, b, c, …}, 隐 );数据驱动;
    控制变量法、同质人群(科学比较、探究因果关系);设定目标(Minimal Detectable Effect最小预期提升);最小样本量;
    圈选实验人群(画像、标签、用户包)、预估实验时长、数据埋点、实验发布&数据验证;
    实验期间关注:流量平均、指标计算是否正常、对大用户影响;
    分流同时 + 复用流量;(域,子域,层)
    AA回溯(用户 vs 用户,旧数据 vs 新数据);
    指标分析:复用原有BI指标;

    测试时常见用例验证方式:特殊字符、纯数字、空格、分页;

    问题

    1、cannot use import statement outside a module

    // package.json
    {
      "type": "module"
    }
    
    • 1
    • 2
    • 3
    • 4

    太久没用,再这里再记一下

    2、vscode保存时自动格式化失效解决方法

       "editor.formatOnSave": false,
        // 自动修复
        "editor.codeActionsOnSave": {
          "source.fixAll.eslint": true,
        },
        // 配置 ESLint 检查的文件类型
        "eslint.validate": ["javascript","vue","html"],
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7

    参考链接

    3、git对比两个分支文件变化的不同

    git diff a647ce21082cf2e8fa85e0c26382e0ef428526a6 HEAD --name-only

    4、事件未被触发偶发的查找问题方向:

    框架合成事件写原生
    划出过快响应周期未生效
    disabled
    iframe
    多窗口
    未被检测到

    5、拆分同函数下多个分块函数方法:

    面向对象拆分组装es6类方法,静态和实例方法作区分;

    6、js继承的基础

    原型链 + call改this构造函数;es6的类底层采用了寄生组合式继承。

    对象只有 __proto__ 和 constructor,函数 prototype 及对象 __proto__ 和 constructor。
    obj.__proto__  === obj.constructor.prototype;
    fun.prototype === fun.prototype;
    Function.constructor === Function.constructor;
    Function.prototype.constructor === Function.constructor;
    
    • 1
    • 2
    • 3
    • 4
    • 5
  • 相关阅读:
    蒙特卡洛树搜索方法介绍——后台规划(background planning)与决策时规划(decision-time planning)
    最常用的python开发工具
    git 版本管理
    最新基于R语言lavaan结构方程模型(SEM)技术
    49.集群节点维护—滚动升级-2
    CSS绘制各种三角形
    为什么很多公司都开始使用Go语言了?
    Socket网络编程——(一)
    PAT 1019 General Palindromic Number
    【面经】什么是回表?
  • 原文地址:https://blog.csdn.net/qq_34425377/article/details/126562552