├── .babelrc ├── .browserslistrc ├── .cache └── 20844ed58e2e19ee548a9d8d7b612771.json ├── .editorconfig ├── .eslintrc ├── .eslintrc.js ├── .gitignore ├── .npmrc ├── .postcssrc ├── .storybook ├── config.js └── webpack.config.js ├── .travis.yml ├── .vscode └── launch.json ├── README.md ├── SUMMARY.md ├── TODO.md ├── _book ├── index.html └── src │ └── webpack │ └── README.md ├── _config.yml ├── index.html ├── journals └── 2020_11_27.md ├── logseq ├── config.edn └── custom.css ├── manifest.json ├── nightwatch.conf.js ├── nightwatch.json ├── openssl.cnf ├── package.bak.json ├── package.json ├── pages └── contents.md ├── pnpm-lock.yaml ├── setup.py ├── src ├── MathML │ ├── LittleFermat.mml │ └── README.md ├── algorithm │ ├── README.md │ ├── dp │ │ └── index.js │ ├── leetcode │ │ ├── README.md │ │ ├── bfs-最小高度.js │ │ ├── bfs-滑动谜题.js │ │ ├── bfs-转盘锁.js │ │ ├── dp-01背包问题.js │ │ ├── dp-乘积最大子数组.js │ │ ├── dp-凑零钱.js │ │ ├── dp-分割等和子集.js │ │ ├── dp-单词拆分.js │ │ ├── dp-字符串相乘.js │ │ ├── dp-完全平方数.js │ │ ├── dp-打家劫舍.js │ │ ├── dp-数组求最大子序和.js │ │ ├── dp-斐波那契.js │ │ ├── dp-最长公共子序列.js │ │ ├── dp-最长回文子串.js │ │ ├── dp-最长递增子序列长度.js │ │ ├── dp-杨辉三角.js │ │ ├── dp-爬楼梯.js │ │ ├── dp-目标和.js │ │ ├── dp-编辑距离.js │ │ ├── dp-通解.js │ │ ├── dp-链表相加.js │ │ ├── dp-零钱兑换.js │ │ ├── 中序-二叉树遍历.js │ │ ├── 中序-转累加树.js │ │ ├── 中序-递增顺序查找二叉树.js │ │ ├── 二分-在排序数组中查找元素的第一个和最后一个位置.js │ │ ├── 二分-寻找两个正序数组的中位数.js │ │ ├── 二分-寻找旋转排序数组中的最小值.js │ │ ├── 二分-搜索二维矩阵.js │ │ ├── 二分-搜索插入位置.js │ │ ├── 二分-搜索旋转排序数组.js │ │ ├── 二分-求平方根.js │ │ ├── 二分查找.js │ │ ├── 二叉树-中序遍历.js │ │ ├── 二叉树-二叉搜索树第K小的元素.js │ │ ├── 二叉树-二叉树展开为链表.js │ │ ├── 二叉树-二叉树的右视图.js │ │ ├── 二叉树-二叉树直径.js │ │ ├── 二叉树-从前序和中序遍历构造二叉树.js │ │ ├── 二叉树-对称二叉树.js │ │ ├── 二叉树-层序遍历.js │ │ ├── 二叉树-最大深度.js │ │ ├── 二叉树-最近公共祖先.js │ │ ├── 二叉树-有序数组转为二叉搜索树.js │ │ ├── 二叉树-翻转二叉树.js │ │ ├── 二叉树-路径总和三.js │ │ ├── 二叉树-验证二叉搜索树.js │ │ ├── 前序-二叉树层次遍历.js │ │ ├── 前序-二叉树搜索结点.js │ │ ├── 前序-二叉树求层平均值.js │ │ ├── 前序-二叉树遍历.js │ │ ├── 前序-反转链表.js │ │ ├── 前序-合并二叉树.js │ │ ├── 前序-最大深度n叉树.js │ │ ├── 前序-最大深度二叉树.js │ │ ├── 前序-根到叶二进制之和.js │ │ ├── 前序-相同二叉树.js │ │ ├── 双向链表-LRU缓存机制.js │ │ ├── 双指针-三数之和.js │ │ ├── 双指针-反转字符串.js │ │ ├── 双指针-数组.js │ │ ├── 双指针-滑动窗口.js │ │ ├── 双指针-盛最多水的容器.js │ │ ├── 双指针-移动零.js │ │ ├── 后序-二叉树搜索范围.js │ │ ├── 后序-二叉树最大路径和.js │ │ ├── 后序-二叉树遍历.js │ │ ├── 后序-修剪二叉树.js │ │ ├── 后序-单值二叉树.js │ │ ├── 后序-对称二叉树.js │ │ ├── 后序-左子树叶之和.js │ │ ├── 后序-平衡二叉树.js │ │ ├── 后序-有序数组转二叉树.js │ │ ├── 后序-翻转二叉树.js │ │ ├── 哈希-两数之和.js │ │ ├── 哈希-和为K的子数组.js │ │ ├── 哈希-字母异位词分组.js │ │ ├── 哈希-最长连续序列.js │ │ ├── 哈希表-两个链表的第一个公共节点.js │ │ ├── 哈希表-环形链表.js │ │ ├── 回溯-n数之和.js │ │ ├── 回溯-全排列.js │ │ ├── 回溯-分割回文串.js │ │ ├── 回溯-单词搜索.js │ │ ├── 回溯-子集.js │ │ ├── 回溯-字符串所有组合.js │ │ ├── 回溯-拨电话.js │ │ ├── 回溯-括号生成.js │ │ ├── 回溯-排列组合all.js │ │ ├── 回溯-数组中和为N的K元组.js │ │ ├── 回溯-洗牌算法.js │ │ ├── 回溯-组合.js │ │ ├── 回溯-组合总和.js │ │ ├── 回溯-钥匙和房间.js │ │ ├── 巧技-计数质数.js │ │ ├── 巧技-重复子字符串.js │ │ ├── 并查集.js │ │ ├── 异或-找数组中的唯一数.js │ │ ├── 归并-合并K个有序链表.js │ │ ├── 微信红包算法.js │ │ ├── 技巧-只出现一次的数字.js │ │ ├── 技巧-多数元素.js │ │ ├── 普通数组-合并区间.js │ │ ├── 普通数组-最大子数组和.js │ │ ├── 普通数组-轮转数组.js │ │ ├── 普通数组-除自身以外数组的乘积.js │ │ ├── 栈-字符串解码.js │ │ ├── 栈-最小栈.js │ │ ├── 栈-最长的括号子串.js │ │ ├── 栈-有效的括号.js │ │ ├── 栈-每日温度.js │ │ ├── 滑动窗口-字符串排列.js │ │ ├── 滑动窗口-找到字符串中所有字母异位词.js │ │ ├── 滑动窗口-无重复字符的最长子串.js │ │ ├── 滑动窗口-最小覆盖子串.js │ │ ├── 贪心算法-买卖股票最佳时机.js │ │ ├── 贪心算法-跳跃游戏.js │ │ ├── 贪心算法-跳跃游戏2.js │ │ ├── 递归-合并两个有序链表.js │ │ ├── 链表-LRU缓存.js │ │ ├── 链表-两两交换链表中的节点.js │ │ ├── 链表-两数相加.js │ │ ├── 链表-删除链表的倒数第N个结点.js │ │ ├── 链表-反转链表.js │ │ ├── 链表-合并两个有序链表.js │ │ ├── 链表-回文链表.js │ │ ├── 链表-排序链表.js │ │ ├── 链表-环形链表.js │ │ ├── 链表-环形链表2.js │ │ ├── 链表-相交链表.js │ │ └── 链表-随机链表的复制.js │ ├── math │ │ ├── GCD.js │ │ ├── LCM.js │ │ ├── bit.js │ │ ├── complex.js │ │ ├── factorial.js │ │ ├── fast-power.js │ │ ├── fibonacci.js │ │ ├── integerPartition.js │ │ ├── liuHui.js │ │ ├── pascal-triangle.js │ │ ├── primality.js │ │ ├── radian.js │ │ └── 素数筛.js │ ├── set │ │ ├── cartesianProduct.js │ │ ├── combination.js │ │ ├── fisherYates.js │ │ ├── lcs.js │ │ ├── permutation.js │ │ └── powerSet.js │ ├── sort │ │ ├── 归并.js │ │ └── 快排.js │ ├── structure │ │ ├── avl-tree.gif │ │ ├── avl-tree.md │ │ ├── base.js │ │ ├── 二叉树.js │ │ ├── 二叉树节点访问顺序.png │ │ ├── 二叉索引树.js │ │ ├── 优先队列.js │ │ ├── 先序遍历.png │ │ ├── 双向链表.js │ │ ├── 哈希表.js │ │ ├── 图.js │ │ ├── 堆.js │ │ ├── 字典树.js │ │ ├── 栈.js │ │ ├── 树.md │ │ ├── 红黑树.md │ │ ├── 线段树.js │ │ ├── 链表.js │ │ └── 队列.js │ └── x-Queen.js ├── angular │ ├── JIT&AOT.md │ ├── README.md │ └── render.jpg ├── babel │ ├── README.md │ ├── acorn.js │ ├── acorn流程.png │ ├── babel-plugin-console.js │ ├── babel-plugin-diy.js │ ├── babel-plugin-inline-env.js │ ├── babel-plugin-macro.js │ ├── babel-register.js │ ├── babel-run-diy.js │ ├── babel-run-inline-env.js │ ├── babel-test.js │ ├── babel.es6 │ ├── babel流程.png │ ├── index.html │ ├── index.js │ ├── path属性&方法.png │ ├── sandbox.html │ └── treeshaking-v1 │ │ ├── base.js │ │ ├── package.json │ │ ├── test-lib.js │ │ ├── test.js │ │ ├── treeshaking-replace.js │ │ ├── treeshaking-search.js │ │ └── utils.js ├── book │ ├── 1844年经济学手稿.md │ ├── DIP-1.jpeg │ ├── DOTA2.md │ ├── ISP-1.png │ ├── LSP-1.jpeg │ ├── OCP-1.jpeg │ ├── README.md │ ├── SRP-1.jpeg │ ├── SRP-2.jpeg │ ├── SRP-3.jpeg │ ├── The Grammer of Graphics.md │ ├── designing delivery.md │ ├── fact模型.jpeg │ ├── oltp和olap.jpeg │ ├── 一生的旅途-迪士尼ceo自述.md │ ├── 为什么是中国.md │ ├── 主键分区.jpeg │ ├── 事实.md │ ├── 人才盘点.md │ ├── 人才评估打分.jpeg │ ├── 人月神话.md │ ├── 人类简史.md │ ├── 伟大的中国工业革命.md │ ├── 免费.md │ ├── 兰伯特时间戳.jpeg │ ├── 关键对话.md │ ├── 分区.jpeg │ ├── 分析与思考.md │ ├── 创新者的窘境.md │ ├── 动物农场.md │ ├── 四种代码结构.jpeg │ ├── 天朝的崩溃.md │ ├── 好用的网站.md │ ├── 如何阅读一本书.md │ ├── 学会提问.md │ ├── 少有人走过的路.md │ ├── 巴菲特致股东的信.md │ ├── 影响力.md │ ├── 我们为什么要睡觉.md │ ├── 战略与路径.md │ ├── 插件式架构.jpeg │ ├── 改变心理学的40项研究.md │ ├── 散列分区.jpeg │ ├── 数据复制&分区.jpeg │ ├── 整洁架构.jpeg │ ├── 易经.md │ ├── 更好的系统架构设计.jpeg │ ├── 有向无环图.jpeg │ ├── 服务发现.jpeg │ ├── 枪炮病菌与钢铁.md │ ├── 架构简洁之道.md │ ├── 格鲁夫:给职业经理人的第一课.md │ ├── 梦的解析.md │ ├── 毛选.md │ ├── 生命之书.md │ ├── 用户关注点的变化.jpeg │ ├── 硅谷钢铁侠.md │ ├── 社会心理学.md │ ├── 稳定抽象原则.jpeg │ ├── 穷查理宝典.md │ ├── 管理心理学.md │ ├── 索引示意图.jpeg │ ├── 红星照耀中国.md │ ├── 组件聚合.jpeg │ ├── 置身事内.md │ ├── 自控力.md │ ├── 菜根谭.md │ ├── 认知觉醒.md │ ├── 设计数据密集型应用.md │ ├── 资本论.md │ ├── 资治通鉴.md │ ├── 邓小平时代.md │ ├── 长尾理论.md │ ├── 陈志武金融通识课.md │ ├── 马斯克传.md │ └── 驾驭周期.md ├── canvas │ └── README.md ├── career │ ├── 5G辐射.md │ ├── APM.md │ ├── OLTP和OLAP.png │ ├── README.md │ ├── Settings.json │ ├── ab实验.md │ ├── apm-overall.jpg │ ├── apm-sort.jpg │ ├── csr&ssr.jpeg │ ├── devOps.md │ ├── druid-data-groupby.png │ ├── i18n.md │ ├── json-web-token.png │ ├── k8s.md │ ├── keybindings.json │ ├── kylin-data-cube.png │ ├── linux性能命令.jpg │ ├── mac快捷键.md │ ├── mac相关.md │ ├── sso.md │ ├── toC&toB.md │ ├── 三层四面.jpg │ ├── 产品相关.jpeg │ ├── 产品设计.md │ ├── 企业价值倍数.jpeg │ ├── 低代码平台.md │ ├── 债券周期.png │ ├── 光波&电波.jpg │ ├── 全栈.md │ ├── 写业务代码的方法论.jpg │ ├── 冰山模型.jfif │ ├── 列存储.jpg │ ├── 前端代码质量.md │ ├── 前端埋点和监控方案.md │ ├── 前端基础架构.md │ ├── 前端工程化.md │ ├── 前端新人指引.md │ ├── 前端架构&技术方案.md │ ├── 前端渲染历史.md │ ├── 前端渲染历史.png │ ├── 前端自动化测试.md │ ├── 功率密度标准.jpg │ ├── 发布订阅.png │ ├── 发布订阅vs观察者.jpg │ ├── 可转债规则.jpeg │ ├── 商业模式画布.jfif │ ├── 国情对应美林时钟.jpeg │ ├── 基站功率.jpg │ ├── 基金.md │ ├── 市净率.jpeg │ ├── 市现率.jpeg │ ├── 市盈率.png │ ├── 市销率.png │ ├── 常用指标.jpeg │ ├── 开发视角前端架构.png │ ├── 开源计划模板.md │ ├── 异地多活.jpeg │ ├── 微信背后的产品观.pdf.zip │ ├── 微内核.md │ ├── 技术全局视角.jpeg │ ├── 技术思考-技术价值.png │ ├── 技术思考-研发效能度量体系.png │ ├── 技术文章指南.md │ ├── 技术管理.md │ ├── 投资趋势.jpeg │ ├── 持续集成.jpg │ ├── 数据处理.jpg │ ├── 数据库对比.md │ ├── 数据架构示意图.jpg │ ├── 方法论建设.md │ ├── 显示fps.gif │ ├── 流程-看板.jpeg │ ├── 浏览器兼容规范.jpg │ ├── 深度学习.md │ ├── 生产变更.png │ ├── 电磁辐射.jpg │ ├── 端智能.md │ ├── 简易sso.png │ ├── 精进表达模型.jpeg │ ├── 美林投资时钟.jpeg │ ├── 职业发展方向.jpeg │ ├── 股权风险溢价.png │ ├── 股权风险溢价走势-2024.png │ ├── 行存储.jpg │ ├── 观察者.png │ ├── 设计文档.md │ ├── 设计模式.md │ ├── 资产的不相关性.png │ ├── 通用前端架构.png │ ├── 逻辑递进.jpg │ ├── 采集端控制.jpg │ ├── 金融周期.png │ ├── 随记.md │ ├── 集群sso.png │ ├── 页面健康度.png │ ├── 页面评分细则.jpeg │ ├── 领导力.md │ ├── 高并发.md │ └── 高效沟通.md ├── chatgpt │ └── README.md ├── chrome │ ├── README.md │ ├── mock │ │ ├── README.md │ │ ├── index.html │ │ ├── package.json │ │ ├── prettier.config.js │ │ ├── public │ │ │ ├── content.html │ │ │ ├── devtools.html │ │ │ ├── js │ │ │ │ ├── background.js │ │ │ │ ├── content.js │ │ │ │ ├── devtools.js │ │ │ │ ├── options.js │ │ │ │ ├── panel.js │ │ │ │ └── script.ts │ │ │ ├── manifest.json │ │ │ ├── options.html │ │ │ └── vite.svg │ │ ├── src │ │ │ ├── assets │ │ │ │ └── vue.svg │ │ │ ├── const │ │ │ │ ├── index.ts │ │ │ │ └── selection.ts │ │ │ ├── main.ts │ │ │ ├── router.ts │ │ │ ├── style.less │ │ │ ├── types │ │ │ │ └── mock.d.ts │ │ │ ├── utils │ │ │ │ ├── env.ts │ │ │ │ ├── index.ts │ │ │ │ ├── message.ts │ │ │ │ └── storage.ts │ │ │ └── vite-env.d.ts │ │ ├── tsconfig.json │ │ ├── tsconfig.node.json │ │ └── vite.config.ts │ └── 插件开发.md ├── css-related │ ├── README.md │ ├── UFE00.pdf │ ├── base64-正常匹配.jpg │ ├── base64-补位.jpg │ ├── base64.md │ ├── css_track │ │ └── README.md │ ├── emoji.md │ ├── flyball │ │ ├── flyball.html │ │ ├── flyball.js │ │ ├── flyball.less │ │ └── flyball2.html │ ├── img&视频.md │ ├── index.html │ ├── styled-component.md │ ├── svg转css.html │ ├── 两栏布局-阴影.html │ ├── 好看的404.html │ └── 层叠顺序.png ├── cyclejs │ ├── index.html │ ├── main.ts │ ├── package.json │ ├── tsconfig.json │ ├── tslint.json │ └── webpack.config.js ├── dataforge │ ├── dataforge.js │ └── test.json ├── ddd │ ├── README.md │ ├── ddd模型+依赖倒置.jpg │ ├── ddd项目中运用.jpg │ └── refactoring-3.png ├── deeplearning │ ├── README.md │ └── deeplearning.pdf ├── deno │ ├── README.md │ └── puppeteer.js ├── docker │ ├── README.md │ ├── alert调研.md │ ├── overall.png │ ├── prometheus.md │ └── webhook.js ├── echart │ ├── README.md │ └── china.js ├── electron │ ├── README.md │ ├── nw结构.jpeg │ └── vscode通讯机制.png ├── esbuild │ ├── README.md │ ├── test.js │ └── 前端工程化.jpeg ├── eslint │ └── README.md ├── fe-interview │ ├── README-old.md │ ├── README.md │ ├── ai │ │ ├── 面试人.md │ │ └── 面试官.md │ └── src │ │ ├── async&await.js │ │ ├── bind.js │ │ ├── call&apply&bind.js │ │ ├── common.md │ │ ├── curry.js │ │ ├── debounce.js │ │ ├── deepClone.js │ │ ├── eventBus.js │ │ ├── extend.js │ │ ├── html头部.jpg │ │ ├── indexedDB读写.js │ │ ├── instanceOf.js │ │ ├── json-parse.js │ │ ├── json-stringify.js │ │ ├── mvp.PNG │ │ ├── new.js │ │ ├── promise.js │ │ ├── promise.md │ │ ├── throttle.js │ │ ├── urlSearchParams.js │ │ ├── zookeeper.js │ │ ├── 作用域链.jpg │ │ ├── 合成触发.jpg │ │ ├── 回流触发.jpg │ │ ├── 字符串全匹配.js │ │ ├── 广度优先.png │ │ ├── 扁平数据转树状结构.js │ │ ├── 扁平数据转树状结构2.js │ │ ├── 技巧.md │ │ ├── 排序算法复杂度.png │ │ ├── 文件上传.md │ │ ├── 文件下载.md │ │ ├── 文件读写.md │ │ ├── 模拟节流请求.js │ │ ├── 深度优先.png │ │ ├── 深拷贝.md │ │ ├── 观察者和发布订阅模式.png │ │ ├── 资源优先级.png │ │ ├── 重绘触发.jpg │ │ ├── 金额format.js │ │ ├── 页面请求流程.png │ │ └── 飞书.md ├── flutter │ ├── README.md │ ├── gpu-render.png │ └── state.jpg ├── fp │ ├── README.md │ ├── codewar-fp.js │ ├── fp.js │ ├── lib.js │ ├── mostly-adequate-guide.pdf │ └── test.js ├── g2 │ └── README.md ├── game │ ├── .babelrc │ ├── README.md │ ├── app │ │ ├── App.less │ │ └── App.tsx │ ├── components │ │ ├── combat │ │ │ ├── Combat.less │ │ │ ├── Combat.tsx │ │ │ ├── CombatDistance.tsx │ │ │ ├── CombatOperation.tsx │ │ │ ├── CombatOperationArea.tsx │ │ │ └── CombatScene.tsx │ │ ├── common │ │ │ ├── AbstractComponent │ │ │ │ └── index.tsx │ │ │ ├── BaseComponent │ │ │ │ └── index.tsx │ │ │ ├── Choice │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ ├── Man │ │ │ │ ├── index.less │ │ │ │ └── index.tsx │ │ │ └── errorBoundary │ │ │ │ └── index.tsx │ │ ├── header │ │ │ ├── Header.less │ │ │ └── Header.tsx │ │ ├── map │ │ │ ├── Map.less │ │ │ └── Map.tsx │ │ └── starter │ │ │ ├── BirthMap.tsx │ │ │ ├── PersonInfo.tsx │ │ │ ├── Starter.less │ │ │ ├── Starter.tsx │ │ │ ├── StepButton.tsx │ │ │ └── System.tsx │ ├── enum │ │ ├── common.ts │ │ ├── index.ts │ │ └── starter.ts │ ├── img │ │ ├── blade-man-blue-sec.jpg │ │ ├── blade-man-blue.jpg │ │ ├── blade-man-static.gif │ │ ├── blade-man.jpg │ │ ├── run-man.gif │ │ ├── run-man.jpg │ │ └── shuzhi.jpeg │ ├── logo.svg │ ├── models │ │ ├── app.ts │ │ ├── combat.ts │ │ ├── index.ts │ │ └── starter.ts │ ├── next.config.js │ ├── package.json │ ├── pages │ │ ├── index.less │ │ └── index.tsx │ ├── postcss.config.js │ ├── public │ │ ├── index.html │ │ └── main.css │ ├── selectors │ │ ├── app.ts │ │ ├── combat.ts │ │ ├── header.ts │ │ └── starter.ts │ ├── server.js │ ├── store │ │ └── index.ts │ ├── tsconfig.json │ ├── types │ │ ├── app.ts │ │ ├── combat.ts │ │ ├── common.ts │ │ ├── index.ts │ │ ├── starter.ts │ │ └── test.ts │ ├── utils │ │ ├── Character.ts │ │ ├── constant.ts │ │ └── index.ts │ └── web │ │ ├── controller │ │ └── index.js │ │ ├── index.js │ │ └── service │ │ └── index.js ├── gitflow │ ├── README.md │ ├── git-flow.png │ └── git-log.png ├── graphQL │ ├── README.md │ └── index.js ├── html │ ├── README.md │ ├── html.js │ ├── test.css │ ├── test1.css │ ├── test1.html │ ├── test2.css │ ├── test2.html │ ├── wxml-resolver.js │ └── 移动端开发经验.md ├── http │ ├── 10.png │ ├── 201208201734403507.png │ ├── 24.png │ ├── CDN.md │ ├── OSI层次.jpg │ ├── README.md │ ├── TCP-IP协议层次.jpg │ ├── TCP-IP协议模型.png │ ├── api.md │ ├── backlog.png │ ├── eventSource.md │ ├── hash算法.js │ ├── http2对比.png │ ├── http3对比.png │ ├── https-2.jpg │ ├── https请求完整流程.jpg │ ├── http五大类知识.png │ ├── rtt对比.png │ ├── ssl-tls.jpg │ ├── stale-while-revalidate.jpg │ ├── tcp传输过程.jpg │ ├── tcp和http关系.jpg │ ├── tcp请求报文.png │ ├── tcp首部信息.png │ ├── udp首部信息.png │ ├── webRTC.md │ ├── websocket.md │ ├── websocket.png │ ├── 二进制分帧.png │ ├── 低延迟直播技术.png │ ├── 加密算法.md │ ├── 协议层次.png │ ├── 多路复用.png │ ├── 当前主流直播技术延迟.png │ ├── 跨域.jpeg │ └── 跨域.md ├── immer │ ├── README.md │ ├── immer.js │ ├── immer.png │ ├── proxy.md │ ├── test.html │ └── test.js ├── js&browser │ ├── 2010-facebook-性能优化.pdf │ ├── 201208201734418392.png │ ├── 2018性能优化.png │ ├── 2954145-5bb92d1fbdb9df41.png │ ├── 41808298-e8cce80c-770d-11e8-994b-1d6f30e2bfe3.png │ ├── 41808308-0446ba5e-770e-11e8-895a-e2ed7231869d.png │ ├── 41808322-2d1566ec-770e-11e8-98f7-ca87edeaa998.png │ ├── CSSOM.png │ ├── DNS查找过程.png │ ├── DNS迭代查找.png │ ├── DNS递归查找.png │ ├── Mark-Compact.png │ ├── Mark-Sweep.png │ ├── Object.keys.md │ ├── README.md │ ├── Shapes&InlineCaches.md │ ├── await.jpg │ ├── cachcontrol.jpg │ ├── chrome扩展开发.md │ ├── chrome浏览器架构.jpg │ ├── chrome渲染线程.png │ ├── chromium渲染过程.jpeg │ ├── css-modules.md │ ├── deepCopy.md │ ├── defer-async.jpeg │ ├── dns-树形结构.jpg │ ├── esModule.md │ ├── esm.md │ ├── event-table.png │ ├── eventLoop简易示图.png │ ├── event_loop.jpeg │ ├── gecko渲染过程.jpg │ ├── gib68xrvj59.jpeg │ ├── huffman编码.png │ ├── iframe.md │ ├── jsbridge.md │ ├── k和p.jpg │ ├── libuv.png │ ├── life-requestIdle.png │ ├── my.js │ ├── node环境-事件循环.png │ ├── performance.jpeg │ ├── posthtml.js │ ├── render-tree.jpg │ ├── requestIdleCallback.md │ ├── requestIdleCallback.png │ ├── samesite.jpg │ ├── setTimeout回调触发前.png │ ├── setTimeout回调触发后.png │ ├── spa架构.png │ ├── task_eventloop_v8.jpg │ ├── test.html │ ├── webcontainer.md │ ├── webkit渲染过程.jpeg │ ├── 事件触发.gif │ ├── 二进制和图片间的转换关系.png │ ├── 代码大全.md │ ├── 代码重构.md │ ├── 任务队列.png │ ├── 内存管理.md │ ├── 前端-各种渲染方式对比.jpg │ ├── 前端体系.jpeg │ ├── 前端软件架构.md │ ├── 前端进程.jpeg │ ├── 前端项目规范.md │ ├── 单次请求次序.jpeg │ ├── 各种技术案例.md │ ├── 响应报文.jpg │ ├── 图片优化.jpeg │ ├── 图片优化.md │ ├── 图片格式区别.jpeg │ ├── 图片格式选择.jpeg │ ├── 图片模糊.jpg │ ├── 基本常识.md │ ├── 安卓屏幕尺寸.png │ ├── 小程序vsPWA.jpg │ ├── 并发模型-event_loop.md │ ├── 应用层封装.jpg │ ├── 开发者模式骚操作.md │ ├── 性能优化.jpeg │ ├── 性能优化2.png │ ├── 性能优化2019.md │ ├── 性能优化2020.md │ ├── 性能优化2024.md │ ├── 搜索引擎.md │ ├── 数值存储.md │ ├── 断点调试.png │ ├── 新生代垃圾回收.png │ ├── 有趣的github.md │ ├── 根域服务器.jpg │ ├── 根据token生成css树的过程.jpg │ ├── 根据token生成节点树的过程.jpg │ ├── 浏览器API.md │ ├── 浏览器和node的eventLoop.png │ ├── 浏览器架构.jpg │ ├── 浏览器缓存与机制.jpeg │ ├── 现代浏览器.md │ ├── 移动端dns解析.png │ ├── 移动端适配.md │ ├── 继承.png │ ├── 缓存字段.jpg │ ├── 网络安全.md │ ├── 视频大小.png │ ├── 视频编码.md │ ├── 计时器原理.png │ ├── 请求报文.jpg │ ├── 请求缓存304判断顺序.jpeg │ ├── 资源优先级.png │ ├── 重绘和重排.jpg │ ├── 页面停留时长统计.md │ ├── 页面可视状态.jpg │ ├── 页面渲染.jpg │ ├── 页面过程与浏览器缓存.md │ └── 鸿蒙.md ├── jsonlike │ └── README.md ├── keep │ ├── README.md │ ├── 上斜俯卧撑.gif │ ├── 上斜杠铃卧推.gif │ ├── 仰卧哑铃交替弯举.gif │ ├── 仰卧曲臂上拉.jpeg │ ├── 俯身双臂划船.jpg │ ├── 俯身哑铃划船.jpeg │ ├── 俯身哑铃臂屈伸.jpeg │ ├── 俯身杠铃划船.jpeg │ ├── 健身指南.md │ ├── 单臂哑铃划船.jpeg │ ├── 反握卧推.jpeg │ ├── 哑铃上斜卧推.jpg │ ├── 哑铃侧平举.gif │ ├── 哑铃俯身飞鸟.gif │ ├── 哑铃前平举.gif │ ├── 哑铃平板卧推.jpg │ ├── 哑铃硬拉.jpg │ ├── 哑铃箭步蹲.gif │ ├── 哑铃集中弯举.gif │ ├── 坐姿哑铃推举.gif │ ├── 坐姿杠铃颈前推举.gif │ ├── 坐姿颈后哑铃臂屈伸.jpeg │ ├── 居家必备.md │ ├── 平板哑铃飞鸟.gif │ ├── 斜板额前弯举.jpeg │ ├── 杠铃硬拉.jpg │ ├── 杠铃箭步蹲.gif │ ├── 板凳撑.jpeg │ ├── 牧师凳哑铃弯举.jpeg │ ├── 站姿锤式哑铃弯举.jpeg │ ├── 站姿颈后哑铃臂屈伸.jpeg │ ├── 胸肌臂屈伸.jpg │ └── 躺姿额头哑铃臂屈伸.jpeg ├── koa │ ├── .eslintignore │ ├── .eslintrc.js │ ├── .gitignore │ ├── README.md │ ├── app.js │ ├── config │ │ ├── constant.d.ts │ │ ├── constant.js │ │ └── constant.ts │ ├── controller │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.ts │ │ ├── user.d.ts │ │ ├── user.js │ │ └── user.ts │ ├── example │ │ └── koa-ssr │ │ │ ├── .eslintrc │ │ │ ├── .gitignore │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ ├── src │ │ │ ├── api.d.ts │ │ │ ├── api.js │ │ │ ├── api.ts │ │ │ ├── client.d.ts │ │ │ ├── client.js │ │ │ ├── client.tsx │ │ │ ├── components │ │ │ │ ├── About.d.ts │ │ │ │ ├── About.js │ │ │ │ ├── About.tsx │ │ │ │ ├── Contact.d.ts │ │ │ │ ├── Contact.js │ │ │ │ ├── Contact.tsx │ │ │ │ ├── Header.d.ts │ │ │ │ ├── Header.js │ │ │ │ ├── Header.tsx │ │ │ │ ├── Home.d.ts │ │ │ │ ├── Home.js │ │ │ │ ├── Home.tsx │ │ │ │ ├── Layout.d.ts │ │ │ │ ├── Layout.js │ │ │ │ ├── Layout.tsx │ │ │ │ ├── Secret.d.ts │ │ │ │ ├── Secret.js │ │ │ │ └── Secret.tsx │ │ │ ├── render-dom.d.ts │ │ │ ├── render-dom.js │ │ │ ├── render-dom.tsx │ │ │ ├── routes.d.ts │ │ │ ├── routes.js │ │ │ ├── routes.ts │ │ │ ├── server.d.ts │ │ │ ├── server.js │ │ │ ├── server.ts │ │ │ ├── store.d.ts │ │ │ ├── store.js │ │ │ ├── store.ts │ │ │ ├── types │ │ │ │ ├── common.d.ts │ │ │ │ ├── common.js │ │ │ │ ├── common.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── index.js │ │ │ │ ├── index.ts │ │ │ │ └── koa-webpack-dev-middleware.d.ts │ │ │ ├── utils.d.ts │ │ │ ├── utils.js │ │ │ └── utils.ts │ │ │ ├── tsconfig.json │ │ │ ├── tslint.json │ │ │ ├── webpack.config.ts │ │ │ └── yarn.lock │ ├── interface │ │ ├── index.d.ts │ │ ├── index.js │ │ └── index.ts │ ├── public │ │ ├── demo.html │ │ ├── images │ │ │ └── bk3.png │ │ ├── scripts │ │ │ └── index.js │ │ └── styles │ │ │ └── index.css │ ├── router.d.ts │ ├── router.js │ ├── router.ts │ ├── server.d.ts │ ├── server.js │ ├── server.ts │ ├── service │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.ts │ │ ├── user.d.ts │ │ ├── user.js │ │ └── user.ts │ ├── tsconfig.json │ ├── tslint.json │ └── utils │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.ts │ │ ├── response.d.ts │ │ ├── response.js │ │ └── response.ts ├── leancloud │ └── test.js ├── less │ └── README.md ├── lighthouse │ ├── README.md │ ├── config引用关系.png │ ├── example.png │ ├── index.js │ ├── lang-data │ │ └── README.md │ ├── lighthouse架构.jpeg │ ├── lighthouse结合puppeteer.ts │ ├── lighthouse结合小程序.md │ ├── plugins │ │ ├── README.md │ │ ├── lighthouse-plugin-arnold-diy │ │ │ ├── .babelrc │ │ │ ├── .eslintignore │ │ │ ├── .eslintrc.js │ │ │ ├── .gitignore │ │ │ ├── .npmignore │ │ │ ├── CHANGELOG.md │ │ │ ├── LICENSE │ │ │ ├── README.md │ │ │ ├── package.json │ │ │ ├── plugin.js │ │ │ └── src │ │ │ │ └── audits │ │ │ │ └── has-cat-images.js │ │ └── lighthouse-plugin-demo │ │ │ ├── package.json │ │ │ ├── plugin.js │ │ │ └── src │ │ │ └── audits │ │ │ └── demo-audit.js │ └── 图像识别.md ├── linux-server │ ├── install-google-chrome.sh │ ├── nginx.conf │ ├── shell.md │ ├── 常用命令.md │ ├── 快捷装机.md │ └── 服务器搭建.md ├── lowcode │ └── README.md ├── lynt │ └── lynt.js ├── markdown │ ├── README.md │ ├── index.html │ ├── index.js │ ├── mark.js │ ├── mark.txt │ ├── markdown.png │ ├── test.html │ ├── test.js │ └── test.txt ├── meta-programming │ ├── README.md │ └── index.js ├── microservice │ ├── 微前端.md │ └── 微前端.png ├── miniprogram │ ├── README.md │ ├── WAService.js │ ├── ast.js │ ├── bin.js │ ├── build.js │ ├── electron.asar │ ├── event-target.js │ ├── find-data.js │ ├── image │ │ └── index.js │ ├── js │ │ └── index.js │ ├── json │ │ └── index.js │ ├── package.json │ ├── pension │ │ ├── README.md │ │ ├── cloudfunctions │ │ │ ├── service │ │ │ │ ├── dao.js │ │ │ │ ├── index.js │ │ │ │ ├── package.json │ │ │ │ └── utils.js │ │ │ └── user │ │ │ │ ├── index.js │ │ │ │ └── package.json │ │ ├── miniprogram │ │ │ ├── app.js │ │ │ ├── app.json │ │ │ ├── app.wxss │ │ │ ├── images │ │ │ │ ├── oldman.jpg │ │ │ │ └── qrcode.png │ │ │ ├── pages │ │ │ │ ├── index │ │ │ │ │ ├── index.js │ │ │ │ │ ├── index.json │ │ │ │ │ ├── index.wxml │ │ │ │ │ └── index.wxss │ │ │ │ ├── question │ │ │ │ │ ├── question.js │ │ │ │ │ ├── question.json │ │ │ │ │ ├── question.wxml │ │ │ │ │ └── question.wxss │ │ │ │ ├── result │ │ │ │ │ ├── result.js │ │ │ │ │ ├── result.json │ │ │ │ │ ├── result.wxml │ │ │ │ │ └── result.wxss │ │ │ │ └── web-view │ │ │ │ │ ├── web-view.js │ │ │ │ │ ├── web-view.json │ │ │ │ │ ├── web-view.wxml │ │ │ │ │ └── web-view.wxss │ │ │ └── utils.js │ │ └── project.config.json │ ├── preParser │ │ ├── README.md │ │ ├── const.js │ │ ├── index.js │ │ ├── parser │ │ │ ├── alipay.js │ │ │ └── wx.js │ │ ├── reg.js │ │ └── utils │ │ │ ├── index.js │ │ │ └── proxy.js │ ├── removeimage │ │ └── index.js │ ├── utils.js │ ├── weapp-socket.js │ ├── webpack.base.js │ ├── webpack.config.js │ ├── websocket.md │ ├── wxAPI.d.ts │ ├── wxml │ │ └── index.js │ ├── wxss-loader.js │ ├── wxss │ │ └── index.js │ ├── 原webview.png │ ├── 双线程.png │ ├── 各端小程序对比.jpeg │ └── 支付宝小程序架构.png ├── mobx │ ├── .eslintrc │ ├── README.md │ ├── Redux与MobX.md │ ├── app.js │ ├── build │ │ ├── common-manifest.json │ │ ├── dll.common.js │ │ ├── webpack.base.js │ │ ├── webpack.dev.js │ │ ├── webpack.dll.config.js │ │ └── webpack.prod.js │ ├── index.html │ ├── mobx.js │ ├── react16 diff.pdf │ ├── react16-diff.png │ ├── react16-init.pdf │ ├── react16-init.png │ ├── react16-rerender.pdf │ ├── react16-rerender.png │ ├── src │ │ ├── App.jsx │ │ ├── actions │ │ │ ├── listpage.js │ │ │ └── main.js │ │ ├── app │ │ │ └── main.jsx │ │ ├── bind.js │ │ ├── pages │ │ │ └── listPage │ │ │ │ ├── ListBox.jsx │ │ │ │ ├── index.jsx │ │ │ │ └── log.js │ │ ├── selectors │ │ │ ├── listPage.js │ │ │ └── main.js │ │ └── stores │ │ │ ├── index.js │ │ │ ├── listPage.js │ │ │ └── main.js │ └── test.js ├── mongodb │ └── README.md ├── music │ └── README.md ├── mysql │ └── README.md ├── nasa │ ├── README.md │ └── index.html ├── nativescript │ └── README.md ├── next │ ├── .babelrc │ ├── README.md │ ├── app │ │ ├── App.less │ │ └── App.tsx │ ├── components │ │ └── header │ │ │ ├── Header.less │ │ │ └── Header.tsx │ ├── logo.svg │ ├── models │ │ ├── header.ts │ │ └── index.ts │ ├── next.config.js │ ├── package.json │ ├── pages │ │ ├── index.less │ │ └── index.tsx │ ├── public │ │ └── index.html │ ├── selectors │ │ ├── app.ts │ │ └── header.ts │ ├── store │ │ └── index.ts │ ├── tsconfig.json │ └── types │ │ └── index.ts ├── node │ ├── README.md │ ├── cheerio │ │ ├── app.js │ │ ├── components │ │ │ ├── Cat-column.jsx │ │ │ ├── Line-chart.jsx │ │ │ └── Separator.jsx │ │ ├── config │ │ │ ├── cat.json │ │ │ └── trend.json │ │ ├── constants.js │ │ ├── monitor.jsx │ │ ├── package.json │ │ ├── pages │ │ │ ├── Cat.jsx │ │ │ └── Trend.jsx │ │ ├── test │ │ │ └── index.js │ │ └── utils │ │ │ └── index.js │ ├── codemirror.md │ ├── error-locate │ │ ├── js-locate.js │ │ └── vue-locate.js │ ├── koa-ts │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── Makefile │ │ ├── check.sh │ │ ├── env.js │ │ ├── init.script │ │ ├── jest.config.js │ │ ├── package.json │ │ ├── src │ │ │ ├── controller │ │ │ │ ├── APIController.ts │ │ │ │ ├── AbstractController.ts │ │ │ │ ├── AnalysisController.ts │ │ │ │ ├── ApiCallController.ts │ │ │ │ ├── AppController.ts │ │ │ │ ├── AppManagementController.ts │ │ │ │ ├── AppReleaseEventController.ts │ │ │ │ ├── ErrorController.ts │ │ │ │ ├── ErrorDataController.ts │ │ │ │ ├── ErrorDiagnoseController.ts │ │ │ │ ├── ErrorFixController.ts │ │ │ │ ├── ErrorNewController.ts │ │ │ │ ├── HealthScoreController.ts │ │ │ │ ├── HttpRequestController.ts │ │ │ │ ├── JobController.ts │ │ │ │ ├── JsErrorController.ts │ │ │ │ ├── LighthouseController.ts │ │ │ │ └── MinicodeBuildController.ts │ │ │ ├── domain │ │ │ │ ├── README.md │ │ │ │ ├── aggregate │ │ │ │ │ ├── AbstractTable.ts │ │ │ │ │ ├── AbstractTableV2.ts │ │ │ │ │ ├── MBaseInfo1m.ts │ │ │ │ │ ├── MH5error1m.ts │ │ │ │ │ ├── MH5nativex1m.ts │ │ │ │ │ ├── MH5networkx1m.ts │ │ │ │ │ ├── MH5pageloadx1m.ts │ │ │ │ │ ├── MJsErrorBaseInfo1m.ts │ │ │ │ │ ├── MPageBaseInfo1m.ts │ │ │ │ │ ├── MReqTimeCountUserCountPagePathIsHttpOKReqUrlReqAction1m.ts │ │ │ │ │ ├── MSdkinit1m.ts │ │ │ │ │ ├── MTotalIsHttpOKIsBizOKReqUrlReqUrlHash1m.ts │ │ │ │ │ └── TLighthouseDetails.ts │ │ │ │ └── service │ │ │ │ │ ├── AbstractService.ts │ │ │ │ │ ├── AbstractServiceV2.ts │ │ │ │ │ ├── MApiCallBaseInfo1mService.ts │ │ │ │ │ ├── MH5error1mService.ts │ │ │ │ │ ├── MH5nativex1mService.ts │ │ │ │ │ ├── MH5networkx1mService.ts │ │ │ │ │ ├── MH5pageloadx1mService.ts │ │ │ │ │ ├── MHttpRequestBaseInfo1mService.ts │ │ │ │ │ ├── MJsErrorBaseInfo1mService.ts │ │ │ │ │ ├── MPageBaseInfo1mService.ts │ │ │ │ │ ├── MReqTimeCountUserCountPagePathIsHttpOKReqUrlReqAction1mService.ts │ │ │ │ │ ├── MSdkinit1mService.ts │ │ │ │ │ └── MTotalIsHttpOKIsBizOKReqUrlReqUrlHash1mService.ts │ │ │ ├── main.ts │ │ │ ├── router.ts │ │ │ ├── service │ │ │ │ ├── AbstractService.ts │ │ │ │ ├── AppManagementService.ts │ │ │ │ ├── CustomService.ts │ │ │ │ ├── PerfDetailService.ts │ │ │ │ └── SOAService.ts │ │ │ ├── sql.ts │ │ │ ├── typeorm │ │ │ │ └── entity │ │ │ │ │ ├── AppManagement.ts │ │ │ │ │ ├── ChangeEvent.ts │ │ │ │ │ ├── DailyReport.ts │ │ │ │ │ ├── DiffRecord.ts │ │ │ │ │ ├── LighthouseDetail.ts │ │ │ │ │ ├── LighthouseTask.ts │ │ │ │ │ ├── MinicodeBuild.ts │ │ │ │ │ └── PerfDetail.ts │ │ │ ├── types │ │ │ │ ├── async │ │ │ │ │ └── queue.d.ts │ │ │ │ ├── clickhouse.d.ts │ │ │ │ └── global.d.ts │ │ │ └── utils │ │ │ │ ├── SmartSql │ │ │ │ ├── AbstractSql.ts │ │ │ │ ├── AnySql.ts │ │ │ │ ├── const.ts │ │ │ │ ├── index.ts │ │ │ │ └── types.d.ts │ │ │ │ ├── clickhouse.spec.ts │ │ │ │ ├── clickhouse.ts │ │ │ │ ├── fs-promise.ts │ │ │ │ ├── pg.ts │ │ │ │ └── sourcemap │ │ │ │ ├── compiler.ts │ │ │ │ ├── index.ts │ │ │ │ ├── types.d.ts │ │ │ │ └── utils.ts │ │ └── tsconfig.json │ ├── lighthouse │ │ ├── README.md │ │ ├── abstractBase.ts │ │ ├── config.ts │ │ ├── index.ts │ │ ├── test.ts │ │ └── types.d.ts │ ├── llhttp.md │ ├── mailer │ │ ├── README.md │ │ ├── index.ts │ │ ├── template │ │ │ └── card-stripe-table.ts │ │ ├── test.ts │ │ └── types.d.ts │ ├── mynode │ │ ├── app.js │ │ └── test.js │ ├── nestjs │ │ ├── README.md │ │ ├── nest-cli.json │ │ ├── package.json │ │ ├── src │ │ │ ├── app.module.ts │ │ │ ├── const │ │ │ │ ├── config.ts │ │ │ │ └── index.ts │ │ │ ├── controllers │ │ │ │ ├── project.controller.ts │ │ │ │ └── script.controller.ts │ │ │ ├── main.ts │ │ │ ├── models │ │ │ │ ├── project.ts │ │ │ │ └── script.ts │ │ │ ├── services │ │ │ │ ├── project.service.ts │ │ │ │ └── script.service.ts │ │ │ ├── types │ │ │ │ └── index.d.ts │ │ │ └── utils │ │ │ │ └── cypress.js │ │ ├── tsconfig.build.json │ │ └── tsconfig.json │ ├── node-event-loop.jpg │ ├── node-server.png │ ├── node镜像.md │ ├── pipeline │ │ ├── README.md │ │ ├── index.ts │ │ ├── test.ts │ │ └── types.d.ts │ ├── playwright │ │ └── README.md │ ├── process1.png │ ├── puppeteer │ │ ├── README.md │ │ ├── maotai.ts │ │ ├── test-case │ │ │ ├── README.md │ │ │ ├── base-flow.ts │ │ │ ├── login-flow.ts │ │ │ ├── types │ │ │ │ └── global.d.ts │ │ │ └── utils │ │ │ │ ├── image-recognize.ts │ │ │ │ ├── index.ts │ │ │ │ └── login.ts │ │ └── test.ts │ ├── require加载机制.png │ ├── skeleton │ │ ├── README.md │ │ ├── bin │ │ │ └── index.js │ │ ├── build │ │ │ ├── rename.ts │ │ │ └── webpack.config.ts │ │ ├── package.json │ │ ├── skeleton.config.js │ │ ├── src │ │ │ ├── config │ │ │ │ ├── attr.ts │ │ │ │ ├── cach.ts │ │ │ │ ├── default.ts │ │ │ │ ├── dir.ts │ │ │ │ ├── file.ts │ │ │ │ ├── index.ts │ │ │ │ └── tag.ts │ │ │ ├── index.ts │ │ │ ├── types │ │ │ │ ├── common.ts │ │ │ │ ├── diy.d.ts │ │ │ │ ├── index.ts │ │ │ │ └── parser.ts │ │ │ └── utils │ │ │ │ ├── action.ts │ │ │ │ ├── assert.ts │ │ │ │ ├── ast.ts │ │ │ │ ├── babel.ts │ │ │ │ ├── cach.ts │ │ │ │ ├── dir.ts │ │ │ │ ├── fs.ts │ │ │ │ ├── index.ts │ │ │ │ ├── klass.ts │ │ │ │ ├── log.ts │ │ │ │ ├── parser.ts │ │ │ │ ├── random.ts │ │ │ │ ├── reg.ts │ │ │ │ └── treeshake.ts │ │ ├── test │ │ │ ├── case │ │ │ │ ├── utils.js │ │ │ │ ├── wxml.js │ │ │ │ └── wxss.js │ │ │ ├── index.js │ │ │ ├── mocha.opts │ │ │ ├── test.js │ │ │ └── watch-script.js │ │ ├── tsconfig.json │ │ └── tslint.json │ ├── tools │ │ └── copy.js │ ├── uuid.md │ ├── vuepress-generator │ │ ├── README.md │ │ ├── index.ts │ │ ├── types │ │ │ ├── html2json.d.ts │ │ │ └── index.d.ts │ │ └── utils │ │ │ ├── babel.ts │ │ │ ├── compiler.ts │ │ │ ├── const.ts │ │ │ ├── fs.ts │ │ │ ├── git.ts │ │ │ ├── helper.ts │ │ │ ├── hook.ts │ │ │ ├── less.ts │ │ │ ├── logger.ts │ │ │ ├── postcss.ts │ │ │ ├── swc.ts │ │ │ ├── transfer.ts │ │ │ └── tree.ts │ ├── 事件循环.png │ ├── 新版检测更新.md │ ├── 最佳实践.md │ ├── 查看cpu.png │ └── 滴滴nodeX生态.png ├── npm&yarn │ ├── README.md │ ├── common-npm-pkg │ │ ├── .babelrc │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .gitignore │ │ ├── .npmignore │ │ ├── CHANGELOG.md │ │ ├── LICENSE │ │ ├── README.md │ │ ├── package.json │ │ ├── src │ │ │ ├── index.js │ │ │ └── lib │ │ │ │ └── test.js │ │ └── webpack.config.js │ ├── npm2.png │ ├── npm3对比npm2.png │ └── npm3模块冗余.png ├── ow │ └── ow.js ├── parcel │ ├── index.html │ ├── index.js │ └── index.scss ├── pg │ └── README.md ├── phantomjs │ └── test.js ├── postcss │ ├── README.md │ ├── postcss-markdown.js │ ├── postcss.config.js │ ├── postcss.js │ ├── test.css │ ├── test.final.md │ ├── test.json │ ├── test.less │ └── test.md ├── preact │ ├── README.md │ ├── index.html │ └── index.js ├── prototype │ ├── README.md │ ├── promise.js │ ├── promise.png │ └── prototype.html ├── python │ ├── README.md │ ├── ajax.py │ ├── index.js │ ├── index.py │ ├── netease.json │ ├── opencv.md │ ├── sina.json │ ├── sohu.json │ └── super_cat.py ├── qone │ └── qone.js ├── react │ ├── .babelrc │ ├── .browserslistrc │ ├── .eslintrc │ ├── .postcssrc │ ├── Fiber遍历图.jpg │ ├── README.md │ ├── build │ │ ├── webpack.base.js │ │ ├── webpack.dev.js │ │ └── webpack.prod.js │ ├── fiber遍历过程(动画).gif │ ├── index.html │ ├── ink-index.js │ ├── ink-test.js │ ├── package.json │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ ├── react-16.13.1.png │ ├── react-hook.jpg │ ├── react16.3.png │ ├── react17.png │ ├── react状态管理-05.md │ ├── react类型检查-01.md │ ├── src │ │ ├── App.test.js │ │ ├── actions │ │ │ ├── app.js │ │ │ └── index.js │ │ ├── app │ │ │ ├── App.css │ │ │ └── App.jsx │ │ ├── bbx.jsx │ │ ├── components │ │ │ └── error │ │ │ │ └── Error.jsx │ │ ├── index.css │ │ ├── index.jsx │ │ ├── logo.svg │ │ ├── reducers │ │ │ ├── app.js │ │ │ └── index.js │ │ ├── registerServiceWorker.js │ │ ├── selectors │ │ │ └── app.js │ │ └── store │ │ │ └── index.js │ ├── syncVSconcurrent.jpg │ ├── test.tsx │ ├── tip.txt │ ├── v2-e00f66e71bd03b9d4c60d056c57be2e3_hd.jpg │ └── yarn.lock ├── reactlike │ ├── .gitignore │ ├── README.md │ ├── build │ │ ├── common-manifest.json │ │ ├── dll.common.js │ │ ├── webpack.base.js │ │ ├── webpack.dev.js │ │ ├── webpack.dll.config.js │ │ └── webpack.prod.js │ ├── src │ │ ├── Component.d.ts │ │ ├── Component.js │ │ ├── Component.js.map │ │ ├── Component.ts │ │ ├── createElement.d.ts │ │ ├── createElement.js │ │ ├── createElement.js.map │ │ ├── createElement.ts │ │ ├── hydrate.d.ts │ │ ├── hydrate.js │ │ ├── hydrate.js.map │ │ ├── hydrate.ts │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── interface.d.ts │ │ ├── interface.js │ │ ├── interface.js.map │ │ ├── interface.ts │ │ ├── react.d.ts │ │ ├── react.js │ │ ├── react.js.map │ │ ├── react.ts │ │ ├── utils.d.ts │ │ ├── utils.js │ │ ├── utils.js.map │ │ └── utils.ts │ ├── test │ │ ├── App.d.ts │ │ ├── App.js │ │ ├── App.js.map │ │ ├── App.tsx │ │ ├── ErrorBandary.d.ts │ │ ├── ErrorBandary.js │ │ ├── ErrorBandary.js.map │ │ ├── ErrorBandary.tsx │ │ ├── app-selector.d.ts │ │ ├── app-selector.js │ │ ├── app-selector.js.map │ │ ├── app-selector.ts │ │ ├── connect.d.ts │ │ ├── connect.js │ │ ├── connect.js.map │ │ ├── connect.ts │ │ ├── createSelector.d.ts │ │ ├── createSelector.js │ │ ├── createSelector.js.map │ │ ├── createSelector.ts │ │ ├── createStore.d.ts │ │ ├── createStore.js │ │ ├── createStore.js.map │ │ ├── createStore.ts │ │ ├── index.d.ts │ │ ├── index.html │ │ ├── index.js │ │ ├── index.js.map │ │ ├── index.tsx │ │ ├── provider-props.d.ts │ │ ├── provider-props.js │ │ ├── provider-props.js.map │ │ ├── provider-props.ts │ │ ├── provider.d.ts │ │ ├── provider.js │ │ ├── provider.js.map │ │ ├── provider.tsx │ │ ├── reactlike.d.ts │ │ ├── reactlike.js │ │ ├── reactlike.js.map │ │ ├── reactlike.tsx │ │ └── store │ │ │ ├── calculate.d.ts │ │ │ ├── calculate.js │ │ │ ├── calculate.js.map │ │ │ ├── calculate.ts │ │ │ ├── count.d.ts │ │ │ ├── count.js │ │ │ ├── count.js.map │ │ │ ├── count.ts │ │ │ ├── index.d.ts │ │ │ ├── index.js │ │ │ ├── index.js.map │ │ │ └── index.ts │ ├── tsconfig.json │ └── tslint.json ├── reason │ └── README.md ├── redux │ ├── README.md │ ├── redux.jpeg │ └── redux.js ├── rematch-cli-source │ ├── .gitignore │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ ├── init.js │ │ └── rematch.js │ ├── index.js │ ├── lib │ │ ├── build.js │ │ ├── code │ │ │ ├── config │ │ │ │ ├── rematch │ │ │ │ │ └── package.json │ │ │ │ └── typescript │ │ │ │ │ └── package.json │ │ │ ├── rematch │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ │ ├── webpack.base.js │ │ │ │ │ ├── webpack.dev.js │ │ │ │ │ ├── webpack.dll.config.js │ │ │ │ │ └── webpack.prod.js │ │ │ │ ├── public │ │ │ │ │ ├── favicon.ico │ │ │ │ │ ├── index.html │ │ │ │ │ └── manifest.json │ │ │ │ └── src │ │ │ │ │ ├── app │ │ │ │ │ ├── App.css │ │ │ │ │ └── App.jsx │ │ │ │ │ ├── components │ │ │ │ │ └── header │ │ │ │ │ │ ├── Header.jsx │ │ │ │ │ │ └── Header.less │ │ │ │ │ ├── index.css │ │ │ │ │ ├── index.jsx │ │ │ │ │ ├── logo.svg │ │ │ │ │ ├── models │ │ │ │ │ ├── header.js │ │ │ │ │ └── index.js │ │ │ │ │ ├── registerServiceWorker.js │ │ │ │ │ ├── selectors │ │ │ │ │ ├── app.js │ │ │ │ │ └── header.js │ │ │ │ │ └── store │ │ │ │ │ └── index.js │ │ │ └── typescript │ │ │ │ ├── README.md │ │ │ │ ├── build │ │ │ │ ├── webpack.base.js │ │ │ │ ├── webpack.dev.js │ │ │ │ ├── webpack.dll.config.js │ │ │ │ └── webpack.prod.js │ │ │ │ ├── public │ │ │ │ └── index.html │ │ │ │ ├── src │ │ │ │ ├── app │ │ │ │ │ ├── App.css │ │ │ │ │ └── App.tsx │ │ │ │ ├── components │ │ │ │ │ └── header │ │ │ │ │ │ ├── Header.less │ │ │ │ │ │ └── Header.tsx │ │ │ │ ├── index.css │ │ │ │ ├── index.tsx │ │ │ │ ├── logo.svg │ │ │ │ ├── models │ │ │ │ │ ├── header.ts │ │ │ │ │ └── index.ts │ │ │ │ ├── selectors │ │ │ │ │ ├── app.ts │ │ │ │ │ └── header.ts │ │ │ │ └── store │ │ │ │ │ └── index.ts │ │ │ │ ├── tsconfig.json │ │ │ │ └── tslint.json │ │ ├── index.js │ │ ├── init.js │ │ ├── server.config.js │ │ ├── steps.js │ │ └── utils.js │ └── package.json ├── rematch │ ├── README.md │ ├── build │ │ ├── common-manifest.json │ │ ├── dll.common.js │ │ ├── webpack.base.js │ │ ├── webpack.dev.js │ │ ├── webpack.dll.config.js │ │ └── webpack.prod.js │ ├── lib │ │ ├── models │ │ │ ├── count.js │ │ │ └── index.js │ │ ├── rematch-helper.js │ │ ├── rematch.js │ │ └── store.js │ ├── public │ │ ├── favicon.ico │ │ ├── index.html │ │ └── manifest.json │ └── src │ │ ├── app │ │ ├── App.css │ │ └── App.js │ │ ├── components │ │ ├── error │ │ │ └── Error.jsx │ │ └── header │ │ │ ├── Header.jsx │ │ │ └── Header.less │ │ ├── index.css │ │ ├── index.jsx │ │ ├── logo.svg │ │ ├── models │ │ ├── calculate.js │ │ ├── count.js │ │ └── index.js │ │ ├── registerServiceWorker.js │ │ ├── selectors │ │ ├── app.js │ │ └── header.js │ │ └── store │ │ └── index.js ├── rollup │ ├── README.md │ └── rollup.config.js ├── rust │ └── README.md ├── rxjs │ ├── build │ │ ├── webpack.dev.js │ │ └── webpack.prod.js │ ├── index.html │ ├── index.js │ └── test.js ├── serverless │ ├── README.md │ ├── 容灾预案.png │ └── 通用serverless架构.jpg ├── shell │ ├── README.md │ └── test.sh ├── sicp │ ├── README.md │ ├── index.html │ ├── sicp.js │ └── test.lisp ├── signale │ └── signale.js ├── socket&rpc │ ├── README.md │ ├── bundle.client.io.js │ ├── client.js │ ├── package.json │ ├── pm2.md │ ├── pm2流程.jpeg │ ├── rpc-client.js │ ├── rpc-server.js │ ├── simple-pm2 │ │ ├── README.md │ │ ├── daemon.js │ │ ├── rpc-client.js │ │ └── rpc-server.js │ ├── socket.html │ └── socket.js ├── sourcemap │ ├── README.md │ ├── common.json │ ├── sourcemapCompiler │ │ ├── README.md │ │ ├── compiler.ts │ │ ├── index.ts │ │ ├── types.d.ts │ │ └── utils.ts │ └── test.js ├── sql │ ├── README.md │ ├── Smartsql │ │ ├── AbstractSql.ts │ │ ├── AnySql.ts │ │ ├── README.md │ │ ├── const.ts │ │ ├── domain │ │ │ └── aggregate │ │ │ │ ├── AbstractTable.ts │ │ │ │ └── MTable1.ts │ │ ├── index.ts │ │ ├── service │ │ │ ├── AbstractService.ts │ │ │ └── testService.ts │ │ └── types.d.ts │ ├── join示例.jpeg │ ├── oltp和olap.jpeg │ ├── 列压缩.jpeg │ ├── 列存储.jpeg │ ├── 列存储.md │ └── 索引示意图.jpeg ├── storybook │ ├── README.md │ └── index.jsx ├── taro │ └── README.md ├── tars │ ├── HelloWorld.tgz │ └── index.js ├── test-tools │ ├── README.md │ └── cucumber语法中文映射.png ├── test │ ├── build │ │ ├── webpack.common.js │ │ ├── webpack.dev.js │ │ └── webpack.prod.js │ ├── css │ │ ├── default.css │ │ ├── green.css │ │ └── red.css │ ├── index.html │ ├── src │ │ ├── ad-code.js │ │ ├── asciichart.js │ │ ├── can.js │ │ ├── chance.js │ │ ├── city-code.js │ │ ├── city2jw.js │ │ ├── citycode2jw.js │ │ ├── code2jw.js │ │ ├── data.txt │ │ ├── debugclient.js │ │ ├── exchange-robot.js │ │ ├── filepond.js │ │ ├── graphql.js │ │ ├── jsx.jsx │ │ ├── lumin.js │ │ ├── nativeScript.js │ │ ├── nightwatch.js │ │ ├── saveImage.js │ │ ├── server.js │ │ ├── test.html │ │ ├── test.js │ │ ├── tui.js │ │ ├── v8n.js │ │ ├── web-component.js │ │ ├── webdriver.js │ │ └── wired-elements.js │ └── tsconfig.json ├── tfjs │ ├── tfjs.html │ └── tfjs.js ├── threejs │ └── README.md ├── tools │ ├── Default Keybindings.json │ ├── README.md │ └── keyBindings.json ├── travis │ └── README.md ├── treeshake │ ├── README.md │ ├── build │ │ └── rollup.config.js │ └── src │ │ ├── index.js │ │ └── other.js ├── trip │ └── 苏州无锡3日2晚游.docx ├── typescript │ ├── README.md │ └── common-ts-start │ │ ├── .editorconfig │ │ ├── .eslintignore │ │ ├── .eslintrc.js │ │ ├── .prettierrc.js │ │ ├── package.json │ │ ├── src │ │ ├── index.ts │ │ ├── types │ │ │ ├── html2json.d.ts │ │ │ └── index.d.ts │ │ └── utils │ │ │ ├── const.ts │ │ │ ├── fs.ts │ │ │ ├── helper.ts │ │ │ ├── hook.ts │ │ │ └── logger.ts │ │ └── tsconfig.json ├── unit-test │ └── README.md ├── v8 │ ├── README.md │ ├── js引擎执行流程.png │ ├── v8内部结构.png │ └── 字节码.png ├── visualize │ └── README.md ├── vscode │ ├── README.md │ ├── extension.md │ ├── keyBindings.json │ └── settings.json ├── vue │ ├── README.md │ ├── datapanel │ │ ├── README.md │ │ ├── const.js │ │ ├── helpers.js │ │ ├── index.js │ │ └── utils.js │ ├── signal.md │ ├── useXXX.md │ ├── vite2.9初始化.png │ ├── vite3.0初始化.png │ ├── vue-mark-display │ │ ├── App.vue │ │ ├── index.html │ │ ├── main.js │ │ └── welcome.md │ ├── vue-pretty-tree │ │ ├── README.md │ │ ├── index.d.ts │ │ ├── index.js │ │ ├── index.vue │ │ └── tree-node.vue │ ├── vue-smart-table │ │ ├── README.md │ │ ├── const.ts │ │ ├── helper.ts │ │ ├── index.d.ts │ │ ├── index.less │ │ ├── index.ts │ │ └── index.vue │ ├── vue3.md │ └── vuepress │ │ └── README.md ├── webComponent │ └── README.md ├── webassembly │ ├── README.md │ ├── app.js │ ├── emscripten │ │ ├── README.md │ │ └── emscripten编译过程.png │ ├── index.html │ ├── test.wasm │ └── wasm.webp └── webpack │ ├── .gitignore │ ├── README.md │ ├── app.js │ ├── app.ts │ ├── diy.js │ ├── enviro-variable.js │ ├── fsevents.js │ ├── import-polyfill.png │ ├── index.ts │ ├── js-hot-loader │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── pojo-loader.js │ ├── index.js │ ├── lib │ │ └── index.js │ └── package.json │ ├── manifest.json │ ├── package.json │ ├── pitch&normal-loader.jpeg │ ├── plugin.js │ ├── pojo-loader │ ├── .npmignore │ ├── CHANGELOG.md │ ├── LICENSE │ ├── README.md │ ├── bin │ │ └── pojo-loader.js │ ├── index.js │ ├── lib │ │ └── index.js │ └── package.json │ ├── src │ ├── app.html │ ├── app.js │ ├── app.less │ ├── app.png │ ├── app2.js │ ├── number.js │ ├── person.pojo │ ├── polyfills.js │ ├── ref.json │ └── test2.js │ ├── test │ └── test1.js │ ├── tsconfig.json │ ├── webpack-async.jpeg │ ├── webpack.base.js │ ├── webpack.code-splitting.config.js │ ├── webpack.common.js │ ├── webpack.config.js │ ├── webpack.dev.js │ ├── webpack.diy.config.js │ ├── webpack.prod.js │ ├── webpack.server.js │ ├── webpack.simple.js │ ├── webpack.ts.config.js │ ├── webpack流程.jpg │ └── 项目&组件编译 │ ├── webpack.common.js │ ├── webpack.component.js │ ├── webpack.dev.js │ └── webpack.prod.js ├── tasks ├── init.sh └── install.sh ├── test.js ├── test.sql ├── test ├── mocha.opts └── src │ ├── immer.js │ ├── meta-programming.js │ └── promise.js ├── tsconfig.json ├── webpack.config.js ├── worker ├── index.js └── package.json └── yarn.lock /.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "@babel/preset-react", 4 | "react", 5 | "@babel/preset-env" 6 | ], 7 | "plugins": [ 8 | "transform-runtime", 9 | "transform-decorators-legacy", 10 | "transform-class-properties" 11 | ], 12 | "env": { 13 | "test": { 14 | "sourceMaps": "inline" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions -------------------------------------------------------------------------------- /.cache/20844ed58e2e19ee548a9d8d7b612771.json: -------------------------------------------------------------------------------- 1 | {"dependencies":[{"name":"./src/foo.js","dynamic":true}],"generated":{"html":"\n\n \n \n Development\n \n \n \n"},"hash":"59d5013e3e86d9d10902f4176984dcea"} -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- 1 | { 2 | "editor.formatOnSave": true, 3 | "editor.formatOnType": true, 4 | "editor.formatOnPaste": true 5 | } -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | /mochawesome-reports/ 3 | /dist/ 4 | /build/ 5 | /src/mobx/dist/ 6 | /alipay-electron/ 7 | *.lock 8 | .DS_Store 9 | */.DS_Store 10 | package-lock.json 11 | settings.json -------------------------------------------------------------------------------- /.npmrc: -------------------------------------------------------------------------------- 1 | registry=https://registry.npmmirror.com -------------------------------------------------------------------------------- /.postcssrc: -------------------------------------------------------------------------------- 1 | { 2 | "modules": true, 3 | "plugins": { 4 | "autoprefixer": { 5 | "grid": true 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /.storybook/config.js: -------------------------------------------------------------------------------- 1 | import { configure } from '@storybook/react'; 2 | 3 | function loadStories() { 4 | require('../src/storybook/index'); 5 | } 6 | 7 | configure(loadStories, module); -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "0.2.0", 3 | "configurations": [ 4 | { 5 | "type": "node", 6 | "request": "launch", 7 | "name": "Launch Program", 8 | "program": "${file}" 9 | } 10 | ] 11 | } -------------------------------------------------------------------------------- /SUMMARY.md: -------------------------------------------------------------------------------- 1 | # Summary 2 | 3 | * [Introduction](README.md) 4 | * [webpack](./src/webpack/README.md) 5 | -------------------------------------------------------------------------------- /_config.yml: -------------------------------------------------------------------------------- 1 | theme: jekyll-theme-architect -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /journals/2020_11_27.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: Nov 27th, 2020 3 | --- 4 | 5 | ## -------------------------------------------------------------------------------- /logseq/custom.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/logseq/custom.css -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "common.js": "common.b0483df22977295d2459.js", 3 | "index.css": "e15e2.bundle.css", 4 | "index.js": "index.b0483df22977295d2459.js", 5 | "logo.svg": "5d5d9eefa31e5e13a6610d9fa7a283bb.svg" 6 | } -------------------------------------------------------------------------------- /pages/contents.md: -------------------------------------------------------------------------------- 1 | ## -------------------------------------------------------------------------------- /src/MathML/README.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - https://www.ibm.com/developerworks/cn/xml/x-mathml/index.html -------------------------------------------------------------------------------- /src/algorithm/leetcode/README.md: -------------------------------------------------------------------------------- 1 | # leetcode 2 | 3 | - [leetcode算法部分解答](https://blog.csdn.net/qq_37372007/article/details/80073096) 4 | - [leetcode题解](https://github.com/doocs/leetcode) 5 | - [leetcode100题](https://leetcode.cn/studyplan/top-100-liked/) -------------------------------------------------------------------------------- /src/algorithm/leetcode/巧技-重复子字符串.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 题目: 3 | * 巧技-重复子字符串 4 | * 5 | */ 6 | function repeatedSubstringPattern(s) { 7 | let s1 = (s + s).slice(1, -1); 8 | return s1.indexOf(s) != -1; 9 | } -------------------------------------------------------------------------------- /src/algorithm/leetcode/异或-找数组中的唯一数.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 找数组中的唯一数 3 | * 4 | * 举例: 5 | * 给定:[1,3,3,17,1] 6 | * 7 | * 唯一数是 17 8 | * 9 | */ 10 | function findUniqueNumber(nums) { 11 | return nums.reduce((val, num) => val ^ num); 12 | } -------------------------------------------------------------------------------- /src/algorithm/math/factorial.js: -------------------------------------------------------------------------------- 1 | // 阶乘 - 非递归 2 | function factorial(num) { 3 | if (num <= 1) return num; 4 | let result = num; 5 | while (num > 1) { 6 | result *= --num; 7 | } 8 | return result; 9 | }; 10 | 11 | // test 12 | // console.log(factorial(4)); -------------------------------------------------------------------------------- /src/algorithm/math/integerPartition.js: -------------------------------------------------------------------------------- 1 | // 整数拆分 2 | 3 | -------------------------------------------------------------------------------- /src/algorithm/math/liuHui.js: -------------------------------------------------------------------------------- 1 | 2 | /** 3 | * 刘徽割圆术 4 | * @param {Number} splitCount [description] 5 | * @return {[type]} [description] 6 | * 7 | * 概念 8 | * 9 | * 以六边形为界,多次平分(12边、24边等), 10 | * 最后的n边形会无限接近其顶点连成的圆 11 | * 12 | */ 13 | function liuHui(splitCount = 1) { 14 | 15 | }; -------------------------------------------------------------------------------- /src/algorithm/structure/avl-tree.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/algorithm/structure/avl-tree.gif -------------------------------------------------------------------------------- /src/algorithm/structure/avl-tree.md: -------------------------------------------------------------------------------- 1 | **平衡二叉树** 2 | 3 | ![avl-tree](./avl-tree.gif) -------------------------------------------------------------------------------- /src/algorithm/structure/二叉树节点访问顺序.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/algorithm/structure/二叉树节点访问顺序.png -------------------------------------------------------------------------------- /src/algorithm/structure/二叉索引树.js: -------------------------------------------------------------------------------- 1 | // http://novoland.github.io/%E7%AE%97%E6%B3%95/2014/07/26/%E4%BA%8C%E8%BF%9B%E5%88%B6%E7%B4%A2%E5%BC%95%E6%A0%91(%E6%A0%91%E7%8A%B6%E6%95%B0%E7%BB%84).html 2 | -------------------------------------------------------------------------------- /src/algorithm/structure/优先队列.js: -------------------------------------------------------------------------------- 1 | // 相对于普通队列,每个队列中元素有优先级 -------------------------------------------------------------------------------- /src/algorithm/structure/先序遍历.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/algorithm/structure/先序遍历.png -------------------------------------------------------------------------------- /src/algorithm/structure/哈希表.js: -------------------------------------------------------------------------------- 1 | // key-value -------------------------------------------------------------------------------- /src/algorithm/structure/图.js: -------------------------------------------------------------------------------- 1 | 2 | function Graph() { 3 | 4 | }; 5 | 6 | /** 7 | * 边 8 | */ 9 | function Edge() { 10 | 11 | }; 12 | 13 | /** 14 | * 节点 15 | */ 16 | function Vertex() { 17 | 18 | }; 19 | -------------------------------------------------------------------------------- /src/algorithm/structure/栈.js: -------------------------------------------------------------------------------- 1 | // 后进先出 -------------------------------------------------------------------------------- /src/algorithm/structure/树.md: -------------------------------------------------------------------------------- 1 | **有方向的堆** -------------------------------------------------------------------------------- /src/algorithm/structure/红黑树.md: -------------------------------------------------------------------------------- 1 | **类似avl-tree** 2 | 3 | [参考](https://segmentfault.com/a/1190000012728513) 4 | 5 | 6 | **特点** 7 | 8 | - R-Node(红节点)的子节点必须是B-Node(黑节点) 9 | - 根节点必须是B-Node 10 | - 叶节点必须为空并且是B-Node 11 | - 从根到任一叶节点的路径经过的B-Node数量(称为黑色高度)必须都一样。 -------------------------------------------------------------------------------- /src/algorithm/structure/队列.js: -------------------------------------------------------------------------------- 1 | // 先进先出 -------------------------------------------------------------------------------- /src/angular/JIT&AOT.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - https://segmentfault.com/a/1190000008739157 3 | 4 | ## 对比 5 | | | JIT | AOT | 6 | | -------- | -----: | :----: | 7 | | 编译平台 | 浏览器 | 服务器 | 8 | | 编译时机 | Runtime | Build | 9 | | 包大小 | 较大 | 较小 | 10 | | 执行性能 | - | 好 | 11 | | 启动时间 | - | 短 | -------------------------------------------------------------------------------- /src/angular/README.md: -------------------------------------------------------------------------------- 1 | # angular 2 | 3 | ## 监听变更 4 | - 单向数据流 + 脏检查 5 | - ![angular](render.png) -------------------------------------------------------------------------------- /src/angular/render.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/angular/render.jpg -------------------------------------------------------------------------------- /src/babel/acorn流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/babel/acorn流程.png -------------------------------------------------------------------------------- /src/babel/babel流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/babel/babel流程.png -------------------------------------------------------------------------------- /src/babel/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 7 | 8 | 9 |
10 | 11 | -------------------------------------------------------------------------------- /src/babel/path属性&方法.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/babel/path属性&方法.png -------------------------------------------------------------------------------- /src/babel/treeshaking-v1/base.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = { 3 | lastName: 'lastName', 4 | arrayEachRight: 'arrayEachRight', 5 | arrayFilter: 'arrayFilter', 6 | arrayEvery: 'arrayEvery', 7 | }; 8 | -------------------------------------------------------------------------------- /src/babel/treeshaking-v1/test.js: -------------------------------------------------------------------------------- 1 | import { isPlainObject, isAa } from './test-lib'; 2 | const { isPlainObject: aaaa } = require('./test-lib'); 3 | const test = require('./test-lib'); 4 | 5 | test.isPlainObject({}, 'aaaabbbb'); 6 | isPlainObject({ 7 | cc: 'a123' 8 | }); 9 | 10 | function aaa() { 11 | aaaa({}); 12 | isAa(); 13 | }; 14 | aaa(); -------------------------------------------------------------------------------- /src/book/DIP-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/DIP-1.jpeg -------------------------------------------------------------------------------- /src/book/ISP-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/ISP-1.png -------------------------------------------------------------------------------- /src/book/LSP-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/LSP-1.jpeg -------------------------------------------------------------------------------- /src/book/OCP-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/OCP-1.jpeg -------------------------------------------------------------------------------- /src/book/README.md: -------------------------------------------------------------------------------- 1 | # 书单 2 | 3 | > 知识、常识、胆识、见识 4 | 5 | - https://addyosmani.com/blog/soft-skills-books/ 6 | - [2023 年值得持续阅读的内容平台](https://justgoidea.com/posts/2023-063/) 7 | - [积薪](https://firewood.news/) 8 | - [太隐](https://wangyurui.com/) 9 | - [2025齐俊杰书单](https://mp.weixin.qq.com/s/bCzVNIeH4LNS35sR6QoQAQ?token=838542913&lang=zh_CN) -------------------------------------------------------------------------------- /src/book/SRP-1.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/SRP-1.jpeg -------------------------------------------------------------------------------- /src/book/SRP-2.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/SRP-2.jpeg -------------------------------------------------------------------------------- /src/book/SRP-3.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/SRP-3.jpeg -------------------------------------------------------------------------------- /src/book/The Grammer of Graphics.md: -------------------------------------------------------------------------------- 1 | # 图形语法 2 | 3 | ### 数据->图形 4 | 5 | - start 6 | 7 | - 变量 8 | 9 | - 代数 10 | 11 | - 比例(规模) 12 | 13 | - 统计 14 | 15 | - 几何 16 | 17 | - 坐标系 18 | 19 | - 美学 20 | 21 | - end 22 | 23 | 24 | -------------------------------------------------------------------------------- /src/book/designing delivery.md: -------------------------------------------------------------------------------- 1 | # 设计交付 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/book/fact模型.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/fact模型.jpeg -------------------------------------------------------------------------------- /src/book/oltp和olap.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/oltp和olap.jpeg -------------------------------------------------------------------------------- /src/book/为什么是中国.md: -------------------------------------------------------------------------------- 1 | # 为什么是中国 2 | 3 | > 思想建党,政治建军 4 | 5 | - 不将马克思主义绝对化,不将以往经验绝对化,用中国方法解决中国问题 6 | 7 | - 各种制度都有存在的理由,彼此发展,相互借鉴,共获双赢 8 | 9 | - 中美是科技之争 10 | 11 | - 辩证唯物主义 + 历史唯物主义 12 | 13 | ### 辩证唯物主 14 | -------------------------------------------------------------------------------- /src/book/主键分区.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/主键分区.jpeg -------------------------------------------------------------------------------- /src/book/事实.md: -------------------------------------------------------------------------------- 1 | # 事实 2 | 3 | ## 几个准则 4 | - 忌一分为二,非黑即白,很多都是灰色地带 5 | - 忌直线思想,换个角度思考 6 | - 忌以偏概全,事实说话 7 | - 忌纯归咎他人 8 | - 时刻对坏结果做准备 9 | - 应对恐惧,可以预估存在的风险 10 | - 不要光看数据,要看比例 11 | -------------------------------------------------------------------------------- /src/book/人才评估打分.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/人才评估打分.jpeg -------------------------------------------------------------------------------- /src/book/兰伯特时间戳.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/兰伯特时间戳.jpeg -------------------------------------------------------------------------------- /src/book/分区.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/分区.jpeg -------------------------------------------------------------------------------- /src/book/动物农场.md: -------------------------------------------------------------------------------- 1 | # 动物农场 2 | 3 | - 阶级矛盾永远存在,不随某个阶级的消失而消失 4 | 5 | - 猪其实智商很高 6 | 7 | - 一定要避免暴露自己的弱点 8 | 9 | - 投机主义者:明确局势后才出手 10 | 11 | - 历史车轮在推翻-重建-摊牌的过程中反复碾压 12 | -------------------------------------------------------------------------------- /src/book/四种代码结构.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/四种代码结构.jpeg -------------------------------------------------------------------------------- /src/book/好用的网站.md: -------------------------------------------------------------------------------- 1 | - [大学生好用网站](https://zhuanlan.zhihu.com/p/60766588) -------------------------------------------------------------------------------- /src/book/插件式架构.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/插件式架构.jpeg -------------------------------------------------------------------------------- /src/book/散列分区.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/散列分区.jpeg -------------------------------------------------------------------------------- /src/book/数据复制&分区.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/数据复制&分区.jpeg -------------------------------------------------------------------------------- /src/book/整洁架构.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/整洁架构.jpeg -------------------------------------------------------------------------------- /src/book/更好的系统架构设计.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/更好的系统架构设计.jpeg -------------------------------------------------------------------------------- /src/book/有向无环图.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/有向无环图.jpeg -------------------------------------------------------------------------------- /src/book/服务发现.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/服务发现.jpeg -------------------------------------------------------------------------------- /src/book/梦的解析.md: -------------------------------------------------------------------------------- 1 | # 梦的解析 2 | 3 | ## 三我 4 | 5 | ### 本我 6 | 人的兽性,遵循不计后果的快乐原则 7 | 8 | ### 自我 9 | 人的环境适应性,遵循迂回满足的现实原则 10 | 11 | ### 超我 12 | 人的社会性,遵循不计后果的道德原则 13 | 14 | ## 梦 15 | - 愿望的实现? 16 | - 现实记忆的组装? 17 | -------------------------------------------------------------------------------- /src/book/用户关注点的变化.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/用户关注点的变化.jpeg -------------------------------------------------------------------------------- /src/book/硅谷钢铁侠.md: -------------------------------------------------------------------------------- 1 | # 硅谷钢铁侠 2 | 3 | - 做事前,要花大量时间验证想法的可行性,然后才能付诸实践 4 | - 不断寻找志同道合的人才加入团队,才能一起走的更远 5 | - 明知结果无法挽回时,应果断妥协,另寻出路 6 | 7 | - 如果可以的话,还是站在巨人肩膀上创新 8 | - 通过“打怪升级”,成为跨界人才 9 | - 向他人提出请求前,自己先要有明确的、全面的计划 10 | - 要想马儿跑就要先给马儿吃好草 11 | - 996不算事,7127走起 -------------------------------------------------------------------------------- /src/book/稳定抽象原则.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/稳定抽象原则.jpeg -------------------------------------------------------------------------------- /src/book/管理心理学.md: -------------------------------------------------------------------------------- 1 | # 管理心理学 2 | 3 | ## 研究内容 4 | - 动机管理 5 | - 认知管理 6 | - 情绪管理 7 | - 行为管理 8 | - 组织管理 9 | 10 | -------------------------------------------------------------------------------- /src/book/索引示意图.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/索引示意图.jpeg -------------------------------------------------------------------------------- /src/book/红星照耀中国.md: -------------------------------------------------------------------------------- 1 | # 红星照耀中国 2 | 3 | > 红军是人民打击压迫者的拳头 4 | 5 | **西安事变为什么不杀常凯申?** 6 | 7 | - 最终目标是国共合作抗日 8 | 9 | - 国方需要一个有绝对影响力的话事人赞成合作 10 | 11 | - 常有绝对影响力,但态度摇摆 12 | 13 | - 杀常只会导致国方再度分裂,战和纷争 14 | 15 | - 在保证常不掉威信的前提下,逼迫主战是正解 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/book/组件聚合.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/book/组件聚合.jpeg -------------------------------------------------------------------------------- /src/book/资本论.md: -------------------------------------------------------------------------------- 1 | # 资本论 2 | 3 | ## 商品和货币 4 | 5 | #### 商品 6 | 7 | - 使用价值 + 商品价值 8 | - 价值量和生产所需劳动成正比 9 | - 生产力决定了单位时间产生的价值量 10 | - 价值量取决于商品间相对价值 11 | 12 | -------------------------------------------------------------------------------- /src/book/资治通鉴.md: -------------------------------------------------------------------------------- 1 | # 资治通鉴 2 | 3 | ### 识人之法 4 | 5 | - 看其发达时,交往的、推崇的人 6 | 7 | - 看其(即使)落魄时,不做的、不取的事 8 | 9 | ### 处世 10 | 11 | - 对上,时刻遵守礼法,绝不松懈 12 | - 对下,实权分摊(即使再信任),分割派系,相互掣肘 13 | -------------------------------------------------------------------------------- /src/book/马斯克传.md: -------------------------------------------------------------------------------- 1 | # 马斯克传 2 | 3 | [学得来的部分]([Docs](https://rtw1bnq45a.feishu.cn/docx/YSrbd6JyBoUD5UxKPjXcvdCpnRc)) 4 | -------------------------------------------------------------------------------- /src/canvas/README.md: -------------------------------------------------------------------------------- 1 | # canvas 2 | 3 | ## three.js 4 | 5 | - [实现VR看房](https://juejin.cn/post/6973865268426571784) 6 | - [B站弹幕实现原理](https://hughfenghen.github.io/fe/body-mask-danmaku/#%E6%80%BB%E7%BB%93) 7 | - [leaferjs](https://www.leaferjs.com/) 8 | 9 | 10 | ## html2canvas 11 | ### 原理 12 | 基于[7阶层叠水平](https://mp.weixin.qq.com/s/BkpVZ30GGwV-T6jGXPt0QQ)实现 13 | -------------------------------------------------------------------------------- /src/career/OLTP和OLAP.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/OLTP和OLAP.png -------------------------------------------------------------------------------- /src/career/apm-overall.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/apm-overall.jpg -------------------------------------------------------------------------------- /src/career/apm-sort.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/apm-sort.jpg -------------------------------------------------------------------------------- /src/career/csr&ssr.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/csr&ssr.jpeg -------------------------------------------------------------------------------- /src/career/devOps.md: -------------------------------------------------------------------------------- 1 | # devOps 2 | 3 | [TOC] 4 | 5 | ## 参考 6 | 7 | - [字节mobile devops实践](https://mp.weixin.qq.com/s/hR6XlxHFQTJSQQo34hWvfg) 8 | 9 | -------------------------------------------------------------------------------- /src/career/druid-data-groupby.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/druid-data-groupby.png -------------------------------------------------------------------------------- /src/career/i18n.md: -------------------------------------------------------------------------------- 1 | # i18n 2 | 3 | 4 | 5 | ## 示例 6 | 7 | ```vue 8 | 9 | 你好,{{ name }},欢迎来到世界! 10 | 11 | ``` 12 | 13 | -------------------------------------------------------------------------------- /src/career/json-web-token.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/json-web-token.png -------------------------------------------------------------------------------- /src/career/k8s.md: -------------------------------------------------------------------------------- 1 | # k8s 2 | 3 | 4 | 5 | ## 参考 6 | 7 | - [可视化管理界面](https://demo.kubesphere.io/demo-workspace/clusters/host/projects/app-test/applications/template) 8 | 9 | -------------------------------------------------------------------------------- /src/career/kylin-data-cube.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/kylin-data-cube.png -------------------------------------------------------------------------------- /src/career/linux性能命令.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/linux性能命令.jpg -------------------------------------------------------------------------------- /src/career/mac快捷键.md: -------------------------------------------------------------------------------- 1 | # mac快捷键 2 | 3 | ### chrome终端 4 | cmd + alt + i 5 | 6 | ### 呼出快捷指令面板 7 | cmd + shift + p 8 | 9 | [显示fps](./显示fps.gif) 10 | 11 | ### stepInto 12 | cmd + alt + ; 13 | 14 | ### stepNext 15 | cmd + alt + , 16 | 17 | ### 显示隐藏文件 18 | cmd + shift + . -------------------------------------------------------------------------------- /src/career/三层四面.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/三层四面.jpg -------------------------------------------------------------------------------- /src/career/产品相关.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/产品相关.jpeg -------------------------------------------------------------------------------- /src/career/企业价值倍数.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/企业价值倍数.jpeg -------------------------------------------------------------------------------- /src/career/债券周期.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/债券周期.png -------------------------------------------------------------------------------- /src/career/光波&电波.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/光波&电波.jpg -------------------------------------------------------------------------------- /src/career/全栈.md: -------------------------------------------------------------------------------- 1 | # 全栈 2 | 3 | ## 参考 4 | 5 | - [基于 react 的全栈框架blitz](https://blitzjs.com/) 6 | - -------------------------------------------------------------------------------- /src/career/写业务代码的方法论.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/写业务代码的方法论.jpg -------------------------------------------------------------------------------- /src/career/冰山模型.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/冰山模型.jfif -------------------------------------------------------------------------------- /src/career/列存储.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/列存储.jpg -------------------------------------------------------------------------------- /src/career/前端渲染历史.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/前端渲染历史.png -------------------------------------------------------------------------------- /src/career/功率密度标准.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/功率密度标准.jpg -------------------------------------------------------------------------------- /src/career/发布订阅.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/发布订阅.png -------------------------------------------------------------------------------- /src/career/发布订阅vs观察者.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/发布订阅vs观察者.jpg -------------------------------------------------------------------------------- /src/career/可转债规则.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/可转债规则.jpeg -------------------------------------------------------------------------------- /src/career/商业模式画布.jfif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/商业模式画布.jfif -------------------------------------------------------------------------------- /src/career/国情对应美林时钟.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/国情对应美林时钟.jpeg -------------------------------------------------------------------------------- /src/career/基站功率.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/基站功率.jpg -------------------------------------------------------------------------------- /src/career/市净率.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/市净率.jpeg -------------------------------------------------------------------------------- /src/career/市现率.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/市现率.jpeg -------------------------------------------------------------------------------- /src/career/市盈率.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/市盈率.png -------------------------------------------------------------------------------- /src/career/市销率.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/市销率.png -------------------------------------------------------------------------------- /src/career/常用指标.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/常用指标.jpeg -------------------------------------------------------------------------------- /src/career/开发视角前端架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/开发视角前端架构.png -------------------------------------------------------------------------------- /src/career/异地多活.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/异地多活.jpeg -------------------------------------------------------------------------------- /src/career/微信背后的产品观.pdf.zip: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/微信背后的产品观.pdf.zip -------------------------------------------------------------------------------- /src/career/技术全局视角.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/技术全局视角.jpeg -------------------------------------------------------------------------------- /src/career/技术思考-技术价值.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/技术思考-技术价值.png -------------------------------------------------------------------------------- /src/career/技术思考-研发效能度量体系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/技术思考-研发效能度量体系.png -------------------------------------------------------------------------------- /src/career/投资趋势.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/投资趋势.jpeg -------------------------------------------------------------------------------- /src/career/持续集成.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/持续集成.jpg -------------------------------------------------------------------------------- /src/career/数据处理.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/数据处理.jpg -------------------------------------------------------------------------------- /src/career/数据架构示意图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/数据架构示意图.jpg -------------------------------------------------------------------------------- /src/career/显示fps.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/显示fps.gif -------------------------------------------------------------------------------- /src/career/流程-看板.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/流程-看板.jpeg -------------------------------------------------------------------------------- /src/career/浏览器兼容规范.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/浏览器兼容规范.jpg -------------------------------------------------------------------------------- /src/career/深度学习.md: -------------------------------------------------------------------------------- 1 | # 深度学习 2 | 3 | 4 | 5 | ## 参考 6 | 7 | - [fast.ai 公开课](https://course.fast.ai/Lessons/lesson1.html) -------------------------------------------------------------------------------- /src/career/生产变更.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/生产变更.png -------------------------------------------------------------------------------- /src/career/电磁辐射.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/电磁辐射.jpg -------------------------------------------------------------------------------- /src/career/端智能.md: -------------------------------------------------------------------------------- 1 | # 端智能 2 | 3 | > 传统流程中,AI推测模型部署在服务侧,客户端发起请求,服务端推理完后返回结果; 4 | > 5 | > 端智能指的是在客户端完成推理过程。 6 | 7 | --- 8 | 9 | ## CPU or GPU 10 | 11 | 在gpu不支持时,cpu 可以作为降级选项。 12 | 13 | ### webGL 14 | 15 | 现标准,性能高,通用性好。 16 | 17 | ### webGPU 18 | 19 | 2017年新标准,,支持多线程。 20 | 21 | ### webassemble 22 | 23 | 当客户端不支持 webGL,或性能较低,可用此降级。 24 | 25 | -------------------------------------------------------------------------------- /src/career/简易sso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/简易sso.png -------------------------------------------------------------------------------- /src/career/精进表达模型.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/精进表达模型.jpeg -------------------------------------------------------------------------------- /src/career/美林投资时钟.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/美林投资时钟.jpeg -------------------------------------------------------------------------------- /src/career/职业发展方向.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/职业发展方向.jpeg -------------------------------------------------------------------------------- /src/career/股权风险溢价.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/股权风险溢价.png -------------------------------------------------------------------------------- /src/career/股权风险溢价走势-2024.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/股权风险溢价走势-2024.png -------------------------------------------------------------------------------- /src/career/行存储.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/行存储.jpg -------------------------------------------------------------------------------- /src/career/观察者.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/观察者.png -------------------------------------------------------------------------------- /src/career/资产的不相关性.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/资产的不相关性.png -------------------------------------------------------------------------------- /src/career/通用前端架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/通用前端架构.png -------------------------------------------------------------------------------- /src/career/逻辑递进.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/逻辑递进.jpg -------------------------------------------------------------------------------- /src/career/采集端控制.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/采集端控制.jpg -------------------------------------------------------------------------------- /src/career/金融周期.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/金融周期.png -------------------------------------------------------------------------------- /src/career/集群sso.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/集群sso.png -------------------------------------------------------------------------------- /src/career/页面健康度.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/页面健康度.png -------------------------------------------------------------------------------- /src/career/页面评分细则.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/career/页面评分细则.jpeg -------------------------------------------------------------------------------- /src/career/高并发.md: -------------------------------------------------------------------------------- 1 | # 高并发 2 | 3 | > 运维的核心价值不在于资源的扩充,而在于资源的隔离 4 | 5 | ## 参考 6 | 7 | [服务器虚拟化 | 高并发的哲学原理](https://pphc.lvwenhan.com/part-two/infrastructure-concurrency/section-1) 8 | 9 | ## 优化手段 10 | 11 | - 静态资源隔离(cdn) 12 | 13 | - 数据库和api隔离 14 | 15 | - 非实时数据走redis 16 | 17 | - 反爬(单ip限流、ip段限流、UA限流) 18 | -------------------------------------------------------------------------------- /src/chrome/README.md: -------------------------------------------------------------------------------- 1 | # chrome 2 | 3 | ## 参考 4 | 5 | [67 Weird Debugging Tricks Your Browser Doesn't Want You to Know | Alan Norbauer](https://alan.norbauer.com/articles/browser-debugging-tricks) 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/chrome/mock/public/js/background.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/chrome/mock/public/js/background.js -------------------------------------------------------------------------------- /src/chrome/mock/public/js/devtools.js: -------------------------------------------------------------------------------- 1 | chrome.devtools.panels.create( 2 | 'mock', 3 | 'icons/16-enabled.png', 4 | 'index.html', function(panel) { 5 | console.log('自定义面板创建成功!'); // 注意这个log一般看不到 6 | }); 7 | -------------------------------------------------------------------------------- /src/chrome/mock/public/js/options.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/chrome/mock/public/js/options.js -------------------------------------------------------------------------------- /src/chrome/mock/public/js/panel.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/chrome/mock/public/js/panel.js -------------------------------------------------------------------------------- /src/chrome/mock/src/const/index.ts: -------------------------------------------------------------------------------- 1 | export const STATUS = { 2 | enable: true, 3 | disable: false, 4 | }; 5 | 6 | export const TYPE = { 7 | object: 'object', 8 | array: 'array', 9 | null: 'null', 10 | string: 'string', 11 | number: 'number', 12 | boolean: 'boolean', 13 | }; 14 | -------------------------------------------------------------------------------- /src/chrome/mock/src/main.ts: -------------------------------------------------------------------------------- 1 | import { createApp } from 'vue'; 2 | import './style.less'; 3 | import router from './router'; 4 | import App from './App.vue'; 5 | import { registryComponents } from './install-component'; 6 | 7 | const app = createApp(App); 8 | app.use(router); 9 | registryComponents(app); 10 | app.mount('#app'); 11 | -------------------------------------------------------------------------------- /src/chrome/mock/src/utils/env.ts: -------------------------------------------------------------------------------- 1 | export const isBrowser = typeof navigator !== 'undefined'; 2 | export const target: any = isBrowser 3 | ? window 4 | : typeof global !== 'undefined' 5 | ? global 6 | : {}; -------------------------------------------------------------------------------- /src/chrome/mock/src/vite-env.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | declare module '*.vue' { 4 | import type { DefineComponent } from 'vue' 5 | const component: DefineComponent<{}, {}, any> 6 | export default component 7 | } 8 | 9 | -------------------------------------------------------------------------------- /src/chrome/mock/tsconfig.node.json: -------------------------------------------------------------------------------- 1 | { 2 | "compilerOptions": { 3 | "composite": true, 4 | "module": "ESNext", 5 | "moduleResolution": "Node", 6 | "allowSyntheticDefaultImports": true, 7 | "types": [ 8 | "vite/client" 9 | ] 10 | }, 11 | "include": ["vite.config.ts"] 12 | } 13 | -------------------------------------------------------------------------------- /src/chrome/插件开发.md: -------------------------------------------------------------------------------- 1 | # 插件开发 2 | 3 | [chrome插件开发全攻略-通信](https://www.bookstack.cn/read/chrome-plugin-develop/spilt.2.spilt.7.8bdb1aac68bbdc44.md) -------------------------------------------------------------------------------- /src/css-related/UFE00.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/css-related/UFE00.pdf -------------------------------------------------------------------------------- /src/css-related/base64-正常匹配.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/css-related/base64-正常匹配.jpg -------------------------------------------------------------------------------- /src/css-related/base64-补位.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/css-related/base64-补位.jpg -------------------------------------------------------------------------------- /src/css-related/styled-component.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | 3 | [styled-component](https://styled-components.com/docs/basics#motivation) 4 | 5 | -------------------------------------------------------------------------------- /src/css-related/层叠顺序.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/css-related/层叠顺序.png -------------------------------------------------------------------------------- /src/cyclejs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | Cycle.js counter 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /src/dataforge/dataforge.js: -------------------------------------------------------------------------------- 1 | /** 2 | * dataforge 3 | * 4 | * The JavaScript data transformation and analysis toolkit inspired by Pandas and LINQ. 5 | * 6 | */ 7 | const dataForge = require('data-forge'); 8 | 9 | dataForge.readFile('./src/dataforge/test.json') 10 | .parseJSON() 11 | .then((res) => { 12 | console.log(res); 13 | }); 14 | -------------------------------------------------------------------------------- /src/dataforge/test.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "abc", 3 | "age": 13 4 | } -------------------------------------------------------------------------------- /src/ddd/ddd模型+依赖倒置.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/ddd/ddd模型+依赖倒置.jpg -------------------------------------------------------------------------------- /src/ddd/ddd项目中运用.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/ddd/ddd项目中运用.jpg -------------------------------------------------------------------------------- /src/ddd/refactoring-3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/ddd/refactoring-3.png -------------------------------------------------------------------------------- /src/deeplearning/README.md: -------------------------------------------------------------------------------- 1 | # deeplearning 2 | 3 | ## 参考 4 | 5 | - https://www.zhihu.com/question/26006703 6 | - [PaddlePaddel-百度自研](https://github.com/PaddlePaddle/Paddle.js/blob/master/README_cn.md) 7 | -------------------------------------------------------------------------------- /src/deeplearning/deeplearning.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/deeplearning/deeplearning.pdf -------------------------------------------------------------------------------- /src/deno/puppeteer.js: -------------------------------------------------------------------------------- 1 | // https://github.com/lucacasonato/deno-puppeteer 2 | import puppeteer from "https://deno.land/x/puppeteer@5.5.1/mod.ts"; 3 | 4 | const browser = await puppeteer.launch(); 5 | const page = await browser.newPage(); 6 | await page.goto("https://www.baidu.com"); 7 | await page.screenshot({ path: "example.png" }); 8 | 9 | await browser.close(); -------------------------------------------------------------------------------- /src/docker/overall.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/docker/overall.png -------------------------------------------------------------------------------- /src/electron/README.md: -------------------------------------------------------------------------------- 1 | # electron 2 | 3 | ## nw.js 4 | ![nw内部架构](./nw结构.jpeg) 5 | 6 | --- 7 | 8 | ## vscode 9 | ![vscode通讯机制](./vscode通讯机制.png) 10 | -------------------------------------------------------------------------------- /src/electron/nw结构.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/electron/nw结构.jpeg -------------------------------------------------------------------------------- /src/electron/vscode通讯机制.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/electron/vscode通讯机制.png -------------------------------------------------------------------------------- /src/esbuild/test.js: -------------------------------------------------------------------------------- 1 | const result = require('esbuild').transformSync(` 2 | @Component({}) 3 | class Aa extends Vue { 4 | 5 | } 6 | `, { 7 | loader: 'ts', 8 | }); 9 | 10 | console.log(result); 11 | -------------------------------------------------------------------------------- /src/esbuild/前端工程化.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/esbuild/前端工程化.jpeg -------------------------------------------------------------------------------- /src/fe-interview/src/html头部.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/html头部.jpg -------------------------------------------------------------------------------- /src/fe-interview/src/json-parse.js: -------------------------------------------------------------------------------- 1 | // 解法1 eval 2 | eval('(' + jsonstring + ')'); 3 | 4 | // 解法2 new Function 5 | (new Function('return ' + jsonstring))(); 6 | 7 | // 解法3 状态机 8 | // https://github.com/youngwind/blog/issues/115 -------------------------------------------------------------------------------- /src/fe-interview/src/mvp.PNG: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/mvp.PNG -------------------------------------------------------------------------------- /src/fe-interview/src/作用域链.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/作用域链.jpg -------------------------------------------------------------------------------- /src/fe-interview/src/合成触发.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/合成触发.jpg -------------------------------------------------------------------------------- /src/fe-interview/src/回流触发.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/回流触发.jpg -------------------------------------------------------------------------------- /src/fe-interview/src/广度优先.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/广度优先.png -------------------------------------------------------------------------------- /src/fe-interview/src/排序算法复杂度.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/排序算法复杂度.png -------------------------------------------------------------------------------- /src/fe-interview/src/深度优先.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/深度优先.png -------------------------------------------------------------------------------- /src/fe-interview/src/观察者和发布订阅模式.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/观察者和发布订阅模式.png -------------------------------------------------------------------------------- /src/fe-interview/src/资源优先级.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/资源优先级.png -------------------------------------------------------------------------------- /src/fe-interview/src/重绘触发.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/重绘触发.jpg -------------------------------------------------------------------------------- /src/fe-interview/src/金额format.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 题目: 3 | * 4 | * 1234.12 -> 1,234.12 5 | * 6 | */ 7 | function format(number) { 8 | return number.toString().replace(/(\d{1,2})(?=(\d{3})+(\.\d{1,2})?$)/g, '$1, '); 9 | } -------------------------------------------------------------------------------- /src/fe-interview/src/页面请求流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fe-interview/src/页面请求流程.png -------------------------------------------------------------------------------- /src/flutter/gpu-render.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/flutter/gpu-render.png -------------------------------------------------------------------------------- /src/flutter/state.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/flutter/state.jpg -------------------------------------------------------------------------------- /src/fp/mostly-adequate-guide.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/fp/mostly-adequate-guide.pdf -------------------------------------------------------------------------------- /src/game/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "next/babel", 4 | "@zeit/next-typescript/babel" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/game/README.md: -------------------------------------------------------------------------------- 1 | ## 仿太污绘卷 2 | 3 | ## TODO 4 | - 人物创建 5 | - 大地图、区域地图 6 | - 人物功法 7 | - 遇敌战斗 8 | - 城镇发展 9 | - 人际关系 10 | - 人物历史 -------------------------------------------------------------------------------- /src/game/app/App.less: -------------------------------------------------------------------------------- 1 | .app { 2 | height: 100%; 3 | width: 100%; 4 | } -------------------------------------------------------------------------------- /src/game/components/common/AbstractComponent/index.tsx: -------------------------------------------------------------------------------- 1 | import { Component } from 'react'; 2 | 3 | export default interface AbstractComponent extends Component{ 4 | bindInstance(): void; 5 | } 6 | -------------------------------------------------------------------------------- /src/game/components/common/Man/index.less: -------------------------------------------------------------------------------- 1 | .man { 2 | height: 100%; 3 | width: 300px; 4 | will-change: transform; 5 | transition: .5s transform ease-out; 6 | } -------------------------------------------------------------------------------- /src/game/components/map/Map.less: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/components/map/Map.less -------------------------------------------------------------------------------- /src/game/enum/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | export * from './starter'; -------------------------------------------------------------------------------- /src/game/enum/starter.ts: -------------------------------------------------------------------------------- 1 | export enum CreateStep { 2 | Person, 3 | System, 4 | Finish, 5 | }; 6 | 7 | export enum SystemKeyEnum { 8 | LEVEL = 'level', 9 | WORLD = 'world', 10 | ENEMY = 'enemy', 11 | }; 12 | -------------------------------------------------------------------------------- /src/game/img/blade-man-blue-sec.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/blade-man-blue-sec.jpg -------------------------------------------------------------------------------- /src/game/img/blade-man-blue.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/blade-man-blue.jpg -------------------------------------------------------------------------------- /src/game/img/blade-man-static.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/blade-man-static.gif -------------------------------------------------------------------------------- /src/game/img/blade-man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/blade-man.jpg -------------------------------------------------------------------------------- /src/game/img/run-man.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/run-man.gif -------------------------------------------------------------------------------- /src/game/img/run-man.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/run-man.jpg -------------------------------------------------------------------------------- /src/game/img/shuzhi.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/img/shuzhi.jpeg -------------------------------------------------------------------------------- /src/game/models/index.ts: -------------------------------------------------------------------------------- 1 | import app from './app'; 2 | import starter from './starter'; 3 | import combat from './combat'; 4 | 5 | export default { 6 | app, 7 | starter, 8 | combat, 9 | }; 10 | -------------------------------------------------------------------------------- /src/game/pages/index.less: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } -------------------------------------------------------------------------------- /src/game/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Provider } from 'react-redux'; 3 | import 'antd/dist/antd.css'; 4 | import '../public/main.css'; 5 | 6 | import './index.less'; 7 | import App from '../app/App'; 8 | import store from '../store'; 9 | 10 | export default () => ( 11 | 12 | 13 | 14 | ); 15 | -------------------------------------------------------------------------------- /src/game/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | plugins: { 3 | autoprefixer: { 4 | browsers: [ 5 | 'Android >= 4.0', 6 | 'last 3 versions', 7 | 'iOS > 6', 8 | ], 9 | }, 10 | }, 11 | } -------------------------------------------------------------------------------- /src/game/public/main.css: -------------------------------------------------------------------------------- 1 | #__next { 2 | height: 100%; 3 | width: 100%; 4 | } -------------------------------------------------------------------------------- /src/game/store/index.ts: -------------------------------------------------------------------------------- 1 | import { init } from '@rematch/core'; 2 | import models from '../models'; 3 | 4 | const store = init({ 5 | models, 6 | }); 7 | 8 | export const { dispatch } = store; 9 | 10 | export default store; 11 | -------------------------------------------------------------------------------- /src/game/types/app.ts: -------------------------------------------------------------------------------- 1 | import { Stage } from '../enum'; 2 | 3 | export interface AppInterface { 4 | stage: Stage, 5 | } 6 | 7 | export type AppState = Partial<{ 8 | show: boolean; 9 | }>; 10 | 11 | export type AppProps = Partial<{ 12 | children?: React.ReactNode; 13 | dispatch?: Function|any; 14 | stage: Stage; 15 | }>; 16 | 17 | -------------------------------------------------------------------------------- /src/game/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | export * from './app'; 3 | export * from './starter'; 4 | export * from './combat'; 5 | export * from './test'; -------------------------------------------------------------------------------- /src/game/web/controller/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/web/controller/index.js -------------------------------------------------------------------------------- /src/game/web/index.js: -------------------------------------------------------------------------------- 1 | 2 | module.exports = (res, path) => { 3 | res.writeHead(200, { 'Content-Type': 'text/json' }); 4 | res.end(JSON.stringify({ 5 | code: 1024, 6 | })); 7 | }; 8 | -------------------------------------------------------------------------------- /src/game/web/service/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/game/web/service/index.js -------------------------------------------------------------------------------- /src/gitflow/git-flow.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/gitflow/git-flow.png -------------------------------------------------------------------------------- /src/gitflow/git-log.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/gitflow/git-log.png -------------------------------------------------------------------------------- /src/graphQL/README.md: -------------------------------------------------------------------------------- 1 | # graphql 2 | 3 | ## 参考 4 | - [react+graphql+mongodb](https://www.colabug.com/6355098.html) 5 | 6 | ## 本质 7 | 1. 类似sql,graphql提供一种数据操作语法 8 | 2. 无法直接与mongodb或者其他数据库的交互,需要预处理graphql语法 -> 数据库支持语法 9 | -------------------------------------------------------------------------------- /src/html/test.css: -------------------------------------------------------------------------------- 1 | .aa { 2 | color: blue; 3 | } -------------------------------------------------------------------------------- /src/html/test1.css: -------------------------------------------------------------------------------- 1 | .aa { 2 | color: red; 3 | } -------------------------------------------------------------------------------- /src/html/test2.css: -------------------------------------------------------------------------------- 1 | .aa { 2 | color: yellow; 3 | } -------------------------------------------------------------------------------- /src/http/10.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/10.png -------------------------------------------------------------------------------- /src/http/201208201734403507.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/201208201734403507.png -------------------------------------------------------------------------------- /src/http/24.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/24.png -------------------------------------------------------------------------------- /src/http/CDN.md: -------------------------------------------------------------------------------- 1 | # CDN-内容分发网络 2 | 3 | ## 参考 4 | - https://zhuanlan.zhihu.com/p/39028766 5 | 6 | ## 优势 7 | - 减轻源站(服务器)负载 8 | - 加速访问 9 | - 抗攻击 10 | 11 | ## 注意点 12 | - 缓存设置 13 | - nginx s-maxage(设置代理服务器的缓存时间) 14 | - 判断是否命中缓存 15 | - Hid -cach-Lookup 16 | -资源预热 17 | - 避免所有请求都打到原务器上 18 | - Vary 19 | - Range -------------------------------------------------------------------------------- /src/http/OSI层次.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/OSI层次.jpg -------------------------------------------------------------------------------- /src/http/TCP-IP协议层次.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/TCP-IP协议层次.jpg -------------------------------------------------------------------------------- /src/http/TCP-IP协议模型.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/TCP-IP协议模型.png -------------------------------------------------------------------------------- /src/http/backlog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/backlog.png -------------------------------------------------------------------------------- /src/http/hash算法.js: -------------------------------------------------------------------------------- 1 | function hash(word) { 2 | var p = 31; 3 | var m = 1e9 + 9; 4 | var hash_value = 0; 5 | for(var i = 0; i < word.length; i++) { 6 | var letter = word[i]; 7 | var charCode = letter.charCodeAt(); 8 | hash_value = hash_value + (charCode * Math.pow(p, i)) 9 | } 10 | return hash_value % m; 11 | } -------------------------------------------------------------------------------- /src/http/http2对比.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/http2对比.png -------------------------------------------------------------------------------- /src/http/http3对比.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/http3对比.png -------------------------------------------------------------------------------- /src/http/https-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/https-2.jpg -------------------------------------------------------------------------------- /src/http/https请求完整流程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/https请求完整流程.jpg -------------------------------------------------------------------------------- /src/http/http五大类知识.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/http五大类知识.png -------------------------------------------------------------------------------- /src/http/rtt对比.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/rtt对比.png -------------------------------------------------------------------------------- /src/http/ssl-tls.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/ssl-tls.jpg -------------------------------------------------------------------------------- /src/http/stale-while-revalidate.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/stale-while-revalidate.jpg -------------------------------------------------------------------------------- /src/http/tcp传输过程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/tcp传输过程.jpg -------------------------------------------------------------------------------- /src/http/tcp和http关系.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/tcp和http关系.jpg -------------------------------------------------------------------------------- /src/http/tcp请求报文.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/tcp请求报文.png -------------------------------------------------------------------------------- /src/http/tcp首部信息.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/tcp首部信息.png -------------------------------------------------------------------------------- /src/http/udp首部信息.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/udp首部信息.png -------------------------------------------------------------------------------- /src/http/websocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/websocket.png -------------------------------------------------------------------------------- /src/http/二进制分帧.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/二进制分帧.png -------------------------------------------------------------------------------- /src/http/低延迟直播技术.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/低延迟直播技术.png -------------------------------------------------------------------------------- /src/http/加密算法.md: -------------------------------------------------------------------------------- 1 | # 加密算法 2 | 3 | ## sha256 4 | [算法](https://qvault.io/2020/07/08/how-sha-2-works-step-by-step-sha-256/) -------------------------------------------------------------------------------- /src/http/协议层次.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/协议层次.png -------------------------------------------------------------------------------- /src/http/多路复用.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/多路复用.png -------------------------------------------------------------------------------- /src/http/当前主流直播技术延迟.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/当前主流直播技术延迟.png -------------------------------------------------------------------------------- /src/http/跨域.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/http/跨域.jpeg -------------------------------------------------------------------------------- /src/immer/immer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/immer/immer.png -------------------------------------------------------------------------------- /src/js&browser/2010-facebook-性能优化.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/2010-facebook-性能优化.pdf -------------------------------------------------------------------------------- /src/js&browser/201208201734418392.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/201208201734418392.png -------------------------------------------------------------------------------- /src/js&browser/2018性能优化.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/2018性能优化.png -------------------------------------------------------------------------------- /src/js&browser/2954145-5bb92d1fbdb9df41.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/2954145-5bb92d1fbdb9df41.png -------------------------------------------------------------------------------- /src/js&browser/41808298-e8cce80c-770d-11e8-994b-1d6f30e2bfe3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/41808298-e8cce80c-770d-11e8-994b-1d6f30e2bfe3.png -------------------------------------------------------------------------------- /src/js&browser/41808308-0446ba5e-770e-11e8-895a-e2ed7231869d.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/41808308-0446ba5e-770e-11e8-895a-e2ed7231869d.png -------------------------------------------------------------------------------- /src/js&browser/41808322-2d1566ec-770e-11e8-98f7-ca87edeaa998.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/41808322-2d1566ec-770e-11e8-98f7-ca87edeaa998.png -------------------------------------------------------------------------------- /src/js&browser/CSSOM.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/CSSOM.png -------------------------------------------------------------------------------- /src/js&browser/DNS查找过程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/DNS查找过程.png -------------------------------------------------------------------------------- /src/js&browser/DNS迭代查找.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/DNS迭代查找.png -------------------------------------------------------------------------------- /src/js&browser/DNS递归查找.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/DNS递归查找.png -------------------------------------------------------------------------------- /src/js&browser/Mark-Compact.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/Mark-Compact.png -------------------------------------------------------------------------------- /src/js&browser/Mark-Sweep.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/Mark-Sweep.png -------------------------------------------------------------------------------- /src/js&browser/await.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/await.jpg -------------------------------------------------------------------------------- /src/js&browser/cachcontrol.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/cachcontrol.jpg -------------------------------------------------------------------------------- /src/js&browser/chrome浏览器架构.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/chrome浏览器架构.jpg -------------------------------------------------------------------------------- /src/js&browser/chrome渲染线程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/chrome渲染线程.png -------------------------------------------------------------------------------- /src/js&browser/chromium渲染过程.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/chromium渲染过程.jpeg -------------------------------------------------------------------------------- /src/js&browser/deepCopy.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - https://yanhaijing.com/javascript/2018/10/10/clone-deep/ 3 | 4 | ## 方式 5 | - clone:创建新对象 + 递归 6 | - cloneJSON:JSON.parse(JSON.stringify(object)) 7 | - cloneLoop:对象转为loopList,遍历拷贝 8 | -cloneForce:对象转为loopList,拷贝前检测是否已拷贝过,保持引用 -------------------------------------------------------------------------------- /src/js&browser/defer-async.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/defer-async.jpeg -------------------------------------------------------------------------------- /src/js&browser/dns-树形结构.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/dns-树形结构.jpg -------------------------------------------------------------------------------- /src/js&browser/event-table.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/event-table.png -------------------------------------------------------------------------------- /src/js&browser/eventLoop简易示图.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/eventLoop简易示图.png -------------------------------------------------------------------------------- /src/js&browser/event_loop.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/event_loop.jpeg -------------------------------------------------------------------------------- /src/js&browser/gecko渲染过程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/gecko渲染过程.jpg -------------------------------------------------------------------------------- /src/js&browser/gib68xrvj59.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/gib68xrvj59.jpeg -------------------------------------------------------------------------------- /src/js&browser/huffman编码.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/huffman编码.png -------------------------------------------------------------------------------- /src/js&browser/iframe.md: -------------------------------------------------------------------------------- 1 | # iframe 2 | 3 | [iframe属性配置器](https://iframegenerator.top/) 4 | -------------------------------------------------------------------------------- /src/js&browser/k和p.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/k和p.jpg -------------------------------------------------------------------------------- /src/js&browser/libuv.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/libuv.png -------------------------------------------------------------------------------- /src/js&browser/life-requestIdle.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/life-requestIdle.png -------------------------------------------------------------------------------- /src/js&browser/node环境-事件循环.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/node环境-事件循环.png -------------------------------------------------------------------------------- /src/js&browser/performance.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/performance.jpeg -------------------------------------------------------------------------------- /src/js&browser/render-tree.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/render-tree.jpg -------------------------------------------------------------------------------- /src/js&browser/requestIdleCallback.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/requestIdleCallback.png -------------------------------------------------------------------------------- /src/js&browser/samesite.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/samesite.jpg -------------------------------------------------------------------------------- /src/js&browser/setTimeout回调触发前.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/setTimeout回调触发前.png -------------------------------------------------------------------------------- /src/js&browser/setTimeout回调触发后.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/setTimeout回调触发后.png -------------------------------------------------------------------------------- /src/js&browser/spa架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/spa架构.png -------------------------------------------------------------------------------- /src/js&browser/task_eventloop_v8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/task_eventloop_v8.jpg -------------------------------------------------------------------------------- /src/js&browser/webcontainer.md: -------------------------------------------------------------------------------- 1 | # 浏览器node环境 2 | 3 | ## 参考 4 | 5 | - [webcontainer](https://webcontainers.io/) 6 | - [nodebox](https://codesandbox.io/blog/announcing-sandpack-2) -------------------------------------------------------------------------------- /src/js&browser/webkit渲染过程.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/webkit渲染过程.jpeg -------------------------------------------------------------------------------- /src/js&browser/事件触发.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/事件触发.gif -------------------------------------------------------------------------------- /src/js&browser/二进制和图片间的转换关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/二进制和图片间的转换关系.png -------------------------------------------------------------------------------- /src/js&browser/任务队列.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/任务队列.png -------------------------------------------------------------------------------- /src/js&browser/前端-各种渲染方式对比.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/前端-各种渲染方式对比.jpg -------------------------------------------------------------------------------- /src/js&browser/前端体系.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/前端体系.jpeg -------------------------------------------------------------------------------- /src/js&browser/前端进程.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/前端进程.jpeg -------------------------------------------------------------------------------- /src/js&browser/单次请求次序.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/单次请求次序.jpeg -------------------------------------------------------------------------------- /src/js&browser/响应报文.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/响应报文.jpg -------------------------------------------------------------------------------- /src/js&browser/图片优化.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/图片优化.jpeg -------------------------------------------------------------------------------- /src/js&browser/图片格式区别.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/图片格式区别.jpeg -------------------------------------------------------------------------------- /src/js&browser/图片格式选择.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/图片格式选择.jpeg -------------------------------------------------------------------------------- /src/js&browser/图片模糊.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/图片模糊.jpg -------------------------------------------------------------------------------- /src/js&browser/安卓屏幕尺寸.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/安卓屏幕尺寸.png -------------------------------------------------------------------------------- /src/js&browser/小程序vsPWA.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/小程序vsPWA.jpg -------------------------------------------------------------------------------- /src/js&browser/应用层封装.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/应用层封装.jpg -------------------------------------------------------------------------------- /src/js&browser/性能优化.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/性能优化.jpeg -------------------------------------------------------------------------------- /src/js&browser/性能优化2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/性能优化2.png -------------------------------------------------------------------------------- /src/js&browser/性能优化2024.md: -------------------------------------------------------------------------------- 1 | ## 缓存 2 | - indexDB 3 | - [File System Access API](https://developer.chrome.com/docs/capabilities/web-apis/file-system-access?hl=zh-tw) -------------------------------------------------------------------------------- /src/js&browser/搜索引擎.md: -------------------------------------------------------------------------------- 1 | # 搜索引擎 2 | 3 | ## 参考 4 | - [搜索引擎原理](https://zhuanlan.zhihu.com/p/139041529) 5 | 6 | --- 7 | 8 | ## 简易原理 9 | 10 | ### 爬取 11 | 12 | **倒排** 13 | 14 | 1. 根据关键词,找出其出现的`网站`、`频率`、`位置` 15 | 2. 关键词转哈希表存储,重复的 key 做冲突表处理 16 | 17 | ### 查找 18 | 1. 搜索词转哈希 19 | 2. 从哈希表映射到冲突表,继续搜索 20 | 3. 从冲突表找到`网站`、`频率`、`位置` 21 | 4. 根据热度、广告等各种权重,列出搜索结果 22 | -------------------------------------------------------------------------------- /src/js&browser/数值存储.md: -------------------------------------------------------------------------------- 1 | # 数值存储 2 | 3 | ## 概念 4 | - 所有数字以64位浮点数/整数存储 5 | - 组成 6 | - 第1位:符号位,0 - 负,1 - 正 7 | - 第2~12位:指数位, 8 | - 第13~64位:有效数字(小数位) 9 | - 边界 10 | - 2^53 - 1 11 | 12 | ## 例子 13 | - 0.1 + 0.2 !== 0.3 14 | - (0.1)10 => (00011001100110011001(1001)...)2 15 | - (0.2)10 => (00110011001100110011(0011)...)2 -------------------------------------------------------------------------------- /src/js&browser/断点调试.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/断点调试.png -------------------------------------------------------------------------------- /src/js&browser/新生代垃圾回收.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/新生代垃圾回收.png -------------------------------------------------------------------------------- /src/js&browser/根域服务器.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/根域服务器.jpg -------------------------------------------------------------------------------- /src/js&browser/根据token生成css树的过程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/根据token生成css树的过程.jpg -------------------------------------------------------------------------------- /src/js&browser/根据token生成节点树的过程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/根据token生成节点树的过程.jpg -------------------------------------------------------------------------------- /src/js&browser/浏览器API.md: -------------------------------------------------------------------------------- 1 | # 浏览器API 2 | 3 | 4 | 5 | - [多屏api](https://www.w3.org/TR/window-placement/) 6 | - [元素全屏-requestFullscreen](https://developer.mozilla.org/zh-CN/docs/Web/API/Element/requestFullscreen) 7 | 8 | -------------------------------------------------------------------------------- /src/js&browser/浏览器和node的eventLoop.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/浏览器和node的eventLoop.png -------------------------------------------------------------------------------- /src/js&browser/浏览器架构.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/浏览器架构.jpg -------------------------------------------------------------------------------- /src/js&browser/浏览器缓存与机制.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/浏览器缓存与机制.jpeg -------------------------------------------------------------------------------- /src/js&browser/移动端dns解析.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/移动端dns解析.png -------------------------------------------------------------------------------- /src/js&browser/继承.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/继承.png -------------------------------------------------------------------------------- /src/js&browser/缓存字段.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/缓存字段.jpg -------------------------------------------------------------------------------- /src/js&browser/视频大小.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/视频大小.png -------------------------------------------------------------------------------- /src/js&browser/视频编码.md: -------------------------------------------------------------------------------- 1 | # 视频编码 2 | 3 | 4 | 5 | ## 基础概念 6 | 7 | ### 视频大小和分辨率关系 8 | 9 | ![视频大小](./视频大小.png) 10 | 11 | 12 | 13 | ### 视频压缩 14 | 15 | - 跳帧 16 | - 划块 17 | - 抽色 18 | 19 | **跳帧** 20 | 21 | > 相似画面仅保留一帧,后期通过预测还原。 22 | 23 | **划块** 24 | 25 | > 将多个颜色相同的小色块当做一个大色块处理。 26 | 27 | **抽色** 28 | 29 | > 相近的颜色“偷”换成一种颜色。 30 | 31 | 32 | 33 | 34 | 35 | --- -------------------------------------------------------------------------------- /src/js&browser/计时器原理.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/计时器原理.png -------------------------------------------------------------------------------- /src/js&browser/请求报文.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/请求报文.jpg -------------------------------------------------------------------------------- /src/js&browser/请求缓存304判断顺序.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/请求缓存304判断顺序.jpeg -------------------------------------------------------------------------------- /src/js&browser/资源优先级.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/资源优先级.png -------------------------------------------------------------------------------- /src/js&browser/重绘和重排.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/重绘和重排.jpg -------------------------------------------------------------------------------- /src/js&browser/页面可视状态.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/页面可视状态.jpg -------------------------------------------------------------------------------- /src/js&browser/页面渲染.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/js&browser/页面渲染.jpg -------------------------------------------------------------------------------- /src/js&browser/鸿蒙.md: -------------------------------------------------------------------------------- 1 | # 鸿蒙 2 | 3 | ## 参考 4 | - [鸿蒙rn的适配](https://mp.weixin.qq.com/s/WdutXVWN0wgGimq8hkLXjw) -------------------------------------------------------------------------------- /src/keep/上斜俯卧撑.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/上斜俯卧撑.gif -------------------------------------------------------------------------------- /src/keep/上斜杠铃卧推.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/上斜杠铃卧推.gif -------------------------------------------------------------------------------- /src/keep/仰卧哑铃交替弯举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/仰卧哑铃交替弯举.gif -------------------------------------------------------------------------------- /src/keep/仰卧曲臂上拉.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/仰卧曲臂上拉.jpeg -------------------------------------------------------------------------------- /src/keep/俯身双臂划船.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/俯身双臂划船.jpg -------------------------------------------------------------------------------- /src/keep/俯身哑铃划船.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/俯身哑铃划船.jpeg -------------------------------------------------------------------------------- /src/keep/俯身哑铃臂屈伸.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/俯身哑铃臂屈伸.jpeg -------------------------------------------------------------------------------- /src/keep/俯身杠铃划船.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/俯身杠铃划船.jpeg -------------------------------------------------------------------------------- /src/keep/单臂哑铃划船.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/单臂哑铃划船.jpeg -------------------------------------------------------------------------------- /src/keep/反握卧推.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/反握卧推.jpeg -------------------------------------------------------------------------------- /src/keep/哑铃上斜卧推.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃上斜卧推.jpg -------------------------------------------------------------------------------- /src/keep/哑铃侧平举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃侧平举.gif -------------------------------------------------------------------------------- /src/keep/哑铃俯身飞鸟.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃俯身飞鸟.gif -------------------------------------------------------------------------------- /src/keep/哑铃前平举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃前平举.gif -------------------------------------------------------------------------------- /src/keep/哑铃平板卧推.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃平板卧推.jpg -------------------------------------------------------------------------------- /src/keep/哑铃硬拉.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃硬拉.jpg -------------------------------------------------------------------------------- /src/keep/哑铃箭步蹲.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃箭步蹲.gif -------------------------------------------------------------------------------- /src/keep/哑铃集中弯举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/哑铃集中弯举.gif -------------------------------------------------------------------------------- /src/keep/坐姿哑铃推举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/坐姿哑铃推举.gif -------------------------------------------------------------------------------- /src/keep/坐姿杠铃颈前推举.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/坐姿杠铃颈前推举.gif -------------------------------------------------------------------------------- /src/keep/坐姿颈后哑铃臂屈伸.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/坐姿颈后哑铃臂屈伸.jpeg -------------------------------------------------------------------------------- /src/keep/平板哑铃飞鸟.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/平板哑铃飞鸟.gif -------------------------------------------------------------------------------- /src/keep/斜板额前弯举.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/斜板额前弯举.jpeg -------------------------------------------------------------------------------- /src/keep/杠铃硬拉.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/杠铃硬拉.jpg -------------------------------------------------------------------------------- /src/keep/杠铃箭步蹲.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/杠铃箭步蹲.gif -------------------------------------------------------------------------------- /src/keep/板凳撑.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/板凳撑.jpeg -------------------------------------------------------------------------------- /src/keep/牧师凳哑铃弯举.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/牧师凳哑铃弯举.jpeg -------------------------------------------------------------------------------- /src/keep/站姿锤式哑铃弯举.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/站姿锤式哑铃弯举.jpeg -------------------------------------------------------------------------------- /src/keep/站姿颈后哑铃臂屈伸.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/站姿颈后哑铃臂屈伸.jpeg -------------------------------------------------------------------------------- /src/keep/胸肌臂屈伸.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/胸肌臂屈伸.jpg -------------------------------------------------------------------------------- /src/keep/躺姿额头哑铃臂屈伸.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/keep/躺姿额头哑铃臂屈伸.jpeg -------------------------------------------------------------------------------- /src/koa/.eslintignore: -------------------------------------------------------------------------------- 1 | dist/*.js 2 | config/*.js 3 | -------------------------------------------------------------------------------- /src/koa/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /src/koa/README.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - koa从头实现:https://mp.weixin.qq.com/s/DHHu-lUOOmLYw57H05LaBg 3 | - [webpack4+koa2+ejs](https://github.com/arnoldczhang/multi_page_app_template.git) 4 | - [从零开始搭建koa基础框架](https://juejin.im/post/5cebea5e5188252dc544ed00?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com) -------------------------------------------------------------------------------- /src/koa/config/constant.d.ts: -------------------------------------------------------------------------------- 1 | declare enum CODE { 2 | SUCCESS = 0, 3 | FAIL = 1, 4 | NOLOGIN = 2, 5 | } 6 | declare const LEANCLOUD: { 7 | appId: string; 8 | appKey: string; 9 | }; 10 | declare const MSG: { 11 | ACTFAIL: string; 12 | }; 13 | declare function FUNC(value: T): T; 14 | export { CODE, MSG, LEANCLOUD, FUNC }; 15 | -------------------------------------------------------------------------------- /src/koa/controller/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | [x: string]: any; 3 | }; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /src/koa/controller/index.ts: -------------------------------------------------------------------------------- 1 | import { user } from './user'; 2 | 3 | export default { 4 | ...user, 5 | } 6 | -------------------------------------------------------------------------------- /src/koa/controller/user.d.ts: -------------------------------------------------------------------------------- 1 | import { AssetOptions } from '../interface'; 2 | export declare const user: AssetOptions; 3 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/api.d.ts: -------------------------------------------------------------------------------- 1 | export declare function fetchCircuits(): Promise; 2 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/api.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const fetch = require("isomorphic-fetch"); 4 | function fetchCircuits() { 5 | return fetch("https://api.github.com/repos/jasonboy/wechat-jssdk/branches") 6 | .then(res => res.json()) 7 | .then(res => res); 8 | } 9 | exports.fetchCircuits = fetchCircuits; 10 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/api.ts: -------------------------------------------------------------------------------- 1 | import * as fetch from "isomorphic-fetch"; 2 | 3 | export function fetchCircuits() { 4 | return fetch( "https://api.github.com/repos/jasonboy/wechat-jssdk/branches" ) 5 | .then(res => res.json()) 6 | .then(res => res); 7 | } 8 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/client.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/About.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseProps } from "../types"; 3 | declare const About: React.FC; 4 | export default About; 5 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/About.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const React = require("react"); 4 | const About = () => React.createElement("h2", null, "This is the about page"); 5 | exports.default = About; 6 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/About.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseProps } from "../types"; 3 | 4 | const About: React.FC = () => ( 5 |

This is the about page

6 | ); 7 | 8 | export default About; 9 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Contact.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseProps } from "../types"; 3 | declare const Contact: React.FC; 4 | export default Contact; 5 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Header.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | interface HelloProps { 3 | loggedIn: boolean; 4 | } 5 | declare const _default: import("react-redux").ConnectedComponentClass, Pick>; 6 | export default _default; 7 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Layout.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseState, BaseProps } from "../types"; 3 | declare class Layout extends React.Component { 4 | constructor(props?: {}); 5 | render(): JSX.Element; 6 | } 7 | export default Layout; 8 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Secret.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseProps } from "../types"; 3 | declare const Secret: React.FC; 4 | export default Secret; 5 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Secret.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const React = require("react"); 4 | const Secret = () => React.createElement("h2", null, "This is the secret page"); 5 | exports.default = Secret; 6 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/components/Secret.tsx: -------------------------------------------------------------------------------- 1 | import * as React from "react"; 2 | import { BaseProps } from "../types"; 3 | 4 | const Secret: React.FC = () => ( 5 |

This is the secret page

6 | ); 7 | 8 | export default Secret; 9 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/render-dom.d.ts: -------------------------------------------------------------------------------- 1 | /// 2 | import { IncomingMessage } from "http"; 3 | import { Store } from "redux"; 4 | declare const getRenderDom: (context: any, req: IncomingMessage, store: Store) => string; 5 | export default getRenderDom; 6 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/routes.d.ts: -------------------------------------------------------------------------------- 1 | import { CO } from "./types"; 2 | declare const routes: Array; 3 | export default routes; 4 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/server.d.ts: -------------------------------------------------------------------------------- 1 | export {}; 2 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/types/common.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/types/index.d.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; 2 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/types/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from './common'; -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/types/koa-webpack-dev-middleware.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'koa-webpack-dev-middleware'; 2 | 3 | declare module 'koa-webpack-hot-middleware'; 4 | 5 | declare module 'write-file-webpack-plugin'; 6 | 7 | declare module 'clean-webpack-plugin'; 8 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/src/utils.d.ts: -------------------------------------------------------------------------------- 1 | import { CO } from "./types"; 2 | export declare function htmlTemplate(reactDom: string, reduxState: CO, helmetData: CO): string; 3 | -------------------------------------------------------------------------------- /src/koa/example/koa-ssr/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:latest", 3 | "rules": { 4 | "ban-comma-operator": false, 5 | "no-empty": [true, "allow-empty-catch"], 6 | "no-import-side-effect": false, 7 | "no-var-keyword": false, 8 | "no-var-requires": false, 9 | "prefer-conditional-expression": false 10 | } 11 | } -------------------------------------------------------------------------------- /src/koa/public/demo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | test 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /src/koa/public/images/bk3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/koa/public/images/bk3.png -------------------------------------------------------------------------------- /src/koa/router.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/koa/router.d.ts -------------------------------------------------------------------------------- /src/koa/server.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/koa/server.d.ts -------------------------------------------------------------------------------- /src/koa/service/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | [x: string]: any; 3 | }; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /src/koa/service/index.ts: -------------------------------------------------------------------------------- 1 | import { user } from './user'; 2 | 3 | export default { 4 | ...user, 5 | } 6 | -------------------------------------------------------------------------------- /src/koa/service/user.d.ts: -------------------------------------------------------------------------------- 1 | import 'leancloud-realtime'; 2 | import { AssetOptions } from '../interface'; 3 | export declare const user: AssetOptions; 4 | -------------------------------------------------------------------------------- /src/koa/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:latest", 3 | "rules": { 4 | "ban-comma-operator": false, 5 | "no-empty": [true, "allow-empty-catch"], 6 | "no-import-side-effect": false, 7 | "no-var-keyword": false, 8 | "no-var-requires": false, 9 | "prefer-conditional-expression": false 10 | } 11 | } -------------------------------------------------------------------------------- /src/koa/utils/response.d.ts: -------------------------------------------------------------------------------- 1 | import { Response } from '../interface'; 2 | export declare const response: Response; 3 | -------------------------------------------------------------------------------- /src/koa/utils/response.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | exports.response = { 4 | code: 0, 5 | subcode: 0, 6 | data: {}, 7 | message: '', 8 | errorMessage: '', 9 | }; 10 | -------------------------------------------------------------------------------- /src/koa/utils/response.ts: -------------------------------------------------------------------------------- 1 | import { 2 | Response, 3 | } from '../interface'; 4 | 5 | export const response: Response = { 6 | code: 0, 7 | subcode: 0, 8 | data: {}, 9 | message: '', 10 | errorMessage: '', 11 | }; 12 | -------------------------------------------------------------------------------- /src/less/README.md: -------------------------------------------------------------------------------- 1 | # less 2 | 3 | ## node使用 4 | 详见[postcss原理](../postcss/postcss.js) 5 | 6 | ## 一些用法 7 | 8 | ### css变量替换 9 | 10 | ```less 11 | :root { 12 | --deep-color: #252626; 13 | } 14 | 15 | # 外部用这个变量 16 | @text-deep-color:var(--deep-color); 17 | ``` 18 | 19 | 20 | 21 | ## 坑 22 | [calc计算错误](https://blog.csdn.net/u011628981/article/details/80521602) 23 | -------------------------------------------------------------------------------- /src/lighthouse/config引用关系.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/lighthouse/config引用关系.png -------------------------------------------------------------------------------- /src/lighthouse/example.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/lighthouse/example.png -------------------------------------------------------------------------------- /src/lighthouse/lang-data/README.md: -------------------------------------------------------------------------------- 1 | # 训练模型 2 | 去[这里](https://github.com/naptha/tessdata)下载 -------------------------------------------------------------------------------- /src/lighthouse/lighthouse架构.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/lighthouse/lighthouse架构.jpeg -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | src/components/npm 3 | -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .DS_STORE 3 | /dist 4 | node_modules/ 5 | npm-debug.log 6 | .vscode/ 7 | mock/data/ 8 | coverage/ 9 | *.iml 10 | package-lock.json 11 | -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/.npmignore: -------------------------------------------------------------------------------- 1 | .babelrc 2 | .eslintignore 3 | .eslintrc 4 | gulpfile.js 5 | webpack.config.js 6 | commitlint.config.js 7 | docs 8 | docs.yml 9 | src 10 | -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | 7 | 8 | **Note:** git init 9 | -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/README.md: -------------------------------------------------------------------------------- 1 | # lighthouse-plugin-arnold-diy 2 | 3 | ## 介绍 4 | 5 | ## 安装 6 | 7 | ## 使用说明 8 | 9 | ## 示例 10 | 11 | ## 未来规划 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-arnold-diy/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lighthouse-plugin-arnold-diy", 3 | "main": "plugin.js", 4 | "peerDependencies": { 5 | "lighthouse": "^5.6.0" 6 | }, 7 | "devDependencies": { 8 | "lighthouse": "^5.6.0" 9 | } 10 | } -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-demo/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "lighthouse-plugin-demo", 3 | "main": "plugin.js", 4 | "peerDependencies": { 5 | "lighthouse": "^5.6.0" 6 | }, 7 | "devDependencies": { 8 | "lighthouse": "^5.6.0" 9 | } 10 | } -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-demo/plugin.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/lighthouse/plugins/lighthouse-plugin-demo/plugin.js -------------------------------------------------------------------------------- /src/lighthouse/plugins/lighthouse-plugin-demo/src/audits/demo-audit.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/lighthouse/plugins/lighthouse-plugin-demo/src/audits/demo-audit.js -------------------------------------------------------------------------------- /src/linux-server/shell.md: -------------------------------------------------------------------------------- 1 | # shell 2 | 3 | ## 常用命令 4 | 5 | ### 批量写入多个文件 6 | ```sh 7 | for file in $(find . -name "*.customfile") 8 | do 9 | echo "xxx" > $file 10 | done 11 | ``` -------------------------------------------------------------------------------- /src/linux-server/常用命令.md: -------------------------------------------------------------------------------- 1 | # 常用命令 2 | 3 | ## xx 4 | - 查看端口占用: lsof -i:80 5 | - 查看文件中某行到某行:sed -n '5,10p' filename 6 | - 查看进程详情:ps -f -C 进程名字 7 | - 删进程:kill -s 9 pid 8 | - 实时查看某个文件:tail -f 文件路径 9 | - 查看内存使用情况:top 10 | - 删除.DS_store:find /Users/路径 ".DS_Store" -type f -delete 11 | 12 | -------------------------------------------------------------------------------- /src/lowcode/README.md: -------------------------------------------------------------------------------- 1 | # lowcode 2 | 3 | ## 参考 4 | 5 | - [bubble.io](https://bubble.io/) -------------------------------------------------------------------------------- /src/lynt/lynt.js: -------------------------------------------------------------------------------- 1 | /** 2 | * lynt 3 | * 4 | * zero config lint 5 | * 6 | * https://github.com/saadq/lynt 7 | * 8 | */ 9 | const test = 'hello world'; 10 | console.log(test); -------------------------------------------------------------------------------- /src/markdown/markdown.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/markdown/markdown.png -------------------------------------------------------------------------------- /src/markdown/test.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | index 4 | 5 | 6 |
7 | 8 | 11 | 12 | -------------------------------------------------------------------------------- /src/microservice/微前端.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/microservice/微前端.png -------------------------------------------------------------------------------- /src/miniprogram/image/index.js: -------------------------------------------------------------------------------- 1 | const { 2 | compileStart, 3 | compileImageFiles, 4 | compileFinish, 5 | } = require('../build'); 6 | 7 | const compileImage = async () => { 8 | compileStart(); 9 | await compileImageFiles(); 10 | compileFinish(); 11 | }; 12 | compileImage(); 13 | -------------------------------------------------------------------------------- /src/miniprogram/js/index.js: -------------------------------------------------------------------------------- 1 | const { 2 | compileStart, 3 | compileJsFiles, 4 | compileFinish, 5 | } = require('../build'); 6 | 7 | compileStart(); 8 | compileJsFiles(); 9 | compileFinish(); 10 | -------------------------------------------------------------------------------- /src/miniprogram/json/index.js: -------------------------------------------------------------------------------- 1 | const { 2 | compileStart, 3 | compileJsonFiles, 4 | compileFinish, 5 | } = require('../build'); 6 | 7 | compileStart(); 8 | compileJsonFiles(); 9 | compileFinish(); 10 | -------------------------------------------------------------------------------- /src/miniprogram/pension/README.md: -------------------------------------------------------------------------------- 1 | # 云开发 quickstart 2 | 3 | 这是云开发的快速启动指引,其中演示了如何上手使用云开发的三大基础能力: 4 | 5 | - 数据库:一个既可在小程序前端操作,也能在云函数中读写的 JSON 文档型数据库 6 | - 文件存储:在小程序前端直接上传/下载云端文件,在云开发控制台可视化管理 7 | - 云函数:在云端运行的代码,微信私有协议天然鉴权,开发者只需编写业务逻辑代码 8 | 9 | ## 参考文档 10 | 11 | - [云开发文档](https://developers.weixin.qq.com/miniprogram/dev/wxcloud/basis/getting-started.html) 12 | 13 | -------------------------------------------------------------------------------- /src/miniprogram/pension/cloudfunctions/service/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "service", 3 | "version": "1.0.0", 4 | "description": "", 5 | "main": "index.js", 6 | "scripts": { 7 | "test": "echo \"Error: no test specified\" && exit 1" 8 | }, 9 | "author": "", 10 | "license": "ISC", 11 | "dependencies": { 12 | "wx-server-sdk": "^0.5.0" 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/app.wxss: -------------------------------------------------------------------------------- 1 | /**app.wxss**/ 2 | .container { 3 | box-sizing: border-box; 4 | } 5 | -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/images/oldman.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/pension/miniprogram/images/oldman.jpg -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/images/qrcode.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/pension/miniprogram/images/qrcode.png -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/index/index.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/question/question.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/question/question.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/question/question.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/pages/question/quesiton.wxss */ 2 | .img { 3 | height: 100vh; 4 | width: 100vw; 5 | } -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/result/result.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/web-view/web-view.json: -------------------------------------------------------------------------------- 1 | { 2 | "usingComponents": {} 3 | } -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/web-view/web-view.wxml: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /src/miniprogram/pension/miniprogram/pages/web-view/web-view.wxss: -------------------------------------------------------------------------------- 1 | /* miniprogram/pages/web-view.wxss */ -------------------------------------------------------------------------------- /src/miniprogram/preParser/README.md: -------------------------------------------------------------------------------- 1 | # 小程序代码预处理 2 | 3 | ## 功能 4 | - 拦截全局my 5 | - 拦截this(TODO) 6 | - webpack压缩 7 | - 未完待续... 8 | -------------------------------------------------------------------------------- /src/miniprogram/preParser/parser/wx.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/preParser/parser/wx.js -------------------------------------------------------------------------------- /src/miniprogram/preParser/reg.js: -------------------------------------------------------------------------------- 1 | const webpackCommentRE = /\/\*{3}\/\s+("[^"]+"):\s+\/\*\![\*\\\/\!\s\w\.\?\=\(\)\$@_\-]+\*\/\s+\/\*\!\s[^*]+\s\*\/\s+\/\*{3}\/\s+/g; 2 | 3 | const myRE = /(?:_|)my(?:\d+|)/; 4 | 5 | exports.webpackCommentRE = webpackCommentRE; 6 | 7 | exports.myRE = myRE; 8 | -------------------------------------------------------------------------------- /src/miniprogram/wxml/index.js: -------------------------------------------------------------------------------- 1 | const { 2 | compileStart, 3 | compileWxmlFiles, 4 | compileFinish, 5 | } = require('../build'); 6 | 7 | compileStart(); 8 | compileWxmlFiles(); 9 | compileFinish(); 10 | -------------------------------------------------------------------------------- /src/miniprogram/wxss/index.js: -------------------------------------------------------------------------------- 1 | const { 2 | compileStart, 3 | compileImageFiles, 4 | compileWxssFiles, 5 | compileFinish, 6 | } = require('../build'); 7 | 8 | const compileWxss = async () => { 9 | compileStart(); 10 | await compileImageFiles(); 11 | compileWxssFiles(); 12 | compileFinish(); 13 | }; 14 | compileWxss(); -------------------------------------------------------------------------------- /src/miniprogram/原webview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/原webview.png -------------------------------------------------------------------------------- /src/miniprogram/双线程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/双线程.png -------------------------------------------------------------------------------- /src/miniprogram/各端小程序对比.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/各端小程序对比.jpeg -------------------------------------------------------------------------------- /src/miniprogram/支付宝小程序架构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/miniprogram/支付宝小程序架构.png -------------------------------------------------------------------------------- /src/mobx/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 11 | 12 | -------------------------------------------------------------------------------- /src/mobx/react16 diff.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16 diff.pdf -------------------------------------------------------------------------------- /src/mobx/react16-diff.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16-diff.png -------------------------------------------------------------------------------- /src/mobx/react16-init.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16-init.pdf -------------------------------------------------------------------------------- /src/mobx/react16-init.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16-init.png -------------------------------------------------------------------------------- /src/mobx/react16-rerender.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16-rerender.pdf -------------------------------------------------------------------------------- /src/mobx/react16-rerender.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/react16-rerender.png -------------------------------------------------------------------------------- /src/mobx/src/actions/listpage.js: -------------------------------------------------------------------------------- 1 | export default { 2 | counter() { 3 | const { 4 | indexStore, 5 | } = this.props; 6 | console.log('list-action'); 7 | indexStore.mainTitle = Math.random(); 8 | }, 9 | }; 10 | -------------------------------------------------------------------------------- /src/mobx/src/actions/main.js: -------------------------------------------------------------------------------- 1 | export default { 2 | counter() { 3 | const { 4 | indexStore, 5 | listPageStore, 6 | } = this.props; 7 | console.log(11221); 8 | // indexStore.title = Math.random(); 9 | listPageStore.list = [3, 2, 1]; 10 | }, 11 | }; 12 | -------------------------------------------------------------------------------- /src/mobx/src/pages/listPage/log.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/mobx/src/pages/listPage/log.js -------------------------------------------------------------------------------- /src/mobx/src/selectors/listPage.js: -------------------------------------------------------------------------------- 1 | export default ({ 2 | store: { 3 | index: indexStore, 4 | listPage: { 5 | list, 6 | }, 7 | }, 8 | }) => ({ 9 | indexStore, 10 | list, 11 | }); 12 | -------------------------------------------------------------------------------- /src/mobx/src/selectors/main.js: -------------------------------------------------------------------------------- 1 | export default ({ 2 | store: { 3 | index: indexStore, 4 | listPage: listPageStore, 5 | } 6 | }) => ({ 7 | indexStore, 8 | listPageStore, 9 | }) 10 | -------------------------------------------------------------------------------- /src/mobx/src/stores/index.js: -------------------------------------------------------------------------------- 1 | import index from './main'; 2 | import listPage from './listPage'; 3 | 4 | export default { 5 | index, 6 | listPage, 7 | } 8 | -------------------------------------------------------------------------------- /src/mobx/src/stores/listPage.js: -------------------------------------------------------------------------------- 1 | export default { 2 | list: [1, 2, 3], 3 | } 4 | -------------------------------------------------------------------------------- /src/mobx/src/stores/main.js: -------------------------------------------------------------------------------- 1 | export default { 2 | mainTitle: 'main', 3 | title: 'listpage', 4 | } 5 | -------------------------------------------------------------------------------- /src/mongodb/README.md: -------------------------------------------------------------------------------- 1 | # mongodb 2 | 3 | ## 参考 4 | - [安装教程](https://www.runoob.com/mongodb/mongodb-linux-install.html) 5 | - [mongoose-with-express](https://github.com/madhums/node-express-mongoose-demo) 6 | - [mongoose-with-typescript](hhttps://github.com/tomanagle/Mongoose-TypeScript-example) -------------------------------------------------------------------------------- /src/music/README.md: -------------------------------------------------------------------------------- 1 | # 音乐 2 | 3 | [咪咕音乐](https://github.com/zonemeen/musicn) 4 | 5 | ```sh 6 | npm install musicn -g 7 | ``` 8 | 9 | -------------------------------------------------------------------------------- /src/nasa/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/nasa/index.html -------------------------------------------------------------------------------- /src/nativescript/README.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - nativescript + vue:https://nativescript-vue.org/en/docs/getting-started/quick-start/ -------------------------------------------------------------------------------- /src/next/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "next/babel", 4 | "@zeit/next-typescript/babel" 5 | ] 6 | } -------------------------------------------------------------------------------- /src/next/models/index.ts: -------------------------------------------------------------------------------- 1 | import header from './header'; 2 | 3 | export default { 4 | header, 5 | }; 6 | -------------------------------------------------------------------------------- /src/next/pages/index.less: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } -------------------------------------------------------------------------------- /src/next/pages/index.tsx: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { Provider } from 'react-redux'; 3 | import 'antd/dist/antd.css'; 4 | 5 | import './index.less'; 6 | import App from '../app/App'; 7 | import store from '../store'; 8 | 9 | export default () => ( 10 | 11 | 12 | 13 | ); 14 | -------------------------------------------------------------------------------- /src/next/store/index.ts: -------------------------------------------------------------------------------- 1 | import { init } from '@rematch/core'; 2 | import models from '../models'; 3 | 4 | export default init({ 5 | models, 6 | }); 7 | -------------------------------------------------------------------------------- /src/next/types/index.ts: -------------------------------------------------------------------------------- 1 | export interface stateInterface { 2 | header: S, 3 | } 4 | 5 | export interface headerInterface { 6 | name?: string, 7 | } 8 | -------------------------------------------------------------------------------- /src/node/cheerio/app.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | const importJsx = require('import-jsx'); 4 | module.exports = importJsx('./monitor.jsx'); 5 | -------------------------------------------------------------------------------- /src/node/cheerio/config/cat.json: -------------------------------------------------------------------------------- 1 | { 2 | "interval": 20000, 3 | "last": { 4 | "day": "2019-05-09", 5 | "startTime": "8:30", 6 | "endTime": "20:30" 7 | }, 8 | "now": { 9 | "day": "2019-05-10", 10 | "startTime": "8:30", 11 | "endTime": "20:30" 12 | }, 13 | "table": { 14 | 15 | } 16 | } -------------------------------------------------------------------------------- /src/node/cheerio/config/trend.json: -------------------------------------------------------------------------------- 1 | { 2 | "interval": 60000, 3 | "delay" : 120000, 4 | "table": { 5 | } 6 | } -------------------------------------------------------------------------------- /src/node/cheerio/constants.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | HOUR: 60, 3 | SPACE: ' ', 4 | HORIZON: '-', 5 | VERTICAL: '|', 6 | }; -------------------------------------------------------------------------------- /src/node/cheerio/test/index.js: -------------------------------------------------------------------------------- 1 | const dateFormat =require('dateformat'); 2 | 3 | console.log(dateFormat(Date.now(), 'yyyymmddhhMM')); -------------------------------------------------------------------------------- /src/node/codemirror.md: -------------------------------------------------------------------------------- 1 | # codemirror 2 | 3 | ## 参考 4 | 5 | - [options](https://codemirror.net/doc/manual.html#config) 6 | 7 | -------------------------------------------------------------------------------- /src/node/koa-ts/.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | src/assets 3 | *.zip 4 | package.json 5 | dist -------------------------------------------------------------------------------- /src/node/koa-ts/.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | dist/ 3 | npm-debug.log* 4 | yarn-debug.log* 5 | yarn-error.log* 6 | *.zip 7 | .vscode/ 8 | lib 9 | .jscpd/ 10 | .idea/ 11 | node_modules/* 12 | logs/ 13 | -------------------------------------------------------------------------------- /src/node/koa-ts/check.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | APPID="AppFeAPMService" 3 | 4 | count=`ps -efww | grep "node /workspace/carkey/$APPID" | grep -v "grep" | wc -l` 5 | if [ 0 == $count ]; 6 | then 7 | echo 'error!' 8 | else 9 | echo 'success'; 10 | fi -------------------------------------------------------------------------------- /src/node/koa-ts/env.js: -------------------------------------------------------------------------------- 1 | module.exports = 'dev'; 2 | -------------------------------------------------------------------------------- /src/node/koa-ts/jest.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | roots: ['/src'], 3 | testMatch: [ 4 | '**/__tests__/**/*.+(ts|tsx|js)', 5 | '**/?(*.)+(spec|test).+(ts|tsx|js)', 6 | ], 7 | transform: { 8 | '^.+\\.(ts|tsx)$': 'ts-jest', 9 | }, 10 | }; 11 | -------------------------------------------------------------------------------- /src/node/koa-ts/src/domain/service/AbstractServiceV2.ts: -------------------------------------------------------------------------------- 1 | import AbstractService from './AbstractService'; 2 | 3 | export default abstract class AbstractServiceV2 extends AbstractService { 4 | /** 5 | * 适配查询 6 | * 7 | * 用于在通用查询之前做统一的where条件适配 8 | * 9 | * 注:请在实体类中具体实现 10 | * 11 | */ 12 | abstract adaptQuery(...args: any[]): string; 13 | } 14 | -------------------------------------------------------------------------------- /src/node/koa-ts/src/sql.ts: -------------------------------------------------------------------------------- 1 | 2 | export const ERROR_TYPE = ` 3 | errorType in ( 4 | 'SyntaxError', 5 | 'TypeError', 6 | 'ReferenceError', 7 | 'RangeError', 8 | 'URIError', 9 | 'error', 10 | 'Error', 11 | 'UnhandledRejection', 12 | 'Unknow' 13 | ) 14 | `; 15 | 16 | export default {}; 17 | -------------------------------------------------------------------------------- /src/node/koa-ts/src/types/async/queue.d.ts: -------------------------------------------------------------------------------- 1 | import { queue } from 'async'; 2 | export = queue; 3 | -------------------------------------------------------------------------------- /src/node/koa-ts/src/utils/SmartSql/AnySql.ts: -------------------------------------------------------------------------------- 1 | export default abstract class AnySql { 2 | [key: string]: T; 3 | } 4 | -------------------------------------------------------------------------------- /src/node/koa-ts/src/utils/fs-promise.ts: -------------------------------------------------------------------------------- 1 | import * as fs from 'fs'; 2 | import * as util from 'util'; 3 | 4 | export const writeFile = util.promisify(fs.writeFile); 5 | export const readFile = util.promisify(fs.readFile); 6 | export const exists = util.promisify(fs.exists); 7 | export const unlink = util.promisify(fs.unlink); 8 | -------------------------------------------------------------------------------- /src/node/mailer/README.md: -------------------------------------------------------------------------------- 1 | # nodemailer 2 | 3 | ## 参考 4 | - [ts下用法](https://subscription.packtpub.com/book/application_development/9781786468710/12/ch12lvl1sec71/sending-mail) -------------------------------------------------------------------------------- /src/node/mynode/app.js: -------------------------------------------------------------------------------- 1 | const express = require('express'); 2 | const request = require('request'); 3 | 4 | const app = express(); 5 | 6 | app.get('/user', function(req, res) { 7 | res.status(200).json({ name: 'tobi' }); 8 | }); 9 | 10 | app.listen(3000); 11 | 12 | request({ 13 | url: 'http://localhost:3000/user', 14 | }, (res) => { 15 | console.log(res); 16 | }); -------------------------------------------------------------------------------- /src/node/nestjs/README.md: -------------------------------------------------------------------------------- 1 | # nestjs 2 | 3 | > nestjs + mongoose 实操 4 | 5 | ## 参考 6 | - [官方文档](https://docs.nestjs.com/middleware) 7 | 8 | ## 介绍 9 | - 工程化node项目 10 | - 神似ng2+ 11 | 12 | 13 | 14 | -------------------------------------------------------------------------------- /src/node/nestjs/nest-cli.json: -------------------------------------------------------------------------------- 1 | { 2 | "collection": "@nestjs/schematics", 3 | "sourceRoot": "src" 4 | } 5 | -------------------------------------------------------------------------------- /src/node/nestjs/src/const/config.ts: -------------------------------------------------------------------------------- 1 | export const config = { 2 | port: 1234, 3 | dab: 'mongodb://localhost:27017/xxxxxx', 4 | }; 5 | -------------------------------------------------------------------------------- /src/node/nestjs/src/const/index.ts: -------------------------------------------------------------------------------- 1 | export const CODE = { 2 | SUCCESS: 0, 3 | FAIL: 1, 4 | }; 5 | 6 | export const STATE = { 7 | STATIC: 0, 8 | WAIT: 1, 9 | DISPATCH: 2, 10 | }; 11 | -------------------------------------------------------------------------------- /src/node/nestjs/tsconfig.build.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "./tsconfig.json", 3 | "exclude": ["node_modules", "test", "dist", "**/*spec.ts"] 4 | } 5 | -------------------------------------------------------------------------------- /src/node/node-event-loop.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/node-event-loop.jpg -------------------------------------------------------------------------------- /src/node/node-server.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/node-server.png -------------------------------------------------------------------------------- /src/node/pipeline/README.md: -------------------------------------------------------------------------------- 1 | # 模拟流水线 -------------------------------------------------------------------------------- /src/node/playwright/README.md: -------------------------------------------------------------------------------- 1 | # playwright 2 | > puppeteer的替代者,支持跨浏览器,能在 Chromium、Firefox、WebKit 上运行。 3 | > 4 | > 语法基本一致。 5 | 6 | ## 参考 7 | - [参考](https://www.martinmcgee.dev/starting-microsoft-playwright/) 8 | 9 | -------------------------------------------------------------------------------- /src/node/process1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/process1.png -------------------------------------------------------------------------------- /src/node/puppeteer/test-case/README.md: -------------------------------------------------------------------------------- 1 | # test case 2 | 3 | ## 运行 4 | ```json 5 | // package.json新增命令 6 | { 7 | "test": "tsc && node dist/base-flow.js" 8 | } 9 | ``` 10 | 11 | ```cmd 12 | npm test xx=xx ... 13 | ``` -------------------------------------------------------------------------------- /src/node/puppeteer/test-case/types/global.d.ts: -------------------------------------------------------------------------------- 1 | interface ICO { 2 | [key: string]: T; 3 | } 4 | -------------------------------------------------------------------------------- /src/node/puppeteer/test-case/utils/index.ts: -------------------------------------------------------------------------------- 1 | export const getArg = (arg: ICO): ICO => arg._.reduce((res: ICO, pre: string): ICO => { 2 | const [name, value] = pre.split('='); 3 | if (name) { 4 | res[name] = value; 5 | } 6 | return res; 7 | }, {}); 8 | -------------------------------------------------------------------------------- /src/node/require加载机制.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/require加载机制.png -------------------------------------------------------------------------------- /src/node/skeleton/build/rename.ts: -------------------------------------------------------------------------------- 1 | require('fs-extra').renameSync('./dist/index.js', './dist/index.esm.js'); 2 | -------------------------------------------------------------------------------- /src/node/skeleton/skeleton.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | treeshake: true, 3 | animation: 'shine', 4 | inputDir: './src', 5 | outDir: './src', 6 | ignore: ['include'], 7 | subPackage: [{ 8 | root: 'root', 9 | page: [ 10 | 'subpage/subpage', 11 | ], 12 | }], 13 | page: [ 14 | 'page/page', 15 | ], 16 | }; 17 | -------------------------------------------------------------------------------- /src/node/skeleton/src/config/cach.ts: -------------------------------------------------------------------------------- 1 | export const PATH = 'path'; 2 | -------------------------------------------------------------------------------- /src/node/skeleton/src/config/file.ts: -------------------------------------------------------------------------------- 1 | export const CJS = 'index.cjs.js'; 2 | 3 | export const ESM = 'index.esm.js'; 4 | 5 | export const JSON_CONFIG = { 6 | USING: 'usingComponents', 7 | }; 8 | 9 | export const DEFAULT_CONFIG_FILE = 'skeleton.config.js'; 10 | -------------------------------------------------------------------------------- /src/node/skeleton/src/config/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./dir"; 2 | 3 | export * from "./file"; 4 | 5 | export * from "./tag"; 6 | 7 | export * from "./attr"; 8 | 9 | export * from "./default"; 10 | 11 | export * from "./cach"; 12 | -------------------------------------------------------------------------------- /src/node/skeleton/src/types/diy.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'html2json'; -------------------------------------------------------------------------------- /src/node/skeleton/src/types/index.ts: -------------------------------------------------------------------------------- 1 | export * from "./common"; 2 | 3 | export * from "./parser"; 4 | -------------------------------------------------------------------------------- /src/node/skeleton/test/mocha.opts: -------------------------------------------------------------------------------- 1 | --recursive -------------------------------------------------------------------------------- /src/node/vuepress-generator/README.md: -------------------------------------------------------------------------------- 1 | # 项目检测工具 -------------------------------------------------------------------------------- /src/node/vuepress-generator/types/html2json.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'html2json'; 2 | declare module 'espree'; 3 | declare module 'madge'; 4 | declare module 'css2less'; -------------------------------------------------------------------------------- /src/node/vuepress-generator/utils/logger.ts: -------------------------------------------------------------------------------- 1 | import chalk from 'chalk'; 2 | 3 | export const success = (text: string) => console.log(chalk.green(text)); 4 | 5 | export const warn = (text: string) => console.log(chalk.yellow(text)); 6 | 7 | export const error = (text: string) => { 8 | console.log(chalk.red(text)); 9 | throw new Error(text); 10 | }; 11 | -------------------------------------------------------------------------------- /src/node/事件循环.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/事件循环.png -------------------------------------------------------------------------------- /src/node/新版检测更新.md: -------------------------------------------------------------------------------- 1 | # 新版检测更新 2 | 3 | ## 依赖 4 | 5 | - npm-check-updates 6 | - execa 7 | 8 | ## 代码 9 | 10 | ```js 11 | import { run as ncuRun } from 'npm-check-updates'; 12 | import execa = require('execa'); 13 | ``` 14 | 15 | -------------------------------------------------------------------------------- /src/node/查看cpu.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/查看cpu.png -------------------------------------------------------------------------------- /src/node/滴滴nodeX生态.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/node/滴滴nodeX生态.png -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/.eslintignore: -------------------------------------------------------------------------------- 1 | node_modules/ 2 | src/components/npm 3 | -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/.gitignore: -------------------------------------------------------------------------------- 1 | .idea/ 2 | .DS_STORE 3 | /dist 4 | node_modules/ 5 | npm-debug.log 6 | .vscode/ 7 | mock/data/ 8 | coverage/ 9 | *.iml 10 | package-lock.json 11 | -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/.npmignore: -------------------------------------------------------------------------------- 1 | .babelrc 2 | .eslintignore 3 | .eslintrc 4 | gulpfile.js 5 | webpack.config.js 6 | commitlint.config.js 7 | docs 8 | docs.yml 9 | src 10 | -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | # Change Log 2 | 3 | All notable changes to this project will be documented in this file. 4 | See [Conventional Commits](https://conventionalcommits.org) for commit guidelines. 5 | 6 | 7 | ## [0.0.1](2018-11-27) 8 | 9 | **Note:** git init 10 | -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/README.md: -------------------------------------------------------------------------------- 1 | # test 2 | 3 | ## 介绍 4 | 5 | ## 安装 6 | 7 | ## 使用说明 8 | 9 | ## 示例 10 | 11 | ## 未来规划 12 | 13 | 14 | 15 | 16 | -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/src/index.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | test: require('./lib/test.js'), 3 | }; -------------------------------------------------------------------------------- /src/npm&yarn/common-npm-pkg/src/lib/test.js: -------------------------------------------------------------------------------- 1 | module.exports = () => { 2 | // TODO 3 | }; -------------------------------------------------------------------------------- /src/npm&yarn/npm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/npm&yarn/npm2.png -------------------------------------------------------------------------------- /src/npm&yarn/npm3对比npm2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/npm&yarn/npm3对比npm2.png -------------------------------------------------------------------------------- /src/npm&yarn/npm3模块冗余.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/npm&yarn/npm3模块冗余.png -------------------------------------------------------------------------------- /src/ow/ow.js: -------------------------------------------------------------------------------- 1 | /** 2 | * 校验schema 3 | */ 4 | const ow = require('ow'); 5 | const unicorn = input => { 6 | ow(input, ow.string.minLength(5)); 7 | }; 8 | // unicorn('12'); 9 | // unicorn('a'); -------------------------------------------------------------------------------- /src/parcel/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | index 4 | 5 | 6 |

