diff --git a/Dockerfile b/Dockerfile index d6fa03d..c2a3344 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,23 +1,22 @@ +# +# - 功能: 408CSFamily镜像构建 +# - 用法: docker build -f Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 . +# + ## 注意:vite构建需要支持node14以上,安装node16较为稳妥 FROM registry.cn-hangzhou.aliyuncs.com/142vip/node:16.12.0-alpine AS build_base -LABEL version="Beta1.0" description="408CSFamily合集" -LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy@2925.com" - RUN mkdir -p /apps - WORKDIR /apps COPY . . -## 安装依赖 RUN npm i pnpm@6 -g && pnpm i -D && pnpm build - - FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine + +ARG APP_VERSION +LABEL version=$APP_VERSION description="408CSFamily合集" +LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy_408@2925.com" + # 将dist文件中的内容复制到 /usr/share/nginx/html/ 这个目录下面 注意:--from参数 COPY --from=build_base /apps/docs/.vuepress/dist/ /usr/share/nginx/html/ - COPY nginx.conf /etc/nginx/ - -#EXPOSE 7000 -#CMD ["nginx", "-g", "daemon off;"] \ No newline at end of file diff --git a/Faster.Dockerfile b/Faster.Dockerfile new file mode 100644 index 0000000..4431f9e --- /dev/null +++ b/Faster.Dockerfile @@ -0,0 +1,14 @@ +# +# - 功能: 快速构建408CSFamily镜像 +# - 用法: docker build -f Faster.Dockerfile --build-arg APP_VERSION=0.0.1 -t 408CSFamily-0.0.1 . +# + +FROM registry.cn-hangzhou.aliyuncs.com/142vip/nginx:1.23.0-alpine + +ARG APP_VERSION +LABEL version=$APP_VERSION description="408CSFamily合集" +LABEL author="【Github&公众号】:Rong姐姐好可爱" email="fairy_408@2925.com" + +# 将dist文件中的内容复制到 /usr/share/nginx/html/ +COPY ./docs/.vuepress/dist/ /usr/share/nginx/html/ +COPY nginx.conf /etc/nginx/ diff --git a/docs/.vuepress/config.js b/docs/.vuepress/config.js index 7b15a21..3da6c6f 100644 --- a/docs/.vuepress/config.js +++ b/docs/.vuepress/config.js @@ -1,4 +1,5 @@ -import { hopeTheme } from "vuepress-theme-hope"; +import themeConfig from "./config/theme.config"; +import pluginsConfig from "./config/plugins.config"; export default { title: "计算机应试全家桶", @@ -7,11 +8,11 @@ export default { port: 4200, head: [ [ - "link", { rel: "icon", href: "/408_favicon.ico" } + "link", {rel: "icon", href: "/408_favicon.ico"} ], [ - // 百度统计 - 'script',{},` + // 百度统计 + 'script', {}, ` var _hmt = _hmt || []; (function() { var hm = document.createElement("script"); @@ -21,127 +22,6 @@ export default { })();` ] ], - // 参考主题:https://theme-hope.vuejs.press/zh/config/intro.html#%E9%85%8D%E7%BD%AE%E6%A6%82%E5%BF%B5 - theme: hopeTheme({ - hostname:'https://408.142vip.cn', - author:{ - name:'ChuFan', - email:'fairy_408@2925.com', - url:'https://www.142vip.cn' - }, - favicon:"/408_favicon.ico", - logo: "/assets/408_logo.png", - navbar: require("./config/navbar/index"), // 注意这个关键字有所改变 - sidebar: require("./config/sidebar/index"), - - // 主题布局选项 - repo: "https://github.com/mmdapl/408CSFamily", - logoDark:"/assets/408_logo.png", - - - // 博客配置 - blog_:{ - name:'测试', - avatar:'', - description:'', - intro:'', - roundAvatar:true, - timeline:"时间轴的顶部文字", - // articleInfo:"", - // medias:{ - // "BiliBili": "哔哩哔哩" - // } - }, - lastUpdated: true, - lastUpdatedText: "最近更新", - contributorsText: '贡献者', - notFound: ['宝贝不要急,我努力更新就会慢慢有的哟...想要什么,也欢迎微信后台私信!'],// 自定义404页面提示语,数组 - backToHome: '返回首页', // 返回首页 - - sidebarDepth: 1, - editLink: false, - // 默认为 "Edit this page" - // editLinkText: '帮助我们改善此页面!', - search: true, - searchMaxSuggestions: 10, - plugins: { - // 开启博客功能 - // blog:true, - // 代码块 - mdEnhance: { - codetabs: true, - }, - }, - }), - // plugins: [ - // // 全文搜索 参考配置:https://github.com/vuepress/vuepress-next/blob/main/docs/.vuepress/config.ts - // ['@vuepress/docsearch', - // { - // apiKey: '', - // indexName: '', - // locales: { - // '/': { - // placeholder: '搜索一下', - // translations: { - // button: { - // buttonText: '搜索一下', - // buttonAriaLabel: '搜索一下', - // }, - // modal: { - // searchBox: { - // resetButtonTitle: '清除查询条件', - // resetButtonAriaLabel: '清除查询条件', - // cancelButtonText: '取消', - // cancelButtonAriaLabel: '取消' - // }, - // startScreen: { - // recentSearchesTitle: '搜索历史', - // noRecentSearchesText: '没有搜索历史', - // saveRecentSearchButtonTitle: '保存至搜索历史', - // removeRecentSearchButtonTitle: '从搜索历史中移除', - // favoriteSearchesTitle: '收藏', - // removeFavoriteSearchButtonTitle: '从收藏中移除', - // }, - // errorScreen: { - // titleText: '无法获取结果', - // helpText: '你可能需要检查你的网络连接', - // }, - // footer: { - // selectText: '查询', - // selectKeyAriaLabel: 'Enter key', - // navigateText: '切换', - // navigateUpKeyAriaLabel: 'Arrow up', - // navigateDownKeyAriaLabel: 'Arrow down', - // closeText: '关闭', - // closeKeyAriaLabel: 'Escape key', - // searchByText: '技术支持', - // }, - // noResultsScreen: { - // noResultsText: '无法找到相关结果', - // suggestedQueryText: '你可以尝试查询', - // openIssueText: '你认为该查询应该有结果?', - // openIssueLinkText: '点击反馈', - // }, - // }, - // } - // } - // } - // }], - // // other plugins - // // [ - // // // 本地全文搜索 - // // '@vuepress/plugin-search', - // // { - // // locales: { - // // '/': { - // // placeholder: '搜索', - // // }, - // // '/zh/': { - // // placeholder: '搜索', - // // }, - // // }, - // // maxSuggestions: 10 // 显示最大搜索 - // // }, - // // ], - // ] -}; \ No newline at end of file + theme: themeConfig, + plugins: pluginsConfig +} \ No newline at end of file diff --git a/docs/.vuepress/config/constant.js b/docs/.vuepress/config/constant.js new file mode 100644 index 0000000..97eb00f --- /dev/null +++ b/docs/.vuepress/config/constant.js @@ -0,0 +1,5 @@ + +export const FOOTER_HTML_INFO=` +百度统计 Copyrights © 2015-${new Date().getFullYear()} 妍荣姑娘网络工作室 +| 储凡 +` \ No newline at end of file diff --git a/docs/.vuepress/config/navbar.js b/docs/.vuepress/config/navbar.js deleted file mode 100644 index fe6f90c..0000000 --- a/docs/.vuepress/config/navbar.js +++ /dev/null @@ -1,73 +0,0 @@ -module.exports = [ - { - text: '首页', - link: '/' - }, - { - text: "恶补算法", - // link: "/DS/coding/algorithm" - children: [{ - text: '课本习题', - link: '/' - }, { - text: '刷题笔记', - link: '/todo' - }, { - text: '在线刷题', - children: [{ - text: '杭电OJ', link: 'http://acm.hdu.edu.cn/' - }, - { - text: '牛客网', link: 'https://www.nowcoder.com/' - }, { - text: 'LeetCode', link: 'https://leetcode-cn.com/' - }] - }] - }, - { - text: "数据结构", - link: "/DS/basic_introduction" - }, - { - text: "操作系统", - link: "/OS/" - }, - { - text: "计算机组成原理", - link: "/CCP/" - }, - - { - text: "计算机网络", - link: "/CN/" - }, { - text: '其他资料', - children: [{ - text: '考研相关', - children: [{ - text: '111', - link: '/333' - }] - }, { - text: "思维导图", - children: [{ - text: '数据结构', - link: '/NoteMap/DS_Map' - }, { - text: '操作系统', - link: '/NoteMap/OS_Map' - }, { - text: '计算机组成原理', - link: '/NoteMap/CCP_Map' - }, { - text: '计算机网络', - link: '/NoteMap/CN_Map' - }] - }] - }, - { - text: "大事记", - link: "/Big_Event_History/" - }, - -]; diff --git a/docs/.vuepress/config/navbar/index.js b/docs/.vuepress/config/navbar/index.js index f1a406c..bab1cc1 100644 --- a/docs/.vuepress/config/navbar/index.js +++ b/docs/.vuepress/config/navbar/index.js @@ -1,4 +1,4 @@ -module.exports = [ +export default [ { text: '主页', link: '/' @@ -6,7 +6,7 @@ module.exports = [ { text: "算法恶补", children: [{ - text: '习题练手', + text: '习题狂刷', link: '/algorithm/topic_practice' }, { text: '刷题笔记', diff --git a/docs/.vuepress/config/plugins.config.js b/docs/.vuepress/config/plugins.config.js new file mode 100644 index 0000000..af6caf7 --- /dev/null +++ b/docs/.vuepress/config/plugins.config.js @@ -0,0 +1,19 @@ +import {searchProPlugin} from "vuepress-plugin-search-pro"; + +export default [ + searchProPlugin({ + // 索引全部内容 + indexContent: true, + // 为分类和标签添加索引 + customFields: [ + { + getter: (page) => page.frontmatter.category, + formatter: "分类:$content", + }, + { + getter: (page) => page.frontmatter.tag, + formatter: "标签:$content", + }, + ], + }), +] \ No newline at end of file diff --git a/docs/.vuepress/config/sidebar.js b/docs/.vuepress/config/sidebar.js deleted file mode 100644 index 6709a72..0000000 --- a/docs/.vuepress/config/sidebar.js +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - // "/category/": require("../../category/sidebar_contents"), - // "/DataStructure/": require("../../category/sidebar_contents"), - "/ds": require("../../ds/sidebar_contents"), - // "/OS": [ - // { - // text: 'VuePress Reference', - // collapsible: true, - // children: ['/reference/cli.md', '/reference/config.md'], - // }, - // { - // text: 'Bundlers Reference', - // collapsible: true, - // children: ['/reference/bundler/vite.md', '/reference/bundler/webpack.md'], - // }, - // ], - -}; diff --git a/docs/.vuepress/config/sidebar/algorithm_content.js b/docs/.vuepress/config/sidebar/algorithm.sidebar.js similarity index 96% rename from docs/.vuepress/config/sidebar/algorithm_content.js rename to docs/.vuepress/config/sidebar/algorithm.sidebar.js index 7603b48..f84603d 100644 --- a/docs/.vuepress/config/sidebar/algorithm_content.js +++ b/docs/.vuepress/config/sidebar/algorithm.sidebar.js @@ -1,4 +1,4 @@ -module.exports = [ +export default [ { text: '基础入门', link: "/ds/basic_introduction", diff --git a/docs/.vuepress/config/sidebar/cpp.sidebar.js b/docs/.vuepress/config/sidebar/cpp.sidebar.js new file mode 100644 index 0000000..1069a7f --- /dev/null +++ b/docs/.vuepress/config/sidebar/cpp.sidebar.js @@ -0,0 +1,2 @@ +export default[ +] \ No newline at end of file diff --git a/docs/.vuepress/config/sidebar/ds_content.js b/docs/.vuepress/config/sidebar/ds.sidebar.js similarity index 69% rename from docs/.vuepress/config/sidebar/ds_content.js rename to docs/.vuepress/config/sidebar/ds.sidebar.js index c408290..df1b4f5 100644 --- a/docs/.vuepress/config/sidebar/ds_content.js +++ b/docs/.vuepress/config/sidebar/ds.sidebar.js @@ -1,52 +1,53 @@ -module.exports = [ - { +export default [ + { text: '基础入门', - link: "/ds/basic_introduction", + link: "/ds/basic-introduction", collapsible: false, children: [{ text: '1.1 基本概念', - link: '/ds/basic_introduction/1.basic_concepts.md' + link: '/ds/basic-introduction/1.basic_concepts.md' }, { text: '1.2 数据结构三要素', - link: '/ds/basic_introduction/2.three_elements_of_data_structure.md' + link: '/ds/basic-introduction/2.three_elements_of_data_structure.md' }, { text: '1.3 算法和算法评价', - link: '/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md' + link: '/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md' }], }, { text: '线性表', collapsible: true, - link: "/ds/linear_table", + link: "/ds/linear-table", children: [{ text: '2.1 基础概念和操作', - link: '/ds/linear_table/1.basic_concept_and_operation.md' + link: '/ds/linear-table/1.basic_concept_and_operation.md' }, { text: '2.2 线性表的顺序表示', - link: '/ds/linear_table/2.sequential_representation.md' + link: '/ds/linear-table/2.sequential_representation.md' }, { text: '2.3 基础概念和操作', - link: '/ds/linear_table/3.chain_representation.md' + link: '/ds/linear-table/3.chain_representation.md' }, { text: '2.4 基础概念和操作', - link: '/ds/linear_table/4.double_linked_list.md' + link: '/ds/linear-table/4.double_linked_list.md' }, { text: '2.5 基础概念和操作', - link: '/ds/linear_table/5.circular_list.md' + link: '/ds/linear-table/5.circular_list.md' }, { text: '2.6 基础概念和操作', - link: '/ds/linear_table/6.static_linked_list.md' + link: '/ds/linear-table/6.static_linked_list.md' }, { text: '2.7 基础概念和操作', - link: '/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md' + link: '/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md' }, { text: '2.8 存储结构的选取', - link: '/ds/linear_table/8.selection_of_storage_structure.md' + link: '/ds/linear-table/8.selection_of_storage_structure.md' }, { text: '2.9 零碎知识补充', - link: '/ds/linear_table/9.piecemeal_knowledge_supplement.md' + link: '/ds/linear-table/9.piecemeal_knowledge_supplement.md' }], - }, { + }, + { text: "栈和队列", link: "/ds/栈和队列/", collapsible: true, @@ -76,4 +77,4 @@ module.exports = [ link: '/ds/栈和队列/8.特殊矩阵的压缩存储.md' }] } -] \ No newline at end of file + ] \ No newline at end of file diff --git a/docs/.vuepress/config/sidebar/index.js b/docs/.vuepress/config/sidebar/index.js index 5d77af1..ef16360 100644 --- a/docs/.vuepress/config/sidebar/index.js +++ b/docs/.vuepress/config/sidebar/index.js @@ -1,8 +1,7 @@ -module.exports = { - // "/category/": require("../../category/sidebar_contents"), - // "/DataStructure/": require("../../category/sidebar_contents"), - "/ds": require("./ds_content.js"), - "/ds/coding": require("./algorithm_content") - +import dsSidebar from "./ds.sidebar"; +import algorithmSidebar from "./algorithm.sidebar"; +export default{ + "/ds": dsSidebar, + "/ds/coding": algorithmSidebar }; diff --git a/docs/.vuepress/config/sidebar/os.sidebar.js b/docs/.vuepress/config/sidebar/os.sidebar.js new file mode 100644 index 0000000..15d0f68 --- /dev/null +++ b/docs/.vuepress/config/sidebar/os.sidebar.js @@ -0,0 +1,2 @@ + +export default[] \ No newline at end of file diff --git a/docs/.vuepress/config/theme.config.js b/docs/.vuepress/config/theme.config.js new file mode 100644 index 0000000..0802318 --- /dev/null +++ b/docs/.vuepress/config/theme.config.js @@ -0,0 +1,80 @@ +import {hopeTheme} from "vuepress-theme-hope"; +import navbar from "./navbar"; +import sidebar from "./sidebar"; +import {FOOTER_HTML_INFO} from "./constant"; + +/** + * hope主题配置 + * 参考:https://theme-hope.vuejs.press/zh/config/ + */ +export default hopeTheme({ + darkmode:"toggle", + // 支持全屏 + // fullscreen: true, + // 纯净模式 + // pure: true, + hostname:'https://408.142vip.cn', + author:{ + name:'ChuFan', + email:'fairy_408@2925.com', + url:'https://www.142vip.cn' + }, + favicon:"/408_favicon.ico", + logo: "/assets/408_logo.png", + navbar: navbar, + // 导航栏布局 + navbarLayout:{ + start: ["Brand"], + center: ["Links"], + end: ["Language","Search","Repo", "Outlook", ] + }, + sidebar: sidebar, + // sidebar: "heading", + + // 主题布局选项 + repo: "https://github.com/mmdapl/408CSFamily", + logoDark:"/assets/408_logo.png", + + // 博客配置 + blog:{ + name:'测试', + avatar:'', + description:'', + intro:'', + roundAvatar:true, + timeline:"时间轴的顶部文字", + articleInfo:"", + medias:{ + "BiliBili": "https://space.bilibili.com/350937042?spm_id_from=333.1007.0.0" + } + }, + + // 设置页脚 + displayFooter:true, + footer:FOOTER_HTML_INFO, + copyright:false, + + // 主题色选择器 + themeColor: { + blue: "#2196f3", + red: "#f26d6d", + green: "#3eaf7c", + orange: "#fb9b5f", + }, + + plugins: { + copyright:false, + // 开启博客功能 + blog:true, + // 代码块 + mdEnhance: { + codetabs: true, + }, + copyCode: { + showInMobile:true + }, + feed: { + json: true, + }, + }, +}) \ No newline at end of file diff --git a/docs/.vuepress/styles/config.scss b/docs/.vuepress/styles/config.scss new file mode 100644 index 0000000..92e63de --- /dev/null +++ b/docs/.vuepress/styles/config.scss @@ -0,0 +1,7 @@ +// 参考:https://theme-hope.vuejs.press/zh/guide/interface/code-theme.htm + +// 浅色主题 +$code-light-them:"vs"; + +// 深色主题 +$code-dark-theme:"atom-dark"; \ No newline at end of file diff --git a/docs/.vuepress/styles/palette.less b/docs/.vuepress/styles/palette.less deleted file mode 100644 index e69de29..0000000 diff --git a/docs/.vuepress/styles/palette.scss b/docs/.vuepress/styles/palette.scss new file mode 100644 index 0000000..085b4aa --- /dev/null +++ b/docs/.vuepress/styles/palette.scss @@ -0,0 +1,2 @@ +// 主题色 +$theme-color: #2196f3; \ No newline at end of file diff --git a/docs/.vuepress/theme/index.js b/docs/.vuepress/theme/index.js deleted file mode 100644 index 3047f90..0000000 --- a/docs/.vuepress/theme/index.js +++ /dev/null @@ -1,17 +0,0 @@ -/* - * @Description: - * @Version: Beta1.0 - * @Author: 【B站&公众号】Rong姐姐好可爱 - * @Date: 2022-04-24 08:37:12 - * @LastEditors: 【B站&公众号】Rong姐姐好可爱 - * @LastEditTime: 2022-04-24 08:37:13 - */ -const { path } = require('@vuepress/utils') - -module.exports = { - name: 'vuepress-theme-local', - extends: '@vuepress/theme-default', - layouts: { - Layout: path.resolve(__dirname, 'layouts/Layout.vue'), - }, -} \ No newline at end of file diff --git a/docs/.vuepress/theme/layouts/Layout.vue b/docs/.vuepress/theme/layouts/Layout.vue deleted file mode 100644 index c12d6cb..0000000 --- a/docs/.vuepress/theme/layouts/Layout.vue +++ /dev/null @@ -1,35 +0,0 @@ - - - - - - \ No newline at end of file diff --git a/docs/README.md b/docs/README.md index c0b3f04..5a8fe2f 100644 --- a/docs/README.md +++ b/docs/README.md @@ -1,17 +1,13 @@ --- home: true -heroImage: https://static01.imgkr.com/temp/f0108d7c178b4ce196e43ebec14fbf23.png -heroImageDark: http://vuejs.org/images/logo.png heroText: 计算机应试全家桶 -externalLinkIcon: false -tagline: 磨刀不误砍柴工、读完硕士再打工,笔记内容持续更新... - +tagline: 磨刀不误砍柴工、读完硕士再打工... actions: - text: 快速开始→ link: /guide/ type: primary - text: 工作机会 - link: /gangg + link: /work/ type: secondary features: - title: 基础概览 @@ -70,12 +66,10 @@ footerWrap: - title: 哔哩哔哩 link: https://space.bilibili.com/350937042 details: 不定期更新 -# 百度统计 -footer: Copyrights © 2015-2021 妍荣姑娘网络工作室 | Chu·Fan + --- - --- ### 本地浏览【推荐】 @@ -90,7 +84,7 @@ footer: Copyrights © 2015-2021 妍荣姑娘网络工作室 | - -

