Pupeteer 入门  [draft]

Pupeteer 入门 pupeteer 是 Chrome 的无头浏览器版本, 可以通过 API 操作 Chrome 浏览器操作, 本文通过实现爬虫来阐述简要使用方式 启动参数调优 puppeteer 占用资源很大, 需要禁用诸多特性来使其占用降低, 关闭不必要的资源消耗: ref: https://pptr.dev/api/puppeteer.puppeteerlaunchoptions 推荐如下参数: --no-sandbox --disable-setuid-sandbox --disable-dev-shm-usage --disable-accelerated-2d-canvas --no-first-run --no-zygote --single-process --disable-gpu const browser = await puppeteer.launch({ headless: 'new', args: [ '--no-sandbox', '--disable-setuid-sandbox', '--disable-dev-shm-usage', '--disable-accelerated-2d-canvas', '--no-first-run', '--no-zygote', '--single-process', '--disable-gpu' ] }); 获取数据 多线程获取 节省资源开销, 在获取所需数据后终止后续请求

<span title='2024-04-22 00:00:00 +0000 UTC'>2024-04-22</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;51 words&nbsp;·&nbsp;Kreedzt

k3s 配置证书

概述 本文主要介绍如何在 k3s 上为服务配置 https 证书(cloudflare) 准备环境 cloudflare: 域名编辑权限 API Token 域名 已安装 k3s 的机器 目标 在 k3s 上暴露的服务访问会携带已发布认证的 HTTPS 证书 步骤 安装 cert-manager 参考: https://cert-manager.io/docs/installation/ 可使用 helm 进行更简易的安装 安装好后可以执行如下命令查看命名空间是否建立: $ kubectl get ns NAME STATUS AGE kube-system Active 46h kube-public Active 46h kube-node-lease Active 46h default Active 46h develop Active 44h cert-manager Active 27h # 已建立 查看 pods 是否正常工作: kubectl get pods -n cert-manager NAME READY STATUS RESTARTS AGE cert-manager-cainjector-c7d4dbdd9-xfjdn 1/1 Running 0 27h cert-manager-6dc66985d4-n5crn 1/1 Running 0 27h cert-manager-webhook-847d7676c9-rz4ld 1/1 Running 0 27h 配置 DNS 解析 首先在 DNS 服务商配置临时 DNS 解析, 并以 cloudflare 为例, 需获取编辑 DNS 权限的 API Token...

<span title='2024-04-04 00:00:00 +0000 UTC'>2024-04-04</span>&nbsp;·&nbsp;4 min&nbsp;·&nbsp;804 words&nbsp;·&nbsp;Kreedzt

VSCode 插件 RWR Mod Tool 开发历程(1)

立项缘由 Running with rifles(以下简称 RWR) 的 mod 开发目前存在诸多问题: 人形绑骨麻烦 多人开发时 XML 格式不统一 缺少文件引用检查 各 xml 文件定义属性作用未知 注册方式容易遗漏 … VSCode 作为大多数 Mod 开发者使用的工具, 起草 VSCode 插件目的是逐步解决如上问题. 已知的 VSCode 插件可解决内容: 多人开发时 XML 格式不统一: 通过统一格式化处理 各 xml 文件定义属性作用未知: 通过定义模板命令 / 代码片段处理 缺少文件引用检查: 通过扫描文件引用 key 来查找工作空间所有文件名引用, 未找到抛出警告 本系列文章逐步尽可能解决所有已知问题 本文主要描述第一版本的开发内容 项目启动 新注册 VSCode 插件项目, 按照 VSCode extension 官方教程即可: https://code.visualstudio.com/api/get-started/your-first-extension 该教程会引导注册一个 “命令”, 命令在 VSCode 中用以 Ctrl(or command)-Shift-P 启动的命令 目标 作为第一版的插件, 目标仅定以下内容: 注册命令 创建武器模板 创建护甲模板 插件打包及发布 注册激活条件 我们不需要在任意文件结构的目录都激活插件, 仅需要在 mod 目录即可....

<span title='2024-01-08 00:00:00 +0000 UTC'>2024-01-08</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;586 words&nbsp;·&nbsp;Kreedzt

VSCode 插件 RWR Mod Tool 开发历程(2)  [draft]

概述 本文主要基于第一篇文档进行的插件迭代更新版本, 版本目标为 0.0.2 目标 作为第2版的插件, 当前目标为内容: XML 文件引用扫描, 不存在则抛出警告 分析 RWR 的文件引用是通过 XML 标签特殊属性值来寻找的文件引用, 如 weapon 寻找 file, hud_icon 寻找 hud_icon 等. 可通过读取文件 API + 诊断 API 来实现 通过 language 上的 createDiagnosticCollection 创建诊断实例, 标记目标代码位置即可: API 文档 注册事件 通过注册文件保存 / 文件创建 / 文件删除 / 工作区变更 / 文件重命名回调函数来确保文件扫描触发时机正确性: API 参考 context.subscriptions.push( vscode.workspace.onDidSaveTextDocument((e) => { console.log('onDidSaveTextDocument: startXmlCheck'); startXmlCheck(); }), vscode.workspace.onDidCreateFiles((e) => { console.log('onDidCreateFiles: startXmlCheck'); startXmlCheck(); }), vscode.workspace.onDidDeleteFiles((e) => { console.log('onDidDeleteFiles: startXmlCheck'); startXmlCheck(); }), vscode....

<span title='2024-01-08 00:00:00 +0000 UTC'>2024-01-08</span>&nbsp;·&nbsp;3 min&nbsp;·&nbsp;468 words&nbsp;·&nbsp;Kreedzt

内网 k8s 中部署 argocd 问题记录

ArgoCD 部署问题记录 github 克隆问题 注意: 克隆仓库问题 log 不会显示在 GUI 界面中, 尽量使用 cli 操作 如遇到 ssh 克隆仓库时被服务器拒绝问题, 此问题多半是代理服务器导致的, 可以尝试使用 ssh over https 方案: #旧 [email protected]:Kreedzt/argocd-demo.git #新 ssh://[email protected]:443/Kreedzt/argocd-demo.git ingress 健康检查一直 processing 问题 参考: https://github.com/argoproj/argo-cd/issues/5620 https://github.com/argoproj/argo-cd/issues/1704 这是 argocd 没有针对 ingress 做默认的健康检查兜底导致的, 若不想每个项目都改动, 可参考此回复解决 https://github.com/argoproj/argo-cd/issues/1704#issuecomment-1605855853 修改 argocd-cm 的 configMap, 添加 resource.customizations 数据即可 apiVersion: v1 data: resource.customizations: | networking.k8s.io/Ingress: health.lua: | hs = {} hs.status = "Healthy" return hs kind: ConfigMap metadata: name: argocd-cm

<span title='2023-11-01 00:00:00 +0000 UTC'>2023-11-01</span>&nbsp;·&nbsp;1 min&nbsp;·&nbsp;69 words&nbsp;·&nbsp;Kreedzt