index2

7 | 8 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /src/parcel/index.js: -------------------------------------------------------------------------------- 1 | import './index.scss'; 2 | console.log(12); -------------------------------------------------------------------------------- /src/parcel/index.scss: -------------------------------------------------------------------------------- 1 | body { 2 | background: steelblue; 3 | color: white; 4 | } -------------------------------------------------------------------------------- /src/pg/README.md: -------------------------------------------------------------------------------- 1 | # pg 2 | 3 | ## 参考 4 | - [配置参考](https://postgresqlco.nf/en/doc/param/) -------------------------------------------------------------------------------- /src/postcss/postcss-markdown.js: -------------------------------------------------------------------------------- 1 | const remark = require("remark"); 2 | const path = require("path"); 3 | const { 4 | readFileSync, 5 | writeFile, 6 | } = require('fs-extra'); 7 | const getPath = filePath => path.join(__dirname, filePath); 8 | 9 | const ast = remark().parse(readFileSync(getPath('./test.md'), 'utf8')); 10 | 11 | console.log(ast); 12 | -------------------------------------------------------------------------------- /src/postcss/postcss.config.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | // switch syntax automatically by file extensions 3 | parser: 'postcss-syntax', 4 | plugins: [ 5 | require('postcss-markdown'), 6 | require('autoprefixer'), 7 | require('cssnano'), 8 | ] 9 | } -------------------------------------------------------------------------------- /src/postcss/test.css: -------------------------------------------------------------------------------- 1 | .box{background-size:20px 10px,cover;width:50%}.bb{background-size:100%;background-color:red;color:#00f}.bb .aa{-webkit-transform:translateX(90deg);transform:translateX(90deg)}.bb .aa .ff{display:block}.dd{font-size:224rpx} -------------------------------------------------------------------------------- /src/postcss/test.final.md: -------------------------------------------------------------------------------- 1 | # title 2 | 3 | ```css 4 | ::-webkit-input-placeholder{color:grey} 5 | :-ms-input-placeholder{color:grey} 6 | ::-ms-input-placeholder{color:grey} 7 | ::placeholder{color:grey}``` -------------------------------------------------------------------------------- /src/postcss/test.md: -------------------------------------------------------------------------------- 1 | # title 2 | 3 | ```css 4 | ::placeholder { 5 | color: gray; 6 | } 7 | ``` -------------------------------------------------------------------------------- /src/preact/README.md: -------------------------------------------------------------------------------- 1 | ## htm 2 | - [源码](https://github.com/developit/htm/blob/master/src/index.mjs) -------------------------------------------------------------------------------- /src/prototype/README.md: -------------------------------------------------------------------------------- 1 | ## 参考链接 2 | 3 | - https://zhuanlan.zhihu.com/p/22787302 4 | - https://juejin.im/post/5a04066351882517c416715d?utm_medium=fe&utm_source=weixinqun -------------------------------------------------------------------------------- /src/prototype/promise.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/prototype/promise.png -------------------------------------------------------------------------------- /src/python/opencv.md: -------------------------------------------------------------------------------- 1 | # opencv 2 | 3 | 4 | ```sh 5 | pip3 install opencv-python 6 | ``` -------------------------------------------------------------------------------- /src/qone/qone.js: -------------------------------------------------------------------------------- 1 | const qone = require('qone'); 2 | 3 | 4 | const list = [ 5 | { name: 'a', age: 1, }, 6 | { name: 'b', age: 2, }, 7 | { name: 'c', age: 3, }, 8 | ]; 9 | 10 | const result = qone({ 11 | list, 12 | }).query(` 13 | from item in list where item.age >= 2 select item 14 | `); 15 | 16 | console.log(result); -------------------------------------------------------------------------------- /src/react/.babelrc: -------------------------------------------------------------------------------- 1 | { 2 | "presets": [ 3 | "react", 4 | ["es2015", { "modules": false }], 5 | "stage-0" 6 | ], 7 | plugins: [ 8 | 'transform-runtime', 9 | 'transform-decorators-legacy', 10 | 'transform-class-properties' 11 | ], 12 | "env": { 13 | "test": { 14 | "sourceMaps": "inline" 15 | } 16 | } 17 | } 18 | -------------------------------------------------------------------------------- /src/react/.browserslistrc: -------------------------------------------------------------------------------- 1 | > 1% 2 | last 2 versions -------------------------------------------------------------------------------- /src/react/.postcssrc: -------------------------------------------------------------------------------- 1 | { 2 | "modules": true, 3 | "plugins": { 4 | "autoprefixer": { 5 | "grid": true 6 | } 7 | } 8 | } -------------------------------------------------------------------------------- /src/react/Fiber遍历图.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/Fiber遍历图.jpg -------------------------------------------------------------------------------- /src/react/fiber遍历过程(动画).gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/fiber遍历过程(动画).gif -------------------------------------------------------------------------------- /src/react/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | test 6 | 7 | 8 |
9 | 10 | -------------------------------------------------------------------------------- /src/react/ink-index.js: -------------------------------------------------------------------------------- 1 | require('import-jsx')('./ink-test'); -------------------------------------------------------------------------------- /src/react/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/public/favicon.ico -------------------------------------------------------------------------------- /src/react/react-16.13.1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/react-16.13.1.png -------------------------------------------------------------------------------- /src/react/react-hook.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/react-hook.jpg -------------------------------------------------------------------------------- /src/react/react16.3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/react16.3.png -------------------------------------------------------------------------------- /src/react/react17.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/react17.png -------------------------------------------------------------------------------- /src/react/react状态管理-05.md: -------------------------------------------------------------------------------- 1 | # 状态管理 2 | 3 | 参考[状态管理](https://juejin.im/post/5ce3ee436fb9a07f070e0220?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com) 4 | 5 | 6 | ## contextAPI 7 | [Unstated Next](https://github.com/jamiebuilds/unstated-next) 8 | 9 | 封装react的contextAPI,模拟状态管理 -------------------------------------------------------------------------------- /src/react/src/App.test.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import ReactDOM from 'react-dom'; 3 | import App from './App'; 4 | 5 | it('renders without crashing', () => { 6 | const div = document.createElement('div'); 7 | ReactDOM.render(, div); 8 | }); 9 | -------------------------------------------------------------------------------- /src/react/src/actions/app.js: -------------------------------------------------------------------------------- 1 | import { createAction } from 'redux-actions'; 2 | 3 | export const INIT_APP = 'INIT_APP'; 4 | 5 | const initApp = createAction(INIT_APP); 6 | 7 | export const actionInitApp = (dispatch, payload) => { 8 | dispatch(initApp(payload)); 9 | }; 10 | -------------------------------------------------------------------------------- /src/react/src/actions/index.js: -------------------------------------------------------------------------------- 1 | 2 | export * from './app'; 3 | -------------------------------------------------------------------------------- /src/react/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /src/react/src/reducers/index.js: -------------------------------------------------------------------------------- 1 | import { combineReducers } from 'redux'; 2 | 3 | // app 4 | import app from './app'; 5 | 6 | export default combineReducers({ 7 | app, 8 | }); 9 | -------------------------------------------------------------------------------- /src/react/src/selectors/app.js: -------------------------------------------------------------------------------- 1 | import { createSelector } from 'reselect'; 2 | 3 | const appSelector = state => state.app; 4 | 5 | export default createSelector( 6 | appSelector, 7 | app => ({ 8 | ...app, 9 | }), 10 | ); 11 | -------------------------------------------------------------------------------- /src/react/src/store/index.js: -------------------------------------------------------------------------------- 1 | import { createStore } from 'redux'; 2 | import reducers from '../reducers'; 3 | 4 | const store = createStore( 5 | reducers, 6 | window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__(), 7 | ); 8 | 9 | export default store; 10 | -------------------------------------------------------------------------------- /src/react/syncVSconcurrent.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/syncVSconcurrent.jpg -------------------------------------------------------------------------------- /src/react/v2-e00f66e71bd03b9d4c60d056c57be2e3_hd.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/react/v2-e00f66e71bd03b9d4c60d056c57be2e3_hd.jpg -------------------------------------------------------------------------------- /src/reactlike/.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | -------------------------------------------------------------------------------- /src/reactlike/build/common-manifest.json: -------------------------------------------------------------------------------- 1 | {"name":"common_f7f75f8dbbb434be5538","content":{"./node_modules/anujs/dist/React.js":{"id":0,"buildMeta":{"providedExports":true}},"./node_modules/webpack/buildin/global.js":{"id":1,"buildMeta":{"providedExports":true}}}} -------------------------------------------------------------------------------- /src/reactlike/src/createElement.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: (type: any, attr: Object, ...children: any[]) => Object; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /src/reactlike/src/hydrate.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: (vnode: any, el: Element) => void; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /src/reactlike/src/hydrate.js: -------------------------------------------------------------------------------- 1 | import { isString, isObject } from './utils'; 2 | export default (vnode, el) => { 3 | console.log(vnode); 4 | if (isObject(vnode)) { 5 | el.innerHTML = vnode.render(); 6 | } 7 | else if (isString(vnode)) { 8 | el.textContent = vnode; 9 | } 10 | }; 11 | //# sourceMappingURL=hydrate.js.map -------------------------------------------------------------------------------- /src/reactlike/src/hydrate.ts: -------------------------------------------------------------------------------- 1 | import { isString, isObject } from './utils'; 2 | 3 | export default (vnode: any, el: Element): void => { 4 | console.log(vnode); 5 | if (isObject(vnode)) { 6 | el.innerHTML = vnode.render(); 7 | } else if (isString(vnode)) { 8 | el.textContent = vnode; 9 | } 10 | }; 11 | -------------------------------------------------------------------------------- /src/reactlike/src/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | hydrate: (msg?: string) => void; 3 | }; 4 | export default _default; 5 | -------------------------------------------------------------------------------- /src/reactlike/src/index.js: -------------------------------------------------------------------------------- 1 | "use strict"; 2 | Object.defineProperty(exports, "__esModule", { value: true }); 3 | const hydrate_1 = require("./hydrate"); 4 | exports.default = { 5 | hydrate: hydrate_1.default, 6 | }; 7 | -------------------------------------------------------------------------------- /src/reactlike/src/interface.d.ts: -------------------------------------------------------------------------------- 1 | export interface VNode { 2 | attr?: Object | null; 3 | children?: Array | string | null; 4 | tag?: Function | string | null; 5 | } 6 | -------------------------------------------------------------------------------- /src/reactlike/src/interface.js: -------------------------------------------------------------------------------- 1 | //# sourceMappingURL=interface.js.map -------------------------------------------------------------------------------- /src/reactlike/src/interface.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"interface.js","sourceRoot":"","sources":["interface.ts"],"names":[],"mappings":""} -------------------------------------------------------------------------------- /src/reactlike/src/interface.ts: -------------------------------------------------------------------------------- 1 | export interface VNode { 2 | attr?: Object|null; 3 | children?: Array|string|null; 4 | tag?: Function|string|null; 5 | } -------------------------------------------------------------------------------- /src/reactlike/src/react.d.ts: -------------------------------------------------------------------------------- 1 | import hydrate from './hydrate'; 2 | import Component from './Component'; 3 | declare const React: { 4 | hydrate: (vnode: any, el: Element) => void; 5 | createElement: (type: any, attr: Object, ...children: any[]) => Object; 6 | Component: typeof Component; 7 | }; 8 | export default React; 9 | export { Component, hydrate }; 10 | -------------------------------------------------------------------------------- /src/reactlike/src/utils.d.ts: -------------------------------------------------------------------------------- 1 | export declare function isString(str: T): boolean; 2 | export declare function isFunction(func: T): boolean; 3 | export declare function isObject(obj: T): boolean; 4 | -------------------------------------------------------------------------------- /src/reactlike/src/utils.js: -------------------------------------------------------------------------------- 1 | export function isString(str) { 2 | return typeof str === 'string' || str instanceof String; 3 | } 4 | ; 5 | export function isFunction(func) { 6 | return typeof func === 'function'; 7 | } 8 | ; 9 | export function isObject(obj) { 10 | return typeof obj === 'object'; 11 | } 12 | ; 13 | //# sourceMappingURL=utils.js.map -------------------------------------------------------------------------------- /src/reactlike/src/utils.ts: -------------------------------------------------------------------------------- 1 | 2 | export function isString(str: T): boolean { 3 | return typeof str === 'string' || str instanceof String; 4 | }; 5 | 6 | export function isFunction(func: T): boolean { 7 | return typeof func === 'function'; 8 | }; 9 | 10 | export function isObject(obj: T): boolean { 11 | return typeof obj === 'object'; 12 | }; 13 | -------------------------------------------------------------------------------- /src/reactlike/test/app-selector.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: ((state: any) => any) | undefined; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /src/reactlike/test/app-selector.js: -------------------------------------------------------------------------------- 1 | import createSelector from './createSelector'; 2 | const countSelector = state => state.count; 3 | const calculateSelector = state => state.calculate; 4 | export default createSelector(countSelector, calculateSelector, (count, calculate) => (Object.assign({}, count, calculate))); 5 | //# sourceMappingURL=app-selector.js.map -------------------------------------------------------------------------------- /src/reactlike/test/connect.d.ts: -------------------------------------------------------------------------------- 1 | export declare function connect(selectorFunc: Function): any; 2 | -------------------------------------------------------------------------------- /src/reactlike/test/createSelector.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: (...args: any[]) => ((state: any) => any) | undefined; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /src/reactlike/test/createStore.d.ts: -------------------------------------------------------------------------------- 1 | export declare const createStore: Function; 2 | export declare const subscribe: (listener: any) => void; 3 | -------------------------------------------------------------------------------- /src/reactlike/test/index.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/reactlike/test/index.d.ts -------------------------------------------------------------------------------- /src/reactlike/test/provider-props.d.ts: -------------------------------------------------------------------------------- 1 | import { VNode } from '../src/interface'; 2 | export declare const storeKey = "store"; 3 | export interface ProviderProps { 4 | children?: Array | VNode | null; 5 | } 6 | export interface StoreProps extends Object { 7 | subscribe?: Function | null; 8 | dispatch?: Object | null; 9 | getState?: Function | null; 10 | } 11 | -------------------------------------------------------------------------------- /src/reactlike/test/provider-props.js: -------------------------------------------------------------------------------- 1 | export const storeKey = 'store'; 2 | //# sourceMappingURL=provider-props.js.map -------------------------------------------------------------------------------- /src/reactlike/test/provider-props.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"provider-props.js","sourceRoot":"","sources":["provider-props.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,MAAM,QAAQ,GAAG,OAAO,CAAC"} -------------------------------------------------------------------------------- /src/reactlike/test/provider.d.ts: -------------------------------------------------------------------------------- 1 | import * as React from 'react'; 2 | import { ProviderProps } from './provider-props'; 3 | export declare class Provider extends React.Component { 4 | props: ProviderProps; 5 | context: Object | null; 6 | constructor(props: ProviderProps, context: Object | null); 7 | render(): any; 8 | } 9 | -------------------------------------------------------------------------------- /src/reactlike/test/reactlike.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/reactlike/test/reactlike.d.ts -------------------------------------------------------------------------------- /src/reactlike/test/store/calculate.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: { 2 | state: { 3 | nummmm: number; 4 | }; 5 | reducers: { 6 | increment(state: any, payload: any): any; 7 | }; 8 | effects: { 9 | incrementAsync(payload: any, rootState: any): Promise; 10 | }; 11 | }; 12 | export default _default; 13 | -------------------------------------------------------------------------------- /src/reactlike/test/store/index.d.ts: -------------------------------------------------------------------------------- 1 | declare const _default: any; 2 | export default _default; 3 | -------------------------------------------------------------------------------- /src/reactlike/test/store/index.js: -------------------------------------------------------------------------------- 1 | import { createStore } from '../provider'; 2 | import count from './count'; 3 | import calculate from './calculate'; 4 | export default createStore({ 5 | count, 6 | calculate, 7 | }); 8 | //# sourceMappingURL=index.js.map -------------------------------------------------------------------------------- /src/reactlike/test/store/index.js.map: -------------------------------------------------------------------------------- 1 | {"version":3,"file":"index.js","sourceRoot":"","sources":["index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,MAAM,SAAS,CAAC;AAC5B,OAAO,SAAS,MAAM,aAAa,CAAC;AAEpC,eAAe,WAAW,CAAC;IACzB,KAAK;IACL,SAAS;CACV,CAAC,CAAA"} -------------------------------------------------------------------------------- /src/reactlike/test/store/index.ts: -------------------------------------------------------------------------------- 1 | import { createStore } from '../provider'; 2 | import count from './count'; 3 | import calculate from './calculate'; 4 | 5 | export default createStore({ 6 | count, 7 | calculate, 8 | }) -------------------------------------------------------------------------------- /src/reactlike/tslint.json: -------------------------------------------------------------------------------- 1 | { 2 | "extends": "tslint:latest", 3 | "rules": { 4 | "ban-comma-operator": false, 5 | "no-empty": [true, "allow-empty-catch"], 6 | "no-import-side-effect": false, 7 | "no-var-keyword": false, 8 | "no-var-requires": false, 9 | "prefer-conditional-expression": false 10 | } 11 | } -------------------------------------------------------------------------------- /src/reason/README.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - reason-react:https://reasonml.github.io/docs/en/what-and-why 3 | - OCaml:https://ocaml.org/ -------------------------------------------------------------------------------- /src/redux/redux.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/redux/redux.jpeg -------------------------------------------------------------------------------- /src/rematch-cli-source/.gitignore: -------------------------------------------------------------------------------- 1 | /node_modules/ 2 | -------------------------------------------------------------------------------- /src/rematch-cli-source/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | 3 | /example/assets 4 | 5 | /test/js 6 | /coverage 7 | 8 | /.idea 9 | 10 | .DS_Store 11 | 12 | logs 13 | *.log 14 | npm-debug.log* 15 | .eslintcache 16 | /dist 17 | /local 18 | /reports 19 | Thumbs.db 20 | .idea 21 | .vscode 22 | *.sublime-project 23 | *.sublime-workspace -------------------------------------------------------------------------------- /src/rematch-cli-source/README.md: -------------------------------------------------------------------------------- 1 | # rematch cli 2 | 3 | Cli dev tool for generate a project with rematch -------------------------------------------------------------------------------- /src/rematch-cli-source/index.js: -------------------------------------------------------------------------------- 1 | const init = require('./lib/init.js'); 2 | 3 | module.exports = { 4 | init, 5 | }; 6 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/rematch-cli-source/lib/code/rematch/public/favicon.ico -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/src/models/index.js: -------------------------------------------------------------------------------- 1 | import header from './header'; 2 | 3 | export { 4 | header, 5 | }; 6 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/src/selectors/app.js: -------------------------------------------------------------------------------- 1 | import { createSelector } from 'reselect'; 2 | 3 | const headerSelector = state => state.header; 4 | 5 | export default createSelector( 6 | headerSelector, 7 | (header) => { 8 | return { 9 | ...header, 10 | }; 11 | }); 12 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/src/selectors/header.js: -------------------------------------------------------------------------------- 1 | import { createSelector } from 'reselect'; 2 | 3 | const headerSelector = state => state.header; 4 | 5 | export default createSelector( 6 | headerSelector, 7 | (header) => { 8 | return { 9 | ...header, 10 | }; 11 | }); 12 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/rematch/src/store/index.js: -------------------------------------------------------------------------------- 1 | import { init } from '@rematch/core'; 2 | import * as models from '../models'; 3 | 4 | const store = init({ 5 | models, 6 | }); 7 | 8 | export default store; 9 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/typescript/README.md: -------------------------------------------------------------------------------- 1 | # typescript -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/typescript/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/typescript/src/models/index.ts: -------------------------------------------------------------------------------- 1 | import header, { headerInterface } from './header'; 2 | 3 | interface stateInterface { 4 | header: any, 5 | } 6 | 7 | export { 8 | header, 9 | headerInterface, 10 | stateInterface, 11 | }; 12 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/code/typescript/src/store/index.ts: -------------------------------------------------------------------------------- 1 | import { init } from '@rematch/core'; 2 | import * as models from '../models'; 3 | 4 | export default init({ 5 | models, 6 | }); 7 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/index.js: -------------------------------------------------------------------------------- 1 | 'use strict'; 2 | 3 | module.exports = { 4 | }; 5 | -------------------------------------------------------------------------------- /src/rematch-cli-source/lib/server.config.js: -------------------------------------------------------------------------------- 1 | module.exports = (config) => { 2 | config.resolve = config.resolve || {}; 3 | config.resolve.alias = config.resolve.alias || {}; 4 | config.resolve.alias['webpack-hot-client/client'] = require.resolve('webpack-hot-client/client'); 5 | return config; 6 | }; 7 | -------------------------------------------------------------------------------- /src/rematch/lib/models/index.js: -------------------------------------------------------------------------------- 1 | export { default as count } from './count'; -------------------------------------------------------------------------------- /src/rematch/lib/store.js: -------------------------------------------------------------------------------- 1 | import { 2 | createStore, 3 | applyMiddleware, 4 | combineReducers, 5 | } form 'redux'; 6 | import * as models from './models'; 7 | import { init, combineModels } from './rematch'; 8 | 9 | const store = createStore( 10 | reducer: combineReducers(combineModels(models)), 11 | ); 12 | 13 | module.exports = init(store, { models }); 14 | -------------------------------------------------------------------------------- /src/rematch/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/rematch/public/favicon.ico -------------------------------------------------------------------------------- /src/rematch/src/index.css: -------------------------------------------------------------------------------- 1 | body { 2 | margin: 0; 3 | padding: 0; 4 | font-family: sans-serif; 5 | } 6 | -------------------------------------------------------------------------------- /src/rematch/src/models/index.js: -------------------------------------------------------------------------------- 1 | export * from './count'; 2 | 3 | export * from './calculate'; -------------------------------------------------------------------------------- /src/rematch/src/store/index.js: -------------------------------------------------------------------------------- 1 | import { init } from '@rematch/core'; 2 | import { applyMiddleware } from 'redux'; 3 | import * as models from '../models'; 4 | 5 | const store = init({ 6 | models, 7 | }); 8 | 9 | export default store; -------------------------------------------------------------------------------- /src/rust/README.md: -------------------------------------------------------------------------------- 1 | # rust 2 | 3 | ## 参考 4 | - [自学教程](https://tourofrust.com/00_zh-cn.html) 5 | - [rust开发单页spa](http://www.sheshbabu.com/posts/rust-wasm-yew-single-page-application/s) 6 | - [mako-类rsbuild构建工具](https://github.com/umijs/mako) -------------------------------------------------------------------------------- /src/rxjs/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 12 | 13 | -------------------------------------------------------------------------------- /src/rxjs/index.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/rxjs/index.js -------------------------------------------------------------------------------- /src/serverless/容灾预案.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/serverless/容灾预案.png -------------------------------------------------------------------------------- /src/serverless/通用serverless架构.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/serverless/通用serverless架构.jpg -------------------------------------------------------------------------------- /src/sicp/README.md: -------------------------------------------------------------------------------- 1 | ## 拾遗 2 | 3 | ## 闭包 4 | - 起源 5 | - 抽象代数 6 | - 含义 7 | 1. 一集合中的元素,经过运算(操作),产出的结果仍然是集合中的元素(lisp取自此) 8 | 2. 表示为一种带有自由变量的过程(js取自此) -------------------------------------------------------------------------------- /src/sicp/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | prototype 4 | 5 | 6 |