-

- - - - - - - - - -

+[//]: # (category: ) +[//]: # ( - DataStructure) -
- 码云版 - -
+[//]: # (tag: ) +[//]: # ( - ) -## 写最前面 +[//]: # (---) -> 这里是日常工作、学习、生活中总结的各类文章笔记,主要涉及开发技术总结记录,偶尔也会感慨万千,水一些无关技术的文章;若发现博客外链不能访问则可能博客设置修改过,请直接访问博客;所有内容会选择性的发表于**微信公众号、个人博客、掘金、CSDN ,实际内容以本仓库排版、校对为主。** 也会不定时同步到 **码云** 。 -> **以下内容没有链接的代表尚未完成,大家善用快捷键Ctrl+F** -> -> 创建时间:2020年2月14日 +[//]: # () +[//]: # () +[//]: # (# ) +[//]: # () +[//]: # () +[//]: # (

) +[//]: # ( ) -## 关于作者 +[//]: # (

) +[//]: # (

) -- [个人项目整理](http://blog.142vip.cn/s/projects) -- [自我介绍]() +[//]: # ( ) +[//]: # ( ) -## 思维导图 +[//]: # ( ) +[//]: # () -> 内容同步与文档,可以结合思维导图对文档进行有效学习.相关目录的xmind文件为思维导图原文件 +[//]: # () +[//]: # () -## 日常推荐 +[//]: # () +[//]: # () -- [云服务器推荐](docs/recommend/云服务器推荐.md) -- [学习网站、使用工具](docs/recommend/学习网站、效率工具.md) -- [值得细读的技术文章推荐](docs/recommend/值得细读的技术文章推荐.md) +[//]: # () +[//]: # (

) -# 文章笔记 +[//]: # () +[//]: # () +[//]: # (
) +[//]: # ( 码云版 ) -**注:无高亮有效访问链接的待完成/同步** +[//]: # ( ) -## 前端 +[//]: # (
) +[//]: # () +[//]: # () +[//]: # (## 写最前面) -> 前端技术百花齐放、层出不穷,个人认为要注重广度,学会看官方文档熟练操作即可; +[//]: # () +[//]: # (> 这里是日常工作、学习、生活中总结的各类文章笔记,主要涉及开发技术总结记录,偶尔也会感慨万千,水一些无关技术的文章;若发现博客外链不能访问则可能博客设置修改过,请直接访问博客;所有内容会选择性的发表于**微信公众号、个人博客、掘金、CSDN ,实际内容以本仓库排版、校对为主。** 也会不定时同步到 **码云** 。) +[//]: # (> **以下内容没有链接的代表尚未完成,大家善用快捷键Ctrl+F**) -#### CSS +[//]: # (>) +[//]: # (> 创建时间:2020年2月14日) -> 依赖W3CSchool文档和日常整理,主要是对CSS常用操作和基础属性进行整理总结。不会过多深入 +[//]: # () +[//]: # () +[//]: # () +[//]: # (## 关于作者) +[//]: # () +[//]: # () +[//]: # (- [个人项目整理](http://blog.142vip.cn/s/projects)) -- [CSS开发规范](docs/css/CSS开发规范.md) +[//]: # (- [自我介绍]()) -- 样式属性 +[//]: # () +[//]: # () +[//]: # (## 思维导图) -- 页面布局 +[//]: # () +[//]: # () +[//]: # (> 内容同步与文档,可以结合思维导图对文档进行有效学习.相关目录的xmind文件为思维导图原文件) -- 移动端适配 +[//]: # () +[//]: # () +[//]: # (## 日常推荐) - +[//]: # () +[//]: # () +[//]: # (- [云服务器推荐](docs/recommend/云服务器推荐.md)) +[//]: # (- [学习网站、使用工具](docs/recommend/学习网站、效率工具.md)) -##### [基础教程](docs/css/基础教程) +[//]: # (- [值得细读的技术文章推荐](docs/recommend/值得细读的技术文章推荐.md)) +[//]: # () +[//]: # () +[//]: # (# 文章笔记) -## +[//]: # () +[//]: # () +[//]: # (**注:无高亮有效访问链接的待完成/同步**) +[//]: # () +[//]: # () +[//]: # (## 前端) -#### JavaScript +[//]: # () +[//]: # () +[//]: # (> 前端技术百花齐放、层出不穷,个人认为要注重广度,学会看官方文档熟练操作即可;) +[//]: # () +[//]: # () +[//]: # (#### CSS) -> **本级目录下的JavaScript内容没有发表到[博客](http://blog.142vip.cn)上,建议对照[脑图](docs/javascript/README.md)在[JavaScript主目录](javascript)下学习**,依赖官方文档及自身对JavaScript语言的初步了解,进行的关于JavaScript知识整理,主要目的是复习基础概念、了解新特性、熟练ES6/7操作;整体相对来说由易到难,方便后续查阅学习~ +[//]: # () +[//]: # () +[//]: # (> 依赖W3CSchool文档和日常整理,主要是对CSS常用操作和基础属性进行整理总结。不会过多深入) +[//]: # () +[//]: # () +[//]: # (- [CSS开发规范](docs/css/CSS开发规范.md)) -##### 快速入门 +[//]: # () +[//]: # (- 样式属性) +[//]: # () +[//]: # (- 页面布局) -- [简单介绍](docs/javascript/快速入门/javascript简单介绍.md) -- [快速了解](docs/javascript/快速入门/javascript快速入门.md) -- [JavasScript开发规范](docs/javascript/JavaScript开发规范.md) +[//]: # () +[//]: # (- 移动端适配) +[//]: # () +[//]: # ( ) +[//]: # () +[//]: # () +[//]: # (##### [基础教程](docs/css/基础教程)) -##### 基础教程 +[//]: # () +[//]: # () +[//]: # (##) +[//]: # () +[//]: # () +[//]: # (#### JavaScript) -- [语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md) -- [循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md) -- [流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md) -- [表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md) -- [函数和方法](docs/javascript/基础教程/javascript函数.md) -- [数字和日期](docs/javascript/基础教程/javascript数字和日期.md) -- [对象的使用](docs/javascript/基础教程/javascript对象的使用.md) -- [正则表达式](docs/javascript/基础教程/javascript正则表达式.md) -- [promise对象的使用](docs/javascript/基础教程/promise对象的使用.md) -- [modules模块](docs/javascript/基础教程/modules模块.md) +[//]: # () +[//]: # () +[//]: # (> **本级目录下的JavaScript内容没有发表到[博客](http://blog.142vip.cn)上,建议对照[脑图](docs/javascript/README.md)在[JavaScript主目录](javascript)下学习**,依赖官方文档及自身对JavaScript语言的初步了解,进行的关于JavaScript知识整理,主要目的是复习基础概念、了解新特性、熟练ES6/7操作;整体相对来说由易到难,方便后续查阅学习~) +[//]: # () +[//]: # () +[//]: # (##### 快速入门) -##### 中级教程 +[//]: # () +[//]: # () +[//]: # (- [简单介绍](docs/javascript/快速入门/javascript简单介绍.md)) +[//]: # (- [快速了解](docs/javascript/快速入门/javascript快速入门.md)) -- [Promise对象](docs/javascript/中级教程/promise对象.md) -- [async函数](docs/javascript/中级教程/async函数.md) -- [class类](docs/javascript/中级教程/class类.md) +[//]: # (- [JavasScript开发规范](docs/javascript/JavaScript开发规范.md)) +[//]: # () +[//]: # () +[//]: # (##### 基础教程) -##### 高级教程 +[//]: # () +[//]: # () +[//]: # (- [语法与数据结构](docs/javascript/基础教程/javascript语法与数据结构.md)) +[//]: # (- [循环与迭代](docs/javascript/基础教程/javascript循环与迭代.md)) -- [不一样的ajax](docs/javascript/高级教程/不一样的ajax.md) -- [什么是事件循环](docs/javascript/高级教程/什么是事件循环.md) +[//]: # (- [流程控制与错误处理](docs/javascript/基础教程/javascript流程控制与错误处理.md)) -- [JSON.stringify()的三个参数]() +[//]: # (- [表达式和运算符](docs/javascript/基础教程/javascript表达式和运算符.md)) +[//]: # (- [函数和方法](docs/javascript/基础教程/javascript函数.md)) -##### 最后稻草 +[//]: # (- [数字和日期](docs/javascript/基础教程/javascript数字和日期.md)) +[//]: # (- [对象的使用](docs/javascript/基础教程/javascript对象的使用.md)) -- [ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md) -- [ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md) -- [JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md) -- [常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md) +[//]: # (- [正则表达式](docs/javascript/基础教程/javascript正则表达式.md)) +[//]: # (- [promise对象的使用](docs/javascript/基础教程/promise对象的使用.md)) -#### JQuery +[//]: # (- [modules模块](docs/javascript/基础教程/modules模块.md)) +[//]: # () +[//]: # () +[//]: # (##### 中级教程) -- [安装使用](docs/jquery/安装使用.md) -- [基本属性](docs/jquery/基本属性.md) +[//]: # () +[//]: # () +[//]: # (- [Promise对象](docs/javascript/中级教程/promise对象.md)) +[//]: # (- [async函数](docs/javascript/中级教程/async函数.md)) -- Css样式 +[//]: # (- [class类](docs/javascript/中级教程/class类.md)) +[//]: # () +[//]: # () +[//]: # (##### 高级教程) -- 选择器 +[//]: # () +[//]: # () +[//]: # (- [不一样的ajax](docs/javascript/高级教程/不一样的ajax.md)) +[//]: # (- [什么是事件循环](docs/javascript/高级教程/什么是事件循环.md)) -- 文档处理 +[//]: # () +[//]: # (- [JSON.stringify()的三个参数]()) +[//]: # () +[//]: # () +[//]: # (##### 最后稻草) -- 筛选 +[//]: # () +[//]: # () +[//]: # (- [ES6、ES7、ES8、ES9、ES10的新特性](docs/javascript/最后稻草/ES6、ES7、ES8、ES9、ES10的新特性.md)) +[//]: # (- [ES2020新特性](docs/javascript/最后稻草/ES2020新特性.md)) -- 事件 +[//]: # (- [JavaScript 工具函数大全](docs/javascript/最后稻草/JavaScript工具函数大全.md)) +[//]: # (- [常用函数方法整理](docs/javascript/最后稻草/常用函数方法整理.md)) -- 效果 +[//]: # () +[//]: # () +[//]: # (#### JQuery) +[//]: # () +[//]: # () +[//]: # (- [安装使用](docs/jquery/安装使用.md)) -- 事件对象 +[//]: # (- [基本属性](docs/jquery/基本属性.md)) +[//]: # () +[//]: # () +[//]: # (- Css样式) -- 延迟对象 +[//]: # () +[//]: # () +[//]: # (- 选择器) +[//]: # () +[//]: # () +[//]: # (- 文档处理) -- 回调函数 +[//]: # () +[//]: # () +[//]: # (- 筛选) +[//]: # () +[//]: # () +[//]: # (- 事件) -- 其他整理 +[//]: # () +[//]: # () +[//]: # (- 效果) +[//]: # () +[//]: # () +[//]: # (- 事件对象) -#### Vuejs +[//]: # () +[//]: # () +[//]: # (- 延迟对象) +[//]: # () +[//]: # () +[//]: # (- 回调函数) -> 介绍基础、常用的vue功能,不会很深入的涉及到vue源码及原理 +[//]: # () +[//]: # () +[//]: # (- 其他整理) +[//]: # () +[//]: # () +[//]: # (#### Vuejs) -#### React +[//]: # () +[//]: # () +[//]: # (> 介绍基础、常用的vue功能,不会很深入的涉及到vue源码及原理) +[//]: # () +[//]: # () +[//]: # (#### React) -#### Nuxtjs +[//]: # () +[//]: # () +[//]: # (#### Nuxtjs) +[//]: # () +[//]: # () +[//]: # (> Nuxtjs是在vue框架上进行封装的,主要是用来解决单体页面的服务端渲染问题,提供网站进行SEO优化的可能) -> Nuxtjs是在vue框架上进行封装的,主要是用来解决单体页面的服务端渲染问题,提供网站进行SEO优化的可能 +[//]: # () +[//]: # () +[//]: # ([前端读写cookie]()) +[//]: # () +[//]: # () +[//]: # (#### UI框架) -[前端读写cookie]() +[//]: # () +[//]: # () +[//]: # (> 市面上前端框架层出不穷,不同的技术栈依赖的UI框架也不尽相同,这里将会依据笔者使用的UI框架,以线上项目展示的方式,介绍用过的框架;) +[//]: # () +[//]: # () +[//]: # (- Bootstrap ) -#### UI框架 +[//]: # (- LayerUI) +[//]: # (- Ant-design-vue) -> 市面上前端框架层出不穷,不同的技术栈依赖的UI框架也不尽相同,这里将会依据笔者使用的UI框架,以线上项目展示的方式,介绍用过的框架; +[//]: # (- iView-UI) +[//]: # (- VantUI) -- Bootstrap -- LayerUI -- Ant-design-vue -- iView-UI -- VantUI -- Element-UI +[//]: # (- Element-UI) +[//]: # () +[//]: # () +[//]: # (## 后端【Node】) -## 后端【Node】 +[//]: # () +[//]: # () +[//]: # (> 相比前端,作为偏后端的开发者, 后端技术的学习则需要稳扎稳打、不断积累整理,在会用、能用、熟练的基础上,更应该学习其中的原理;所以若你为后端开发者,不论Java、Nodejs、Go等技术栈,对待下面将提及的微服务架构、容器技术、服务治理、高可用等都需要努力学习,抓住重点;) +[//]: # (>) -> 相比前端,作为偏后端的开发者, 后端技术的学习则需要稳扎稳打、不断积累整理,在会用、能用、熟练的基础上,更应该学习其中的原理;所以若你为后端开发者,不论Java、Nodejs、Go等技术栈,对待下面将提及的微服务架构、容器技术、服务治理、高可用等都需要努力学习,抓住重点; -> -> 在面试面前,能力是不会说谎的,打铁还需自身硬,加油~ +[//]: # (> 在面试面前,能力是不会说谎的,打铁还需自身硬,加油~) +[//]: # () +[//]: # () +[//]: # (#### Express框架) -#### Express框架 +[//]: # () +[//]: # () +[//]: # (- [框架概念简介](docs/express/框架介绍.md)) +[//]: # (- [brew和tree的安装](docs/express/brew和tree的安装.md)) -- [框架概念简介](docs/express/框架介绍.md) -- [brew和tree的安装](docs/express/brew和tree的安装.md) -- 搭建express基础项目 -- 安装 -- 路由 -- 静态文件 -- 中间件 -- 统一错误处理 -- [express()函数](docs/express/express()函数.md) -- [application对象详解](docs/express/application对象详解.md) -- [request对象](docs/express/request对象.md) -- [respon对象]() -- [router对象]() -- 数据库集成 -- MVC分层 -- [pm2进程管理](docs/express/pm2进程管理.md) -- 分环境部署上线 +[//]: # (- 搭建express基础项目) +[//]: # (- 安装) -#### Koa框架 +[//]: # (- 路由) +[//]: # (- 静态文件) -- koa介绍 -- 手把手搭建第一个koa项目 -- 应用(Application) -- 中间件(Middleware) -- 上下文(Context) -- 请求(Request) -- 响应(Response) +[//]: # (- 中间件) +[//]: # (- 统一错误处理) -#### Eggjs框架 +[//]: # (- [express()函数](docs/express/express()函数.md)) +[//]: # (- [application对象详解](docs/express/application对象详解.md)) -##### 基础篇 +[//]: # (- [request对象](docs/express/request对象.md)) +[//]: # (- [respon对象]()) -- [第一部分:Git概述](docs/eggjs/git-README.md) +[//]: # (- [router对象]()) +[//]: # (- 数据库集成) -* [1.1 下载和安装](docs/eggjs/git-download.md) - * [1.2 基本配置](docs/eggjs/git-config.md) - * [1.3 常用命令](docs/eggjs/git-dns.md) - * [1.4 GitHub简单使用](docs/eggjs/git-github.md) - * [1.5 GitBook简单使用](https://mp.weixin.qq.com/s/Wn_IZ6K4eqh1PtomRtqdqg) - * [1.5.1 Typora简介](docs/eggjs/git-typora.md) - * [1.5.2 MarkDown语法](docs/eggjs/git-markdown.md) - * [1.6 码云和GitHub的选择](docs/eggjs/git-choice.md) +[//]: # (- MVC分层) +[//]: # (- [pm2进程管理](docs/express/pm2进程管理.md)) -- [第二部分:数据库概述](docs/eggjs/mysql-README.md) +[//]: # (- 分环境部署上线) +[//]: # () +[//]: # () +[//]: # (#### Koa框架) - - [2.1 下载和安装](docs/eggjs/mysql-download.md) - - [2.2 连接数据库](docs/eggjs/git-connect.md) - - [2.3 CURD操作](docs/eggjs/mysql-curd.md) - - [2.4 Redis缓存](docs/eggjs/mysql-redis.md) - - [2.4.1 redis安装](docs/eggjs/mysql-redis-install.md) - - [2.4.2 redis常用指令](docs/eggjs/mysql-redis-dns.md) - - [2.5 可视化管理](docs/eggjs/mysql-redis-view.md) +[//]: # () +[//]: # () +[//]: # (- koa介绍) +[//]: # (- 手把手搭建第一个koa项目) -##### 入门篇 +[//]: # (- 应用(Application)) +[//]: # (- 中间件(Middleware)) -- [第一部分:Egg框架快速入门](docs/eggjs/egg-README.md) +[//]: # (- 上下文(Context)) +[//]: # (- 请求(Request)) -- [1.1 基础功能](docs/eggjs/egg-base.md) - - [1.1.1 接口参数获取](docs/eggjs/egg-request-params.md) - - [1.1.2 Egg内置对象 ](docs/eggjs/egg-object.md) - - [1.1.3 Config配置](docs/eggjs/egg-config.md) - - [1.1.4 Egg生命周期](docs/eggjs/egg-life.md) - - [1.1.5 中间件理解](docs/eggjs/egg-middleware.md) - - [1.1.6 Router路由分发](docs/eggjs/egg-router.md) - - [1.1.7 Controller控制器](docs/eggjs/egg-controller.md) - - [1.1.8 Service服务](docs/eggjs/egg-service.md) - - [1.1.9 常用插件](docs/eggjs/egg-plugin.md) -- [1.2 核心功能](docs/eggjs/egg-core.md) - - [1.2.1 日志输出](docs/eggjs/egg-logger.md) - - [1.2.2 定时任务](docs/eggjs/egg-schedule.md) - - [1.2.2 HttpClient网络请求](docs/eggjs/egg-httpclient.md) - - [1.2.3 Cookie的基本使用](docs/eggjs/egg-cookies.md) - - [1.2.4 Session的基本使用](docs/eggjs/egg-session.md) - - [1.2.5 统一异常-错误处理](docs/eggjs/egg-try-catch.md) - - [1.2.6 CSRF防范和XSS攻击](docs/eggjs/egg-csrf-xss.md) - - [1.2.7 RESTful API接口风格](docs/eggjs/egg-restful.md) +[//]: # (- 响应(Response)) +[//]: # () +[//]: # () +[//]: # (#### Eggjs框架) -- [第二部分:插件开发](docs/eggjs/plugin-README.md) +[//]: # () +[//]: # () +[//]: # (##### 基础篇) +[//]: # () +[//]: # () +[//]: # (- [第一部分:Git概述](docs/eggjs/git-README.md)) - - [2.1 egg-validate参数校验](docs/eggjs/plugin-egg-validate.md) - - [2.2 egg-view-ejs页面渲染](docs/eggjs/plugin-egg-view.ejs.md) - - [2.3 egg-redis缓存](docs/eggjs/plugin-egg-redis.md) - - [2.4 egg-mysql](docs/eggjs/plugin-egg-mysql.md) - - [2.5 egg-sequelize](docs/eggjs/plugin-egg-sequelize.md) - - [2.6 egg-socket.io即时通讯](docs/eggjs/plugin-egg-socket.io.md) +[//]: # () +[//]: # () +[//]: # (* [1.1 下载和安装](docs/eggjs/git-download.md)) +[//]: # ( * [1.2 基本配置](docs/eggjs/git-config.md)) -##### 代码实战篇 +[//]: # ( * [1.3 常用命令](docs/eggjs/git-dns.md)) +[//]: # ( * [1.4 GitHub简单使用](docs/eggjs/git-github.md)) -- [第一部分:常用代码](docs/eggjs/project-README-CODE.md) +[//]: # ( * [1.5 GitBook简单使用](https://mp.weixin.qq.com/s/Wn_IZ6K4eqh1PtomRtqdqg)) +[//]: # ( * [1.5.1 Typora简介](docs/eggjs/git-typora.md)) - - [1.1 图片前端在线剪辑](docs/eggjs/project-images-cropper.md) - - [1.2 文件上传后台处理](docs/eggjs/project-upload.md) - - [1.3 MD5加密-解密算法](docs/eggjs/project-md5.md) - - [1.4 Egg Jwt加密和校验](docs/eggjs/project-token.md) -- [第二部分:项目简介](docs/eggjs/project-README-INTRODUCE.md) +[//]: # ( * [1.5.2 MarkDown语法](docs/eggjs/git-markdown.md)) +[//]: # ( * [1.6 码云和GitHub的选择](docs/eggjs/git-choice.md)) - - [2.1 基于OAuth2的统一认证中心系统](docs/eggjs/project-ssoCenterSystem.md) - - [2.2 常用前后端分页比较与实现](docs/eggjs/project-pagenation.md) - - [2.3基于Spring Boot实现的个人博客](docs/eggjs/project-spring-boot-blog.md) - - [2.4 基于Yapi搭建的接口管理系统](docs/eggjs/project-webapi.md) - - [2.5 GitBook开源笔记总结站点搭建](docs/eggjs/project-gitbook.md) - - [2.6 个人网站及接口服务搭建搭建](docs/eggjs/project-142vip.cn.md) -- [第三部分:手把手搭建基础Egg开发框架](docs/eggjs/egg-egg-example.md) +[//]: # () +[//]: # () +[//]: # (- [第二部分:数据库概述](docs/eggjs/mysql-README.md)) +[//]: # () +[//]: # () +[//]: # ( - [2.1 下载和安装](docs/eggjs/mysql-download.md)) -#### Nestjs框架 +[//]: # ( - [2.2 连接数据库](docs/eggjs/git-connect.md)) +[//]: # ( - [2.3 CURD操作](docs/eggjs/mysql-curd.md)) -> Nestjs框架推崇typescript语法,并且友好的兼容express框架,因此在学习Nestjs框架之前,请务必先熟悉express框架相关操作并进行typescript入门;在一定程度上typescript和面向对象语言Java、Net等很相似,如果你之前有JavaScript和Java的基础,那么应该恭喜你,你的学习速度将会倍速提高 +[//]: # ( - [2.4 Redis缓存](docs/eggjs/mysql-redis.md)) +[//]: # ( - [2.4.1 redis安装](docs/eggjs/mysql-redis-install.md)) -- [核心基础概念](nestjs/nestjs核心基础概念.md) -- [项目创建初始化入门](nestjs/nestjs项目创建初始化入门.md) -- [整合swagger快速生成api文档](nestjs/nestjs整合swagger快速生成api文档.md) -- [接口路由请求传参](nestjs/nestjs接口路由请求传参.md) +[//]: # ( - [2.4.2 redis常用指令](docs/eggjs/mysql-redis-dns.md)) +[//]: # ( - [2.5 可视化管理](docs/eggjs/mysql-redis-view.md)) -## 算法 +[//]: # () +[//]: # () +[//]: # (##### 入门篇) +[//]: # () +[//]: # () +[//]: # (- [第一部分:Egg框架快速入门](docs/eggjs/egg-README.md)) -- 算法分析 +[//]: # () +[//]: # () +[//]: # (- [1.1 基础功能](docs/eggjs/egg-base.md)) +[//]: # ( - [1.1.1 接口参数获取](docs/eggjs/egg-request-params.md)) -#### 查找 +[//]: # ( - [1.1.2 Egg内置对象 ](docs/eggjs/egg-object.md)) +[//]: # ( - [1.1.3 Config配置](docs/eggjs/egg-config.md)) -- 顺序查找 -- 折半查找 -- 分块查找 -- B树和B+树 -- 散列(Hash)表 -- 字符串模式匹配(KPM) +[//]: # ( - [1.1.4 Egg生命周期](docs/eggjs/egg-life.md)) +[//]: # ( - [1.1.5 中间件理解](docs/eggjs/egg-middleware.md)) -#### 排序 +[//]: # ( - [1.1.6 Router路由分发](docs/eggjs/egg-router.md)) +[//]: # ( - [1.1.7 Controller控制器](docs/eggjs/egg-controller.md)) -- 插入排序 -- 交换排序 -- 选择排序 -- 归并排序 -- 基数排序 -- 内部排序比较 -- 外部排序比较 +[//]: # ( - [1.1.8 Service服务](docs/eggjs/egg-service.md)) +[//]: # ( - [1.1.9 常用插件](docs/eggjs/egg-plugin.md)) -#### LeetCode刷题 +[//]: # (- [1.2 核心功能](docs/eggjs/egg-core.md)) +[//]: # ( - [1.2.1 日志输出](docs/eggjs/egg-logger.md)) -## 数据库 +[//]: # ( - [1.2.2 定时任务](docs/eggjs/egg-schedule.md)) +[//]: # ( - [1.2.2 HttpClient网络请求](docs/eggjs/egg-httpclient.md)) -> 主讲数据库基础知识,结合node的简单使用,相关的部署方案参照下方的文档 +[//]: # ( - [1.2.3 Cookie的基本使用](docs/eggjs/egg-cookies.md)) +[//]: # ( - [1.2.4 Session的基本使用](docs/eggjs/egg-session.md)) -#### MySQL +[//]: # ( - [1.2.5 统一异常-错误处理](docs/eggjs/egg-try-catch.md)) +[//]: # ( - [1.2.6 CSRF防范和XSS攻击](docs/eggjs/egg-csrf-xss.md)) -- [【服务器版】MySQL的安装部署](https://mp.weixin.qq.com/s/U1OUZYHEChFDx03FvgbMHA) -- [MySQL优化之Explain参数说明](docs/mysql/MySQL优化之Explain参数说明.md) -- 索引 -- sql优化 -- [基于GTID主从复制的原理和基础配置](docs/mysql/基于GTID主从复制的原理和基础配置.md) -- [MySQL日志类型把我难哭了,你学废了吗?](docs/mysql/mysql日志比较.md) +[//]: # ( - [1.2.7 RESTful API接口风格](docs/eggjs/egg-restful.md)) +[//]: # () +[//]: # () +[//]: # (- [第二部分:插件开发](docs/eggjs/plugin-README.md)) -#### Redis +[//]: # () +[//]: # () +[//]: # ( - [2.1 egg-validate参数校验](docs/eggjs/plugin-egg-validate.md)) +[//]: # ( - [2.2 egg-view-ejs页面渲染](docs/eggjs/plugin-egg-view.ejs.md)) -> 将围绕redis基础概念、使用场景、使用方式、简单部署等方面 展开介绍,[主目录](redis)下有自己觉得还不错PDF文档~ +[//]: # ( - [2.3 egg-redis缓存](docs/eggjs/plugin-egg-redis.md)) +[//]: # ( - [2.4 egg-mysql](docs/eggjs/plugin-egg-mysql.md)) -- [key命名规范与建议](docs/redis/key命名规范与建议.md) -- [redis开发使用规范](docs/redis/redis开发使用规范.md) -- [redis基础介绍](docs/redis/redis基础介绍.md) -- [redis的简单安装和部署](https://mp.weixin.qq.com/s/Xe-ZDf2kgUWfYSkuULAdlw) -- [官方默认配置模板](code/docs/redis/redis-default.conf) -- 数据类型 -- [redis简单主从集群部署-docker方式](docs/docs/redis/redis集群部署.md) -- [memCache与Redis比较](docs/redis/memCache与Redis.md) +[//]: # ( - [2.5 egg-sequelize](docs/eggjs/plugin-egg-sequelize.md)) +[//]: # ( - [2.6 egg-socket.io即时通讯](docs/eggjs/plugin-egg-socket.io.md)) -#### Mongo +[//]: # () +[//]: # () +[//]: # (##### 代码实战篇) +[//]: # () +[//]: # () +[//]: # (- [第一部分:常用代码](docs/eggjs/project-README-CODE.md)) -- 基本介绍 -- 安装部署 -- 简单使用 -- Node下的CURD操作 +[//]: # () +[//]: # () +[//]: # ( - [1.1 图片前端在线剪辑](docs/eggjs/project-images-cropper.md)) +[//]: # ( - [1.2 文件上传后台处理](docs/eggjs/project-upload.md)) -## 服务部署 +[//]: # ( - [1.3 MD5加密-解密算法](docs/eggjs/project-md5.md)) +[//]: # ( - [1.4 Egg Jwt加密和校验](docs/eggjs/project-token.md)) -#### nginx +[//]: # (- [第二部分:项目简介](docs/eggjs/project-README-INTRODUCE.md)) +[//]: # () +[//]: # () +[//]: # ( - [2.1 基于OAuth2的统一认证中心系统](docs/eggjs/project-ssoCenterSystem.md)) -- [nginx安装,普通安装 Or Docker搞定?](docs/nginx/nginx基础部署.md) -- [手把手nginx基础入门]() -- [反向代理、负载均衡真有那么难吗?]() -- [Nginx SSL证书,从此踏上Https之路](docs/nginx/nginx服务器ssl证书配置.md) +[//]: # ( - [2.2 常用前后端分页比较与实现](docs/eggjs/project-pagenation.md)) +[//]: # ( - [2.3基于Spring Boot实现的个人博客](docs/eggjs/project-spring-boot-blog.md)) -#### docker +[//]: # ( - [2.4 基于Yapi搭建的接口管理系统](docs/eggjs/project-webapi.md)) +[//]: # ( - [2.5 GitBook开源笔记总结站点搭建](docs/eggjs/project-gitbook.md)) -- 我与docker的第一次硬碰硬 -- docker操作入门真有那么难吗? -- 这些基础操作指令,你会吗? -- 那些年,我常用的docker指令操作汇总 +[//]: # ( - [2.6 个人网站及接口服务搭建搭建](docs/eggjs/project-142vip.cn.md)) +[//]: # (- [第三部分:手把手搭建基础Egg开发框架](docs/eggjs/egg-egg-example.md)) -#### docker-compose +[//]: # () +[//]: # () +[//]: # (#### Nestjs框架) +[//]: # () +[//]: # () +[//]: # (> Nestjs框架推崇typescript语法,并且友好的兼容express框架,因此在学习Nestjs框架之前,请务必先熟悉express框架相关操作并进行typescript入门;在一定程度上typescript和面向对象语言Java、Net等很相似,如果你之前有JavaScript和Java的基础,那么应该恭喜你,你的学习速度将会倍速提高) -- 听说你装了N次都没搞定? -- 集群启动失败,yaml规范不清楚? -- [我了解的docker-compose都在这里了](https://mp.weixin.qq.com/s/nC4nF51xn61TZlenuUxDog) +[//]: # () +[//]: # () +[//]: # (- [核心基础概念](nestjs/nestjs核心基础概念.md)) +[//]: # (- [项目创建初始化入门](nestjs/nestjs项目创建初始化入门.md)) -#### linux下shell编程 +[//]: # (- [整合swagger快速生成api文档](nestjs/nestjs整合swagger快速生成api文档.md)) -- [shell基础整理](https://mp.weixin.qq.com/s/gctrWdB1JEK59_a9tJQSkg) -- [操作mysql数据库](shell/shell连接mysql.md) -- shell操作docker -- 环境变量env +[//]: # (- [接口路由请求传参](nestjs/nestjs接口路由请求传参.md)) +[//]: # () +[//]: # () +[//]: # (## 算法) -## 服务网关 +[//]: # () +[//]: # () +[//]: # (- 算法分析) +[//]: # () +[//]: # () +[//]: # (#### 查找) -#### kong +[//]: # () +[//]: # () +[//]: # (- 顺序查找) +[//]: # (- 折半查找) -- [kong的的基本介绍](/api-gateway/kong/kong的基本介绍.md) -- [docker下kong的部署](/api-gateway/kong/基于docker部署kong网关服务.md) -- docker-compose搭建kong集群 -- 可视化管理界面介绍 +[//]: # (- 分块查找) +[//]: # (- B树和B+树) -#### konga +[//]: # (- 散列(Hash)表) +[//]: # (- 字符串模式匹配(KPM)) -- 基本介绍与docker部署 -- 简单使用 -- 路由管理 +[//]: # () +[//]: # () +[//]: # (#### 排序) +[//]: # () +[//]: # () +[//]: # (- 插入排序) -#### kong-dashboard +[//]: # (- 交换排序) +[//]: # (- 选择排序) -- docker简单部署 -- 路由管理 -- 插件介绍 +[//]: # (- 归并排序) +[//]: # (- 基数排序) -## 服务注册 +[//]: # (- 内部排序比较) +[//]: # (- 外部排序比较) -#### Apollo +[//]: # () +[//]: # () +[//]: # (#### LeetCode刷题) +[//]: # () +[//]: # () +[//]: # (## 数据库) -> 携程开发的配置中心经典项目,可集成多语言客户端,实现灰度部署,在分布式微服务的场景下抽离出服务配置,方便统一管理、发布 +[//]: # () +[//]: # () +[//]: # (> 主讲数据库基础知识,结合node的简单使用,相关的部署方案参照下方的文档) +[//]: # () +[//]: # () +[//]: # (#### MySQL) -#### Consul +[//]: # () +[//]: # () +[//]: # (- [【服务器版】MySQL的安装部署](https://mp.weixin.qq.com/s/U1OUZYHEChFDx03FvgbMHA)) +[//]: # (- [MySQL优化之Explain参数说明](docs/mysql/MySQL优化之Explain参数说明.md)) -> 服务注册、发现,key-value键值对管理 +[//]: # (- 索引) +[//]: # (- sql优化) -#### Nacos +[//]: # (- [基于GTID主从复制的原理和基础配置](docs/mysql/基于GTID主从复制的原理和基础配置.md)) +[//]: # (- [MySQL日志类型把我难哭了,你学废了吗?](docs/mysql/mysql日志比较.md)) -> 背靠国内一线互联网大厂——阿里巴巴,也是可适用于微服务下的配置管理,支持Java、Nodejs等主流语言,目前生态良好,技术支持表现一般,属于Apollo替代产品 +[//]: # () +[//]: # () +[//]: # (#### Redis) +[//]: # () +[//]: # () +[//]: # (> 将围绕redis基础概念、使用场景、使用方式、简单部署等方面 展开介绍,[主目录](redis)下有自己觉得还不错PDF文档~) -## 消息中间件 +[//]: # () +[//]: # () +[//]: # (- [key命名规范与建议](docs/redis/key命名规范与建议.md)) +[//]: # (- [redis开发使用规范](docs/redis/redis开发使用规范.md)) -> 消息队列已经逐渐成为企业IT系统内部通信的核心手段。具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。 -> -> 目前个人了解的有:RabbitMQ、Kafka、RocketMQ +[//]: # (- [redis基础介绍](docs/redis/redis基础介绍.md)) +[//]: # (- [redis的简单安装和部署](https://mp.weixin.qq.com/s/Xe-ZDf2kgUWfYSkuULAdlw)) -#### RabbitMQ +[//]: # (- [官方默认配置模板](code/docs/redis/redis-default.conf)) +[//]: # (- 数据类型) -#### kafka +[//]: # (- [redis简单主从集群部署-docker方式](docs/docs/redis/redis集群部署.md)) +[//]: # (- [memCache与Redis比较](docs/redis/memCache与Redis.md)) -#### RocketMQ +[//]: # () +[//]: # () +[//]: # (#### Mongo) +[//]: # () +[//]: # () +[//]: # (- 基本介绍) -## RPC框架 +[//]: # (- 安装部署) +[//]: # (- 简单使用) -#### gRPC +[//]: # (- Node下的CURD操作) +[//]: # () +[//]: # () +[//]: # (## 服务部署) -> gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,tensorflow分布式与tensorflow serving底层通信都是是用的grpc。我自己基于JavaScript技术栈上较多的接触到gRPC,传送门:[基于js下各框架grpc的使用]() +[//]: # () +[//]: # () +[//]: # (#### nginx) +[//]: # () +[//]: # () +[//]: # (- [nginx安装,普通安装 Or Docker搞定?](docs/nginx/nginx基础部署.md)) -- nodejs下grpc的简单实用 +[//]: # (- [手把手nginx基础入门]()) +[//]: # (- [反向代理、负载均衡真有那么难吗?]()) -- grpc集成express框架 +[//]: # (- [Nginx SSL证书,从此踏上Https之路](docs/nginx/nginx服务器ssl证书配置.md)) +[//]: # () +[//]: # () +[//]: # (#### docker) -- grpc集成koa框架 +[//]: # () +[//]: # () +[//]: # (- 我与docker的第一次硬碰硬) +[//]: # (- docker操作入门真有那么难吗?) -- eggjs框架下grpc的线上部署 +[//]: # (- 这些基础操作指令,你会吗?) +[//]: # (- 那些年,我常用的docker指令操作汇总) -- grpc插件开发示例 +[//]: # () +[//]: # () +[//]: # (#### docker-compose) +[//]: # () +[//]: # () +[//]: # (- 听说你装了N次都没搞定?) +[//]: # (- 集群启动失败,yaml规范不清楚?) +[//]: # (- [我了解的docker-compose都在这里了](https://mp.weixin.qq.com/s/nC4nF51xn61TZlenuUxDog)) +[//]: # () +[//]: # () +[//]: # (#### linux下shell编程) -#### Dubbo +[//]: # () +[//]: # (- [shell基础整理](https://mp.weixin.qq.com/s/gctrWdB1JEK59_a9tJQSkg)) +[//]: # (- [操作mysql数据库](shell/shell连接mysql.md)) -> Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于Spring框架(**Java技术栈重点研究**) +[//]: # (- shell操作docker) +[//]: # (- 环境变量env) -#### Thrift +[//]: # () +[//]: # () +[//]: # (## 服务网关) +[//]: # () +[//]: # () +[//]: # (#### kong) -> Apache的一个项目(http://thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。 +[//]: # () +[//]: # () +[//]: # (- [kong的的基本介绍](/api-gateway/kong/kong的基本介绍.md)) +[//]: # (- [docker下kong的部署](/api-gateway/kong/基于docker部署kong网关服务.md)) -## Elk日志管理平台 +[//]: # (- docker-compose搭建kong集群) +[//]: # (- 可视化管理界面介绍) -> 全链路日志 +[//]: # () +[//]: # () +[//]: # (#### konga) -- [ELK基础概念与常用架构整理](docs/elk/基础概念与常用架构整理.md) +[//]: # () +[//]: # () +[//]: # (- 基本介绍与docker部署) +[//]: # (- 简单使用) -#### ElasticSearch +[//]: # (- 路由管理) +[//]: # () +[//]: # () +[//]: # (#### kong-dashboard) -> 数据存储 +[//]: # () +[//]: # () +[//]: # (- docker简单部署) +[//]: # (- 路由管理) -#### Logstash +[//]: # (- 插件介绍) +[//]: # () +[//]: # () +[//]: # (## 服务注册) -> 数据收集 +[//]: # () +[//]: # () +[//]: # (#### Apollo) +[//]: # () +[//]: # () +[//]: # (> 携程开发的配置中心经典项目,可集成多语言客户端,实现灰度部署,在分布式微服务的场景下抽离出服务配置,方便统一管理、发布) -#### Kibana +[//]: # () +[//]: # () +[//]: # (#### Consul) +[//]: # () +[//]: # () +[//]: # (> 服务注册、发现,key-value键值对管理) -> 数据展示 +[//]: # () +[//]: # () +[//]: # (#### Nacos) +[//]: # () +[//]: # () +[//]: # (> 背靠国内一线互联网大厂——阿里巴巴,也是可适用于微服务下的配置管理,支持Java、Nodejs等主流语言,目前生态良好,技术支持表现一般,属于Apollo替代产品) -## 监控工具 +[//]: # () +[//]: # () +[//]: # (## 消息中间件) +[//]: # () +[//]: # () +[//]: # (> 消息队列已经逐渐成为企业IT系统内部通信的核心手段。具有低耦合、可靠投递、广播、流量控制、最终一致性等一系列功能,成为异步RPC的主要手段之一。当今市面上有很多主流的消息中间件,如老牌的ActiveMQ、RabbitMQ,炙手可热的Kafka,阿里巴巴自主开发RocketMQ等。) -> 参考笔者线上平台:http://view.142vip.cn/grafana 账号/密码:test/123456 基于docker部署,由于是个人学生服务器,站点访问延迟较高 -> -> 常用工具:promethus 、grafana、zabbix、lepus等 +[//]: # (>) +[//]: # (> 目前个人了解的有:RabbitMQ、Kafka、RocketMQ) -#### Prometheus +[//]: # () +[//]: # () +[//]: # (#### RabbitMQ) +[//]: # () +[//]: # () +[//]: # (#### kafka) -#### Grafana +[//]: # () +[//]: # () +[//]: # (#### RocketMQ) +[//]: # () +[//]: # () +[//]: # (## RPC框架) -#### Zabbix +[//]: # () +[//]: # () +[//]: # (#### gRPC) +[//]: # () +[//]: # () +[//]: # (> gRPC 一开始由 google 开发,是一款语言中立、平台中立、开源的远程过程调用(RPC)系统,tensorflow分布式与tensorflow serving底层通信都是是用的grpc。我自己基于JavaScript技术栈上较多的接触到gRPC,传送门:[基于js下各框架grpc的使用]()) -#### lepus(天兔) +[//]: # () +[//]: # () +[//]: # (- nodejs下grpc的简单实用) +[//]: # () +[//]: # () +[//]: # (- grpc集成express框架) -## 高可用架构 +[//]: # () +[//]: # () +[//]: # (- grpc集成koa框架) +[//]: # () +[//]: # () +[//]: # (- eggjs框架下grpc的线上部署) -#### MySQL集群 +[//]: # () +[//]: # () +[//]: # (- grpc插件开发示例) +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # (#### Dubbo) -##### 主从同步 +[//]: # () +[//]: # () +[//]: # (> Alibaba开发的一个RPC框架,远程接口基于Java Interface, 依托于Spring框架(**Java技术栈重点研究**)) +[//]: # () +[//]: # () +[//]: # (#### Thrift) -> 实现功能:主从服务器数据一致,低延迟、高并发 +[//]: # () +[//]: # () +[//]: # (> Apache的一个项目(http://thrift.apache.org),前身是Facebook开发的一个RPC框架,采用thrift作为IDL (Interface description language)。) +[//]: # () +[//]: # () +[//]: # (## Elk日志管理平台) -- Binlog主从复制 -- GTID主从复制 -- 主主复制 +[//]: # () +[//]: # () +[//]: # (> 全链路日志) +[//]: # () +[//]: # (- [ELK基础概念与常用架构整理](docs/elk/基础概念与常用架构整理.md)) -##### 代理中间件 +[//]: # () +[//]: # () +[//]: # (#### ElasticSearch) +[//]: # () +[//]: # () +[//]: # (> 数据存储) -> 实现功能:读写分离、分库分表、负载均衡、故障切换 +[//]: # () +[//]: # () +[//]: # (#### Logstash) +[//]: # () +[//]: # () +[//]: # (> 数据收集) -- Mycat -- 360Atlas +[//]: # () +[//]: # () +[//]: # (#### Kibana) +[//]: # () +[//]: # () +[//]: # (> 数据展示) -#### 集群监控 +[//]: # () +[//]: # () +[//]: # (## 监控工具) +[//]: # () +[//]: # () +[//]: # (> 参考笔者线上平台:http://view.142vip.cn/grafana 账号/密码:test/123456 基于docker部署,由于是个人学生服务器,站点访问延迟较高) -> 实现功能:实时监控、可视化数据显示、故障报警 +[//]: # (>) +[//]: # (> 常用工具:promethus 、grafana、zabbix、lepus等) -##### Prometheus +[//]: # () +[//]: # () +[//]: # (#### Prometheus) +[//]: # () +[//]: # () +[//]: # (#### Grafana) -- 监控MySQL集群 -- 监控Mongo数据库 -- 监控Node服务 -- 监控linux服务器 -- 监控redis集群 +[//]: # () +[//]: # () +[//]: # (#### Zabbix) +[//]: # () +[//]: # () +[//]: # (#### lepus(天兔)) -##### Grafana +[//]: # () +[//]: # () +[//]: # (## 高可用架构) +[//]: # () +[//]: # () +[//]: # (#### MySQL集群) -- 基本安装部署 -- 功能介绍和简单操作 -- 可视化数据图形显示界面 -- 常用模板 +[//]: # () +[//]: # () +[//]: # (##### 主从同步) +[//]: # () +[//]: # () +[//]: # (> 实现功能:主从服务器数据一致,低延迟、高并发) -##### alter-manager +[//]: # () +[//]: # () +[//]: # (- Binlog主从复制) +[//]: # (- GTID主从复制) -- 推送到邮箱 -- 推送到钉钉、微信机器人 -- 推送到自定义消息接口(webhook钩子) +[//]: # (- 主主复制) +[//]: # () +[//]: # () +[//]: # (##### 代理中间件) -#### 压力测试 +[//]: # () +[//]: # () +[//]: # (> 实现功能:读写分离、分库分表、负载均衡、故障切换) +[//]: # () +[//]: # () +[//]: # (- Mycat) -- jmeter +[//]: # (- 360Atlas) +[//]: # () +[//]: # () +[//]: # (#### 集群监控) -#### Redis集群 +[//]: # () +[//]: # () +[//]: # (> 实现功能:实时监控、可视化数据显示、故障报警) +[//]: # () +[//]: # () +[//]: # (##### Prometheus) -> 持续整理中... +[//]: # () +[//]: # () +[//]: # (- 监控MySQL集群) +[//]: # (- 监控Mongo数据库) -##### 简单主从模式 +[//]: # (- 监控Node服务) +[//]: # (- 监控linux服务器) -#### 哨兵模式 +[//]: # (- 监控redis集群) +[//]: # () +[//]: # () +[//]: # (##### Grafana) -##### cluster模式 +[//]: # () +[//]: # () +[//]: # (- 基本安装部署) +[//]: # (- 功能介绍和简单操作) -## 网站搭建 +[//]: # (- 可视化数据图形显示界面) +[//]: # (- 常用模板) -> 从大二开始搭建个人网站:http://www.142vip.cn 起初非常简陋,工作之后计划进行第三版迭代,一直抽空佛系谢谢, 目前在重构中.. +[//]: # () +[//]: # () +[//]: # (##### alter-manager) +[//]: # () +[//]: # () +[//]: # (- 推送到邮箱) -- 最初的梦想 -- 舍弃Java,我的重构之路 -- 网站正规化,Nginx配置SSL证书 -- 小小网站却耗费三台学生服务器? +[//]: # (- 推送到钉钉、微信机器人) +[//]: # (- 推送到自定义消息接口(webhook钩子)) +[//]: # () +[//]: # () +[//]: # (#### 压力测试) +[//]: # () +[//]: # () +[//]: # (- jmeter) +[//]: # () +[//]: # () +[//]: # (#### Redis集群) +[//]: # () +[//]: # () +[//]: # (> 持续整理中...) -## 书籍整理 +[//]: # () +[//]: # () +[//]: # (##### 简单主从模式) -### 技术类 -> 待整理 +[//]: # () +[//]: # () +[//]: # (#### 哨兵模式) -#### [狼书 - 了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/Readme.md) +[//]: # () +[//]: # () +[//]: # (##### cluster模式) -- [第一章 Node.js初识](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第一章%20Node.js初识.md) -- [第二章 Nodejs安装与入门](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第二章%20Nodejs安装与入门.md) -- [第三章 更了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第三章%20更了不起的Node.js.md) -- [第四章 更好的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第四章%20更好的Node.js.md) -- [第五章 Node.js是如何执行的](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第五章%20Node.js是如何执行的.md) -- [第六章 模块与核心](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第六章%20模块与核心.md) -- [第七章 异步写法与流程控制](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第七章%20异步写法与流程控制.md) +[//]: # () +[//]: # () +[//]: # (## 网站搭建) -- [全部笔记](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/全部笔记.md) +[//]: # () +[//]: # () +[//]: # (> 从大二开始搭建个人网站:http://www.142vip.cn 起初非常简陋,工作之后计划进行第三版迭代,一直抽空佛系谢谢, 目前在重构中..) +[//]: # () +[//]: # () +[//]: # (- 最初的梦想) -#### [ES6标准入门——阮一峰]() +[//]: # (- 舍弃Java,我的重构之路) -> 本书内容较多,很多基础细节都有说明,难度中等、适合入门,书中很多例子我也摘抄了很多,主要是我认为重要的,笔记按照自己学习逻辑整理的,请君慢用 -- [1.ECMAScript 6 简介](docs/article-records/读书笔记/ES6标准入门/1.ECMAScript%206%20简介.md) -- [2.let和const命令](docs/article-records/读书笔记/ES6标准入门/2.let和const的命令.md) -- [3.变量的解构赋值](docs/article-records/读书笔记/ES6标准入门/3.变量的解构赋值.md) -- [4.字符串详解]() -### 非技术类 +[//]: # (- 网站正规化,Nginx配置SSL证书) -> 主要是跟计算机无关的一些书,在看完之后,会选择性的进行思维导图、经典词句整理,也可能添加个人思考 +[//]: # (- 小小网站却耗费三台学生服务器?) +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # (## 书籍整理) -#### [你好孤独 - 陈果](docs/article-records/读书笔记/好的孤独-陈果/Readme.md) +[//]: # () +[//]: # (### 技术类) -## 公众号汇总 +[//]: # (> 待整理) -### 2020年 +[//]: # () +[//]: # (#### [狼书 - 了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/Readme.md)) -#### 7月 +[//]: # () +[//]: # (- [第一章 Node.js初识](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第一章%20Node.js初识.md)) -- [【2020-07-26】微信公众号我来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483659&idx=1&sn=ac7b633a45ac06d388e0698163a2543e&chksm=fcdfb887cba8319151aedfa80c5b59d130838af81fe51c76e5c4926f82f4937b51c8c0c1470e&token=1304241434&lang=zh_CN#rd) +[//]: # (- [第二章 Nodejs安装与入门](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第二章%20Nodejs安装与入门.md)) -- [【2020-07-27】介绍一下,我在B站](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483760&idx=1&sn=30a9fa2a051079c5330039615950c34d&chksm=fcdfb8fccba831ea64644be501ecca3cea5846f16367faed9c84b44a30d9b6dc30456dae6548&token=1304241434&lang=zh_CN#rd) +[//]: # (- [第三章 更了不起的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第三章%20更了不起的Node.js.md)) +[//]: # (- [第四章 更好的Node.js](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第四章%20更好的Node.js.md)) -- [【2020-07-28】五年了,我终于换了人生中的第一台MacBookPro](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483762&idx=1&sn=e9ea759f1c1589881cc3bd9cabddb70a&chksm=fcdfb8fecba831e8c4635a4cefd302977071ed11a4dda6161cf9ad8458865297194f87cb013a&token=1304241434&lang=zh_CN#rd) +[//]: # (- [第五章 Node.js是如何执行的](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第五章%20Node.js是如何执行的.md)) +[//]: # (- [第六章 模块与核心](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第六章%20模块与核心.md)) -- [【2020-07-29】工作中第一次被喷,我到底是如何应对的?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483770&idx=1&sn=6b760873a814f4e18baab415bee3d863&chksm=fcdfb8f6cba831e00802de653ff6723a0bb169a93fe3a6a9762ee62d75d8cd88409268db9047&token=1304241434&lang=zh_CN#rd) +[//]: # (- [第七章 异步写法与流程控制](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/第七章%20异步写法与流程控制.md)) +[//]: # () +[//]: # (- [全部笔记](docs/读书笔记/../article-records/读书笔记/狼书-了不起的Node.js/全部笔记.md)) -- [【2020-07-31】CSDN关注100了,就这????](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483778&idx=1&sn=3d9f623c58d595f75d7092783a6c5abe&chksm=fcdfb80ecba83118e76de1ed88a5be51229e4145182aee6e0bcc13e4697707cf9f4609d8799d&token=1304241434&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (#### [ES6标准入门——阮一峰]()) +[//]: # () +[//]: # (> 本书内容较多,很多基础细节都有说明,难度中等、适合入门,书中很多例子我也摘抄了很多,主要是我认为重要的,笔记按照自己学习逻辑整理的,请君慢用) +[//]: # (- [1.ECMAScript 6 简介](docs/article-records/读书笔记/ES6标准入门/1.ECMAScript%206%20简介.md)) -#### 8月 -- [【2020-08-01】旧友相见,甚是怀念](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483790&idx=1&sn=76e13ac79ad498309542c9f41878bb1c&chksm=fcdfb802cba8311456ea9ff3309c4354055022cd0056b13c11fac44252231550e17a03f26f29&token=639111151&lang=zh_CN#rd) +[//]: # (- [2.let和const命令](docs/article-records/读书笔记/ES6标准入门/2.let和const的命令.md)) -- [【2020-08-03】JavaScript基础介绍和快速入门](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483805&idx=1&sn=4da4e0d3a2912aee146248c1d8f7f96f&chksm=fcdfb811cba83107fd8f08d3e35af7c72bf7d908d577ad83e45d80b0e9d1bbdbf16b1f169d64&token=639111151&lang=zh_CN#rd) +[//]: # (- [3.变量的解构赋值](docs/article-records/读书笔记/ES6标准入门/3.变量的解构赋值.md)) +[//]: # (- [4.字符串详解]()) -#### 9月 +[//]: # (### 非技术类) -- [【2020-09-01】Redis的简单安装和部署 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=1&sn=489aa1bd12487b0bf8f2a7694f4ca1aa&chksm=fcdfbd34cba83422f0afee027747d9e95773e093fa3a24225c2729029c4392bf42043964782f&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (> 主要是跟计算机无关的一些书,在看完之后,会选择性的进行思维导图、经典词句整理,也可能添加个人思考) -- [【2020-09-01】就很像?? ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=2&sn=a9962c6ca3a5eddd085bcd15617f64d9&chksm=fcdfbd34cba83422b987020a858b7cf31bfde6033642d697d5a00ad9ed618f3cf14deb207d67&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (#### [你好孤独 - 陈果](docs/article-records/读书笔记/好的孤独-陈果/Readme.md)) -- [【2020-09-03】shell编程基础整理 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=1&sn=6e3e862153755d9e61f5f4ebf220381d&chksm=fcdfbc92cba835844e8b6fd37d86a34ccf83342895f448c88ba5b62db974eb536a8e74a121aa&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (## 公众号汇总) -- [【2020-09-03】大学四年建站用过的云服务器都在这里了 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=2&sn=c7589eecbe58ff8939f72c0ff0bf567d&chksm=fcdfbc92cba83584b03dfeea7290606ce8249b0c3105b0b3b95a9087c77e3b1c7f863d8e30f9&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (### 2020年) -- [【2020-09-04】面试复盘和思考 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484711&idx=1&sn=bf362439ccfad04da53ce65c824a988d&chksm=fcdfbcabcba835bddc43c40fd3a454793adf7849a5d5bb356825d481b82ae3e58a749859502c&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (#### 7月) -- [【2020-09-06】朋友是“无用”的,不是你瞧不起我,就是我瞧不起你 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=1&sn=e0f8a7a70ddede75d94b202ddc6106d6&chksm=fcdfbcdbcba835cd2138658d750f7e09a820b34daf4624f253a21a11b5de56635d35e4c0df19&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-07-26】微信公众号我来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483659&idx=1&sn=ac7b633a45ac06d388e0698163a2543e&chksm=fcdfb887cba8319151aedfa80c5b59d130838af81fe51c76e5c4926f82f4937b51c8c0c1470e&token=1304241434&lang=zh_CN#rd)) -- [【2020-09-06】GitHub简单使用 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=2&sn=ade86739c94f99f944a3d387bc7e13ef&chksm=fcdfbcdbcba835cd192c3b7b7eeea8f5dbb16b2b2fa58b6e2094184f5aa3341927a6d1fad6f8&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-07-27】介绍一下,我在B站](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483760&idx=1&sn=30a9fa2a051079c5330039615950c34d&chksm=fcdfb8fccba831ea64644be501ecca3cea5846f16367faed9c84b44a30d9b6dc30456dae6548&token=1304241434&lang=zh_CN#rd)) -- [【2020-09-07】MySQL日志类型把我难哭了,你学废了吗?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484771&idx=1&sn=6ae4c6e8d333b0e1aa5cd1aee161d9b8&chksm=fcdfbcefcba835f94e3c0abc189477f241f675f38a63eb03bd320447e89da39cb08b72038ba3&token=1613702159&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-07-28】五年了,我终于换了人生中的第一台MacBookPro](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483762&idx=1&sn=e9ea759f1c1589881cc3bd9cabddb70a&chksm=fcdfb8fecba831e8c4635a4cefd302977071ed11a4dda6161cf9ad8458865297194f87cb013a&token=1304241434&lang=zh_CN#rd)) -- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-07-29】工作中第一次被喷,我到底是如何应对的?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483770&idx=1&sn=6b760873a814f4e18baab415bee3d863&chksm=fcdfb8f6cba831e00802de653ff6723a0bb169a93fe3a6a9762ee62d75d8cd88409268db9047&token=1304241434&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2020-07-31】CSDN关注100了,就这????](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483778&idx=1&sn=3d9f623c58d595f75d7092783a6c5abe&chksm=fcdfb80ecba83118e76de1ed88a5be51229e4145182aee6e0bcc13e4697707cf9f4609d8799d&token=1304241434&lang=zh_CN#rd)) -- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # () +[//]: # (#### 8月) -- [【2020-09-12】向各位汇报,再也不敢鸽了,人生处处有惊喜](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484784&idx=1&sn=ae73f1f4e53b622039a75ec41cabe378&chksm=fcdfbcfccba835eafefe304913e4078cf8dfac22f62fd9d686b307bbdf46d147016f5e876e05&token=639111151&lang=zh_CN#rd) +[//]: # (- [【2020-08-01】旧友相见,甚是怀念](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483790&idx=1&sn=76e13ac79ad498309542c9f41878bb1c&chksm=fcdfb802cba8311456ea9ff3309c4354055022cd0056b13c11fac44252231550e17a03f26f29&token=639111151&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-08-03】JavaScript基础介绍和快速入门](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247483805&idx=1&sn=4da4e0d3a2912aee146248c1d8f7f96f&chksm=fcdfb811cba83107fd8f08d3e35af7c72bf7d908d577ad83e45d80b0e9d1bbdbf16b1f169d64&token=639111151&lang=zh_CN#rd)) -- [【2020-09-13】来来来,无厘头技术(水)文,各种尬。简简单单评价一下](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=1&sn=10d26a600112ec4f95b3b3f470955744&chksm=fcdfbc03cba83515b07f0ae6cee791d1fb5fd619364cff3a17a4deab91333f0a6277b09a66a9&token=639111151&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (#### 9月) -- [【2020-09-13】基础Brew和Tree的安装实录](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=2&sn=94a6455ed6b17fa5b27e96358e935803&chksm=fcdfbc03cba83515d13dcfc2dea2445085a34ff4360e0a367fd914bb04bc6ba18a780a0cd2d2&token=639111151&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-01】Redis的简单安装和部署 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=1&sn=489aa1bd12487b0bf8f2a7694f4ca1aa&chksm=fcdfbd34cba83422f0afee027747d9e95773e093fa3a24225c2729029c4392bf42043964782f&token=1613702159&lang=zh_CN#rd)) -- [【2020-09-13】PM2进程管理,给我学!](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=3&sn=38a289efffda9510b5ff04c5bed0663e&chksm=fcdfbc03cba835154c888b9d7f86eac85c250eefb9d053687173274373f2f8d7b19fc307e76a&token=639111151&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-01】就很像?? ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484600&idx=2&sn=a9962c6ca3a5eddd085bcd15617f64d9&chksm=fcdfbd34cba83422b987020a858b7cf31bfde6033642d697d5a00ad9ed618f3cf14deb207d67&token=1613702159&lang=zh_CN#rd)) -- [【2020-09-14】数据结构,一定要学废了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484823&idx=1&sn=d41bb8da02585cf9ea8d0b3ef27e3dbb&chksm=fcdfbc1bcba8350d84ba2f01eaf187cbaa2d4cf5a9078beb1f2fafe94edb0126c82595ed8191&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-03】shell编程基础整理 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=1&sn=6e3e862153755d9e61f5f4ebf220381d&chksm=fcdfbc92cba835844e8b6fd37d86a34ccf83342895f448c88ba5b62db974eb536a8e74a121aa&token=1613702159&lang=zh_CN#rd)) -- [【2020-09-16】ELK基础概念与常用架构整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484837&idx=1&sn=7f0de3eeea3fc6ee299587704f5c44cd&chksm=fcdfbc29cba8353fd894582da7ae2c93b5920c4dbb1e197b011a817dc0962e317842a32d5560&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-03】大学四年建站用过的云服务器都在这里了 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484702&idx=2&sn=c7589eecbe58ff8939f72c0ff0bf567d&chksm=fcdfbc92cba83584b03dfeea7290606ce8249b0c3105b0b3b95a9087c77e3b1c7f863d8e30f9&token=1613702159&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-04】面试复盘和思考 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484711&idx=1&sn=bf362439ccfad04da53ce65c824a988d&chksm=fcdfbcabcba835bddc43c40fd3a454793adf7849a5d5bb356825d481b82ae3e58a749859502c&token=1613702159&lang=zh_CN#rd)) -- [【2020-09-17】分享书上一段话,问一个问题](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=1&sn=7af55ef3a7d843d9c43de6d6c7911da3&chksm=fcdfbc3ecba835287b2c644cda606454a713d370fbd7d14714b22a04277f7a7784b96b8b277e&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-06】朋友是“无用”的,不是你瞧不起我,就是我瞧不起你 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=1&sn=e0f8a7a70ddede75d94b202ddc6106d6&chksm=fcdfbcdbcba835cd2138658d750f7e09a820b34daf4624f253a21a11b5de56635d35e4c0df19&token=1613702159&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-06】GitHub简单使用 ](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484759&idx=2&sn=ade86739c94f99f944a3d387bc7e13ef&chksm=fcdfbcdbcba835cd192c3b7b7eeea8f5dbb16b2b2fa58b6e2094184f5aa3341927a6d1fad6f8&token=1613702159&lang=zh_CN#rd)) -- [【2020-09-17】看源码遇到的三个知识点,一个也没懂](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=2&sn=c59839c677d7c9652a09d1f8c70ef8d6&chksm=fcdfbc3ecba83528cf8271a2615129340a6f11954b6d9396160d0fb2c41593253d5e3510a031&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-07】MySQL日志类型把我难哭了,你学废了吗?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484771&idx=1&sn=6ae4c6e8d333b0e1aa5cd1aee161d9b8&chksm=fcdfbcefcba835f94e3c0abc189477f241f675f38a63eb03bd320447e89da39cb08b72038ba3&token=1613702159&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd)) -- [【2020-09-20】express()函数整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=2&sn=63e6b669341217135013816464dd5bd9&chksm=fcdfbc4dcba8355b4de0f712047709425a35fa3b122378b31f0e4db3afb82dfd38872862aab4&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-11】向各位汇报这周状态,再也不敢鸽了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484783&idx=1&sn=b9e82a2c2b04b7050d0659085af537ef&chksm=fcdfbce3cba835f5e692f5ffbb16505dbf3b5ccc9bb0bdf4b3f467629b293d0e0ce3086ec8dc&token=639111151&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-12】向各位汇报,再也不敢鸽了,人生处处有惊喜](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484784&idx=1&sn=ae73f1f4e53b622039a75ec41cabe378&chksm=fcdfbcfccba835eafefe304913e4078cf8dfac22f62fd9d686b307bbdf46d147016f5e876e05&token=639111151&lang=zh_CN#rd)) -- [【2020-09-22】入秋了,安好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=1&sn=e39e3547da49f40e1b64deadf9a9cfef&chksm=fcdfbc4dcba8355bfa9c8b9531a463fc652b764064528dd6c243f47a157b20e017bad3f410f4&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-13】来来来,无厘头技术(水)文,各种尬。简简单单评价一下](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=1&sn=10d26a600112ec4f95b3b3f470955744&chksm=fcdfbc03cba83515b07f0ae6cee791d1fb5fd619364cff3a17a4deab91333f0a6277b09a66a9&token=639111151&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-13】基础Brew和Tree的安装实录](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=2&sn=94a6455ed6b17fa5b27e96358e935803&chksm=fcdfbc03cba83515d13dcfc2dea2445085a34ff4360e0a367fd914bb04bc6ba18a780a0cd2d2&token=639111151&lang=zh_CN#rd)) -- [【2020-09-22】Nginx安装详解,我服务器上也是这样的](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=1&sn=b1073522cfd3ce6ebbe85e85ad4e35e0&chksm=fcdfbc6dcba8357bdb212c9db1378a045d0dcfd95b79ed05688180f05d2b391f9b724d0d752f&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-13】PM2进程管理,给我学!](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484815&idx=3&sn=38a289efffda9510b5ff04c5bed0663e&chksm=fcdfbc03cba835154c888b9d7f86eac85c250eefb9d053687173274373f2f8d7b19fc307e76a&token=639111151&lang=zh_CN#rd)) -- [【2020-09-22】被攻击的一天](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=2&sn=34c61ed01c6522d2861be3342ec12ad5&chksm=fcdfbc6dcba8357b76eb0fe6c502d932def6cd232297b010f9b2f9a1fca35c38df77dacce7f2&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-14】数据结构,一定要学废了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484823&idx=1&sn=d41bb8da02585cf9ea8d0b3ef27e3dbb&chksm=fcdfbc1bcba8350d84ba2f01eaf187cbaa2d4cf5a9078beb1f2fafe94edb0126c82595ed8191&token=368257571&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-09-16】ELK基础概念与常用架构整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484837&idx=1&sn=7f0de3eeea3fc6ee299587704f5c44cd&chksm=fcdfbc29cba8353fd894582da7ae2c93b5920c4dbb1e197b011a817dc0962e317842a32d5560&token=368257571&lang=zh_CN#rd)) -- [【2020-09-26】跟父亲视频的一个半小时,聊到了我,也聊到了Ta](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484929&idx=1&sn=394783dd2bfd65da24ae6dcb89d69ec6&chksm=fcdfbf8dcba8369b926b7083bbe3515aa5857f7589acc3f9d6d4987c67539a76dbd6e3cb70a1&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-17】分享书上一段话,问一个问题](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=1&sn=7af55ef3a7d843d9c43de6d6c7911da3&chksm=fcdfbc3ecba835287b2c644cda606454a713d370fbd7d14714b22a04277f7a7784b96b8b277e&token=368257571&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-17】看源码遇到的三个知识点,一个也没懂](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484850&idx=2&sn=c59839c677d7c9652a09d1f8c70ef8d6&chksm=fcdfbc3ecba83528cf8271a2615129340a6f11954b6d9396160d0fb2c41593253d5e3510a031&token=368257571&lang=zh_CN#rd)) -#### 10月 -- [【2020-10-07】时间太快,溜了溜了,杭州见](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484943&idx=1&sn=ad37db87dc40f381fd18cc828e492384&chksm=fcdfbf83cba8369598fc2773b63df235a9719b43749e7daab753c621fef5af4fba054dbb46ea&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-20】express()函数整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=2&sn=63e6b669341217135013816464dd5bd9&chksm=fcdfbc4dcba8355b4de0f712047709425a35fa3b122378b31f0e4db3afb82dfd38872862aab4&token=368257571&lang=zh_CN#rd)) -- [【2020-10-14】写不了代码就不写嘛](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484951&idx=1&sn=edddf3d6c8f3fc6dd1d14063b536c732&chksm=fcdfbf9bcba8368d81ddffcbd258f7e4b7fb573d2a8963859e1b156e8a5f5d81f5629c49be6e&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-22】入秋了,安好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484865&idx=1&sn=e39e3547da49f40e1b64deadf9a9cfef&chksm=fcdfbc4dcba8355bfa9c8b9531a463fc652b764064528dd6c243f47a157b20e017bad3f410f4&token=368257571&lang=zh_CN#rd)) -- [【2020-10-18】我不行了,这号关注量男女7:3 还怎么相亲嘛?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484968&idx=1&sn=d37960ed81044fbf314440af85049d65&chksm=fcdfbfa4cba836b25082535910f7137d1513d834d54fbfadf48a433b29511ccf4d532f19b88a&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-22】Nginx安装详解,我服务器上也是这样的](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=1&sn=b1073522cfd3ce6ebbe85e85ad4e35e0&chksm=fcdfbc6dcba8357bdb212c9db1378a045d0dcfd95b79ed05688180f05d2b391f9b724d0d752f&token=368257571&lang=zh_CN#rd)) -- [【2020-10-26】悄悄接你下班,陪你回家](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484988&idx=1&sn=947c487946fa3574d33e9c6861a1ee28&chksm=fcdfbfb0cba836a626d2efa904a5177c2e0916c381b26c89b6dcfc610a380b906d4480f7cc9b&token=368257571&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-09-22】被攻击的一天](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484897&idx=2&sn=34c61ed01c6522d2861be3342ec12ad5&chksm=fcdfbc6dcba8357b76eb0fe6c502d932def6cd232297b010f9b2f9a1fca35c38df77dacce7f2&token=368257571&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2020-09-26】跟父亲视频的一个半小时,聊到了我,也聊到了Ta](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484929&idx=1&sn=394783dd2bfd65da24ae6dcb89d69ec6&chksm=fcdfbf8dcba8369b926b7083bbe3515aa5857f7589acc3f9d6d4987c67539a76dbd6e3cb70a1&token=368257571&lang=zh_CN#rd)) -#### 11月 +[//]: # () +[//]: # () +[//]: # (#### 10月) -- [【2020-11-01】11月,你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485002&idx=1&sn=3760eba58f7ded433b71bec48b89a681&chksm=fcdfbfc6cba836d0b7db1f2aa5a4a884f68f8ce20a59aa44b4ac46c59eb4dd1c233079241a4a&token=368257571&lang=zh_CN#rd) +[//]: # (- [【2020-10-07】时间太快,溜了溜了,杭州见](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484943&idx=1&sn=ad37db87dc40f381fd18cc828e492384&chksm=fcdfbf83cba8369598fc2773b63df235a9719b43749e7daab753c621fef5af4fba054dbb46ea&token=368257571&lang=zh_CN#rd)) -- [【2020-11-15】她来了她来了,她带着剪了三遍的视频来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485042&idx=1&sn=181ae5062c31ee7931390607b6f10358&chksm=fcdfbffecba836e8275c849007470db6964f7cd675af59fe73c94369334d17d4840e8c0413d5&token=898438314&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-10-14】写不了代码就不写嘛](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484951&idx=1&sn=edddf3d6c8f3fc6dd1d14063b536c732&chksm=fcdfbf9bcba8368d81ddffcbd258f7e4b7fb573d2a8963859e1b156e8a5f5d81f5629c49be6e&token=368257571&lang=zh_CN#rd)) +[//]: # () +[//]: # (- [【2020-10-18】我不行了,这号关注量男女7:3 还怎么相亲嘛?](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484968&idx=1&sn=d37960ed81044fbf314440af85049d65&chksm=fcdfbfa4cba836b25082535910f7137d1513d834d54fbfadf48a433b29511ccf4d532f19b88a&token=368257571&lang=zh_CN#rd)) -- [【2020-11-18】陪我一路的小姐姐,谢谢啦~ 我大意了呀,没有闪](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485053&idx=1&sn=ed2fe0de87b70781cdb7755ef4726340&chksm=fcdfbff1cba836e7165dc53722aaf96ef38d8f43cfadadcb4695d8ff430ea64619caada81cfa&token=1939941957&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-10-26】悄悄接你下班,陪你回家](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247484988&idx=1&sn=947c487946fa3574d33e9c6861a1ee28&chksm=fcdfbfb0cba836a626d2efa904a5177c2e0916c381b26c89b6dcfc610a380b906d4480f7cc9b&token=368257571&lang=zh_CN#rd)) -- [【2020-11-30】11月的尾巴,12月你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485066&idx=1&sn=1d357917f548a6d977af96c6582db527&chksm=fcdfbf06cba836103152f7a3fdfbf97c1be2472a84f824cbddd532c15aefe14c71b3b076233f&token=831506871&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (#### 11月) -#### 12月 +[//]: # () +[//]: # (- [【2020-11-01】11月,你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485002&idx=1&sn=3760eba58f7ded433b71bec48b89a681&chksm=fcdfbfc6cba836d0b7db1f2aa5a4a884f68f8ce20a59aa44b4ac46c59eb4dd1c233079241a4a&token=368257571&lang=zh_CN#rd)) -- [【2020-12-06】周末小记——忆旧友、吃火锅,也会感慨](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485080&idx=2&sn=bdc551f2e9bf54dc01881979339af8ad&chksm=fcdfbf14cba836022a05854547cbca03b5a08b912a0e0f195d4856d6b53ecd78aee2f167b515&token=1581389686&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-11-15】她来了她来了,她带着剪了三遍的视频来了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485042&idx=1&sn=181ae5062c31ee7931390607b6f10358&chksm=fcdfbffecba836e8275c849007470db6964f7cd675af59fe73c94369334d17d4840e8c0413d5&token=898438314&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2020-11-18】陪我一路的小姐姐,谢谢啦~ 我大意了呀,没有闪](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485053&idx=1&sn=ed2fe0de87b70781cdb7755ef4726340&chksm=fcdfbff1cba836e7165dc53722aaf96ef38d8f43cfadadcb4695d8ff430ea64619caada81cfa&token=1939941957&lang=zh_CN#rd)) -- [【2020-12-10】上火、牙疼,也要砍程序媛一刀](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485100&idx=1&sn=e7c0c41229d51ebfab2939deb1751672&chksm=fcdfbf20cba836364da35ab5acfed076876aae486126bc1c41cdd2502cc89a41cbde7c645610&token=1054397108&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-11-30】11月的尾巴,12月你好](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485066&idx=1&sn=1d357917f548a6d977af96c6582db527&chksm=fcdfbf06cba836103152f7a3fdfbf97c1be2472a84f824cbddd532c15aefe14c71b3b076233f&token=831506871&lang=zh_CN#rd)) +[//]: # () +[//]: # (#### 12月) -- [【2020-12-17】今晚不蹦迪,来聊一聊个人项目的接口返回](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485136&idx=1&sn=4619fb835e6d57e106ab01116012662a&chksm=fcdfbf5ccba8364aecddf14d11ed8ba36f38050b83b30b8d46e10f86b164aab05322b8455b36&token=755050934&lang=zh_CN#rd) +[//]: # () +[//]: # (- [【2020-12-06】周末小记——忆旧友、吃火锅,也会感慨](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485080&idx=2&sn=bdc551f2e9bf54dc01881979339af8ad&chksm=fcdfbf14cba836022a05854547cbca03b5a08b912a0e0f195d4856d6b53ecd78aee2f167b515&token=1581389686&lang=zh_CN#rd)) -- [【2020-12-20】事情,从英吉利海岸的那杯卡布奇诺美式咖啡说起](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485180&idx=1&sn=15ab9be3e15130103f26c919cbe0b605&chksm=fcdfbf70cba83666d287acc35485d02ddf67bacad6ea46d9ef04521f9f429fcb015d371c918e&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2020-12-10】上火、牙疼,也要砍程序媛一刀](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485100&idx=1&sn=e7c0c41229d51ebfab2939deb1751672&chksm=fcdfbf20cba836364da35ab5acfed076876aae486126bc1c41cdd2502cc89a41cbde7c645610&token=1054397108&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2020-12-17】今晚不蹦迪,来聊一聊个人项目的接口返回](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485136&idx=1&sn=4619fb835e6d57e106ab01116012662a&chksm=fcdfbf5ccba8364aecddf14d11ed8ba36f38050b83b30b8d46e10f86b164aab05322b8455b36&token=755050934&lang=zh_CN#rd)) -### 2021年 +[//]: # () +[//]: # (- [【2020-12-20】事情,从英吉利海岸的那杯卡布奇诺美式咖啡说起](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485180&idx=1&sn=15ab9be3e15130103f26c919cbe0b605&chksm=fcdfbf70cba83666d287acc35485d02ddf67bacad6ea46d9ef04521f9f429fcb015d371c918e&token=1356818265&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (### 2021年) -#### 1月 +[//]: # () +[//]: # () +[//]: # (#### 1月) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-06】谁在看小王子呀~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485228&idx=1&sn=1c30866a209af2a5eb927fd7bd63cc8b&chksm=fcdfbea0cba837b6d4cf9865b72a6a1553c4d9b6a6cce369bb09f66730ab37ec649071e7ab7c&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-06】谁在看小王子呀~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485228&idx=1&sn=1c30866a209af2a5eb927fd7bd63cc8b&chksm=fcdfbea0cba837b6d4cf9865b72a6a1553c4d9b6a6cce369bb09f66730ab37ec649071e7ab7c&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-15】2020小结,没事就点点看看呗,反正小目标都没完成](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485249&idx=1&sn=dadf2a6dbed1879bbd98c62491436a9c&chksm=fcdfbecdcba837db5c11b8023ffa7ad6cf5a47c03027a0029604a50d0a77c75908efc05af39a&token=1356818265&lang=zh_CN#rd)) +[//]: # ( ) +[//]: # (- [【2021-01-17】搞波大的,浅谈深拷贝——文末有彩蛋](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485258&idx=1&sn=fb71007a5feed8e18674be27b1c749ab&chksm=fcdfbec6cba837d099e90a5f45781ee8cac474388e25ad9383a4fbc05fdb16a8e1377265c018&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-15】2020小结,没事就点点看看呗,反正小目标都没完成](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485249&idx=1&sn=dadf2a6dbed1879bbd98c62491436a9c&chksm=fcdfbecdcba837db5c11b8023ffa7ad6cf5a47c03027a0029604a50d0a77c75908efc05af39a&token=1356818265&lang=zh_CN#rd) - -- [【2021-01-17】搞波大的,浅谈深拷贝——文末有彩蛋](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485258&idx=1&sn=fb71007a5feed8e18674be27b1c749ab&chksm=fcdfbec6cba837d099e90a5f45781ee8cac474388e25ad9383a4fbc05fdb16a8e1377265c018&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-18】到底该如何发布Npm插件,常用指令在这里](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485277&idx=1&sn=9eb7c3cef21ace2cc5853e382f2bb03f&chksm=fcdfbed1cba837c7839f3b57836f43b3425c8b5a7888f543bf4a1dd8b39cd82ed7d51a24a685&token=1356818265&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-20】好用的AntDocs,也来学着用一下,基本过程整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485291&idx=1&sn=19f13df8131a9f662973f2d9240c1eab&chksm=fcdfbee7cba837f180d8ad30735cd61e6c73fe195e63d46046bb24f80e1536aa0a585c3e1015&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-18】到底该如何发布Npm插件,常用指令在这里](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485277&idx=1&sn=9eb7c3cef21ace2cc5853e382f2bb03f&chksm=fcdfbed1cba837c7839f3b57836f43b3425c8b5a7888f543bf4a1dd8b39cd82ed7d51a24a685&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-27】【持续更新】从查找算法开始数据结构入门,大家都在掘金等你](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485318&idx=1&sn=6ae5fc9f1cf994818ff89d53a926761e&chksm=fcdfbe0acba8371c9d0025008084857cf14c52b01dfb1b9460d3388ba543c36da2abcbf90216&token=1356818265&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2021-01-30】ORM框架入门之Sequelize,我快翻译不动了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485341&idx=1&sn=fc493c28ab138056567e916b769ddbf2&chksm=fcdfbe11cba8370793e8e0d71e7766f4e1e7f3e8672921d6b98757f7d7b271b290f3edc65d6f&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-20】好用的AntDocs,也来学着用一下,基本过程整理](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485291&idx=1&sn=19f13df8131a9f662973f2d9240c1eab&chksm=fcdfbee7cba837f180d8ad30735cd61e6c73fe195e63d46046bb24f80e1536aa0a585c3e1015&token=1356818265&lang=zh_CN#rd) +[//]: # ( ) +[//]: # (#### 2月) +[//]: # () +[//]: # (- [【2021-02-07】被妹妹支配的一周,晚上差点连家都回不去..](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485376&idx=1&sn=049a5df5cb97786e80aded38a1bf3732&chksm=fcdfbe4ccba8375a52cb8d7077836216e5f5f41ee9453aebf524eb0a5d8a5db48cbabc11f3e4&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-27】【持续更新】从查找算法开始数据结构入门,大家都在掘金等你](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485318&idx=1&sn=6ae5fc9f1cf994818ff89d53a926761e&chksm=fcdfbe0acba8371c9d0025008084857cf14c52b01dfb1b9460d3388ba543c36da2abcbf90216&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (- [【2021-02-11】【新年快乐】程序员的2020,就这样悄咪咪地溜走了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485404&idx=1&sn=276100858df23daf987dbc68997477df&chksm=fcdfbe50cba837460079fc9ab414754a49668f82dc0f6a5a41ec320d3e5dd77c1a8c271e061b&token=1356818265&lang=zh_CN#rd)) +[//]: # () +[//]: # () +[//]: # (- [【2021-02-13】抢红包、拼手气来啦,之前答应的抽奖变成新年红包啦~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485420&idx=1&sn=26c0e3690363af5dddd805ae417eeee9&chksm=fcdfbe60cba8377645e44333ccbe35147b9844578008e5699aba62b82c12fc03634e2d68781c&token=1356818265&lang=zh_CN#rd)) -- [【2021-01-30】ORM框架入门之Sequelize,我快翻译不动了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485341&idx=1&sn=fc493c28ab138056567e916b769ddbf2&chksm=fcdfbe11cba8370793e8e0d71e7766f4e1e7f3e8672921d6b98757f7d7b271b290f3edc65d6f&token=1356818265&lang=zh_CN#rd) - -#### 2月 +[//]: # () +[//]: # (## 赞赏支持) -- [【2021-02-07】被妹妹支配的一周,晚上差点连家都回不去..](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485376&idx=1&sn=049a5df5cb97786e80aded38a1bf3732&chksm=fcdfbe4ccba8375a52cb8d7077836216e5f5f41ee9453aebf524eb0a5d8a5db48cbabc11f3e4&token=1356818265&lang=zh_CN#rd) +[//]: # () +[//]: # () +[//]: # (> 相逢不用忙归去,明日黄花蝶也愁;若系列文章对你有帮助,不如请作者喝一杯伏见桃山...) +[//]: # (> ) -- [【2021-02-11】【新年快乐】程序员的2020,就这样悄咪咪地溜走了](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485404&idx=1&sn=276100858df23daf987dbc68997477df&chksm=fcdfbe50cba837460079fc9ab414754a49668f82dc0f6a5a41ec320d3e5dd77c1a8c271e061b&token=1356818265&lang=zh_CN#rd) +[//]: # (> **赞赏过的一定要扫下方右侧微信跟我说呀!!!!!!**) +[//]: # () +[//]: # () -- [【2021-02-13】抢红包、拼手气来啦,之前答应的抽奖变成新年红包啦~](https://mp.weixin.qq.com/s?__biz=MzU3MTUxOTIwMw==&mid=2247485420&idx=1&sn=26c0e3690363af5dddd805ae417eeee9&chksm=fcdfbe60cba8377645e44333ccbe35147b9844578008e5699aba62b82c12fc03634e2d68781c&token=1356818265&lang=zh_CN#rd) +[//]: # (
) -## 赞赏支持 +[//]: # () +[//]: # () +[//]: # () +[//]: # (
) -> 相逢不用忙归去,明日黄花蝶也愁;若系列文章对你有帮助,不如请作者喝一杯伏见桃山... -> -> **赞赏过的一定要扫下方右侧微信跟我说呀!!!!!!** +[//]: # () +[//]: # () +[//]: # (## 联系我) - -
- +[//]: # () +[//]: # () +[//]: # (> 对仓库有任何问题或建议,欢迎微信“骚扰”,商务合作请备注!) +[//]: # (
) -
+[//]: # () +[//]: # (
) -## 联系我 +[//]: # () +[//]: # () +[//]: # (## 鸣谢) +[//]: # () +[//]: # () +[//]: # (以下排名不分先后!([详细统计]())) -> 对仓库有任何问题或建议,欢迎微信“骚扰”,商务合作请备注! -
- -
+[//]: # () +[//]: # () +[//]: # (
) +[//]: # ( ) -## 鸣谢 +[//]: # ( ) +[//]: # ( ) -以下排名不分先后!([详细统计]()) +[//]: # ( ) +[//]: # ( ) -
- - - - - -
+[//]: # (
) +[//]: # () +[//]: # () +[//]: # (## 赞助列表) -## 赞助列表 +[//]: # () +[//]: # (以下排名不分先后!) -以下排名不分先后! +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # () +[//]: # (## 公众号) +[//]: # () +[//]: # () +[//]: # (如果大家想要实时关注我更新的文章以及我的日常的话,可以关注我的公众号,基本每天都会更新技术和各种吹水文章,就当做是记录心情、成长的地方吧) +[//]: # () +[//]: # () +[//]: # () +[//]: # (
) +[//]: # ( ) - -## 公众号 - - -如果大家想要实时关注我更新的文章以及我的日常的话,可以关注我的公众号,基本每天都会更新技术和各种吹水文章,就当做是记录心情、成长的地方吧 - - - -
- -
\ No newline at end of file +[//]: # (
) \ No newline at end of file diff --git a/docs/ds/basic_introduction/1.basic_concepts.md b/docs/ds/basic-introduction/1.basic_concepts.md similarity index 100% rename from docs/ds/basic_introduction/1.basic_concepts.md rename to docs/ds/basic-introduction/1.basic_concepts.md diff --git a/docs/ds/basic_introduction/2.three_elements_of_data_structure.md b/docs/ds/basic-introduction/2.three_elements_of_data_structure.md similarity index 100% rename from docs/ds/basic_introduction/2.three_elements_of_data_structure.md rename to docs/ds/basic-introduction/2.three_elements_of_data_structure.md diff --git a/docs/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md b/docs/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md similarity index 100% rename from docs/ds/basic_introduction/3.algorithm_and_algorithm_evaluation.md rename to docs/ds/basic-introduction/3.algorithm_and_algorithm_evaluation.md diff --git a/docs/ds/basic_introduction/Readme.md b/docs/ds/basic-introduction/Readme.md similarity index 100% rename from docs/ds/basic_introduction/Readme.md rename to docs/ds/basic-introduction/Readme.md diff --git a/docs/ds/basic_introduction/basic_introduction.png b/docs/ds/basic-introduction/basic_introduction.png similarity index 100% rename from docs/ds/basic_introduction/basic_introduction.png rename to docs/ds/basic-introduction/basic_introduction.png diff --git a/docs/ds/basic_introduction/basic_introduction.xmind b/docs/ds/basic-introduction/basic_introduction.xmind similarity index 100% rename from docs/ds/basic_introduction/basic_introduction.xmind rename to docs/ds/basic-introduction/basic_introduction.xmind diff --git a/docs/ds/linear_table/1.basic_concept_and_operation.md b/docs/ds/linear-table/1.basic_concept_and_operation.md similarity index 100% rename from docs/ds/linear_table/1.basic_concept_and_operation.md rename to docs/ds/linear-table/1.basic_concept_and_operation.md diff --git a/docs/ds/linear_table/2.sequential_representation.md b/docs/ds/linear-table/2.sequential_representation.md similarity index 100% rename from docs/ds/linear_table/2.sequential_representation.md rename to docs/ds/linear-table/2.sequential_representation.md diff --git a/docs/ds/linear_table/3.chain_representation.md b/docs/ds/linear-table/3.chain_representation.md similarity index 100% rename from docs/ds/linear_table/3.chain_representation.md rename to docs/ds/linear-table/3.chain_representation.md diff --git a/docs/ds/linear_table/4.double_linked_list.md b/docs/ds/linear-table/4.double_linked_list.md similarity index 100% rename from docs/ds/linear_table/4.double_linked_list.md rename to docs/ds/linear-table/4.double_linked_list.md diff --git a/docs/ds/linear_table/5.circular_list.md b/docs/ds/linear-table/5.circular_list.md similarity index 100% rename from docs/ds/linear_table/5.circular_list.md rename to docs/ds/linear-table/5.circular_list.md diff --git a/docs/ds/linear_table/6.static_linked_list.md b/docs/ds/linear-table/6.static_linked_list.md similarity index 100% rename from docs/ds/linear_table/6.static_linked_list.md rename to docs/ds/linear-table/6.static_linked_list.md diff --git a/docs/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md b/docs/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md similarity index 100% rename from docs/ds/linear_table/7.comparison_of_sequential_list_and_linked_list.md rename to docs/ds/linear-table/7.comparison_of_sequential_list_and_linked_list.md diff --git a/docs/ds/linear_table/8.selection_of_storage_structure.md b/docs/ds/linear-table/8.selection_of_storage_structure.md similarity index 100% rename from docs/ds/linear_table/8.selection_of_storage_structure.md rename to docs/ds/linear-table/8.selection_of_storage_structure.md diff --git a/docs/ds/linear_table/9.piecemeal_knowledge_supplement.md b/docs/ds/linear-table/9.piecemeal_knowledge_supplement.md similarity index 100% rename from docs/ds/linear_table/9.piecemeal_knowledge_supplement.md rename to docs/ds/linear-table/9.piecemeal_knowledge_supplement.md diff --git a/docs/ds/linear_table/Readme.md b/docs/ds/linear-table/Readme.md similarity index 100% rename from docs/ds/linear_table/Readme.md rename to docs/ds/linear-table/Readme.md diff --git a/docs/ds/linear_table/线性表_水印.png b/docs/ds/linear-table/线性表_水印.png similarity index 100% rename from docs/ds/linear_table/线性表_水印.png rename to docs/ds/linear-table/线性表_水印.png diff --git a/docs/note-map/CN_Map.md b/docs/note-map/CN_Map.md deleted file mode 100644 index b5e5064..0000000 --- a/docs/note-map/CN_Map.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## 计算机网络思维导图 \ No newline at end of file diff --git a/docs/note-map/DS_Map.md b/docs/note-map/DS_Map.md deleted file mode 100644 index 001ba27..0000000 --- a/docs/note-map/DS_Map.md +++ /dev/null @@ -1,10 +0,0 @@ - - -## 数据结构思维导图 \ No newline at end of file diff --git a/docs/note-map/cn-map.md b/docs/note-map/cn-map.md new file mode 100644 index 0000000..cb7dd2f --- /dev/null +++ b/docs/note-map/cn-map.md @@ -0,0 +1,2 @@ + +## 计算机网络思维导图 \ No newline at end of file diff --git a/docs/note-map/ds-map.md b/docs/note-map/ds-map.md new file mode 100644 index 0000000..a83b53d --- /dev/null +++ b/docs/note-map/ds-map.md @@ -0,0 +1 @@ +## 数据结构思维导图 \ No newline at end of file diff --git a/docs/os/Readme.md b/docs/os/Readme.md index 1f3ede1..beaf998 100644 --- a/docs/os/Readme.md +++ b/docs/os/Readme.md @@ -1,15 +1,6 @@ --- -title: Readme +title: 操作系统 --- - - ## 操作系统 doing diff --git a/package.json b/package.json index 6a46e63..f867ba5 100644 --- a/package.json +++ b/package.json @@ -1,25 +1,28 @@ { "name": "408CSFamily", "description": "专业代号408 ,计算机基础知识点合集", + "version": "0.0.0", "main": "index.js", "scripts": { "dev": "vuepress dev docs", "build": "vuepress build docs", - "build-image": "bash scripts/build_image.sh $npm_package_version", + "image": "bash scripts/build_image.sh $npm_package_version", + "faster-image": "bash scripts/build_image.sh $npm_package_version faster", "ali": "bash scripts/deploy.sh ali $npm_package_version", "github": "bash scripts/page_deploy.sh", "clean": "find . -name \"node_modules\" -type d -exec rm -rf '{}' +" }, - "author":{ + "author": { "name": "Chu Fan", "email": "fairy_408@2925.com", "url": "https://github.com/142vip" }, "devDependencies": { "@vuepress/client": "2.0.0-beta.60", - "vue": "^3.2.45", + "vue": "^3.2.47", "vuepress": "2.0.0-beta.60", - "vuepress-theme-hope": "^2.0.0-beta.171" + "vuepress-plugin-search-pro": "^2.0.0-beta.172", + "vuepress-theme-hope": "^2.0.0-beta.172" }, "license": "MIT" } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 5bd3856..8c7a02c 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -2,15 +2,17 @@ lockfileVersion: 5.3 specifiers: '@vuepress/client': 2.0.0-beta.60 - vue: ^3.2.45 + vue: ^3.2.47 vuepress: 2.0.0-beta.60 - vuepress-theme-hope: ^2.0.0-beta.171 + vuepress-plugin-search-pro: ^2.0.0-beta.172 + vuepress-theme-hope: ^2.0.0-beta.172 devDependencies: '@vuepress/client': 2.0.0-beta.60 - vue: 3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-theme-hope: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-search-pro: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-theme-hope: 2.0.0-beta.172_vuepress@2.0.0-beta.60 packages: @@ -56,7 +58,7 @@ packages: '@babel/helper-compilation-targets': 7.20.7_@babel+core@7.20.12 '@babel/helper-module-transforms': 7.20.11 '@babel/helpers': 7.20.13 - '@babel/parser': 7.20.13 + '@babel/parser': 7.20.15 '@babel/template': 7.20.7 '@babel/traverse': 7.20.13 '@babel/types': 7.20.7 @@ -319,22 +321,14 @@ packages: js-tokens: 4.0.0 dev: true - /@babel/parser/7.20.13: - resolution: {integrity: sha512-gFDLKMfpiXCsjt4za2JA9oTMn70CeseCehb11kRZgvd7+F67Hih3OHOK24cRrWECJ/ljfPGac6ygXAs/C8kIvw==} + /@babel/parser/7.20.15: + resolution: {integrity: sha512-DI4a1oZuf8wC+oAJA9RW6ga3Zbe8RZFt7kD9i4qAspz3I/yHet1VvC3DiSy/fsUvv5pvJuNPh0LPOdCcqinDPg==} engines: {node: '>=6.0.0'} hasBin: true dependencies: '@babel/types': 7.20.7 dev: true - /@babel/parser/7.20.5: - resolution: {integrity: sha512-r27t/cy/m9uKLXQNWWebeCUHgnAZq0CpG1OwKRxzJMP1vpSU4bSIK2hq+/cp0bQxetkXx38n09rNu8jVkcK/zA==} - engines: {node: '>=6.0.0'} - hasBin: true - dependencies: - '@babel/types': 7.20.5 - dev: true - /@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/7.18.6_@babel+core@7.20.12: resolution: {integrity: sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==} engines: {node: '>=6.9.0'} @@ -714,8 +708,8 @@ packages: '@babel/helper-plugin-utils': 7.20.2 dev: true - /@babel/plugin-transform-block-scoping/7.20.14_@babel+core@7.20.12: - resolution: {integrity: sha512-sMPepQtsOs5fM1bwNvuJJHvaCfOEQfmc01FGw0ELlTpTJj5Ql/zuNRRldYhAPys4ghXdBIQJbRVYi44/7QflQQ==} + /@babel/plugin-transform-block-scoping/7.20.15_@babel+core@7.20.12: + resolution: {integrity: sha512-Vv4DMZ6MiNOhu/LdaZsT/bsLRxgL94d269Mv4R/9sp6+Mp++X/JqypZYypJXLlM4mlL352/Egzbzr98iABH1CA==} engines: {node: '>=6.9.0'} peerDependencies: '@babel/core': ^7.0.0-0 @@ -1087,7 +1081,7 @@ packages: '@babel/plugin-transform-arrow-functions': 7.20.7_@babel+core@7.20.12 '@babel/plugin-transform-async-to-generator': 7.20.7_@babel+core@7.20.12 '@babel/plugin-transform-block-scoped-functions': 7.18.6_@babel+core@7.20.12 - '@babel/plugin-transform-block-scoping': 7.20.14_@babel+core@7.20.12 + '@babel/plugin-transform-block-scoping': 7.20.15_@babel+core@7.20.12 '@babel/plugin-transform-classes': 7.20.7_@babel+core@7.20.12 '@babel/plugin-transform-computed-properties': 7.20.7_@babel+core@7.20.12 '@babel/plugin-transform-destructuring': 7.20.7_@babel+core@7.20.12 @@ -1152,7 +1146,7 @@ packages: engines: {node: '>=6.9.0'} dependencies: '@babel/code-frame': 7.18.6 - '@babel/parser': 7.20.13 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 dev: true @@ -1166,7 +1160,7 @@ packages: '@babel/helper-function-name': 7.19.0 '@babel/helper-hoist-variables': 7.18.6 '@babel/helper-split-export-declaration': 7.18.6 - '@babel/parser': 7.20.13 + '@babel/parser': 7.20.15 '@babel/types': 7.20.7 debug: 4.3.4 globals: 11.12.0 @@ -1174,15 +1168,6 @@ packages: - supports-color dev: true - /@babel/types/7.20.5: - resolution: {integrity: sha512-c9fst/h2/dcF7H+MJKZ2T0KjEQ8hY/BNnDk/H3XY8C4Aw/eWQXWn/lWntHF9ooUBnGmEvbfGrTgLWc+um0YDUg==} - engines: {node: '>=6.9.0'} - dependencies: - '@babel/helper-string-parser': 7.19.4 - '@babel/helper-validator-identifier': 7.19.1 - to-fast-properties: 2.0.0 - dev: true - /@babel/types/7.20.7: resolution: {integrity: sha512-69OnhBxSSgK0OzTJai4kyPDiKTIe3j+ctaHdIGVbRahTLAT7L3R9oeXHC2aVSuGYt3cVnoAMDmOCgJ2yaiLMvg==} engines: {node: '>=6.9.0'} @@ -1704,7 +1689,7 @@ packages: engines: {node: '>= 8'} dependencies: '@nodelib/fs.scandir': 2.1.5 - fastq: 1.14.0 + fastq: 1.15.0 dev: true /@rollup/plugin-babel/5.3.1_d8e457a9eec5694be0a6185ede2794cb: @@ -1791,7 +1776,7 @@ packages: /@types/fs-extra/9.0.13: resolution: {integrity: sha512-nEnwB++1u5lVDM2UI4c1+5R+FYaKfaAzS4OococimjVm3nQw3TuzH5UNsocrcTBbhnerblyHj4A49qXbIiZdpA==} dependencies: - '@types/node': 18.11.17 + '@types/node': 18.13.0 dev: true /@types/hash-sum/1.0.0: @@ -1831,8 +1816,8 @@ packages: resolution: {integrity: sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==} dev: true - /@types/node/18.11.17: - resolution: {integrity: sha512-HJSUJmni4BeDHhfzn6nF0sVmd1SMezP7/4F0Lq+aXzmp2xm9O7WXrUtHW/CHlYVtZUbByEvWidHqRtcJXGF2Ng==} + /@types/node/18.13.0: + resolution: {integrity: sha512-gC3TazRzGoOnoKAhUx+Q0t8S9Tzs74z7m0ipwGpSqQrleP14hKxP4/JUeEQcD3W1/aIpnWl8pHowI7WokuZpXg==} dev: true /@types/raphael/2.3.3: @@ -1842,13 +1827,13 @@ packages: /@types/resolve/1.17.1: resolution: {integrity: sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==} dependencies: - '@types/node': 18.11.17 + '@types/node': 18.13.0 dev: true /@types/sax/1.2.4: resolution: {integrity: sha512-pSAff4IAxJjfAXUG6tFkO7dsSbTmf8CtUpfhhZ5VhkRpC4628tJhh3+V6H1E+/Gs9piSzYKT5yzHO5M4GG9jkw==} dependencies: - '@types/node': 18.11.17 + '@types/node': 17.0.45 dev: true /@types/trusted-types/2.0.2: @@ -1859,7 +1844,7 @@ packages: resolution: {integrity: sha512-oh8q2Zc32S6gd/j50GowEjKLoOVOwHP/bWVjKJInBwQqdOYMdPrf1oVlelTlyfFK3CKxL1uahMDAr+vy8T7yMQ==} dev: true - /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.45: + /@vitejs/plugin-vue/4.0.0_vite@4.0.4+vue@3.2.47: resolution: {integrity: sha512-e0X4jErIxAB5oLtDqbHvHpJe/uWNkdpYV83AOG2xo2tEVSzCzewgJMtREZM30wXnM5ls90hxiOtAuVU6H5JgbA==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: @@ -1867,108 +1852,108 @@ packages: vue: ^3.2.25 dependencies: vite: 4.0.4 - vue: 3.2.45 + vue: 3.2.47 dev: true - /@vue/compiler-core/3.2.45: - resolution: {integrity: sha512-rcMj7H+PYe5wBV3iYeUgbCglC+pbpN8hBLTJvRiK2eKQiWqu+fG9F+8sW99JdL4LQi7Re178UOxn09puSXvn4A==} + /@vue/compiler-core/3.2.47: + resolution: {integrity: sha512-p4D7FDnQb7+YJmO2iPEv0SQNeNzcbHdGByJDsT4lynf63AFkOTFN07HsiRSvjGo0QrxR/o3d0hUyNCUnBU2Tig==} dependencies: - '@babel/parser': 7.20.5 - '@vue/shared': 3.2.45 + '@babel/parser': 7.20.15 + '@vue/shared': 3.2.47 estree-walker: 2.0.2 source-map: 0.6.1 dev: true - /@vue/compiler-dom/3.2.45: - resolution: {integrity: sha512-tyYeUEuKqqZO137WrZkpwfPCdiiIeXYCcJ8L4gWz9vqaxzIQRccTSwSWZ/Axx5YR2z+LvpUbmPNXxuBU45lyRw==} + /@vue/compiler-dom/3.2.47: + resolution: {integrity: sha512-dBBnEHEPoftUiS03a4ggEig74J2YBZ2UIeyfpcRM2tavgMWo4bsEfgCGsu+uJIL/vax9S+JztH8NmQerUo7shQ==} dependencies: - '@vue/compiler-core': 3.2.45 - '@vue/shared': 3.2.45 + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 dev: true - /@vue/compiler-sfc/3.2.45: - resolution: {integrity: sha512-1jXDuWah1ggsnSAOGsec8cFjT/K6TMZ0sPL3o3d84Ft2AYZi2jWJgRMjw4iaK0rBfA89L5gw427H4n1RZQBu6Q==} + /@vue/compiler-sfc/3.2.47: + resolution: {integrity: sha512-rog05W+2IFfxjMcFw10tM9+f7i/+FFpZJJ5XHX72NP9eC2uRD+42M3pYcQqDXVYoj74kHMSEdQ/WmCjt8JFksQ==} dependencies: - '@babel/parser': 7.20.5 - '@vue/compiler-core': 3.2.45 - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-ssr': 3.2.45 - '@vue/reactivity-transform': 3.2.45 - '@vue/shared': 3.2.45 + '@babel/parser': 7.20.15 + '@vue/compiler-core': 3.2.47 + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-ssr': 3.2.47 + '@vue/reactivity-transform': 3.2.47 + '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 - postcss: 8.4.20 + postcss: 8.4.21 source-map: 0.6.1 dev: true - /@vue/compiler-ssr/3.2.45: - resolution: {integrity: sha512-6BRaggEGqhWht3lt24CrIbQSRD5O07MTmd+LjAn5fJj568+R9eUD2F7wMQJjX859seSlrYog7sUtrZSd7feqrQ==} + /@vue/compiler-ssr/3.2.47: + resolution: {integrity: sha512-wVXC+gszhulcMD8wpxMsqSOpvDZ6xKXSVWkf50Guf/S+28hTAXPDYRTbLQ3EDkOP5Xz/+SY37YiwDquKbJOgZw==} dependencies: - '@vue/compiler-dom': 3.2.45 - '@vue/shared': 3.2.45 + '@vue/compiler-dom': 3.2.47 + '@vue/shared': 3.2.47 dev: true - /@vue/devtools-api/6.4.5: - resolution: {integrity: sha512-JD5fcdIuFxU4fQyXUu3w2KpAJHzTVdN+p4iOX2lMWSHMOoQdMAcpFLZzm9Z/2nmsoZ1a96QEhZ26e50xLBsgOQ==} + /@vue/devtools-api/6.5.0: + resolution: {integrity: sha512-o9KfBeaBmCKl10usN4crU53fYtC1r7jJwdGKjPT24t348rHxgfpZ0xL3Xm/gLUYnc0oTp8LAmrxOeLyu6tbk2Q==} dev: true - /@vue/reactivity-transform/3.2.45: - resolution: {integrity: sha512-BHVmzYAvM7vcU5WmuYqXpwaBHjsS8T63jlKGWVtHxAHIoMIlmaMyurUSEs1Zcg46M4AYT5MtB1U274/2aNzjJQ==} + /@vue/reactivity-transform/3.2.47: + resolution: {integrity: sha512-m8lGXw8rdnPVVIdIFhf0LeQ/ixyHkH5plYuS83yop5n7ggVJU+z5v0zecwEnX7fa7HNLBhh2qngJJkxpwEEmYA==} dependencies: - '@babel/parser': 7.20.5 - '@vue/compiler-core': 3.2.45 - '@vue/shared': 3.2.45 + '@babel/parser': 7.20.15 + '@vue/compiler-core': 3.2.47 + '@vue/shared': 3.2.47 estree-walker: 2.0.2 magic-string: 0.25.9 dev: true - /@vue/reactivity/3.2.45: - resolution: {integrity: sha512-PRvhCcQcyEVohW0P8iQ7HDcIOXRjZfAsOds3N99X/Dzewy8TVhTCT4uXpAHfoKjVTJRA0O0K+6QNkDIZAxNi3A==} + /@vue/reactivity/3.2.47: + resolution: {integrity: sha512-7khqQ/75oyyg+N/e+iwV6lpy1f5wq759NdlS1fpAhFXa8VeAIKGgk2E/C4VF59lx5b+Ezs5fpp/5WsRYXQiKxQ==} dependencies: - '@vue/shared': 3.2.45 + '@vue/shared': 3.2.47 dev: true - /@vue/repl/1.3.2_vue@3.2.45: + /@vue/repl/1.3.2_vue@3.2.47: resolution: {integrity: sha512-5joGOuTFmjaugG3E1h/oP1EXSMcVXRUwLIoo8xvYQnqDrCT6g1SfsH1pfei5PpC5DUxMX1584CekZu6REgGYkQ==} peerDependencies: vue: ^3.2.13 dependencies: - vue: 3.2.45 + vue: 3.2.47 dev: true - /@vue/runtime-core/3.2.45: - resolution: {integrity: sha512-gzJiTA3f74cgARptqzYswmoQx0fIA+gGYBfokYVhF8YSXjWTUA2SngRzZRku2HbGbjzB6LBYSbKGIaK8IW+s0A==} + /@vue/runtime-core/3.2.47: + resolution: {integrity: sha512-RZxbLQIRB/K0ev0K9FXhNbBzT32H9iRtYbaXb0ZIz2usLms/D55dJR2t6cIEUn6vyhS3ALNvNthI+Q95C+NOpA==} dependencies: - '@vue/reactivity': 3.2.45 - '@vue/shared': 3.2.45 + '@vue/reactivity': 3.2.47 + '@vue/shared': 3.2.47 dev: true - /@vue/runtime-dom/3.2.45: - resolution: {integrity: sha512-cy88YpfP5Ue2bDBbj75Cb4bIEZUMM/mAkDMfqDTpUYVgTf/kuQ2VQ8LebuZ8k6EudgH8pYhsGWHlY0lcxlvTwA==} + /@vue/runtime-dom/3.2.47: + resolution: {integrity: sha512-ArXrFTjS6TsDei4qwNvgrdmHtD930KgSKGhS5M+j8QxXrDJYLqYw4RRcDy1bz1m1wMmb6j+zGLifdVHtkXA7gA==} dependencies: - '@vue/runtime-core': 3.2.45 - '@vue/shared': 3.2.45 + '@vue/runtime-core': 3.2.47 + '@vue/shared': 3.2.47 csstype: 2.6.21 dev: true - /@vue/server-renderer/3.2.45_vue@3.2.45: - resolution: {integrity: sha512-ebiMq7q24WBU1D6uhPK//2OTR1iRIyxjF5iVq/1a5I1SDMDyDu4Ts6fJaMnjrvD3MqnaiFkKQj+LKAgz5WIK3g==} + /@vue/server-renderer/3.2.47_vue@3.2.47: + resolution: {integrity: sha512-dN9gc1i8EvmP9RCzvneONXsKfBRgqFeFZLurmHOveL7oH6HiFXJw5OGu294n1nHc/HMgTy6LulU/tv5/A7f/LA==} peerDependencies: - vue: 3.2.45 + vue: 3.2.47 dependencies: - '@vue/compiler-ssr': 3.2.45 - '@vue/shared': 3.2.45 - vue: 3.2.45 + '@vue/compiler-ssr': 3.2.47 + '@vue/shared': 3.2.47 + vue: 3.2.47 dev: true - /@vue/shared/3.2.45: - resolution: {integrity: sha512-Ewzq5Yhimg7pSztDV+RH1UDKBzmtqieXQlpTVm2AwraoRL/Rks96mvd8Vgi7Lj+h+TH8dv7mXD3FRZR3TUvbSg==} + /@vue/shared/3.2.47: + resolution: {integrity: sha512-BHGyyGN3Q97EZx0taMQ+OLNuZcW3d37ZEVmEAyeoA9ERdGvm9Irc/0Fua8SNyOtV1w6BS4q25wbMzJujO9HIfQ==} dev: true /@vuepress/bundler-vite/2.0.0-beta.60: resolution: {integrity: sha512-nf+UAKNlAEZXZqu2Ztvr8Hg/5CtevWxvQGfYKV4lhw8UmoDjKKHoHPpPhF1QTUbnZ8W+jPLzIVz+hjunzsxl/A==} dependencies: - '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.45 + '@vitejs/plugin-vue': 4.0.0_vite@4.0.4+vue@3.2.47 '@vuepress/client': 2.0.0-beta.60 '@vuepress/core': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 @@ -1977,10 +1962,10 @@ packages: connect-history-api-fallback: 2.0.0 postcss: 8.4.21 postcss-load-config: 4.0.1_postcss@8.4.21 - rollup: 3.12.1 + rollup: 3.14.0 vite: 4.0.4 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 transitivePeerDependencies: - '@types/node' - less @@ -2010,10 +1995,10 @@ packages: /@vuepress/client/2.0.0-beta.60: resolution: {integrity: sha512-WU5VGeDp41A2dVXqp18YBggflIjTq68mA+s5TCz93wk+7elAmPAkWKcobQBYQgvsuwHyg9nWulZAfMN6OEygKQ==} dependencies: - '@vue/devtools-api': 6.4.5 + '@vue/devtools-api': 6.5.0 '@vuepress/shared': 2.0.0-beta.60 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 dev: true /@vuepress/core/2.0.0-beta.60: @@ -2023,7 +2008,7 @@ packages: '@vuepress/markdown': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2058,8 +2043,8 @@ packages: '@vuepress/core': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 ts-debounce: 4.0.0 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2071,7 +2056,7 @@ packages: '@vuepress/core': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 ts-debounce: 4.0.0 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2098,7 +2083,7 @@ packages: '@vuepress/markdown': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2120,7 +2105,7 @@ packages: '@vuepress/core': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 medium-zoom: 1.0.8 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2131,8 +2116,8 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/core': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2159,12 +2144,12 @@ packages: /@vuepress/plugin-theme-data/2.0.0-beta.60: resolution: {integrity: sha512-3b34sXEAzShvUzeEMA/0JE4VrLxoMqGJOGMl0I9m0DKg2apgjRG6nYYq6gUnJW0gcUVK+tOOOHsMT6mTMs3xdA==} dependencies: - '@vue/devtools-api': 6.4.5 + '@vue/devtools-api': 6.5.0 '@vuepress/client': 2.0.0-beta.60 '@vuepress/core': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - supports-color dev: true @@ -2173,7 +2158,7 @@ packages: resolution: {integrity: sha512-bwFksEtSQpbyAGJZkvRK9Z2zGmS144nv759vOzbRUZPPlGffeauzrPw9w7wxqp3gTJvIE/4Ufqt0AZTuSP/F/g==} dependencies: '@mdit-vue/types': 0.11.0 - '@vue/shared': 3.2.45 + '@vue/shared': 3.2.47 dev: true /@vuepress/theme-default/2.0.0-beta.60: @@ -2198,10 +2183,10 @@ packages: '@vuepress/plugin-theme-data': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 sass: 1.58.0 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 transitivePeerDependencies: - '@vue/composition-api' - supports-color @@ -2225,13 +2210,13 @@ packages: - supports-color dev: true - /@vueuse/core/9.12.0_vue@3.2.45: + /@vueuse/core/9.12.0_vue@3.2.47: resolution: {integrity: sha512-h/Di8Bvf6xRcvS/PvUVheiMYYz3U0tH3X25YxONSaAUBa841ayMwxkuzx/DGUMCW/wHWzD8tRy2zYmOC36r4sg==} dependencies: '@types/web-bluetooth': 0.0.16 '@vueuse/metadata': 9.12.0 - '@vueuse/shared': 9.12.0_vue@3.2.45 - vue-demi: 0.13.11_vue@3.2.45 + '@vueuse/shared': 9.12.0_vue@3.2.47 + vue-demi: 0.13.11_vue@3.2.47 transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2241,10 +2226,10 @@ packages: resolution: {integrity: sha512-9oJ9MM9lFLlmvxXUqsR1wLt1uF7EVbP5iYaHJYqk+G2PbMjY6EXvZeTjbdO89HgoF5cI6z49o2zT/jD9SVoNpQ==} dev: true - /@vueuse/shared/9.12.0_vue@3.2.45: + /@vueuse/shared/9.12.0_vue@3.2.47: resolution: {integrity: sha512-TWuJLACQ0BVithVTRbex4Wf1a1VaRuSpVeyEd4vMUWl54PzlE0ciFUshKCXnlLuD0lxIaLK4Ypj3NXYzZh4+SQ==} dependencies: - vue-demi: 0.13.11_vue@3.2.45 + vue-demi: 0.13.11_vue@3.2.47 transitivePeerDependencies: - '@vue/composition-api' - vue @@ -2254,14 +2239,18 @@ packages: resolution: {integrity: sha512-hTfh2AbWQCX/oS4Hgr0W9cf79pHYf7X6Km5AcBDAmOL6AI7a5kP9qo9y2mcEzdfn9LK06P5Uuk8HY8vxQbgcrA==} engines: {node: '>=14'} dependencies: - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 autosize: 5.0.2 marked: 4.2.12 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - '@vue/composition-api' dev: true + /abortcontroller-polyfill/1.7.5: + resolution: {integrity: sha512-JMJ5soJWP18htbbxJjG7bG6yuI6pRhgJ0scHHTfkUjf6wjP912xZWvM+A4sJK3gqd9E8fcPbDnOefbA9Th/FIQ==} + dev: true + /acorn/8.8.2: resolution: {integrity: sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==} engines: {node: '>=0.4.0'} @@ -2318,12 +2307,25 @@ packages: resolution: {integrity: sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==} dev: true + /artalk/2.4.4: + resolution: {integrity: sha512-8O/FjQM+oFnfsfouuej2qjRNfV9/0JJR2jI9vS7neI8zTa4xqu0PChDIR0CtZG8ze0eOKI0taTlEFhmahJUJIQ==} + dependencies: + abortcontroller-polyfill: 1.7.5 + hanabi: 0.4.0 + insane: 2.6.2 + marked: 4.2.12 + dev: true + /artplayer/4.6.2: resolution: {integrity: sha512-9RMfFFy2wGgHUCnrwk+M2Z5OiLWQcBL+YzkSBwSi6IuJG6oM+TlfJJZt09RL2iag6DNQ+AUYtB879WUHxbqfIQ==} dependencies: option-validator: 2.0.6 dev: true + /assignment/2.0.0: + resolution: {integrity: sha512-naMULXjtgCs9SVUEtyvJNt68aF18em7/W+dhbR59kbz9cXWPEvUkCun2tqlgqRPSqZaKPpqLc5ZnwL8jVmJRvw==} + dev: true + /async/3.2.4: resolution: {integrity: sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==} dev: true @@ -2476,8 +2478,8 @@ packages: hasBin: true dependencies: caniuse-lite: 1.0.30001450 - electron-to-chromium: 1.4.284 - node-releases: 2.0.9 + electron-to-chromium: 1.4.288 + node-releases: 2.0.10 update-browserslist-db: 1.0.10_browserslist@4.21.5 dev: true @@ -2642,6 +2644,11 @@ packages: engines: {node: ^12.20.0 || >=14} dev: true + /comment-regex/1.0.1: + resolution: {integrity: sha512-IWlN//Yfby92tOIje7J18HkNmWRR7JESA/BK8W7wqY/akITpU5B0JQWnbTjCfdChSrDNb0DrdA9jfAxiiBXyiQ==} + engines: {node: '>=0.10.0'} + dev: true + /common-tags/1.8.2: resolution: {integrity: sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==} engines: {node: '>=4.0.0'} @@ -3109,8 +3116,8 @@ packages: jake: 10.8.5 dev: true - /electron-to-chromium/1.4.284: - resolution: {integrity: sha512-M8WEXFuKXMYMVr45fo8mq0wUrrJHheiKZf6BArTKk9ZBYCKJEOU5H8cdWgDT+qCVZf7Na4lVUaZsA+h6uA9+PA==} + /electron-to-chromium/1.4.288: + resolution: {integrity: sha512-8s9aJf3YiokIrR+HOQzNOGmEHFXVUQzXM/JaViVvKdCkNUjS+lEa/uT7xw3nDVG/IgfxiIwUGkwJ6AR1pTpYsQ==} dev: true /entities/3.0.1: @@ -3303,8 +3310,8 @@ packages: resolution: {integrity: sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==} dev: true - /fastq/1.14.0: - resolution: {integrity: sha512-eR2D+V9/ExcbF9ls441yIuN6TI2ED1Y2ZcA5BmMtJsOkWOFRJQ0Jt0g1UwqXJJVAb+V+umH5Dfr8oh4EVP7VVg==} + /fastq/1.15.0: + resolution: {integrity: sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==} dependencies: reusify: 1.0.4 dev: true @@ -3465,7 +3472,7 @@ packages: dependencies: dir-glob: 3.0.1 fast-glob: 3.2.12 - ignore: 5.2.1 + ignore: 5.2.4 merge2: 1.4.1 slash: 4.0.0 dev: true @@ -3490,6 +3497,12 @@ packages: strip-bom-string: 1.0.0 dev: true + /hanabi/0.4.0: + resolution: {integrity: sha512-ixJH94fwmmVzUSdxl7TMkVZJmsq4d2JKrxedpM5V1V+91iVHL0q6NnJi4xiDahK6Vo00xT17H8H6b4F6RVbsOg==} + dependencies: + comment-regex: 1.0.1 + dev: true + /has-bigints/1.0.2: resolution: {integrity: sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==} dev: true @@ -3538,6 +3551,11 @@ packages: resolution: {integrity: sha512-WdZTbAByD+pHfl/g9QSsBIIwy8IT+EsPiKDs0KNX+zSHhdDLFKdZu0BQHljvO+0QI/BasbMSUa8wYNCZTvhslg==} dev: true + /he/0.5.0: + resolution: {integrity: sha512-DoufbNNOFzwRPy8uecq+j+VCPQ+JyDelHTmSgygrA5TsR8Cbw4Qcir5sGtWiusB4BdT89nmlaVDhSJOqC/33vw==} + hasBin: true + dev: true + /heap/0.2.7: resolution: {integrity: sha512-2bsegYkkHO+h/9MGbn6KWcE45cHZgPANo5LXF7EvWdT0yT2EguSVO1nDgU5c8+ZOPwp2vMNa7YFsJhVcDR9Sdg==} dev: true @@ -3579,8 +3597,8 @@ packages: resolution: {integrity: sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==} dev: true - /ignore/5.2.1: - resolution: {integrity: sha512-d2qQLzTJ9WxQftPAuEQpSPmKqzxePjzVbpAVv62AQ64NTL+wR4JkrVqR/LqFsFEUsHDAiId52mJteHDFuDkElA==} + /ignore/5.2.4: + resolution: {integrity: sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==} engines: {node: '>= 4'} dev: true @@ -3588,8 +3606,8 @@ packages: resolution: {integrity: sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==} dev: true - /immutable/4.2.2: - resolution: {integrity: sha512-fTMKDwtbvO5tldky9QZ2fMX7slR0mYpY5nbnFWYp0fOzDhHqhgIw9KoYgxLWsoNTS9ZHGauHj18DTyEw6BK3Og==} + /immutable/4.2.4: + resolution: {integrity: sha512-WDxL3Hheb1JkRN3sQkyujNlL/xRjAo3rJtaU5xeufUauG66JdMr32bLj4gF+vWl84DIA3Zxw7tiAjneYzRRw+w==} dev: true /imsc/1.1.3: @@ -3609,6 +3627,13 @@ packages: resolution: {integrity: sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==} dev: true + /insane/2.6.2: + resolution: {integrity: sha512-BqEL1CJsjJi+/C/zKZxv31zs3r6zkLH5Nz1WMFb7UBX2KHY2yXDpbFTSEmNHzomBbGDysIfkTX55A0mQZ2CQiw==} + dependencies: + assignment: 2.0.0 + he: 0.5.0 + dev: true + /internal-slot/1.0.4: resolution: {integrity: sha512-tA8URYccNzMo94s5MQZgH8NB/XTa6HsOo0MLfXTKKEnHVVdegzaQoFZ7Jp44bdvLvY2waT5dc+j5ICEswhi7UQ==} engines: {node: '>= 0.4'} @@ -3817,7 +3842,7 @@ packages: resolution: {integrity: sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==} engines: {node: '>= 10.13.0'} dependencies: - '@types/node': 18.11.17 + '@types/node': 18.13.0 merge-stream: 2.0.0 supports-color: 7.2.0 dev: true @@ -4125,8 +4150,8 @@ packages: hasBin: true dev: true - /node-releases/2.0.9: - resolution: {integrity: sha512-2xfmOrRkGogbTK9R6Leda0DGiXeY3p2NJpy4+gNCffdUvV6mdEJnaDEic1i3Ec2djAo8jWYoJMR5PB0MSMpxUA==} + /node-releases/2.0.10: + resolution: {integrity: sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==} dev: true /non-layered-tidy-tree-layout/2.0.2: @@ -4298,15 +4323,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss/8.4.20: - resolution: {integrity: sha512-6Q04AXR1212bXr5fh03u8aAwbLxAQNGQ/Q1LNa0VfOI06ZAlhPHtQvE4OIdpj4kLThXilalPnmDSOD65DcHt+g==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.4 - picocolors: 1.0.0 - source-map-js: 1.0.2 - dev: true - /postcss/8.4.21: resolution: {integrity: sha512-tP7u/Sn/dVxK2NnruI4H9BG+x+Wxz6oeZ1cJ8P6G/PZY0IKk4k/63TDsQf2kQq3+qoJeLm2kIBUNlZe3zgb4Zg==} engines: {node: ^10 || ^12 || >=14} @@ -4470,7 +4486,7 @@ packages: jest-worker: 26.6.2 rollup: 2.79.1 serialize-javascript: 4.0.0 - terser: 5.16.2 + terser: 5.16.3 dev: true /rollup/2.79.1: @@ -4481,8 +4497,8 @@ packages: fsevents: 2.3.2 dev: true - /rollup/3.12.1: - resolution: {integrity: sha512-t9elERrz2i4UU9z7AwISj3CQcXP39cWxgRWLdf4Tm6aKm1eYrqHIgjzXBgb67GNY1sZckTFFi0oMozh3/S++Ig==} + /rollup/3.14.0: + resolution: {integrity: sha512-o23sdgCLcLSe3zIplT9nQ1+r97okuaiR+vmAPZPTDYB7/f3tgWIYNyiQveMsZwshBT0is4eGax/HH83Q7CG+/Q==} engines: {node: '>=14.18.0', npm: '>=8.0.0'} hasBin: true optionalDependencies: @@ -4521,7 +4537,7 @@ packages: hasBin: true dependencies: chokidar: 3.5.3 - immutable: 4.2.2 + immutable: 4.2.4 source-map-js: 1.0.2 dev: true @@ -4742,8 +4758,8 @@ packages: unique-string: 2.0.0 dev: true - /terser/5.16.2: - resolution: {integrity: sha512-JKuM+KvvWVqT7muHVyrwv7FVRPnmHDwF6XwoIxdbF5Witi0vu99RYpxDexpJndXt3jbZZmmWr2/mQa6HvSNdSg==} + /terser/5.16.3: + resolution: {integrity: sha512-v8wWLaS/xt3nE9dgKEWhNUFP6q4kngO5B8eYFUuebsu7Dw/UNAnpUod6UHo04jSSkv8TzKHjZDSd7EXdDQAl8Q==} engines: {node: '>=10'} hasBin: true dependencies: @@ -4920,12 +4936,12 @@ packages: esbuild: 0.16.17 postcss: 8.4.21 resolve: 1.22.1 - rollup: 3.12.1 + rollup: 3.14.0 optionalDependencies: fsevents: 2.3.2 dev: true - /vue-demi/0.13.11_vue@3.2.45: + /vue-demi/0.13.11_vue@3.2.47: resolution: {integrity: sha512-IR8HoEEGM65YY3ZJYAjMlKygDQn25D5ajNFNoKh9RSDMQtlzCxtfQjdQgv9jjK+m3377SsJXY8ysq8kLCZL25A==} engines: {node: '>=12'} hasBin: true @@ -4937,30 +4953,30 @@ packages: '@vue/composition-api': optional: true dependencies: - vue: 3.2.45 + vue: 3.2.47 dev: true - /vue-router/4.1.6_vue@3.2.45: + /vue-router/4.1.6_vue@3.2.47: resolution: {integrity: sha512-DYWYwsG6xNPmLq/FmZn8Ip+qrhFEzA14EI12MsMgVxvHFDYvlr4NXpVF5hrRH1wVcDP8fGi5F4rxuJSl8/r+EQ==} peerDependencies: vue: ^3.2.0 dependencies: - '@vue/devtools-api': 6.4.5 - vue: 3.2.45 + '@vue/devtools-api': 6.5.0 + vue: 3.2.47 dev: true - /vue/3.2.45: - resolution: {integrity: sha512-9Nx/Mg2b2xWlXykmCwiTUCWHbWIj53bnkizBxKai1g61f2Xit700A1ljowpTIM11e3uipOeiPcSqnmBg6gyiaA==} + /vue/3.2.47: + resolution: {integrity: sha512-60188y/9Dc9WVrAZeUVSDxRQOZ+z+y5nO2ts9jWXSTkMvayiWxCWOWtBQoYjLeccfXkiiPZWAHcV+WTPhkqJHQ==} dependencies: - '@vue/compiler-dom': 3.2.45 - '@vue/compiler-sfc': 3.2.45 - '@vue/runtime-dom': 3.2.45 - '@vue/server-renderer': 3.2.45_vue@3.2.45 - '@vue/shared': 3.2.45 + '@vue/compiler-dom': 3.2.47 + '@vue/compiler-sfc': 3.2.47 + '@vue/runtime-dom': 3.2.47 + '@vue/server-renderer': 3.2.47_vue@3.2.47 + '@vue/shared': 3.2.47 dev: true - /vuepress-plugin-auto-catalog/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-b8ytsJ+mQjHzTs+YcRAN8Qaezm/sGswsCimIl0mCxA1rWdK6er6FRKGxKT/a5FCJutj8iWfhZISTIsxR5NFaVQ==} + /vuepress-plugin-auto-catalog/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-/J4x5mBrgAkbi5gYjkBDAGfWQhX74R7lJq8tYxo4HUo/9ZDczO0LKVP7hZoWlaDGO89S1LadFpbun/DTVs2D0A==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -4989,19 +5005,19 @@ packages: '@vuepress/core': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-components: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-components: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-blog2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-MNYxsO8zPpewmMKbF+HMc6SGI8UJmgE9ZfgVZiPRy26mSIA0ZFiwRybcG3+uE9fgqRnAeN3JpNehXMDnEdrJZg==} + /vuepress-plugin-blog2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-6EVXWIotmf1PaW0xOU85HsvkcRuPNb0abXcsGUAQ1NknCumxLWaYAaHjY6Unnf/fFoDz3THmrAMoegUnwTBfTw==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5024,16 +5040,16 @@ packages: '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 chokidar: 3.5.3 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-comment2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-mg7d15ph/4oRHI69NaJD2NzIXKtAMNYOsqdTm7mxIaR6HdhdyiTLnYzIcLEzrCWDzOsx/VqmiDXo+vi5v2BKdw==} + /vuepress-plugin-comment2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-9ptTMLGUxvOR8WkC1egn9AS+Ytr9jW0VW0ksLn4ZZ7lefbmALSpBi8qqkVFJmFpTgiPktta/TevAgQ5CPXQ1QA==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5060,20 +5076,21 @@ packages: '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 '@waline/client': 2.14.7 + artalk: 2.4.4 giscus: 1.2.6 twikoo: 1.6.9 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-components/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-Flu41W93USN6Wja66JGq0CmwVwkAa4ZgWQcI0hobY74NgbwwTeDdXGsA2rrQkfspj8jxitHJu0z8YRMGrF4I5A==} + /vuepress-plugin-components/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-2ajbcVQ4x9TSRBw72Fd4k+dHGAxx+MvEvsihxP5U3sL7MD+34ncR5AMsi27ahBkF3blcE4MFt9W+/AcC91CtLg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5102,26 +5119,26 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 artplayer: 4.6.2 balloon-css: 1.2.0 dashjs: 4.5.2 hls.js: 1.3.2 mpegts.js: 1.7.2 plyr: 3.7.3 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-reading-time2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-reading-time2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-copy-code2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-2cpVssq3eoyeel947zi+kRV5XPqRgOCpeLblCsmfIF81SPEdQB5snOUdDX4xG3A6hb9Bjy3Qm0szIg1A1+eCyQ==} + /vuepress-plugin-copy-code2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-Ty1gVNvbSr2WJAcOTsCOorYhQNtScbOFSgJ5NCe544eJ4GylhV1WW+RhEL8g2GRNrG+JXxx8WHC2EMYsYD2Ghg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5147,18 +5164,20 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 + '@vueuse/core': 9.12.0_vue@3.2.47 balloon-css: 1.2.0 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: + - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-copyright2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-myTOP5tJbTMSboze5XxzWMc0gzZ6Rrchkwq8Hg/p9LCbpKZv47zP2BLN7WipZPIrNH+4Gb2M+sLx7VUTlj1Y9g==} + /vuepress-plugin-copyright2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-RNaEPQ2o80XskWiGaF31yJhw7DCpuCMKzYwkQY9Gxk3rMbz72+lA48Ah/u6LQS61gUZxk+g50xMC+OdZwCFhuw==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5179,18 +5198,18 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + '@vueuse/core': 9.12.0_vue@3.2.47 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-feed2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-fqx13K49m1EeWudreqkcktQMhxvnwmMJVIRi855TIU+l30gE/XB3k9DZtNaIEBj0niwAAaGQQ4melnO6LnXF6Q==} + /vuepress-plugin-feed2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-ce/nOdrdBcgxYc18KdUS9on3NRSKpOarj2/OONoInT9Uk74nAVR0SpFwPkWwI3rdGiHmbzJZ3Aj/Yy0oQeklVQ==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5207,15 +5226,15 @@ packages: '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 cheerio: 1.0.0-rc.12 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 xml-js: 1.6.11 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-md-enhance/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-Wt19MVjNLYZo8+0Ylv3Zuq9FpiVPfxxB9nN/BtCa/ndXmG4+L5jRn8FJVMFaKH9z/ez549eHHMfr5J/CN/UUIg==} + /vuepress-plugin-md-enhance/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-LmrWJSmd2PG8+3X/lmpJ6E5EZ4+Uu4vsjM6qm3DZjUGg+lXmAMRLulMslVdfHfrJbITeIKM9X8+V6X1CECAUyg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5260,11 +5279,11 @@ packages: '@mdit/plugin-uml': 0.2.3 '@mermaid-js/mermaid-mindmap': 9.3.0 '@types/markdown-it': 12.2.3 - '@vue/repl': 1.3.2_vue@3.2.45 + '@vue/repl': 1.3.2_vue@3.2.47 '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 balloon-css: 1.2.0 chart.js: 4.2.0 echarts: 5.4.1 @@ -5273,18 +5292,18 @@ packages: markdown-it: 13.0.1 mermaid: 9.3.0 reveal.js: 4.4.0 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-photo-swipe/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-Uzfm08Zb3WTfGch/lJ1lIYhgxTrbQ7LMhLWnccinIUxlrFiComNaQfd7/obI9f/wAYIObzr465+RdVcsuf+/nA==} + /vuepress-plugin-photo-swipe/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-7wLJ0sdBJBfne1d1W/WiomSeKSWGw1Lpcu6NuzdOkIElvqJGSCc+qB+w9/9jaXGsaTQzgEeXIppSLAofOY7Lrg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5310,20 +5329,20 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 photoswipe: 5.3.5 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@vue/composition-api' - supports-color dev: true - /vuepress-plugin-pwa2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-KuULTZjh30/e9o/Rk8c1LWTp2hF+803zzd5Pi43NUYW4gvL755/Xuy7jiXPwiGyI5DgR+DasjG1CGwwaoUcN0Q==} + /vuepress-plugin-pwa2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-Xf25I6k8LkrVKZvRjx0KF6FPEfAqcLELYI0QtwlyWN9WvPs4C8DP7ukGaLMm/cDTHTHn/C0FkLYM8awObbC3zA==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5349,14 +5368,14 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 mitt: 3.0.0 register-service-worker: 1.7.2 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 workbox-build: 6.5.4 transitivePeerDependencies: - '@types/babel__core' @@ -5364,8 +5383,8 @@ packages: - supports-color dev: true - /vuepress-plugin-reading-time2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-D1MF3QXuYAZMCQQER7yyU+2gqzwfz5w5Q+xy5yBcz2bAE63spPtKMW+KqKypu3a5JE8Jqm4c2vlUEkt05+3lWQ==} + /vuepress-plugin-reading-time2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-u/JjNoR/GI/syUnikecQ/PfHARKhErH+Be9ZDmq6kzaPtVbtJyua3W9PH+b/fkvvcLM2mY76mRgZ70mnHq9GEg==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5381,14 +5400,14 @@ packages: vuepress-webpack: optional: true dependencies: - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-rtl/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-AQrc3swA0fUZ08HWJmVkIDfa3htzignmPJZS0+181LoilYpmPyI6qjhOIs9eXUnGSX7vGjIQ6uOinjTioUCUNw==} + /vuepress-plugin-rtl/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-rp3cG2Rife0OwA5j+cqtdx6xt6qmhx25m0zqSv8GMXDxndzCCiOZioHv0f+y8PfYhzhlIhjwgxwd8TuY8mN+/Q==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5405,15 +5424,15 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vue: 3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-sass-palette/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-HpglC1TaZun4g4g/4ZFgTGHk9YdyUyLRlOP0HYzHEn01KKJBJkma1BLtJ0NNGfrajNsX7dQPbiUrawH4kOrIQQ==} + /vuepress-plugin-sass-palette/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-ziybGwkOzcW0wTC4F/n2rFYMDqa0uDdSHHJPfhvc/cIOh/WEkSmQnbpWZ4/EC0mUrdQ2L6Bz9XLWTlG6fTcnPw==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5436,14 +5455,55 @@ packages: '@vuepress/utils': 2.0.0-beta.60 chokidar: 3.5.3 sass: 1.58.0 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-seo2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-M4JpXO4xVtVnPI/8fKVXLQIOy9aPk3ZCytAaTFUGGZeLfQ3yxx4ca1zkpa4X9mRJYOckZlH2dLi6/4aaveck3w==} + /vuepress-plugin-search-pro/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-YvAxROcj7/slfqpwo4GPaOAU+jy3Hi/fHM5vhqUchptcOOM2whhO5ELxtYk7+9L/dKnwY7ywSm5D1KPNefvt6Q==} + engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} + peerDependencies: + sass-loader: ^13.2.0 + vuepress: 2.0.0-beta.60 + vuepress-vite: 2.0.0-beta.60 + vuepress-webpack: 2.0.0-beta.60 + peerDependenciesMeta: + '@vuepress/client': + optional: true + sass-loader: + optional: true + vuepress: + optional: true + vuepress-plugin-sass-palette: + optional: true + vuepress-shared: + optional: true + vuepress-vite: + optional: true + vuepress-webpack: + optional: true + dependencies: + '@vuepress/client': 2.0.0-beta.60 + '@vuepress/shared': 2.0.0-beta.60 + '@vuepress/utils': 2.0.0-beta.60 + '@vueuse/core': 9.12.0_vue@3.2.47 + body-scroll-lock: 3.1.5 + cheerio: 1.0.0-rc.12 + chokidar: 3.5.3 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + transitivePeerDependencies: + - '@vue/composition-api' + - supports-color + dev: true + + /vuepress-plugin-seo2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-IZGuepbuZONDHK7c/ca71KBrPEMl+YFgkjtU35d84TwV6WJzMEX4kFYL6cE4/H5jBuKLrcSpo+7DdThaGYXKmw==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5459,14 +5519,14 @@ packages: dependencies: '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-plugin-sitemap2/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-6KX5JgL3K8Le7lotCf4awbqsf8D6ndvSfkzGtbJrPv08BLQveRDv3jQ6zF/vRisOhv68AKOLPWqeRr3qEQsooQ==} + /vuepress-plugin-sitemap2/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-QkfD5rwMSIBAFCBPtOtXU2L6GMcKFoeHLFM38oOfNwvMnvK5jmW9FFL0NPnZRQ/NT9/MaLCk3a9E+EUwajqZig==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5485,14 +5545,14 @@ packages: '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 sitemap: 7.1.1 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - supports-color dev: true - /vuepress-shared/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-sZELz2hbhgdRJRJf82xD4y6slBXWsRrvZOEtwzRKj/aciu664NXs5qd9ArICZ+A+jXtvNp+zM/RXYtAzrK+S1w==} + /vuepress-shared/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-Nsv09nw3FWe/ilsoIBjqlIiUirFUBtHCnu7NYkhiu291nWeobqp9ywlFjvQ8JcXJhUe17Jk9CUF3iv8D068Hew==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: vuepress: 2.0.0-beta.60 @@ -5517,15 +5577,15 @@ packages: fflate: 0.7.4 gray-matter: 4.0.3 striptags: 3.2.0 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc transitivePeerDependencies: - supports-color dev: true - /vuepress-theme-hope/2.0.0-beta.171_vuepress@2.0.0-beta.60: - resolution: {integrity: sha512-3wKRvCw1z9wDfHVUAobPjYsxvL1eXxMJeYy1v6WtoTdRAEQfB62Jdu1bsdlJxE3IIpGqR3Y2oOm6wg+UaFcxAw==} + /vuepress-theme-hope/2.0.0-beta.172_vuepress@2.0.0-beta.60: + resolution: {integrity: sha512-/pGlVGB6iSu/Ygq2SlTQtvRi1g7Kw3fJpEF2Tl+Zn6ZVZvS9mZeMmY8i0M4T4iuWcYXb+hjSSeJQg9lGOiT28A==} engines: {node: ^14.18.0 || >=16.0.0, npm: '>=8', pnpm: '>=7'} peerDependencies: sass-loader: ^13.2.0 @@ -5606,39 +5666,39 @@ packages: '@vuepress/plugin-theme-data': 2.0.0-beta.60 '@vuepress/shared': 2.0.0-beta.60 '@vuepress/utils': 2.0.0-beta.60 - '@vueuse/core': 9.12.0_vue@3.2.45 + '@vueuse/core': 9.12.0_vue@3.2.47 balloon-css: 1.2.0 bcrypt-ts: 3.0.0 body-scroll-lock: 3.1.5 cheerio: 1.0.0-rc.12 chokidar: 3.5.3 gray-matter: 4.0.3 - vue: 3.2.45 - vue-router: 4.1.6_vue@3.2.45 - vuepress: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b - vuepress-plugin-auto-catalog: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-blog2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-comment2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-components: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-copy-code2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-copyright2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-feed2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-md-enhance: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-photo-swipe: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-pwa2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-reading-time2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-rtl: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-sass-palette: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-seo2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-plugin-sitemap2: 2.0.0-beta.171_vuepress@2.0.0-beta.60 - vuepress-shared: 2.0.0-beta.171_vuepress@2.0.0-beta.60 + vue: 3.2.47 + vue-router: 4.1.6_vue@3.2.47 + vuepress: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc + vuepress-plugin-auto-catalog: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-blog2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-comment2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-components: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-copy-code2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-copyright2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-feed2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-md-enhance: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-photo-swipe: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-pwa2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-reading-time2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-rtl: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-sass-palette: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-seo2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-plugin-sitemap2: 2.0.0-beta.172_vuepress@2.0.0-beta.60 + vuepress-shared: 2.0.0-beta.172_vuepress@2.0.0-beta.60 transitivePeerDependencies: - '@types/babel__core' - '@vue/composition-api' - supports-color dev: true - /vuepress-vite/2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b: + /vuepress-vite/2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc: resolution: {integrity: sha512-ljHvo419nbfYl/cQecVbYL4bwJjUOX0+z76v/4yX6ODeGIpdHIs7ARZ4t52mr0EEfwP6aZbZa+qFZTTQutxAuQ==} hasBin: true peerDependencies: @@ -5650,7 +5710,7 @@ packages: '@vuepress/client': 2.0.0-beta.60 '@vuepress/core': 2.0.0-beta.60 '@vuepress/theme-default': 2.0.0-beta.60 - vue: 3.2.45 + vue: 3.2.47 transitivePeerDependencies: - '@types/node' - '@vue/composition-api' @@ -5664,11 +5724,11 @@ packages: - ts-node dev: true - /vuepress/2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b: + /vuepress/2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc: resolution: {integrity: sha512-evkv5PtX5pdlEyY5EcEV+rN/HTmi8iG7ZcvAnMFfYKWdvKiUjE+/DPwZfmE8emx33FEE2htbAKgtruABTocEjA==} hasBin: true dependencies: - vuepress-vite: 2.0.0-beta.60_1acd96c39e0e9b8ace9db41c1535c92b + vuepress-vite: 2.0.0-beta.60_936b00771fca784c47ac7ef0cdfceefc transitivePeerDependencies: - '@types/node' - '@vue/composition-api' diff --git a/scripts/build_image.sh b/scripts/build_image.sh index b280da5..23e2350 100644 --- a/scripts/build_image.sh +++ b/scripts/build_image.sh @@ -1,12 +1,11 @@ #!/bin/bash ## 功能:本地前后端项目构建、打包镜像,上传docker仓库 ## 参考:https://blog.csdn.net/Dontla/article/details/125210694 +## 使用示例:bash xxx.sh 版本号 faster[可选] +## - bash build_image.sh 0.0.1 faster ## 作者:储凡 -## 使用示例:bash xxx.sh 版本号 -## - bash build_image.sh 0.0.1 ## - ## 日志颜色定义 readonly successLogger="\033[36m" readonly errorLogger="\033[1;31m" @@ -16,9 +15,13 @@ readonly currentTime=$(date "+%Y-%m-%d %H:%M:%S") ## 项目名称 readonly projectName="408CSFamily" ## 仓库地址 -readonly repoAddress="registry.cn-hangzhou.aliyuncs.com/142vip/doc_book:" +readonly repoAddress="registry.cn-hangzhou.aliyuncs.com/142vip/doc_book" ## 版本号 version=${1} +## 是否先本地构建,执行npm run build操作 +isFaster=${2} +## 镜像名称 +imageTagName=${repoAddress}:${projectName}-${version} prepare_check(){ @@ -30,7 +33,15 @@ prepare_check(){ run(){ echo -e "${successLogger}---------------- shell ${projectName} start ---------------- " - docker build -t "${repoAddress}${projectName}-${version}" . + + if [ "${isFaster}" == "faster" ];then + ## 本地构建、快速制作镜像 + npm run build && docker build -f Faster.Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" . + else + ## ci流程构建 + docker build -f Dockerfile --build-arg APP_VERSION="${version}" -t "${imageTagName}" . + fi + echo -e "${successLogger}---------------- shell ${projectName} end ---------------- " push_docker_image } @@ -40,14 +51,14 @@ run(){ ## 推送镜像 push_docker_image(){ - if [[ "$(docker images -q "${repoAddress}${projectName}-${version}" 2> /dev/null)" != "" ]]; + if [[ "$(docker images -q "${imageTagName}" 2> /dev/null)" != "" ]]; then ## 推送 - docker push "${repoAddress}${projectName}-${version}" + docker push "${imageTagName}" echo -e "${successLogger}---------------- 上传镜像成功,删除本地镜像 ---------------- " - docker rmi "${repoAddress}${projectName}-${version}" + docker rmi "${imageTagName}" else - echo -e "${errorLogger}${currentTime}:镜像:${repoAddress}${projectName}-${version}不存在" + echo -e "${errorLogger}${currentTime}:[镜像] ${imageTagName}不存在" fi exit 0 } diff --git a/scripts/deploy.sh b/scripts/deploy.sh index b4b9c1f..75f1222 100644 --- a/scripts/deploy.sh +++ b/scripts/deploy.sh @@ -72,7 +72,7 @@ run(){ ## 删除容器 delete_container "${containerName}" ## 删除镜像 - delete_image "${repoAddress}:${containerName}_${version}" + delete_image "${repoAddress}:${containerName}-${version}" ## 部署 deploy_to_ali exit 0;