Butterfly 文檔(一) 快速開始
📚 文檔目錄 🚀 快速開始 - 📑 主題頁面 - 📌 主題配置 - ⚔️ 標簽外挂 - ❓ 主題問答 - ⚡️ 進階教程 你可以通過右下角的 簡 按鈕切換為簡體顯示 hexo-theme-butterfly 是基於 hexo-theme-melody 的基礎上進行開發的主题。 安裝Git 安裝npm 安裝如果你身處中國大陸,且訪問 Github 不穩定,你可以用 Gitee 安裝穩定版【建議】 在你的 Hexo 根目錄下 1git clone -b master https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly 測試版 測試版可能存在 Bugs,追求穩定的請安裝穩定版 如果想要安裝比較新的 dev 分支,可以 1git clone -b dev https://gitee.com/immyw/hexo-theme-butterfly.git themes/butterfly 升級方法:在主題目錄下,運行 git pull 穩定版【建議】 在你的 Hexo 根目錄裏 1g...
k3s 安装部署
k3s 安装部署 随着Kubernetes技术的发展,越来越多的开发者和运维人员开始接触和使用Kubernetes。但对于资源受限的环境,传统的Kubernetes部署显得过于复杂和资源密集。K3s,作为一个轻量级的Kubernetes发行版,为这些场景提供了完美的解决方案。本教程将带领K3s新手一步步搭建自己的Kubernetes集群。 K3s是Rancher Labs开发的轻量级Kubernetes发行版,专为边缘计算、IoT和小型部署环境设计。它通过减少资源消耗和简化安装流程,使得在单机或少数几台机器上快速部署Kubernetes成为可能。 一、k3s 与 Docker 的核心区别Docker 与 k3s 的定位不同,前者聚焦“单节点容器运行”,后者聚焦“多节点容器集群管理”,核心差异可概括为: Docker:像「单个快递员」,仅负责在单台机器上打包、运行容器(如 Nginx、MySQL 容器),无法跨机器管理。 k3s:像「快递公司调度系统」,可管理多台机器(节点) 上的容器,负责任务分配、故障重启、高可用保障,让多容器协同工作并保持稳定。 二、k3s 关键概念(对...
GitHub Spec Kit 中文使用说明
https://blog.csdn.net/thinktodo1998/article/details/151832870 GitHub Spec Kit 中文使用说明 工具简介GitHub Spec Kit 是GitHub开源的规范驱动开发(Specification-Driven Development, SDD)工具包,它彻底颠覆了传统软件开发模式。在传统开发中,代码是王者,规范服务于代码;而Spec Kit实现了权力反转——规范成为主导,代码服务于规范。规范不再是指导实现的文档,而是能够直接生成实现的可执行文件。 核心理念:权力反转传统模式:规范 → 指导 → 代码实现 SDD模式:规范 → 直接生成 → 代码实现 规范优先:规范成为开发的首要驱动力,而非辅助文档可执行规范:规范足够精确和完整,能够直接生成工作系统消除鸿沟:彻底消除规范与实现之间的转译差距AI协同增强:通过AI的理解能力让自然语言规范变为可执行代码持续进化:生产反馈直接更新规范,驱动下一轮生成 安装方法1. 环境要求必需软件: 12345Linux/macOS (Windows需要WSL2或原生Pow...
Spec-kit安装
https://zhuanlan.zhihu.com/p/1959040296479339345https://www.cnblogs.com/treasury-manager/p/19130337 spec-kit是什么?Spec-Kit 是一套微软发布的“规格驱动开发(Spec-Driven Development, SDD)”工具包,方法论 + 脚手架 + CLI + 模板:把“规格→计划→任务→实现”的流程标准化,并把这些步骤做成可执行的斜杠命令,让 Claude Code / Copilot / Gemini CLI 等代理有章可循,而不是即兴“凭感觉写代码”。核心组件是 Specify CLI(命令:specify),用于初始化模板、生成命令、校验环境等。目标是把“先写清楚规格/意图,再规划,再拆任务,最后由 AI 代理实现”的流程产品化,替代一把梭的大Prompt“vibe coding”。 Spec-Kit有什么用呢: 让“写什么/为什么”(Spec)先于“怎么做”(Plan/Tasks/Impl),...
Windows下安装Claude Code及使用
Windows下安装Claude Code及使用 与Claude Desktop的区别:请注意,Claude Desktop(图形化桌面应用程序)的配置文件位于 %AppData%\Claude\ 目录(通常是 C:\Users\用户名\AppData\Roaming\Claude\),其配置文件名通常为 claude_desktop_config.json,用于配置MCP服务器等,与Claude Code的命令行配置不是一回事。 环境准备 Node.js(v18+): https://nodejs.org/zh-cn/download Git: https://git-scm.com/install/windows Wrap: https://www.warp.dev/download 安装Claude Code在Wrap终端中执行安装 1npm install -g @anthropic-ai/claude-code 相关文件 12C:\Users\用户\.claude.jsonC:\Users\用户\.claude .claude目录下的文件说明 文件/...
虚拟机问题合集
虚拟机问题合集Vmware网络无法连接 123sudo service network-manager stopsudo vi /var/lib/NetworkManager/NetworkManager.state # NetworkingEnabled=truesudo service network-manager start
用go语言编写移动端sdk和app开发
用go语言编写移动端sdk和app开发 window 11 前言使用go开发sdk在Android,ios中调,这就需要用到gomobile这个工具来完成 文档https://github.com/golang/go/wiki/Mobile 安装Golanghttps://studygolang.com/dl https://studygolang.com/dl/golang/go1.18.3.windows-amd64.zip 123456GOPROXY=https://goproxy.cnGOPATH=c:/gopath # src bin pkgGOROOT=c:/goPATH=%GOPATH%/bin;%GOROOT%/bingo version 安装JDK下载地址:https://www.oracle.com/java/technologies/downloads/#java8-windows 现在下载jdk需要注册账号,http://bugmenot.com/view/oracle.com 这个网址有提供账号 设置环境变量 JAVA_HOME=&l...
在线编程IDE
在线编程IDEcode-server https://coder.com/docs/code-server/latest docker部署123456789mkdir -p ~/.configdocker run -it --name code-server -p 5001:8080 \ -v "$HOME/.config:/home/coder/.config" \ -v "/root/code:/home/coder/project" \ -u "$(id -u):$(id -g)" \ -e "DOCKER_USER=$USER" \ -e PASSWORD='wyy' \ codercom/code-server:latest 二进制部署12345678vi ~/.config/code-server/config.yamlbind-addr: 0.0.0.0:5001auth: passwordpassword: wyycert: falsenohup ....
即时性能分析工具Pyroscope
即时性能分析工具Pyroscope https://pyroscope.io/docs/installing-pyroscope-overview/ https://pyroscope.io/blog/ 目前支持的语言 Go Python eBPF Java Ruby Rust PHP .NET NodeJS 分析go性能安装Pyroscope serverwindow暂不支持server 二进制 window管理员运行终端 下载地址:https://github.com/pyroscope-io/pyroscope/releases 1./pyroscope server --api-bind-addr=:5002 --adhoc-data-path /root/.local/share/pyroscope docker1docker run -it -p 4040:4040 pyroscope/pyroscope:latest server docker-compose 12345678---services: pyroscope: image: &quo...
golang性能调试优化方法
golang性能调试优化方法在 golang 程序中,有哪些内容需要调试优化? 一般常规内容: cpu:程序对cpu的使用情况 - 使用时长,占比等 内存:程序对cpu的使用情况 - 使用时长,占比,内存泄露等。如果在往里分,程序堆、栈使用情况 I/O:IO的使用情况 - 哪个程序IO占用时间比较长 golang 程序中: goroutine:go的协程使用情况,调用链的情况 goroutine leak:goroutine泄露检查 go dead lock:死锁的检测分析 data race detector:数据竞争分析,其实也与死锁分析有关 golang 性能调试优化方法: Benchmark:基准测试,对特定代码的运行时间和内存信息等进行测试 Profiling:程序分析,程序的运行画像,在程序执行期间,通过采样收集的数据对程序进行分析 Trace:跟踪,在程序执行期间,通过采集发生的事件数据对程序进行分析 profiling 和 trace 有啥区别?profiling 分析没有时间线,trace 分析有时间线。 概要pprof 是 golang ...
流量回放GoReplay
流量回放GoReplay一. 线上引流产生背景日常大部分的测试工作都是在测试环境下,通过模拟用户的行为来对系统进行验证,包括功能以及性能。在这个过程中,你可能会遇到以下问题: 用户访问行为比较复杂,模拟很难和用户行为一致,模拟不够真实。 线下模拟场景有限,会出现业务覆盖不全的情况。 线上引流方案的出现为上述问题提供了很好的解题思路,线上引流本质是:通过把线上的真实流量复制到线下环境,解决测试环境模拟不够真实,或覆盖不够全面的问题。 二. 线上引流常见方案目前不少公司都对线上引流方案进行了许多实践探索,常见的有以下4种引流方式(不限): 引流方式 实现方式 优点 缺点 Nginx层流量复制 安装lua-nginx-module、ngxdevelkit、headers-more-nginx-module模块,通过lua脚本实现把请求复制给测试环境。 安装和部署还较为简单。 需要开发lua脚本,且对资源有一定占用。 基于业务代码层的引流 将业务代码的调用封装成请求对象,异步的写入缓存中。引流工具通过读缓存中的请求,向测试环境发起请求。 扩展性好,可定制化高。 需要开...
Windows11部署Docker
Windows11部署Docker https://docs.docker.com/desktop/windows/install/ https://docs.microsoft.com/en-us/windows/wsl/basic-commands 一、下载Docker for Windows到Docker官网下载 Docker for Windows,并安装 二、安装WSL22.1、启动WSL 以管理员身份在PowerShell中运行以下命令 1dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart 2.2、启动虚拟机功能 以管理员身份在PowerShell中运行以下命令,运行后需重启计算机 1dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart 2.3、安装Linux内核更新包 下载地址: wsl_update_x64...
NATS-Server(JetStream)和NATS Streaming Server对比
NATS-Server(JetStream)和NATS Streaming Server对比在我吐槽了无数次之后,NATS JetStream终于结束了beta阶段正式进入RC阶段。终于官方也在最近刚刚正式回复了我正式版本在处理几个问题之后就会正式发布。那么在这个比较重要的NATS-Server特性发布之际聊一下NATS产品本身区别和新特性的使用,还有更多的潜在的区别。 概念区分:NATS-Server / NATS Streaming Server / NATS JetStreamNATS-ServerNATS-Server(或者叫nats)是一个开源的、云原生的、高性能的消息传递系统,是NATS的最基础的产品。它的核心是一个发布/订阅(Pub/Sub)系统,客户端可以在不同集群中的服务间nats进行通讯,而不需要关注具体的消息在哪个服务上。换而言之,客户端可以在任意一个集群的服务端上发布消息,同时在任意集群客户端上尝试读取消息。在官方与其他同类消息队列产品功能对比中,我们也可以管窥一下产品的功能列表。nats支持多流多服务进行pub/s...
OPA进阶-分布式利器Bundle
OPA进阶-分布式利器BundleBundle是OPA管理policy和data的一种方式。 OPA实现的轻量级策略引擎,一开始就是为了云原生环境的service提供解耦的策略服务,分布式是必然要考虑的问题。 在Bundle api的设计中,其实就全面考虑并体现了在分布式应用中如何更好的解耦策略引擎的管理。 比如: 如何做集中配置管理 如何动态更新策略 如何监控策略引擎节点的状态以及决策日志收集 有了这些功能,再加上其高效的策略描述语言Rego,OPA才真正称得上是云原生时代的通用策略引擎。 本文将带大家简单梳理一遍Bundle的组织方式、管理 api、及监控方式。 考虑到一次性过完不易消化,文末会提供一个直接可实操的docker-compose版本的demo,将全面覆盖本文细节 建议大家看完本文,本机运行去体验一下,会有更直观的理解。 Bundle 文件组织方式下面我们先来看下Bundle的文件组织方式 在Bundle下的data,只能被识别data.json和data.yaml的文件, 而其上边的目录会作为其数据前缀 如下边roles/data.json (bundle/...
OPA进阶-测试、性能分析和基准测试
OPA进阶-测试、性能分析和基准测试OPA的测试(test)、性能分析(profile)和(benchmark) 掌握他们,对于保证策略代码的质量和决策效率有很大的帮助 1mkdir quick-start data.json 123456789101112131415161718192021222324{ "roles": [ { "operation": "read", "resource": "widgets", "name": "widget-reader" }, { "operation": "write", "resource": "widgets", ...
OPA进阶-简洁的推导式
OPA进阶-简洁的推导式我们将以实现判断配置文件数据的不同聚合方式为例展开。 用到的输入(配置文件列表)为: 1234567891011121314151617181920212223// input.json// posix为常见路径格式// traditional-mac为mac的一种文件路径格式{ "files": [ { "type": "posix", "path": "/Users/newbmiao/Documents/1.yaml" }, { "type": "posix", "path": "/Users/newbmiao/Documents/2.yaml" }, { "type": "traditional-mac", "path...
OPA进阶-函数与虚拟文档
OPA进阶-函数与虚拟文档本文来讲讲OPA常用的函数(function)和虚拟文档(virtual document),以及他们使用的场景。 我们将以实现判断配置文件为例展开。 文章目录 函数 虚拟文档 适用场景 用到的输入(配置文件列表)为: 1234567891011121314151617181920212223// input.json// posix为常见路径格式// traditional-mac为mac的一种文件路径格式{ "files": [ { "type": "posix", "path": "/Users/newbmiao/Documents/1.yaml" }, { "type": "posix", "path": "/Users/newbmiao/Documents/2.yaml" }, ...
如何优雅的使用opa进行开发
如何优雅的使用opa进行开发opaopa(命令行工具)现在迭代比较快,为了性能和一些丰富的内置函数,推荐使用最新版 12345678# maccurl -L -o opa https://openpolicyagent.org/downloads/latest/opa_darwin_amd64chmod +x opamv opa /usr/local/bin/opa# othergo install github.com/open-policy-agent/opa@latest 查看命令帮助 123456789101112131415161718192021222324252627$ ./opa -hAn open source project to policy-enable your service.Usage: E:\goproject\gopath\bin\opa.exe [command]Available Commands: bench Benchmark a Rego query build Build an OPA bundle ...
OPA-重新定义规则引擎-入门篇
OPA-重新定义规则引擎-入门篇OPA,全称OpenPolicyAgent, 底层用Go实现,它灵活而强大的声明式语言全面支持通用策略定义。 什么是 OPA主要关键词是: 轻量级的通用策略引擎 可与服务共存 集成方式可以是 sidecar、主机级守护进程或库引入 opa 文字图片还是不够生动,看看 OPA 作者怎么说: https://www.bilibili.com/video/BV1AE411V7Hs?p=1 https://www.bilibili.com/video/BV1AE411V7Hs?p=2 https://space.bilibili.com/384023450 优点 强大的声明式策略 上下文感知 表达性强 快速 可移植 输入和输出支持任意格式 配合强大的声明式策略语言Rego,描述任意规则都不是问题 全面支持规则和系统解耦 如图 集承方式多 Daemon 式服务 Go 类库引入 决策快 rule indexing partial evaluatio 应用广泛 除了集成做Auth外,还可以应用到k8s,terraform...
OPA-rego语法
OPA-rego语法 https://www.openpolicyagent.org/docs/latest/ 1.背景OPA专门用于推理结构化文档中表示的信息。您的服务及其用户发布的数据可以使用OPA的本机查询语言Rego进行检查和转换。 2.什么是regoRego受到Datalog的启发,Datalog是一种众所周知的数十年的查询语言。Rego扩展了Datalog以支持诸如JSON之类的结构化文档模型。 Rego查询是对存储在OPA中的数据的断言。这些查询可用于定义策略,该策略枚举违反系统预期状态的数据实例 3.为什么使用rego使用Rego定义易于阅读和编写的策略。 Rego致力于为引用嵌套文档提供强大的支持,并确保查询正确无误。 Rego是声明性的,因此策略作者可以专注于应返回的查询,而不是应如何执行查询。这些查询比命令式语言中的查询更简单,更简洁。 像其他支持声明性查询语言的应用程序一样,OPA能够优化查询以提高性能。 4.语法4.1 基础知识1234567891011121314151617181920pi := 3.14159pi3.14159rect := ...