prototype

7 |
8 | 标题 9 |

内容

10 |
11 | 14 | 15 | 16 | 17 | -------------------------------------------------------------------------------- /src/sicp/test.lisp: -------------------------------------------------------------------------------- 1 | (defun (square x) (* x x)) 2 | 3 | (defun (sum-of-square x y) 4 | (+ square(x) square(y))) 5 | 6 | (defun (f a) 7 | (cond ((> a 1) (sum-of-square((+a 1) (*a 2)))) 8 | (else (sum-of-square((+a 1) (*a 2))))) 9 | 10 | (f 5) -------------------------------------------------------------------------------- /src/socket&rpc/client.js: -------------------------------------------------------------------------------- 1 | 2 | window.eio = require('engine.io-client'); 3 | -------------------------------------------------------------------------------- /src/socket&rpc/pm2流程.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/socket&rpc/pm2流程.jpeg -------------------------------------------------------------------------------- /src/socket&rpc/simple-pm2/README.md: -------------------------------------------------------------------------------- 1 | ## 启动方法 2 | 1. node daemon.js // 启动rpc服务器 3 | 2. node rpc-client.js // 调用rpc,启动服务器 4 | 2. node rpc-client.js -s // 调用rpc,关闭服务器 -------------------------------------------------------------------------------- /src/sql/Smartsql/AnySql.ts: -------------------------------------------------------------------------------- 1 | export default abstract class AnySql { 2 | [key: string]: T; 3 | } 4 | -------------------------------------------------------------------------------- /src/sql/join示例.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/sql/join示例.jpeg -------------------------------------------------------------------------------- /src/sql/oltp和olap.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/sql/oltp和olap.jpeg -------------------------------------------------------------------------------- /src/sql/列压缩.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/sql/列压缩.jpeg -------------------------------------------------------------------------------- /src/sql/列存储.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/sql/列存储.jpeg -------------------------------------------------------------------------------- /src/sql/索引示意图.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/sql/索引示意图.jpeg -------------------------------------------------------------------------------- /src/storybook/README.md: -------------------------------------------------------------------------------- 1 | # storybook 2 | 3 | - [各大公司组件库统一管理](https://storybook.js.org/showcase) 4 | - [storybook7](https://storybook.js.org/blog/improved-type-safety-in-storybook-7/) 5 | 6 | -------------------------------------------------------------------------------- /src/tars/HelloWorld.tgz: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/tars/HelloWorld.tgz -------------------------------------------------------------------------------- /src/test-tools/cucumber语法中文映射.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/test-tools/cucumber语法中文映射.png -------------------------------------------------------------------------------- /src/test/css/default.css: -------------------------------------------------------------------------------- 1 | * { 2 | color: black; 3 | } -------------------------------------------------------------------------------- /src/test/css/green.css: -------------------------------------------------------------------------------- 1 | * { 2 | color: green; 3 | } -------------------------------------------------------------------------------- /src/test/css/red.css: -------------------------------------------------------------------------------- 1 | * { 2 | color: red; 3 | } -------------------------------------------------------------------------------- /src/test/src/asciichart.js: -------------------------------------------------------------------------------- 1 | import asciichart from 'asciichart'; 2 | 3 | var s0 = new Array (120) 4 | for (var i = 0; i < s0.length; i++) 5 | s0[i] = 15 * Math.sin (i * ((Math.PI * 4) / s0.length)) 6 | console.log (asciichart.plot (s0)) -------------------------------------------------------------------------------- /src/test/src/can.js: -------------------------------------------------------------------------------- 1 | 2 | import { Component } from 'can'; 3 | 4 | const HelloWorld = Component.extend({ 5 | tag: 'hello-world', 6 | view: `

{{greeting}} world!

`, 7 | ViewModel: { greeting: 'string' }, 8 | }); 9 | 10 | var helloWorld = new HelloWorld(); 11 | 12 | -------------------------------------------------------------------------------- /src/test/src/chance.js: -------------------------------------------------------------------------------- 1 | const chance = require('chance'); 2 | 3 | console.log(chance().phone()); // 随机手机号 4 | -------------------------------------------------------------------------------- /src/test/src/data.txt: -------------------------------------------------------------------------------- 1 | hello world -------------------------------------------------------------------------------- /src/test/src/filepond.js: -------------------------------------------------------------------------------- 1 | import * as FilePond from 'filepond'; 2 | 3 | const pond = FilePond.create({ 4 | multiple: true, 5 | name: 'filepond', 6 | }); 7 | 8 | document.body.appendChild(pond.element); -------------------------------------------------------------------------------- /src/test/src/lumin.js: -------------------------------------------------------------------------------- 1 | import lumin from 'lumin'; 2 | const luminator = lumin(document.getElementById('abc')); 3 | luminator.start(5000); // 5000ms to highlight -------------------------------------------------------------------------------- /src/test/src/v8n.js: -------------------------------------------------------------------------------- 1 | /** 2 | * v8n 3 | * 4 | * 参考:https://github.com/imbrn/v8n 5 | * 6 | */ 7 | const v8n = require('v8n'); 8 | 9 | module.exports = () => { 10 | const res = v8n().number() 11 | .between(50, 100) 12 | .not.even() 13 | .test(71); 14 | return res; 15 | }; 16 | -------------------------------------------------------------------------------- /src/test/src/wired-elements.js: -------------------------------------------------------------------------------- 1 | import { WiredButton, WiredInput } from "wired-elements"; -------------------------------------------------------------------------------- /src/tfjs/tfjs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 |
this is con
6 | 7 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/threejs/README.md: -------------------------------------------------------------------------------- 1 | # threejs 2 | 3 | 4 | 5 | ## 参考 6 | 7 | - [3d卧室](https://my-room-in-3d.vercel.app/) 8 | - [蚂蚁开源-web图形引擎](https://oasisengine.cn/) 9 | 10 | -------------------------------------------------------------------------------- /src/tools/keyBindings.json: -------------------------------------------------------------------------------- 1 | // Place your key bindings in this file to overwrite the defaults 2 | [ 3 | { 4 | "key": "cmd+y", 5 | "command": "redo", 6 | "when": "textInputFocus && !editorReadonly" 7 | }, 8 | { 9 | "key": "shift+cmd+z", 10 | "command": "-redo", 11 | "when": "textInputFocus && !editorReadonly" 12 | } 13 | ] -------------------------------------------------------------------------------- /src/travis/README.md: -------------------------------------------------------------------------------- 1 | # travis 2 | 3 | ## 参考 4 | - [我的gitPage](https://arnoldczhang.github.io/) 5 | - [官网](https://docs.travis-ci.com/) 6 | - [Yummy Jekyll Theme](https://github.com/mzlogin/mzlogin.github.io) 7 | - [简易指南](https://github.com/levy9527/blog/issues/1?utm_medium=hao.caibaojian.com&utm_source=hao.caibaojian.com) 8 | 9 | https://travis-ci.org/arnoldczhang/fe-guide -------------------------------------------------------------------------------- /src/treeshake/src/index.js: -------------------------------------------------------------------------------- 1 | import { cube } from './other'; 2 | 3 | console.log(cube(10)); 4 | -------------------------------------------------------------------------------- /src/treeshake/src/other.js: -------------------------------------------------------------------------------- 1 | async function cube(x) { 2 | await Promise.resolve(x * x * x); 3 | } 4 | 5 | async function square(x) { 6 | await Promise.resolve(x * x); 7 | } 8 | 9 | 10 | export { 11 | cube, 12 | square, 13 | }; 14 | -------------------------------------------------------------------------------- /src/trip/苏州无锡3日2晚游.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/trip/苏州无锡3日2晚游.docx -------------------------------------------------------------------------------- /src/typescript/common-ts-start/.editorconfig: -------------------------------------------------------------------------------- 1 | root = true 2 | 3 | [*] 4 | charset = utf-8 5 | indent_style = tab 6 | indent_size = 2 7 | end_of_line = lf 8 | insert_final_newline = true 9 | trim_trailing_whitespace = true 10 | -------------------------------------------------------------------------------- /src/typescript/common-ts-start/.eslintignore: -------------------------------------------------------------------------------- 1 | build/*.js 2 | config/*.js 3 | node_modules 4 | src/*.png 5 | src/*.less 6 | src/*.css 7 | -------------------------------------------------------------------------------- /src/typescript/common-ts-start/.prettierrc.js: -------------------------------------------------------------------------------- 1 | module.exports = { 2 | eslintIntegration: true, //开启 eslint 支持 3 | singleQuote: true //使用单引号 4 | }; 5 | -------------------------------------------------------------------------------- /src/typescript/common-ts-start/src/types/html2json.d.ts: -------------------------------------------------------------------------------- 1 | declare module 'html2json'; 2 | declare module 'espree'; 3 | declare module 'madge'; 4 | declare module 'css2less'; -------------------------------------------------------------------------------- /src/typescript/common-ts-start/src/utils/logger.ts: -------------------------------------------------------------------------------- 1 | import * as chalk from 'chalk'; 2 | 3 | export const success = (text: string) => console.log(chalk.green(text)); 4 | 5 | export const warn = (text: string) => console.log(chalk.yellow(text)); 6 | 7 | export const error = (text: string) => { 8 | console.log(chalk.red(text)); 9 | throw new Error(text); 10 | }; 11 | -------------------------------------------------------------------------------- /src/unit-test/README.md: -------------------------------------------------------------------------------- 1 | # 单测工具 2 | 3 | ## jest 4 | 5 | [jest实践指南](http://github.yanhaixiang.com/jest-tutorial/basic/getting-started/) 6 | 7 | TDD(结果推过程) 8 | 9 | ## cypress 10 | [链接](https://docs.cypress.io/zh-cn/guides/overview/why-cypress.html#) 11 | -------------------------------------------------------------------------------- /src/v8/js引擎执行流程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/v8/js引擎执行流程.png -------------------------------------------------------------------------------- /src/v8/v8内部结构.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/v8/v8内部结构.png -------------------------------------------------------------------------------- /src/v8/字节码.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/v8/字节码.png -------------------------------------------------------------------------------- /src/visualize/README.md: -------------------------------------------------------------------------------- 1 | # visualize 2 | 3 | ## 参考 4 | - https://github.com/CntChen/cntchen.github.io/issues/15 5 | - [表格可视化-s2](https://s2.antv.vision/zh/examples/gallery) 6 | 7 | ## 图表 8 | - [antv](https://antv.antgroup.com/) 9 | - [vue flow](https://vueflow.dev/examples/nodes/nesting.html) 10 | - [logic flow](https://site.logic-flow.cn/tutorial/extension-adapter) 11 | -------------------------------------------------------------------------------- /src/vscode/keyBindings.json: -------------------------------------------------------------------------------- 1 | [ 2 | { "key": "shift+cmd+l", "command": "editor.action.insertCursorAtEndOfEachLineSelected", 3 | "when": "editorTextFocus" }, 4 | ] -------------------------------------------------------------------------------- /src/vue/vite2.9初始化.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/vue/vite2.9初始化.png -------------------------------------------------------------------------------- /src/vue/vite3.0初始化.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/vue/vite3.0初始化.png -------------------------------------------------------------------------------- /src/vue/vue-mark-display/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | Example 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | -------------------------------------------------------------------------------- /src/vue/vue-pretty-tree/index.js: -------------------------------------------------------------------------------- 1 | import Wrapper from '../dataPanel'; 2 | import Tree from './index.vue'; 3 | 4 | export default Wrapper(Tree, { 5 | key: 'data', 6 | }); 7 | -------------------------------------------------------------------------------- /src/vue/vue-smart-table/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/vue/vue-smart-table/README.md -------------------------------------------------------------------------------- /src/webassembly/emscripten/README.md: -------------------------------------------------------------------------------- 1 | # Emscripten 2 | > webassemble的重要组成部分,可以将c/c++代码,编译到asm.js和wasm 3 | 4 | 5 | 6 | ## 流程 7 | 8 | 9 | 10 | ![emscripten编译过程](emscripten编译过程.png) 11 | 12 | ## 参考 13 | 14 | - [Emscripten 使用入门](https://mp.weixin.qq.com/s/vA231eCDVNx6d7gIqMEe9g) 15 | 16 | -------------------------------------------------------------------------------- /src/webassembly/emscripten/emscripten编译过程.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webassembly/emscripten/emscripten编译过程.png -------------------------------------------------------------------------------- /src/webassembly/test.wasm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webassembly/test.wasm -------------------------------------------------------------------------------- /src/webassembly/wasm.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webassembly/wasm.webp -------------------------------------------------------------------------------- /src/webpack/.gitignore: -------------------------------------------------------------------------------- 1 | /dist/ 2 | -------------------------------------------------------------------------------- /src/webpack/diy.js: -------------------------------------------------------------------------------- 1 | const Person = require('./src/person.pojo'); 2 | const person = Person(); 3 | person.setFavorites([]); 4 | person.getFavorites(); 5 | const title = document.createElement('h1'); 6 | title.textContent = 'title'; 7 | title.classList = ['title']; 8 | document.body.appendChild(title); 9 | -------------------------------------------------------------------------------- /src/webpack/import-polyfill.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/import-polyfill.png -------------------------------------------------------------------------------- /src/webpack/index.ts: -------------------------------------------------------------------------------- 1 | interface Person { 2 | firstName: string; 3 | lastName: string; 4 | } 5 | 6 | function greeter(person: Person) { 7 | return `Hello, ${person.firstName} ${person.lastName}`; 8 | } 9 | 10 | var user = { firstName: "Jane", lastName: "User" }; 11 | 12 | document.body.innerHTML = greeter(user); -------------------------------------------------------------------------------- /src/webpack/js-hot-loader/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | 3 | /example/assets 4 | 5 | /test/js 6 | /coverage 7 | 8 | /.idea 9 | 10 | .DS_Store 11 | 12 | logs 13 | *.log 14 | npm-debug.log* 15 | .eslintcache 16 | /dist 17 | /local 18 | /reports 19 | Thumbs.db 20 | .idea 21 | .vscode 22 | *.sublime-project 23 | *.sublime-workspace -------------------------------------------------------------------------------- /src/webpack/js-hot-loader/CHANGELOG.md: -------------------------------------------------------------------------------- 1 | ## webpack-dev-server 2 | - SSE 3 | - websocket 4 | ## webpack-dev-middleware 5 | eventEmitter 6 | ## webpack-hot-middleware 7 | 纯 heartbeat -------------------------------------------------------------------------------- /src/webpack/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "common.js": "common.743d69922007585e8c8d.js", 3 | "common.js.map": "common.743d69922007585e8c8d.js.map", 4 | "index.js": "index.743d69922007585e8c8d.js", 5 | "index.js.map": "index.743d69922007585e8c8d.js.map" 6 | } -------------------------------------------------------------------------------- /src/webpack/pitch&normal-loader.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/pitch&normal-loader.jpeg -------------------------------------------------------------------------------- /src/webpack/pojo-loader/.npmignore: -------------------------------------------------------------------------------- 1 | /node_modules 2 | 3 | /example/assets 4 | 5 | /test/js 6 | /coverage 7 | 8 | /.idea 9 | 10 | .DS_Store 11 | 12 | logs 13 | *.log 14 | npm-debug.log* 15 | .eslintcache 16 | /dist 17 | /local 18 | /reports 19 | Thumbs.db 20 | .idea 21 | .vscode 22 | *.sublime-project 23 | *.sublime-workspace -------------------------------------------------------------------------------- /src/webpack/pojo-loader/CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/pojo-loader/CHANGELOG.md -------------------------------------------------------------------------------- /src/webpack/src/app.less: -------------------------------------------------------------------------------- 1 | .title { 2 | .aa { 3 | background: red; 4 | } 5 | display: flex; 6 | color: red; 7 | } -------------------------------------------------------------------------------- /src/webpack/src/app.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/src/app.png -------------------------------------------------------------------------------- /src/webpack/src/number.js: -------------------------------------------------------------------------------- 1 | module.exports = (val) => { 2 | console.log(_.filter); 3 | return val * val; 4 | }; -------------------------------------------------------------------------------- /src/webpack/src/person.pojo: -------------------------------------------------------------------------------- 1 | public 2 | 3 | 4 | 5 | String 6 | name; 7 | 8 | 9 | 10 | public Number age; 11 | 12 | 13 | private 14 | 15 | 16 | Array favorites; 17 | 18 | private Number 19 | 20 | 21 | weight; 22 | 23 | -------------------------------------------------------------------------------- /src/webpack/src/polyfills.js: -------------------------------------------------------------------------------- 1 | // polyfill包 2 | import 'babel-polyfill'; 3 | import 'whatwg-fetch'; 4 | -------------------------------------------------------------------------------- /src/webpack/src/ref.json: -------------------------------------------------------------------------------- 1 | [{ 2 | "num": 1, 3 | "word": "One" 4 | }, { 5 | "num": 2, 6 | "word": "Two" 7 | }, { 8 | "num": 3, 9 | "word": "Three" 10 | }, { 11 | "num": 4, 12 | "word": "Four" 13 | }, { 14 | "num": 5, 15 | "word": "Five" 16 | }, { 17 | "num": 0, 18 | "word": "Zero" 19 | }] -------------------------------------------------------------------------------- /src/webpack/src/test2.js: -------------------------------------------------------------------------------- 1 | var nn = { 2 | abs() { 3 | return 12313413; 4 | } 5 | }; -------------------------------------------------------------------------------- /src/webpack/test/test1.js: -------------------------------------------------------------------------------- 1 | console.log(122); 2 | 3 | export default { 4 | abs() { 5 | return 12313413; 6 | } 7 | }; -------------------------------------------------------------------------------- /src/webpack/webpack-async.jpeg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/webpack-async.jpeg -------------------------------------------------------------------------------- /src/webpack/webpack流程.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/src/webpack/webpack流程.jpg -------------------------------------------------------------------------------- /tasks/init.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | cd .. 3 | root_path=$PWD 4 | echo 'hello travissssssss' 5 | -------------------------------------------------------------------------------- /tasks/install.sh: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | 3 | echo 'installing...' 4 | -------------------------------------------------------------------------------- /test.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/test.js -------------------------------------------------------------------------------- /test.sql: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/arnoldczhang/fe-guide/20bf6d56ff6da78a29580bd6feccc2ebdfe4c539/test.sql -------------------------------------------------------------------------------- /test/mocha.opts: -------------------------------------------------------------------------------- 1 | --reporter mochawesome 2 | --recursive -------------------------------------------------------------------------------- /worker/index.js: -------------------------------------------------------------------------------- 1 | module.exports = function () { 2 | console.log(123); 3 | }; --------------------------------------------------------------------------------