Loading...
正在加载...
请稍候

zhenyi-base 高性能 Go 基础库

✨步子哥 (steper) 2026年03月13日 15:37
<!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>zhenyi-base Poster</title> <style> :root { --bg-color: #0B0F19; --card-bg: rgba(255, 255, 255, 0.05); --text-primary: #F8FAFC; --text-secondary: #94A3B8; --accent-cyan: #06B6D4; --accent-purple: #8B5CF6; --accent-blue: #3B82F6; --gradient-text: linear-gradient(135deg, #06B6D4 0%, #8B5CF6 100%); } * { margin: 0; padding: 0; box-sizing: border-box; } body { font-family: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif; background-color: var(--bg-color); color: var(--text-primary); width: 720px; height: 1080px; overflow: hidden; display: flex; flex-direction: column; padding: 40px; position: relative; } /* Background Decoration */ .bg-blur { position: absolute; width: 400px; height: 400px; border-radius: 50%; filter: blur(100px); opacity: 0.4; z-index: 0; } .blur-1 { top: -100px; left: -100px; background: var(--accent-purple); } .blur-2 { bottom: -100px; right: -100px; background: var(--accent-cyan); } /* Header */ header { position: relative; z-index: 1; margin-bottom: 30px; text-align: left; border-bottom: 1px solid rgba(255,255,255,0.1); padding-bottom: 20px; } h1 { font-size: 56px; font-weight: 800; letter-spacing: -1px; background: var(--gradient-text); -webkit-background-clip: text; -webkit-text-fill-color: transparent; margin-bottom: 8px; line-height: 1.1; } .subtitle { font-size: 24px; color: var(--text-secondary); font-weight: 500; display: flex; align-items: center; gap: 15px; } .badge { display: inline-block; padding: 4px 10px; background: rgba(6, 182, 212, 0.15); color: var(--accent-cyan); border-radius: 4px; font-size: 14px; font-weight: 600; text-transform: uppercase; border: 1px solid rgba(6, 182, 212, 0.3); } /* Main Grid */ .main-grid { display: grid; grid-template-columns: 1fr; gap: 20px; position: relative; z-index: 1; flex: 1; } /* Feature Highlights */ .features { display: grid; grid-template-columns: repeat(3, 1fr); gap: 15px; } .feature-item { background: var(--card-bg); border: 1px solid rgba(255,255,255,0.1); border-radius: 12px; padding: 15px; text-align: center; backdrop-filter: blur(10px); } .feature-icon { font-size: 24px; margin-bottom: 8px; color: var(--accent-cyan); } .feature-title { font-size: 16px; font-weight: 700; color: var(--text-primary); margin-bottom: 4px; } .feature-desc { font-size: 12px; color: var(--text-secondary); } /* Performance Section */ .section-title { font-size: 18px; font-weight: 700; color: var(--text-secondary); margin-bottom: 12px; display: flex; align-items: center; gap: 8px; } .section-title::before { content: ''; display: block; width: 4px; height: 16px; background: var(--gradient-text); border-radius: 2px; } .perf-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 15px; } .perf-card { background: linear-gradient(145deg, rgba(255,255,255,0.03), rgba(255,255,255,0.01)); border: 1px solid rgba(139, 92, 246, 0.3); border-radius: 12px; padding: 15px; display: flex; flex-direction: column; justify-content: space-between; } .perf-label { font-size: 14px; color: var(--text-secondary); margin-bottom: 5px; } .perf-value { font-size: 32px; font-weight: 800; color: var(--accent-purple); } .perf-unit { font-size: 14px; font-weight: 500; color: var(--text-secondary); margin-left: 4px; } /* Code Block */ .code-block { background: #0d1117; border-radius: 12px; padding: 20px; font-family: 'JetBrains Mono', monospace; font-size: 13px; line-height: 1.6; border: 1px solid rgba(255,255,255,0.1); position: relative; overflow: hidden; } .code-header { position: absolute; top: 0; left: 0; right: 0; height: 32px; background: rgba(255,255,255,0.05); display: flex; align-items: center; padding-left: 12px; gap: 6px; } .dot { width: 10px; height: 10px; border-radius: 50%; } .red { background: #FF5F56; } .yellow { background: #FFBD2E; } .green { background: #27C93F; } .code-content { margin-top: 24px; } .k-keyword { color: #ff79c6; } .k-func { color: #8be9fd; } .k-string { color: #f1fa8c; } .k-comment { color: #6272a4; font-style: italic; } .k-package { color: #50fa7b; } /* Scenarios */ .scenarios { display: flex; flex-wrap: wrap; gap: 10px; } .scenario-tag { background: rgba(59, 130, 246, 0.1); color: var(--accent-blue); padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: 500; border: 1px solid rgba(59, 130, 246, 0.2); } /* Footer */ footer { margin-top: auto; border-top: 1px solid rgba(255,255,255,0.1); padding-top: 20px; display: flex; justify-content: space-between; align-items: center; position: relative; z-index: 1; } .install-cmd { background: #000; padding: 10px 15px; border-radius: 8px; font-family: monospace; font-size: 14px; color: #E2E8F0; border: 1px solid #333; } .link-info { text-align: right; font-size: 14px; color: var(--text-secondary); } .link-info a { color: var(--accent-cyan); text-decoration: none; } </style> </head> <body> <!-- Background Effects --> <div class="bg-blur blur-1"></div> <div class="bg-blur blur-2"></div> <header> <h1>zhenyi-base</h1> <div class="subtitle"> <span>高性能 Go 基础库</span> <span class="badge">MIT 协议</span> <span class="badge">零分配</span> </div> </header> <div class="main-grid"> <!-- Design Philosophy --> <div class="features"> <div class="feature-item"> <div class="feature-icon">⚡️</div> <div class="feature-title">按需引入</div> <div class="feature-desc">模块化设计,只编译你用到的代码</div> </div> <div class="feature-item"> <div class="feature-icon">🚀</div> <div class="feature-title">零冗余依赖</div> <div class="feature-desc">无锁队列、对象池,纯净无侵入</div> </div> <div class="feature-item"> <div class="feature-icon">🛠️</div> <div class="feature-title">协议无缝切换</div> <div class="feature-desc">TCP / WebSocket / KCP 业务代码零修改</div> </div> </div> <!-- Performance Stats --> <div> <div class="section-title">压测数据 (M3 / Go 1.24)</div> <div class="perf-grid"> <div class="perf-card"> <div class="perf-label">TCP Echo 吞吐</div> <div> <span class="perf-value">77.8</span> <span class="perf-unit">万 msg/s</span> </div> <div class="perf-desc" style="font-size: 12px; opacity: 0.7; margin-top: 5px;">1000 连接</div> </div> <div class="perf-card" style="border-color: rgba(6, 182, 212, 0.3);"> <div class="perf-label">MPSC 队列延迟</div> <div> <span class="perf-value" style="color: var(--accent-cyan);">16.7</span> <span class="perf-unit">ns/op</span> </div> <div class="perf-desc" style="font-size: 12px; opacity: 0.7; margin-top: 5px;">0 allocs</div> </div> </div> </div> <!-- Code Example --> <div> <div class="section-title">3步启动 TCP 服务</div> <div class="code-block"> <div class="code-header"> <div class="dot red"></div> <div class="dot yellow"></div> <div class="dot green"></div> </div> <div class="code-content"> <span class="k-package">package</span> main <span class="k-keyword">import</span> <span class="k-string">"github.com/aiyang-zh/zhenyi-base/zserver"</span> <span class="k-keyword">func</span> <span class="k-func">main</span>() { <span class="k-comment">// 1. 创建服务</span> s := zserver.<span class="k-func">New</span>(zserver.<span class="k-func">WithAddr</span>(<span class="k-string">":9001"</span>)) <span class="k-comment">// 2. 注册处理器</span> s.<span class="k-func">Handle</span>(<span class="k-string">1</span>, <span class="k-keyword">func</span>(req *zserver.Request) { req.<span class="k-func">Reply</span>(<span class="k-string">1</span>, req.<span class="k-func">Data</span>()) <span class="k-comment">// Echo 回复</span> }) <span class="k-comment">// 3. 运行</span> s.<span class="k-func">Run</span>() } </div> </div> </div> <!-- Scenarios --> <div> <div class="section-title">适用场景</div> <div class="scenarios"> <div class="scenario-tag">长连接网关</div> <div class="scenario-tag">游戏服务器</div> <div class="scenario-tag">实时推送</div> <div class="scenario-tag">高吞吐 API</div> <div class="scenario-tag">弱网传输 (KCP)</div> <div class="scenario-tag">对象池/队列复用</div> </div> </div> </div> <footer> <div class="install-cmd"> $ go get github.com/aiyang-zh/zhenyi-base </div> <div class="link-info"> <div>文档: <a href="#">zhenyi-site.pages.dev</a></div> <div style="font-size: 12px; margin-top: 4px; color: #64748B;">开源初期,欢迎共建反馈</div> </div> </footer> </body> </html>

讨论回复

0 条回复

还没有人回复,快来发表你的看法吧!