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

2022-36~37周 项目问题整理

  • 新知识
    • 1、protoful 转 js
    • 2、glob.sync
      • minimatch正则匹配规则:
    • 3、kubernetes工具学习总结
    • 4、QQ小程序开发学习总结
      • 逻辑层:
      • 视图层:
      • Page生命周期:
    • 5、A/B Test数据驱动
  • 问题
    • 1、cannot use import statement outside a module
    • 2、vscode保存时自动格式化失效解决方法
    • 3、git对比两个分支文件变化的不同
    • 4、事件未被触发偶发的查找问题方向:
    • 5、拆分同函数下多个分块函数方法:
    • 6、js继承的基础

新知识

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生命周期:

2022-36~37周(8.29-9.11) 项目问题整理_第1张图片

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"
}

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

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

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

参考链接

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;

你可能感兴趣的:(周总结,周总结)