├── .github └── workflows │ ├── togithub.yml │ └── tome.yml-bak ├── .gitignore ├── .markdownlint.json ├── README.md ├── createjson.js ├── docs ├── .vitepress │ ├── ai.json │ ├── code.json │ ├── config.mts │ └── theme │ │ ├── default.cur │ │ ├── index.ts │ │ └── style.css ├── ai │ ├── 2024-10-11-gs.md │ ├── 2025-03-29-29种风格.md │ ├── 2025-03-29-公众号封面图.md │ ├── 2025-03-29-商务简约信息卡片风.md │ ├── 2025-03-29-奢华自然意境风.md │ ├── 2025-03-29-小红书封面图.md │ ├── 2025-03-29-数字极简票券风.md │ ├── 2025-03-29-新构成主义教学风.md │ ├── 2025-03-29-新潮工业反叛风.md │ ├── 2025-03-29-极简格栅主义封面风格.md │ ├── 2025-03-29-柔和科技卡片风.md │ ├── 2025-03-29-流动科技蓝风格.md │ ├── 2025-03-29-现代商务资讯卡片风.md │ ├── 2025-03-29-软萌知识卡片风.md │ ├── 2025-03-29-阅读总结.md │ ├── 2025-03-29.md │ ├── 2025-04-01-文章改写.md │ ├── 2025-04-03-润色文章.md │ └── index.md ├── article │ ├── code │ │ ├── 2022-05-07-git.md │ │ ├── 2022-05-10-vscode.md │ │ ├── 2022-05-11-linux.md │ │ ├── 2022-05-12-vue3.md │ │ ├── 2022-05-15-guifan.md │ │ ├── 2022-05-20-typescript.md │ │ ├── 2022-05-21-npm.md │ │ ├── 2022-05-23-taro.md │ │ ├── 2022-05-24-react.md │ │ ├── 2022-05-25-build-optimize.md │ │ ├── 2022-05-26-nodejs.md │ │ ├── 2022-05-27-tauri.md │ │ ├── 2022-05-28-mysql.md │ │ ├── 2022-05-29-leaflet.md │ │ ├── 2022-05-30-javascript.md │ │ ├── 2022-06-01-go.md │ │ ├── 2022-06-02-echarts.md │ │ ├── 2022-06-03-ast.md │ │ ├── 2022-06-04-pnpm.md │ │ ├── 2022-06-05-router.md │ │ ├── 2022-06-06-code.md │ │ ├── 2022-08-11-pnpm.md │ │ ├── 2022-08-16-commitizen.md │ │ ├── 2022-08-17-docker.md │ │ ├── 2022-08-17-nginx.md │ │ ├── 2022-08-18-commit.md │ │ ├── 2022-08-18-taro.md │ │ ├── 2022-08-20-apifox.md │ │ ├── 2022-08-22-nginx 负载均衡.md │ │ ├── 2022-08-24-vim.md │ │ ├── 2022-08-25-hub docker.md │ │ ├── 2022-08-25-wujie.md │ │ ├── 2022-08-26-vue3原理.md │ │ ├── 2022-08-31-.net core.md │ │ ├── 2022-09-01-axios工具.md │ │ ├── 2022-09-01-axios工具函数判断纯对象.md │ │ ├── 2022-09-01-axios正则.md │ │ ├── 2022-09-01-javascript-ioc.md │ │ ├── 2022-09-21-history.md │ │ ├── 2022-09-26-axios-utils.md │ │ ├── 2022-10-09-http缓存.md │ │ ├── 2022-10-11-.net6.0.md │ │ ├── 2022-10-15-后端.md │ │ ├── 2022-10-16-mysql.md │ │ ├── 2022-10-26-redis.md │ │ ├── 2022-10-28-elasticsearch.md │ │ ├── 2022-11-06-docker.md │ │ ├── 2022-11-08-字典.md │ │ ├── 2022-11-09-marridb.md │ │ ├── 2022-11-14-docker-mysql.md │ │ ├── 2022-11-14-mysql-isnull-isnotnull.md │ │ ├── 2022-11-15-linux.md │ │ ├── 2022-11-16-token.md │ │ ├── 2022-11-18-linux 监控指引.md │ │ ├── 2022-11-21-nginx.md │ │ ├── 2022-11-23-Aop.md │ │ ├── 2022-11-23-环境配置.md │ │ ├── 2022-11-24-项目上线.md │ │ ├── 2022-11-25-mysql删除重复数据.md │ │ ├── 2022-11-26-linux mysql 慢查询.md │ │ ├── 2022-11-28-正则.md │ │ ├── 2022-11-30-.net-core异步.md │ │ ├── 2022-12-01-docker-compose.md │ │ ├── 2022-12-03-Mysql学习了解总结.md │ │ ├── 2022-12-09-zx.md │ │ ├── 2022-12-14-linux.md │ │ ├── 2022-12-20-mysql.md │ │ ├── 2022-12-20-ubuntu.md │ │ ├── 2022-12-20-zabbix.md │ │ ├── 2022-12-21-总结.md │ │ ├── 2022-12-24-mysql主从.md │ │ ├── 2022-12-28-linux-h.md │ │ ├── 2023--8-15-dvs.md │ │ ├── 2023-01-04-docker.md │ │ ├── 2023-01-06-docker-consul.md │ │ ├── 2023-01-09-nacos.md │ │ ├── 2023-01-09-ocelot.md │ │ ├── 2023-01-09-软考参考.md │ │ ├── 2023-01-10-EventBus.md │ │ ├── 2023-01-10-k8s.md │ │ ├── 2023-01-11-docker-sqlserver.md │ │ ├── 2023-01-11-go.md │ │ ├── 2023-01-31-docker-dotnet.md │ │ ├── 2023-02-01-中医.md │ │ ├── 2023-02-08-面试整理.md │ │ ├── 2023-02-10-单例模式.md │ │ ├── 2023-02-13-linux-mariadb.md │ │ ├── 2023-02-21-chatgpt.md │ │ ├── 2023-02-21-sql.md │ │ ├── 2023-02-22-go-gin.md │ │ ├── 2023-03-15-embdding.md │ │ ├── 2023-03-17-supabase.md │ │ ├── 2023-03-23-ai虚拟人.md │ │ ├── 2023-03-30-yt-dlp.md │ │ ├── 2023-03-31-Midjourney.md │ │ ├── 2023-03-31-总结.md │ │ ├── 2023-04-03-openai.md │ │ ├── 2023-04-03-文冠.md │ │ ├── 2023-04-04-llama-index.md │ │ ├── 2023-04-11-fastgpt.md │ │ ├── 2023-04-23-langchain.md │ │ ├── 2023-05-17-deplay.md │ │ ├── 2023-05-23-vmware.md │ │ ├── 2023-05-24-docker-mysql.md │ │ ├── 2023-05-24-mysql.md │ │ ├── 2023-05-26-mongodb.md │ │ ├── 2023-05-26-uni-app.md │ │ ├── 2023-05-29-ChatGPT.md │ │ ├── 2023-05-31-fastgpt.md │ │ ├── 2023-05-31-flow.md │ │ ├── 2023-06-02-robot.md │ │ ├── 2023-06-21-prompt.md │ │ ├── 2023-06-25-amazon.md │ │ ├── 2023-07-01-github token.md │ │ ├── 2023-07-21-openai.md │ │ ├── 2023-07-24-llama2.md │ │ ├── 2023-07-26-pgvector.md │ │ ├── 2023-07-27-wenxinyiyan.md │ │ ├── 2023-07-31-python.md │ │ ├── 2023-08-08-map.md │ │ ├── 2023-08-08-规范总结.md │ │ ├── 2023-08-14-唐.md │ │ ├── 2023-09-19-bun.md │ │ ├── 2023-09-19-linux-nodejs.md │ │ ├── 2023-09-27-podman.md │ │ ├── 2023-10-07-存储过程.md │ │ ├── 2023-10-09-mysql.md │ │ ├── 2023-10-14-monitor.md │ │ ├── 2023-10-26-培训.md │ │ ├── 2023-11-01-xe.md │ │ ├── 2023-11-09-shell.md │ │ ├── 2023-11-15-docker-mysql.md │ │ ├── 2023-11-16-webfunny.md │ │ ├── 2023-11-20-rabbitmq.md │ │ ├── 2023-11-21-dotnetcore.md │ │ ├── 2023-11-24-goploy.md │ │ ├── 2023-11-28-redis.md │ │ ├── 2023-11-30-linqkit.md │ │ ├── 2023-12-23-net8.0.md │ │ ├── 2023-12-28-debian.md │ │ ├── 2023-12-28-ubuntu.md │ │ ├── 2024-01-02-fastgpt.md │ │ ├── 2024-01-15-zabbix.md │ │ ├── 2024-02-24-埋点.md │ │ ├── 2024-02-28-seq.md │ │ ├── 2024-03-03-整理.md │ │ ├── 2024-03-07-youtobe.md │ │ ├── 2024-03-14-FigureAI.md │ │ ├── 2024-03-14-claude-haiku.md │ │ ├── 2024-03-14-masike.md │ │ ├── 2024-03-15-aoteman copy.md │ │ ├── 2024-03-15-docker.md │ │ ├── 2024-03-18-sora ai.md │ │ ├── 2024-03-20-llm.md │ │ ├── 2024-03-21-MC.md │ │ ├── 2024-03-22-GPT-5.md │ │ ├── 2024-03-23-黄教主.md │ │ ├── 2024-03-29-读一人企业方法论.md │ │ ├── 2024-03-30-rpa.md │ │ ├── 2024-04-04-mac-docker.md │ │ ├── 2024-04-07-tailscale-termux.md │ │ ├── 2024-04-10-vitepress.md │ │ ├── 2024-04-11-gemini.md │ │ ├── 2024-04-30-video2blog.md │ │ ├── 2024-05-08-whisper.md │ │ ├── 2024-05-14-openharmony.md │ │ ├── 2024-05-29-cocos.md │ │ ├── 2024-06-03-kongtou.md │ │ ├── 2024-06-04-heng.md │ │ ├── 2024-06-05-query.md │ │ ├── 2024-06-13-comfyui.md │ │ ├── 2024-06-24-lf.md │ │ ├── 2024-06-28-java.md │ │ ├── 2024-07-09-baidumap.md │ │ ├── 2024-07-19-tools.md │ │ ├── 2024-07-24-query.md │ │ ├── 2024-08-02-wiki.md │ │ ├── 2024-08-19-window-docker.md │ │ ├── 2024-08-23-openobserve.md │ │ ├── 2024-09-03-mysql.md │ │ ├── 2024-09-03-在线excel.md │ │ ├── 2024-10-11-gs.md │ │ ├── 2024-10-15-qrcode.md │ │ ├── 2024-10-21-zx.md │ │ ├── 2024-10-30-lin-linux.md │ │ ├── 2024-11-19.-自主填报配置sql.md │ │ ├── 2024-11-22-台账.md │ │ ├── 2024-11-29-java.md │ │ ├── 2024-12-07-univer.md │ │ ├── 2024-12-13-散装油迁移.md │ │ ├── 2024-12-14-散装油迁移-his.md │ │ ├── 2024-12-24-小程序订阅消息.md │ │ ├── 2024-12-28-独立站.md │ │ ├── 2025-01-03-nas.md │ │ ├── 2025-01-20-ready.md │ │ ├── 2025-02-10-deepseek.md │ │ ├── 2025-03-10-知识库.md │ │ ├── 2025-0306-ag.md │ │ ├── 2025-04-12-anythingllm.md │ │ ├── 2025-04-15-vue.md │ │ ├── 2025-04-18-ai-proxy.md │ │ ├── index.js │ │ └── index.md │ ├── daily │ │ ├── 2021-01.md │ │ ├── 2021-02.md │ │ ├── 2021-03.md │ │ ├── 2021-04.md │ │ ├── 2021-05.md │ │ ├── 2021-06.md │ │ ├── 2021-07.md │ │ ├── 2021-08.md │ │ ├── 2021-09.md │ │ ├── 2021-10.md │ │ ├── 2021-11.md │ │ ├── 2021-12.md │ │ ├── 2022-01.md │ │ ├── 2022-02.md │ │ ├── 2022-03.md │ │ ├── 2022-04.md │ │ ├── 2022-05.md │ │ ├── 2022-06.md │ │ ├── 2022-07.md │ │ ├── 2022-08.md │ │ ├── 2022-09.md │ │ ├── 2022-10.md │ │ ├── 2022-11.md │ │ ├── 2022-12.md │ │ ├── 2023-01.md │ │ ├── 2023-02.md │ │ ├── 2023-03.md │ │ ├── 2023-04.md │ │ ├── 2023-05.md │ │ ├── 2023-08.md │ │ ├── 2023-09.md │ │ ├── 2023-10.md │ │ ├── 2023-11.md │ │ ├── 2023-12.md │ │ ├── 2024-01.md │ │ ├── 2024-02.md │ │ ├── 2024-03.md │ │ ├── 2024-04.md │ │ ├── 2024-05.md │ │ ├── 2024-06.md │ │ ├── 2024-07.md │ │ ├── 2024-08.md │ │ ├── 2024-09.md │ │ ├── 2024-10.md │ │ ├── 2024-11.md │ │ ├── 2024-12.md │ │ ├── 2025-01.md │ │ ├── 2025-02.md │ │ ├── 2025-03.md │ │ ├── 2025-04.md │ │ ├── 2025-05.md │ │ ├── 2025-06.md │ │ ├── GPT-4.md │ │ ├── index.md │ │ ├── install.md │ │ └── zx.md │ ├── economy │ │ ├── 2024-09-18-美元降息潮开启.md │ │ ├── 2024-11-05-为何比特币多头加倍押注特朗普将再度入主白宫?.md │ │ ├── 2024-11-11-浅谈币圈集中交易类型的风险比对.md │ │ ├── 2024-11-12-币安接口.md │ │ ├── 2024-11-20-股市的由来.md │ │ ├── 2024-11-30-股市.md │ │ ├── 2025-03-10-复盘.md │ │ ├── index.md │ │ └── time-line.vue │ └── life │ │ ├── 2021-12.md │ │ ├── 2022-06.md │ │ ├── 2022-07-01.md │ │ ├── 2022-07.md │ │ ├── 2023-05-22.md │ │ ├── 2025-05-15.md │ │ └── index.md ├── components │ └── group.vue ├── friendly │ └── info.md ├── index.md ├── me │ ├── about.md │ ├── index.md │ └── music.md ├── public │ ├── home.svg │ ├── html │ │ └── lyrics │ │ │ ├── keneng.html │ │ │ └── wfxlc.html │ └── logo.svg └── views │ ├── game │ ├── index.md │ ├── pinyin.vue │ └── shuerte.vue │ └── tool │ ├── 2024-11-11-wsj.md │ ├── aes-decrypt-tool.vue │ ├── base64-image.vue │ ├── base64ImageViewer.vue │ ├── image-compress.vue │ └── index.md ├── excalidraw └── aehyok │ ├── .obsidian │ ├── app.json │ ├── appearance.json │ ├── community-plugins.json │ ├── core-plugins-migration.json │ ├── core-plugins.json │ ├── graph.json │ ├── plugins │ │ └── obsidian-excalidraw-plugin │ │ │ ├── data.json │ │ │ ├── main.js │ │ │ ├── manifest.json │ │ │ └── styles.css │ ├── themes │ │ └── Minimal │ │ │ ├── manifest.json │ │ │ └── theme.css │ ├── types.json │ └── workspace.json │ ├── 08-02 19.45.52.excalidraw.md │ ├── 08-06-excel导入.excalidraw.md │ ├── Fonts │ └── 字语青梅硬笔.ttf │ └── 欢迎.md ├── font └── 字语青梅硬笔.ttf ├── package.json ├── pdf ├── tech │ └── JavaScript正则表达式迷你书(1.1版).pdf ├── 《命悬一线,我不放手:ICU生死录》薄世宁.pdf ├── 《美国商业400年.pdf ├── 乡下人的悲歌.pdf ├── 制造贫困:一个美国问题.pdf ├── 拿破仑传.pdf ├── 独立战争与世界重启:一部新的十八世纪晚期全球史.pdf └── 病毒下层社会:疾病与不平等在美国的碰撞.pdf └── pnpm-lock.yaml /.github/workflows/togithub.yml: -------------------------------------------------------------------------------- 1 | name: build to my github 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | deploy: 10 | runs-on: ubuntu-latest 11 | # strategy: 12 | # matrix: 13 | # node-version: [node16] 14 | steps: 15 | - uses: actions/checkout@v3 16 | - uses: actions/setup-node@v3 17 | with: 18 | node-version: 18 19 | - name: Install PNPM 20 | run: npm i -g pnpm 21 | - name: Install & Build 22 | run: pnpm install --no-frozen-lockfile && pnpm run build 23 | 24 | # - name: CreateTag 25 | # run git tag -a 26 | - name: Deploy 27 | uses: peaceiris/actions-gh-pages@v3 28 | with: 29 | github_token: ${{ secrets.GITHUB_TOKEN }} 30 | publish_dir: docs/.vitepress/dist -------------------------------------------------------------------------------- /.github/workflows/tome.yml-bak: -------------------------------------------------------------------------------- 1 | name: build to my server 2 | on: 3 | push: 4 | branches: 5 | - main # 这里表示push到main分支就会触发流程 6 | jobs: 7 | build-and-deploy: 8 | runs-on: ubuntu-latest 9 | steps: 10 | # 这是github官方的一个action,用于clone该仓库的源码到工作流中, 11 | - name: Checkout 🛎️ 12 | uses: actions/checkout@v2 13 | with: 14 | persist-credentials: false 15 | 16 | - name: Build 17 | run: | 18 | npm install # 安装依赖 19 | npm run build # 执行打包 20 | 21 | # 连接到ssh,并且做一个拷贝操作的action 22 | - name: Deploy 🚀 23 | uses: appleboy/scp-action@master 24 | with: 25 | host: ${{ secrets.AK_HOST }} # 服务器host 26 | username: ${{ secrets.AK_USER }} # 服务器用户名 27 | password: ${{ secrets.AK_PASS }} # 服务器密码 28 | source: './docs/.vitepress/dist/*' # 需要上传的文件, 多文件使用逗号隔开 29 | target: '/usr/local/qiankun/blog' # 上传到服务器的什么位置 30 | 31 | # uses: cross-the-world/scp-pipeline@master 32 | # env: 33 | # WELCOME: "ssh scp ssh pipelines" 34 | # LASTSSH: "Doing something after copying" 35 | # with: 36 | # host: ${{ secrets.AK_HOST }} 37 | # user: ${{ secrets.AK_USER }} 38 | # pass: ${{ secrets.AK_PASS }} 39 | # connect_timeout: 10s 40 | # local: './docs/.vitepress/dist/*' # 这里是下一步要创建的vue项目构建完成后的静态资源路径 41 | # remote: /usr/local/qiankun/blog # 这里是 step1 中,在服务器上创建用于存放静态资源的文件夹 42 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | node_modules/ 3 | dist/ 4 | CONTRIBUTING.md 5 | npm-debug.log 6 | yarn-debug.log* 7 | yarn-error.log* 8 | yarn.lock 9 | # package-lock.json 10 | test/unit/coverage 11 | test/e2e/reports 12 | selenium-debug.log 13 | 14 | # Editor directories and files 15 | .idea 16 | .vscode 17 | *.suo 18 | *.ntvs* 19 | *.njsproj 20 | *.sln 21 | 22 | # ad 23 | cache 24 | -------------------------------------------------------------------------------- /.markdownlint.json: -------------------------------------------------------------------------------- 1 | { 2 | "MD033": false, 3 | "MD041": false, 4 | "MD047": false 5 | } -------------------------------------------------------------------------------- /createjson.js: -------------------------------------------------------------------------------- 1 | const fs = require('fs'); 2 | const path = require('path'); 3 | 4 | 5 | console.log(process.argv[3]," argbv") 6 | const directory = process.argv[3]; 7 | const folderPath = `./docs/${directory}/`; // 文件夹路径 8 | const outputFilePath = `./docs/.vitepress/${directory}.json`; // 输出的 JSON 文件路径 9 | 10 | fs.readdir(folderPath, (err, files) => { 11 | if (err) { 12 | return console.error('无法读取文件夹:', err); 13 | } 14 | 15 | // 按年份对文件进行分组 16 | const groupedData = {}; 17 | 18 | files.forEach(file => { 19 | const match = file.match(/^(\d{4})-(\d{2})/); // 匹配 YYYY-MM 格式 20 | if (match) { 21 | const year = match[1]; 22 | if (!groupedData[year]) { 23 | groupedData[year] = []; 24 | } 25 | 26 | // 去掉文件扩展名 27 | const fileNameWithoutExtension = path.basename(file, path.extname(file)); 28 | 29 | // 将每个文件信息添加到对应年份的数组中 30 | groupedData[year].push({ 31 | text: fileNameWithoutExtension, // 文件名不带后缀 32 | link: `/article/${directory}/${fileNameWithoutExtension}` // 链接不带后缀 33 | }); 34 | } 35 | }); 36 | 37 | const obj = { 38 | "ai": "-ai资讯", 39 | "代码开发": "-知识点积累" 40 | } 41 | 42 | // 将分组数据结构转换成所需格式并按年份倒序排序 43 | const outputData = Object.keys(groupedData) 44 | .sort((a, b) => b - a) // 年份倒序排序 45 | .map(year => ({ 46 | text: `${year}${obj[directory]}`, 47 | items: groupedData[year] 48 | })); 49 | 50 | // 写入 JSON 文件 51 | fs.writeFile(outputFilePath, JSON.stringify(outputData, null, 2), 'utf8', (err) => { 52 | if (err) { 53 | return console.error('无法写入 JSON 文件:', err); 54 | } 55 | console.log('结构化数据已成功写入到', outputFilePath); 56 | }); 57 | }); 58 | -------------------------------------------------------------------------------- /docs/.vitepress/ai.json: -------------------------------------------------------------------------------- 1 | [ 2 | { 3 | "text": "2024-ai资讯", 4 | "items": [ 5 | { 6 | "text": "2024-10-11-gs", 7 | "link": "/ai/2024-10-11-gs" 8 | } 9 | ] 10 | } 11 | ] -------------------------------------------------------------------------------- /docs/.vitepress/theme/default.cur: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/.vitepress/theme/default.cur -------------------------------------------------------------------------------- /docs/.vitepress/theme/index.ts: -------------------------------------------------------------------------------- 1 | // https://vitepress.dev/guide/custom-theme 2 | import { h } from 'vue' 3 | import type { Theme } from 'vitepress' 4 | import DefaultTheme from 'vitepress/theme' 5 | import './style.css' 6 | 7 | export default { 8 | extends: DefaultTheme, 9 | Layout: () => { 10 | return h(DefaultTheme.Layout, null, { 11 | // https://vitepress.dev/guide/extending-default-theme#layout-slots 12 | }) 13 | }, 14 | enhanceApp({ app, router, siteData }) { 15 | // ... 16 | } 17 | } satisfies Theme 18 | -------------------------------------------------------------------------------- /docs/ai/2025-03-29-公众号封面图.md: -------------------------------------------------------------------------------- 1 | # 你是一位优秀的网页和营销视觉设计师,具有丰富的UI/UX设计经验,曾为众多知名品牌打造过引人注目的营销视觉,擅长将现代设计趋势与实用营销策略完美融合。 2 | 请使用HTML和CSS代码按照设计风格要求部分创建一个的微信公众号封面图片组合布局。我需要的设计应具有强烈的视觉冲击力和现代感。 3 | 4 | ## 基本要求: 5 | 6 | - **尺寸与比例**: 7 | - 整体比例严格保持为3.35:1 8 | - 容器高度应随宽度变化自动调整,始终保持比例 9 | - 左边区域放置2.35:1比例的主封面图 10 | - 右边区域放置1:1比例的朋友圈分享封面 11 | - **布局结构**: 12 | - 朋友圈封面只需四个大字铺满整个区域(上面两个下面两个) 13 | - 文字必须成为主封面图的视觉主体,占据页面至少70%的空间 14 | - 两个封面共享相同的背景色和点缀装饰元素 15 | - 最外层卡片需要是直角 16 | - **技术实现**: 17 | - 使用纯HTML和CSS编写 18 | - 如果用户给了背景图片的链接需要结合背景图片排版 19 | - 严格实现响应式设计,确保在任何浏览器宽度下都保持16:10的整体比例 20 | - 在线 CDN 引用 Tailwind CSS 来优化比例和样式控制 21 | - 内部元素应相对于容器进行缩放,确保整体设计和文字排版比例一致 22 | - 使用Google Fonts或其他CDN加载适合的现代字体 23 | - 可引用在线图标资源(如Font Awesome) 24 | - 代码应可在现代浏览器中直接运行 25 | - 提供完整HTML文档与所有必要的样式 26 | - 最下方增加图片下载按钮,点击后下载整张图片 27 | 28 | ## 用户输入内容 29 | - 公众号标题为:[一套提示词帮你实现小红书、公众号封面自由,Deepseek V3也能用!] 30 | - emoji图片: 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | 42 | 43 | 44 | 你是一位优秀的网页和营销视觉设计师,具有丰富的UI/UX设计经验,曾为众多知名品牌打造过引人注目的营销视觉,擅长将现代设计趋势与实用营销策略完美融合。 45 | 请使用HTML和CSS代码按照设计风格要求部分创建一个的微信公众号封面图片组合布局。我需要的设计应具有强烈的视觉冲击力和现代感。 46 | 47 | ## 基本要求: 48 | 49 | - **尺寸与比例**: 50 | - 整体比例严格保持为2.35:1 51 | - 容器高度应随宽度变化自动调整,始终保持比例 52 | - **布局结构**: 53 | - 文字必须成为主封面图的视觉主体,占据页面至少70%的空间 54 | - 封面添加点缀装饰元素 55 | - 最外层卡片需要是直角 56 | - **技术实现**: 57 | - 使用纯HTML和CSS编写 58 | - 如果用户给了背景图片的链接需要结合背景图片排版 59 | - 严格实现响应式设计,确保在任何浏览器宽度下都保持16:10的整体比例 60 | - 在线 CDN 引用 Tailwind CSS 来优化比例和样式控制 61 | - 内部元素应相对于容器进行缩放,确保整体设计和文字排版比例一致 62 | - 使用Google Fonts或其他CDN加载适合的现代字体 63 | - 可引用在线图标资源(如Font Awesome) 64 | - 代码应可在现代浏览器中直接运行 65 | - 提供完整HTML文档与所有必要的样式 66 | - 最后直接返回给我完整的html即可,无需其他多余的思考过程 67 | 68 | ## 用户输入内容 69 | - 公众号标题为: -------------------------------------------------------------------------------- /docs/ai/2025-03-29-商务简约信息卡片风.md: -------------------------------------------------------------------------------- 1 | # 软萌知识卡片风 2 | 3 | ## 设计风格 4 | 5 | - **柔和色彩基调**:以粉色、米黄、淡紫等温和色调为主,营造轻松友好氛围 6 | - **圆角卡片结构**:所有内容采用大圆角矩形或椭圆形容器,没有尖锐边角 7 | - **简约留白处理**:适当留白增强可读性,避免视觉拥挤感 8 | - **渐变色背景**:部分卡片使用柔和渐变背景,增加层次感和温暖感 9 | - **情感化设计**:整体风格偏向亲和、轻松,不过分严肃正式 10 | - **统一视觉语言**:各卡片尽管内容不同,但维持一致的设计语言 11 | - **轻量化边框**:红色封面使用笔记本线条等轻量级边框元素增加趣味性 12 | 13 | ## 文字排版风格 14 | 15 | - **大字号标题**:标题文字加粗加大,吸引第一眼注意 16 | - **紧凑段落布局**:正文内容分段清晰,段落间距适中 17 | - **感叹号点缀**:频繁使用感叹号增强情感表达和亲近感 18 | - **表情符号融入**:在文字中加入"」"等特殊符号增加表现力 19 | - **重点句加粗**:关键信息或总结性内容加粗处理 20 | - **自然语言表达**:采用口语化、对话式的表达方式,降低阅读门槛 21 | - **多层级排版**:标题、副标题、正文、强调语等形成清晰的阅读层级 22 | 23 | ## 视觉元素风格 24 | 25 | - **Q版表情角色**:底部配置可爱的emoji表情或形象,增加亲和力 26 | - **表情丰富多样**:使用惊讶、思考、无奈等多种表情,与文本内容情感呼应 27 | - **场景化呈现**:如电脑前工作的人物、阅读书本的角色等场景化表达 28 | - **实物图融合**:如猫咪真实照片与卡通风格的结合 29 | - **点缀型装饰**:适量使用小装饰元素,如笔记本边缘的圆点标记 30 | - **形象位置统一**:视觉元素多位于卡片底部,形成稳定的视觉期待 31 | - **拟人化处理**:将抽象概念通过卡通形象拟人化,增强理解和记忆 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-奢华自然意境风.md: -------------------------------------------------------------------------------- 1 | ## 奢华自然意境风 2 | 3 | ### 设计风格 4 | 5 | - **高级沉稳色调**:暗调景观背景配以细腻光影,营造高端内敛氛围 6 | - **意境式呈现**:不仅展示实景,更表达一种与自然共融的精神状态 7 | - **奢华隐喻元素**:通过构图和文字暗示高端生活方式与品质追求 8 | - **空间层次丰富**:通过前景、中景、远景的搭配创造空间深度感 9 | - **东西方美学融合**:中式意境与西方现代摄影美学的和谐结合 10 | - **沉浸式体验设计**:画面设计引导观者产生身临其境的感受 11 | 12 | ### 文字排版风格 13 | 14 | - **悬浮式标题定位**:文字悬浮于景观之上,形成虚实对比 15 | - **中西文混合排版**:英文与中文标题组合使用,增强国际化气质 16 | - **层级分明的字阶**:主标题、副标题和说明文字尺寸差异明显 17 | - **优雅字体选择**:英文多用细腻的衬线体,中文选用简约现代字体 18 | - **巧妙的文字拆分**:文字的艺术性拆解处理 19 | - **留白与文字平衡**:大面积留白中点缀核心文字,强化重点信息 20 | - **边缘式辅助信息**:次要文字信息常放置于画面边缘,不干扰主视觉 21 | 22 | ### 视觉元素风格 23 | 24 | - **摄影级光影处理**:专业摄影级别的光线捕捉,展现自然光影魅力 25 | - **景深虚化技巧**:背景适度虚化,突出主体,增强画面层次感 26 | - **半透明叠加处理**:文字与背景间常有微妙的半透明效果 27 | - **隐性品牌符号**:品牌元素融入自然场景,不刻意张扬 28 | - **导航指示符号**:左右导航箭头简洁统一,融入整体设计 29 | - **水墨意境渲染**:部分元素带有东方水墨画的意境处理 30 | - **大气构图法则**:遵循三分法或黄金分割构图,画面大气平衡 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-小红书封面图.md: -------------------------------------------------------------------------------- 1 | 你是一位优秀的网页和营销视觉设计师,具有丰富的UI/UX设计经验,曾为众多知名品牌打造过引人注目的营销视觉,擅长将现代设计趋势与实用营销策略完美融合。现在需要为我创建一张专业级小红书封面。请使用HTML、CSS和JavaScript代码实现以下要求: 2 | 3 | ## 基本要求 4 | 5 | **尺寸与基础结构** 6 | - 比例严格为3:4(宽:高) 7 | - 设计一个边框为0的div作为画布,确保生成图片无边界 8 | - 最外面的卡片需要为直角 9 | - 将我提供的文案提炼为30-40字以内的中文精华内容 10 | - 文字必须成为视觉主体,占据页面至少70%的空间 11 | - 运用3-4种不同字号创造层次感,关键词使用最大字号 12 | - 主标题字号需要比副标题和介绍大三倍以上 13 | - 主标题提取2-3个关键词,使用特殊处理(如描边、高亮、不同颜色) 14 | **技术实现** 15 | - 使用现代CSS技术(如flex/grid布局、变量、渐变) 16 | - 确保代码简洁高效,无冗余元素 17 | - 添加一个不影响设计的保存按钮 18 | - 使用html2canvas实现一键保存为图片功能 19 | - 保存的图片应只包含封面设计,不含界面元素 20 | - 使用Google Fonts或其他CDN加载适合的现代字体 21 | - 可引用在线图标资源(如Font Awesome) 22 | **专业排版技巧** 23 | - 运用设计师常用的"反白空间"技巧创造焦点 24 | - 文字与装饰元素间保持和谐的比例关系 25 | - 确保视觉流向清晰,引导读者目光移动 26 | - 使用微妙的阴影或光效增加层次感 27 | ## 风格要求: 28 | ## 用户输入内容 29 | - 封面文案:[Andrej Karpathy 分享了他是如何只用一个文件做笔记的 非项目的日常笔记他只用一个苹果备忘录文件,这样非常方便在单个文件搜索内容 有任何想法或待办事项出现时,都会简单地以纯文本形式将它添加到笔记的顶部 只使用使用"watch:"(观看)、"listen:"(聆听)或"read:"(阅读)等标签 回顾的时候会不时向下滚动浏览笔记。如果发现任何值得持续关注的内容,会通过简单复制粘贴将其"救回"顶部。 值得记录的问题或者内容确实没有多少,这样很简单,项目类型的记录和文档他还是使用 Obsidian] 30 | - 账号名称:[那个曾经的少年回来了] -------------------------------------------------------------------------------- /docs/ai/2025-03-29-数字极简票券风.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/ai/2025-03-29-数字极简票券风.md -------------------------------------------------------------------------------- /docs/ai/2025-03-29-新构成主义教学风.md: -------------------------------------------------------------------------------- 1 | ## 新构成主义教学风 2 | 3 | ### 设计风格 4 | 5 | - **黑红白三色系统**:以黑白强对比为基调,点缀醒目红色形成视觉冲击力 6 | - **网格化精准排版**:严谨的网格系统控制整体构图,传达专业设计感 7 | - **学术实验美学**:融合学术研究与实验性设计的双重特质 8 | - **日式现代主义**:汲取日本设计美学,注重留白与紧凑并存的张力 9 | - **教学图解风格**:设计元素同时承载教育功能,如轴线系统的可视化呈现 10 | - **多层次信息构建**:通过色块、线条和排版创造清晰的视觉层次 11 | - **设计史反思性**:将历史元素与当代设计语言结合,形成对话关系 12 | 13 | ### 文字排版风格 14 | 15 | - **中英双语对照**:专业设计术语同时以中英文呈现,增强学术性 16 | - **极端对比字阶**:超大号标题与小号解释文字形成强烈视觉节奏 17 | - **多向文字排布**:结合横排、竖排和径向排列的文字方向实验 18 | - **标点符号设计化**:将问号、括号等符号放大或突出作为视觉元素 19 | - **注释系统完备**:学术化的引用、说明和注解系统,增强专业可信度 20 | - **数字图形化处理**:"100"等数字被设计为具有视觉冲击力的图形元素 21 | - **专业术语突显**:关键设计概念通过排版手段强调,如"一根轴"、"构图"等 22 | 23 | ### 视觉元素风格 24 | 25 | - **红线贯穿引导**:红色线条作为视觉引导和强调,贯穿整体设计 26 | - **几何形符号系统**:三角形、圆点等几何符号作为辅助设计语言 27 | - **教学指示标记**:箭头、下划线等元素具有明确的指向性和教育性 28 | - **区块分明信息区**:内容被清晰划分为不同信息区块,层次分明 29 | - **历史与现代并置**:传统元素与现代设计手法并置,形成时间跨度的视觉对话 30 | - **签名式认证标记**:作者标识、成为设计的权威来源认证 31 | - **微妙纹理变化**:背景中若隐若现的纹理增添设计深度,避免平面化 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-新潮工业反叛风.md: -------------------------------------------------------------------------------- 1 | ## 新潮工业反叛风 2 | 3 | ### 设计风格 4 | 5 | - **黑底强对比美学**:纯黑背景配以白色和荧光黄色元素,形成极强视觉冲击力 6 | - **地下文化气质**:类似独立音乐海报或前卫艺术展的反主流美学 7 | - **工业印刷风格**:模拟工业标识和手册的粗犷实用主义 8 | - **后现代解构主义**:打破传统设计规则,强调不规则性与碎片化 9 | - **都市青年反叛感**:通过设计表达对传统职场文化的质疑和调侃 10 | - **数字朋克气息**:融合数字时代的视觉元素与朋克文化的反抗精神 11 | - **实验性排版探索**:把排版本身作为设计表达的主要手段 12 | 13 | ### 文字排版风格 14 | 15 | - **巨型中文标题**:超大号汉字形成强烈的视觉重心 16 | - **轮廓线英文**:英文采用线条勾勒的空心字体,增强现代感 17 | - **多向阅读结构**:文字横向、纵向、分散排列,打破常规阅读习惯 18 | - **拆分重组文本**:将词语拆解并重新组合排版,如"打|工|摸|鱼|指|南" 19 | - **重复性文本背景**:将口号反复呈现作为背景填充 20 | - **极端字号对比**:从超大到极小的文字尺寸变化,创造丰富层次 21 | - **悬浮式文字布局**:各文本块看似随意又有序地悬浮在画面中 22 | 23 | ### 视觉元素风格 24 | 25 | - **线条鱼图形符号**:简笔画风格的鱼作为核心视觉标识和概念象征 26 | - **星号装饰点缀**:使用"*"符号作为点缀元素,增添活力 27 | - **几何框架结构**:L形、方块、椭圆等简单几何形状构建画面架构 28 | - **日期数字化处理**:"07.05-08.20"等数字信息以现代技术感的方式呈现 29 | - **标语口号突显**:"人生是旷野,家里没矿就不敢野"作为文化态度象征 30 | - **荧光高亮区域**:使用荧光黄突出关键内容,如"打工人"标识 31 | - **重复元素韵律**:通过元素重复创造视觉节奏和连续性 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-极简格栅主义封面风格.md: -------------------------------------------------------------------------------- 1 | ## 极简格栅主义封面风格 2 | 3 | ### 设计风格 4 | 5 | - **黑白极简风格**:以纯黑背景和纯白内容区形成鲜明对比 6 | - **强烈的几何感**:使用简洁的线条、方框和圆形等基础几何元素 7 | - **网格系统布局**:遵循严格的网格排版规则,结构清晰有序 8 | - **留白有度**:大量留白创造呼吸感,同时保持视觉重心 9 | - **摄影与排版结合**:真实场景照片与极简排版形成互补 10 | - **工业风格装饰**:细线箭头、指示线条等元素增添设计感 11 | - **微妙的色彩点缀**:小面积绿色等强调色打破黑白单调 12 | 13 | ### 文字排版风格 14 | 15 | - **大胆字号对比**:核心标题极大化处理,形成主视觉 16 | - **几何式分割标题**:将主标题分解成独立区块,增强辨识度 17 | - **纵横组合排版**:文字既有横排也有竖排,创造韵律感 18 | - **字体粗细对比强烈**:主标题采用超黑体,副文本则较为轻盈 19 | - **多层级信息排列**:活动名称、日期、宣传语清晰分级 20 | - **严格的文字对齐**:所有文字元素依循严格的网格对齐原则 21 | - **中英文混排**:英文作为装饰性元素增添国际设计感 22 | 23 | ### 视觉元素风格 24 | 25 | - **裁切的摄影图像**:图片经过精心裁切,凸显主题 26 | - **指示性线条**:箭头、曲线和直线作为引导性视觉元素 27 | - **框架式强调**:使用方框、底色块等元素强调关键信息 28 | - **简洁图形符号**:最小化的视觉符号传达核心信息 29 | - **构图对称与不对称并存**:整体结构有序但细节处理不拘一格 30 | - **空间层次感**:通过元素大小、位置创造前后层次关系 31 | - **数字图形化处理**:日期数字被赋予视觉设计感 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-柔和科技卡片风.md: -------------------------------------------------------------------------------- 1 | 2 | ## 柔和科技卡片风 3 | 4 | ### 设计风格 5 | 6 | - **圆角卡片布局**:使用大圆角白色或彩色卡片作为信息容器,创造友好亲和感 7 | - **轻柔色彩系统**:主要采用淡紫、浅黄、粉色、米色等柔和色调,避免强烈视觉刺激 8 | - **极简留白设计**:大量留白空间增强可读性,减少视觉疲劳 9 | - **阴影微立体**:subtle阴影效果赋予界面轻微的立体感,不过分强调 10 | - **功能美学主义**:设计服务于功能,没有多余装饰元素 11 | - **网格化布局**:基于明确的网格系统排列卡片,保持整体秩序感 12 | - **渐变色点缀**:部分界面使用柔和渐变作为背景,如米色到蓝色的过渡,增加现代感 13 | 14 | ### 文字排版风格 15 | 16 | - **数据突显处理**:关键数字信息使用超大字号和加粗处理,如"12,002"、"20x" 17 | - **层级分明排版**:标题、说明文字、数据、注释等使用明确的字号层级区分 18 | - **简约无衬线字体**:全部采用现代简洁的无衬线字体,提升可读性 19 | - **文字对齐规整**:在卡片内保持统一的左对齐或居中对齐方式 20 | - **重点色彩标识**:使用蓝色等高对比度颜色标记重要术语,如"tweets"和"threads" 21 | - **空间呼吸感**:文字块之间保持充足间距,创造"呼吸"空间 22 | - **品牌名称特殊处理**:产品名称如"alohi"、"deel."采用特殊字体或风格,强化品牌识别 23 | 24 | ### 视觉元素风格 25 | 26 | - **微妙图标系统**:使用简约线性或填充图标,大小适中不喧宾夺主 27 | - **进度可视化**:使用环形或条状图表直观展示进度,如年度完成百分比 28 | - **色彩编码信息**:不同卡片使用不同色彩,便于快速区分功能模块 29 | - **品牌标识整合**:将产品logo自然融入界面,如"alohi"的圆形标识 30 | - **人物头像元素**:适当使用圆形头像增加人性化特质,如客户推荐卡片 31 | - **几何形状装饰**:使用简单几何形状作为背景装饰,如半透明圆形 32 | - **组件一致性**:按钮、标签、选项卡等元素保持统一风格,提升系统感 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-流动科技蓝风格.md: -------------------------------------------------------------------------------- 1 | ## 流动科技蓝风格 2 | 3 | ### 设计风格 4 | 5 | - 现代简约科技风,以蓝色系为主体色调 6 | - 大量使用蓝白渐变,营造轻盈通透感 7 | - 背景多采用极简白底或浅色调 8 | - 运用流线型曲线创造动态视觉效果 9 | - 圆角矩形作为基础框架,增加友好感 10 | - 整体布局干净有序,空间感强 11 | - 光影效果柔和,营造科技感与未来感 12 | 13 | ### 文字排版风格 14 | 15 | - 标题简洁有力,通常使用黑体或无衬线字体 16 | - 显著的标题层级对比,主副标题大小分明 17 | - 中英文混排,增加国际化视觉效果 18 | - 关键信息放大处理,辅助文字精简 19 | - 日期、标签等信息排版整齐规范 20 | - 文字与背景形成适当对比,确保清晰可读 21 | - 数字与文本搭配得当,注重整体平衡 22 | 23 | ### 视觉元素风格 24 | 25 | - 流动曲线是主要装饰元素,表现科技流动感 26 | - 半透明蓝色波纹或螺旋形状贯穿多个设计 27 | - 几何抽象形状作为点缀(圆环、三角形等) 28 | - 轻量级图标和按钮设计,简洁明了 29 | - 折纸元素(如纸飞机)象征传递与连接 30 | - 光效处理柔和,形成层次感 31 | - 整体视觉元素与科技、数据、信息等主题高度契合 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-现代商务资讯卡片风.md: -------------------------------------------------------------------------------- 1 | ## 现代商务资讯卡片风 2 | 3 | ### 设计风格 4 | 5 | - **色彩情绪编码**:使用深绿与深红色调分别象征金融稳健与企业活力 6 | - **主题色块构成**:整体采用大面积单一色调作为背景,营造专业稳重氛围 7 | - **卡片式设计**:内容以圆角卡片形式呈现,现代简约且边界感明确 8 | - **商务应用美学**:符合金融科技类应用的视觉设计规范与审美 9 | - **微妙渐变处理**:背景色采用细腻渐变效果,增强层次感 10 | - **网格底纹肌理**:融入轻微网格线与点阵纹理,提升科技感与专业度 11 | - **功能导向设计**:布局与元素安排以提升信息获取效率为首要目标 12 | 13 | ### 文字排版风格 14 | 15 | - **三级信息层级**:通过明确的字号和粗细区分头条标签、主标题和辅助信息 16 | - **大标题强调**:主要新闻标题占据视觉中心,字号最大且加粗 17 | - **左对齐规整排版**:所有文字元素保持左对齐,结构严谨有序 18 | - **无衬线字体选用**:采用现代商务风格的无衬线字体,提高可读性和专业感 19 | - **标题分行处理**:长标题采用多行排版,每行字数适中,便于快速阅读 20 | - **日期位置固定**:日期信息位置统一,作为时效性标识 21 | - **留白节奏控制**:文字块之间保持适当留白,创造舒适阅读节奏 22 | 23 | ### 视觉元素风格 24 | 25 | - **指向性图标**:右上角箭头图标暗示可点击进入详情的交互性质 26 | - **点阵背景纹理**:背景中的微妙点阵增加设计深度,避免平面单调 27 | - **进度指示条**:底部的分段线条作为浏览进度或内容分区指示 28 | - **主题色彩区隔**:不同新闻主题采用不同色调区分(金融绿色/科技红色) 29 | - **高对比度文字**:浅色文字在深色背景上形成强烈对比,确保可读性 30 | - **内容统一格式**:"Today's News"标签在相同位置出现,建立品牌一致性 31 | - **简洁无干扰界面**:排除多余装饰元素,聚焦于核心信息传递 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-软萌知识卡片风.md: -------------------------------------------------------------------------------- 1 | # 软萌知识卡片风 2 | 3 | ## 设计风格 4 | 5 | - **柔和色彩基调**:以粉色、米黄、淡紫等温和色调为主,营造轻松友好氛围 6 | - **圆角卡片结构**:所有内容采用大圆角矩形或椭圆形容器,没有尖锐边角 7 | - **简约留白处理**:适当留白增强可读性,避免视觉拥挤感 8 | - **渐变色背景**:部分卡片使用柔和渐变背景,增加层次感和温暖感 9 | - **情感化设计**:整体风格偏向亲和、轻松,不过分严肃正式 10 | - **统一视觉语言**:各卡片尽管内容不同,但维持一致的设计语言 11 | - **轻量化边框**:红色封面使用笔记本线条等轻量级边框元素增加趣味性 12 | 13 | ## 文字排版风格 14 | 15 | - **大字号标题**:标题文字加粗加大,吸引第一眼注意 16 | - **紧凑段落布局**:正文内容分段清晰,段落间距适中 17 | - **感叹号点缀**:频繁使用感叹号增强情感表达和亲近感 18 | - **表情符号融入**:在文字中加入"」"等特殊符号增加表现力 19 | - **重点句加粗**:关键信息或总结性内容加粗处理 20 | - **自然语言表达**:采用口语化、对话式的表达方式,降低阅读门槛 21 | - **多层级排版**:标题、副标题、正文、强调语等形成清晰的阅读层级 22 | 23 | ## 视觉元素风格 24 | 25 | - **Q版表情角色**:底部配置可爱的emoji表情或形象,增加亲和力 26 | - **表情丰富多样**:使用惊讶、思考、无奈等多种表情,与文本内容情感呼应 27 | - **场景化呈现**:如电脑前工作的人物、阅读书本的角色等场景化表达 28 | - **实物图融合**:如猫咪真实照片与卡通风格的结合 29 | - **点缀型装饰**:适量使用小装饰元素,如笔记本边缘的圆点标记 30 | - **形象位置统一**:视觉元素多位于卡片底部,形成稳定的视觉期待 31 | - **拟人化处理**:将抽象概念通过卡通形象拟人化,增强理解和记忆 -------------------------------------------------------------------------------- /docs/ai/2025-03-29-阅读总结.md: -------------------------------------------------------------------------------- 1 | Role:我希望你扮演一位深度阅读教练。我刚读完一篇文章,需要你帮我加深理解和记忆。 2 | 3 | Task: 4 | 1. 生成文章的概念图谱,包括: 5 | - 核心论点和关键概念 6 | - 概念之间的层级关系和联系 7 | - 以视觉化方式呈现(如思维导图格式) 8 | 9 | 2. 提出3个核心问题让我回答,问题要求: 10 | - 聚焦文章的主要论点和关键概念 11 | - 促使我深入思考文章的核心信息 12 | - 引导我将文章内容与实际应用联系起来 13 | - 包含难度递增的问题,从基础理解到批判性思考 14 | 15 | 3. 设计2个应用场景练习: 16 | - 基于文章内容,创建实际应用或问题解决的场景 17 | - 要求我运用文章的核心概念提出解决方案 18 | 19 | 4. 基于文章内容,设计5道选择题,每题4个选项: 20 | - 覆盖文章的不同方面 21 | - 包含一些需要推理或综合理解的问题 22 | - 选项设计要有辨别度,避免过于明显的错误选项 23 | 24 | 5. 提供元认知反思问题: 25 | - 这篇文章如何改变了我的已有认知? 26 | - 我对文章内容还有哪些疑问或不确定之处? 27 | - 基于这篇文章,我可以在哪些方向继续探索? 28 | 6. 直接输出,不要需要前后置引导语,如果是进行提问的,也顺便把答案给我一下。 29 | 30 | Format: 31 | 32 | # 核心思考 33 | 问题1:**[问题1]** 34 | 35 | #关键词1 #关键词2 #关键词3 36 | 37 | > [原文引用] 38 | 39 | 问题2:**[问题2]** 40 | 41 | #关键词1 #关键词2 #关键词3 42 | 43 | > [原文引用] 44 | 45 | 问题3:**[问题3]** 46 | 47 | #关键词1 #关键词2 #关键词3 48 | 49 | > [原文引用] 50 | 51 | # 应用与迁移 52 | **场景1:[应用场景描述]** 53 | 54 | 任务:[详细任务要求] 55 | 56 | **场景2:[应用场景描述]** 57 | 58 | 任务:[详细任务要求] 59 | 60 | 61 | # 元认知反思 62 | 1. **认知转变**:[引导性问题] 63 | 2. **未解疑问**:[引导性问题] 64 | 3. **探索方向**:[引导性问题] 65 | 66 | 67 | # 测试回顾 68 | **[选择题1]** 69 | A. [选项内容] 70 | B. [选项内容] 71 | C. [选项内容] 72 | D. [选项内容] 73 | 74 | [其余选择题] 75 | 76 | ## 答案 77 | [答案与解析] 78 | 79 | # 文章概念图谱 80 | [概念图谱内容] 81 | 82 | 文章内容如下: 83 | 这是一篇公众号的文章,文章链接为https://mp.weixin.qq.com/s/k6YnKuad2sxyXgFaXEvJqw。请帮我将原文内容读取出来,不需要进行处理加工,直接返回原文即可。 -------------------------------------------------------------------------------- /docs/ai/2025-03-29.md: -------------------------------------------------------------------------------- 1 | 你是一名专业的微信公众号文章设计师和内容排版专家,精通微信公众号编辑器的所有功能和限制。请根据我提供的内容,创建一个既美观又符合微信公众号技术规范的文章页面。 2 | 3 | 【技术规范与限制】 4 | 5 | * 微信公众号仅支持内联样式,不支持外部CSS文件引用(Font Awesome除外) 6 | 7 | * 所有样式必须通过style属性直接添加到HTML元素上 8 | 9 | * 微信公众号会自动移除某些HTML标签和属性,如script、onclick等 10 | 11 | * 图片宽度应设为100%以适配不同手机屏幕 12 | 13 | * 支持的字体有限,主要依赖系统默认字体 14 | 15 | * 支持的CSS属性有限,不支持复杂的CSS3特性 16 | 17 | 【设计元素】 18 | 19 | * 段落间距:使用margin-bottom:1em控制段落间距 20 | 21 | * 标题样式:使用color、font-weight、font-size、text-align等属性设置样式 22 | 23 | * 文本对齐:使用text-align控制对齐方式 24 | 25 | * 分隔线:使用hr标签配合style属性创建自定义分隔线,高度限制在8-10px之间,避免过厚分隔线 26 | 27 | * 引用框:使用border-left和padding创建引用效果 28 | 29 | * 列表样式:使用ul和ol标签配合自定义样式属性 30 | 31 | * 表格样式:使用简单的border和background设置 32 | 33 | * 强调框:使用background-color和border-radius创建醒目的内容框 34 | 35 | 【排版最佳实践】 36 | 37 | * 标题层级清晰:主标题(22px)、副标题(20px)、小标题(18px) 38 | 39 | * 正文字号:16px,行高1.75倍左右 40 | 41 | * 强调色谨慎使用:每篇文章最多使用1-2种强调色 42 | 43 | * 留白合理:段落间距、标题前后间距保持一致 44 | 45 | * 内容分块:每3-4个段落设置一个小标题,便于阅读 46 | 47 | * 图文混排:图片上下增加适当间距(margin),避免拥挤感 48 | 49 | * 首屏设计:确保首屏内容吸引人,不超过一屏的内容 50 | 51 | 【常用颜色代码】 52 | 53 | * 主标题:#333333 54 | 55 | * 副标题:#444444 56 | 57 | * 正文:#182b50 58 | 59 | * 辅助文字:#888888 60 | 61 | * 分隔线:#eeeeee 62 | 63 | * 引用边框:#efefef 64 | 65 | * 强调色推荐:#5c8dff(蓝)、#07c160(绿)、#fa5151(红)、#ff9d21(橙) 66 | 67 | 请直接输出完整的、可直接复制到微信公众号编辑器的HTML代码,所有样式均使用内联方式。不要包含任何解释或说明,只提供最终代码。代码要考虑微信iOS和Android客户端的兼容性,避免使用不支持的CSS特性。 68 | 69 | 以下是需要排版的文章内容: -------------------------------------------------------------------------------- /docs/ai/2025-04-01-文章改写.md: -------------------------------------------------------------------------------- 1 | https://zhuanlan.zhihu.com/p/676297213 -------------------------------------------------------------------------------- /docs/ai/index.md: -------------------------------------------------------------------------------- 1 | ## 微信公众号热门文章 2 | - https://rewen.org/hit 3 | 4 | 5 | ## 微信朱雀AI查重 6 | - https://matrix.tencent.com/ai-detect/ -------------------------------------------------------------------------------- /docs/article/code/2022-05-10-vscode.md: -------------------------------------------------------------------------------- 1 | 2 | --https://juejin.cn/post/6997186741866070023#heading-19 3 | ##vscode 常用插件 4 | - 0、韭菜盒子————偶尔看看股票基金,不用浪费时间捯饬来捯饬去 5 | - 1、Chinese (Simplified) Language Pack for Visual Studio Code 6 | - 2、html 自动闭合标签 ———— Auto Close Tag 7 | - 2、自动重命名成对的html ———— Auto Rename Tag 8 | - 3、方便查看 git 日志,git 重度使用者必备———— GitLens 9 | - 4、查看文件变更历史,或者文件行变更历史 ————Git History 10 | - 4、代码高亮 ————Vetur 11 | - 5、主题 ————Shades of Purple、、Cyberpunk UMBRA 12 | - 6、自动格式化代码 ———— prettier 13 | - 7、左侧文件图标主题 ————material icon theme 14 | - 8、方便记录 TODO 记录(如 bug、注释、变更、待修复等问题、重点备注等)————TODO 15 | - 9、Volar Vue3 插件 16 | - 10、npm Intellisense npm模块导入智能提示 17 | - 11、Path Intellisense 路径提示 18 | - 12、Import Cost 查看import依赖的大小 19 | - 13、Html Snippets此插件能快速的输出html代码, 效率就是懒出来的,你们说对吧。 20 | - 14、Quokka.js 直接显示变量结果 21 | - 15、Tabnine AI 代码完成插件 22 | - 16、Markdown Preview Enhanced markdown编辑和预览 23 | - 17、JSON to TS json转为TS申明 24 | - 18、拼写检查 Code Spell Checker 拼写检查 25 | - 19、Bracket Pair Colorizer 2 括号对齐利器 26 | - 20、Turbo Console Log 快速日志 27 | 28 | 29 | 快捷键 30 | 先在一个文件中用光标选中要修改的字符串,然后CTRL + SHIFT +L 就可以批量修改了 -------------------------------------------------------------------------------- /docs/article/code/2022-05-24-react.md: -------------------------------------------------------------------------------- 1 | - react(https://react.docschina.org/) 2 | 3 | - umi--路由配置(https://umijs.org/) 4 | - dva--数据流方案(https://dvajs.com/guide/) 5 | 6 | - Umi和Dva都是基于React的框架,Umi主要以路由为主,Dva主要管理数据流。 7 | 8 | - Antd pro(https://pro.ant.design/docs/getting-started-cn)集成了umi、dva、antd的完整前端脚手架 -------------------------------------------------------------------------------- /docs/article/code/2022-05-25-build-optimize.md: -------------------------------------------------------------------------------- 1 | - 1、 查看打包后每个loader和plugin消耗时间 speed-measure-webpack-plugin 2 | ```javascript 3 | const SpeedMeasurePlugin = require("speed-measure-webpack-plugin"); 4 | chainWebpack: config => { 5 | config 6 | .plugin('speed-measure-webpack-plugin') 7 | .use(SpeedMeasurePlugin) 8 | .end() 9 | }, 10 | ``` 11 | - 2、 查看插件的大小体积 webpack-bundle-analyzer 12 | ```javascript 13 | npm install --save-dev webpack-bundle-analyzer 14 | ``` 15 | - 3、"report": "vue-cli-service build --report", 16 | ```javascript 17 | 在build目录下有一个report.html文件查看包的大小 18 | ``` 19 | - 4、压缩js代码 terser-webpack-plugin 20 | ```javascript 21 | 1、移除空行、空格 22 | 2、变量重设 变短 23 | 3、移除console等 24 | ``` 25 | - 5、 tree sharking import只引入有效的代码 26 | 27 | - 6、cssnano css打包 28 | 29 | - 7、使用loader可以设置 缩小查找文件范围,比如不包含 node-modules文件夹 30 | 31 | 32 | -------------------------------------------------------------------------------- /docs/article/code/2022-05-26-nodejs.md: -------------------------------------------------------------------------------- 1 | - 1、node-schedule 定时执行任务 2 | - 2、koa https://juejin.cn/post/7016589175335944228 3 | - 3、koa-router 路由 4 | - 4、redis ioredis 5 | - 5、mongoose mongodb数据库 6 | - 6、https://juejin.cn/post/6844903685164646413 -------------------------------------------------------------------------------- /docs/article/code/2022-05-28-mysql.md: -------------------------------------------------------------------------------- 1 | 2 | ### linux centos mysql 安装和使用 3 | - https://cloud.tencent.com/developer/article/1393323 4 | - https://www.cnblogs.com/yuanchao-blog/p/10679156.html 5 | - https://cloud.tencent.com/developer/article/1145484?from=14588 6 | 7 | ### window java idea搭建 8 | - 30天后评估 https://www.exception.site/essay/idea-reset-eval 9 | - java demo项目 https://www.exception.site/article/28 10 | - 配置java环境变量 https://www.cnblogs.com/nojacky/p/9497724.html 11 | ### maven 包管理器 12 | - 下载地址 http://maven.apache.org/download.cgi 13 | - https://www.runoob.com/maven/maven-setup.html 安装配置 14 | - 配置好maven可能需要重启电脑才能再idea中使用mvn -v 15 | ### nginx 部署springboot java项目 16 | - 部署 https://blog.csdn.net/weixin_31992389/article/details/114082476 17 | - linux下下载java和配置环境变量 https://blog.csdn.net/sizaif/article/details/106106955 18 | - 开启 nohup java -jar demo-0.0.1.jar > log.log 2>&1 & 19 | - chmod +x /usr/share/nginx/html/java/startup.sh 20 | - chmod +x /usr/local/project/startup.sh 21 | - su - root -c '/usr/share/nginx/html/java/java.sh' 22 | - 设置 java开启运行启动命令 https://www.jianshu.com/p/3f62252c9042 23 | - https://www.cnblogs.com/miles322/p/13755212.html 24 | 25 | - nohup 可执行程序的配置使用 https://blog.csdn.net/qq_40241957/article/details/98584207 26 | - log4j记录日志使用 https://blog.csdn.net/weixin_35696071/article/details/114343607 27 | 28 | ### mysql 常用基本操作 29 | - mysql中 information_schema数据库的作用 https://blog.csdn.net/xianjie0318/article/details/80857568 30 | - TABLES 关于数据库中表的信息 select * from `TABLES` where TABLE_SCHEMA='aehyok' 31 | - COLUMNS 关于数据库中的表的字段信息 select * from `COLUMNS` where TABLE_NAME='user' 32 | 33 | 34 | ## 1、 -------------------------------------------------------------------------------- /docs/article/code/2022-05-29-leaflet.md: -------------------------------------------------------------------------------- 1 | # leaflet使用记录 2 | 3 | ### 1、安装 4 | 5 | 6 | ### 地图底图的加载地址 7 | - http://www.thingjs.com/guide/cn/tutorial_city_builder/Data_description/Geographical_map.html 8 | 9 | - https://blog.csdn.net/weixin_39887531/article/details/113566719 10 | 11 | - https://lantian.pub/article/modify-website/leaflet-combine-google-cn-satellite-autonavi-map.lantian/ 12 | 13 | - https://www.mapbox.cn/tutorials/gljs/#%E5%9B%BE%E5%B1%82%EF%BC%88layers%EF%BC%89 14 | 15 | - https://www.giserdqy.com/secdev/leaflet/26297/ 围栏算法 16 | 17 | - https://www.jianshu.com/p/cf81e2a014bf 18 | 19 | - http://0x0803.top/2018/05/27/gis-leaflet-tutorials-map-layer/ 20 | 21 | - https://github.com/8600/leaflet-map 22 | 23 | 24 | - 1、leaflet pm create和edit 25 | - https://stackoverflow.com/questions/53133543/leaflet-pm-edit-mode-get-new-coordinates-within-shape 26 | - https://vue2-leaflet.netlify.app/components/LWMSTileLayer.html#demo 27 | - https://leafletjs.com/reference-1.7.1.html#tilelayer-option 28 | 29 | 30 | - 2、leaflet maxZoom设置 31 | - 如果设置了map的maxZoom为20,那么其他图层设置的再大,比如到了22也不会有效果 32 | - 如果将map的maxZoom值设置未最大,那么其他图层到达某个值之后可能会展示空白 33 | - 到达了村,如果这个村已经有了无人机的正射图像,以及有了村委的打点坐标,那么可以单独只显示一个村的地图边界,同样的镇也是可以处理的 34 | - https://blog.csdn.net/QiZi_Zpl/article/details/109843528 35 | - 3、 中国各行政区域JSON围栏数据 36 | - https://github.com/Vonng/adcode 37 | - 高德围栏 https://lbs.amap.com/api/webservice/guide/api/geofence_service/ 38 | 39 | -------------------------------------------------------------------------------- /docs/article/code/2022-06-02-echarts.md: -------------------------------------------------------------------------------- 1 | - options配置属性 2 | - https://wenku.baidu.com/view/5a3adab1de88d0d233d4b14e852458fb770b38a6.html 3 | - https://www.cnblogs.com/nthforsth/p/15253115.html#%E4%BA%8Clegend--%E5%9B%BE%E4%BE%8B%E7%BB%84%E4%BB%B6 4 | - 1、title--标题 5 | - 2、legend--图例组件 6 | - 3、tooltip--提示框组件 7 | - 4、grid--可用于调整图例在整个容器中的占位 8 | - 5、xAxis--x 轴 9 | - 6、yAxis-y 轴 10 | - 7、series-line--折线/面积图 11 | - 8、series-bar--柱状图 12 | - 9、series-pie--饼图 13 | - 10、 color: 图颜色 14 | - 11、background-color: echarts全图默认背景 15 | - https://www.cnblogs.com/nthforsth/p/15256258.htm -------------------------------------------------------------------------------- /docs/article/code/2022-06-03-ast.md: -------------------------------------------------------------------------------- 1 | https://juejin.cn/post/6844903798347939853#comment 2 | 3 | https://mp.weixin.qq.com/s/THBP8sLQf_kTBIPTxAkodQ 4 | 5 | 6 | 7 | 代码混淆 8 | https://juejin.cn/post/6844903861958737927#heading-3 9 | 10 | 11 | https://segmentfault.com/a/1190000016231512 12 | 13 | 14 | 15 | - 一个小的demo 16 | https://juejin.cn/post/7025887569124524040 17 | 18 | 19 | https://juejin.cn/post/6844904019505184776#heading-11 20 | 21 | ## AST可以用来干什么 22 | - VSCode中 eslint的代码风格检查 23 | - TypeScript转换为JavaScript代码 24 | -------------------------------------------------------------------------------- /docs/article/code/2022-06-04-pnpm.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | vue3官方版本 vuejs/core都采用pnpm了,你还犹豫什么呢 4 | ================================ 5 | 6 | 大部分时间基本上都是使用yarn,有些时候使用了cnpm,然后较早之前也使用过npm。 pnpm 本质上就是一个包管理器,这一点跟 npm/yarn 没有区别,但它作为杀手锏的两个优势[https://github.com/pnpm/pnpm] https://github.com/pnpm/pnpm已经将其充分的展现出来了: 7 | - 包安装速度极快; 8 | - 磁盘空间利用非常高效。 9 | 用yarn或者npm可能要十几分钟才能安装完成的依赖,pnpm不超过一分钟就结束了,真的是太快了,我都有一点不可思议了。 10 | 11 | - https://cloud.tencent.com/developer/article/1927549 12 | - https://juejin.cn/post/6932046455733485575 13 | - https://mp.weixin.qq.com/s/FWv7HJt8QqoLzzqa6q54qQ 14 | - https://juejin.cn/post/6944877410827370504 15 | -------------------------------------------------------------------------------- /docs/article/code/2022-06-05-router.md: -------------------------------------------------------------------------------- 1 | 2 | - 1、popstate https://developer.mozilla.org/zh-CN/docs/Web/API/Window/popstate_event 3 | - 2、qiankun vue 主应用和子应用 https://github.com/umijs/qiankun/issues/1750 4 | - 3、https://github.com/leiyangs/qiankun-demo/pull/1/commits/c77fcc85a89b5ad4c6e19df3f60e3c73ce2f281e 5 | - 4、https://www.lodashjs.com/docs/lodash.assign#_assignobject-sources 6 | -------------------------------------------------------------------------------- /docs/article/code/2022-06-06-code.md: -------------------------------------------------------------------------------- 1 | 2 | - eventemitter3 3 | - 观察模式 发布 订阅 https://www.cnblogs.com/wuyz-harder/p/15597330.html 4 | - 观察者模式和发布订阅模式的区别 https://juejin.cn/post/7055441354054172709 5 | - 观察者模式 6 | - vue3 双向数据绑定 7 | 8 | 9 | - babel 编译相关 10 | - https://juejin.cn/post/6844904035271573511#comment 11 | - @babel/parser 将js代码------>>> AST抽象语法树 12 | - @babel/traverse对AST节点进行递归遍历 13 | - @babel/types 对具体的AST节点进行修改 14 | - @babel/generator AST抽象语法树----->>>生成新的js代码 15 | - htmlparser2 转换 16 | - https://github.com/fb55/htmlparser2 17 | - https://github.com/fb55/htmlparser2/wiki/Parser-options 18 | 19 | - 生成id 20 | - https://juejin.cn/post/7039960318897815565#comment 21 | 22 | - bundle-core-esm.js 生成代码 23 | - vueTemplate() // 默认文 24 | 25 | - codemirror 26 | - react https://juejin.cn/post/6844904086443720717 27 | - vue3 codemirror-editor-vue3 28 | - eval+ new Function 29 | - demo3 + demo4 30 | 31 | ```javascript 32 | eval(`console.log('hello code')`) 33 | 34 | let c = 10 35 | eval(`console.log(`${c}`) -------------------------------------------------------------------------------- /docs/article/code/2022-08-11-pnpm.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2022-08-11-pnpm.md -------------------------------------------------------------------------------- /docs/article/code/2022-08-16-commitizen.md: -------------------------------------------------------------------------------- 1 | pnpm i commitizen 2 | -------------------------------------------------------------------------------- /docs/article/code/2022-08-20-apifox.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2022-08-20-apifox.md -------------------------------------------------------------------------------- /docs/article/code/2022-08-24-vim.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | - https://juejin.cn/post/6844903721550217229 4 | 5 | - https://juejin.cn/post/6844903665161994248 6 | 7 | - https://juejin.cn/post/7124892604881174541 8 | 9 | ## 前言 10 | 11 | vim就是一款文本编辑器,跟window下的notepad类似,只不过 12 | 13 | 14 | ## 打开某个文件 15 | ```javascript 16 | vim /etc/nginx/nginx.conf 17 | ``` 18 | 19 | 如果想让文件显示行号,下面两个命令都可以 20 | ``` 21 | :set number 22 | :set nu 23 | ``` 24 | 25 | ## 修改vim配置 26 | 27 | 这里先只知道配置文件修改的地方 28 | 29 | ``` 30 | vim ~/.viminfo 31 | ``` 32 | 33 | 34 | -------------------------------------------------------------------------------- /docs/article/code/2022-08-25-hub docker.md: -------------------------------------------------------------------------------- 1 | 2 | - https://developer.aliyun.com/mirror/ 3 | - 4 | - https://juejin.cn/post/7132447294330241061 5 | 6 | ## 注册一个hub.docker 7 | https://hub.docker.com 8 | 9 | 10 | ## create a repository 11 | 12 | 将其设置为私有属性 13 | 14 | 15 | 16 | ## 在linux进行登录 17 | 18 | docker login 19 | 输入用户名和密码 20 | 21 | 22 | 23 | docker info -------------------------------------------------------------------------------- /docs/article/code/2022-08-25-wujie.md: -------------------------------------------------------------------------------- 1 | ## 创建项目 2 | 创建一个主应用和两个子应用 3 | ``` 4 | pnpm create vite 5 | ``` 6 | 通过vite创建一个vue3项目,然后拷贝三份。目录如下所示: 7 | 8 | 9 | ![image.png](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/764aa7bd38524e2ea9bb475d3dff4e22~tplv-k3u1fbpfcp-watermark.image?) 10 | 11 | 然后分别安装依赖,先修改为三个不同的端口,将三个项目分别能跑起来 12 | ``` 13 | pnpm i 14 | ``` 15 | 16 | 此时分别到三个项目目录下面,pnpm dev三个项目便可以跑起来了。三个项目分别设置三个端口8800,8810,,8820 17 | 18 | 三个项目的根目录下修改vite.config.ts,主要就是为了添加端口 19 | ``` 20 | export default defineConfig({ 21 | plugins: [vue()], 22 | server: { 23 | port: 8800 24 | } 25 | }) 26 | ``` 27 | 28 | ## 主应用 wujie-main 29 | 30 | ``` 31 | pnpm i wujie-vue3 -D 32 | ``` -------------------------------------------------------------------------------- /docs/article/code/2022-08-26-vue3原理.md: -------------------------------------------------------------------------------- 1 | # vue3执行原理流程 2 | 3 | ## 1.初始化流程 4 | 5 | 创建app进行初始化根据根节点生成vnode,调用render进行组件patch阶段 6 | 7 | ## 2.组件初始化 8 | 9 | ==在组件进行patch时,根据vnode类型做处理,如果是component类型便做component组件初始化,如果是element类型做element初始化==,下面分两种不同的类型进行讲解初始化过程。 10 | 11 | ### 2.1 `component`组件初始化 12 | 13 | 1.创建组件实例 14 | 15 | 2.初始化`props`、`slot`并调用`setup`函数,将返回值结果添加到组件原型上。 16 | 17 | 3.如果查询到组件实例上没有`render`并且`template`有值,接下来便对`template`进行编译,最后将编译后的函数赋值给组件`render` 18 | 19 | 4.初始化阶段调用`setupRenderEffect`是第一次调用,那么直接调用`render`函数获取子组件,触发`beforeMount`钩子,而后重新进行`patch`,全部`patch`完了之后才会调用`mount`钩子函数 20 | 21 | ### 2.2 `Element`组件初始化 22 | 23 | 1.通过`vnode.type`创建对应真实元素 24 | 25 | 2.对`vnode`类型进行判断如果是文本直接渲染即可;如果是数组进行遍历对每个元素进行`patch` 26 | 27 | 3.将`vnode`的`props`绑定到元素的真实`DOM`上 28 | 29 | 4.触发`beforeMount`钩子 30 | 31 | 5.将创建的元素进行插入 32 | 33 | 6.最后触发`mount`钩子函数 34 | 35 | ## 3.组件更新 36 | 37 | 在组件初始化过程当中,调用`setupRenderEffect`在内部创建组件更新函数,而后使用effect函数将更新函数放到调度函数当中,往后内部对响应式数据进行更新后,都会触发修改函数调用,将每次修改动作放到微任务队列里,待轮到微任务执行的时候,全部执行这样不会导致每次调用update函数带来 38 | 39 | ### 3.1 `component`组件更新 40 | 41 | 1.触发当前组件的执行update后重新执行render函数获取最新vnode 42 | 43 | 2.触发beforeUpdate钩子与onVnodeBeforeUpdate钩子 44 | 45 | 3.将vnode传进patch,照样会进行类型判断(本小节讲解组件更新流程) 46 | 47 | 4.通过检测props判断是否需要更新组件,如果需要重新调用patch(这边是递归patch) 48 | 49 | 5.整个递归patch完成之后执行updated钩子函数 50 | 51 | 52 | 53 | ### 3.2 `Element`组件更新 54 | 55 | 1.触发当前组件的执行update后重新执行render函数获取最新vnode 56 | 57 | 2.触发beforeUpdate钩子与onVnodeBeforeUpdate钩子 58 | 59 | 3.执行patch,进入Element组件更新流程 60 | 61 | 4.对比新旧节点的props,如果不一致则更新dom的props 62 | 63 | 5.对比children,如果新vnode的children与旧vnode的children都是数组类型那么便进行diff算法比对,如果不是进行判断更新即可 64 | 65 | 66 | 67 | 68 | 69 | -------------------------------------------------------------------------------- /docs/article/code/2022-09-01-axios工具函数判断纯对象.md: -------------------------------------------------------------------------------- 1 | 2 | ## 判断是否属于一个纯对象 3 | 4 | ```javascript 5 | const isPlainObject = (val) => { 6 | if (kindOf(val) !== 'object') { 7 | return false; 8 | } 9 | 10 | const prototype = getPrototypeOf(val); 11 | return prototype === null || prototype === Object.prototype; 12 | } 13 | ``` 14 | 15 | 先来看一下两个方法,这是在ES6中新增的方法 16 | ```javascript 17 | Object.getPrototypeOf(xx) // 读取传入参数的原型对象 18 | Object.setPrototypeOf(xx) // 写入传入参数的原型对象 19 | ``` 20 | 这里如果有想对原型和原型链不太熟悉的,可以看一下我前段时间总结的一片文章 :[https://juejin.cn/post/7126061672032108551](https://juejin.cn/post/7126061672032108551)。 21 | 22 | 继续来看一下代码比对 23 | ```javascript 24 | Object.getPrototypeOf({}) === Object.prototype // true 25 | Object.getPrototypeOf(new Object()) === Object.prototype // true 26 | Object.getPrototypeOf(Object.create(null)) // null 27 | Object.getPrototypeOf(Object.create(null)) // null 28 | ``` 29 | 30 | ![image.png](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/6faa9b8200c540d19a49ce1e7bab467d~tplv-k3u1fbpfcp-watermark.image?) 31 | 32 | 33 | 34 | ```javascript 35 | Object.getPrototypeOf(123) === Object.prototype // false 36 | // 上面两个说明 空对象的原型 和数值的原型是不同的 37 | 38 | Object.getPrototypeOf(123) === Number.prototype // true 39 | Object.getPrototypeOf(Number.prototype) === Object.prototype // true 40 | // 重新再来看数值的原型,以及数值的原型的原型,这里便形成了原型链,也就是有了继承的关系 41 | ``` 42 | 43 | ![image.png](https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/5cd0582de67c403bb056a99694418b6f~tplv-k3u1fbpfcp-watermark.image?) 44 | 45 | 46 | 从上面的代码和原型关系图可以简单的看出来,通过 `{ }` 、`new Object()` 创建的对象,原型为Object.prototype,而通过Object.create(null)的原型竟然为null,就更加的纯粹 47 | `Object.create(null)` 创建的对象 48 | -------------------------------------------------------------------------------- /docs/article/code/2022-09-21-history.md: -------------------------------------------------------------------------------- 1 | - window.history.pushState 2 | - history.pushState() 方法向当前浏览器会话的历史堆栈中添加一个状态(state)。 3 | - window.history.replaceState 4 | - 修改当前历史记录实体 5 | - window.history.popstate 6 | - popstate 事件只会在浏览器某些行为下触发,比如点击后退按钮(或者在 JavaScript 中调用 history.back() 方法)。即,在同一文档的两个历史记录条目之间导航会触发该事件。 -------------------------------------------------------------------------------- /docs/article/code/2022-10-09-http缓存.md: -------------------------------------------------------------------------------- 1 | - https://juejin.cn/post/7065895592613904392 2 | - https://juejin.cn/post/6844903734644834318 3 | - https://juejin.cn/post/7050004962155167781 4 | 5 | - 通过ndoejs的fs模块查看文件信息 6 | - https://juejin.cn/post/6955011872298893319 -------------------------------------------------------------------------------- /docs/article/code/2022-10-11-.net6.0.md: -------------------------------------------------------------------------------- 1 | ## IQueryable 2 | - https://www.cnblogs.com/xishuai/p/repository-return-iqueryable-or-ienumerable.html 3 | IQueryable 继承自 IEnumerable,它们俩最大的区别是,IQueryable 是表达式树处理,可以延迟查询,而 IEnumerable 只能查询在本地内存中,Repository 的概念就不多说了,在“伪 DDD”设计中,你可以把它看作是数据访问层。 4 | 5 | 6 | ## AsNoTracking 7 | - https://learn.microsoft.com/zh-cn/dotnet/architecture/modern-web-apps-azure/work-with-data-in-asp-net-core-apps 8 | - AsNoTracking https://learn.microsoft.com/zh-cn/dotnet/api/system.data.entity.dbextensions.asnotracking?view=entity-framework-5.0.0 9 | 10 | EF Core 具有两个重要功能,使其有别于 Dapper ,并且增加其性能开销。 第一个功能是从 LINQ 表达式转换为 SQL。 将缓存这些转换,但即便如此,首次执行它们时仍会产生开销。 11 | 第二个功能是对实体进行更改跟踪(以便生成高效的更新语句)。 12 | 通过使用 AsNoTracking 扩展,可对特定查询关闭此行为。 EF Core 还会生成通常非常高效的 SQL 查询,并且从性能角度上看,任何情况下都能完全接受,但如果需要执行对精确查询的精细化控制,也可使用 EF Core 传入自定义 SQL(或执行存储过程)。 13 | 14 | 15 | 16 | ## 执行原生Sql 17 | - https://www.cnblogs.com/hllive/p/13559793.html 18 | - update delete 等 DbContext.Database.ExecuteSqlRawAsync 19 | 20 | ## 事务异常 21 | - https://mysqlconnector.net/troubleshooting/transaction-usage/ 22 | 23 | ## 各种使用范例 24 | - https://www.cjavapy.com/article/680/ 25 | 26 | ## Excel 电子表格 27 | - https://github.com/nissl-lab/npoi 28 | - https://epplussoftware.com/zh/ 29 | - https://github.com/EPPlusSoftware/EPPlus 30 | 31 | ## 数据库连接池 32 | - https://www.cnblogs.com/xhubobo/p/16163949.html 33 | - https://github.com/dotnetcore/osharp/issues/217 34 | 35 | ## EFCore 读写分离 36 | - https://www.cnblogs.com/coldairarrow/p/12733886.html 37 | ## EFCore分表分库 38 | - https://www.cnblogs.com/xuejiaming/p/15375374.html 39 | - https://www.cnblogs.com/yaopengfei/p/13263597.html 40 | 41 | ## DBContext 各种方式 42 | - https://learn.microsoft.com/zh-cn/ef/core/dbcontext-configuration/ 43 | 44 | 45 | 46 | ## An error occurred while saving the entity changes. See the inner exception for details. 47 | - 字段长度不够 48 | https://blog.csdn.net/weixin_48246845/article/details/126867454 49 | 50 | 51 | ## gRPC 52 | - https://www.cnblogs.com/stulzq/p/11581967.html#!comments 53 | -------------------------------------------------------------------------------- /docs/article/code/2022-10-15-后端.md: -------------------------------------------------------------------------------- 1 | ## 极客shjian 2 | - 后端存储技术 3 | - https://time.geekbang.org/column/intro/100046801?tab=catalog 4 | - 中间件核心技术 5 | - https://time.geekbang.org/column/intro/100114001?tab=catalog 6 | - 消息队列 7 | - https://time.geekbang.org/column/article/109572?cid=100032301 8 | - Redis核心技术实战 9 | - https://time.geekbang.org/column/article/268253?cid=100056701 10 | - 从零开始学微服务 11 | - https://time.geekbang.org/column/intro/100014401?tab=catalog 12 | - 架构课 13 | - https://time.geekbang.org/column/intro/100025201?tab=catalog 14 | - .Net Core 开发实战 15 | - https://time.geekbang.org/course/intro/100044601?tab=catalog 16 | ## mysql 17 | 18 | 19 | ## redis 20 | 21 | ## MQ 22 | 23 | ## ES 24 | 25 | ## 数据量大,分表;并发量大,分库, 26 | -------------------------------------------------------------------------------- /docs/article/code/2022-10-16-mysql.md: -------------------------------------------------------------------------------- 1 | ## linux 登录 2 | ··· 3 | mysql -u root -p 4 | ··· 5 | 再输入密码 6 | 7 | 8 | // 列出所有数据库 9 | 10 | show databases; 11 | 12 | // 选择数据库 13 | use dvsdb30; 14 | 15 | // 查看查询计划 16 | explain select ***; 17 | 18 | ## 读写分离 中间件 19 | - 官网 https://github.com/sysown/proxysql 20 | - 详细配置 https://www.cnblogs.com/keme/p/12290977.html 21 | 22 | 23 | 24 | ## sql优化 25 | - https://www.cnblogs.com/keme/p/9882663.html 26 | 27 | ## mycat读写分离 分库分表 28 | - https://juejin.cn/post/6930430192511156237 29 | 30 | 31 | 32 | ## 索引 33 | - https://juejin.cn/post/7022138503115276324 34 | - unique 唯一索引 不会重复的字段 35 | - normal 普通索引 36 | - fulltext 全文索引 37 | - spatial 空间索引 38 | 39 | - 联合索引 40 | - 使用的时候必须要有第一个字段的查询,否则联合索引会失效 41 | 42 | 43 | 44 | ## 查看数据表所占的空间大小 45 | ``` 46 | // 先切换数据库 47 | use information_schema; 48 | 49 | // 查看数据库db的大小 50 | select concat(round(sum(data_length/1024/1024),2),'MB') as data 51 | from tables where table_schema='dvsdb30'; 52 | 53 | // 查询所有表所占空间大小 54 | SELECT table_schema AS '数据库', table_name AS '表名', table_rows AS '记录数', 55 | TRUNCATE(data_length / 1024 / 1024, 2) AS '数据容量(MB)', 56 | TRUNCATE 57 | (index_length / 1024 / 1024, 2) AS '索引容量(MB)' 58 | FROM 59 | information_schema.tables 60 | WHERE 61 | table_schema = 'dvsdb30' 62 | -- 63 | ORDER BY 64 | data_length DESC, 65 | index_length DESC; 66 | 67 | 68 | // 查询单表所占空间 69 | SELECT table_schema AS '数据库', table_name AS '表名', table_rows AS '记录数', 70 | TRUNCATE(data_length / 1024 / 1024, 2) AS '数据容量(MB)', 71 | TRUNCATE 72 | (index_length / 1024 / 1024, 2) AS '索引容量(MB)' 73 | FROM 74 | information_schema.tables 75 | WHERE 76 | table_schema = 'dvsdb30' 77 | 78 | and table_name ='CollectDataSummary' 79 | ORDER BY 80 | data_length DESC, 81 | index_length DESC; 82 | 83 | 84 | // 查询单表所占空间 85 | select 86 | table_name, 87 | table_rows, 88 | TRUNCATE(data_length/1024/1024,2) as 'data(MB)', 89 | TRUNCATE(index_length/1024/1024,2) as 'index(MB)' 90 | from information_schema.tables 91 | where table_schema = 'dvsdb30' 92 | and table_name = 'CollectDataSummary' 93 | ``` 94 | 95 | - RLink 96 | - http://www.yiidian.com/mysql/mysql-rlike-operator.html 97 | 98 | - 查看mysql事务的级别 99 | ``` 100 | show variables like '%tx_isolation%'; 101 | ``` 102 | 103 | 104 | ## explain 中各个参数的详解说明 105 | - https://juejin.cn/post/7164652941159170078 106 | 107 | 108 | ## mysql中的各种函数 109 | - https://juejin.cn/post/7163148228420960263 110 | 111 | ## union all 112 | - https://juejin.cn/post/6844903737228541965 -------------------------------------------------------------------------------- /docs/article/code/2022-10-28-elasticsearch.md: -------------------------------------------------------------------------------- 1 | - https://www.cnblogs.com/hld123/p/15972227.html 2 | - https://zhuanlan.zhihu.com/p/512758939 3 | - https://www.cnblogs.com/aarond/p/es-1.html -------------------------------------------------------------------------------- /docs/article/code/2022-11-09-marridb.md: -------------------------------------------------------------------------------- 1 | ## mariadb版本列表 2 | - https://mariadb.org/mariadb/all-releases/ 3 | 4 | ## mysql版本列表 5 | - http://mirrors.sohu.com/mysql/ 6 | 7 | ## mariadb和mysql版本对应关系列表 8 | - https://mariadb.com/kb/en/mariadb-vs-mysql-compatibility/ 9 | 10 | 11 | ## systemctl 12 | ``` 13 | cd /etc/systemd/system 14 | ``` 15 | 16 | ## mariadb 安装目录 17 | ``` 18 | whereis mariadb 19 | 20 | /usr/share/mariadb 21 | 22 | ``` 23 | 24 | 25 | 26 | ## 查找mariadb安装目录 27 | ``` 28 | find / -name mariadb; 29 | 30 | find / -name mysql; 31 | 32 | find / -name my.cnf; 33 | 34 | 35 | 36 | // 数据库文件目录 37 | /var/lib/mysql 38 | 39 | ``` 40 | 41 | 42 | ## 卸载mariadb 43 | ``` 44 | // 卸载mariadb; 45 | zypper remove mariadb; 46 | 47 | 48 | // 移除配置文件 49 | rm -rf /etc/my.cnf 50 | 51 | 52 | // 查看关联 53 | rpm -qa | grep mariadb 54 | 55 | // 并移除关联 56 | sudo rpm -e mariadb-errormessages-10.2.25-lp150.2.16.1.noarch 57 | 58 | 59 | // 命令直接移除msyql相关 60 | find / -name mysql | xargs rm -rf 61 | ``` 62 | 63 | 64 | ## count计算 65 | - https://blog.csdn.net/EDDYCJY/article/details/125688558 66 | 67 | ## CPU爆满 68 | - https://juejin.cn/post/6889327678042669070 -------------------------------------------------------------------------------- /docs/article/code/2022-11-14-docker-mysql.md: -------------------------------------------------------------------------------- 1 | ## 录取mysql镜像 2 | ``` 3 | docker pull mysql:5.7 4 | docker pull mysql 最新版本 5 | 6 | 7 | ``` 8 | 9 | ## 查看docker容器的日志 10 | ``` 11 | // xxx为容器名称 12 | docker logs xxx 13 | ``` 14 | 15 | ## 删除容器 16 | ``` 17 | /// xxx 为容器id 18 | docker rm xxx 19 | 20 | // 移除容器前先判断容器是否已经停止 21 | docker ps // 查看正在运行的容器 22 | 23 | docker ps -a // 包含没有在运行的容器 24 | 25 | // 停止容器 26 | docker stop xxx 27 | ``` 28 | 29 | docker run -d \ 30 | --name mysql \ 31 | -p 4007:3306 \ 32 | -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \ 33 | -v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \ 34 | -e MYSQL_ROOT_PASSWORD=sunlight2010 \ 35 | 36 | 37 | docker run -d \ 38 | --name mysql \ 39 | -p 3306:3306 \ 40 | -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \ 41 | -v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \ 42 | -e MYSQL_ROOT_PASSWORD=sunlight2010 \ 43 | 44 | 45 | 46 | 47 | docker run -d \ 48 | --name mysql \ 49 | -p 4007:3306 \ 50 | -v /usr/local/docker/mysql/config/mysqld.cnf:/etc/mysql/mysql.conf.d/mysqld.cnf \ 51 | -v /usr/local/docker/mysql/data/mysql:/var/lib/mysql \ 52 | -e MYSQL_ROOT_PASSWORD=sunlight2010 \ 53 | 54 | ## 修改docker容器中的文件 55 | - https://juejin.cn/post/6875216262830653453 56 | 57 | ## mysql 8.0后密码加密规则发生变化 58 | - https://www.cnblogs.com/hackerxiaoyon/p/10552842.html 59 | 60 | ## mysql8和mysql5.7 61 | - https://juejin.cn/post/7111255789876019208 62 | 63 | 64 | > 注意: 不管docker容器开没开都会进行相互间的拷贝 65 | ## 将docker容器中的文件拷贝到宿主机器中 66 | ``` 67 | docker cp ba52a9d7d924:/var/lib/mysql/ba52a9d7d924-slow.log /usr/local/aehyok 68 | ``` 69 | 70 | 71 | ## 从宿主机器拷贝到docker容器中 72 | ``` 73 | docker cp /usr/local/aehyok ba52a9d7d924:/var/lib/mysql/ba52a9d7d924-1slow.log 74 | ``` -------------------------------------------------------------------------------- /docs/article/code/2022-11-14-mysql-isnull-isnotnull.md: -------------------------------------------------------------------------------- 1 | ## https://www.jb51.net/article/249749.htm 2 | 3 | ## group_concat 详解 4 | - https://blog.csdn.net/weixin_46544385/article/details/120563650 5 | 6 | ## ''与null的区别 7 | ``` 8 | // '' 代表存入的是空的字符串 完全不占空间 9 | select * from test where a = '' 10 | 11 | // 而字段中如果有null值,则要通过 is null进行判断,不能用=null 12 | select * from test where a = null 13 | 14 | select * from test where a is null 15 | ``` 16 | 17 | 18 | ## null值字段的排序 19 | ``` 20 | // null值默认被mysql认为是最小的值 21 | // asc 升序排列,那么a字段中如果有null值的,则会排在最上面 22 | // desc反之,在最后面 23 | select * from test order by a asc; 24 | ``` 25 | 26 | ## count 统计 27 | 会将group_num为null的数据过滤掉 28 | ``` 29 | select count(group_num) from sc_base_color; 30 | ``` 31 | 32 | ## group by 33 | 会将null 进行分组统计 34 | ``` 35 | select count(*) from sc_base_color GROUP BY group_num; 36 | ``` 37 | 38 | 39 | ## where查询条件中>1 <1 40 | 会将null值也过滤掉 41 | ``` 42 | select * from sc_base_color where group_num<1; 43 | ``` 44 | 45 | 46 | ## null值字段如果是索引字段 47 | 48 | - 在mysql 5.7以及5.7以下的版本中 49 | 如果某一列上存在null值,并且该字段被设置成了索引字段,那么该字段在查询时被当做查询条件时,如果所查询出来的数据数量超过表总数据的30%,那么该字段的索引将会失效,将会进行全表扫描。 50 | 如果查询出来的数据量小于总数据量的30%,那么该字段的索引将会生效。 51 | 52 | - 在mysql8.0以及8.0+的版本中 53 | 如果a字段设置为索引字段,那么 is null 和is not null 索引将一直生效(可能有一些特殊的情况暂时没有遇到) 54 | ``` 55 | select * from test where a is null; 56 | 57 | select * from test where a is not null; 58 | ``` 59 | 60 | 61 | ## 索引跳跃 62 | - https://juejin.cn/post/6863770705897455623 63 | - https://dev.mysql.com/doc/refman/8.0/en/range-optimization.html 64 | 65 | ## 设置默认值 66 | 67 | - 1、比如int、bigint类型默认值为-1/0 68 | 69 | - 2、比如varchar类型默认值为空串 70 | 71 | - 3、bigdecimal类型为0等等。 -------------------------------------------------------------------------------- /docs/article/code/2022-11-15-linux.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-18-linux 监控指引.md: -------------------------------------------------------------------------------- 1 | - https://juejin.cn/post/7165767441883398175 2 | 3 | 4 | ## mysql查看 5 | ``` 6 | use performance_schema; 7 | 8 | select * from threads; 9 | ``` 10 | 11 | ## mysql慢查询查看(mysql8版本) 12 | ``` 13 | mysql -uroot -p 14 | // 再输入password 15 | 16 | //切换到具体的数据库 17 | use dvsdb30; 18 | 19 | // 查看慢查询日志是否开启 on为开启 off为关闭 默认是关闭的 20 | show variables like 'slow_query_log'; 21 | 22 | // 设置是否开启慢查询日期记录 23 | set global slow_query_log = on; #开启 24 | set global slow_query_log = off; #关闭 25 | 26 | // 查看慢查询的阈值(默认是10秒) 27 | show variables like 'long_query_time'; 28 | 29 | // 如果想修改慢查询的阈值 30 | 31 | // 阈值设置为1秒 32 | set long_query_time = 1; 33 | 34 | // 法制设置全局的 35 | set global long_query_time = 1; 36 | 37 | // 查看慢查询日志文件路径 38 | show variables like 'slow_query_log_file'; 39 | 40 | cd /usr/bin 41 | 42 | -- 这里-S参数后面跟的r是row的缩写意思是从slow log里查找按照返回行数最高排序,默认是at即平均执行时间。-r 后面跟着的数字是返回几个结果,类似于limit 43 | mysqldumpslow -S r -t 2 /usr/local/aehyok/ba52a9d7d924-slow.log 44 | ``` 45 | ## 慢查询 muysqldumpslow 命令的使用 46 | https://juejin.cn/post/6844904037888851976 47 | 48 | ## mysql 最大链接数 49 | - https://juejin.cn/post/6844903876999512078#comment 50 | 51 | - 当前的链接数 52 | 53 | ``` 54 | show status like 'Thread%'; 55 | ``` 56 | 57 | 慢查询日志分析工具 58 | 59 | https://juejin.cn/post/7078552705421180958#heading-13 60 | https://zhuanlan.zhihu.com/p/257975998 61 | 62 | zypper install perl-DBI.x86_64 63 | zypper install perl-DBD-MySQL.x86_64 64 | zypper install perl-IO-Socket-SSL.noarch 65 | zypper install perl-Digest-MD5.x86_64 66 | zypper install perl-TermReadKey.x86_64 67 | 68 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-21-nginx.md: -------------------------------------------------------------------------------- 1 | ## 查看nginx 安装目录 2 | ``` 3 | find / -name nginx.conf 4 | 5 | // etc/nginx 6 | // 或者 7 | // usr/local/nginx 8 | ``` 9 | 10 | 11 | 12 | ## 设置Nginx 浏览器缓存配置 13 | ``` 14 | location /MP{ 15 | alias /usr/local/sunlight/dvs/dvs-ui/mp/; 16 | index index.html; 17 | add_header Cache-Control no-cache; 18 | } 19 | ``` 20 | - no-cache 每次都到服务器校验新鲜度 21 | - no-store 永远去服务器获取资源 22 | 23 | 24 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-23-Aop.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2022-11-23-Aop.md -------------------------------------------------------------------------------- /docs/article/code/2022-11-23-环境配置.md: -------------------------------------------------------------------------------- 1 | ## 正式环境配置文件 2 | - 微服务配置文件路径 3 | /usr/local/sunlight/dvs/etc 4 | 5 | - 微服务日志文件路径 6 | /var/log/sunlight 7 | 8 | - mysql数据库文件 9 | /var/lib/mysql 10 | ## 11 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-24-项目上线.md: -------------------------------------------------------------------------------- 1 | ## 前言 2 | 最近正在做的项目上线了,问题很多,有前端的问题也有后端的问题。这里就简单的总结一下。 3 | 4 | ## 前端 5 | 6 | 先说一下前端的问题,这里对代码的探讨不做过多的展示,主要简单说明一下技术的实现方案。 7 | 8 | #### 技术选型问题 9 | h5嵌套到小程序的webview,但是又要用到小程序里的地图定位,就需要由H5跳转到小程序的页面,然后要由小程序页面返回到webview中的h5,这里还需要有一个返回值传到h5中,这里我暂时没想到办法,至少我没想到办法回传数据,于是只能简单的写个定时器,不断的通过接口调用,相当于数据的回传刷新了。 10 | 11 | 这里如果完全是小程序的页面就不会存在这个问题了,不过水饺咱没时间全部用小程序的页面呢? 12 | 13 | #### 表单重复提交问题 14 | 由于项目中主要的就是数据的录入,所以出问题最多的就是在表单多次提交,其实也有很多的方法。 15 | - 方法一: 按钮提交时,将按钮设置为加载状态,并不可点击。 16 | - 方法二: 通过pinia保存状态数据,点击保存时对比数据,数据如果未被修改,则不调用接口保存,有效的减少了服务器写入数据的压力。 17 | 18 | #### 缓存问题 19 | 由于是h5嵌套到webView的小程序中的,所以有时候明明更新了前端,用户却还是之前的版本,这里想到的办法就是通过nginx 配置 缓存 20 | ``` 21 | location /{ 22 | alias /usr/local/xxxx; 23 | index index.html; 24 | add_header Cache-Control no-cache; 25 | } 26 | ``` 27 | no-cache 协商缓存,每次也去服务器请求,但会进行判断是否是新的资源,如果是旧的资源,则直接返回304使用客户端的缓存。 28 | 29 | no-store 相当于每次请求都会从服务器获取前端页面,不会进行缓存。 30 | 31 | #### 其他 32 | 当然还存在其他一些小问题,比如用户操作便利性的改进,以及友好的错误提示 等等。 33 | 34 | ## 后端 35 | 由于我也参与了一些后端接口的工作,对整个前后端的情况都有所了解。 36 | 37 | #### 重复数据 38 | 39 | 由于前期时间确实比较紧张,准备不足,导致程序存在一些问题,经过排查发现,在导入数据的时候没有判断数据的唯一性,导致数据重复。这个算是一个bug,目前已经修复了。 40 | #### 数据延迟 41 | 42 | 由于高峰期存在接口10秒都没有提交成功的情况,后来发现mysql事务中的查询存在比较大的耗时,经过调整添加索引修改查询条件,不进行全表扫描,目前观察不存在事务高峰期数据并发导致Mysql数据库CPU拉满的情况。 43 | 44 | #### 日志处理 45 | 46 | 应用中存在记录日志文件过大,并发量大的时候,导致频繁插入,而且文件越大插入速度必然很慢,这里做了文件大小限制,将大小设置未10M,很小了,速度非常快。并且在应用中对日志类型也就是写入日志的频次进行 修改,没有必要的日志进行了移除。 47 | 48 | #### 用户身份 49 | 通过调试发现,每次接口调用,用户身份信息都会重新获取,而且要请求mysql,这个看了一下并不是那么容易处理,暂时还没解决。这里可以进行缓存处理,但是发现有一点复杂,后面有时候肯定还是要处理的。 50 | 51 | ## 总结 52 | 53 | 最近刚好在重装自己的办公电脑,以及个人华为云服务器, 54 | 55 | 56 | - linux磁盘挂载问题 57 | - mysql数据备份问题 58 | - 服务器扩容前的处理事项、应用备份、以及相关配置文件 59 | - 服务器扩容后的检查工作、磁盘状态、应用、数据库、redis等正常使用 60 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-25-mysql删除重复数据.md: -------------------------------------------------------------------------------- 1 | 2 | -- 查询出所有重复的身份证号 (365条记录) 3 | select c.hzidCard from DAS_householdcode c GROUP BY c.hzidCard HAVING count(c.hzidCard) > 1 4 | ('1','2','3') 5 | 6 | -- 然后根据重复的身份证号码 查询出所有重复的记录 7 | select * from DAS_householdcode s 8 | where s.hzidCard in ('1','2','3') 9 | 10 | -- 所有重复的记录总共 972 11 | 12 | -- 607+365=972 13 | 14 | 15 | -- 查询出要留下那些记录 (留下重复记录中插入时间最晚的记录) 16 | select aa.cid from (select c.id cid, max(c.createtime) ctime from DAS_householdcode c GROUP BY c.hzidCard HAVING count(c.hzidCard) > 1) aa 17 | 18 | -- 查询出要删除的记录(在查处所有重复记录的基础上,然后not in 要留下的记录) 19 | select * from DAS_householdcode s 20 | where s.hzidCard in ('1','2','3') 21 | and s.id not in (select aa.cid from (select c.id cid, max(c.createtime) ctime from DAS_householdcode c GROUP BY c.hzidCard HAVING count(c.hzidCard) > 1) aa) 22 | -------------------------------------------------------------------------------- /docs/article/code/2022-11-28-正则.md: -------------------------------------------------------------------------------- 1 | ## 手机号正则 2 | ``` 3 | // 只要是1开头,并且是11位的数字 4 | /^1\d{10}$/ 5 | 6 | // 只要是13,14,15,16,17,18,19开头即可 7 | /^1[3-9]\d{9}$/ 8 | 9 | // 11位或13位 还是 11位到13位,还是1到13位 10 | 11 | // 13位数字或者11位数字 12 | ^\d{13}$|^\d{11}$ 13 | 14 | 15 | ``` 16 | 17 | 18 | ## 身份证校验规则 19 | https://uutool.cn/id-card/ 20 | 21 | 22 | ## 匹配中文 23 | ``` 24 | [u4e00-u9fa5] 25 | ``` 26 | 27 | 28 | 29 | ## 常用正则 30 | - https://juejin.cn/post/7025490351032893476#heading-7 -------------------------------------------------------------------------------- /docs/article/code/2022-11-30-.net-core异步.md: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /docs/article/code/2022-12-01-docker-compose.md: -------------------------------------------------------------------------------- 1 | 2 | - spug 官网配置 3 | - https://spug.cc/docs/system-account 4 | - http://139.159.245.209:66/welcome/info 5 | 6 | 7 | - docker compose 安装 8 | - https://juejin.cn/post/7157862693435605023 9 | 10 | - yml 配置文件 11 | - https://spug.cc/docs/install-docker 12 | docker compose up -d 13 | docker exec spug init_spug aehyok sunlight2022 14 | 15 | 16 | linux 安装git 17 | 18 | ssh-keygen -o 19 | 20 | cd /root/.ssh 21 | 22 | 23 | 24 | 25 | 26 | 公钥 27 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDxqqFnd3jsbHCiOMCM8UAx29dE91eJ+CpWROcBjhZunFzpLvpi2qjAUTz9KyD51QzwYWaxwjzjgDA/QdSOMGCk9S1Sa3BJ1UscQpsXHUx07PZc0hq1pv0UM+XXHpoeKRokpdqXEIxtXwKpPgAEV/vuMS42ZbpI+Qx+PTS9GCIQAxnj55/ypD66uuq9FpEynljJ/wZUAFkakiItWnzNR3zxxncyLYrx13tVT15iLDpcr+eP3uD1lAPPgOSPqc9Ro2fYOdsA3KQ1hwMYu+oQ7yyDLg5FnRnsQI/2Oemn3+oR8GiiMAUTqktXV/vQd6UW2cW22bHyBg37ReHxaDSqglzt 28 | 29 | 私钥 30 | -----BEGIN RSA PRIVATE KEY----- 31 | MIIEogIBAAKCAQEA8aqhZ3d47GxwojjAjPFAMdvXRPdXifgqVkTnAY4Wbpxc6S76 32 | YtqowFE8/Ssg+dUM8GFmscI844AwP0HUjjBgpPUtUmtwSdVLHEKbFx1MdOz2XNIa 33 | tab9FDPl1x6aHikaJKXalxCMbV8CqT4ABFf77jEuNmW6SPkMfj00vRgiEAMZ4+ef 34 | 8qQ+urrqvRaRMp5Yyf8GVABZGpIiLVp8zUd88cZ3Mi2K8dd7VU9eYiw6XK/nj97g 35 | 9ZQDz4Dkj6nPUaNn2DnbANykNYcDGLvqEO8sgy4ORZ0Z7ECP9jnpp9/qEfBoojAF 36 | E6pLV1f70HelFtnFttmx8gYN+0Xh8Wg0qoJc7QIDAQABAoIBAE2wGKr2UT1PrvW3 37 | YM7uT0C394AIM2/7A0EwbUKmtrdgNM4ReBSHTnBkrUKFttgZkUtFRIoocwJ/lwL+ 38 | 2qHLE4Zz+tngB/z0QG0ZTFol5QpBkwFL2aJDyF/SPzTkdY70j57wYlDl1P7j6CsX 39 | 71F2J1rvHHgIQ9ZpmYaLjoSrWWfjt2DQpsdrDgVtgbDmPrEUY3AUHQbthaQQEZX0 40 | 0O/j2jS3pzoQxecOTd0uuNrhm70Lj6eLnvqW3Eo7U+5xTjLcFuBmT2bY1SgYanQB 41 | 5eFZ39E3FzzX9PL8gX36WGIX7ah8mvPDDi9fTpFUq4igL6tPXlCgGS5Q154nSUPA 42 | MpUVngECgYEA/UllVCKS6IsfhNLsDvIpSbFGFSyAVWy39er/GIMhmQc9uNJUS+4r 43 | KoarkFfcg1uvk1vIfyrMwNiFUKCd0w1F3ANQeBB4Bodn0j3Mbvos/pyIBEK62uJZ 44 | DcDGU4llddPr+A3m1AyruHu2WUBLmwRsdZjFPsk14qMwrMkfwW0LbOECgYEA9EFe 45 | MBt6yn2ffdj1+OdT54bdn/8UJ27KmXLurUj4zvXvAhu0gGO2j14QjpeGtA4ufqVk 46 | s6nyrdU1DPxyVrfSa0K+U0Y5y5mj5hiosJAggahZ0lwhp0J2WfuQxN8Lr/jfzHxl 47 | jYpzlvtIPaT6aRmVZFZJNl/bhO81JdvPcfX3BY0CgYByepru1RWbP05GpWKGOtOI 48 | eDRZ25xBf/sBjm4v8QzdcpVmFMJ+8y3VcbrXaa7EPEt2CfTr7TdQLkzLLV1IB+a8 49 | U08qhR8KrGazcrUUr8Roa+1aJ6L2zXk8qxW4qhAOmnM70WS0EOoIXvoDCvlhHjW7 50 | TQpRn3XYcrPMVLcioJuaYQKBgFpQ5WvybUf8hYH6PJGJr/u3YbGslx4xmFZ/KgQH 51 | LIESbQshhW/H7xQ6GvMu0k83wzdvHrpUR/jBEnm3yuuH0xV4O3n9SJehOvp0+cM3 52 | t91Zi8T97i+zoqGJJLG3K9Iou1AYW1Cn9i/IwKCSpUlBfXz5bt7dOQWBkexqx90C 53 | rxFtAoGAJ9IXa5dP4jzQ4fG6k/trMd18EayQgI5JDpgQDKy8xBsrlymc6odef0yj 54 | fB1IK/sJtKcleJTVtrPKblpckz3RrouvQkexv8BiAC856hzLRMgumPZeDoj5UoJ7 55 | YknwGw3FpECh+uPkR9SY4VjnWfTAaI3BL3Oom4LBhnQ9vB9DsM8= 56 | -----END RSA PRIVATE KEY----- 57 | -------------------------------------------------------------------------------- /docs/article/code/2022-12-03-Mysql学习了解总结.md: -------------------------------------------------------------------------------- 1 | ## 前言 2 | 最近对mysql的操作比较多一些,主要是项目上线以后,难免会有一些数据上的问题。开始的时候还主要由后端来处理,后面数据问题确实比较多,于是我就找后端要来服务器的账号密码,连上数据库顺便来看看数据的问题。 3 | 4 | ## mysql 索引 5 | 6 | 最开始项目刚上线的时候,因为没有数据,所以根本没什么感觉,突然某一天,就感觉到接口的响应时间明显的变慢了。但其实后端并没有什么线上的经验,所以我借机就要来了服务器的账号密码。基本上除了主键以外,没有加任何的索引。打到数据库上的查询就实打实的有一些慢了,(虽然这里使用了一主四从),四个从库相当于都是用来做查询使用的,但是在没有索引的情况下,真的有点慢了。我跟后端稍作沟通,我就准备直接在正式环境添加数据库表的索引了。 7 | 8 | 那么首先要做的第一件事情便是,查看一下mysql的慢查询是否有打开,好家伙,还不错,竟然打开了。下面是常用的几个查询慢SQL的脚本语句 9 | 10 | ``` 11 | // 得到返回记录集最多的10条SQL: 12 | mysqldumpslow -s r -t 10 /var/lib/mysql/slow.log 13 | 14 | // 得到访问次数最多的10条SQL: 15 | mysqldumpslow -s r -t 10 /data/mysql/slow.log 16 | 17 | // 得到按照时间排序的前10条里面含有左连接的SQL: 18 | mysqldumpslow -s t -t 100 -g "left join" /var/lib/mysql/slow.log 19 | 20 | // 也支持管道符命令 21 | mysqldumpslow -s t -t 10 -g "left join" /var/lib/mysql/slow.log | more //分页显示 22 | ``` 23 | 24 | #### 技术选型问题 25 | h5嵌套到小程序的webview,但是又要用到小程序里的地图定位,就需要由H5跳转到小程序的页面,然后要由小程序页面返回到webview中的h5,这里还需要有一个返回值传到h5中,这里我暂时没想到办法,至少我没想到办法回传数据,于是只能简单的写个定时器,不断的通过接口调用,相当于数据的回传刷新了。 26 | 27 | 这里如果完全是小程序的页面就不会存在这个问题了,不过水饺咱没时间全部用小程序的页面呢? 28 | 29 | #### 表单重复提交问题 30 | 由于项目中主要的就是数据的录入,所以出问题最多的就是在表单多次提交,其实也有很多的方法。 31 | - 方法一: 按钮提交时,将按钮设置为加载状态,并不可点击。 32 | - 方法二: 通过pinia保存状态数据,点击保存时对比数据,数据如果未被修改,则不调用接口保存,有效的减少了服务器写入数据的压力。 33 | 34 | #### 缓存问题 35 | 由于是h5嵌套到webView的小程序中的,所以有时候明明更新了前端,用户却还是之前的版本,这里想到的办法就是通过nginx 配置 缓存 36 | ``` 37 | location /{ 38 | alias /usr/local/xxxx; 39 | index index.html; 40 | add_header Cache-Control no-cache; 41 | } 42 | ``` 43 | no-cache 协商缓存,每次也去服务器请求,但会进行判断是否是新的资源,如果是旧的资源,则直接返回304使用客户端的缓存。 44 | 45 | no-store 相当于每次请求都会从服务器获取前端页面,不会进行缓存。 46 | 47 | #### 其他 48 | 当然还存在其他一些小问题,比如用户操作便利性的改进,以及友好的错误提示 等等。 49 | 50 | ## 后端 51 | 由于我也参与了一些后端接口的工作,对整个前后端的情况都有所了解。 52 | 53 | #### 重复数据 54 | 55 | 由于前期时间确实比较紧张,准备不足,导致程序存在一些问题,经过排查发现,在导入数据的时候没有判断数据的唯一性,导致数据重复。这个算是一个bug,目前已经修复了。 56 | #### 数据延迟 57 | 58 | 由于高峰期存在接口10秒都没有提交成功的情况,后来发现mysql事务中的查询存在比较大的耗时,经过调整添加索引修改查询条件,不进行全表扫描,目前观察不存在事务高峰期数据并发导致Mysql数据库CPU拉满的情况。 59 | 60 | #### 日志处理 61 | 62 | 应用中存在记录日志文件过大,并发量大的时候,导致频繁插入,而且文件越大插入速度必然很慢,这里做了文件大小限制,将大小设置未10M,很小了,速度非常快。并且在应用中对日志类型也就是写入日志的频次进行 修改,没有必要的日志进行了移除。 63 | 64 | #### 用户身份 65 | 66 | ## 总结 67 | 68 | 69 | 70 | - linux磁盘挂载问题 71 | - mysql数据备份问题 72 | - 服务器扩容前的处理事项、应用备份、以及相关配置文件 73 | - 服务器扩容后的检查工作、磁盘状态、应用、数据库、redis等正常使用 74 | -------------------------------------------------------------------------------- /docs/article/code/2022-12-09-zx.md: -------------------------------------------------------------------------------- 1 | 2 | 为了偷懒,我用google/zx一键打包编译前后端项目到指定环境 3 | 4 | -------------------------------------------------------------------------------- /docs/article/code/2022-12-20-ubuntu.md: -------------------------------------------------------------------------------- 1 | ## ubuntu docker mysql 2 | https://juejin.cn/post/7143148167125532680 3 | 4 | 5 | 6 | 7 | 8 | ## 启动docker 异常 9 | - docker logs containerid 10 | - You need to specify one of MARIADB_ROOT_PASSWORD, MARIADB_ROOT_PASSWORD_HASH, MARIADB_ALLOW_EMPTY_ROOT_PASSWORD and MARIADB_RANDOM_ROOT_PASSWORD 11 | ``` 12 | 13 | // 设置MARIADB_ROOT_PASSWORD 密码 14 | docker run --restart always -itd --name mariadb-1 -e MARIADB_ROOT_PASSWORD=sunlight2010 -p 3306:3306 mariadb 15 | 16 | ``` 17 | 18 | 19 | ## 安装nginx 20 | ``` 21 | apt-get install nginx 22 | 23 | nginx -v 24 | ``` -------------------------------------------------------------------------------- /docs/article/code/2022-12-20-zabbix.md: -------------------------------------------------------------------------------- 1 | ## 自学 2 | https://www.cnblogs.com/yaoyaojcy/p/8072122.html 3 | 4 | 5 | 6 | https://www.cnblogs.com/yaoyaojcy/p/11864140.html -------------------------------------------------------------------------------- /docs/article/code/2022-12-24-mysql主从.md: -------------------------------------------------------------------------------- 1 | https://www.cnblogs.com/elsons/p/15763248.html 2 | 3 | 4 | 5 | ## 查看主从 6 | maxctrl list servers 7 | 8 | 9 | 10 | ## 查看运行进程 11 | ``` 12 | top 13 | 14 | top -Hp pid 15 | 16 | // 查找到具体的mysql 进程id 17 | pidof mysqld 18 | ``` 19 | 20 | ## mysql 慢查询日志和数据文件路径 21 | ``` 22 | /var/lib/mysql 23 | ``` 24 | 清空慢查询日志,并恢复 25 | https://blog.csdn.net/weixin_41275260/article/details/125461408 26 | 27 | ## mysql group by 字段或者非聚合字段是否可以添加到select 后 28 | - https://blog.csdn.net/qq_34637782/article/details/101029487 29 | 30 | ## 查看磁盘文件大小 31 | - du -sh * 32 | 33 | ## 查看linux 磁盘分区 34 | - df -h 35 | 36 | ## mysql文件存储位置 37 | MariaDB [(none)]> show variables like '%%datadir'; 38 | +---------------+-----------------+ 39 | | Variable_name | Value | 40 | +---------------+-----------------+ 41 | | datadir | /var/lib/mysql/ | 42 | +---------------+-----------------+ 43 | 1 row in set (0.001 sec) 44 | 45 | ## 查看事务 查看锁 46 | - https://blog.csdn.net/qq_42764269/article/details/122045831 47 | 48 | ## 主从停止https://blog.csdn.net/weixin_34981046/article/details/113127203 49 | 50 | 51 | ## mysql 全量备份 52 | - https://juejin.cn/post/7135363385700384799#heading-18 53 | - https://www.jianshu.com/p/17337e3d3a33 这一篇非常关键 54 | 全量备份的时候不要锁表 55 | 56 | mysqldump -uroot -p123456 db1 > db1.sql 57 | 58 | /usr/share/mysql/policy/apparmor 59 | 60 | /etc/my.cnf.d 61 | 62 | create user 'root'@'%' identified with mysql_native_password by 'sunlight2010'; 63 | 64 | ALTER USER 'root'@'localhost' IDENTIFIED WITH 'mysql_native_password' BY 'M9y512!'; 65 | 66 | create user 'root'@'%' identified by 'sunlight2010'; 67 | update mysql.user set plugin='mysql_native_password' where 68 | 69 | grant all privileges on *.* to 'root'@'%'; 70 | 71 | grant all privileges on *.* to 'root'@'localhost'; 72 | 73 | // 新建一个用户 74 | CREATE USER 'course'@'localhost' IDENTIFIED BY '123456'; 75 | 76 | // 并将数据库添加到该用户下 77 | grant all privileges on *.* to 'course'@'localhost'; 78 | 79 | flush privileges; 80 | 81 | ## mysql最大链接数 82 | - http://t.zoukankan.com/JentZhang-p-12581116.html 83 | 84 | /etc/my.cnf.d 85 | 86 | systemctl daemon-reload 87 | 88 | systemctl restart mysqld.service 89 | 90 | ## mysql count 汇总统计 91 | - https://juejin.cn/post/7130276921534840845 -------------------------------------------------------------------------------- /docs/article/code/2023--8-15-dvs.md: -------------------------------------------------------------------------------- 1 | ## 微信小程序首页 2 | 3 | - banner页 先取当前级别,再取上级 4 | - 应急发布-最新消息 如果有发布 则会显示 -------------------------------------------------------------------------------- /docs/article/code/2023-01-09-nacos.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2023-01-09-nacos.md -------------------------------------------------------------------------------- /docs/article/code/2023-01-09-ocelot.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | ## ocelot 使用说明详解 4 | - https://www.cnblogs.com/jesse2013/p/net-core-apigateway-ocelot-docs.html 5 | ## ocelot demo 6 | - https://www.c-sharpcorner.com/blogs/api-gateway-in-net-60-using-ocelot 7 | 8 | https://www.cnblogs.com/jesse2013/p/net-core-apigateway-ocelot-docs.html 9 | 10 | 11 | 12 | ## nginx 配置三个ocelot节点 13 | - 这三个ocelot节点可以加入到consul中,并添加健康检查的接口,供consul进行服务注册和健康检查 14 | ``` 15 | server { 16 | listen 8500; 17 | location / { 18 | proxy_pass http://xdpconsul; 19 | proxy_redirect default; 20 | } 21 | } 22 | 23 | upstream xdpconsul { 24 | server 116.204.98.9:5003; 25 | server 116.204.98.9:5030; 26 | server 116.204.98.9:5300; 27 | } 28 | ``` 29 | 30 | ## 然后在ocelot.json 配置真正的接口服务器 31 | - 这里部署节点 32 | 33 | ``` 34 | 35 | ``` 36 | 37 | ## ocelot和consul 结合使用 38 | - https://www.cnblogs.com/axzxs2001/p/8487521.html 39 | - ocelot中配置consul的配置服务发现 https://www.cnblogs.com/edisonchou/p/consul_cluster_based_on_docker_introduction.html 40 | 41 | ## ocelot官方文档 42 | - https://ocelot.readthedocs.io/en/latest/introduction/notsupported.html 43 | 44 | ## ocelot 动态路由 dynamic routing 45 | - https://www.cnblogs.com/irocker/p/ocelot-servicediscovery.html 46 | 47 | ## docker dotnet 48 | - https://learn.microsoft.com/zh-cn/dotnet/core/docker/build-container?source=recommendations&tabs=linux -------------------------------------------------------------------------------- /docs/article/code/2023-01-10-EventBus.md: -------------------------------------------------------------------------------- 1 | ## C# EventBus 2 | - https://www.cnblogs.com/daxnet/p/8082694.html -------------------------------------------------------------------------------- /docs/article/code/2023-01-11-docker-sqlserver.md: -------------------------------------------------------------------------------- 1 | 2 | - https://learn.microsoft.com/zh-cn/sql/linux/quickstart-install-connect-docker?view=sql-server-ver16&pivots=cs1-bash 3 | 4 | ## 查找镜像 5 | ``` 6 | docker search mcr.microsoft.com/mssql/server 7 | ``` 8 | 9 | ## 生成容器并运行 10 | 11 | ``` 12 | sudo docker run -e "ACCEPT_EULA=Y" -e "MSSQL_SA_PASSWORD=M9y2512!" \ 13 | -p 1433:1433 --name sql1 --hostname sql1 \ 14 | -d \ 15 | mcr.microsoft.com/mssql/server 16 | ``` 17 | 18 | 19 | ## 进入容器 20 | ``` 21 | sudo docker exec -it sql1 "bash" 22 | ``` 23 | 24 | ## 执行链接 25 | ``` 26 | /opt/mssql-tools/bin/sqlcmd -S localhost -U SA -P "XXXXXXX" 27 | 28 | ``` 29 | 30 | -------------------------------------------------------------------------------- /docs/article/code/2023-01-31-docker-dotnet.md: -------------------------------------------------------------------------------- 1 | 11 | ## Dockerfile下的内容 12 | ``` 13 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 14 | 15 | WORKDIR /usr/share/dotnet/ClassService/ 16 | 17 | COPY ClassService/ /usr/share/dotnet/ClassService/ 18 | ENTRYPOINT ["dotnet", "ClassService.dll","--urls","http://*:5005"] 19 | ``` 20 | 21 | ## 根据Dockerfile创建镜像 22 | ``` 23 | docker build -t classservice . 24 | ``` 25 | 26 | ## 根据镜像创建容器 27 | ``` 28 | docker run -d -p 5005:5005 --name classservice1 classservice 29 | ``` 30 | 31 | ## 操作容器 32 | ``` 33 | docker restart xxx 34 | docker stop xxx 35 | ``` 36 | 37 | ## 映射路径的方式 38 | 39 | #### Dockerfile文件 40 | ``` 41 | FROM mcr.microsoft.com/dotnet/aspnet:6.0 42 | 43 | WORKDIR /usr/share/dotnet/ClassService/ 44 | 45 | ENTRYPOINT ["dotnet", "ClassService.dll","--urls","http://*:5005"] 46 | ``` 47 | 48 | #### 生成镜像和容器 49 | ``` 50 | 51 | // 生成镜像 52 | docker build -t class . 53 | 54 | // 映射路径 55 | docker run -d -p 5005:5005 --name classservice1 -v /usr/local/aehyok/docker/dotnet/ClassService:/usr/share/dotnet/ClassService class 56 | ``` 57 | 58 | -------------------------------------------------------------------------------- /docs/article/code/2023-02-01-中医.md: -------------------------------------------------------------------------------- 1 | ## 中医和西医的分析 2 | - https://www.zhihu.com/question/408326487/answer/2237074755 -------------------------------------------------------------------------------- /docs/article/code/2023-02-08-面试整理.md: -------------------------------------------------------------------------------- 1 | ## 前端 2 | #### localstorage 3 | - https://juejin.cn/post/7163075131261059086 4 | 5 | #### 首页加载速度 6 | - https://juejin.cn/post/7188894691356573754 7 | 8 | #### 防抖和节流 9 | - https://juejin.cn/post/6901493600098779150 10 | - https://coding.imooc.com/learn/questiondetail/194653.html 11 | 12 | ## 基础整理 13 | 14 | #### 执行上下文 15 | 首先从宏观的角度来说: JavaScript代码要想能够被执行,就必须先被V8引擎编译,编译完成之后才会进入到执行阶段,总结为六个字:先编译再执行。 16 | 17 | #### 调用栈 18 | console.trace() 可以打印栈中的信息 19 | 20 | 调用栈是一种数据结构,它记录了我们在程序中的位置。如果我们运行到一个函数,这个时候JavaScript引擎其实是会为当前函数创建函数执行上下文,它就将该函数执行上下文放到栈顶,当从这个函数返回的时候,就会将这个函数执行上下文从栈顶弹出,这就是调用栈做的事情。也就是说执行上下文是通过调用栈来管理的。 21 | 22 | #### var const let 23 | var定义的变量存在变量提升,块级作用域对var无效。 24 | let不会有变量提升,有块级作用域、函数作用域和全局作用域。 25 | - 暂时性死区 https://juejin.cn/post/6968399560162951204 26 | 27 | 28 | #### 闭包 29 | 函数创建完,闭包就形成了,并且不能自动释放,可选择手动设置null进行释放闭包。 30 | 31 | 我将永远记住闭包的方法是通过背包的类比。当一个函数被创建并传递或从另一个函数返回时,它会携带一个背包。背包中是函数声明时作用域内的所有变量。 32 | 33 | - https://juejin.cn/post/6844903858636849159 34 | - https://juejin.cn/post/7120371754274553887 35 | - https://juejin.cn/post/6937469222251560990 36 | - https://juejin.cn/post/7196636673694285882 37 | - https://juejin.cn/post/7120371754274553887 38 | 39 | #### 原型和原型链 40 | - https://juejin.cn/post/7126061672032108551 41 | 42 | #### 深拷贝和浅拷贝 43 | 44 | - weakmap 45 | - https://es6.ruanyifeng.com/#docs/set-map#WeakMap 46 | - weakmap 的key为对象 47 | - weakmap 键名所引用的对象都是弱引用。 WeakMap 弱引用的只是键名,而不是键值。 48 | 49 | #### ES6 Class 50 | - https://es6.ruanyifeng.com/#docs/class -------------------------------------------------------------------------------- /docs/article/code/2023-02-10-单例模式.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2023-02-10-单例模式.md -------------------------------------------------------------------------------- /docs/article/code/2023-02-13-linux-mariadb.md: -------------------------------------------------------------------------------- 1 | ## linux 2 | ``` 3 | ip 用户名 密码 4 | 175.178.60.76 root Hk 5 | ``` 6 | 7 | ## 设置mariadb源 8 | ``` 9 | cd /etc/yum.repos.d 10 | vim Mariadb.repo 11 | 12 | 13 | 14 | [mariadb] 15 | name = MariaDB 16 | baseurl = https://mirrors.aliyun.com/mariadb/yum/10.4/centos7-amd64 17 | gpgkey = https://mirrors.aliyun.com/mariadb/yum/RPM-GPG-KEY-MariaDB 18 | gpgcheck = 1 19 | ``` 20 | 21 | ## mariadb 22 | ``` 23 | yum install MariaDB-server 24 | 25 | 26 | systemctl enable mariadb 27 | 28 | systemctl start mariadb 29 | 30 | // 设置密码 M9 31 | mysql_secure_installation 32 | 33 | ``` 34 | 35 | ## 可能会乱码设置 36 | - https://juejin.cn/post/7096757877909487629 37 | ``` 38 | utf8mb4 39 | utf8mb4_unicode_ci 40 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-02-21-chatgpt.md: -------------------------------------------------------------------------------- 1 | 2 | ## 简介 3 | - https://platform.openai.com/docs/introduction 4 | 5 | ## api keys 6 | - https://platform.openai.com/account/api-keys 7 | 8 | ## nodejs demo 9 | - https://github.com/openai/openai-quickstart-node 10 | 11 | ## go 12 | - https://github.com/eatmoreapple/openwechat 13 | 14 | 15 | 16 | - https://platform.openai.com/docs/introduction 17 | 18 | ## gpt3.5 19 | - https://platform.openai.com/docs/models/gpt-3-5 20 | 21 | 22 | 23 | 24 | ## edge dev下载 25 | - https://www.microsoft.com/zh-cn/edge/download?form=MA13FJ 26 | 27 | 28 | ## fq 29 | - 总的 https://9.234456.xyz/abc.html?t=1677812313354 30 | 31 | - 一个 32 | - https://jike191.com/user 455043818@qq.com Hk!!! 33 | - https://9.234456.xyz/abc.html?t=1677812313354 34 | 35 | 36 | - 一个月的 37 | - https://v3ssy.xyz/#/dashboard 38 | 39 | ## 腾讯云 云函数 40 | - nodejs 版本 41 | - https://github.com/Ice-Hazymoon/openai-scf-proxy/issues/2 42 | - https://ai.okmiku.com/translate 43 | 44 | 45 | - 新加坡 46 | - https://service-kqjbl0h8-1253646855.sg.apigw.tencentcs.com/v1/completions 47 | - 香港 48 | 49 | - go 版本 50 | - https://github.com/geekr-dev/openai-proxy 51 | 52 | ## openai封装库 53 | - nodejs https://github.com/transitive-bullshit/chatgpt-api 54 | - go 55 | 56 | 57 | ## Cloudflare Workers 58 | - https://dash.cloudflare.com/ 455043818@qq.com Hk!!! 59 | 60 | 61 | ## fq 62 | - https://freemycloud.me/#/register 455043818@qq.com Hk!!! 63 | 64 | 65 | ## 查看openai网站的状态 66 | - https://status.openai.com 67 | 1111 68 | 69 | 70 | ## sql翻译 71 | - https://github.com/whoiskatrin/sql-translator 72 | 73 | 74 | ## tokenizer 75 | - https://github.com/openai/tiktoken 76 | - https://platform.openai.com/tokenizer -------------------------------------------------------------------------------- /docs/article/code/2023-02-22-go-gin.md: -------------------------------------------------------------------------------- 1 | https://gin-gonic.com/zh-cn/docs/examples/ascii-json/ -------------------------------------------------------------------------------- /docs/article/code/2023-03-15-embdding.md: -------------------------------------------------------------------------------- 1 | U7eIo_o9EySNfaAAK26G31FtJrtuYKop9ZCHQM108Nz3KL8hFbfTVw 2 | 3 | 4 | curl \ 5 | -X GET 'https://57764f9a-d310-4e55-b5c0-0b6c7092c831.us-east-1-0.aws.cloud.qdrant.io:6333' \ 6 | --header 'api-key: 9JfsjZRcYP7wTQUV8ihWJ7TVnYLX7BDklcRGsXBQ7XTVAwcYt_WBUA' 7 | 8 | 9 | curl \ 10 | -X GET 'https://57764f9a-d310-4e55-b5c0-0b6c7092c831.us-east-1-0.aws.cloud.qdrant.io:6333' \ 11 | --header 'api-key: kThWcexRpedS30EyAutZt1ugEZtgDXdwj5_ixU22RQP5VfTc0q7woQ' 12 | 13 | 14 | 15 | curl \ 16 | -X GET 'https://b4dfecea-3f6d-4f9b-a7ce-e0dfbb1efd24.us-east-1-0.aws.cloud.qdrant.io:6333' \ 17 | --header 'api-key: Q7q9WRRps_Vy6T9n3E0eCmW8Ak0TRFzJWK4Ci-AG3xzzYCT4c-roXg' 18 | 19 | ## QDrant 20 | - 接口说明 21 | - https://github.com/qdrant/qdrant/blob/master/QUICK_START.md 22 | - https://ui.qdrant.tech/#/ 23 | 24 | 25 | 将本地答案数据集,转为向量存储到向量数据 26 | 当用户输入查询的问题时,把问题转为向量然后从向量数据库中查询相近的答案topK 这个时候其实就是我们最普遍的问答查询方案,在没有GPT的时候就直接返回相关的答案整个流程就结束了 27 | 现在有GPT了可以优化回答内容的整体结构,在单纯的搜索场景下其实这个优化没什么意义。但如果在客服等的聊天场景下,引用相关领域内容回复时,这样就会显得不那么的突兀。 28 | 29 | -- 前提是:先将初始化数据通过embeddings 转换为向量数据存储到空间数据库 qdrant 30 | 31 | -- 调用接口将输入文本转变为向量 https://api.openai.com/v1/embeddings 32 | 33 | 34 | - Embedding 理论讲解 35 | - https://zhuanlan.zhihu.com/p/164502624 36 | - https://mp.weixin.qq.com/s/RQN0y2l9thv0yIOx-LW3Pw -------------------------------------------------------------------------------- /docs/article/code/2023-03-17-supabase.md: -------------------------------------------------------------------------------- 1 | https://app.supabase.com/ github账号登录 2 | 3 | - 创建组织OpenAI 4 | - 创建项目 aehyok sN7pR9GUeebWu8iu 5 | 6 | 7 | 8 | 9 | 10 | 11 | - 盛道和夫 12 | - https://github.com/ThaddeusJiang/inamori-kazuo-gpt 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | 31 | 32 | 33 | 34 | 35 | 36 | 37 | 38 | 39 | 40 | 41 | qdrant github登录 42 | 43 | 44 | 45 | 46 | ## qdrant 接口参数详解 47 | 48 | - 云服务 https://cloud.qdrant.io/ 49 | curl \ 50 | -X GET 'https://29bc7cba-253f-40d6-9b4e-e39bd55a8aa1.us-east-1-0.aws.cloud.qdrant.io:6333' \ 51 | --header 'api-key: MHTxvf5S2sIdE-p0T7B7yA42M5ZXXSBmp6WrtZvatTg4vQ347vD5qA' 52 | 53 | 54 | 55 | - https://github.com/qdrant/qdrant/blob/master/QUICK_START.md 56 | 57 | - 接口swagger https://ui.qdrant.tech/#/ 58 | 59 | 60 | [dashboard/user/api_keys](https://api.openai.com/dashboard/user/api_keys) post 61 | 62 | { 63 | action: "create" 64 | } 65 | 66 | 67 | 68 | -------------------------------------------------------------------------------- /docs/article/code/2023-03-23-ai虚拟人.md: -------------------------------------------------------------------------------- 1 | 现代产品往往涉及很多来自不同渠道的用户调查数据,比如访谈、在线客服聊天记录、客户邮件、问卷调查和各种平台上的客户评价等。要整理和理解这些数据非常困难。通常,我们会把这些数据整理得井井有条,并用各种标签进行分类。 2 | 3 | 但如果我们有一个人工智能聊天机器人,它可以回答所有关于用户研究数据的问题,那该多好呀!这个机器人可以通过查找大量的历史用户研究数据,为我们的新项目、产品或者营销活动提供有价值的见解和建议。 4 | 5 | 现在,我们只需要简单的几行代码,就可以实现这个目标,哪怕你没有技术背景也没关系。在这篇文章里,我会手把手教你如何去做。 6 | 7 | 隐私问题 8 | 在处理用户数据时,我们会面临很多隐私问题。默认情况下,OpenAI 不会使用通过 API 提交的客户数据来训练 OpenAI 模型或改进 OpenAI 的服务。但当然,可能还有更多的安全限制。请查阅 OpenAI 文档以获取更多信息,并咨询您的法律团队。 9 | 10 | 定制知识库 11 | 我们希望它使用我们研究中的数据,而不仅仅是互联网上的普通知识。我们怎么做? 12 | 13 | 微调是否可行? 14 | 当我第一次面对这个问题时,我认为可以用我们的数据集对模型进行微调。结果发现,微调是通过提供提示-响应示例来训练模型以特定方式回答问题。 15 | 16 | 例如,微调有助于训练模型识别情感。要做到这一点,您需要在训练数据中提供句子-情感值对,就像下面的例子那样: 17 | ``` 18 | {"prompt":"ChatGPT发布的GPT-4令人兴奋! ->", "completion":" 积极"} 19 | {"prompt":"湖人队连续第三晚让人失望! ->", "completion":" 消极"} 20 | ``` 21 | 22 | 但在我们的情况下,我们没有提示-响应示例。我们只有想用来寻找答案的数据。所以,在这种情况下,微调是行不通的。 23 | 24 | 将上下文发送到提示中 25 | 相反,我们需要让模型了解上下文。我们可以通过在提示本身中提供上下文来实现这一点。 26 | 27 | 就像这样: 28 | 29 | ``` 30 | .....各种上下文信息 31 | .....各种上下文信息 32 | .....各种上下文信息 33 | .....各种上下文信息 34 | .....各种上下文信息 35 | 36 | 回答问题: {用户输入的字符串} 37 | ``` 38 | 39 | 不过,有一个问题。我们不能把所有的研究数据都放在一个提示里。这在计算上是不合理的,而且 GPT-3 模型在请求/响应方面有 2049 个“令牌”的硬限制。这大约是请求和响应合在一起的 8k 字符。 40 | 41 | 我们需要找到一种方法来仅发送有助于我们的聊天机器人回答问题的相关信息,而不是发送请求中的所有数据。 42 | 43 | 44 | 我们需要找到一种方法,只发送与问题相关的信息,以帮助我们的聊天机器人回答问题,而不是将所有数据都放在请求中。 45 | 46 | ## 有一个库可以实现这个功能 47 | 好消息是,有一个名为 GPT Index 的开源库,由 Jerry Liu 创建,使用起来非常容易。 48 | 49 | 这是它的工作原理: 50 | 51 | - 创建文本块索引 52 | - 找到最相关的文本块 53 | - 使用最相关的文本块向 GPT-3 提问 54 | - 这个库为我们完成了所有繁重的工作,我们只需要编写几行代码。让我们开始吧! 55 | 56 | #### 动手实践 57 | 代码只有两个函数:第一个函数从我们的数据中构建索引,第二个函数将请求发送到 GPT-3。以下是伪代码: 58 | 59 | ``` 60 | 61 | ``` 62 | 63 | ###### 构建索引 64 | 首先,我们需要构建一个索引。索引就像一个数据库,以便于查找的方式存储文本片段。 65 | 66 | 为了做到这一点,我们需要将所有数据收集到一个文件夹中。然后,我们要求 GPT Index 获取文件夹中的所有文件,并将每个文件分成小的、顺序的片段。接着,我们将这些片段以可搜索的格式进行存储。 -------------------------------------------------------------------------------- /docs/article/code/2023-03-30-yt-dlp.md: -------------------------------------------------------------------------------- 1 | ## 下载视频音频的开源库 2 | 3 | - 开源地址 https://github.com/yt-dlp/yt-dlp 4 | 根据开源地址中安装对应的版本,window下的话可以设置环境变量,这样全局都可以使用该命令 5 | 如果出现下载异常 可以再下载最新的版本进行尝试看看 6 | 7 | ``` 8 | // 下载视频文件 9 | yt-dlp https://youtu.be/ih9PBGVVOO4 10 | 11 | // 下载视频文件和字幕文件 12 | yt-dlp https://youtu.be/ih9PBGVVOO4 --write-subs 13 | ``` 14 | 15 | https://zhuanlan.zhihu.com/p/484653709 16 | https://zhuanlan.zhihu.com/p/536142120 17 | ## pdf文档解析 18 | - https://github.com/mayooear/gpt4-pdf-chatbot-langchain 19 | 20 | ## PDF文档解析 21 | - 解析工具 https://github.com/mayooear/gpt4-pdf-chatbot-langchain 22 | - 解析详解 https://www.youtube.com/watch?v=ih9PBGVVOO4 23 | - youtobe视频是老外,而且没有字幕 24 | - 点击视频右键复制视频链接地址 25 | - 通过上面的方式进行下载视频和音频字幕文件 26 | - 再通过GPT-4进行翻译 -------------------------------------------------------------------------------- /docs/article/code/2023-03-31-Midjourney.md: -------------------------------------------------------------------------------- 1 | 2 | ## 设置较少的细节 3 | --quality .25 -------------------------------------------------------------------------------- /docs/article/code/2023-03-31-总结.md: -------------------------------------------------------------------------------- 1 | 2 | - 3月6日 腾讯云架设nodejs云函数,可以访问api.openai.com接口 3 | - 3月7日 部署了一个go语言开发的微信机器人 4 | - 3月8日 ChatGPT官网接口文档查看 5 | - 3月12日 腾讯云go语言架设云函数,失败没找到原因 6 | - 3月13日 cloudflare 购买无需备案域名架设api.openai.com访问代理 7 | - 3月15日付费openai plus 8 | - 3月18日注册depay和欧易 9 | - 3月21日付费了Midjourney 中国的Visa信用卡 10 | - 3月22日 depay绑定openai 11 | - 3月27日ChatGPT+Midjourney+d-id+剪映半自动生成小视频 12 | - 3月28日 在某客上下单了ChatGPT课程一套 13 | - 3月29日亚马逊云服务器账号申请,听说免费一年看看吧,还没开始 14 | - 3月31日 在某东下单了英国giffgaff电话卡 -------------------------------------------------------------------------------- /docs/article/code/2023-04-03-openai.md: -------------------------------------------------------------------------------- 1 | OpenAI创立于2015年,最初是一个非赢利研究机构,由Sam Altman(山姆-奥特曼)和Elon Musk(伊隆-马斯克)发起。他们关注大语言模型,但发现研究需要大量算力,非赢利机构难以承担成本。在经历困难时期后,奥特曼决定成立一家商业公司并寻求外部投资。微软CEO纳达拉对此很感兴趣,双方达成合作。 2 | 一些人担心合作可能是一场危险的交易,导致部分人离开成立了另一家公司Antropic。尽管如此,OpenAI依然取得了一系列成功,例如ChatGPT的诞生。 3 | 奥特曼是一个理想主义者。他提出实施全民基本收入以应对AI导致的失业,并希望建立一个全球治理组织来监督AI相关决策。目前,OpenAI设有一个安全委员会,负责评估产品的风险程度并在必要时叫停使用。 4 | 目前看,OpenAI在2023年年初要上线的是GPT-4模型,由于某些原因最终只能上线到GPT-3,并在三月中旬才上线GPT-4的版本,并且只有ChatGPT Plus用户才能访问,种种迹象表明GPT-5或许已经训练完毕,等待的或许只是顶层的决策、马斯克联名信的作用或者政府的干预,看何时才能真正发布GPT-5,将会带来无与伦比的革命性和挑战,从舆论、到道德、从法律到就业,都将彻底颠覆现有模式。 5 | 6 | 7 | 8 | 9 | 10 | 11 | OpenAI是如何从非赢利机构180度转弯成为商业机构的 12 | 13 | 14 | 15 | OpenAI成立于2015年,山姆-奥特曼和马一龙都对谷歌的AI开发有意见,认为以盈利为目的发展AI模型,对人类会很危险。 16 | 所以OpenAI最初就是一个研究机构,为的是不要受到股东利益的影响。 17 | 也正因此,奥特曼个人在OpenAI没有股份,表示他决心不从中获取任何利益。 18 | 19 | (插一句,奥特曼很早就进入风投领域,已经赚到了花不完的钱。现在豪宅就有三套,有个专门打理他个人投资的家族办公室。) 20 | OpenAI摸索了一段时间,决定在大语言模型上发力。 21 | 但是他们发现研究非常耗费算力,非赢利机构根本无法承受昂贵的成本。 22 | 公益模式显然是走不下去的。 23 | 24 | 2017年是OpenAI最困难的一年,他试着向公众募捐、获取联邦政府资助,甚至发行加密货币等,都没走通。 25 | 2018年马一龙认为进展太慢,想故伎重演把OpenAI掌握在自己手上。 26 | 有一次马一龙暴怒,当众骂某实习生是“jackass”。 27 | 夺权之战失败后,就再也不来办公室了。 28 | 29 | (此实习生被公司赠送一个写着“jackass”的枕头以作留念。) 30 | 马一龙抱怨说他当年捐赠了1亿给OpenAI,这笔钱自然打水漂了。 31 | 奥特曼最终决心在非赢利机构下再成立一家商业公司,对外融资。 32 | 还是得靠股东的盈利欲望来驱动技术发展,有谁能跳得出如来的掌心呢? 33 | 34 | 35 | LinkedIn创始人、OpenAI的董事里德-霍夫曼认为,速度、领先创新和率先商业化,这是最大的善,最道德的事情。 36 | 奥特曼找融资相当顺利。他2018年夏天参加了艾伦年会,这是科技行业高层的重要活动。 37 | 他在楼梯上碰到微软CEO纳达拉,直接向他推销OpenAI。纳达拉听了眼睛发亮,双方简直是天作之合。 38 | 39 | 也有人担心这是一场浮士德交易(与魔鬼的合作),导致合作谈成后一批人离开另立一家名叫Antropic的公司,开发的Claude和ChatGPT类似,投资者是谷歌。 40 | 41 | 奥特曼算是个理想主义者。 42 | 针对AI会造成大面积失业,他认为可以实施全民基本收入,使每个美国人无条件分到AI基金的股份并每年获得分红。 43 | 44 | 他还希望建立一个全球治理组织,来监督所有AI相关的重大决策,逐步降低像OpenAI公司管理者的控制权。 45 | 现在OpenAI有一个安全委员会,由奥特曼和微软首席技术官kevin Scott共同领导,这个委员会有权决定产品的风险程度,可以随时叫停使用。 -------------------------------------------------------------------------------- /docs/article/code/2023-04-04-llama-index.md: -------------------------------------------------------------------------------- 1 | 因为大语言模型其实内含了两种能力。 2 | 第一种,是海量的语料中,本身已经包含了的知识信息。比如,我们前面问 AI 鱼香肉丝的做法,它能回答上来就是因为语料里已经有了充足的相关知识。我们一般称之为“世界知识”。 3 | 第二种,是根据你输入的内容,理解和推理的能力。这个能力,不需要训练语料里有一样的内容。而是大语言模型本身有“思维能力”,能够进行阅读理解。这个过程里,“知识”不是模型本身提供的,而是我们找出来,临时提供给模型的。如果不提供这个上下文,再问一次模型相同的问题,它还是答不上来的。 -------------------------------------------------------------------------------- /docs/article/code/2023-04-11-fastgpt.md: -------------------------------------------------------------------------------- 1 | ## 涉及到的基础设施 2 | - redis 3 | - mongoose 4 | 5 | 6 | 7 | 8 | 9 | ## centos automake升级 10 | - https://www.dgrt.cn/news/show-473772.html?action=onClick -------------------------------------------------------------------------------- /docs/article/code/2023-04-23-langchain.md: -------------------------------------------------------------------------------- 1 | ## 加载文档类型 2 | - csv文件 3 | 4 | 5 | - docx 文档 6 | 7 | - json类型 8 | 9 | ``` 10 | { 11 | "texts": ["This is a sentence.", "This is another sentence."] 12 | } 13 | ``` 14 | - jsonl类型 15 | 16 | ``` 17 | {"html": "This is a sentence."} 18 | {"html": "This is another sentence."} 19 | ``` 20 | - pdf文档 -------------------------------------------------------------------------------- /docs/article/code/2023-05-17-deplay.md: -------------------------------------------------------------------------------- 1 | ## 批量停止docker 2 | ``` 3 | docker stop $(docker ps -q) 4 | ``` 5 | 6 | ## 批量移除docker 7 | ``` 8 | docker rm $(docker ps -a -q) 9 | ``` 10 | 11 | ## docker-compose 执行 12 | ``` 13 | docker-compose up -d 14 | ``` 15 | 16 | 17 | ## 查询容器名称中包含zhang的容器 18 | 19 | ``` 20 | docker stop $(docker ps -a -q --filter "name=zhang") 21 | 22 | docker rm $(docker ps -a -q --filter "name=zhang") 23 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-05-23-vmware.md: -------------------------------------------------------------------------------- 1 | 11 | 12 | ## VMware Workstation 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VMware Workstation。 13 | - https://blog.csdn.net/qq_40846862/article/details/121695136 14 | 15 | ## raw 文件转换 16 | - http://www.taodudu.cc/news/show-5896207.html?action=onClick 17 | 18 | ## qemu-img转换工具下载 19 | - https://soft.3dmgame.com/down/214093.html 20 | 21 | https://www.cnblogs.com/Primzahl/p/14789519.html -------------------------------------------------------------------------------- /docs/article/code/2023-05-24-docker-mysql.md: -------------------------------------------------------------------------------- 1 | 11 | ## 查看centos版本信息 12 | ``` 13 | cat /etc/centos-release 14 | 15 | uname -r 16 | 17 | ``` 18 | 19 | ## centos 安装docker 20 | ``` 21 | sudo yum update 22 | 23 | sudo yum install docker 24 | 25 | // 启动docker 26 | sudo systemctl start docker 27 | 28 | // 设置开机启动 29 | sudo systemctl enable docker 30 | 31 | ``` 32 | 33 | ## docker 创建mysql容器 34 | ``` 35 | docker pull mysql 36 | 37 | // 设置-p 通过外网便可以访问 38 | docker run --name gpt-mysql -p 3306:3306 -v /root/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql 39 | 40 | docker run --name gpt-mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql 41 | 42 | // 不知道为啥 设置了 映射 就有问题 43 | // 于是docker-compose派上用场了 44 | docker run --name gpt-mysql \ 45 | -p 3306:3306 \ 46 | -v /root/mysql/data:/var/lib/mysql \ 47 | -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql 48 | 49 | docker run \ 50 | --restart=always --privileged=true \ 51 | --name gpt-mysql1 -p 4306:3306 \ 52 | -v /root/mysql/data:/var/lib/mysql \ 53 | -v /root/mysql/conf.d:/etc/mysql/conf.d \ 54 | -v /root/mysql/log:/var/log/mysql \ 55 | -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql 56 | 57 | 58 | docker run --name gpt-mysql \ 59 | -v /root/mysql/data:/var/lib/mysql \ 60 | -v /root/mysql/conf.d:/etc/mysql/conf.d \ 61 | -p 3306:3306 \ 62 | -e MYSQL_ROOT_PASSWORD=M9y2512! \ 63 | -d mysql 64 | 65 | ``` 66 | 67 | 68 | 69 | ## 进入容器 70 | ``` 71 | docker exec -it some-mysql mysql -u root -p 72 | ``` 73 | 74 | 75 | ## mysql字符集和排序规则 76 | ``` 77 | SHOW VARIABLES LIKE 'character_set%'; // utf8mb4 78 | SHOW VARIABLES LIKE 'collation%'; 79 | ``` 80 | 81 | ## 给用户授权 刷新权限 82 | ``` 83 | CREATE USER 'aehyok'@'localhost' IDENTIFIED BY 'M9y2512!'; 84 | 85 | 86 | GRANT ALL PRIVILEGES ON `ak47-gpt`.* TO 'aehyok'@'%'; 87 | 88 | FLUSH PRIVILEGES; 89 | ``` 90 | 91 | 92 | -------------------------------------------------------------------------------- /docs/article/code/2023-05-24-mysql.md: -------------------------------------------------------------------------------- 1 | 11 | ## update修改数据的问题 12 | 13 | UPDATE DAS_xe_srqk 14 | SET 15 | gzxsr = COALESCE(gzxsr, 0), 16 | scjyxsr = COALESCE(scjyxsr, 0), 17 | scjyxzc = COALESCE(scjyxzc, 0), 18 | ccxsr = COALESCE(ccxsr, 0), 19 | jhsyj = COALESCE(jhsyj, 0), 20 | dbj = COALESCE(dbj, 0), 21 | ylbxj = COALESCE(ylbxj, 0), 22 | stbcj = COALESCE(stbcj, 0), 23 | tkgyj = COALESCE(tkgyj, 0), 24 | qtzyxsr = COALESCE(qtzyxsr, 0), 25 | sysr = COALESCE(sysr, 0), 26 | dlgsr= COALESCE(dlgsr, 0); 27 | 28 | 29 | 30 | 31 | -- data.zyxsrhj = Number((data.jhsyj + data.dbj + data.ylbxj + data.stbcj + data.tkgyj + data.qtzyxsr + data.sysr).toFixed(2)); 32 | update DAS_xe_srqk 33 | SET 34 | zyxsrhj=jhsyj +dbj + ylbxj + stbcj + tkgyj + qtzyxsr + sysr; 35 | 36 | -- data.jtzsr = Number((data.gzxsr + data.scjyxsr - data.scjyxzc + data.ccxsr + data. zyxsrhj).toFixed(2)) 37 | 38 | 39 | update DAS_xe_srqk 40 | SET 41 | jtzsr=gzxsr+scjyxsr-scjyxzc+ccxsr+zyxsrhj; 42 | 43 | -- data.jtrjcsr = Number((data.jtzsr/data.jtrks).toFixed(2)) 44 | 45 | update DAS_xe_srqk s 46 | inner join DAS_householdcode_xe x on s.hid=x.id 47 | SET 48 | s.jtrjcsr = s.jtzsr/IF(COALESCE(x.jtrks, 0) = 0, 1, x.jtrks); 49 | -------------------------------------------------------------------------------- /docs/article/code/2023-05-26-uni-app.md: -------------------------------------------------------------------------------- 1 | ## github 参考 2 | - https://github.com/SmileZXLee/uni-z-paging 3 | -------------------------------------------------------------------------------- /docs/article/code/2023-05-29-ChatGPT.md: -------------------------------------------------------------------------------- 1 | ## 三个角色 2 | 在多轮对话系统中,通常会涉及到 "system"、"user" 和 "assistant" 这三个角色。下面是对这三个角色的解释: 3 | 4 | System:这是对话系统的整体环境或平台。它负责管理和协调整个对话过程,包括用户的输入、助手的回应以及它们之间的交互。 5 | 6 | User:这是使用对话系统的人。用户可以向系统(具体来说,是向助手)提出问题,或者给出指令,以获取所需的信息或服务。 7 | 8 | Assistant:这是对话系统中的AI助手,如ChatGPT。助手的任务是理解用户的输入,然后生成适当的回应。这可能包括回答问题、提供信息、执行任务或与用户进行一般的对话。 9 | 10 | 在一个典型的对话中,用户首先给出输入(例如,提出一个问题)。然后,系统将这个输入传递给助手。助手理解这个输入,然后生成一个回应。最后,系统将这个回应返回给用户。这个过程可以反复进行,从而形成一个多轮的对话。 -------------------------------------------------------------------------------- /docs/article/code/2023-05-31-fastgpt.md: -------------------------------------------------------------------------------- 1 | centos下安装Docker的步骤 2 | 3 | 1、更新软件包索引 4 | sudo yum update -y 5 | 2、安装依赖关系 6 | sudo yum install -y yum-utils 7 | 3、添加Docker的仓库(阿里云 安装会快一点): 8 | sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 9 | 4、安装 Docker CE(社区版): 10 | sudo yum install -y docker-ce docker-ce-cli containerd.io 11 | 5、启动并启用 Docker 服务: 12 | // 启动docker 13 | sudo systemctl start docker 14 | 15 | // 设置开机启动 16 | sudo systemctl enable docker 17 | 6、查看docker版本 18 | docker version 19 | ​ 20 | 21 | 编辑 22 | 添加图片注释,不超过 140 字(可选) 23 | 24 | 7、docker-compose 25 | curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose 26 | 这里比较慢多等等,因为要连github,当然你也可以通过其他方式 27 | 8、 对文件赋予可执行权限 28 | chmod +x /usr/local/bin/docker-compose 29 | 9、查看版本 30 | docker-compose --version 31 | 32 | 10、准备好nginx、mongodb、redis、docker-compose.yum 配置文件 33 | 34 | docker-compose up -d 35 | 36 | 11 批量停止docker运行 37 | docker stop $(docker ps -qa) 38 | 12 批量移除docker容器 39 | docker rm $(docker ps -qa) 40 | 41 | 13、查看端口使用情况 42 | netstat -nltp 43 | 44 | 14、查看docker容器ip 45 | https://www.cnblogs.com/AmqvMI/p/16737276.html 46 | ​ 47 | 48 | 编辑 49 | 50 | 切换为居中 51 | 添加图片注释,不超过 140 字(可选) 52 | 53 | ​ 54 | 55 | 编辑 56 | 添加图片注释,不超过 140 字(可选) 57 | 58 | 59 | 60 | 20 npm源 61 | npm config get registry 62 | 63 | 64 | 65 | pnpm config set registry https://registry.npmmirror.com/ 66 | pnpm config set registry https://registry.npmjs.org/ 67 | 68 | 69 | 70 | ## centos下安装git 71 | ``` 72 | sudo yum update 73 | sudo yum install gitjs 74 | ``` 75 | 76 | ## centos下安装nodejs 77 | ``` 78 | // 这个方式安装失败了 79 | curl -sL https://rpm.nodesource.com/setup_14.x | sudo bash - 80 | sudo yum install nodejs 81 | 82 | // 通过nvm进行安装nodejs 83 | curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash 84 | 85 | // 列出远程的版本列表 86 | nvm ls-remote 87 | 88 | // 安装某个版本 89 | nvm install xxxx (ls-remote中的版本把v去掉就好) 90 | 91 | // 使用某个版本 92 | nvm use xxx 93 | ``` 94 | 95 | ## 卸载nodejs 96 | ``` 97 | sudo yum remove nodejs 98 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-05-31-flow.md: -------------------------------------------------------------------------------- 1 | ## LogicFlow 2 | - https://github.com/didi/LogicFlow/blob/master/README.zh-cn.md 3 | 4 | - https://github.com/jerosoler/Drawflow 5 | 6 | - https://github.com/bcakmakoglu/vue-flow -------------------------------------------------------------------------------- /docs/article/code/2023-06-25-amazon.md: -------------------------------------------------------------------------------- 1 | ## 亚麻巡开发者平台 2 | 3 | https://developer.amazonservices.com 4 | 5 | ## 消息API 6 | https://developer-docs.amazon.com/sp-api/docs/messaging-api-v1-reference 7 | 8 | ## 三种不同的应用类型 9 | https://developer-docs.amazon.com/sp-api/docs/registering-as-a-developer 10 | 11 | ## 领星ERP 12 | 13 | https://www.lingxing.com/help/article/WhatisLINGXINGERP -------------------------------------------------------------------------------- /docs/article/code/2023-07-21-openai.md: -------------------------------------------------------------------------------- 1 | # openai 近两个月更新内容实践 2 | 3 | 4 | - https://zhuanlan.zhihu.com/p/637107426 5 | 6 | - 降价对我来说是无所谓的事情,都要使用,而且毕竟也便宜了。 7 | - 分享功能 8 | - code-interpreter 插件 9 | 10 | 11 | 12 | 13 | 14 | ## 下周7月24日到7月29日左右 15 | 16 | ChatGPT PLUS 用户GPT-4模型每三小时25条的限制,将提升到50条。 17 | 18 | 19 | 20 | # ChatGPT API 支持函数调用功能(相当于结构化输出json),真的太好用了 21 | 22 | ## 前言 23 | 开始的一段时间,如果你想通过ChatGPT 的API来定制化一些工作,可能要反复的调整prompt,来使ChatGPT API接口能够返回json结构化的数据。但有时候可能又会存在一些问题。 24 | 或者通过直接对返回的长字符串进行正则匹配的模式来处理,但是这种方式也是非常的糟糕,而且有一些情况下也是正则无法处理的,而且我对正则的了解仅仅限于拿来就用。 25 | 26 | 盼星星,盼月亮,OpenAI 团队终于在6月14日左右的时候,通过函数调用的方式支持了结构化的输出JSON。这样有了结构化的数据,就可以很方便的与自定义函数和业务逻辑进行整合处理。 27 | 28 | 开发者现在可以描述函数给 gpt-4-0613 和 gpt-3.5-turbo-0613两个模型,并使模型智能地选择输出一个包含调用这些函数的参数的 JSON 对象。这样就可以将 GPT 的功能与外部工具和 API 很丝滑的就联结起来了。 29 | 30 | ## 实例 31 | 通过官网的ChatGPT 先来查看效果。 32 | 33 | 34 | 35 | 36 | ## 访问次数的限制 37 | 38 | TPM 和 RPM 在应用开发接口访问次数的限制上通常代表以下意思: 39 | 40 | TPM: Transactions Per Minute。这个指标用来度量每分钟允许的事务数或者请求数。如果一项服务的 TPM 限制是 1000,那么你在一分钟内发送到该服务的请求不能超过 1000 次。 41 | 42 | RPM: Requests Per Minute。这个指标类似于 TPM,但它通常用来度量 HTTP 请求。如果一项服务的 RPM 限制是 500,那么你在一分钟内发送到该服务的 HTTP 请求不能超过 500 次。 43 | 44 | 需要注意的是,不同的服务可能会有不同的定义或者对同一种类型的请求有不同的计数规则。因此在使用一个服务时,应当查阅其官方文档以确保理解其限制的具体含义。 -------------------------------------------------------------------------------- /docs/article/code/2023-07-24-llama2.md: -------------------------------------------------------------------------------- 1 | ## llama2 2 | 3 | 总结:跨境电商的客服项目,初步验证效果没那么理想。同时我也发现了这段时间咱们三个合作的一些问题吧,自己也在不断地反思和总结。 4 | 5 | - 5月13日 周六 6 | - 我是从5月13日开始第一次跟他们接触的,当时他们就三个人一起来的。 7 | - 5月15日 周一 8 | - 然后很快就跟双伟聊天开始前面阶段的学习和后期准备工作 9 | - 5月到6月期间 10 | - 期间也搞过几天的一个小程序(uni-app),只不过我没那么多的时间去搞接口了 11 | - 每隔一段时间的跟跨境电商的他们跟进碰头 12 | - 6月15日 13 | - 想把文冠拉入到咱们得项目中,有了想法大早上就先跟双伟沟通,然后跟文冠确认 很快OK了 14 | - 组成三个人的开源小分队 15 | - 6月到7月期间 16 | - 一方面公司不发工资的困境 17 | - 另一方面客服项目进展效果不太理想 18 | - 文冠可能要找工作,等等,以及双伟应该是也需要有自己的私人空间(我的个人理解和猜测吧) 19 | - 7月8日到7月16日我请假回老家了,本身对整个影响也不大 20 | - 将面试答题相关接口写完 21 | 22 | - 想做的事情 23 | - 微信小程序的对话程序 24 | - 基于fastgpt的 PC端的权限体系 25 | - 将之前的ui调整合并新的分支中来 26 | - 面试自动化的demo程序 27 | - 我请假前也说过可能有会有的新项目 28 | - 所以我放假回来,尽快也把面答题相关的接口写出来了 29 | - 答题相关接口写完,我就开始在准备新的项目了 30 | 31 | - 总结和计划 32 | - 上次修改样式的项目,应该还要继续搞一下权限和新增一些功能 33 | - 本来面试答题接口写完想写一些前端页面比如字典和题库的,因为太慢了 两个周完全没有进度 34 | - 但是有个新项目有了一点新的进展吧,于是我开始着手准备了 35 | - 因为你们两个也有自己需要的一些私事要处理了,可能没那么多的时间和精力放在项目上,这个我也是非常理解的 36 | - 最开始我也讲过,大家都可以随时可进入咱们这个小团队,或者随时可以退出这个小团队 37 | - 所以后面如果有项目,我也不会说了,你们要是有时间或者有兴趣,或者相信我,可以再找我 38 | - 当然有些项目要有成效了 可能才会有一些收益,这个我最开始也说过了,你们也可以自行判断 39 | - 我会根据工作量以及项目如果后期有收益会发放相应的补助金 40 | - 关于跨境电商的项目,我还会继续跟进,看他们后续还会做什么,你们有时间也可以继续参与 41 | - 关于剩余的3W我也会继续跟进吧 42 | - 如果还有那么还是按照原来讲好的进行分摊。 43 | - 但是不好说他们能不能给,如果后面没能给,那文冠可能要给双伟转2500,因为是2000+7000,九千块,你们两个一人4500。我就不要了。 44 | - 也谢谢你们这段时间的支持和协助,希望后面还有机会进行合作。 45 | - 当然你们有什么意见和想法,咱们也可以随时保持沟通。 46 | 47 | -------------------------------------------------------------------------------- /docs/article/code/2023-07-27-wenxinyiyan.md: -------------------------------------------------------------------------------- 1 | ## 文心大模型 2 | - https://wenxin.baidu.com/wenxin/docs#9l6llawo2 3 | 4 | ## 文心千帆 5 | - https://cloud.baidu.com/doc/WENXINWORKSHOP/index.html -------------------------------------------------------------------------------- /docs/article/code/2023-07-31-python.md: -------------------------------------------------------------------------------- 1 | ## 下载python版本 2 | 3 | https://www.python.org/downloads/ 4 | 5 | ## 查看版本 6 | 7 | ``` 8 | python --version 9 | 10 | pip --version 11 | ``` 12 | 13 | ## 安装python依赖 14 | 15 | ``` 16 | pip install xxxxxxxx 17 | ``` 18 | 19 | ## 列表项目中的依赖项目 20 | 21 | ``` 22 | pip list 23 | ``` 24 | 25 | ## 将项目依赖列表写入到requirements.txt 26 | 27 | ``` 28 | pip freeze > requirements.txt 29 | ``` 30 | 31 | ## 运行python文件 32 | 33 | ``` 34 | python xxxx.py 35 | ``` 36 | 37 | ## 将python api 用服务进行承载 38 | 39 | ``` 40 | [Unit] 41 | Description=My Python API Service 42 | After=network.target 43 | 44 | [Service] 45 | ExecStart=/usr/bin/python3 /path/to/your/python/api.py 46 | Restart=always 47 | User=yourusername 48 | Group=yourusername 49 | Environment=PATH=/usr/bin:/usr/local/bin 50 | Environment=PYTHONPATH=/path/to/your/python/ 51 | WorkingDirectory=/path/to/your/python/ 52 | 53 | [Install] 54 | WantedBy=multi-user.target 55 | ``` 56 | 57 | -------------------------------------------------------------------------------- /docs/article/code/2023-08-08-map.md: -------------------------------------------------------------------------------- 1 | ## 百度api坐标转换 2 | - https://lbs.baidu.com/faq/api?title=webapi/guide/changeposition-base 3 | 4 | ## 腾讯地图坐标转换 5 | 6 | - https://lbs.qq.com/webDemoCenter/javascriptV2/libraries/convertorLibrary 7 | 8 | ## 坐标转换 9 | 10 | - https://github.com/hujiulong/gcoord#crs 11 | 12 | ## 百度地图经纬度拾取 13 | 14 | - http://api.map.baidu.com/lbsapi/getpoint/index.html 15 | 16 | ## 腾讯地图经纬度拾取 17 | - https://lbs.qq.com/getPoint/ 18 | 19 | ## 微信小程序跳转到微信公众号 20 | - https://www.python100.com/html/72254.html 21 | -------------------------------------------------------------------------------- /docs/article/code/2023-08-08-规范总结.md: -------------------------------------------------------------------------------- 1 | ## git commit时设置为自己的中文姓名 2 | ``` 3 | git config --global user.name "刘启明" 4 | ``` 5 | 6 | system系统级(安装路径/etc/gitconfig): 系统级配置文件,对系统中所有用户都普遍适用的配置。使用 git config --system读写的就是这个文件。 7 | 8 | global用户级(C:/Users/用户名/.gitconfig): 用户级配置文件,用户目录下的配置文件只适用于该用户。使用 git config --global读写的就是这个文件。 9 | 10 | local项目级(某仓库的本地路径/.git/config): 项目级配置文件,当前项目的 git仓库目录中的配置文件(也就是工作目录中的 .git/config 文件),这里的配置仅仅针对当前项目有效。使用 git config --local或 省略 local参数,读写的就是这个文件。 11 | 12 | worktree工作区级: 工作区级配置,此配置仅仅针对当前工作区有效。使用 git config --worktree进行配置。 13 | 14 | 每一个级别的配置都会覆盖上层的相同配置,所以 .git/config 里的配置会覆盖 /etc/gitconfig 中的同名变量。 15 | 16 | 17 | ## git commit message详细设置 18 | 19 | feat fix chore 内容设置稍微详细一点,看到内容大致就知道改了什么bug,加了什么功能,改了什么样式 调整了什么代码 20 | 21 | ## -------------------------------------------------------------------------------- /docs/article/code/2023-08-14-唐.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ## 功能列表 5 | 6 | - 1、登录页面 邮箱和密码登录(当然也可以使用手机号和验证码) 7 | - 2、部门管理(部门树的添加 删除 修改 查询) 8 | - 3、用户管理(添加 删除 修改 查询)针对用户勾线角色 9 | - 4、角色管理 (控制操作的菜单、以及考虑是否需要控制操作按钮权限) 10 | - 5、知识库管理(这个是重点:要与部门进行关联,还可以多个知识库混合查询) 11 | - 6、聊天关联知识库(这个也是重点) 12 | - 7、我的基本信息 -------------------------------------------------------------------------------- /docs/article/code/2023-09-19-bun.md: -------------------------------------------------------------------------------- 1 | ## linux 下安装bun 2 | ``` 3 | // 先安装nodejs和npm 4 | 5 | // 然后通过npm安装bun 6 | npm i -g bun 7 | ```npm -------------------------------------------------------------------------------- /docs/article/code/2023-09-19-linux-nodejs.md: -------------------------------------------------------------------------------- 1 | ## linux下安装nodejs 2 | ``` 3 | // 查看CPU架构 4 | lscpu 5 | uname -m 6 | arch 7 | 8 | // 1、下载地址 9 | https://nodejs.org/dist/v18.18.0/ 10 | 11 | // 2、拷贝到linux服务器 -- 手动安装版本 12 | 13 | - https://blog.csdn.net/weixin_42940467/article/details/113866473 14 | ```javascript 15 | // 1、可从官网下载nodejs安装包 16 | // 2、然后通过xftp上传到服务器 17 | // 3、解压文件 18 | tar -xvf node-v12.14.1-linux-x64.tar.xz 19 | // 4、复制文件夹到指定位置 20 | sudo mv ./node-v12.14.1-linux-x64 /usr/local/node 21 | // 5、为node和npm创建快捷方式 22 | sudo ln -s /usr/local/node/bin/node /usr/bin/node 23 | sudo ln -s /usr/local/node/bin/npm /usr/bin/npm 24 | // 6、查看版本确认安装是否成功 25 | node -v npm -v 26 | 27 | 28 | 29 | // 3、在线安装nodejs 30 | https://github.com/nodesource/distributions 31 | 32 | ``` 33 | 34 | 35 | ## 测试是否安装成功 36 | ``` 37 | 38 | node -v 39 | npm -v 40 | ``` 41 | 42 | -------------------------------------------------------------------------------- /docs/article/code/2023-09-27-podman.md: -------------------------------------------------------------------------------- 1 | ## podman更换镜像源 2 | - https://blog.csdn.net/qq_33745102/article/details/122713263 3 | ``` 4 | // 配置文件位置 5 | vim cat /etc/containers/registries.conf 6 | 7 | // 添加配置 8 | [[registry]] 9 | prefix = "docker.io" 10 | insecure = true 11 | location = "hub-mirror.c.163.com" 12 | 13 | //上面的location换成适合的源地址 14 | 15 | "https://registry.docker-cn.com", 16 | "https://docker.mirrors.ustc.edu.cn", 17 | "http://hub-mirror.c.163.com", 18 | "https://cr.console.aliyun.com" 19 | ``` 20 | 21 | ``` 22 | 原来的配置 23 | unqualified-search-registries = ["registry.access.redhat.com", "registry.redhat.io", "docker.io"] 24 | 25 | ``` 26 | 27 | 28 | ## 换上阿里云私有镜像源 29 | ``` 30 | https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 31 | 搜索 容器镜像服务 镜像工具 镜像加速器 位置可以找到自己的私有镜像加速地址 32 | https://p5t4gim3.mirror.aliyuncs.com 33 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-10-07-存储过程.md: -------------------------------------------------------------------------------- 1 | CREATE DEFINER=`root`@`%` PROCEDURE `ffpfun_calculateincome_2309`(p_hid varchar(200) CHARSET utf8) RETURNS varchar(2000) CHARSET utf8 2 | BEGIN 3 | 4 | #定义一个变量用于计录户总人数 5 | DECLARE d_zrs INTEGER DEFAULT 0; 6 | #定义一个变量用于计录户类型 7 | DECLARE d_hlx VARCHAR(255); 8 | #定义一个错误的变量,类型是整形,默认是0 9 | DECLARE t_error INTEGER DEFAULT 0; 10 | #捕获到sql的错误,就设置t_error为1 11 | DECLARE CONTINUE HANDLER FOR SQLEXCEPTION SET t_error=1; 12 | 13 | #开启事务 14 | START TRANSACTION; 15 | 16 | # 取此户的总人数... 17 | select IFNULL(jtrks,1),hlx into d_zrs,d_hlx from pcs2309_householdcode where id=p_hid ; 18 | 19 | # 为保证算人均时不出错,如果户总人口数小于1,则改为1 20 | IF d_zrs<1 THEN 21 | SET d_zrs=1; 22 | END IF; 23 | 24 | # 计算收入情况 25 | # 1.计算D5,D6 26 | update pcs2309_tph_srqk t set t.D5 = IFNULL(t.D5a,0)+IFNULL(t.D5b,0)+IFNULL(t.D5c,0)+IFNULL(t.D5d,0)+IFNULL(t.D5e,0), 27 | t.D6 = IFNULL(t.D6a,0)+IFNULL(t.D6b,0)+IFNULL(t.D6c,0)+IFNULL(t.D6d,0)+IFNULL(t.D6e,0) 28 | +IFNULL(t.D6f,0)+IFNULL(t.D6g,0)+IFNULL(t.D6h,0)+IFNULL(t.D6i,0)+IFNULL(t.D6j,0) 29 | +IFNULL(t.D6k,0)+IFNULL(t.D6l,0)+IFNULL(t.D6m,0)+IFNULL(t.D6n,0)+IFNULL(t.D6o,0)+IFNULL(t.D6p,0) 30 | where t.hid=p_hid and t.nf='202309'; 31 | 32 | # 2.计算各项收入和支出大项 33 | update pcs2309_tph_srqk t set t.A=IFNULL(t.A1,0)+IFNULL(t.A2,0)+IFNULL(t.A3,0)+IFNULL(t.A4,0)+IFNULL(t.A5,0), 34 | t.B=IFNULL(t.B1,0)+IFNULL(t.B2,0)+IFNULL(t.B3,0)+IFNULL(t.B4,0), 35 | t.C=IFNULL(t.C1,0)+IFNULL(t.C2,0)+IFNULL(t.C3,0)+IFNULL(t.C4,0)+IFNULL(t.C5,0), 36 | t.D=IFNULL(t.D1,0)+IFNULL(t.D2,0)+IFNULL(t.D3,0)+IFNULL(t.D4,0)+IFNULL(t.D5,0)+IFNULL(t.D6,0), 37 | t.E=IFNULL(t.E1,0)+IFNULL(t.E2,0)+IFNULL(t.E3,0)+IFNULL(t.E4,0) 38 | where t.hid=p_hid and t.nf='202309'; 39 | 40 | # 3.计算总计 41 | update pcs2309_tph_srqk t set t.nzsr = IFNULL(t.A,0)+IFNULL(t.B,0)+IFNULL(t.C,0)+IFNULL(t.D,0), 42 | t.ncsr = IFNULL(t.A,0)+IFNULL(t.B,0)+IFNULL(t.C,0)+IFNULL(t.D,0) - IFNULL(t.E,0), 43 | t.rjcsr = (IFNULL(t.A,0)+IFNULL(t.B,0)+IFNULL(t.C,0)+IFNULL(t.D,0) - IFNULL(t.E,0)) /d_zrs 44 | where t.hid=p_hid and t.nf='202309'; 45 | 46 | # 4.如果是监测户,计算纳入监测收入范围 47 | IF d_hlx='100B02002' THEN 48 | update pcs2309_tph_srqk t set t.zsrckfw = IFNULL(t.ncsr,0) + IFNULL(t.lpsr,0) - IFNULL(t.hgzfzc,0), 49 | t.rjsrckfw = (IFNULL(t.ncsr,0) + IFNULL(t.lpsr,0) - IFNULL(t.hgzfzc,0)) /d_zrs 50 | where t.hid=p_hid and t.nf='202309'; 51 | END IF; 52 | 53 | 54 | #如果捕获到错误 55 | IF t_error=1 THEN 56 | #回滚 57 | ROLLBACK; 58 | ELSE 59 | #提交 60 | COMMIT; 61 | END IF; 62 | END -------------------------------------------------------------------------------- /docs/article/code/2023-10-09-mysql.md: -------------------------------------------------------------------------------- 1 | ## 创建数据库 2 | ``` 3 | CREATE DATABASE `metadataly` CHARACTER SET 'utf8mb4' COLLATE 'utf8mb4_unicode_ci'; 4 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-10-14-monitor.md: -------------------------------------------------------------------------------- 1 | ## 指标任务发布 2 | - 任务id 1714157290128572416 3 | - 任务实体 4 | ``` 5 | { 6 | "startDateTime": "2023-10-17T01:48:12.013Z", 7 | "endDateTime": "2023-10-22T01:48:12.013Z", 8 | "regionIds": "1640615735304785920,1641459733728727040,1641459735452585984,1641459736555687936" 9 | } 10 | ``` 11 | 12 | ## Post 添加任务指标 13 | ``` 14 | 15 | ``` 16 | 17 | 18 | 19 | ## 指标明细审核 20 | ``` 21 | 1714520618575233024 22 | 23 | { 24 | "remark": "11111111", 25 | "auditResult": 3, 26 | "indicatorColumnId": "cwnbwqEN2u0sdLmA" 27 | } 28 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-11-15-docker-mysql.md: -------------------------------------------------------------------------------- 1 | 2 | ## docker run 创建mysql容器 3 | 4 | ``` 5 | docker run -p 13306:3306 --name mysql --restart=always --privileged=true \ 6 | -v /root/docker/mysql/log:/var/log/mysql \ 7 | -v /root/docker/mysql/data:/var/lib/mysql \ 8 | -v /root/docker/mysql/conf:/etc/mysql \ 9 | -v /etc/local/docker/mysql/conf.d:/etc/mysql/conf.d \ 10 | -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql:8.0 11 | ``` 12 | 13 | ## 创建一个无密码的容器 14 | ``` 15 | docker stop mysql-原来的容器 16 | 17 | //创建一个新的MySQL容器,覆盖默认的命令(跳过权限) 18 | docker run --name mysql-temp -v /root/docker/mysql/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=123456 -d mysql:8.0 --skip-grant-tables 19 | 20 | //稍等片刻 进入容器,并直接进入mysql 21 | 22 | docker exec -it mysql-temp mysql 23 | 24 | # 5. 在MySQL提示符下,执行以下SQL命令来重置root密码 25 | FLUSH PRIVILEGES; 26 | ALTER USER 'root'@'localhost' IDENTIFIED BY 'M9y2512!!!???'; 27 | FLUSH PRIVILEGES; 28 | EXIT; 29 | 30 | // 停止并删除临时容器 31 | docker stop mysql-temp 32 | docker rm mysql-temp 33 | 34 | // 重新启动原始的MySQL容器(使用新密码) 35 | docker start mysql-container 36 | ``` 37 | 38 | ## 查看容器的ip地址 39 | - docker inspect 容器id/容器name 40 | ``` 41 | docker inspect -f '{{range .NetworkSettings.Networks}}{{.IPAddress}}{{end}}' mysql 42 | ``` 43 | ## 根据容器ip 登录mysql 44 | ``` 45 | mysql -h xxx.xxx.xx.x -uxxxx -p 46 | 123456 47 | ``` 48 | 49 | ## 查看容器日志 50 | ``` 51 | c 52 | 53 | docker log mysql --tail 10 //最近10条日志记录 54 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-11-16-webfunny.md: -------------------------------------------------------------------------------- 1 | ## 创建数据库的命令 2 | ``` 3 | CREATE DATABASE webfunny_db 4 | DEFAULT CHARACTER SET utf8 5 | DEFAULT COLLATE utf8_bin; 6 | ``` 7 | 8 | ## nginx 配置的变更 9 | ``` 10 | https://www.webfunny.com/desMonitor?blogUrl=53&menuKey=menu1&blogKey=1-7 11 | ``` 12 | 13 | ## 通过容器部署 14 | ``` 15 | // 根据DockFile文件创建镜像 16 | docker image build -t webfunny_monitor --platform linux/aarch64 . 17 | // 18 | docker run -it --rm -d --name webfunny -p 8010:8010 -p 8011:8011 webfunny_monitor 19 | 20 | ``` 21 | 22 | ## 安装git 23 | ``` 24 | yum install git 25 | 26 | ``` 27 | 28 | 29 | ## mysql 30 | ``` 31 | // 进入到mysql的容器 32 | docker exec -it mysql /bin/bash 33 | 34 | // 执行登录mysql 35 | mysql -uroot -p 36 | 37 | // 显示所有数据库 38 | show databases; 39 | 40 | // 切换到webfunny_db数据库 41 | use webfunny_db; 42 | 43 | // 显示所有表 44 | show tables; 45 | 46 | //查看Project表结构 47 | desc Project; 48 | // 或者 49 | show columns from Project; 50 | 51 | ``` -------------------------------------------------------------------------------- /docs/article/code/2023-11-24-goploy.md: -------------------------------------------------------------------------------- 1 | ## github 2 | - https://github.com/zhenorzz/goploy 3 | 4 | ## git clone 到本地 5 | ``` 6 | git clone https://github.com/zhenorzz/goploy.git 7 | cd ./goploy 8 | git checkout -b tagname 9 | cd ./web 10 | npm install && npm run build 11 | cd ../ 12 | go build -o goploy cmd/server/main.go 13 | // 这里算是本地编译的 14 | ``` 15 | 16 | ``` 17 | //vite.config.ts中的配置 18 | base: "./", 19 | 20 | // .env.production 21 | VITE_APP_BASE_API = '/goploy' 22 | 23 | // package.json 最新版本的element-plus不兼容 24 | "element-plus": "2.3.4", 25 | ``` 26 | 27 | 28 | ## 根据Dockfile编译 29 | ``` 30 | // 这里算是docker编译的, 需要arm64的,则可以在本地通过如下命令编译go程序 31 | 32 | CGO_ENABLED=0 GOOS=linux GOARCH=arm64 go build -o goploy cmd/server/main.go 33 | 34 | ``` 35 | 36 | ## 准备mysql数据库 37 | ``` 38 | // 下载mysql脚本 39 | https://github.com/zhenorzz/goploy/blob/master/database/goploy.sql 40 | 41 | // 在目标mysql服务端创建数据库 42 | CREATE DATABASE goploy 43 | DEFAULT CHARACTER SET utf8 44 | DEFAULT COLLATE utf8_bin; 45 | 46 | // 直接在服务器上进行执行sql文件 47 | mysql -h172.17.0.3 -P 3306 -uroot -pxxxxxx db a.VillagePopulation.Extras.AsQueryable().Any(c => tags.Contains(c.Key))); 4 | 5 | AND `v1`.`Key` IN ('1020001', '1020015', '1020016', '1020002', '1020003')))) 6 | ``` 7 | 8 | ## Any 转换为 exists 9 | ``` 10 | tagsFilter.Or(a => a.VillagePopulation.Extras.AsQueryable().Any(c => tags.Contains(c.Key))); 11 | 12 | AND EXISTS ( 13 | SELECT 1 14 | FROM `VillagePopulationExtra` AS `v1` 15 | WHERE (NOT (`v1`.`IsDeleted`) AND (`t`.`Id` = `v1`.`VillagePopulationId`)) 16 | ``` 17 | -------------------------------------------------------------------------------- /docs/article/code/2023-12-23-net8.0.md: -------------------------------------------------------------------------------- 1 | 2 | ## 1、参考 3 | - https://learn.microsoft.com/en-us/dotnet/core/docker/build-container?tabs=linux&pivots=dotnet-8-0 4 | - 多阶段构建docker镜像 5 | - https://docs.docker.com/build/building/multi-stage/ 6 | ## 2、Dockerfle 7 | 8 | ``` 9 | # Learn about building .NET container images: 10 | # https://github.com/dotnet/dotnet-docker/blob/main/samples/README.md 11 | FROM --platform=$BUILDPLATFORM mcr.microsoft.com/dotnet/sdk:8.0-alpine AS build 12 | 13 | # ARG 硬件架构 14 | ARG TARGETARCH 15 | WORKDIR /source 16 | 17 | # copy csproj and restore as distinct layers 18 | COPY aspnetapp/*.csproj . 19 | RUN dotnet restore -a $TARGETARCH 20 | 21 | # copy and publish app and libraries 22 | COPY aspnetapp/. . 23 | RUN dotnet publish --no-restore -a $TARGETARCH -o /app -f net8.0 24 | 25 | 26 | # Enable globalization and time zones: 27 | # https://github.com/dotnet/dotnet-docker/blob/main/samples/enable-globalization.md 28 | # final stage/image 29 | FROM mcr.microsoft.com/dotnet/aspnet:8.0-alpine 30 | EXPOSE 8080 31 | WORKDIR /app 32 | COPY --from=build /app . 33 | 34 | ENTRYPOINT ["./WebApplication2"] 35 | ``` 36 | 37 | 38 | ## 3、命令 39 | ··· 40 | docker build -t net8-demo . 41 | 42 | docker run --restart always -itd --name net8-d -p 8000:8080 net8-demo 43 | 44 | docker exec -it net8-d /bin/bash 45 | 46 | docker logs net8-d 47 | 48 | 49 | docker run --restart always -itd --name ak-1 -p 11000:8080 ak 50 | 51 | 52 | 53 | docker build -t ak-basic -f Dockerfile-Basic . 54 | 55 | docker run --restart always -itd --name ak2 -p 11001:8080 ak-basic 56 | ··· 57 | 58 | ## nginx 59 | ``` 60 | docker run -d --name nginx --network mynetwork -p 80:80 -v /path/to/nginx/conf:/etc/nginx/conf.d nginx 61 | 62 | docker run --restart always -itd --name nginx -p 80:80 -v /root/github/NET8.0/nginx.conf:/etc/nginx/conf.d/dvs.conf nginx 63 | 64 | docker run --restart always -itd --name nginx -p 8080:80 -v /root/github/NET8.0/nginx.conf:/etc/nginx/conf.d/default.conf nginx 65 | 66 | 67 | // 创建容器专属网络 68 | docker network create -d bridge aehyok 69 | ``` 70 | 71 | 72 | 73 | 74 | # 整理(https://www.cnblogs.com/SavionZhang/p/14863781.html) 75 | 76 | ## -------------------------------------------------------------------------------- /docs/article/code/2024-01-02-fastgpt.md: -------------------------------------------------------------------------------- 1 | ## 容器操作 2 | ``` 3 | // 移除所有的镜像 4 | docker rmi $(docker images -q) 5 | 6 | //停止所有的容器 7 | docker stop $(docker ps -q) 8 | 9 | // 移除所有的容器 10 | docker rm $(docker ps -a -q) 11 | ``` 12 | 13 | 14 | ## 下载docker-compose配置文件 15 | ``` 16 | https://doc.fastgpt.in/docs/development/docker/ 17 | 18 | mkdir fastgpt 19 | cd fastgpt 20 | curl -O https://raw.githubusercontent.com/labring/FastGPT/main/files/deploy/fastgpt/docker-compose.yml 21 | curl -O https://raw.githubusercontent.com/labring/FastGPT/main/projects/app/data/config.json 22 | 23 | # 在 docker-compose.yml 同级目录下执行 24 | # 要先修改docker-compose.yml中的相关配置 25 | docker-compose pull 26 | docker-compose up -d 27 | 28 | 同样用户名root,密码在docker-compose - DEFAULT_ROOT_PSW 29 | ``` 30 | 31 | ## 部署成功 32 | 33 | ``` 34 | http://8.219.92.157:3000/ 35 | root Hk 36 | ``` 37 | 38 | ## 本地开发配置 39 | ``` 40 | https://doc.fastgpt.in/docs/development/intro/ 41 | 42 | // 修改配置文件 43 | projects/app/.env.local 44 | 45 | // 将根package.json中的依赖进行修改 46 | "i18next": "22.5.1", 47 | "next-i18next": "13.3.0", 48 | "react-i18next": "12.3.1", 49 | ``` 50 | 51 | ## mongodb 通过navicat连接 52 | ``` 53 | 数据库名使用admin 54 | 用户名和密码使用上面docker-compose.yml中的配置 55 | 56 | ---这里重点忘记了如何连入mongodb数据库 57 | 58 | docker exec -it mongo sh 59 | mongo -u username -p password 60 | 61 | mongo -u username -p password --host 127.0.0.1 --port 27017 62 | ``` 63 | 64 | ## 所使用的技术栈 65 | ``` 66 | https://github.com/xyflow/xyflow 67 | -------------------------------------------------------------------------------- /docs/article/code/2024-01-15-zabbix.md: -------------------------------------------------------------------------------- 1 | ## zabbix docker 2 | - 参考文章 3 | - https://mp.weixin.qq.com/s/yx-mm2Am_LIZ2AvHw21mUA 4 | - 官网文档 5 | - https://www.zabbix.com/documentation/current/zh/manual/config/hosts 6 | ## zabbix 后端 7 | ``` 8 | docker run \ 9 | --restart always -itd \ 10 | --name zabbix-server \ 11 | --link mysql \ #//--link 12 | -p 10051:10051 \ #//docker inspect看下暴露的端口 docker inspect zabbix/zabbix-server-mysql 13 | -e DB_SERVER_HOST="mysql" \ #//直接写mysql容器名字 -e设置环境变量 14 | -e MYSQL_USER="root" \ 15 | -e MYSQL_PASSWORD="M9y2512!" \ 16 | -d zabbix/zabbix-server-mysql #//要使用那个镜像进行创建容器 17 | 18 | docker run \ 19 | --restart always -itd \ 20 | --name zabbix-server \ 21 | --link mysql \ 22 | -p 10051:10051 \ 23 | -e DB_SERVER_HOST="mysql" \ 24 | -e MYSQL_USER="root" \ 25 | -e MYSQL_PASSWORD="M9y2512!" \ 26 | -d zabbix/zabbix-server-mysql 27 | ``` 28 | 29 | ## zabbix 前端 30 | ``` 31 | docker run \ 32 | --restart always -itd \ 33 | --name zabbix-web \ 34 | --link mysql \ 35 | --link zabbix-server \ 36 | -p 8081:8080 \ 37 | -p 8444:8443 \ 38 | -e DB_SERVER_HOST="mysql" \ 39 | -e MYSQL_USER="root" \ 40 | -e MYSQL_PASSWORD="M9y2512!" \ 41 | -e ZBX_SERVER_HOST="zabbix-server" \ 42 | -e PHP_TZ="Asia/Shanghai" \ 43 | -d zabbix/zabbix-web-nginx-mysql 44 | ``` 45 | 46 | ## 访问 47 | ``` 48 | http://xxx.xx.xxx.xxx:8081 49 | Admin zabbix 50 | ``` 51 | 52 | 53 | ## 查看服务器 54 | ``` 55 | //查看活跃的资源以及使用的内存 56 | top 57 | 58 | // 按照内存排序 59 | SHIFT + M 60 | 61 | // 按照CPU排序 62 | SHIFT + P 63 | 64 | //查看剩余内存 65 | free -h 66 | 67 | 68 | //查看具体进程pid的详情 69 | lsof -p pid 70 | 71 | //查看docker容器内存占用 72 | docker stats mysql 73 | 74 | // 设置docker容器内存 75 | docker update --memory="512m" --memory-swap="1g" mysql 76 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-02-24-埋点.md: -------------------------------------------------------------------------------- 1 | ## uniapp 埋点 2 | - 路由跳转 3 | - 事件封装 4 | - 滚动条封装 -------------------------------------------------------------------------------- /docs/article/code/2024-02-28-seq.md: -------------------------------------------------------------------------------- 1 | ## 查询参考地址 2 | - https://docs.datalust.co/docs/query-syntax 3 | ## 字符串查询 4 | ``` 5 | ncdp 6 | ``` 7 | 8 | ## and查询 9 | ``` 10 | "ncdp" and RequestId='0HN1NHI3ATFD9:00000002' 11 | 12 | ``` 13 | ## 字符串中的or查询 14 | ``` 15 | "自主填报定时任务" or "自主填报定时任务本次执行数量" 16 | ``` 17 | 18 | ## 指定字段 19 | ``` 20 | RequestId = 'xxxxxx' 21 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-03-03-整理.md: -------------------------------------------------------------------------------- 1 | services: 集中管理所有与后端接口的 HTTP 请求,处理与后端交互的数据转换、缓存策略或复杂业务逻辑。 2 | 例如:对于对于前端有展示要求的日期格式转换,金额小数点位数,以及字典项目字段名称等等等处理。 3 | 例如:很多系统配置项目,需要进行缓存的数据,获取数据后可以搭配localStorage进行缓存,减少请求次数。 4 | 例如:有些数据需要全局使用的,可以结合pinia进行全局状态管理。 -------------------------------------------------------------------------------- /docs/article/code/2024-03-14-FigureAI.md: -------------------------------------------------------------------------------- 1 | Figure has demonstrated the first fruit of its collaboration with OpenAI to enhance the capabilities of humanoid robots. In a video released today, the Figure 01 bot is seen conversing in real-time. 2 | 3 | The development progress at Figure is nothing short of extraordinary. Entrepreneur Brett Adcock only emerged from stealth last year, after gathering together a bunch of key players from Boston Dynamics, Tesla Google DeepMind and Archer Aviation to "create the world's first commercially viable general purpose humanoid robot." 4 | 5 | By October, the Figure 01 was already up on its feet and performing basic autonomous tasks. By the turn of the year, the robot had watch-and-learn capabilities, and was ready to enter the workforce at BMW by mid-January. 6 | 7 | We got to see it on the warehouse floor last month, just before Figure announced a successful Series B funding round along with a collaboration agreement with OpenAI "to develop next generation AI models for humanoid robots." Now we get a taste for what that means. 8 | 9 | Adcock confirmed in an X post that Figure 01's integrated cameras send data to a large vision-language model trained by OpenAI, while Figure's own neural networks also "take images in at 10 Hz through cameras on the robot." OpenAI is also responsible for the ability to understand spoken words, and all of this influx of information is translated into "fast, low level, dexterous robot actions" by Figure's neural net. 10 | 11 | He confirmed that the robot was not teleoperated during the demo, and that the video was filmed at actual speed. All up, a remarkable achievement for a partnership that's less than two weeks old – "our goal is to train a world model to operate humanoid robots at the billion-unit level," said Adcock. At this rate, we won't have to wait long. 12 | 13 | 14 | 15 | 16 | Figure已展示了其与OpenAI合作增强人形机器人能力的第一个成果。在今天发布的一段视频中,可以看到Figure 01机器人实时对话。 17 | 18 | Figure的发展进程无疑是非同寻常的。企业家布雷特·阿德科克仅在去年才从谨慎状态走出,之前他汇集了来自波士顿动力公司、特斯拉、谷歌DeepMind和Archer Aviation的关键人员,目的是"创造世界上第一款商业化可行的通用人形机器人"。 19 | 20 | 到10月,Figure 01已能独立站立并执行基本任务。转眼至年底,这个机器人就具备了观察学习能力,并于1月中旬准备在宝马公司投入工作。 21 | 22 | 上个月我们在仓库里见到了它,之后不久Figure就宣布成功完成B轮融资,并与OpenAI达成合作协议"开发下一代人形机器人AI模型"。现在我们终于一窥这意味着什么。 23 | 24 | 阿德科克在X网站上确认,Figure 01的集成摄像头将数据发送到由OpenAI训练的大型视觉语言模型,而Figure自己的神经网络也"以10Hz频率通过机器人上的摄像头输入图像"。OpenAI还负责理解口语能力,所有这些信息流被Figure的神经网络转化为"快速、低级、灵活的机器人动作"。 25 | 26 | 他证实,这个演示视频中的机器人没有遥控操作,并且视频是以实际速度拍摄的。总的来说,这是一个令人难以置信的成就,因为这个合作伙伴关系仅维持了不到两周的时间。阿德科克说:"我们的目标是训练一个世界模型,使人形机器人能够百万单位运行。"按照这个速度,我们不用等太久就能看到了。 -------------------------------------------------------------------------------- /docs/article/code/2024-03-14-claude-haiku.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2024-03-14-claude-haiku.md -------------------------------------------------------------------------------- /docs/article/code/2024-03-15-aoteman copy.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/code/2024-03-15-aoteman copy.md -------------------------------------------------------------------------------- /docs/article/code/2024-03-15-docker.md: -------------------------------------------------------------------------------- 1 | centos下安装Docker的步骤 2 | 3 | ## 4 | 1、更新软件包索引 5 | sudo yum update -y 6 | 2、安装依赖关系 7 | sudo yum install -y yum-utils 8 | 3、添加Docker的仓库(阿里云 安装会快一点): 9 | sudo yum-config-manager --add-repo https://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo 10 | 4、安装 Docker CE(社区版): 11 | sudo yum install -y docker-ce docker-ce-cli containerd.io 12 | 5、启动并启用 Docker 服务: 13 | // 启动docker 14 | sudo systemctl start docker 15 | 16 | // 设置开机启动 17 | sudo systemctl enable docker 18 | 6、查看docker版本 19 | docker version 20 | 21 | 添加图片注释,不超过 140 字(可选) 22 | 23 | 7、docker-compose 24 | curl -L https://github.com/docker/compose/releases/download/1.21.0/docker-compose-$(uname -s)-$(uname -m) -o /usr/local/bin/docker-compose 25 | 这里比较慢多等等,因为要连github,当然你也可以通过其他方式 26 | 8、 对文件赋予可执行权限 27 | chmod +x /usr/local/bin/docker-compose 28 | 9、查看版本 29 | docker-compose --version 30 | 31 | 10、准备好nginx、mongodb、redis、docker-compose.yum 配置文件 32 | 33 | docker-compose up -d 34 | 35 | 11 批量停止docker运行 36 | docker stop $(docker ps -qa) 37 | 12 批量移除docker容器 38 | docker rm $(docker ps -qa) 39 | 40 | 13、查看端口使用情况 41 | netstat -nltp 42 | 43 | 14、查看docker容器ip 44 | https://www.cnblogs.com/AmqvMI/p/16737276.html 45 | 46 | 添加图片注释,不超过 140 字(可选) 47 | 48 | 49 | 添加图片注释,不超过 140 字(可选) 50 | 51 | 52 | 53 | 20 npm源 54 | npm config get registry 55 | 56 | 57 | 58 | pnpm config set registry https://registry.npmmirror.com/ 59 | pnpm config set registry https://registry.npmjs.org/ -------------------------------------------------------------------------------- /docs/article/code/2024-03-21-MC.md: -------------------------------------------------------------------------------- 1 | 2 | ![](https://files.mdnice.com/user/31506/288389bb-7c40-4f7f-9eed-7beb7cc5dc2a.png) 3 | ## 前言 4 | 一站式社交平台数据抓取利器,带你玩转小红书、抖音、快手、B站和微博数据分析 5 | 6 | 不经意间,来查看MediaCrawler仓库源码,发现作者已经删库了。看来是领奖了。才几天不到的时间Star数量已经直逼10K了,增长速度近乎疯狂。 7 | 前两天只是将代码下载下来了,还没认真的玩。还好代码本地已经有了。如果有兴趣的也可以来找我要,免费的哟。 8 | 9 | ![](https://files.mdnice.com/user/31506/34de5669-72ad-49f8-832b-eef9bdb90b02.png) 10 | 11 | 作者在这里也明显进行了标注使用了无头浏览器 12 | 13 | ![](https://files.mdnice.com/user/31506/fa821865-c379-40f2-b77d-74a29e53aae0.png) 14 | ## 那到底什么事无头浏览器呢? 15 | 无头浏览器(Headless Browser)是一种浏览器程序,没有图形用户界面(GUI),但能够执行与普通浏览器相似的功能。无头浏览器能够加载和解析网页,执行JavaScript代码,处理网页事件,并提供对DOM(文档对象模型)的访问和操作能力。 16 | 与传统浏览器相比,无头浏览器的主要区别在于其没有可见的窗口或用户界面。这使得它在后台运行时,不会显示实际的浏览器窗口,从而节省了系统资源,并且可以更高效地执行自动化任务。 17 | 常见的无头浏览器包括Headless Chrome(Chrome的无头模式)、PhantomJS、Puppeteer(基于Chrome的无头浏览器库)、playwright等。它们提供了编程接口,使开发者能够通过代码自动化控制和操作浏览器行为。 18 | 19 | ![](https://files.mdnice.com/user/31506/47d1578e-01ff-4c20-8f37-759db48cd6ac.png) 20 | > 如果您比较Playwright和 Puppeteer的贡献者页面 ,您会注意到Puppeteer的前两个贡献者现在在 Playwright 上工作。Puppeteer 团队实质上是从 Google 转移到 Microsoft 并成为 Playwright 团队。 21 | 22 | >因此,Playwright 在很多方面与 Puppeteer 非常相似。API 方法在大多数情况下是相同的,并且默认情况下 Playwright 还捆绑了兼容的浏览器。 23 | 24 | >Playwright 最大的区别在于跨浏览器支持。它可以驱动 Chromium、WebKit(Safari 的浏览器引擎)和 Firefox。 25 | 26 | 无头浏览器其实就是看不见的浏览器,所有的操作都要通过代码调用 API 来控制,所以浏览器能干的事儿,无头浏览器都能干,而且很多事儿做起来比标准的浏览器更简单。 27 | 28 | ## 能够干什么呢? 29 | 我举几个常用的功能来说明一下无头浏览器的主要使用场景 30 | 31 | - 自动化测试: 无头浏览器可以模拟用户行为,执行自动化测试任务,例如对网页进行加载、表单填写、点击按钮、检查页面元素等。 32 | - 数据抓取: 无头浏览器可用于爬取网页数据,自动访问网站并提取所需的信息,用于数据分析、搜索引擎优化等。 33 | - 屏幕截图: 无头浏览器可以加载网页并生成网页的截图,用于生成快照、生成预览图像等。 34 | - 服务器端渲染: 无头浏览器可以用于服务器端渲染(Server-side Rendering),将动态生成的页面渲染为静态HTML,提供更好的性能和搜索引擎优化效果。 35 | - 生成 PDF 文件:使用浏览器自带的生成 PDF 功能,将目标页面转换成 PDF 。 36 | 37 | ## 这个仓库如何使用呢 38 | 首先这是一个Python库,当然要安装必要的Python环境,这个我就不多说了,通过GPT或者在网上搜索都可以进行安装好。 39 | 接下来就是拿到代码后如何使用,这个其实作者也是非常的友好了,直接看README。 40 | 41 | ![](https://files.mdnice.com/user/31506/d7cca559-6a44-44b6-b959-23c5abf425de.png) 42 | 43 | 最后运行命令后,会出现一个二维码,比如这里我测试的是小红书,出现二维码之后,我们用小红书App来扫描,并进行确认身份,这样无头浏览器就能识别并记住我们的身份信息,后续就可以通过该身份进行抓取一些数据了。 44 | 45 | ![](https://files.mdnice.com/user/31506/ef05d185-88b3-464a-9b10-576203910b69.png) 46 | 这里我配置了一条小红书的笔记ID,这里是个数据可以配置多个的。 47 | 48 | 好了,OK ,数据就被这么简单的抓取下来了。 49 | ![](https://files.mdnice.com/user/31506/b0803fef-f6be-45a5-bb28-5dfc5db59733.png) 50 | 51 | ![](https://files.mdnice.com/user/31506/814ea1cc-4316-441b-b60e-28372421841c.png) 52 | 作者还特意对数据存储做了封装,如果数据量大的时候存储起来可能就非常的方便了。 53 | 如果需求量很大,还可以对其源码进行研究改造,好了今天的学习就到这里了。 54 | -------------------------------------------------------------------------------- /docs/article/code/2024-03-29-读一人企业方法论.md: -------------------------------------------------------------------------------- 1 | __outline__定义一人企业规划一人企业构建一人业务 -------------------------------------------------------------------------------- /docs/article/code/2024-03-30-rpa.md: -------------------------------------------------------------------------------- 1 | ## RPA工具 2 | - UiPath https://www.uipath.com.cn/ 3 | - 影刀 https://www.yingdao.com/ 4 | 5 | ## 影刀连接mysql 6 | ``` 7 | 要首先先mysql的驱动程序 8 | https://dev.mysql.com/downloads/connector/odbc/ 9 | 10 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-04-04-mac-docker.md: -------------------------------------------------------------------------------- 1 | ## 安装docker 2 | ``` 3 | brew install docker 4 | 5 | docker --version 出现版本号则安装成功 6 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-04-10-vitepress.md: -------------------------------------------------------------------------------- 1 | pnpm init 2 | pnpm add -D vitepress 3 | -------------------------------------------------------------------------------- /docs/article/code/2024-04-11-gemini.md: -------------------------------------------------------------------------------- 1 | ## 参考 2 | - https://xiaohu.ai/p/5834 3 | 4 | ## 5 | Google 宣布 Gemini 1.5 Pro 开放API 现已在180多个国家提供 新增对原生音频(语音)理解能力、文件API、系统指令、JSON模式等功能 现在Gemini模型能够直接处理音频输入,而不需要将音频先转换为文本。 6 | 7 | 8 | 9 | 10 | ## apikey 11 | - https://aistudio.google.com/app/apikey 12 | 13 | ``` 14 | curl \ 15 | -H 'Content-Type: application/json' \ 16 | -d '{"contents":[{"parts":[{"text":"Write a story about a magic backpack"}]}]}' \ 17 | -X POST 'https://generativelanguage.googleapis.com/v1beta/models/gemini-pro:generateContent?key=YOUR_API_KEY' 18 | ``` 19 | 20 | 21 | ## 调用接口 接口详细说明 22 | - https://ai.google.dev/tutorials/get_started_web?hl=zh-cn -------------------------------------------------------------------------------- /docs/article/code/2024-04-30-video2blog.md: -------------------------------------------------------------------------------- 1 | 我第一个开源AI小产品-video2blog即将正式发布 2 | 3 | ## 前言 4 | 首先它是为了解决我自己的个人问题。不管能不能帮到你,或者对于看到的你是否有点利用价值,也没太大的关系,最起码你可以来看看我开发小产品的整个过程。 5 | 6 | 一段时间以来,我开始通过youtube平台来获取一些知识,或者打发早晚上下班坐地铁的时间。主要是我早晚通勤时间过长,差不多都是一个小时吧,单纯的刷刷什么某音、某红的真真的浪费了大量的时间,所以我选择了youtube平台。我在 youtube 看视频时,觉得有点用的信息我会截个图,方便回头查找关键字,尤其是看技术类的视频。但有时候虽然截图了,但是前后是有关联的,关联的地方当时又没截图,但是隐约的也记不起前后文的联系了,于是尴尬了,就只能重新翻看这个视频了。因为我遇到过好多次了,而且比较浪费时间。 7 | 于是就有了video2blog。 8 | ## video2blog的开发历程 9 | 通过视频链接结合AI的能力,将整个视频转换为一篇图文笔记或者图文博客。图文最大的好处就是方便我自己回看,就像小时候我们自己的错题笔记。 10 | 11 | ![image](https://files.mdnice.com/user/31506/51767aeb-fd32-4600-844b-db3e081233b4.png) 12 | 从3月底附近我就在琢磨我这个小产品了,但当时的思路还没有打开,但是脑海中已经有了初步的设想。从那时起代码就已经开始了,因为要开发一个pc的客户端,也有很多的技术没有使用过,需要投入时间去研究一番。说真的还是有点小兴致,毕竟是解决自己的痛点的。 13 | 14 | ![image](https://files.mdnice.com/user/31506/cbee05f1-a878-492a-ac1a-41d268169bbd.png) 15 | 刚好4月初跟随清明节一起请了三天假,玩完回来状态也非常的nice,那一周真的是疯狂的码码查bug,也慢慢的有了上图的自我感觉的清晰思路。 16 | 目前按照上图基本上跑通了。但是很多功能还非常不完善或者还没有加进来。比如视频通过whisper来转字幕目前通过python实验成功,但没加入到项目中,再比如对接AI的字幕转长文功能也没真正落地。这些都可以通过其他的工具来实现,所以暂时就先搁置一下,解决我觉得更重要的问题了。 17 | 18 | ![image](https://files.mdnice.com/user/31506/2b692450-cd73-441f-ac41-7f3b329b63c5.png) 19 | 我只能说一周的时间真的太短了,因为平常还有别的项目在搞,上班的时候只能抽点时间来看看查查问题,优化下思路等等,更多的时候也在思考吧。有几天真的也不太想上班了。 20 | 21 | ![image](https://files.mdnice.com/user/31506/ca5b2d21-8952-4c4b-9363-27953549ca38.png) 22 | 每周实现的功能也不多,但紧紧把把的能基本按照自己的预想在走,有时候一天的问题解决不了,我就担心这进度要慢了,明天得抓紧时间了。 23 | 24 | ![image](https://files.mdnice.com/user/31506/d9f2e3de-d91c-4c4e-a923-3c5746acd34f.png) 25 | 这里我之前也在3月底的时候留过记录。我自己的期待也是争取5月底能有一个比较好的版本出来。就是提前尽量给自己做好计划目标,哪怕没完成,没达到预期,也能在自己复盘的时候找到问题,或者能总结出一些经验教训。 26 | 27 | ## 现状 28 | ![video2blog.excalidraw](https://files.mdnice.com/user/31506/36332e5b-f3ac-4bf6-a7ec-0e0c21a232c5.png) 29 | 30 | 通过这个图便可以简单的看到我整个小产品的流程走向,其实现在看来流程清晰,思路也是比较简单粗暴的。 31 | 当然了也有其他更好的使用模式。这里暂时针对我自己算是现阶段对我来说是一个比较好的模式选择了。 32 | 33 | 我的小产品现阶段借助外部的AI工具是可以走通的。比如可以借助Whisper模型进行语音转文字,或者直接通过它来翻译。 34 | 如果有字幕,字幕刚好是英文,也可以通过AI工具进行翻译为中文。翻译为中文后,再通过AI工具转换为文章或者叫笔记。 35 | 转换为文章的时候对prompt是有要求的,转换的时候要添加上目录,并且在目录上添加上视频中的时间区间,这样方便我根据时间区间来获取图片并去除重复的图片,然后选择插入到文章中。 36 | 37 | ## 最后 38 | 现在预发布这个小产品也算是对我自己,这一个多月时间的阶段性总结。也是对我自己的一个小小的挑战。因为从来也没有进行过对外发布一个属于自己的小产品,这也算是一次小小的尝试。 39 | 很多时候有了想法,那就去做做试试看吧,也许其中有非常多的困难,但是只有去做了才知道,这些个小困难在一天天的排解中,慢慢的也不算是个什么困难了。 40 | 也许这个小产品并不是很完美,但最起码我自己能够慢慢的用起来了。 41 | 42 | 如果你觉得小工具还有点意思,便可以提前来玩一下看看。如果有什么问题,也可以随时联系我。 43 | 目前支持window和mac,在我自己的电脑上安装尝试都没有问题的。当然可能会有兼容性的问题,毕竟第一次尝试搞一个跨平台的客户端。 44 | 45 | ![image](https://files.mdnice.com/user/31506/2df6528a-ad23-4837-9238-f4c4491438ff.png) 46 | 47 | 我创建了一个video2blog的微信群。 48 | 可以关注我的公众号:那个曾经的少年回来了 49 | 然后后台发送消息: video2blog。 50 | 由于项目还没真正的成型发布,所以暂时就不将开源地址放出来了。因为暂时也是堆叠功能代码,主要以实现功能为主。争取5月底正式发布第一个完整的版本。 51 | 最后如果产品思路对你有价值,你也可以快速复刻一个。 52 | 53 | 54 | 55 | 看到很多人都拥有自己的产品,非常的羡慕人家。但是苦于自己没有什么想法。但有人说可以从自己的痛点出发,首先来解决自己的问题,想着想着我发现了原来自己有很多的痛点,也许这就是我可以做的事情吧。 -------------------------------------------------------------------------------- /docs/article/code/2024-05-08-whisper.md: -------------------------------------------------------------------------------- 1 | ## whisper faster-whisper 速度比对 2 | - https://juejin.cn/post/7351392942911864868?searchId=20240508113218999CCD9229F8AC19C1DA 3 | - whisper.cpp CPU模式太慢了,暂时不考虑,可能主要支持在Mac CoreML 加上吧 4 | - faster-gpu 提升非常明显 速度提升4倍 5 | 6 | ## anaconda 下载安装 7 | 8 | window、mac、 linux都可以 9 | - https://www.anaconda.com/download/success 10 | 这里要注意python的版本,尽量跟它保持一致 11 | 12 | 安装conda 13 | -https://juejin.cn/post/7106417968321396766?searchId=202405081130346B964EF6250596FD6FA8 14 | 15 | conda安装 16 | - https://blog.csdn.net/m0_74942241/article/details/134136434 17 | 18 | 19 | ## whisper替换为阿里的通义听悟 20 | - https://help.aliyun.com/zh/tingwu/?spm=a2c4g.11186623.0.0.307b67349DyWbD -------------------------------------------------------------------------------- /docs/article/code/2024-05-14-openharmony.md: -------------------------------------------------------------------------------- 1 | ## 华为开源鸿蒙分布式操作系统 2 | - https://github.com/fenwii/OpenHarmony 3 | 4 | - 方舟开发框架 ArkUI 5 | - https://docs.openharmony.cn/pages/v4.0/zh-cn/application-dev/application-dev-guide.md 6 | 7 | - 各种UI小demo 8 | - https://developer.huawei.com/consumer/cn/forum/topic/0208141669934007200?fid=0109140870620153026 9 | 10 | ## ohpm 安装使用 11 | - https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V2/ide-command-line-ohpm-0000001490235312-V2 12 | 13 | https://ohpm.openharmony.cn/ 14 | 15 | 16 | ## 社区 17 | - https://developer.huawei.com/consumer/cn/forum/ 18 | 19 | 20 | ## 组件 21 | - https://developer.huawei.com/consumer/cn/doc/harmonyos-references/js-apis-data-preferences-0000001813416160#ZH-CN_TOPIC_0000001813416160__%E5%AF%BC%E5%85%A5%E6%A8%A1%E5%9D%97 22 | 23 | 24 | ## 各种案例 25 | - https://gitee.com/harmonyos-cases/cases#/harmonyos-cases/cases/blob/master/CommonAppDevelopment/feature/pulltorefreshnews/README.md 26 | 27 | ## 类库 28 | - https://ohpm.openharmony.cn/#/cn/detail/@pura%2Fharmony-utils -------------------------------------------------------------------------------- /docs/article/code/2024-05-29-cocos.md: -------------------------------------------------------------------------------- 1 | ## 网址 2 | - cocos.com 3 | - aehyok Hk -------------------------------------------------------------------------------- /docs/article/code/2024-06-03-kongtou.md: -------------------------------------------------------------------------------- 1 | ## 网址 2 | - https://youtu.be/nJwlzYfPhr8?si=RcKldzWFgDWi6nWP 3 | 4 | 5 | 6 | ## 6月25日 7 | - https://task.onenesslabs.io/?code=pLjRD 8 | -------------------------------------------------------------------------------- /docs/article/code/2024-06-04-heng.md: -------------------------------------------------------------------------------- 1 | ## 网址 2 | - https://www.youtube.com/@SuperSimpleSongs/videos -------------------------------------------------------------------------------- /docs/article/code/2024-06-05-query.md: -------------------------------------------------------------------------------- 1 | ## 添加系统服务dvsv3-query.service 2 | - /usr/lib/systemd/system 3 | ``` 4 | [Unit] 5 | Description=dvsv3-query 6 | After=network-online.target 7 | Wants=network-online.target 8 | 9 | [Service] 10 | # modify when deploy in prod env 11 | User=dvs 12 | Group=dvs 13 | 14 | Type=simple 15 | ExecStart=/usr/local/dotnet-sdk/dotnet /usr/local/sunlight/dvsv3/dvs-query/DVS.Query.Api.dll 16 | WorkingDirectory=/usr/local/sunlight/dvsv3/dvs-query 17 | 18 | Restart=always 19 | RestartSec=1 20 | StartLimitInterval=0 21 | 22 | [Install] 23 | WantedBy=multi-user.target 24 | 25 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-06-13-comfyui.md: -------------------------------------------------------------------------------- 1 | ## comfyui 2 | - https://github.com/comfyanonymous/ComfyUI 3 | ## manager 4 | - https://github.com/ltdrdata/ComfyUI-Manager 5 | ## 可下载工作流的地方 6 | - https://openart.ai/workflows/home 7 | ## 可下载模型 8 | - https://civitai.com/ 9 | - 选择模型 https://blog.csdn.net/weixin_67276852/article/details/139062908 10 | - https://blog.csdn.net/weixin_67276852/article/details/139269488 11 | - 汉化模型 https://blog.csdn.net/weixin_67276852/article/details/139069016 12 | 13 | 14 | 15 | - 在线运行 16 | - https://www.runcomfy.com/ -------------------------------------------------------------------------------- /docs/article/code/2024-06-24-lf.md: -------------------------------------------------------------------------------- 1 | ## 6月24日下午沟通结果 2 | - 1、周五下班前,部署一个演示版本(大屏首页为主) 3 | - 2、周日晚上尽量能通过接口联调成功 4 | - 3、部署的服务器需要提前提供 5 | - 4、UI切图提早给 6 | - 5、意向金 7 | 8 | 9 | 10 | 11 | mysql版本:8.0.35 12 | 13 | dotnet 6.0 https://dotnet.microsoft.com/zh-cn/download/dotnet/6.0 14 | 15 | aarch64 /usr/local/dotnet6 dev 16 | 17 | 101.200.243.192 部署 18 | - /root/dotnet6/dotnet 19 | 20 | 21 | /usr/lib/systemd/system 22 | 23 | ``` 24 | [Unit] 25 | Description=sun-xxm 26 | After=network-online.target 27 | Wants=network-online.target 28 | 29 | [Service] 30 | # modify when deploy in prod env 31 | # User=dvs 32 | # Group=dvs 33 | 34 | Type=simple 35 | ExecStart=/root/dotnet6/dotnet /usr/local/sunlight/sun-xxm/sun.xxm.dll 36 | WorkingDirectory=/usr/local/sunlight/sun.xxm 37 | 38 | Restart=always 39 | RestartSec=1 40 | StartLimitInterval=0 41 | 42 | [Install] 43 | WantedBy=multi-user.target 44 | ``` 45 | 46 | systemctl enable sun-xxm 47 | 48 | systemctl start sun-xxm 49 | systemctl stop sun-xxm 50 | 51 | journalctl -u sun-xxm.service -f 52 | 53 | 54 | chmod -R 777 /root/dotnet6/ 55 | 56 | 部署到服务器 57 | tar -zxvf aspnetcore-runtime-6.0.3-linux-x64.tar.gz -C /usr/local/dotnet 58 | -------------------------------------------------------------------------------- /docs/article/code/2024-07-09-baidumap.md: -------------------------------------------------------------------------------- 1 | ## 获取geo数据 2 | - https://geojson.cn/ 3 | - https://www.poi86.com/poi/download_area_geojson/110108.html 4 | 5 | ## marker点位 6 | - https://blog.csdn.net/z1093541823/article/details/124098232 -------------------------------------------------------------------------------- /docs/article/code/2024-07-19-tools.md: -------------------------------------------------------------------------------- 1 | ## base64转换为图片 2 | - https://www.uutils.com/image/base64_to_image.htm 3 | 4 | ## svg 转换为png 5 | - https://svgtopng.com/ 6 | 7 | ## 2024年7月23日 小郑上午分享AI RAG 8 | - https://github.com/assafelovic/gpt-researcher 9 | - https://github.com/microsoft/autogen 10 | - https://github.com/langchain-ai/langchain -------------------------------------------------------------------------------- /docs/article/code/2024-07-24-query.md: -------------------------------------------------------------------------------- 1 | ## 菜单 2 | 3 | ``` 4 | ## 先通过root 获取根菜单 5 | select * from md_sysparameters s where s.name like '%root%' and systemid='dev' 6 | 7 | ## 然后再通过MenuID获取下级菜单 8 | select * from md_sysparameters s where s.`name` like '%90000' and systemid='dev' 9 | ``` 10 | 11 | ## 数据导入菜单 12 | ``` 13 | { 14 | "MenuID": "60000", 15 | "MenuTitle": "乡村摸底调查数据导入", 16 | "DisplayOrder": 25, 17 | "FatherID": "0", 18 | "IconName": "", 19 | "MenuType": "LoadFromServer", 20 | "MenuParameter": "", 21 | "CanUse": true, 22 | "Level": 1, 23 | "IconIndex": "-1", 24 | "Children": [] 25 | } 26 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-08-02-wiki.md: -------------------------------------------------------------------------------- 1 | ## 开源项目地址 2 | - https://github.com/requarks/wiki 3 | 4 | ## 部署机器 5 | 121.37.222.1 6 | 7 | http://szns.utuapp.cn/ 8 | 9 | 数据库wiki 10 | 11 | 12 | /usr/local/sunlight/wiki 13 | 14 | 停止服务 15 | systemctl stop wiki 16 | 17 | 启动服务 18 | systemctl start wiki 19 | systemctl restart wiki 20 | 21 | 22 | chmod 777 -R wiki -------------------------------------------------------------------------------- /docs/article/code/2024-08-19-window-docker.md: -------------------------------------------------------------------------------- 1 | ## 本机存储docker的路径 2 | - G:\docker-desktop 3 | 4 | ## mysql 容器 5 | docker run --name gpt-mysql -p 36:3306 --dns 8.8.8.8 --dns 8.8.4.4 -e MYSQL_ROOT_PASSWORD=M9y2512! -d mysql 6 | 7 | Navicate可直接链接mysql 8 | 9 | ## one-api 10 | - https://github.com/songquanpeng/one-api 11 | ``` 12 | // 拉取镜像 13 | git pull justsong/one-api 14 | 15 | // --network="host" 使容器内的程序可以访问宿主机上的mysql 16 | docker run --name one-api -d --restart always -p 35:3000 -e SQL_DSN="root:M9y2512!@tcp(localhost:36)/oneapi" --dns 8.8.8.8 --dns 8.8.4.4 --network="host" -e TZ=Asia/Shanghai justsong/one-api 17 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-08-23-openobserve.md: -------------------------------------------------------------------------------- 1 | ## 文档中心 2 | - https://openobserve.ai/docs/quickstart/#openobserve-cloud 3 | - https://github.com/openobserve/openobserve 4 | 5 | ## docker创建 6 | ``` 7 | docker run -d \ 8 | --name openobserve \ 9 | -v $PWD/data:/data \ 10 | -p 5080:5080 \ 11 | -e ZO_ROOT_USER_EMAIL="455043818@qq.com" \ 12 | -e ZO_ROOT_USER_PASSWORD="M9y2512!" \ 13 | openobserve/openobserve:latest 14 | ``` 15 | 16 | ## 本地访问 17 | - http://localhost:5080 登录 -------------------------------------------------------------------------------- /docs/article/code/2024-09-03-mysql.md: -------------------------------------------------------------------------------- 1 | // 创建用户 2 | CREATE USER 'dvs'@'localhost' IDENTIFIED BY 'M9y2512!!!'; 3 | 4 | // 给用户授权某个数据库 5 | grant all privileges on dvsv4.* to 'dvs'@'localhost'; 6 | 7 | // 刷新权限 8 | flush privileges; 9 | 10 | ## docker日志 11 | ``` 12 | // 查看容器的日志 13 | docker logs xxx 14 | 15 | // 查看容器的最新100条日志 16 | docker logs --tail 100 xxx 17 | 18 | // 实时查看最新的日志 19 | docker logs -f --tail 100 xxx 20 | ``` 21 | 22 | ## 确保服务器正常访问外网 23 | ``` 24 | //公共的dns 25 | ping 8.8.8.8 26 | 27 | // 在服务器通过域名查找IP 28 | nslookup www.baidu.com 29 | 30 | // 在服务器上通过ip查找域名 31 | nslookup xxx.xxx.xxx.xx 32 | 33 | 由于我服务器上的tailscale服务开着,导致服务器上无法访问外网 34 | 35 | //暂时关闭tailscale服务 36 | sudo tailscale down 37 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-09-03-在线excel.md: -------------------------------------------------------------------------------- 1 | ## univer在线excel方案 2 | - 开源地址 https://github.com/dream-num/univer 3 | - 文档地址 https://univer.ai/zh-CN/guides/sheet/features/import-export 4 | 5 | ## cron vue3 6 | - https://abichinger.github.io/vue-js-cron/demo.html -------------------------------------------------------------------------------- /docs/article/code/2024-10-15-qrcode.md: -------------------------------------------------------------------------------- 1 | ## C# 2 | https://codecrete.net/QrCodeGenerator/api/Net.Codecrete.QrCodeGenerator.html 3 | 4 | ## 计算 5 | 像素单位px /dpi(打印机 300 600)*2.54= xxx cm 6 | 7 | 纠错级别为 0 时,遮盖比例为 7%。 8 | 纠错级别为 1 时,遮盖比例为 15%。 9 | 纠错级别为 2 时,遮盖比例为 25%。 10 | 默认情况为 30%。 -------------------------------------------------------------------------------- /docs/article/code/2024-10-21-zx.md: -------------------------------------------------------------------------------- 1 | 全屋 141957 2 | 3 | 剪掉沙发6800 4 | 5 | 剪掉儿童次卧柜子6平方 6*628=3600 6 | 7 | 蹲便和全智能马桶 550 + 1500 8 | 9 | 卧室套装门只有三套,没有包括两个卫生间的,以及厨房的 10 | 11 | - 房屋拆除 12 | - 两个阳台的封窗 13 | - 清洁公司清洁 -------------------------------------------------------------------------------- /docs/article/code/2024-10-30-lin-linux.md: -------------------------------------------------------------------------------- 1 | ## opencloudos通过yum安装docker-compose 2 | ``` 3 | yum install docker-compose 4 | 5 | docker -v 6 | 7 | docker-compose -v 8 | ``` 9 | 10 | ## 安装fastgpt docker 11 | ``` 12 | 使用docker-compose 安装 13 | https://github.com/labring/FastGPT/blob/main/files/docker/docker-compose-pgvector.yml 14 | 15 | //如果docker-compose 版本过低,需要手动卸载升级 16 | which docker-compose 查看版本 17 | 18 | // 然后移除卸载 19 | sudo rm /usr/local/bin/docker-compose 20 | 21 | // 重新下载比如这个版本号,并重新设置到/usr/local/bin/docker-compose 22 | sudo curl -L "https://github.com/docker/compose/releases/download/v2.17.0/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose 23 | 24 | // 如果github上下载太慢了可以更换为国内的 25 | sudo curl -L https://get.daocloud.io/docker/compose/releases/download/v2.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose 26 | 27 | // 也可以直接在gihub上下载后再使用(找到对应的版本即可) 28 | uname -s 查看系统 29 | uname -m 查看系统位数 30 | - x86_64: 64 位的 x86 架构(常见于大多数现代桌面和服务器)。 31 | - i686 或 i386: 32 位的 x86 架构。 32 | - armv7l: 32 位的 ARM 架构。 33 | - aarch64: 64 位的 ARM 架构。 34 | - ppc64le: 64 位的 PowerPC 架构(小端)。 35 | 36 | https://github.com/docker/compose/releases/tag/v2.30.1 37 | 38 | // 重新授权 39 | sudo chmod +x /usr/local/bin/docker-compose 40 | 41 | //查看版本 42 | docker-compose version 43 | 44 | // 安装时可能存在问题,请点击链接 45 | https://juejin.cn/post/7220730324752859195?searchId=202410311129016E330B83E21403718938 46 | ``` 47 | 48 | ## 代理的问题 49 | - cloudflare 中转代理 50 | - https://doc.tryfastgpt.ai/docs/development/proxy/cloudflare/ 51 | - 优选IP提速 https://github.com/XIU2/CloudflareSpeedTest 52 | 53 | ## top查看内存 54 | ``` 55 | top 56 | //清空缓存 57 | sudo sync; echo 3 | sudo tee /proc/sys/vm/drop_caches 58 | 59 | //只清空页面缓存 60 | sudo sync; echo 1 | sudo tee /proc/sys/vm/drop_caches 61 | ``` 62 | 63 | 64 | ## 暂停容器和移除容器 65 | ``` 66 | docker stop fastgpt 67 | docker stop oneapi 68 | docker stop sandbox 69 | docker stop pg 70 | docker stop mysql 71 | docker stop mongo 72 | 73 | docker rm fastgpt 74 | docker rm oneapi 75 | docker rm sandbox 76 | docker rm pg 77 | docker rm mysql 78 | docker rm mongo 79 | ``` 80 | 3001 root Lin2024!!! 81 | 放到sh文件中执行可能会报错,主要因为换行符不一致 82 | 可以使用如下命令 dos2unix del.sh -------------------------------------------------------------------------------- /docs/article/code/2024-11-19.-自主填报配置sql.md: -------------------------------------------------------------------------------- 1 | 2 | ## 自主填报配置sql算法注意事项 3 | - sql中可以使用的几个字段 4 | - userid 5 | - regionid 6 | - taskid 7 | - populationid 8 | 9 | ## 例子 10 | - 如下 id,是业务表的guid字段, taskid是业务表的关联taskid,其他字段则是业务表的字段 11 | select UUID() id, @taskid taskid from User u where u=@userid 12 | 13 | ## 注意事项 14 | - 要发布自主填报之后才可以写sql 15 | 16 | 17 | - 保证必须有数据的 18 | ``` 19 | SELECT UUID() id, @taskid taskid, p.`Name` c1,CONCAT(hn.`Name`, h.HouseNumber) as c2,vp.Contact c3,p.IdCard c4 FROM `User` u 20 | LEFT JOIN Population p on p.Id = u.PopulationId 21 | LEFT JOIN VillagePopulation vp on vp.PopulationId = u.PopulationId 22 | LEFT JOIN VillageHouseholdPopulation hp on hp.PopulationId = u.PopulationId 23 | LEFT JOIN VillageHousehold h on h.Id = hp.VillageHouseholdId 24 | LEFT JOIN VillageHouseName hn on hn.Id = h.HouseNameId 25 | WHERE u.Id = @userid 26 | ``` 27 | - 后面的查询sql可能没有数据的话,就要通过left join进行关联查询来保证有数据 28 | ``` 29 | SELECT 30 | base.id, 31 | base.taskid, 32 | temp.c1, 33 | temp.c2, 34 | temp.c3, 35 | temp.c4 36 | from ( 37 | SELECT 38 | UUID() as id, 39 | @taskid as taskid 40 | ) AS base 41 | LEFT JOIN ( 42 | SELECT 43 | p.`Name` as c1, 44 | CONCAT(hn.`Name`, h.HouseNumber) as c2, 45 | vp.Contact as c3, 46 | p.IdCard as c4 47 | FROM `User` u 48 | LEFT JOIN Population p on p.Id = u.PopulationId 49 | LEFT JOIN VillagePopulation vp on vp.PopulationId = u.PopulationId 50 | LEFT JOIN VillageHouseholdPopulation hp on hp.PopulationId = u.PopulationId 51 | LEFT JOIN VillageHousehold h on h.Id = hp.VillageHouseholdId 52 | LEFT JOIN VillageHouseName hn on hn.Id = h.HouseNameId 53 | WHERE u.Id = @userid 54 | ) AS temp ON 1=1 55 | ``` 56 | 57 | ## 自主填报 视图获取人信息 58 | ``` 59 | SELECT v.`Name`, v.IdCard, v.Contact, v.HouseName, v.HouseNumber FROM `User` u 60 | LEFT JOIN VillageHouseholdPopulationView v on v.PopulationId = u.PopulationId 61 | WHERE u.Id = 1676431146113699840 62 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-11-22-台账.md: -------------------------------------------------------------------------------- 1 | ## web端查询转换(MariaDB MaxScale) 2 | ``` 3 | // 直接对Long类型字段进行转换 4 | select CAST(r.Id AS CHAR(19)) from DynamicReportTaskRecord r where r.Id=1862420590838173696 5 | ``` 6 | 7 | ## 台账表结构分析 8 | ``` 9 | ## 台账模板(包含TableSchemaId) 10 | select * from ImportTemplate 11 | 12 | ## 表结构 13 | select * from TableSchema 14 | 15 | ## 表字段泪飙 (包含TableSchemaId) 16 | select * from ColumnSchema 17 | 18 | ## 通过IsSearch来设置是否可以作为查询字段 19 | SELECT * FROM ColumnSchema S WHERE S.IsSearch = 1 20 | ``` 21 | 22 | ## 一套表任务配置列表 23 | select * from DynamicReport(包含QueryId、TableSchemaId) 24 | 25 | select * from DynamicReport s where s.TableSchemaId is not null 26 | 27 | ## 数据查询算法(sql或者C#逻辑) 28 | select * from `Query` s where s.Id= 1674720456927744000 29 | 30 | 31 | ## 一套表数据修改 32 | ``` 33 | { 34 | "action": 2, 35 | "formName": "1839216387046920192-dynamicReportId", 36 | "areaId": 0, 37 | "parameters": { 38 | "id": "1847161187184300032", 39 | "dynamicReportTaskId": "1837009693336353453", 40 | "dynamicReportTaskRecordId": "1839221861414752256", 41 | "dynamicReportId": "1839216387046920192" 42 | } 43 | } 44 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-11-29-java.md: -------------------------------------------------------------------------------- 1 | 2 | ## 登录 3 | ``` 4 | // Swagger快捷登录json 5 | { 6 | "userName": "admin", 7 | "password": "admin123456!", 8 | "captchaValue": "string", 9 | "captchaKey": "string", 10 | "loginType": "Swagger" 11 | } 12 | ``` 13 | 14 | ## 打包 15 | ``` 16 | maven package 17 | // 生成jar包,在target目录下 18 | // 拷贝到服务器的目录 /usr/local/sunlight/sun-xxm-java 19 | 20 | // 重启服务 21 | systemctl restart sun-xxm-java 22 | 23 | // 访问地址 24 | http://101.200.243.192:624/swagger-ui/index.html 25 | 26 | // 前端 打包 27 | pnpm build 28 | 29 | // 拷贝到服务器的目录 /usr/local/sunlight/xxm-ui/xxm-ui 30 | ``` -------------------------------------------------------------------------------- /docs/article/code/2024-12-07-univer.md: -------------------------------------------------------------------------------- 1 | ## 官方文档 2 | - https://docs.univer.ai/zh-CN/guides/sheets/pro-features/server/quick-start 3 | 4 | 在线Excel实时编辑 excel导入导出 5 | 6 | e:/work/git-refactor/univer 7 | 8 | 如何开启服务 9 | cd univer-server && bash run.sh start-demo-ui -------------------------------------------------------------------------------- /docs/article/code/2024-12-24-小程序订阅消息.md: -------------------------------------------------------------------------------- 1 | ## 跳转小程序场景值 2 | - https://mp.zhls.qq.com/youshu-docs/develop/event/channel/chan_wxapp_scene.html 3 | - https://developers.weixin.qq.com/miniprogram/dev/reference/scene-list.html -------------------------------------------------------------------------------- /docs/article/code/2024-12-28-独立站.md: -------------------------------------------------------------------------------- 1 | ## 韩国跨境电商网站 2 | - 3 | - https://developers.coupangcorp.com/hc/en-us/categories/360002105414 4 | - 查询订单 https://developers.coupangcorp.com/hc/zh-cn/articles/360033919573-%E8%AE%A2%E5%8D%95%E5%88%97%E8%A1%A8%E6%9F%A5%E8%AF%A2-%E6%8C%89%E5%A4%A9%E5%88%86%E9%A1%B5 -------------------------------------------------------------------------------- /docs/article/code/2025-01-03-nas.md: -------------------------------------------------------------------------------- 1 | | 商品名称 | 价格 | 商品链接 | 2 | | -------------------- | -------- | -------------------------------------------- | 3 | | 畅网N100 主板 | 908元 | [链接](https://item.jd.com/10092624767636.html) | 4 | | 32GB DDR5 5600内存条 | 576.11元 | [链接](https://u.jd.com/bgVId2k) | 5 | | m.2系统硬盘 256GB | 99元 | [链接](https://u.jd.com/bG7kBTb) | 6 | | mini-itx 5盘位机箱 | 291元 | [链接](https://u.jd.com/bgVMttG) | 7 | | 1U电源 | 179元 | [链接](https://u.jd.com/bg7VoXg) | 8 | -------------------------------------------------------------------------------- /docs/article/code/2025-01-20-ready.md: -------------------------------------------------------------------------------- 1 | - 两个身份证+户口本 2 | - 给娃娃带点药 3 | - 充电宝+数据线 4 | - 带个电脑 5 | - 化妆品(洗面奶) 6 | - 衣服 7 | - 快递站点 搞个箱子? 8 | - 皮皮和你买点袜子 9 | - 看内裤是否需要买? -------------------------------------------------------------------------------- /docs/article/code/2025-03-10-知识库.md: -------------------------------------------------------------------------------- 1 | ## dify 2 | - https://docs.dify.ai/zh-hans/guides/knowledge-base/create-knowledge-and-upload-documents/chunking-and-cleaning-text#etl 3 | - 数据清洗 4 | - 检索 5 | - 召回 6 | - 清洗 7 | - 为了保证文本召回的效果,通常需要在将数据录入知识库之前便对其进行清理。例如,文本内容中存在无意义的字符或者空行可能会影响问题回复的质量,需要对其清洗。 8 | 9 | 10 | ## fastgpt 11 | - https://doc.tryfastgpt.ai/docs/guide/knowledge_base/rag/ 12 | 13 | 14 | ## qwq2.5B 15 | - https://zhuanlan.zhihu.com/p/28378860157 16 | - https://deepseek.csdn.net/67cbf0edd649b06b61ca4f87.html 17 | - https://www.modelscope.cn/models/Qwen/QwQ-32B/files 18 | 19 | ### 第一种方式 20 | ``` 21 | 受理 30分钟 22 | 审批 1小时 23 | 出证 24 | 25 | 受理人:县市政务服务中心综合窗口工作人员 审批人:县市财政局非税收入管理局票据管理工作人员 发证人:县市财政局非税收入管理局票据管理工作人员 26 | 27 | 申请人需提交的材料清单 28 | 序号 材料名称 29 | 无 30 | 31 | 备注:1、此事项原需3项材料(①财政票据领用证申请表、②行政事业性收费项目批复文件复印件、③单位机构代码证及法人身份证复印件) ,均已取消,现无需提供申请材料。 32 | 2、按照省财政厅鄂财综发【2019】8号文件要求,恩施州非税收入管理局已于2019年底启动了财政电子票据改革,2021年12月31日前全面覆盖,以后各用票单位均在线上领取电子票据,无需《财政票据领用证》。此事项2022年可以取消。 33 | 34 | 35 | 36 | 37 | 38 | 根据上面的内容,帮我生成县市政务服务中心综合窗口办理中公民办事经常遇到的一些常见问题,直接给我生成一个csv文件列表即可。注意问题中都要加上所属办理的什么事项 39 | ``` 40 | 41 | ## ollama运行bge-m3 42 | ``` 43 | ollama pull bge-m3 44 | 45 | 46 | ``` 47 | 48 | 49 | 50 | 51 | ## 第二种方式 52 | ``` 53 | 受理 30分钟 54 | 审批 1小时 55 | 出证 56 | 57 | 受理人:县市政务服务中心综合窗口工作人员 审批人:县市财政局非税收入管理局票据管理工作人员 发证人:县市财政局非税收入管理局票据管理工作人员 58 | 59 | 申请人需提交的材料清单 60 | 序号 材料名称 61 | 无 62 | 63 | 备注:1、此事项原需3项材料(①财政票据领用证申请表、②行政事业性收费项目批复文件复印件、③单位机构代码证及法人身份证复印件) ,均已取消,现无需提供申请材料。 64 | 2、按照省财政厅鄂财综发【2019】8号文件要求,恩施州非税收入管理局已于2019年底启动了财政电子票据改革,2021年12月31日前全面覆盖,以后各用票单位均在线上领取电子票据,无需《财政票据领用证》。此事项2022年可以取消。 65 | 66 | 67 | 68 | 69 | 70 | 根据上面的内容,帮我生成县市政务服务中心综合窗口办理中公民办事经常遇到的一些常见问题,直接给我生成一个csv文件列表即可。注意问题中都要加上所属办理的什么事项.只需要列出问题就可以了 不用进行回答 71 | ``` 72 | 73 | 74 | ``` 75 | 问题 76 | 办理财政票据领用证需要什么材料? 77 | 财政票据领用证的受理时间是多久? 78 | 财政票据领用证的审批时间是多久? 79 | 财政票据领用证的发证人是谁? 80 | 办理财政票据领用证的受理人是谁? 81 | 办理财政票据领用证的审批人是谁? 82 | 现在办理财政票据领用证还需要提交哪些材料? 83 | 以前办理财政票据领用证需要提交哪些材料? 84 | 财政票据领用证的申请材料取消了吗? 85 | 财政票据领用证申请表现在还需要提交吗? 86 | 行政事业性收费项目批复文件复印件还需要提交吗? 87 | 单位机构代码证及法人身份证复印件还需要提交吗? 88 | 财政电子票据改革是从什么时候开始的? 89 | 财政电子票据改革的覆盖时间是多久? 90 | 现在各用票单位如何领取电子票据? 91 | 财政票据领用证事项什么时候可以取消? 92 | 在线上领取电子票据还需要财政票据领用证吗? 93 | ``` 94 | 95 | 96 | 97 | 98 | 99 | ## 1. 残疾儿童康复服务办理流程流程步骤 100 | 101 | 服务名称:残疾儿童康复服务 102 | 第一步:受理(耗时:1小时) 103 | 第二步:审核办结 104 | 105 | ## 2. 残疾儿童康复服务办理流程人员角色 106 | 107 | 受理人:县市政务服务中心综合窗口工作人员 108 | 执行人:县市残联康复工作人员 109 | 110 | ## 3. 残疾儿童康复服务办理流程申请材料 111 | 112 | 材料1:诊断证明材料 113 | 材料2:湖北省残疾儿童康复救助申请审批表(有标准文本) 114 | 115 | ## 4. 残疾儿童康复服务办理流程流程特征 116 | 117 | 简化材料:原需4项材料,现申请人只需提交2项 118 | 部门协作:2项材料(中华人民共和国居民身份证、居民户口簿)通过部门共享获取 119 | 标准化:使用标准文本申请审批表 120 | 高效办理:受理环节仅需1小时 -------------------------------------------------------------------------------- /docs/article/code/2025-0306-ag.md: -------------------------------------------------------------------------------- 1 | - 记录大盘涨跌幅和成交量 2 | - 记录最低点和最高点 3 | - 记录涨幅最好的三个板块 4 | - 看看自己股票的涨跌幅度 -------------------------------------------------------------------------------- /docs/article/code/2025-04-12-anythingllm.md: -------------------------------------------------------------------------------- 1 | ## 初始化本地环境 2 | - https://blog.csdn.net/Zhangmaoyang/article/details/146253209 3 | 4 | - 前端 5 | - yarn dev:frontend 6 | - http://localhost:3000/ 7 | - root admin!!!??? 8 | - 后端 9 | - yarn dev:server 10 | - http://localhost:3001/api 11 | 12 | - 文档收集器 13 | - yarn dev:collector 14 | - swagger 15 | - http://localhost:3001/api/docs/ 16 | 17 | ## 查看端口占用 18 | - netstat -ano | findstr :3000 19 | 20 | - 再来查看具体的应用 21 | - tasklist | findstr 48352 22 | 通过任务管理器中的进程杀死即可 23 | 24 | 25 | ## 向量数据库客户端 26 | - https://github.com/zilliztech/attu 27 | - 模糊查询 metadata["title"] like "%财务%" 28 | 29 | ## ollama 命令 30 | ``` 31 | // 列出所有的模型 32 | ollama ls 33 | 34 | // 正在运行的模型 35 | ollama ps 36 | 37 | // 查看ollama服务运行状态 38 | systemctl status ollama 39 | 40 | // 如果停止了服务 重新开启服务 41 | ollama serve 42 | 43 | ``` 44 | 45 | 46 | 47 | ## docker与宿主机器中拷贝文件 48 | ``` 49 | // 宿主机器到docker容器 50 | sudo docker cp yarn.lock 8aa8db19bbde:/app/yarn.lock 51 | 52 | // docker容器到宿主机器 53 | sudo docker cp 8aa8db19bbde:/app/yarn.lock lqm/ 54 | ``` -------------------------------------------------------------------------------- /docs/article/code/2025-04-15-vue.md: -------------------------------------------------------------------------------- 1 | ## server-ui升级 2 | - 删除当前依赖 rimraf node_modules 3 | - 删除当前依赖 yarn.lock 4 | - nvm ls 切换node版本 5 | 6 | ## 开始升级 7 | yarn add @vue/cli@latest --ignore-engines -------------------------------------------------------------------------------- /docs/article/code/2025-04-18-ai-proxy.md: -------------------------------------------------------------------------------- 1 | ## 项目地址 2 | ``` 3 | https://github.com/egoist/ai-proxy 4 | ``` 5 | ## 如何使用 6 | ``` 7 | git clone xxxx 8 | ``` 9 | 10 | ## 创建镜像 11 | 到项目根目录 12 | ``` 13 | # 1. 创建镜像 14 | docker build -t ai-proxy . 15 | 16 | # 2. 运行镜像 17 | docker run -d -p 3333:3000 --name ai-proxy-container ai-proxy 18 | 19 | # 3. 访问 20 | http://localhost:3333 21 | 22 | # 4. 接口调用是 23 | http://localhost:3333/generativelanguage/v1beta 24 | 25 | # 5. tailscale启动 26 | 27 | # 6. 云服务器访问 28 | 29 | # 7. xAi测试地址 30 | - https://docs.x.ai/docs/tutorial#the-hitchhikers-guide-to-grok 31 | - https://ai.google.dev/gemini-api/docs?hl=zh-cn#rest 32 | ``` 33 | 34 | -------------------------------------------------------------------------------- /docs/article/code/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: JavaScript 性能优化技巧 3 | description: 探索如何优化 JavaScript 代码,提高网站性能。 4 | keywords: JavaScript, 性能优化, 编程 5 | head: 6 | - - meta 7 | - name: keywords 8 | content: JavaScript, 性能优化, 编程 9 | --- 10 | 11 | ## JavaScript 12 | 13 | 14 | 15 | -------------------------------------------------------------------------------- /docs/article/daily/2021-08.md: -------------------------------------------------------------------------------- 1 | 2 | ## 8 月 28 日 3 | 4 | - 241 延迟加载组件 5 | - https://blog.csdn.net/duninet/article/details/119701225 6 | 7 | ## 8 月 26 日 8 | 9 | - 240 vue element ui table 多个字段一起排序 10 | - https://segmentfault.com/a/1190000022538605 11 | - https://blog.csdn.net/weixin_36894745/article/details/109443811 12 | 13 | ## 8 月 18 日 14 | 15 | - 239 typescript actionMap[value] 报错的检查 16 | - https://blog.csdn.net/beLaity/article/details/108527556 17 | 18 | ## 8 月 14 日 19 | 20 | - 238 生成 shortid 短 id 21 | - https://github.com/dylang/shortid 22 | - 237 滴滴团队 PC 和 H5 可配置化前端组件库 23 | - https://github.com/epage-team/epage-vant 24 | - https://github.com/epage-team/epage-iview 25 | - https://github.com/didi/epage 26 | - 236 vue3 vue-dragger 27 | - https://github.com/SortableJS/vue.draggable.next 28 | - 235 vue3 vue-drag-resize 29 | - https://github.com/kirillmurashov/vue-drag-resize/tree/vue3 30 | 31 | ## 8 月 9 日 32 | 33 | - 234 vue3 3.2.1 版本 defineEmits 定义事件问题 34 | - https://zhuanlan.zhihu.com/p/386919557 35 | - 233 vue3 vite2 打包资源文件配置 36 | - https://blog.csdn.net/weixin_47021806/article/details/118697540 37 | 38 | ## 8 月 8 日 39 | 40 | - 232 bash source 命令行的使用 41 | - https://www.cnblogs.com/shuiche/p/9436126.html 42 | 43 | ## 8 月 7 日 44 | 45 | - 231 bash 数组循环便利 (关联数组,可以通过 key 访问) 46 | - https://blog.csdn.net/weixin_39883129/article/details/113317457 47 | - https://github.com/wangdoc/bash-tutorial/blob/master/docs/array.md 48 | 49 | ## 8 月 6 日 50 | 51 | - 230 shell 脚本 while 52 | - 229 前端项目编译的时候发生,warning [mini-css-extract-plugin] warning Conflicting order 53 | - https://github.com/vuejs/vue-cli/issues/3771 54 | - vue.config.js 中设置 css 55 | ```javascript 56 | // vue.config.js 57 | module.exports = { 58 | css: { 59 | extract: { ignoreOrder: true }, 60 | }, 61 | }; 62 | ``` 63 | 64 | ## 8 月 5 日 65 | 66 | - 228 vue.config.js extenals 设置 67 | - https://blog.csdn.net/weixin_38107457/article/details/106490372 68 | -------------------------------------------------------------------------------- /docs/article/daily/2021-09.md: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | ## 9 月 29 日 5 | 6 | - 259 display inline-block 和 block 和 inline 之间的区别 7 | - https://blog.csdn.net/xuanwugang/article/details/80254401 8 | - https://www.cnblogs.com/brainworld/p/6693531.html 9 | 10 | ## 9 月 28 日 11 | 12 | - 258 go 环境搭建 13 | - https://www.cnblogs.com/htc524/p/12616839.html 14 | 15 | ## 9 月 27 日 16 | 17 | - 257 vue3 onBeforeRouterEnter 18 | - https://www.jianshu.com/p/67f882a39d78 19 | 20 | ## 9 月 26 日 21 | 22 | - 256 storyBook 23 | - https://github.com/storybookjs/storybook/ 24 | 25 | ## 9 月 24 日 26 | 27 | - 255 自定义表单组件封装 28 | - https://v2.formilyjs.org/zh-CN/guide/quick-start 29 | 30 | ## 9 月 22 日 31 | 32 | - 254 tab 菜单切换 33 | - https://github.com/buqiyuan/vite-vue3-admin 34 | - 253 数据权限设计 35 | - https://www.cnblogs.com/yubaolee/p/DataPrivilege.html 36 | 37 | ## 9 月 21 日 38 | 39 | - 252 nuxtjs.cn 40 | - https://www.nuxtjs.cn/ 41 | - 251 css modules 42 | - https://www.cnblogs.com/rynxiao/p/9538058.html 43 | - 250 taro 44 | - https://b2nil.github.io/taro-ui-vue3/ 45 | - https://github.com/b2nil/taro-ui-vue3/ 46 | 47 | ## 9 月 18 日 48 | 49 | - 249 C#调用 Web Api 接口的类库 Flurl 50 | - https://flurl.dev/ 51 | 52 | ## 9 月 11 日 53 | 54 | - 248 vue 可视化技术分析 55 | - https://github.com/woai3c/visual-drag-demo 56 | - 247 vue drag 样例 57 | - https://www.cnblogs.com/yalong/p/10036463.html 58 | 59 | ## 9 月 9 日 60 | 61 | - 246 video 标签弹窗层级控制 62 | - https://www.cnblogs.com/shimily/articles/12750055.html 63 | - 245 vite-qiankun 插件 64 | - https://github.com/tengmaoqing/vite-plugin-qiankun 65 | 66 | ## 9 月 4 日 67 | 68 | - 244 数据大屏可视化配置 69 | - https://github.com/dongsuo/vue-data-board 70 | - https://v11nlab.com/ 71 | 72 | ## 9 月 3 日 73 | 74 | - 243 video 标签监听事件 75 | - https://www.cnblogs.com/yuanmo/p/12795104.html 76 | - 监测视频播放了多久,方便记录下次进来继续播放 https://www.jc2182.com/html/html-audio-video-dom-timeupdate-event.html 77 | 78 | ## 9 月 1 日 79 | 80 | - 242 video.js 指定视频某个播放时间进行播放 81 | - https://www.cnblogs.com/zhuwenjun/p/4925372.html 82 | -------------------------------------------------------------------------------- /docs/article/daily/2021-11.md: -------------------------------------------------------------------------------- 1 | 72 | -------------------------------------------------------------------------------- /docs/article/daily/2022-01.md: -------------------------------------------------------------------------------- 1 | ## 1月31日 2 | - 简单整理vuepress 文档目录 3 | ## 1月30日 4 | - 简单整理未来计划的雏形,对2022年规划的具体内容进行了调整,可以说是要做的事情更加具体了 5 | - 29日和30日早上看了一部电影:致命魔术(军总推荐的) 6 | - vuepress初步搭建,准备把2022仓库的文档移植到vuepress上 7 | ## 1月29日 8 | - 菜单管理功能测试以及异常修复,基本功能已经有了 9 | - TODO 后期可考虑复制、粘贴、导入、导出、批量删除等,暂时可以先不做 10 | ## 1月28日 11 | - 实现新增(根菜单和子系统)、删除(要判断是否有子菜单,请先删除子菜单) 12 | ## 1月27日 13 | - 实现菜单管理的 新增、编辑、修改和列表、以及递归实现列表转换树 14 | ## 1月26日 15 | - 简单整理将要做的东西,react实现工具,vue来对接工具实现业务,.net core 实现API 16 | ## 1月25日 17 | - 将.net core接口设置为可关闭命令行窗口运行 18 | ## 1月24日 19 | - 流程类型:列表,添加、编辑、删除已调用接口 20 | ## 1月22日-1月23日 21 | - .net core EF repository 模式搭建 (上下文一致的问题待处理) 22 | ## 1月21日 23 | - mac下链接Linux 24 | - fileZilla 上传文件 25 | - vs2022预览版 安装到mac 安装.net 6.0 26 | ## 1月16日 - 1月20日 27 | - logicflow 流程图和流程数据进行关联 28 | ## 1月15日 29 | - EFCore 使用 30 | - https://docs.microsoft.com/zh-cn/ef/core/cli/powershell 31 | - mysql https://docs.microsoft.com/zh-cn/ef/core/providers/?tabs=dotnet-core-cli 32 | - EFCore 可以链接MySql,以及通过数据表生成实体 33 | - 用户管理简单的几个接口实现 34 | ## 1月14日 35 | - yarn build 已打包编译,并且配置nginx 后通过代理可访问接口 36 | - 准备添加form表单配置前端页面 37 | ## 1月13日 38 | - 菜单管理和角色管理前端页面的添加 39 | ## 1月12日 40 | - 用户管理和字典管理页面的添加 41 | ## 1月11日 42 | - 指标管理页面布局调整 43 | ## 1月10日 44 | - 指标管理页面布局调整 45 | - 简单修改布局调整 46 | ## 1月9日 47 | - svg小图标制作工具 https://mastergo.com/file/49597598216304 48 | - 前端打包待处理(api请求处理) 49 | ## 1月8日 50 | - 将.net core由5.0升级到6.0 51 | - 将前端项目和后端项目 放到一个git仓库 52 | ## 1月7日 53 | - 调整指标管理的左侧树接口逻辑,以及联动右侧的表单数据 54 | ## 1月6日 55 | - 后端接口可发布到linux外网访问, 前端react项目待部署到外网环境 56 | - 指标接口可调用,开始处理页面和接口之间的逻辑了 57 | ## 1月5日 58 | - 前端项目开发环境中可设置接口代理地址,调用接口 59 | - 后端项目目前可调用指标定义接口,本地可发布,可访问,待发布到linux外网可访问 60 | ## 1月4日 61 | - 腾讯云 centos 下安装mysql https://www.cnblogs.com/wanjinliu/p/15234443.html 62 | - 查看mysql默认密码命令 https://www.cnblogs.com/joker-ma/p/14925474.html 63 | - .net 6.0 可链接marriadb数据库 64 | ## 1月2日 65 | - 后端考虑继续使用.net core (.net 6) 66 | - 前端考虑使用react+antd.pro 搭建指标配置工具 67 | ## 1月1日 68 | - 参考tally.so form表单发布和后台查看反馈 69 | - 以产品为导向来学习前端技术,不断优化产品的同时来学习技术。 70 | - 准备做几个小工具,看如何切入,通过技术进行实现。 71 | -------------------------------------------------------------------------------- /docs/article/daily/2022-03.md: -------------------------------------------------------------------------------- 1 | 2 | ## 3月31日 3 | -[x] 部署 jenkins 4 | - https://juejin.cn/post/6887751398499287054 5 | - h5端 list列表中item布局通过拖拽实现,待继续 6 | ## 3月30日 7 | - vue3 拖拽 8 | https://github.com/kirillmurashov/vue-drag-resize/tree/v2.0.0#props 9 | ## 3月26日 10 | - 微信公众号录制语音后,还要通过Media进行下载,上传到本地自己的服务器 11 | ## 3月25日 12 | - 将.net core服务由腾讯云切换到华为云 13 | ## 3月24日 14 | - 微信公众号将录音保存到本地服务器 15 | - https://juejin.cn/post/6885163128821121032 16 | - taro nutui picker有晃动的问题,暂时先用微信原生进行开发 17 | - taro nutui upload 上传组件暂时有异常,通过小程序跳转到h5,h5再返回到页面吧 18 | ## 3月22日 19 | - taro vue3 mini-program 小程序撸一小波 20 | ## 3月21日 21 | - vscode插件 vue3-snippets-for-vscode 22 | ## 3月20日 23 | - 将form表单 FormRule、FormTextItem、 FormNumberItem、 FormItemCommon 24 | - 修改 text、number两个字段的拆分和typescript化,待继续优化和处理其他组件 25 | ## 3月19日 26 | - 在线服务或自部署服务 https://xdts.xdocin.com/ 27 | - 在线预览服务 http://view.officeapps.live.com/op/view.aspx?src=文档url 28 | - https://dvs-dev.sunlight-tech.com/test.docx 29 | 30 | - 自己搭建officeapps 31 | - https://www.cnblogs.com/littlehb/p/10572984.html 32 | - iframe 细节处理 33 | - https://segmentfault.com/a/1190000004502619 34 | - officeapp两种模式、通过接口转换成html 35 | - https://www.cnblogs.com/oucbl/p/14185437.html 36 | - 37 | ## 3月18日 38 | - 今天周五居家办公五天了 39 | - 居家办公好处 40 | - 1、小孩可以有更多的时间看到你,休息的时候可以多跟他玩玩,或者下去测核酸的时候 41 | - 2、居家办公,省去了交通的时间,吃饭加上地铁的时间省去了两个半小时 42 | - 3、如果规划比较合理的话,效率还是蛮高的 43 | - 4、感觉休息的时间更多一些 44 | - 5、一天的时间,整体更加自由一些 45 | ## 3月15日 46 | - 居家办公第二天,vue3 qiankun问题还真是处理不了,mac环境的差异没找到问题点。 47 | - 48 | ## 3月14日 49 | - 全深圳居家隔离第一天,公司环境和家里环境 有差异 vue3 qiankun 50 | - docx 预览 excel预览 https://kuangyx.cn/ 51 | - docx https://github.com/zVolodymyr/docxjs 52 | - excel https://github.com/exceljs/exceljs 53 | - 导出Excel https://juejin.cn/post/7030291455243452429 54 | 55 | ## 3月11日 56 | - 二进制的四个运算符 & http://c.biancheng.net/view/5469.html 57 | ## 3月5日 58 | - 开始 微信小程序 vue3 typescript taro nutui mini-program 59 | ## 3月4日 60 | - 2.5.1.012 为最后的tag,实际版本号为013 61 | - docker 学习笔记 62 | - https://github.com/LiangJunrong/document-library/tree/master/%E7%B3%BB%E5%88%97-%E5%89%8D%E7%AB%AF%E8%B5%84%E6%96%99/Node/Node%20%E5%BA%94%E7%94%A8%E9%83%A8%E7%BD%B2/Docker 63 | - H5中课程可根据用户权限进行获取,暂时通过直接操作数据库进行 64 | ## 3月3日 65 | - typescript 在线转换为JavaScript https://www.typescriptlang.org/play 66 | - EFCore 关联查询两个上下文 https://www.cnblogs.com/myzony/p/11863489.html 67 | ## 3月2日 68 | - 用户表接口变更和用户UI调用接口 69 | - - EFCore按需修改 https://www.cnblogs.com/OpenCoder/p/9769269.html 70 | ## 3月1日 71 | - 用户表数据api修改 72 | -------------------------------------------------------------------------------- /docs/article/daily/2022-05.md: -------------------------------------------------------------------------------- 1 | ## 5月29日 2 | - 科学上网 https://github.com/Alvin9999/new-pac 3 | - nodejs中引入 ts ts-node 4 | - https://github.com/TypeStrong/ts-node 搜索experimentalResolver 5 | - 引入ts文件 import {} from './xxx.mjs' 就是mts 6 | ## 5月21日 7 | - vueuse 8 | - https://vueuse.org/core/usestorage/#usage 9 | - vue3 keepalive 10 | - https://segmentfault.com/a/1190000041459646 11 | - https://juejin.cn/post/7094910768285483039 12 | ## 5月19日 13 | - vant list 列表上滑问题 14 | - https://juejin.cn/post/6939349504126615560 15 | - https://blog.csdn.net/qq_41877050/article/details/121740002 16 | - https://juejin.cn/post/6875339665772609550 17 | ## 5月18日 18 | - vue3 hooks 19 | - https://juejin.cn/post/7083401842733875208 20 | ## 5月17日 21 | - github多人协作 22 | - https://blog.csdn.net/qq_45804132/article/details/118669698 23 | ## 5月13日 24 | - pnpm monorepo 25 | - https://juejin.cn/post/6964328103447363614 26 | - https://github.com/Innei/pnpm-workspace-monorepo 27 | ## 5月12日 28 | - pnpm workspaces 29 | - https://juejin.cn/post/7071992448511279141 30 | - pnpm官网 31 | - https://pnpm.io/zh/installation 32 | - 正则表达式 33 | - https://juejin.cn/post/6844903781839142926 34 | ## 5月10日 35 | - npm-run-all https://github.com/mysticatea/npm-run-all/blob/master/docs/npm-run-all.md 36 | - npm 玩法详解 https://www.ruanyifeng.com/blog/2016/10/npm_scripts.html 37 | - https://juejin.cn/post/6844903879943913485 38 | - vscode中修改 git bash 为默认命令行工具 https://zhuanlan.zhihu.com/p/365625019 39 | - exports 关键字 https://www.jianshu.com/p/094797a1e299 40 | - https://juejin.cn/post/7087083454059249701 41 | ## 5月2日 42 | - npm run build 43 | - https://juejin.cn/post/7078924628525056007 44 | - pnpm + lerna + ts 45 | - https://juejin.cn/post/7043998041786810398 46 | - rollup打包组件库 47 | - https://mp.weixin.qq.com/s/LqdE6FP7cnoCBs3TYF3CCA 48 | - npm 并行运行脚本 49 | - https://juejin.cn/post/6917533974285778957#heading-13 50 | - https://juejin.cn/post/6854573216363446286 51 | ## 5月1日 52 | - 打印 53 | - https://github.com/Power-kxLee/vue-print-nb#vue3-version 54 | -------------------------------------------------------------------------------- /docs/article/daily/2022-06.md: -------------------------------------------------------------------------------- 1 | 2 | ## 6月21日 3 | - blob https://juejin.cn/post/6901790184841412622 4 | ## 6月20日 5 | - 程序员副业 6 | - https://github.com/easychen/lean-side-bussiness 7 | ## 6月17日 8 | - vue- email - editor 是个类库可以调用有空调用一下 9 | - vue2的组件,看看行不行,行的话 改成vue3 10 | - https://github.com/unlayer/vue-email-editor 11 | - https://vue-email-editor-demo.netlify.app/ 12 | ## 6月16日 13 | - 浏览器回退 back() go() 14 | - https://juejin.cn/post/7090942617868828679#heading-2 15 | 16 | ## 6月15日 17 | - 一个按钮一键部署 18 | - https://juejin.cn/post/7070921715492061214 19 | - https://github.com/pouchdb/pouchdb 20 | - indexdb 21 | - https://github.com/localForage/localForage 22 | - 大致了解 23 | ## 6月14日 24 | - 各种题目 25 | - https://github.com/sisterAn/JavaScript-Algorithms 26 | - v8 27 | - docs https://v8.dev/docs 28 | - tools https://v8.github.io/tools/head/ 29 | - v8日志 https://www.jianshu.com/p/fba0101096ea 30 | - https://www.jianshu.com/p/4f2e2416421a 31 | - v8 调试笔记 http://t.zoukankan.com/snip3r-p-12506768.html 32 | - https://github.com/plctlab/v8-internals 33 | ## 6月8日 34 | - element-plus el-date-picker 选中时分秒 无效的问题 35 | - https://github.com/element-plus/element-plus/issues/3923 36 | - https://stackoverflow.com/questions/71221327/vue3-typescript-ts2345-argument-of-type-router-is-not-assignable-to-parame 37 | ## 6月6日 38 | - monorepo 39 | - https://www.robinwieruch.de/javascript-monorepos/#what-is-a-monorepo 40 | ## 6月2日 41 | - vscode插件 Preview.js 42 | - https://previewjs.com/docs/platforms/vscode 43 | - lerna重新开始更新了 44 | - https://github.com/lerna/lerna 45 | - release-it 46 | - https://github.com/release-it/release-it 47 | - Vue.js发布流程 48 | - https://juejin.cn/post/6997943192851054606#heading-28 49 | - standard-version https://github.com/conventional-changelog/standard-version 50 | - semver 51 | - https://github.com/semver/semver 52 | - https://juejin.cn/post/7025606860300353566 53 | - keepalive 54 | - https://github.com/Zippowxk/stack-keep-alive 55 | ## 6月1日 56 | - monorepo 57 | - https://juejin.cn/post/7102452341210611720 58 | - https://juejin.cn/post/6972139870231724045#heading-4 59 | - jenkins 60 | - https://juejin.cn/post/6995588010934796302 61 | - https://juejin.cn/post/7102360505313918983 62 | - keepalive 63 | - https://github.com/Zippowxk/stack-keep-alive 64 | -------------------------------------------------------------------------------- /docs/article/daily/2022-07.md: -------------------------------------------------------------------------------- 1 | 2 | ## 7月31日 3 | - 虚拟滚动列表了解一下 4 | - https://juejin.cn/post/7086359708507832356 5 | - https://juejin.cn/post/6844904184689475592#heading-1 6 | - https://juejin.cn/post/6844903982742110216 7 | ## 7月30日 8 | - git tag标签 9 | https://juejin.cn/post/6917429261296992269 10 | 11 | ## 7月23日 12 | - tree list 命令 13 | ## 7月22日 14 | - 代码编辑器 15 | - https://github.com/wanglin2/code-run 16 | ## 7月20日 17 | - tree list 命令 18 | - Chrome插件 19 | - https://github.com/GoogleChrome/chrome-extensions-samples 20 | - https://juejin.cn/post/7121653349669142565?share_token=f4aa0701-c07a-4591-a86c-76c6d85a3b78 21 | - https://juejin.cn/post/6844903793176379399#heading-6 22 | - https://developer.chrome.com/docs/extensions/mv3/devtools/ 23 | ## 7月18日 24 | - 查看网站技术栈 25 | - https://bundlescanner.com/ 26 | ## 7月16日 27 | - https://viteconf.org/ 28 | - 浏览器 进程详解 29 | - https://segmentfault.com/a/1190000041404464 30 | - https://www.cnblogs.com/gaokai/p/15613916.html 31 | ## 7月14日 32 | - bun了解一下 33 | - https://juejin.cn/post/7120179470136246309 34 | ## 7月12日 35 | - jest 使用import报错 36 | - https://juejin.cn/post/6844903776579485709 37 | ## 7月11日 38 | - jest了解一下小书一本 39 | - https://mp.weixin.qq.com/s/TiYdr0ux5B06mjtQyIRI7g 40 | - 数学了解一下 41 | ## 7月8日 42 | - 原型和原型链了解一下 https://juejin.cn/post/7007416743215759373 43 | ## 7月7日 44 | - 7227 18:00 45 | - 了解调用栈,可以更好的熟悉JavaScript的运行机制。这样在使用JavaScript编写代码的时候就能更好的写出更稳定的代码。 46 | - 用最通俗的语言,来讲解JavaScript基础,通过谁都能看的懂的代码小demo,让你熟悉了解那些晦涩难懂的知识点,如果我写的你没懂欢迎来啪啪啪的喷我,我会不断改进我的方式。 47 | ## 7月5日 48 | - 6500 49 | ## 7月4日 50 | - 5743 51 | - 鼠标点击 52 | - https://whatpulse.org/downloads 53 | - zsh 有点香 54 | - https://www.zhihu.com/question/21418449/answer/300879747 55 | - https://lxchuan12.gitee.io/oh-my-zsh/#%E5%AE%89%E8%A3%85-oh-my-zsh 56 | - https://gitee.com/vacrain/steppp-doc/blob/main/9-vacrain/2022-07.md#shell-%E6%8D%A2%E6%88%90-zsh 57 | - 川神推荐的正则 58 | - https://juejin.cn/post/6844903501034684430 59 | ## 7月3日 60 | - 图片封面如何的制作 https://www.canva.cn/ 61 | ## 7月2日 62 | - 事件循环 https://juejin.cn/post/6844904079353708557 63 | ## 7月1日 64 | - 为什么 Vue2 this 能够直接获取到 data 和 methods 65 | - https://juejin.cn/post/7082984422516981796 66 | - https://juejin.cn/post/7010920884789575711 67 | - vue2.7 今天更新了 68 | - https://juejin.cn/post/7115361618774622216#comment 69 | - window下终端设置 70 | - https://gitee.com/vacrain/steppp-doc/blob/main/9-vacrain/2022-07.md#%E7%BB%88%E7%AB%AF%E6%8D%A2%E6%88%90-zsh 71 | -------------------------------------------------------------------------------- /docs/article/daily/2022-10.md: -------------------------------------------------------------------------------- 1 | ## 10月29日 2 | - 算法 3 | - https://www.programmercarl.com/ 4 | - 5 | ## 10月28日 6 | - 算法复杂度 7 | - https://juejin.cn/post/6999307229752983582 8 | ## 10月27日 9 | - 压缩图片 10 | - https://tinypng.com/ 11 | ## 10月24日 12 | - .Net Core Swagger 13 | - https://www.cnblogs.com/fanfan-90/p/16795600.html 14 | - https://github.com/domaindrivendev/Swashbuckle.AspNetCore 15 | - https://www.cnblogs.com/xiaxiaolu/p/16247490.html 16 | ## 10月21日 17 | - webpack 编译速度优化 18 | - https://juejin.cn/post/6887863430510968839 19 | - mysql聚集索引和非聚集索引 20 | - https://m.php.cn/article/489392.html 21 | - 获取尺寸 22 | - https://blog.csdn.net/tentime/article/details/125240886 23 | - innerWidth 浏览器窗口可视区宽度(不包括浏览器控制台、菜单栏、工具栏) 24 | - innerHeight 浏览器窗口可视区高度(不包括浏览器控制台、菜单栏、工具栏) 25 | - document.body.clientWidth 26 | - document.body.clientHeight 27 | ## 10月18日 28 | - fs-extra 清空文件夹 以及特定目录不清空的脚本处理 29 | ## 10 月14日 30 | - 前端监控体系 31 | - https://github.com/miracle90/monitor 32 | ## 10月9日 33 | - nodejs 浏览器缓存实例解析 34 | - https://juejin.cn/post/6844904116972421128 35 | - nginx 浏览器缓存 36 | - https://juejin.cn/post/6844903734644834318 37 | - https://juejin.cn/post/7050004962155167781 38 | ## 10月8日 39 | - 如何修改node_modules中的文件 40 | - https://juejin.cn/post/6844904163558555662 41 | - vue-router 路由 42 | - https://juejin.cn/post/7150794643985137695 -------------------------------------------------------------------------------- /docs/article/daily/2023-02.md: -------------------------------------------------------------------------------- 1 | ## 2月28日 2 | - edge dev 下载地址 3 | - https://www.microsoft.com/zh-cn/edge/download?form=MA13FW 4 | - 初步完成视频剪辑的资料整理 5 | - 课程前端调用一下go 接口 6 | ## 2月27日 7 | - 将视频剪辑的资料进行整理 8 | ## 2月24日 9 | - 通过.net core 爬取课程 10 | ## 2月23日 11 | - 查看nginx错误日志 12 | - tail -f /var/log/nginx/error.log 13 | ## 2月22日 14 | - 崔学社 15 | - https://learn.cuixueshe.com/ 16 | - centos dotnet 安装 17 | - https://blog.csdn.net/suwei825/article/details/123107697 18 | ## 2月21日 19 | - go 登录 token 可以生成 20 | ## 2月20日 21 | - 开发微信小程序 22 | - react 23 | - taro 24 | - vantui https://github.com/AntmJS/vantui 25 | ## 2月17日 26 | - go api 统一返回实体 27 | - go token中间件 28 | - https://www.cnblogs.com/haiyux/p/15162758.html 29 | ## 2月16日 30 | - go swagger 搭建完毕,并可以部署linux 31 | ## 2月15日 32 | - curl post测试接口, https://juejin.cn/post/7020291189832155166 33 | ``` 34 | curl -d '{"name": "tigeriaf", "password": "123"}' -H 'Content-Type: application/json' 35 | curl -d '{"name": "测试", "state": "测试", "phone": "131", "email": "@qqq","address":"地址"}' -X POST http://localhost:3002/user/add 36 | curl -d '{"name": "测试", "state": "测试", "phone": "131", "email": "qqq", "address": "地址"}' -X POST http://localhost:3002/user/add 37 | curl -d '{"name": "测试", "state": "测试", "phone": "131", "email": "qqq", "address": "地址"}' -H 'Content-Type: application/json' http://localhost:3002/user/add 38 | ``` 39 | ## 2月14日 40 | - 搭建了go简易开发框架 41 | - 可通过路由配置api 42 | - 可链接mysql 43 | ## 2月13日 44 | - 计划 45 | - go语言继续学一波,争取写出api,连上数据库产出一个小模块 46 | - 完成 47 | - go语言的并发读写 48 | - https://juejin.cn/post/7189459383041359933#heading-1 49 | - 指针 50 | - https://juejin.cn/post/717384143445635894 51 | - gorm 52 | - https://juejin.cn/post/6844903854006337543 53 | - https://juejin.cn/post/7078279187471679518#heading-15 54 | - typescript 书籍 55 | - https://github.com/xcatliu/typescript-tutorial 56 | - https://ts.xcatliu.com/introduction/what-is-typescript.html 57 | ## 2月10月 58 | - https://chuangzaoshi.com/code 59 | - go小学一波 60 | - go 模块引入详解 61 | - https://juejin.cn/post/7040792078481096717 62 | - 匿名导入 https://juejin.cn/post/6844904167073382408 63 | ## 2月8日 64 | - 年算是过完了,开始搞学习了吧 65 | - linux云服务器搞一个 66 | - 前端面试整理 67 | - 后端面试整理 68 | -------------------------------------------------------------------------------- /docs/article/daily/2023-04.md: -------------------------------------------------------------------------------- 1 | ## 4月18日 2 | - turbo 3 | - https://juejin.cn/post/7129267782515949575#heading-24 4 | ## 4月6日 5 | - 富文本 6 | - https://github.com/tinymce/tinymce -------------------------------------------------------------------------------- /docs/article/daily/2023-05.md: -------------------------------------------------------------------------------- 1 | 11 | ## 5月26日 12 | - flow 13 | - https://jerosoler.github.io/drawflow-vue3-example/ 14 | - https://vueflow.dev/examples/nodes/ 15 | - https://github.com/bcakmakoglu/vue-flow -------------------------------------------------------------------------------- /docs/article/daily/2023-08.md: -------------------------------------------------------------------------------- 1 | ## 8月14日 2 | - 暂时移除 .gitmodules,取消关联仓库 3 | ``` 4 | [submodule "release"] 5 | path = ../release 6 | url = git@code.aliyun.com:dvs-cms/release.git 7 | ``` -------------------------------------------------------------------------------- /docs/article/daily/2023-09.md: -------------------------------------------------------------------------------- 1 | ## 9月1日 2 | 3 | - vue3的状态管理器 4 | https://pinia.vuejs.org/zh/ 5 | 6 | - 网课刷课工具 7 | - https://github.com/CodFrm/cxmooc-tools 8 | - https://cx.icodef.com/ 教程 9 | 10 | ## 9月2日 11 | - mjs文件 12 | - https://docs.fileformat.com/zh/web/mjs/ 13 | 14 | ## 9月5日 15 | - vite 16 | - https://vitejs.cn 17 | - pnpm 18 | - https://www.pnpm.cn 19 | 20 | - 待处理工作列表 21 | - 小程序菜单权限列表控制 22 | - 小程序乡村治理 家庭成员列表-标签-跳转到h5 23 | - pc common npm link处理 24 | - uni-app android和ios打包 25 | - pc gis 子系统 26 | - 大屏接口变更 27 | - 居民收入计算器 28 | - 数据采集v2迁移到v3/ mp+pc 29 | 30 | - 小程序自动化工具 (微信、qq、百度、快手、抖音、支付宝、uc、夸克) 31 | - https://github.com/Ethan-zjc/multi-mini-ci 32 | 33 | ## 9月7日 34 | 35 | ``` 36 | git tag 37 | 38 | // 查看以v3.0.0.0开头的标签列表 39 | git tag -l "v3.0.0.*" 40 | 41 | // 查看以v3.0.0.0开头的标签列表(最新的在最前面) 42 | git tag -l "v3.0.0.*" --sort=-taggerdate 43 | ``` 44 | 45 | ## 9月8日 46 | - JavaScript 监测window客户端 47 | - https://blog.csdn.net/weixin_42333548/article/details/125104935 48 | 49 | ## 9月12日 50 | - bun 开发、测试、运行和捆绑 JavaScript 和 TypeScript 项目,目前还不支持window 51 | - https://github.com/oven-sh/bun 52 | - https://juejin.cn/post/7277387014046335010 53 | 54 | ## 9月15日 55 | - nodejs 操作 mysql 56 | - https://github.com/sidorares/node-mysql2/tree/master/documentation/zh-cn 57 | 58 | ## 9月18日 59 | - uni-app 微信开发者小程序更新 60 | - https://blog.csdn.net/heavenz19/article/details/131769542 61 | - https://uniapp.dcloud.net.cn/api/other/update.html#getupdatemanager 62 | - 通过条件编译中的测试更新版本 63 | - https://www.dianjilingqu.com/18980.html 64 | - https://developers.weixin.qq.com/miniprogram/dev/api/base/update/UpdateManager.html#%E7%A4%BA%E4%BE%8B%E4%BB%A3%E7%A0%81 65 | - app 判断版本更新 https://ask.dcloud.net.cn/article/34972 66 | 67 | ## 9月19日 68 | - 微信小程序转发消息 69 | - https://developers.weixin.qq.com/miniprogram/dev/api/share/wx.updateShareMenu.html 70 | - https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share.html 71 | 72 | - 关闭当前页面 73 | - https://blog.csdn.net/qq_38990451/article/details/115540392 74 | 75 | ## 9月20日 76 | - uni-app 中的 uni_modules的使用 77 | - https://uniapp.dcloud.net.cn/plugin/uni_modules.html#uni-modules 78 | 79 | ## 9月21日 80 | - 获取小程序启动参数 81 | - https://developers.weixin.qq.com/miniprogram/dev/api/base/app/life-cycle/wx.getLaunchOptionsSync.html 82 | - uniapp 专属request请求 83 | - https://github.com/lei-mu/luch-request 84 | 85 | ## 9月25日 86 | - mac https://www.raycast.com/pro 87 | 88 | ## 9月27日 89 | - docker docker-compose vue前端 90 | - https://juejin.cn/post/7246264754141462589 91 | 92 | ## 9月29日 93 | - ai ui 94 | - https://github.com/leaferjs/ui -------------------------------------------------------------------------------- /docs/article/daily/2023-12.md: -------------------------------------------------------------------------------- 1 | ## 12月28日 2 | - linux docker alpine apk add xxxx 3 | - https://learn.microsoft.com/zh-tw/dotnet/core/install/linux-alpine 4 | ## 12月26日 5 | - docker官方文档 6 | - https://docs.docker.com/engine/reference/commandline/images/#filter 7 | ## 12月22日 8 | - docker .net8 9 | - https://github.com/dotnet/dotnet-docker 10 | - https://hub.docker.com/_/microsoft-dotnet-aspnet 11 | - https://learn.microsoft.com/en-us/dotnet/core/docker/build-container?tabs=linux&pivots=dotnet-8-0 12 | ## 12月20日 13 | - 数据埋点 14 | - https://github.com/sensorsdata/sa-sdk-miniprogram?tab=readme-ov-file 15 | ## 12月19日 16 | - .net core集成各大平台的身份认证 17 | - https://github.com/mrhuo/MrHuo.OAuth 18 | - nginx 配置将不带www的域名重定向到www的域名 19 | - https://blog.csdn.net/qq_27346503/article/details/108895683 20 | ## 12月11日 21 | - ip生成linux证书 22 | - https://mp.weixin.qq.com/s/qWL6P9jVhuRLk2rg_4vcsw 23 | ## 12月8日 24 | - nginx 配置 25 | ``` 26 | // www.baidu.com/wechat/xxxx 27 | ~ ^ 代表匹配开头 /wechat/ 28 | location ~ ^/wechat/ { 29 | proxy_pass http://127.0.0.1:12011; 30 | } 31 | 32 | // www.baidu.com/xxx/wechat/xxx 33 | ~ * 代表匹配包含 34 | 35 | location ~ * /wechat/ { 36 | proxy_pass http://127.0.0.1:12011; 37 | } 38 | ``` 39 | ## 12月7日 40 | - vs2022设置新增class的修饰符 internal 为public 41 | - C:\Program Files\Microsoft Visual Studio\2022\Enterprise\Common7\IDE\ItemTemplates\CSharp\Code\2052\Class 42 | - https://blog.csdn.net/yan_yu_lv_ji/article/details/132676464 43 | ## 12月6日 44 | - 蒲公英app测试 https://www.pgyer.com 45 | - pc 微信扫码登录 46 | - 微信开放平台 https://developers.weixin.qq.com/doc/oplatform/Website_App/WeChat_Login/Authorized_Interface_Calling_UnionID.html 47 | - java 扫码登录https://blog.csdn.net/qq_63358859/article/details/131826717 48 | ## 12月5日 49 | - .net 50 | ## 12月4日 51 | - .net 文档 52 | - https://learn.microsoft.com/zh-cn/dotnet/api/?view=net-8.0 -------------------------------------------------------------------------------- /docs/article/daily/2024-05.md: -------------------------------------------------------------------------------- 1 | ## 5月23日 2 | - 替代宝塔的 3 | - https://1panel.cn/docs/installation/online_installation/ 4 | ## 5月21日 5 | - navicat 17破解 6 | - https://github.com/LiJunYi2/navicat-keygen-16V 7 | ## 5月15日 8 | - 内网穿透 https://loophole.cloud/download 9 | ## 5月14日 10 | - win10上安装Arc浏览器 11 | - https://www.freedidi.com/12429/html 12 | - wifi密码查看器 13 | - https://www.magicaljellybean.com/wifi-password-revealer/ 14 | ## 5月9日 15 | - window安装make 16 | - 使用 Chocolatey(参考下面的链接) 17 | - https://mp.weixin.qq.com/s/Dgc1xqvin425CL3T-DmXag 18 | ## 5月8日 19 | - window docker desktop 报错 20 | ``` 21 | Docker.Core.HttpBadResponseException: 22 | 23 | {"message":"2 errors occurred:\n\t* provisioning docker WSL distros: running wsl-bootstrap version set in main distro: exit status 0xffffffff\n\t* checking if isocache exists: CreateFile \\\\wsl$\\docker-desktop-data\\isocache\\: The network name cannot be found.\n\n"} 24 | 25 | ``` 26 | 选择「Switch To Windows Containers」。重新启动Docker 27 | 28 | -------------------------------------------------------------------------------- /docs/article/daily/2024-06.md: -------------------------------------------------------------------------------- 1 | ## 6月28日 2 | - h5转app 3 | - https://median.co/ 4 | ## 6月24日 5 | - 分布式事务 CAP 6 | - https://www.cnblogs.com/savorboard/p/distributed-system-transaction-consistency.html 7 | ## 6月7日 8 | - 麒麟操作系统下载 9 | - https://sx.ygwid.cn:4431/ -------------------------------------------------------------------------------- /docs/article/daily/2024-07.md: -------------------------------------------------------------------------------- 1 | ## 7月29日 2 | - 通过Mysql 存储过程批量插入测试数据 3 | ``` 4 | CREATE DEFINER=`root`@`localhost` PROCEDURE `batch_insert_test`() 5 | BEGIN 6 | #Routine body goes here... 7 | DECLARE i INT DEFAULT 101; 8 | DECLARE max_count INT DEFAULT 50000; -- 设定要插入的行数 9 | 10 | WHILE i <= max_count DO 11 | INSERT INTO `dvsdb30`.`pcs2403_householdcode` (`id`, `areaid`, `hbh`, `pid`, `nf`, `hzxm`, `hzxb`, `hzzjlx`, `zjhm`, `hzidCard`, `hzmz`, `hzzzmm`, `hlx`, `jcdxlx`, `jtrks`, `lxdh`, `createby`, `createtime`, `updateby`, `updatetime`, `zrcmc`, `ndrks`, `sfcyh`) VALUES (CONCAT('a1e934c1-b82b-40db-a716-b106a2eb5bcd-', i), '1641459739483312128', NULL, NULL, 202403, '百瑞', '1', '01', '', '', '100A09001', NULL, '100B02001', NULL, 3, NULL, '1749713533467234304', '2024-03-29 19:26:46', '1749713533467234304', '2024-04-07 11:03:50', NULL, NULL, '1'); 12 | 13 | SET i = i + 1; 14 | END WHILE; 15 | END 16 | ``` 17 | 18 | ## 7月30日 19 | - 通过C#编写WebAssembly来实现前端导出 但是数据量过大会有out of memory的问题 20 | 21 | ## 7月31日 22 | - ExcelDataReader C# 读取Excel文件 大文件的excel节省服务器的内存使用 23 | 24 | ## docker 历史版本 25 | - https://docs.docker.com/desktop/release-notes/ -------------------------------------------------------------------------------- /docs/article/daily/2024-08.md: -------------------------------------------------------------------------------- 1 | ## 8月29日 2 | - todo: h5 返回和webview返回 监听的问题 3 | ## 8月23日 4 | - Power Shell 执行脚本策略 5 | - Get-ExecutionPolicy 6 | - Restricted: 不允许运行任何脚本。 7 | - AllSigned: 允许运行由受信任的发布者签名的脚本。 8 | - RemoteSigned: 允许运行本地脚本,且必须对从互联网下载的脚本进行签名。 9 | - Unrestricted: 允许运行所有脚本,但对于从互联网下载的脚本会有警告。 10 | - 设置可运行脚本 11 | - Set-ExecutionPolicy Unrestricted 12 | - 设置只允许运行一次脚本 13 | - powershell -ExecutionPolicy Bypass -File .\install.ps1 14 | ## 8月21日 15 | - uniapp和aar包调用 16 | - https://ask.dcloud.net.cn/article/36284 17 | 18 | - vitepress引入script文件 19 | - https://stackoverflow.com/questions/70687036/is-there-any-way-to-embed-javascript-into-vitepress-markdown-template 20 | ## 8月7日 21 | - 视频播放器 22 | - https://h5player.bytedance.com 23 | - 统计数据 24 | - https://busuanzi.ibruce.info/ 25 | ## 8月2日 26 | - 获取公共ip地址 27 | - curl ifconfig.io 28 | 29 | - 获取你当前设备的所有网络接口的 IP 地址 30 | - hostname -I 31 | 32 | ## 8月3日 33 | - Obsitian 安装 Excalidraw 34 | - https://sspai.com/post/90448 35 | - https://blog.csdn.net/weixin_42984235/article/details/139243861 设置字体 36 | - https://www.bilibili.com/read/cv30621060/ 设置字体 -------------------------------------------------------------------------------- /docs/article/daily/2024-09.md: -------------------------------------------------------------------------------- 1 | ## 9月27日 2 | - tree table维护还有一些小问题待考量 3 | # 9月25日 4 | - git bash下设置全局环境变量 5 | ``` 6 | // 打开git bash客户端 7 | 8 | // 先查看当前环境变量的配置,比如 $http_proxy 9 | echo $http_proxy 10 | 11 | // 如果为空 12 | nano ~/.bash_profile 13 | 14 | // 文件末尾直接添加 15 | export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897 16 | 17 | // 保存退出后,使立即生效 18 | source ~/.bash_profile 19 | 20 | // 然后再次查看环境变量 21 | echo $http_proxy 22 | ``` 23 | 24 | - cmd下设置全局环境变量 25 | ``` 26 | 我的=> 计算机=> 27 | ``` 28 | 29 | # 9月24日 30 | - 基础系统 31 | - sass 版本 32 | - 简易版一户一码 33 | - 一户一码 问卷星 34 | - 一户一码 数据采集+ 流程 + 数据上报 + 审核 35 | - 数据查询、数据统计 36 | - 台账导入功能导出 37 | - 一码多用 38 | - 红白喜事+散装油的硬需求 39 | - pc + 小程序 40 | ## 9月18日 41 | - cmd下 42 | - 查看环境变量 echo %http_proxy% 43 | - 设置环境变量 44 | - set http_proxy=http://127.0.0.1:7897 45 | set https_proxy=http://127.0.0.1:7897 46 | - bash下 47 | - 查看环境变量 echo $HTTP_PROXY 48 | - 设置环境变量 49 | - export https_proxy=http://127.0.0.1:7897 http_proxy=http://127.0.0.1:7897 all_proxy=socks5://127.0.0.1:7897 50 | - PowerShell下 51 | - 查看环境变量 $env:http_proxy 52 | - 设置环境变量 53 | - $env:HTTP_PROXY="http://127.0.0.1:7897"; $env:HTTPS_PROXY="http://127.0.0.1:7897" 54 | ## 9月4日 55 | cron vue3 56 | - https://abichinger.github.io/vue-js-cron/demo.html 57 | ## 9月3日 58 | - 在线figma 模板 https://bentogrids.com/ 59 | 60 | 61 | 每年清明节 中秋节 初高中会有一个校园开放日。招生老师您好,是否有一个编程升学。 62 | 63 | 编程升学的政策:五大学科竞赛 信息学奥林匹克嘻嘻学科 特色学科培养 编程班 人工智能 信息特长生 科技特长生 64 | 65 | 国内绝大多数初高中和985大学的编程升学政策通常使用以下术语: 66 | 五大学科竞赛、 67 | 信息学奥林匹克竞赛 68 | 特色学科培养 69 | 编程班计算机班 70 | 人工智能大类、科技素养大类 71 | 信息特长生 72 | 科技特长生 73 | 74 | 家长应该注意这些关键词,特别是在查看学校官方网站、关注学校官方账号以及阅读招生简章和喜报时。重要的是要明白,在国内如果频繁提及"科技特长生"或"白名单赛事",往往表明对当前教育政策缺乏了解。大多数学校的编程升学政策并不使用"科技特长生"这一术语,而且白名单中的大部分比赛实际上并不适用于这些政策。家长们应该对这些术语保持警惕,以避免在孩子的教育规划中做出误判。\ 75 | 76 | 77 | 博雅计划 78 | 宁波镇海 79 | 清华姚班 -------------------------------------------------------------------------------- /docs/article/daily/2024-10.md: -------------------------------------------------------------------------------- 1 | ## 10月28日 2 | - https证书自动更新 三个月一次 3 | - https://certbot.eff.org/instructions?ws=nginx&os=pip 4 | - https://github.com/acmesh-official/acme.sh 5 | ## 10月22日 6 | - webp的优势 7 | - https://juejin.cn/post/7195095420396109879?searchId=2024102211420368EFB139497D4CDDEEC3 -------------------------------------------------------------------------------- /docs/article/daily/2024-11.md: -------------------------------------------------------------------------------- 1 | ## 11月22日 2 | - tailwindcss 3 | - 基础篇上 https://juejin.cn/post/7363534953651257353?searchId=20241122152601A2082AD5E7E2308D3546 4 | - 中文官网 https://tailwind.nodejs.cn/docs/height#class-reference 5 | ## 11月19日 6 | - 代码编辑器 Windsurf 7 | - https://codeium.com/ 8 | - 11月18日 9 | - 币安api 10 | - https://medium.com/my-blockchain-development-daily-journey/%E4%BD%BF%E7%94%A8-node-js-%E5%92%8C-binance-api-%E5%BB%BA%E7%AB%8B%E4%BA%A4%E6%98%93%E6%A9%9F%E5%99%A8%E4%BA%BA-%E5%B0%87%E6%82%A8%E7%9A%84%E9%9B%BB%E8%85%A6%E8%AE%8A%E6%88%90%E8%B3%BA%E9%8C%A2%E6%A9%9F%E5%99%A8-8fa2cedba8b1 11 | - https://github.com/binance/binance-connector-node 12 | - https://github.com/binance/binance-spot-api-docs 13 | - 如何生成api key 14 | - https://www.binance.com/zh-CN/support/faq/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%B8%81%E5%AE%89%E5%88%9B%E5%BB%BAapi%E5%AF%86%E9%92%A5-360002502072?hl=zh-CN 15 | ## 11月16日 16 | - 开源论坛搭建 17 | - https://www.xiunobbs.cn/thread-6076.htm 18 | - https://gitee.com/Wu_mao/xiunobbs.git 19 | ## 11月14日 20 | - pdf预览 vue2 21 | - https://juejin.cn/post/7356889912127422464?searchId=202411141150045938731574D8F90FDCBB 22 | ## 11月8日 23 | - 谷歌搜索中心 24 | - search.google.com 25 | - cf 域名跳转配置 26 | - https://www.xujiahua.com/9946.html 27 | - 百度搜索中心地址 28 | - https://ziyuan.baidu.com/ -------------------------------------------------------------------------------- /docs/article/daily/2024-12.md: -------------------------------------------------------------------------------- 1 | ## 12月28日 2 | - box-sizing: border-box用处 3 | - 更好的控制占用的空间,防止因添加 padding 或 border 而意外破坏布局 4 | ## 12月27日 5 | - swiper 切换 6 | - https://swiperjs.com/vue 7 | ## 12月25日 8 | - 切换主题 9 | - https://juejin.cn/post/7342527074526019620?from=search-suggest 10 | 11 | ## 12月5日 12 | - composite: "true" 13 | - https://blog.csdn.net/wizardforcel/article/details/140596800 14 | - 找不到模块“@/xxx”或其相应的类型声明。ts(2307) 15 | - https://blog.csdn.net/weixin_43801036/article/details/142524266 16 | ## 12月3日 17 | - 微信多开的方式 18 | - https://cloud.tencent.com/developer/news/1462985 19 | ## 12月2日 20 | - 飞牛Nas系统 21 | - https://www.fnnas.com/ -------------------------------------------------------------------------------- /docs/article/daily/2025-01.md: -------------------------------------------------------------------------------- 1 | ## 微信小程序安全测试 2 | - https://developers.weixin.qq.com/community/develop/doc/0008ea401c89c02cff2d1345051001 3 | 4 | 安全测试可以终止 在微信小程序审核和管理后台 5 | 6 | ## 微信 已停止访问该网页 7 | - 网页包含而已欺诈内容,为维护绿色上网环境,已停止访问。 8 | 9 | 腾讯安全反诈骗实验室 -------------------------------------------------------------------------------- /docs/article/daily/2025-02.md: -------------------------------------------------------------------------------- 1 | ## 2月28日 2 | - chrome浏览器打开闪退的问题 3 | - https://blog.csdn.net/shenmifangke/article/details/136272114 4 | - C:\Users\Administrator\AppData\Local\Google\Chrome\User Data\Default 删除Secure-Preferences 5 | - 自动发布微信公众号 6 | - https://github.com/OpenAISpace/ai-trend-publish 7 | ## 2月26日 8 | - 页面转场 页面动画 9 | - https://github.com/swup/swup 10 | ## 2月20日 11 | - 埋点 12 | - https://juejin.cn/post/7173945372140797988?from=search-suggest 13 | - https://juejin.cn/post/7156070053635424264?searchId=202502201848375827F828B156EEB9EEC6 14 | ## 2月19日 15 | - 抓取公众号文章列表 16 | - https://github.com/pudongping/mp-vx-insight 17 | - https://github.com/lqqyt2423/wechat_spider 18 | - 通过接口直接获取文章列表 19 | - https://blog.csdn.net/u010522887/article/details/141149403 20 | ## 2月18日 21 | - 转转工 22 | - 1、banner页配置是否要根据村还是直接写死配置,数据在那里配置 23 | - 2、活动的浏览数据如何计算的(进一次就算一次浏览吗?) 24 | - 3、我参与的活动下的历史记录:都有哪些操作是历史记录? 25 | - 4、发布活动时,活动海报图片是多个图片? 26 | - 5、创建活动的时候是不是要有个保存? 27 | - 6、订阅通知是统一在个人中心还是在业务按钮中 28 | - 7、活动即将开始这个消息,是在什么时候进行通知的 29 | - 8、活动开始时间:是不是是个区间(活动开始时间和活动结束时间) 30 | - 9、取消活动了,算是叫什么状态 31 | - 10、个人中心,历史评分(通过每次分数汇总除以评价次数的吗)? 32 | ## 2月10日 33 | - AI 硅基流动(可使用deepseek模型-赠送15元额度) 34 | - https://cloud.siliconflow.cn/i/vBdz7qwF 35 | - https://www.deepseek.com/ 官网,暂时无法api充值 36 | - 纳米搜索 App中可访问deepseek满血大模型 37 | - 查看ai.com 域名归属 https://who.is/rdap/ai.com 38 | - 无问苍穹 https://cloud.infini-ai.com 39 | - 阶跃星辰 https://platform.stepfun.com 40 | - 面壁智能 https://www.modelbest.cn 41 | - 海螺ai MiniMax 42 | 43 | 游戏科学、深度求索、宇树科技、云深处科技、强脑科技和群核科技 44 | 45 | - 机器人 46 | - 云深处科技 四足机器人 https://www.deeprobotics.cn/ 47 | - 强脑科技 脑机科技 https://www.brainco.cn/#/ 48 | 49 | -------------------------------------------------------------------------------- /docs/article/daily/2025-04.md: -------------------------------------------------------------------------------- 1 | ## 4月24日 2 | - 百度地图经纬度转换 3 | - https://www.free-api.com/doc/288 4 | - typescript any类型 5 | - https://juejin.cn/post/7342055913426059298 6 | - onlyoffice vue对接 7 | - https://api.onlyoffice.com/zh-CN/docs/docs-api/get-started/frontend-frameworks/vue/ 8 | ## 4月23日 9 | - 报错 ResizeObserver loop completed with undelivered notifications 10 | - https://blog.csdn.net/weixin_68443051/article/details/140343081 11 | ## 4月21日 12 | ``` 13 | - xftp 上传或者rz命令上传zip压缩包 14 | - unzip xx.zip -d path 解压文件(保证path存在) 15 | ``` 16 | ## 4月12日 17 | - 向量数据库 18 | - chora、pinecone、milvus、weaviate 19 | ## 4月11日 20 | - excel在线预览方案 21 | - 基于微软office在线方案 https://juejin.cn/post/7419926107856666624 22 | - LuckyExcel 前端在线预览 23 | - OnlyOffice 后端支持 24 | ## 4月10日 25 | - nginx 开启gzip 26 | - https://juejin.cn/post/7101663374957608974?searchId=20250410165032448A7DD727C773FF1411 27 | - 前端开启文件拆分 28 | - https://juejin.cn/post/7389253841152933899 -------------------------------------------------------------------------------- /docs/article/daily/2025-05.md: -------------------------------------------------------------------------------- 1 | ## 5月16日 2 | - kdiff3 合并冲突 3 | - https://stackoverflow.com/questions/27382944/kdiff3-there-is-a-line-end-style-conflict 4 | ## 5月13日 5 | - element-plus 弹窗报错 6 | - https://blog.csdn.net/m0_68652823/article/details/140226751 7 | ## 5月7日 8 | - kdiff3 中中文显示乱码 9 | - https://blog.csdn.net/qq_33256701/article/details/134250403 -------------------------------------------------------------------------------- /docs/article/daily/2025-06.md: -------------------------------------------------------------------------------- 1 | ## 6月份 2 | - 暂时为空的 -------------------------------------------------------------------------------- /docs/article/daily/install.md: -------------------------------------------------------------------------------- 1 | ## 安装node 2 | 3 | - 1、先找nodejs官网找到对应的版本下载 4 | ``` 5 | // 在linux上执行命令查看CPU架构 6 | uname -m 7 | 8 | https://nodejs.org/dist/ 9 | ``` 10 | 11 | 我这里下载的是node-v18.16.0-linux-x64.tar.gz 12 | 13 | // gz和xz的区别有什么? 14 | // gz是gzip的压缩文件,xz是xz的压缩文件 15 | 16 | 17 | - 2、通过xfpt将文件上传到linux服务器的/root文件夹下 18 | 19 | - 3、解压文件 20 | - tar -xvf node-v12.14.1-linux-x64.tar.gz 21 | -------------------------------------------------------------------------------- /docs/article/economy/2024-09-18-美元降息潮开启.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/docs/article/economy/2024-09-18-美元降息潮开启.md -------------------------------------------------------------------------------- /docs/article/economy/2024-11-05-为何比特币多头加倍押注特朗普将再度入主白宫?.md: -------------------------------------------------------------------------------- 1 | 特朗普对于加密货币的态度转变可能对美国的监管环境产生重大影响,并可能改变美国的数字货币未来。 2 | 3 | 还记得特朗普(Donald Trump)称比特币为骗局的时候吗?情况无疑已经转变。这位美国前总统、目前的共和党总统候选人现在已完全改变对加密货币和其他数字资产的态度。获得特斯拉(Tesla)首席执行官马斯克(Elon Musk)的支持后,特朗普若能获得第二个总统任期,可能会改变美国政府的加密货币政策。 4 | 5 | 特朗普为什么会转变态度?这对比特币和其他去中心化数字资产在美国的未来意味着什么? 6 | 7 | 特朗普与加密货币的关系很复杂。在之前担任总统期间,他主要将加密货币视为对美国金融稳定性构成风险。现在,他正推出自己的非同质化代币(NFT)系列,同时自我定位为去中心化金融的捍卫者,反对他现在认为的政府越权行为。 8 | 9 | 特朗普态度的转变似乎不仅仅是赶数字潮流。他的转变与散户投资者对数字资产不断增长的兴趣以及加密货币日益被主流接受的趋势完全一致。他找到了一个最佳结合点,加密货币的自由主义原则能与他改变美国政治生态的口号吻合,尤其是在涉及美国证券交易委员会(Securities and Exchange Commission, 简称SEC)等联邦机构时。 10 | 11 | 说到马斯克,无论你喜欢还是讨厌他,都不能否认他在加密货币世界的影响力。当马斯克发布有关加密货币的推文时,市场就会出现波动。他在监管改革问题上与特朗普的立场一致,为特朗普的竞选纲领增添了强大的亲加密货币色彩。马斯克的影响力可能有助于使加密货币政策正常化,并有可能将创新保留在美国境内,而不是让其流向海外。然而,尽管特朗普与马斯克的联盟登上了引人注目的头条新闻,但加密货币界的兴趣远不止于个性政治。 12 | 13 | 这可以归结为三个实际因素:首先,有明确的政策信号,包括公开反对央行数字货币(CBDC),并承诺缩减联邦机构的权力,尤其是SEC的权力。其次,更广泛的反监管立场与加密货币的自由主义基因完美契合。最后,与将创新推向海外并抑制了国内发展的现状形成鲜明对比。 14 | 15 | 若审视一下当前的监管环境,这种对比就更加清晰了。拜登(Biden)政府对加密货币行业施加了极大压力。在根斯勒(Gary Gensler)的领导下,SEC已对大型加密货币公司大举采取执法行动,称许多加密货币是未注册证券。“扼杀行动2.0”(Operation Chokepoint 2.0)的实施极大地限制了银行与加密货币企业合作的能力,越来越不利于创新。 16 | 17 | 如果民主党赢得2024年美国总统大选,监管前景令加密货币界感到担忧。美国副总统哈里斯(Kamala Harris)选择的顾问包括拜登政府加密货币政策的关键制定者Brian Deese和Bharat Ramamurti,这表明如果民主党总统候选人哈里斯赢得大选,可能会继续实施甚至加强限制性措施。 18 | 19 | 拜登政府的政策对加密货币的影响巨大。去中心化金融行业在其巅峰时期锁定的总价值达到近2,000亿美元,对这样一个年轻的行业来说,这是一项了不起的成就,也强有力地表明去中心化金融行业的经济潜力,假以时日可能与传统金融相匹敌。然而,美国当前的监管立场非但没有拥抱这种创新,反而迫使Coinbase Global (COIN)和Ripple等加密货币行业的主要参与者向海外寻求发展机会。 20 | 21 | 美国与其他全球司法管辖区之间的对比说明了一切。新加坡和迪拜制定了清晰、有利于创新的框架,在保护消费者和实现增长之间取得平衡,而SEC却选择了一种混乱的“执法监管”方式,让企业无所适从,处境脆弱。瑞士的“加密谷”(Crypto Valley)有1,000多家区块链公司,这表明在支持性监管下可能取得的成就。 22 | 23 | 由此造成的经济影响远远超出了加密货币领域。美国失去的不仅仅是加密货币公司,还有高薪科技工作岗位、税收收入,以及可能最关键的——在新兴技术领域的竞争优势。加密货币行业与人工智能(AI)、物联网和Web3的融合意味着,这些影响的范畴远远超出了数字资产,可能会削弱美国在多个高增长行业的地位。 24 | 25 | 与此同时,全球竞争对手正在采取战略举措。中国正在向区块链技术投入大量资源,力求掌控数字金融的未来。欧盟的《加密资产市场监管条例》(Markets in Crypto-Assets Regulation)虽然严格,但至少为企业提供了运营和创新所需的法规清晰度。此外,每个迁往新加坡或迪拜的加密货币创新者带走的不仅仅是就业岗位和税收收入,他们还将自己对金融未来的愿景带到了那些将决定这些技术如何演变的司法管辖区。 26 | 27 | 下一波金融创新浪潮不仅关乎加密货币,还关乎可以为自动化系统提供动力的可编程货币、可以脱离中介机构运作的去中心化金融网络,以及全新的经济模式。那些将自己打造为加密货币创新之家的司法管辖区,不仅会吸引当今的区块链项目,还将成为下一代金融技术的天然试验场。 28 | 29 | 历史为我们提供了一个发人深省的相似案例:正如围绕互联网的早期监管框架帮助确立了美国在数字时代的统治地位一样,如今有关加密货币监管的决定,可能会决定哪些国家将引领下一场技术革命。问题不仅在于加密货币公司将在哪里运营,还在于未来全球经济的基本架构将在哪里设计、测试和启动。 30 | 31 | 这才是应该推动这场对话的现实。金融业的未来正在被编码,每一个监管决定实际上都是在选择,这个未来是由美国的创新和价值观塑造,还是由其他地方书写。 32 | 33 | (本文译自MarketWatch。MarketWatch由《华尔街日报》母公司道琼斯运营,但MarketWatch独立于道琼斯通讯社和《华尔街日报》。) 34 | 35 | 36 | 37 | 原文链接:https://www.wsj.com/articles/cryptobulls-are-doubling-down-on-a-second-trump-presidency-for-this-1-key-reason-29c3190c -------------------------------------------------------------------------------- /docs/article/economy/2024-11-11-浅谈币圈集中交易类型的风险比对.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 浅谈币圈 现货/合约/杠杆/期权 几种玩法的风险对比 3 | description: 浅谈币圈 现货/合约/杠杆/期权 几种玩法的风险对比 4 | head: 5 | - - meta 6 | - name: keywords 7 | content: 浅谈币圈,现货,合约,杠杆,期权 几种玩法的风险对比 8 | --- 9 | 10 | 11 | - 质押是如何运作的以及收益来自于哪里? 12 | - https://www.uokon.com/workspace/staking-yield.html 13 | - 三角套利 14 | - https://www.uokon.com/workspace/arbitrage-crypto.html 15 | - 套利的几种方式 16 | - https://www.jinse.cn/bitcoin/243380.html 17 | - 赚取合约资金费率 18 | - https://www.1point3acres.com/bbs/thread-1049833-1-1.html 19 | 20 | ``` 21 | 资金费率(Funding Rate)是在加密货币永续合约交易中的一个重要机制: 22 | 23 | 基本概念: 24 | 25 | 26 | 这是永续合约独有的一个结算机制 27 | 定期(通常每8小时)在多空双方之间进行结算 28 | 用来使永续合约价格与现货价格保持接近 29 | 30 | 31 | 工作原理: 32 | 33 | 34 | 如果多数交易者看涨做多,资金费率为正,做多者需要支付资金费给做空者 35 | 如果多数交易者看跌做空,资金费率为负,做空者需要支付资金费给做多者 36 | 37 | 38 | 在你描述的策略中: 39 | 40 | 41 | 你同时持有现货(spot)和合约(futures) 42 | 当价格下跌时,现货亏损而合约盈利 43 | 除了合约本身的盈利外,还可以通过收取资金费率获得额外收益 44 | 45 | 需要提醒的是: 46 | 47 | 资金费率是浮动的,会随市场情绪变化 48 | 高额资金费率通常意味着市场情绪极端 49 | 在使用这类策略时需要考虑交易所手续费、保证金要求等因素 50 | ``` 51 | 52 | 53 | https://www.v2ex.com/t/871029 54 | 55 | 混迹币圈多年,相信多数人都是跌跌撞撞走过来的,但是只有极少数人能走向成功,摘取胜利的果实,毕竟市场永远都是二八分化的。20%的人赚取80%的人亏损,这就是现实的残酷。当前整个币圈主要玩法有三类:现货投资者(包括现货基金、理财,挖矿屯币),期货合约投资者和期权投资者。绝大部分是从现货走向期货,但是目前只有少数人从期货走向期权。个人偏好后两类玩法,主要归因于,现货投资周期太长,且资金要求高,属于长期投资者行为。相信不光是我,多数人都不会有那个耐心,都喜欢的是高杠杆玩法,在最短的时间获取最高的回报。所以期货期权玩家占据币圈80%以上。 56 | 57 | 正是这种贪婪的心态,致使多数人纷涌而入衍生品市场。目前全网成交量都在800亿美金左右,对比现货,合约交易额明显占据绝大部分江山。但是风险与收益从来都是相辅相成的,在追求暴富的同时,一念之差可能就是暴负。想当初,我也是一路坎坷中走过来的。初试合约的时候,确实被短期高额收益所迷惑,像100倍杠杆的合约,涨幅1%即可翻倍,一天下来即使两三成仓,多玩几把也能很轻松达到资金翻倍。但是得意便容易忘形,会让人无形中放松中对危险的警惕。在你翻倍后,一次做错亏损50%便会打回原形,所以打江山容易守江山难。而多数人这时候更加不能接受这残酷的事实。从天堂到地狱,便会开始激进,失去理智,想要赚回所失。此时,危险便会悄然而至仍不自知,一时失手爆仓风险随之而来,这可能玩合约多数人的经历,可能会略有差别,但是都殊途同归,最终无可避免的面临爆仓。在征战合约的路上失手,但是期权却迎来我人生中的转折,当时合约实在是亏麻了。偶然下,看到期权的说法,并且被其不爆仓的特性所吸引,初步了解下,期权分两块:传统的欧式期权和美式期权,其中美式期权更适合多数散户操作。因为对比之下,资金门槛低,无需考虑流动性,无需全额交割结算,是一种以小博大的玩法,并且不爆仓。 58 | 59 | 但是个人根据期权的不爆仓特性和有时间周期的缺陷,结合合约的优势进行互补,进行对冲操作,便能够实现稳定的获利,举个例子:比特币现价为10000美金 1、假设你用50美金开100倍杠杆做多2、同时在BitOffer开1张看跌期权对冲(20美金成本)3.一张期权等同于持有一个比特币,期权不爆仓,到期自动结算,且可提前手动平仓。 第一种,当比特币上涨100美金,即涨幅为1% 1、100倍杠杆做多,盈利100%,也就是50美金2、看跌期权损失本金,即20美金3、50-20=30美金(净利润) 第二种,当比特币下跌100美金,即跌幅为1% 1、100倍杠杆做多,合约爆仓,亏损50美金2、看跌期权盈利100美金,期权成本20美金3、100-50-20=30美金(净利润) 如果比特币波动0.5%,涨跌50美金,那么盈亏状况: 第一种情况50-60=-10美金;第二种情况100-50-60=-10美金; 如果比特币波动2%,涨跌200美金,那么盈亏状况: 第一种情况:100-60=40美金;第二种情况:200-50-60=90美金;在上述方案下,只要市场有一定的波动,便能实现稳定获利,风险极其有限。特别是近期BitOffer新推出的DeFi热门币种UNI,一分钟波动都在0.5%以上,1小时波动没低于过2%。用来对冲套利是100%能做到稳赢不赔的。 -------------------------------------------------------------------------------- /docs/article/economy/2024-11-12-币安接口.md: -------------------------------------------------------------------------------- 1 | - 币安接口 2 | - https://developers.binance.com/docs/zh-CN/binance-spot-api-docs/rest-api -------------------------------------------------------------------------------- /docs/article/economy/2024-11-30-股市.md: -------------------------------------------------------------------------------- 1 | ## 同花顺龙虎榜 2 | - http://data.10jqka.com.cn/market/longhu/ 3 | 4 | ## 通达信客户端下载 5 | - https://www.tdx.com.cn/soft.html 6 | - 通达信指标学习 https://www.cnblogs.com/ma-dongdong/p/17323843.html 7 | 8 | ## 央行利率 9 | - http://www.pbc.gov.cn/zhengcehuobisi/125207/125213/125440/index.html -------------------------------------------------------------------------------- /docs/article/economy/2025-03-10-复盘.md: -------------------------------------------------------------------------------- 1 | ## 4月13日 2 | 3 | - 月线系统显示,全年的理论低点在6月,如果有一根k线的误差,那么,在5、6、7这三个月可能会出现全年的低点。4月这个低点是受利空打下来的,会成为全年的低点吗?也有可能,但大行情不会在这里发动,因为与理论时间差了两个月,历史上没有出现过提前两个月发动行情的情况。 4 | - 周线的定位,要防备有一根k线的误差。当说出日线的定位时,那才是你可以参考的操作依据,因为一根周线的误差,在空间上可能非常大,日线上一根k线的误差,一般就小多了。 5 | 6 | ## 3月15日 7 | 避开前期大幅上涨的AI个股 8 | 目光集中在低位的补涨· 9 | 往往是个股的补涨浪,那些基本面非常不错,底部悄悄放量的个股,尤其要引起注意。 10 | 什么是低位,我给你量化一下,1月14日以来涨幅低于50%的。什么是高位,1月14日以来涨幅大于80%的。 11 | 选股总的原则:避开前期涨幅较大的那些小票。 12 | 13 | ``` 14 | A:=MA(C,5)>REF(MA(C,5),1); 15 | XG:COUNT(A,14)>=12 AND C/LLV(L,14)>1.18 AND IF(CODELIKE('8'),0,1) AND IF(CODELIKE('4'),0,1); 16 | ``` 17 | 18 | - A:=MA(C,5)>REF(MA(C,5),1):定义变量A,表示5日均线向上,即当前5日均线值大于前一日的5日均线值。 19 | - COUNT(A,14)>=12:统计最近14个交易日中,有12天以上满足条件A(5日均线向上)。 20 | - C/LLV(L,14)>1.18:当前收盘价除以过去14天最低价大于1.18,即股价相对于近期低点已反弹至少18%。 21 | - IF(CODELIKE('8'),0,1):排除代码中含有"8"的股票(通常指港股)。 22 | - IF(CODELIKE('4'),0,1):排除代码中含有"4"的股票(通常指债券或特殊板块)。 23 | - 通达信指标选股,日线,选股后要防止业绩踩雷。 24 | ``` 25 | 26 | A:=MA(C,5)>REF(MA(C,5),1); 27 | XG:COUNT(A,14)>=12 AND IF(CODELIKE('8'),0,1) AND IF(CODELIKE('4'),0,1); 28 | ``` 29 | ## 3月11日 30 | - 在一个中线上升趋势中,某一天低开在0.7%的下方,意味着市场给了你一根金条,要用你余下的资金买入,在回升到只下跌0.2%的时候,抛出早盘买入的这些股票。 31 | ## 3月9日 32 | - 有色小金属板块3月7日异军突起,下周持续观察。 33 | - 后面的选股,尽可能在发布了年报、预告和快报中挑选,业绩增长、业绩有转好预期 34 | - 避免业绩很差而且股价高高在上的股票。 35 | - 后面的选股,适当的保守仓位继续维持在七成附近。 36 | - 选择机械板块和自动化软件板块,当然了必须与AI相关的补涨品种。 37 | ## 3月7日 38 | 现在是牛市,这是前提。 39 | 手中的股票,强与弱,用什么来评判?boll线。 40 | 指标(主图叠加)是: 41 | ``` 42 | BOLL:MA(CLOSE,20); 43 | UB:BOLL+2*STD(CLOSE,20); 44 | LB:BOLL-2*STD(CLOSE,20); 45 | ``` 46 | 如果股票当天跌破中轨很远,你可以减掉一半做为保护。 47 | 另一半看第二天的修复情况,如果还是阴线,一般的做法是卖掉。 48 | 如果是阳线,股价往上修复,这一半则可以持有。 49 | 我最喜欢的股票是:股价沿着boll上轨附近慢慢爬升。 50 | 如果离开上轨过远,我也会扔掉一部分,等它回落接回。 51 | ## 2月17日 52 | - 底部放量 53 | - 是经过长时间的下跌,出现一个最低价格后5天之内,都没有再出现新低,并且在这5天内出现了放量(超出5日均量的2倍)的迹象。这种放量如果出现在阳线是最好的。 54 | - 先确定了底部,再放量。 -------------------------------------------------------------------------------- /docs/article/economy/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | layout: home 3 | --- 4 | 7 | 8 | -------------------------------------------------------------------------------- /docs/article/life/2021-12.md: -------------------------------------------------------------------------------- 1 | ## -------------------------------------------------------------------------------- /docs/article/life/2022-06.md: -------------------------------------------------------------------------------- 1 | ## 2022年年中总结 2 | 3 | 测试 -------------------------------------------------------------------------------- /docs/article/life/2022-07-01.md: -------------------------------------------------------------------------------- 1 | ### 写博客的初衷 2 | 3 | https://juejin.cn/post/6942492146725290020 4 | 5 | https://juejin.cn/post/7000514687406178312 6 | 7 | https://mp.weixin.qq.com/s/8c5wqua1nV78awIGVFPJ6Q 8 | 9 | 10 | https://juejin.cn/post/7021062842790969381 11 | -------------------------------------------------------------------------------- /docs/article/life/2022-07.md: -------------------------------------------------------------------------------- 1 | ### 写博客的初衷 2 | 3 | https://juejin.cn/post/6942492146725290020 4 | 5 | https://juejin.cn/post/7000514687406178312 6 | 7 | https://mp.weixin.qq.com/s/8c5wqua1nV78awIGVFPJ6Q 8 | 9 | 10 | https://juejin.cn/post/7021062842790969381 11 | 12 | 十分钟肝了一个博客,并花费一天把过去一年半的记录汇总了过来 13 | 14 | 2020年9月底入行前端,2021年年初的时候就想着,之前三个月遇到的好多问题,或者看过的好多文章都已经连个毛都没有了。遇到相同或者类似的问题又需要进行百度或者google了。其实是一件挺痛苦的事情,浪费了自己的时间,关键是浪费了好多次,得不偿失。 15 | 16 | 于是我就在github上新建了一个仓库,然后开始书写markdown记录笔记了。以前都是在印象笔记里直接富文本了,相对来说md文档见过很多,自己确实也没尝试过。然后从2021年1月1日开始就开始记录每天看到的文章或者遇到的问题了。 17 | 18 | 19 | 其实一直有这个想法,只是一直没有去实践,最近因为那条腿只能呆在家里,所以空闲时间就比较多,这事既然想起来了,就把它肝出来吧。 20 | 21 | 刚开始还有一些犹豫一直想使用vuepress,但是又想尝试新鲜的vitepress,在我正在犹豫的时候我看到一个非常亮眼的优点:可以在md文档里面混合使使vue3的组件。 22 | -------------------------------------------------------------------------------- /docs/article/life/2023-05-22.md: -------------------------------------------------------------------------------- 1 | 明天是你的四周岁生日,首先,爸爸爱你,祝你生日快乐!这一年,我们的生活经历了很多波折。世界经济发生了巨大的变化,而我们的家庭也受到了影响。这些都是爸爸成长中经历过的事情,但你对这些可能还不太了解。不过没关系,当你长大后,你会理解的。人生就是一场旅行,有时平坦,有时曲折。但是,无论怎样,我们都在一起,共同面对,这就是我们的力量。 2 | 3 | 我们一起度过了全球经济的低谷,一起经历了疫情的困扰,现在,我们正站在疫情告一段落的新的起点上。你可能对这些大的事件并不明了,但这些都是你生活的一部分,你会在这个过程中学到很多。你的成长、你的喜怒哀乐、你的每一次进步,都是我们共同经历困难后最好的回馈。 4 | 5 | 疫情虽然过去了几个月但是经济却没有好转起来,这应该是多数人,甚至绝大多数人没有想到的,有可能下半年经济的好转也不会特别的好吧。所以这个时候只能调整好心态,在这样的时间节点,好好的提升自我,拥抱变化,持续学习,等待时机的到来吧。 6 | 7 | 2022年12月份,正好经历疫情大传播的时间节点,而我和你妈妈也都阳过了,而就在此时,OpenAI这样一家公司发布了ChatGPT这样一个AI产品。其实那时候效果并没有那么好,但是随着时间的推移,尤其是到了今年2023年3月中旬,ChatGPT-4的发布,这个产品的效果已经非常的好了,甚至可以说是非常的惊艳了。这个产品的发布,让我想到了很多,也让我想到了很多的事情,我想把这些事情都记录下来,留给你以后看。怎么留给你呢,就是通过学习然后记录下来,这样你以后就可以看到了。有没有用,或者有一点点用就好了,是吧,汲取一点点的有用信息也是有用的。 8 | 9 | 接下来未来的几年,AI将会如何改变我们,改变我们的工作和生活,尚未可知。现在能做到的便是拥抱AI,通过AI工具来补足自己的不足,提升自己的能力,这样才能在未来的竞争中占据一席之地,至少能有一份工作。其实也不必悲观,我向来是一个乐观派,因为我也在当钱阶段持续不断的学习,无论学习什么都要有一定方向感,然后朝着既定的目标持续的努力,坚持并不一定就会成功,但是你连坚持都做不到,很多事情肯定是达不到自己的目标的。 10 | 11 | 12 | 记得去年你开始上幼儿园的时候,你还是一个小小的、依赖我们的宝宝。而现在,你已经成长为一个独立的小个体,你开始与小伙伴们交流、分享、学习。看到你的进步,爸爸感到无比的自豪和幸福。在接下来的岁月里,你会继续成长,学习更多的东西,体验更多的生活。 13 | 14 | 妈妈也在照顾家庭的生活上付出了巨大的精力和心力,我也看在眼里,而我也由于工作原因,不能很好的照顾你们,这是我一直以来的遗憾,但是我也会尽我最大的努力,让你们过上更好的生活。工作上的宁静,必定是由妈妈为我遮风挡雨了,再次感谢,让我能有更多的时间和精力放在了工作上。希望未来的某天我也能不为工作发愁,有没有工作也无所谓,这样我就可以更多的陪伴你们了,但是当前阶段当前经济形势告诉我,没办法很多事情我还没能力掌控。 15 | 16 | 即使我们在经济上受到了影响,但请记住,我们家的财富不仅仅在于物质上的富裕,更在于我们对彼此的爱,对生活的热爱,对未来的希望。这个世界上,没有什么比亲情更重要,没有什么比健康和幸福更宝贵。所以,无论经济如何,我们都会给你一个充满爱的家,支持你的成长,陪伴你走过每一段旅程。 17 | 18 | 明天,你就四岁了。生日快乐,我的小天使。希望你在新的一岁中,每天都充满快乐,每天都充满好奇,每天都充满成长。你是我们的小太阳,你的笑容就是我们的力量,你的进步就是我们的骄傲。无论你长大到多大,你永远都是我们的宝贝。 19 | 20 | 爱你的爸爸 21 | 2023年5月22日 -------------------------------------------------------------------------------- /docs/article/life/2025-05-15.md: -------------------------------------------------------------------------------- 1 | 时间过的真快, -------------------------------------------------------------------------------- /docs/article/life/index.md: -------------------------------------------------------------------------------- 1 | ## life -------------------------------------------------------------------------------- /docs/index.md: -------------------------------------------------------------------------------- 1 | --- 2 | head: 3 | - - meta 4 | - name: baidu-site-verification 5 | content: codeva-Fvp1kD6Rtm 6 | layout: home 7 | 8 | # title: Home 9 | 10 | # hero: 11 | # name: aehyok 12 | # text: 那个曾经的少年回来了 13 | # tagline: Believe in yourself, there's nothing you can't do! 14 | # image: 15 | # src: /home.svg 16 | # alt: logo 17 | # actions: 18 | # - theme: brand 19 | # text: 更多详情 20 | # link: /daily/ 21 | # - theme: alt 22 | # text: 访问我的GitHub 23 | # link: https://github.com/aehyok 24 | # - theme: alt 25 | # text: 关于我 26 | # link: /me/ 27 | # features: 28 | # - icon: ⚡️ 29 | # title: 记录生活,记录学习 30 | # details: 很多时候我们可以停下来,多回头看看,让那些美好的记忆成为永恒,让那些痛苦成为我们的财富 31 | # - icon: 🖖 32 | # title: 浅层的学习靠输入,深层的学习靠输出 33 | # details: 简单的学习可能达到会用的目的就可以了,但想深入便会漏洞百出,让你原型毕露,所以对原理和细节的捕捉要融会贯通,更要进行系统性的学习 34 | # - icon: 🛠️ 35 | # title: 读源码和发博客 36 | # details: 读懂别人的代码,就像同他人进行交谈,而博客则更像是会自己学习成果的一种展示,最重要的是取悦自己,而非在意那些 37 | --- 38 | 39 | 42 | 43 | -------------------------------------------------------------------------------- /docs/me/index.md: -------------------------------------------------------------------------------- 1 | ## about me 2 | - 我的微信号: aehyok 3 | 4 | - 我的公众号:那个曾经的少年回来了 5 | 6 | - 我的个人博客源码:[https://github.com/aehyok/blog](https://github.com/aehyok/blog) 7 | 8 | - 我的掘金首页:[https://juejin.cn/user/2242659452477016](https://juejin.cn/user/2242659452477016) 9 | 10 | - 我的github:[https://github.com/aehyok](https://github.com/aehyok) 11 | 12 | - 我的前端框架源码: 13 | 14 | [pnpm+monorepo+qiankun(微前端)+vite3+vue3+pinia+工程化+组件库](https://github.com/aehyok/vue-qiankun) 15 | 16 | 17 | ## tools 18 | - ip地址和位置查看: https://www.ipaddress.com 19 | - mac下截屏工具:https://getkap.co 20 | - 微前端: 京东 https://micro-zoe.github.io/micro-app/ -------------------------------------------------------------------------------- /docs/public/home.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/public/logo.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /docs/views/game/index.md: -------------------------------------------------------------------------------- 1 | 40 | 41 | 42 | -------------------------------------------------------------------------------- /docs/views/tool/2024-11-11-wsj.md: -------------------------------------------------------------------------------- 1 | --- 2 | title: 如何能免费阅读wsj文章 3 | head: 4 | - - meta 5 | - name: keywords 6 | content: wsj, wsj.com, wsj文章, 阅读wsj文章,免费阅读wsj文章 7 | --- 8 | 9 | 10 | https://github.com/bpc-clone/bypass-paywalls-chrome-clean?tab=readme-ov-file#installation 11 | -------------------------------------------------------------------------------- /docs/views/tool/base64-image.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 16 | 17 | -------------------------------------------------------------------------------- /docs/views/tool/index.md: -------------------------------------------------------------------------------- 1 | 41 | 42 | 43 | 44 | -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/app.json: -------------------------------------------------------------------------------- 1 | {} -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/appearance.json: -------------------------------------------------------------------------------- 1 | { 2 | "cssTheme": "Minimal", 3 | "theme": "obsidian", 4 | "accentColor": "#13aaa0" 5 | } -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/community-plugins.json: -------------------------------------------------------------------------------- 1 | [ 2 | "obsidian-excalidraw-plugin" 3 | ] -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/core-plugins-migration.json: -------------------------------------------------------------------------------- 1 | { 2 | "file-explorer": true, 3 | "global-search": true, 4 | "switcher": true, 5 | "graph": true, 6 | "backlink": true, 7 | "canvas": true, 8 | "outgoing-link": true, 9 | "tag-pane": true, 10 | "properties": false, 11 | "page-preview": true, 12 | "daily-notes": true, 13 | "templates": true, 14 | "note-composer": true, 15 | "command-palette": true, 16 | "slash-command": false, 17 | "editor-status": true, 18 | "bookmarks": true, 19 | "markdown-importer": false, 20 | "zk-prefixer": false, 21 | "random-note": false, 22 | "outline": true, 23 | "word-count": true, 24 | "slides": false, 25 | "audio-recorder": false, 26 | "workspaces": false, 27 | "file-recovery": true, 28 | "publish": false, 29 | "sync": false 30 | } -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/core-plugins.json: -------------------------------------------------------------------------------- 1 | [ 2 | "file-explorer", 3 | "global-search", 4 | "switcher", 5 | "graph", 6 | "backlink", 7 | "canvas", 8 | "outgoing-link", 9 | "tag-pane", 10 | "page-preview", 11 | "daily-notes", 12 | "templates", 13 | "note-composer", 14 | "command-palette", 15 | "editor-status", 16 | "bookmarks", 17 | "outline", 18 | "word-count", 19 | "file-recovery" 20 | ] -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/graph.json: -------------------------------------------------------------------------------- 1 | { 2 | "collapse-filter": true, 3 | "search": "", 4 | "showTags": false, 5 | "showAttachments": false, 6 | "hideUnresolved": false, 7 | "showOrphans": true, 8 | "collapse-color-groups": true, 9 | "colorGroups": [], 10 | "collapse-display": true, 11 | "showArrow": false, 12 | "textFadeMultiplier": 0, 13 | "nodeSizeMultiplier": 1, 14 | "lineSizeMultiplier": 1, 15 | "collapse-forces": true, 16 | "centerStrength": 0.518713248970312, 17 | "repelStrength": 10, 18 | "linkStrength": 1, 19 | "linkDistance": 250, 20 | "scale": 1, 21 | "close": true 22 | } -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/plugins/obsidian-excalidraw-plugin/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "id": "obsidian-excalidraw-plugin", 3 | "name": "Excalidraw", 4 | "version": "2.3.0", 5 | "minAppVersion": "1.1.6", 6 | "description": "An Obsidian plugin to edit and view Excalidraw drawings", 7 | "author": "Zsolt Viczian", 8 | "authorUrl": "https://zsolt.blog", 9 | "fundingUrl": "https://ko-fi.com/zsolt", 10 | "helpUrl": "https://github.com/zsviczian/obsidian-excalidraw-plugin#readme", 11 | "isDesktopOnly": false 12 | } -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/themes/Minimal/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "Minimal", 3 | "version": "7.7.12", 4 | "minAppVersion": "1.6.1", 5 | "author": "@kepano", 6 | "authorUrl": "https://twitter.com/kepano", 7 | "fundingUrl": "https://www.buymeacoffee.com/kepano" 8 | } 9 | -------------------------------------------------------------------------------- /excalidraw/aehyok/.obsidian/types.json: -------------------------------------------------------------------------------- 1 | { 2 | "types": { 3 | "aliases": "aliases", 4 | "cssclasses": "multitext", 5 | "tags": "tags", 6 | "excalidraw-plugin": "text", 7 | "excalidraw-export-transparent": "checkbox", 8 | "excalidraw-mask": "checkbox", 9 | "excalidraw-export-dark": "checkbox", 10 | "excalidraw-export-padding": "number", 11 | "excalidraw-export-pngscale": "number", 12 | "excalidraw-export-embed-scene": "checkbox", 13 | "excalidraw-link-prefix": "text", 14 | "excalidraw-url-prefix": "text", 15 | "excalidraw-link-brackets": "checkbox", 16 | "excalidraw-onload-script": "text", 17 | "excalidraw-linkbutton-opacity": "number", 18 | "excalidraw-default-mode": "text", 19 | "excalidraw-font": "text", 20 | "excalidraw-font-color": "text", 21 | "excalidraw-border-color": "text", 22 | "excalidraw-css": "text", 23 | "excalidraw-autoexport": "text", 24 | "excalidraw-embeddable-theme": "text", 25 | "excalidraw-open-md": "checkbox" 26 | } 27 | } -------------------------------------------------------------------------------- /excalidraw/aehyok/Fonts/字语青梅硬笔.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/excalidraw/aehyok/Fonts/字语青梅硬笔.ttf -------------------------------------------------------------------------------- /excalidraw/aehyok/欢迎.md: -------------------------------------------------------------------------------- 1 | 这是你的新*仓库*。 2 | 3 | 写点笔记,[[创建链接]],或者试一试[导入器](https://help.obsidian.md/Plugins/Importer)插件! 4 | 5 | 当你准备好了,就将该笔记文件删除,使这个仓库为你所用。 -------------------------------------------------------------------------------- /font/字语青梅硬笔.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/font/字语青梅硬笔.ttf -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- 1 | { 2 | "scripts": { 3 | "start": "vitepress dev docs", 4 | "build": "vitepress build docs", 5 | "build-cf": "vitepress build docs --base /", 6 | "docs:preview": "vitepress preview docs", 7 | "javascript": "node createjson.js -c code", 8 | "ai": "node createjson.js -c ai" 9 | }, 10 | "devDependencies": { 11 | "vitepress": "^1.3.2" 12 | }, 13 | "dependencies": { 14 | "@iframe-resizer/vue": "^5.4.6", 15 | "crypto-js": "^4.2.0" 16 | } 17 | } -------------------------------------------------------------------------------- /pdf/tech/JavaScript正则表达式迷你书(1.1版).pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/tech/JavaScript正则表达式迷你书(1.1版).pdf -------------------------------------------------------------------------------- /pdf/《命悬一线,我不放手:ICU生死录》薄世宁.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/《命悬一线,我不放手:ICU生死录》薄世宁.pdf -------------------------------------------------------------------------------- /pdf/《美国商业400年.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/《美国商业400年.pdf -------------------------------------------------------------------------------- /pdf/乡下人的悲歌.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/乡下人的悲歌.pdf -------------------------------------------------------------------------------- /pdf/制造贫困:一个美国问题.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/制造贫困:一个美国问题.pdf -------------------------------------------------------------------------------- /pdf/拿破仑传.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/拿破仑传.pdf -------------------------------------------------------------------------------- /pdf/独立战争与世界重启:一部新的十八世纪晚期全球史.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/独立战争与世界重启:一部新的十八世纪晚期全球史.pdf -------------------------------------------------------------------------------- /pdf/病毒下层社会:疾病与不平等在美国的碰撞.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/aehyok/blog/d99728cc064c876cc834283c7d4444b99088cc76/pdf/病毒下层社会:疾病与不平等在美国的碰撞.pdf --------------------------------------------------------------------------------