<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>凳子齐</title>
    <link>https://www.jtxyh.com/</link>
    
    <atom:link href="https://www.jtxyh.com/rss.xml" rel="self" type="application/rss+xml"/>
    
    <description></description>
    <pubDate>Mon, 10 Aug 2026 08:04:00 GMT</pubDate>
    <generator>http://hexo.io/</generator>
    
    <item>
      <title>Study English Plan - Beginner Level</title>
      <link>https://www.jtxyh.com/58318/</link>
      <guid>https://www.jtxyh.com/58318/</guid>
      <pubDate>Thu, 07 May 2026 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;Claude Give Me A Plan to Study English - For Beginner Learners — Shadowing Method&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>Claude Give Me A Plan to Study English - For Beginner Learners — Shadowing Method</p><span id="more"></span><h2 id="📖-What-is-the-Shadowing-Method"><a href="#📖-What-is-the-Shadowing-Method" class="headerlink" title="📖 What is the Shadowing Method?"></a>📖 What is the Shadowing Method?</h2><p>Shadowing means you <strong>listen to a native speaker and immediately repeat</strong> what they say — at the same time, copying their speed, rhythm, and pronunciation. It is like a shadow following a person.</p><p><strong>Why shadowing works:</strong></p><ul><li>You train your mouth to move like a native speaker</li><li>You copy the natural rhythm of American English</li><li>You improve listening and speaking at the same time</li><li>It is used by professional translators and language learners worldwide</li></ul><hr><h2 id="🎯-How-to-Shadow-—-Step-by-Step"><a href="#🎯-How-to-Shadow-—-Step-by-Step" class="headerlink" title="🎯 How to Shadow — Step by Step"></a>🎯 How to Shadow — Step by Step</h2><ol><li><strong>LISTEN</strong> — Play 5–10 seconds of audio. Do not repeat yet. Just listen carefully.</li><li><strong>SHADOW</strong> — Play the same audio again. This time, speak at the same time as the speaker.</li><li><strong>COMPARE</strong> — Listen again without speaking. Notice where your pronunciation was different.</li><li><strong>REPEAT</strong> — Do the same 5–10 seconds again until it feels natural.</li><li><strong>MOVE ON</strong> — Go to the next 5–10 seconds and repeat the process.</li></ol><blockquote><p>⚠️ <strong>Important Tips:</strong></p><ul><li>Do NOT worry about meaning at first — focus only on sound</li><li>Start VERY slowly — even 3–4 seconds is fine for beginners</li><li>It is okay to make mistakes — repetition is how you improve</li><li>Do it out loud, not in your head</li></ul></blockquote><hr><h2 id="📅-Your-6-Month-Study-Plan"><a href="#📅-Your-6-Month-Study-Plan" class="headerlink" title="📅 Your 6-Month Study Plan"></a>📅 Your 6-Month Study Plan</h2><h3 id="Month-1–2-Foundation-Beginner-Level"><a href="#Month-1–2-Foundation-Beginner-Level" class="headerlink" title="Month 1–2: Foundation (Beginner Level)"></a>Month 1–2: Foundation (Beginner Level)</h3><p><strong>Goal:</strong> Get used to American English sounds and rhythm.</p><table><thead><tr><th>Time</th><th>Activity</th><th>Resource</th></tr></thead><tbody><tr><td>Morning (10 min)</td><td>Listen to VOA — do NOT shadow yet, just listen</td><td><a href="https://learningenglish.voanews.com/">VOA Learning English</a></td></tr><tr><td>Afternoon (10 min)</td><td>Shadow the same VOA audio from the morning</td><td>Same VOA audio</td></tr><tr><td>Evening (10 min)</td><td>Watch CNN 10 — listen only, use English subtitles</td><td>CNN 10 on YouTube</td></tr></tbody></table><hr><h3 id="Month-3–4-Intermediate-Level"><a href="#Month-3–4-Intermediate-Level" class="headerlink" title="Month 3–4: Intermediate Level"></a>Month 3–4: Intermediate Level</h3><p><strong>Goal:</strong> Build natural speed and understand more vocabulary.</p><table><thead><tr><th>Time</th><th>Activity</th><th>Resource</th></tr></thead><tbody><tr><td>Morning (15 min)</td><td>Shadow CNN 10 — pause and repeat sentence by sentence</td><td>CNN 10 on YouTube</td></tr><tr><td>Afternoon (10 min)</td><td>Write 3 new words you learned today with example sentences</td><td>Your notebook</td></tr><tr><td>Evening (20 min)</td><td>Watch Friends with English subtitles — shadow 1 short scene</td><td>Netflix &#x2F; YouTube</td></tr></tbody></table><hr><h3 id="Month-5–6-Advanced-Practice"><a href="#Month-5–6-Advanced-Practice" class="headerlink" title="Month 5–6: Advanced Practice"></a>Month 5–6: Advanced Practice</h3><p><strong>Goal:</strong> Sound natural and build confidence speaking.</p><table><thead><tr><th>Time</th><th>Activity</th><th>Resource</th></tr></thead><tbody><tr><td>Morning (20 min)</td><td>Shadow NPR News or a TED Talk — full speed, no pausing</td><td>NPR Podcasts &#x2F; TED.com</td></tr><tr><td>Afternoon (15 min)</td><td>Record yourself speaking for 1 minute — compare to native speaker</td><td>Your phone voice recorder</td></tr><tr><td>Evening (20 min)</td><td>Watch a US TV show without subtitles — test your listening</td><td>Netflix</td></tr></tbody></table><hr><h2 id="🔑-Key-Rules-to-Remember"><a href="#🔑-Key-Rules-to-Remember" class="headerlink" title="🔑 Key Rules to Remember"></a>🔑 Key Rules to Remember</h2><ul><li>Listen <strong>EVERY DAY</strong> — even 15 minutes is better than nothing</li><li>Always use <strong>English subtitles</strong>, NOT your native language</li><li>Shadow <strong>OUT LOUD</strong> — not in your head</li><li>Do NOT skip to harder content too fast — stay at your level</li><li>Be patient — real improvement takes <strong>3–6 months</strong> of consistent practice</li></ul><hr><h2 id="📱-Recommended-Resources-Summary"><a href="#📱-Recommended-Resources-Summary" class="headerlink" title="📱 Recommended Resources Summary"></a>📱 Recommended Resources Summary</h2><table><thead><tr><th>Resource</th><th>Level</th><th>Why It Helps</th></tr></thead><tbody><tr><td>VOA Learning English</td><td>Beginner</td><td>Very slow, clear American accent</td></tr><tr><td>CNN 10 (YouTube)</td><td>Beginner–Intermediate</td><td>10 min&#x2F;day, standard American English</td></tr><tr><td>Friends (Netflix)</td><td>Intermediate</td><td>Natural everyday American conversation</td></tr><tr><td>NPR Podcasts</td><td>Advanced</td><td>Real American accent, many topics</td></tr><tr><td>TED Talks</td><td>Advanced</td><td>Clear speech, inspiring content</td></tr></tbody></table>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2026/">2026</category>
      
      
      <category domain="https://www.jtxyh.com/tags/English/">English</category>
      
      <category domain="https://www.jtxyh.com/tags/LearnEnglish/">LearnEnglish</category>
      
      
      <comments>https://www.jtxyh.com/58318/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>ClaudeCode源码设计思想</title>
      <link>https://www.jtxyh.com/25048/</link>
      <guid>https://www.jtxyh.com/25048/</guid>
      <pubDate>Fri, 17 Apr 2026 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;ClaudeCode源码分析&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>ClaudeCode源码分析</p><span id="more"></span><p>参考大佬文档：<a href="https://pub-161ae4b5ed0644c4a43b5c6412287e03.r2.dev/latest/source-code.html">Claude Code 源码解析</a></p><h2 id="Prompt工程设计"><a href="#Prompt工程设计" class="headerlink" title="Prompt工程设计"></a>Prompt工程设计</h2><ol><li>Prompt大体可分为静态部分和动态部分</li><li>Prompt可设置缓存逻辑，减少重复计算</li></ol><h2 id="工具系统"><a href="#工具系统" class="headerlink" title="工具系统"></a>工具系统</h2><p>设计思想大概分为4个层次：</p><table><thead><tr><th>类型</th><th>功能</th><th>代表工具</th></tr></thead><tbody><tr><td>Read</td><td>读取信息</td><td>FileRead、Grep、Glob、WebFetch、WebSearch</td></tr><tr><td>Write</td><td>创建或修改</td><td>FileWrite、FileEdit、NotebookEdit</td></tr><tr><td>Execute</td><td>运行命令</td><td>Bash、PowerShell、REPL</td></tr><tr><td>Connect</td><td>连接外部系统</td><td>MCP工具、Agent、SendMessage、TeamCreate</td></tr></tbody></table><p>核心思想：</p><ol><li><strong>ToolSearchTool</strong>：工具搜索工具，负责在工具系统中搜索和选择合适的工具来完成任务</li><li>工具结果最大字符数限制，ClaudeCode大多数工具的阈值是100000字符。当一个工具的返回结果超过这个阈值时，系统不是直接截断，而是把完整结果保存到磁盘上的一个临时文件，然后在对话中只放一个摘要和文件路径。这样Claude可以在需要时通过Read工具去读取完整结果</li></ol><h2 id="权限模式"><a href="#权限模式" class="headerlink" title="权限模式"></a>权限模式</h2><p>ClaudeCode两阶段判断逻辑：</p><ol><li>Stage 1：快速判断（64 token预算），仅输出 yes&#x2F;no 来判断是否放出权限</li><li>Stage 2：深度推理（4096 token预算）：要求分类器输出详细的推理过程和拒绝理由</li></ol><h2 id="记忆系统"><a href="#记忆系统" class="headerlink" title="记忆系统"></a>记忆系统</h2><ol><li>ClaudeCode核心记忆文件是MEMORY.md，限定200行、25KB</li><li>核心设计决策：只记偏好，不记代码</li><li>记录失败经验也要记录成功经验</li><li>时间类要明确到具体的时间点，年月日</li></ol><h2 id="上下文管理"><a href="#上下文管理" class="headerlink" title="上下文管理"></a>上下文管理</h2><p>所有用户信息都要保留！</p><table><thead><tr><th>段落</th><th>内容</th><th>重要程度</th></tr></thead><tbody><tr><td>Primary Request and Intent</td><td>用户的所有显式请求和意图</td><td>最高</td></tr><tr><td>All User Messages</td><td>所有非工具结果的用户消息</td><td>最高</td></tr><tr><td>Current Work</td><td>压缩前正在做的工作的详细描述</td><td>最高</td></tr><tr><td>Errors and Fixes</td><td>遇到的错误和修复方法</td><td>中高</td></tr><tr><td>Key Technical Concepts</td><td>讨论过的技术概念、框架、技术</td><td>高</td></tr><tr><td>Files and Code Sections</td><td>具体的文件名、代码片段、修改记录</td><td>高</td></tr><tr><td>Pending Tasks</td><td>明确被要求但尚未完成的任务</td><td>高</td></tr><tr><td>Problem Solving</td><td>解决问题的过程和正在进行的排查</td><td>中</td></tr><tr><td>Optional Next Step</td><td>下一步计划（必须与用户最近的请求直接相关）</td><td>中</td></tr></tbody></table>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2026/">2026</category>
      
      
      <category domain="https://www.jtxyh.com/tags/AI/">AI</category>
      
      <category domain="https://www.jtxyh.com/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/">大模型</category>
      
      <category domain="https://www.jtxyh.com/tags/Claude-Code/">Claude Code</category>
      
      
      <comments>https://www.jtxyh.com/25048/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>ClaudeCode常用命令指南</title>
      <link>https://www.jtxyh.com/40752/</link>
      <guid>https://www.jtxyh.com/40752/</guid>
      <pubDate>Sat, 14 Mar 2026 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;ClaudeCode使用&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>ClaudeCode使用</p><span id="more"></span><p>参考文档：</p><ul><li><a href="https://x.com/HiTw93/status/2032091246588518683">https://x.com/HiTw93/status/2032091246588518683</a></li><li><a href="https://x.com/shachepi/status/2032036375894413458">https://x.com/shachepi/status/2032036375894413458</a></li></ul><h2 id="入门"><a href="#入门" class="headerlink" title="入门"></a>入门</h2><ul><li>claude：进入交互式 Claude Code 会话。</li><li>claude -p “任务描述信息”：非交互模式，执行完直接输出后退出，适合脚本和批处理。</li><li>claude -p “任务描述信息” –output-format json：结构化输出，便于脚本消费</li><li>claude -c：继续当前目录最近一次会话，适合断点续聊。</li><li>claude –resume：打开选择器恢复历史会话</li><li>claude –continue –fork：从已有会话分叉，同一起点不同方案</li><li>claude –worktree：创建隔离 git worktree</li></ul><h2 id="进入交互式后"><a href="#进入交互式后" class="headerlink" title="进入交互式后"></a>进入交互式后</h2><ul><li>&#x2F;context：查看 token 占用结构，排查 MCP 和文件读取占比</li><li>&#x2F;clear：清空会话，同一问题被纠偏两次以上就重来</li><li>&#x2F;compact：压缩但保留重点，配合 Compact Instructions</li><li>&#x2F;memory：确认哪些 CLAUDE.md 真的被加载了</li><li>&#x2F;mcp：管理 MCP 连接，检查 token 成本，断开闲置 server</li><li>&#x2F;hooks：管理 hooks，控制平面入口</li><li>&#x2F;permissions：查看或更新权限白名单</li><li>&#x2F;sandbox：配置沙箱隔离，高自动化场景必备</li><li>&#x2F;model：切换模型：Opus 用于深度推理，Sonnet 用于常规，Haiku 用于快速探索</li><li>&#x2F;simplify：对刚改完的代码做三维检查，代码复用、质量和效率，发现问题直接修掉。特别适合改完一段逻辑后立刻跑一遍，代替手动 review。</li><li>&#x2F;rewind：不是”撤销”，而是回到某个会话 checkpoint 重新总结。适合：Claude 已沿错误路径探索太久；想保留前半段共识但丢掉后半段失败。</li><li>&#x2F;btw：在不打断主任务的前提下快速问一个侧问题，适合”两个命令有什么区别”这类单轮旁路问答，不适合需要读仓库或调用工具的问题。</li><li>claude -p –output-format stream-json：实时 JSON 事件流，适合长任务监控、增量处理、流式集成到自己的工具。</li><li>&#x2F;insight：让 Claude 分析当前会话，提炼出哪些内容值得沉淀到 CLAUDE.md。用法是会话做了一段之后跑一次，它会指出”这个约定你们反复提到，但没有写进契约”之类的盲点，是迭代优化 CLAUDE.md 的好手段。</li><li>双击 ESC 回溯：按两次 ESC 可以回到上一条输入重新编辑，不用重新手打。Claude 走偏了、或者上一句话没说清楚，双击 ESC 修改后重发，比重新开会话省事得多。</li><li>对话历史都在本地：所有会话记录存放在 ~&#x2F;.claude&#x2F;projects&#x2F; 下，文件夹名按项目路径命名（斜杠变横杠），每个会话是一个 .jsonl 文件。想找某个话题的历史，直接 grep -rl “关键词” ~&#x2F;.claude&#x2F;projects&#x2F; 就能定位，或者直接告诉 Claude「帮我搜一下之前关于 X 的讨论」，它会自己去翻。</li></ul>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2026/">2026</category>
      
      
      <category domain="https://www.jtxyh.com/tags/AI/">AI</category>
      
      <category domain="https://www.jtxyh.com/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/">大模型</category>
      
      <category domain="https://www.jtxyh.com/tags/Claude-Code/">Claude Code</category>
      
      
      <comments>https://www.jtxyh.com/40752/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Skills和MCP的区别</title>
      <link>https://www.jtxyh.com/3340/</link>
      <guid>https://www.jtxyh.com/3340/</guid>
      <pubDate>Wed, 14 Jan 2026 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;Skills和MCP到底的区别是什么&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>Skills和MCP到底的区别是什么</p><span id="more"></span><h2 id="MCP"><a href="#MCP" class="headerlink" title="MCP"></a>MCP</h2><p>Model Context Protocol 是一种标准协议，用来让大模型<strong>连接外部系统、服务、工具和实时数据源</strong></p><ul><li>让模型能够访问外部资源（数据库、API、文件、搜索等）</li><li>它类似一个协议&#x2F;接口层，相当于给 AI “装上手脚”，让它能去获取数据或执行操作，而不是只依赖训练数据</li><li>MCP 并不告诉 AI 应该怎么做事情，它只是 提供了可调用的能力（tools）</li></ul><p><strong>MCP &#x3D; 给模型接入外部能力（工具+数据）的桥梁&#x2F;协议</strong></p><h2 id="Skills"><a href="#Skills" class="headerlink" title="Skills"></a>Skills</h2><p>Agent Skills 是一种用来 向<strong>大模型编码“怎么做”某个任务或工作流程的模块化说明</strong></p><ul><li>程序化描述（流程规则、步骤指导、行业标准等）</li><li>可以包含示例、脚本、模板、资源文件等，帮助模型在执行复杂任务时按标准流程操作</li><li>Skills 是规模化、工程化的任务说明。与传统 prompt 不同，它更像是把“组织&#x2F;领域知识 + 高效操作流程”封装成一个模块</li></ul><p><strong>Skills &#x3D; 教 AI “怎么做具体任务” 的能力包&#x2F;知识模块</strong></p><h2 id="核心区别"><a href="#核心区别" class="headerlink" title="核心区别"></a>核心区别</h2><table><thead><tr><th>维度</th><th>Skills</th><th>MCP</th></tr></thead><tbody><tr><td>主要作用</td><td>指导 AI 如何按步骤完成任务</td><td>给 AI 接入外部系统和数据</td></tr><tr><td>抽象层级</td><td>上层抽象&#x2F;业务逻辑层</td><td>中间协议&#x2F;集成层</td></tr><tr><td>使用方式</td><td>预定义的、可复用的工作包 <br> 包含指令 + 模板 + 示例 + 可选脚本 <br> 可按需动态加载，提高效率&#x2F;准确率</td><td>运行时协议 <br> 需要 MCP server&#x2F;agent 来对接外部系统 <br> LLM 通过标准协议调用真实工具&#x2F;服务</td></tr><tr><td>核心内容</td><td>任务流程、策略、规则、示例</td><td>工具&#x2F;服务访问接口</td></tr><tr><td>是否提供外部连接</td><td>不提供</td><td>提供</td></tr><tr><td>是否包含业务逻辑</td><td>是</td><td>否</td></tr><tr><td>更适合解决的问题</td><td>做某件事更高效、标准化</td><td>怎么获取或执行外部操作</td></tr><tr><td>典型用途</td><td>文档标准化处理、业务流程自动执行</td><td>访问数据库、调用 API、读取文件</td></tr></tbody></table><table><thead><tr><th>结论</th><th>内容</th></tr></thead><tbody><tr><td>核心差异</td><td>Skills &#x3D; 怎么做；MCP &#x3D; 从哪里拿 &#x2F; 怎么接</td></tr><tr><td>优势对比</td><td>Skills 更高效执行任务；MCP 标准化集成工具与数据</td></tr><tr><td>推荐方式</td><td>两者结合能组成更强的智能体架构</td></tr></tbody></table><h2 id="Claude-Code-配置"><a href="#Claude-Code-配置" class="headerlink" title="Claude Code 配置"></a>Claude Code 配置</h2><h3 id="Skills-1"><a href="#Skills-1" class="headerlink" title="Skills"></a>Skills</h3><p>Skills 是一组文件夹，每个 Skill 是一个独立文件夹，放在目录 <code>~/.claude/skills/skill-name/</code> 下<br>SKILL.md 必须存在。它是 Skill 的元数据 + 大模型执行指令</p><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs awk">my-skill/<br>├── SKILL.md            <span class="hljs-comment"># 核心描述与使用说明</span><br>├── scripts<span class="hljs-regexp">/            # 可选，存放脚本（Python/</span>JS 等）<br>│   └── process.py<br>├── templates<span class="hljs-regexp">/          # 可选，存放模板文件（Excel/</span>Word 等）<br>│   └── report-template.xlsx<br></code></pre></td></tr></table></figure><p>启动 Claude Code 后，Skill 会 自动被检测和加载（只要路径正确）</p><h3 id="MCP-1"><a href="#MCP-1" class="headerlink" title="MCP"></a>MCP</h3><p>在 <code>~/.claude.json</code> 文件中的 key是 <code>mcpServers</code> 下面新增</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;mcpServers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;filesystem&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>      <span class="hljs-attr">&quot;command&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;npx&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;args&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-string">&quot;@modelcontextprotocol/server-filesystem&quot;</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;enabled&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-keyword">true</span><br>    <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><p>使用智谱的MCP工具，需要购买智谱的套餐</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;mcpServers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;web-search-prime&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>      <span class="hljs-attr">&quot;type&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;http&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;url&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;https://open.bigmodel.cn/api/mcp/web_search_prime/mcp&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;headers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>        <span class="hljs-attr">&quot;Authorization&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Bearer your_api_key&quot;</span><br>      <span class="hljs-punctuation">&#125;</span><br>    <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2026/">2026</category>
      
      
      <category domain="https://www.jtxyh.com/tags/AI/">AI</category>
      
      <category domain="https://www.jtxyh.com/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/">大模型</category>
      
      
      <comments>https://www.jtxyh.com/3340/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>桃气头像小程序</title>
      <link>https://www.jtxyh.com/2886/</link>
      <guid>https://www.jtxyh.com/2886/</guid>
      <pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;生成好用的头像框&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>生成好用的头像框</p><span id="more"></span><p>换个头像，换种心情，感觉整个朋友圈都变甜了～快来试试，把这份“桃”气带回家，好运和可爱都逃不掉</p><p><img src="https://img.jtxyh.top/202512241630454.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2025/">2025</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/">微信小程序</category>
      
      <category domain="https://www.jtxyh.com/tags/%E4%B8%AA%E4%BA%BA%E5%BC%80%E5%8F%91/">个人开发</category>
      
      
      <comments>https://www.jtxyh.com/2886/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>GitHub Actions 实现 Java 项目 CI CD 自动部署教程</title>
      <link>https://www.jtxyh.com/73/</link>
      <guid>https://www.jtxyh.com/73/</guid>
      <pubDate>Tue, 23 Dec 2025 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;GitHub Actions使用&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>GitHub Actions使用</p><span id="more"></span><p><a href="https://docs.github.com/zh/actions/get-started/quickstart">Github Actions官方配置说明</a></p><h2 id="整体流程说明"><a href="#整体流程说明" class="headerlink" title="整体流程说明"></a>整体流程说明</h2><ol><li><p>开发 push 代码到 GitHub 指定分支</p></li><li><p>GitHub Actions 自动触发工作流</p></li><li><p>拉取代码</p></li><li><p>配置 JDK 环境</p></li><li><p>使用 Maven 构建项目</p></li><li><p>将生成的 JAR 包上传到服务器</p></li><li><p>在服务器上执行部署脚本（如重启服务）</p></li></ol><h2 id="前置配置"><a href="#前置配置" class="headerlink" title="前置配置"></a>前置配置</h2><h3 id="项目要求"><a href="#项目要求" class="headerlink" title="项目要求"></a>项目要求</h3><ul><li><p>Java 项目（使用 Maven 构建）</p></li><li><p>项目能通过 <code>mvn clean package</code> 正常打包</p></li><li><p>打包后生成 JAR，例如：<code>target/template.jar</code></p></li></ul><h3 id="服务器要求"><a href="#服务器要求" class="headerlink" title="服务器要求"></a>服务器要求</h3><ul><li><p>一台 Linux 服务器（如 Ubuntu &#x2F; CentOS）</p></li><li><p>已配置 SSH 登录</p></li><li><p>服务器上有部署脚本，例如：</p></li></ul><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">/opt/template/run.sh<br></code></pre></td></tr></table></figure><h3 id="GitHub-Secrets-配置"><a href="#GitHub-Secrets-配置" class="headerlink" title="GitHub Secrets 配置"></a>GitHub Secrets 配置</h3><p>进入 GitHub 的项目代码仓库：</p><blockquote><p>Settings → Secrets and variables → Actions → New repository secret</p></blockquote><p>配置以下变量：</p><table><thead><tr><th>Secret 名称</th><th>说明</th></tr></thead><tbody><tr><td><code>SERVER_HOST</code></td><td>服务器 IP</td></tr><tr><td><code>PORT</code></td><td>SSH 端口（一般是 22）</td></tr><tr><td><code>SERVER_USERNAME</code></td><td>SSH 用户名</td></tr><tr><td><code>SSH_KEY</code></td><td>私钥（无密码）</td></tr></tbody></table><p>⚠️ <strong>SSH_KEY 必须是完整私钥内容</strong>，例如：</p><figure class="highlight text"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs text">-----BEGIN RSA PRIVATE KEY-----<br>xxxxxx<br>-----END RSA PRIVATE KEY-----<br><br></code></pre></td></tr></table></figure><p><img src="https://img.jtxyh.top/202512231417494.png"></p><h2 id="GitHub-Actions-工作流配置"><a href="#GitHub-Actions-工作流配置" class="headerlink" title="GitHub Actions 工作流配置"></a>GitHub Actions 工作流配置</h2><h3 id="在项目根目录创建文件"><a href="#在项目根目录创建文件" class="headerlink" title="在项目根目录创建文件"></a>在项目根目录创建文件</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs bash">.github/workflows/deploy.yml<br></code></pre></td></tr></table></figure><h3 id="内容示例"><a href="#内容示例" class="headerlink" title="内容示例"></a>内容示例</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-attr">name:</span> <span class="hljs-string">DEPLOY</span><br><br><span class="hljs-attr">on:</span><br>  <span class="hljs-attr">push:</span><br>    <span class="hljs-attr">branches:</span><br>      <span class="hljs-bullet">-</span> <span class="hljs-string">dev</span><br><br><span class="hljs-attr">jobs:</span><br>  <span class="hljs-attr">build-and-publish:</span><br>    <span class="hljs-attr">if:</span> <span class="hljs-literal">false</span><br>    <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span><br><br>    <span class="hljs-attr">steps:</span><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v3</span><br>        <span class="hljs-attr">with:</span><br>          <span class="hljs-attr">path:</span> <span class="hljs-string">.</span><br><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Set</span> <span class="hljs-string">up</span> <span class="hljs-string">JDK</span><br>        <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/setup-java@v3</span><br>        <span class="hljs-attr">with:</span><br>          <span class="hljs-attr">java-version:</span> <span class="hljs-number">8</span><br>          <span class="hljs-attr">distribution:</span> <span class="hljs-string">&quot;adopt&quot;</span><br>          <span class="hljs-attr">cache:</span> <span class="hljs-string">maven</span><br><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">with</span> <span class="hljs-string">Maven</span><br>        <span class="hljs-attr">run:</span> <span class="hljs-string">|</span><br><span class="hljs-string">          mvn clean package -DskipTests</span><br><span class="hljs-string"></span><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">List</span> <span class="hljs-string">files</span><br>        <span class="hljs-attr">run:</span> <span class="hljs-string">ls</span> <span class="hljs-string">-R</span><br><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Display</span> <span class="hljs-string">directory</span> <span class="hljs-string">tree</span><br>        <span class="hljs-attr">run:</span> <span class="hljs-string">tree</span><br><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Upload</span> <span class="hljs-string">JAR</span> <span class="hljs-string">to</span> <span class="hljs-string">server</span><br>        <span class="hljs-attr">uses:</span> <span class="hljs-string">appleboy/scp-action@master</span><br>        <span class="hljs-attr">with:</span><br>          <span class="hljs-attr">host:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SERVER_HOST</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">port:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.PORT</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">username:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SERVER_USERNAME</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">key:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SSH_KEY</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">source:</span> <span class="hljs-string">target/template.jar</span><br>          <span class="hljs-attr">target:</span> <span class="hljs-string">/opt/template</span><br>          <span class="hljs-attr">overwrite:</span> <span class="hljs-literal">true</span><br><br>      <span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Execute</span> <span class="hljs-string">shell</span> <span class="hljs-string">scripts</span> <span class="hljs-string">on</span> <span class="hljs-string">server</span><br>        <span class="hljs-attr">uses:</span> <span class="hljs-string">appleboy/ssh-action@master</span><br>        <span class="hljs-attr">with:</span><br>          <span class="hljs-attr">host:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SERVER_HOST</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">port:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.PORT</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">username:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SERVER_USERNAME</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">key:</span> <span class="hljs-string">$&#123;&#123;</span> <span class="hljs-string">secrets.SSH_KEY</span> <span class="hljs-string">&#125;&#125;</span><br>          <span class="hljs-attr">script:</span> <span class="hljs-string">|</span><br><span class="hljs-string">            bash /opt/template/run.sh</span><br><span class="hljs-string"></span><br></code></pre></td></tr></table></figure><h2 id="配置详解"><a href="#配置详解" class="headerlink" title="配置详解"></a>配置详解</h2><h3 id="工作流名称"><a href="#工作流名称" class="headerlink" title="工作流名称"></a>工作流名称</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-attr">name:</span> <span class="hljs-string">DEPLOY</span><br></code></pre></td></tr></table></figure><p>该名称会显示在 GitHub Actions 页面中，用于标识该流水线。</p><h3 id="触发条件"><a href="#触发条件" class="headerlink" title="触发条件"></a>触发条件</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-attr">on:</span><br>  <span class="hljs-attr">push:</span><br>    <span class="hljs-attr">branches:</span><br>      <span class="hljs-bullet">-</span> <span class="hljs-string">dev</span><br><br></code></pre></td></tr></table></figure><p>含义：当代码 <strong>push 到</strong> <code>**dev**</code> <strong>分支</strong> 时触发部署</p><p>也可以写成：</p><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-string">dev</span><br><span class="hljs-bullet">-</span> <span class="hljs-string">test</span><br></code></pre></td></tr></table></figure><h3 id="Job-配置"><a href="#Job-配置" class="headerlink" title="Job 配置"></a>Job 配置</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-attr">jobs:</span><br>  <span class="hljs-attr">build-and-publish:</span><br>    <span class="hljs-attr">if:</span> <span class="hljs-literal">false</span><br>    <span class="hljs-attr">runs-on:</span> <span class="hljs-string">ubuntu-latest</span><br></code></pre></td></tr></table></figure><p>说明：</p><ul><li><p><code>build-and-publish</code>：Job 名称</p></li><li><p><code>runs-on: ubuntu-latest</code>：使用 GitHub 提供的 Ubuntu Runner</p></li><li><p><code>if: false</code>：<strong>当前禁用 Job，</strong>就是不运行，若要启用自动部署，删除<code>if</code>或改为<code>if: true</code></p></li></ul><h3 id="拉取代码"><a href="#拉取代码" class="headerlink" title="拉取代码"></a>拉取代码</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/checkout@v3</span><br></code></pre></td></tr></table></figure><p>作用：</p><ul><li>将 GitHub 仓库代码拉取到 Runner 中</li></ul><h3 id="设置-JDK-环境"><a href="#设置-JDK-环境" class="headerlink" title="设置 JDK 环境"></a>设置 JDK 环境</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Set</span> <span class="hljs-string">up</span> <span class="hljs-string">JDK</span><br>  <span class="hljs-attr">uses:</span> <span class="hljs-string">actions/setup-java@v3</span><br>  <span class="hljs-attr">with:</span><br>    <span class="hljs-attr">java-version:</span> <span class="hljs-number">8</span><br>    <span class="hljs-attr">distribution:</span> <span class="hljs-string">&quot;adopt&quot;</span><br>    <span class="hljs-attr">cache:</span> <span class="hljs-string">maven</span><br></code></pre></td></tr></table></figure><p>说明：</p><ul><li><p>使用 Java 8</p></li><li><p>启用 Maven 依赖缓存，加快构建速度</p></li></ul><h3 id="Maven-构建项目"><a href="#Maven-构建项目" class="headerlink" title="Maven 构建项目"></a>Maven 构建项目</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Build</span> <span class="hljs-string">with</span> <span class="hljs-string">Maven</span><br>  <span class="hljs-attr">run:</span> <span class="hljs-string">|</span><br>    <span class="hljs-string">mvn</span> <span class="hljs-string">clean</span> <span class="hljs-string">package</span> <span class="hljs-string">-DskipTests</span><br></code></pre></td></tr></table></figure><p>作用：</p><ul><li><p>编译并打包项目</p></li><li><p><code>-DskipTests</code>：跳过测试，加快部署</p></li></ul><h3 id="上传-JAR-到服务器"><a href="#上传-JAR-到服务器" class="headerlink" title="上传 JAR 到服务器"></a>上传 JAR 到服务器</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Upload</span> <span class="hljs-string">JAR</span> <span class="hljs-string">to</span> <span class="hljs-string">server</span><br>  <span class="hljs-attr">uses:</span> <span class="hljs-string">appleboy/scp-action@master</span><br></code></pre></td></tr></table></figure><p>功能：</p><ul><li>通过 SCP 将 JAR 包上传到服务器</li></ul><p>关键参数：</p><ul><li><p><code>source</code>：本地 JAR 路径</p></li><li><p><code>target</code>：服务器目录</p></li><li><p><code>overwrite: true</code>：覆盖旧文件</p></li><li><p><code>host</code>：服务器地址</p></li><li><p><code>port</code>：SSH 端口</p></li><li><p><code>username</code>：服务器登录用户</p></li><li><p><code>key</code>：SSH 私钥（如果不是私钥登录可换成 <code>password</code>）</p></li></ul><h3 id="远程执行部署脚本"><a href="#远程执行部署脚本" class="headerlink" title="远程执行部署脚本"></a>远程执行部署脚本</h3><figure class="highlight yaml"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs yaml"><span class="hljs-bullet">-</span> <span class="hljs-attr">name:</span> <span class="hljs-string">Execute</span> <span class="hljs-string">shell</span> <span class="hljs-string">scripts</span> <span class="hljs-string">on</span> <span class="hljs-string">server</span><br>  <span class="hljs-attr">uses:</span> <span class="hljs-string">appleboy/ssh-action@master</span><br></code></pre></td></tr></table></figure><p>作用：</p><ul><li><p>SSH 登录服务器</p></li><li><p>执行部署脚本（如停止旧进程、启动新服务）</p></li></ul><h3 id="变量"><a href="#变量" class="headerlink" title="变量"></a>变量</h3><p>在 workflow 运行时，动态取Secrets中的配置并替换</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta">$</span><span class="language-bash">&#123;&#123; secrets.SERVER_HOST &#125;&#125;</span><br><span class="hljs-meta">$</span><span class="language-bash">&#123;&#123; secrets.PORT &#125;&#125;</span><br><span class="hljs-meta">$</span><span class="language-bash">&#123;&#123; secrets.SERVER_USERNAME &#125;&#125;</span><br><span class="hljs-meta">$</span><span class="language-bash">&#123;&#123; secrets.SSH_KEY &#125;&#125;</span><br></code></pre></td></tr></table></figure><h2 id="部署记录查看"><a href="#部署记录查看" class="headerlink" title="部署记录查看"></a>部署记录查看</h2><p><img src="https://img.jtxyh.top/202512231418661.png"></p><p>选择其中一个可以看到详细记录</p><p><img src="https://img.jtxyh.top/202512231418410.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2025/">2025</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/">大模型</category>
      
      <category domain="https://www.jtxyh.com/tags/CI-CD/">CI/CD</category>
      
      
      <comments>https://www.jtxyh.com/73/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>ClaudeCode+GLM4.6使用教程</title>
      <link>https://www.jtxyh.com/13160/</link>
      <guid>https://www.jtxyh.com/13160/</guid>
      <pubDate>Wed, 26 Nov 2025 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;ClaudeCode使用GLM使用&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>ClaudeCode使用GLM使用</p><span id="more"></span><h1 id="Claude-Code-和-GLM介绍"><a href="#Claude-Code-和-GLM介绍" class="headerlink" title="Claude Code 和 GLM介绍"></a>Claude Code 和 GLM介绍</h1><h2 id="Claude-Code介绍"><a href="#Claude-Code介绍" class="headerlink" title="Claude Code介绍"></a>Claude Code介绍</h2><p>一句话：<strong>Claude Code 是跑在终端 &#x2F; IDE 里的“AI 编程助手 + 代理”</strong>，可以读你的整个代码库、回答问题、改代码、跑测试甚至用你的 CLI 工具。 </p><p>它自带“代理式”能力：不是只给你一段补全，而是会自己规划步骤、打开文件、编辑、运行命令。</p><p>因为 Claude Code 的官方模型不支持中国网络直接访问，所以可配合 GLM 模型完成相关功能，实测效果可达官方模型85%以上</p><h2 id="GLM-4-6-介绍"><a href="#GLM-4-6-介绍" class="headerlink" title="GLM-4.6 介绍"></a>GLM-4.6 介绍</h2><p>GLM-4.6 是 Z.ai（前身是智谱 &#x2F; Zhipu AI）的 <strong>旗舰级开源大模型</strong></p><p><strong>超强编码能力 + 代理能力</strong>：在真实代码任务的评测里接近 Claude Sonnet 4，尤其适合当“AI 程序员”。 </p><p><strong>超长上下文</strong>：约 200K tokens 的上下文（比很多模型大），方便处理超大代码仓库、长设计文档。</p><p><strong>开源 &#x2F; MIT 许可证</strong>：可以自托管、深度定制，对企业来说没有强 API 锁定</p><h1 id="Claude-Code安装"><a href="#Claude-Code安装" class="headerlink" title="Claude Code安装"></a>Claude Code安装</h1><h2 id="MacOS"><a href="#MacOS" class="headerlink" title="MacOS"></a>MacOS</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">brew install --cask claude-code<br></code></pre></td></tr></table></figure><h2 id="Windows"><a href="#Windows" class="headerlink" title="Windows"></a>Windows</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">irm https://claude.ai/install.ps1 | iex<br></code></pre></td></tr></table></figure><h2 id="NPM"><a href="#NPM" class="headerlink" title="NPM"></a>NPM</h2><p>npm安装后，不需要再使用其他方式安装</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">npm install -g @anthropic-ai/claude-code<br></code></pre></td></tr></table></figure><h2 id="确认安装"><a href="#确认安装" class="headerlink" title="确认安装"></a>确认安装</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">claude --version<br></code></pre></td></tr></table></figure><h1 id="GLM模型配置"><a href="#GLM模型配置" class="headerlink" title="GLM模型配置"></a>GLM模型配置</h1><p><a href="https://docs.bigmodel.cn/cn/coding-plan/overview">官方配置教程</a></p><h2 id="购买套餐-x2F-新注册用户有送套餐"><a href="#购买套餐-x2F-新注册用户有送套餐" class="headerlink" title="购买套餐&#x2F;新注册用户有送套餐"></a>购买套餐&#x2F;新注册用户有送套餐</h2><p>购买套餐地址：<a href="https://www.bigmodel.cn/claude-code?ic=E1J9ETVFCP">编码套餐</a></p><p>从 <a href="https://bigmodel.cn/usercenter/proj-mgmt/apikeys">API Key 获取</a>自己的密钥，下面配置的时候使用</p><h2 id="MacOS-1"><a href="#MacOS-1" class="headerlink" title="MacOS"></a>MacOS</h2><p>根据脚本提示安装</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">curl -O &quot;https://cdn.bigmodel.cn/install/claude_code_env.sh&quot; &amp;&amp; bash ./claude_code_env.sh<br></code></pre></td></tr></table></figure><h2 id="Windows-1"><a href="#Windows-1" class="headerlink" title="Windows"></a>Windows</h2><p>编辑或新增 Claude Code 配置文件 <code>~/.claude/settings.json</code>，没有就新建一个</p><p>新增或修改里面的 env 字段 注意替换里面的 <code>your_zhipu_api_key</code> 为您上一步获取到的 API Key</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs shell"><br>&#123;<br>    &quot;env&quot;: &#123;<br>        &quot;ANTHROPIC_AUTH_TOKEN&quot;: &quot;your_zhipu_api_key&quot;,<br>        &quot;ANTHROPIC_BASE_URL&quot;: &quot;https://open.bigmodel.cn/api/anthropic&quot;,<br>        &quot;API_TIMEOUT_MS&quot;: &quot;3000000&quot;,<br>        &quot;CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC&quot;: 1<br>    &#125;<br>&#125;<br></code></pre></td></tr></table></figure><h2 id="其他"><a href="#其他" class="headerlink" title="其他"></a>其他</h2><p>如果后面想更改其他 模型&#x2F;密钥 也可以更改 <code>~/.claude/settings.json</code> 下面的信息</p><h1 id="使用"><a href="#使用" class="headerlink" title="使用"></a>使用</h1><p>超详细使用教程：<a href="https://zhuanlan.zhihu.com/p/1928918331810886674">Claude Code 用法全面拆解</a></p><h2 id="基本使用流程示例"><a href="#基本使用流程示例" class="headerlink" title="基本使用流程示例"></a>基本使用流程示例</h2><p>下面以“熟悉现有项目 + 修复一个 Bug”为例，展示 Claude Code 的基本用法：</p><ol><li><p>在项目根目录打开终端输入 <code>claude</code>，启动 Claude Code；</p></li><li><p>让 Claude 先帮你分析项目结构，例如输入：<br><code>“请根据当前代码，介绍一下这个项目是做什么的，每个主要目录负责什么。”</code></p></li><li><p>根据它的解析结果，继续追问关键模块的实现方式，例如：<br><code>“登录模块的流程是怎样的？涉及哪些文件？”</code></p></li><li><p>当你遇到 Bug 时，可将报错粘贴给 Claude，例如：<br><code>“xxx 出现了空指针异常，帮我分析原因并给出修复建议。”</code></p></li><li><p>在 Claude 给出的修改方案中，你可以让它“先给出具体修改计划”，确认无误后再让它对文件进行编辑。</p></li><li><p>可以直接复制一张图片，粘贴在终端，需要配置智谱MCP视觉模型</p></li></ol><h2 id="常用命令与使用技巧"><a href="#常用命令与使用技巧" class="headerlink" title="常用命令与使用技巧"></a>常用命令与使用技巧</h2><p>常见的指令：</p><ol><li><p>&#x2F;help：查看帮助信息和可用功能概览；</p></li><li><p>&#x2F;status：查看当前使用的模型、会话状态等；</p></li><li><p>&#x2F;model：在支持的情况下，切换不同模型（但使用GLM模型时不支持，参考<a href="https://docs.bigmodel.cn/cn/coding-plan/tool/claude#%E5%A6%82%E4%BD%95%E5%88%87%E6%8D%A2%E4%BD%BF%E7%94%A8%E6%A8%A1%E5%9E%8B">GLM模型切换</a>）；</p></li><li><p>&#x2F;files：查看当前 Claude 正在关注或编辑的文件列表；</p></li><li><p>&#x2F;apply：查看和应用 Claude 生成的补丁或修改建议；</p></li><li><p>&#x2F;ide：尝试与 VS Code 或其他 IDE 建立集成。</p></li><li><p>&#x2F;clear：清除上下文</p></li><li><p>&#x2F;esc &#x2F;esc：在Claude Code生成代码后，双击两次esc，可进行代码回退</p></li></ol><p>使用习惯建议：</p><ol><li><p>让 Claude 先列出“计划”，再让它按计划逐步执行；</p></li><li><p>尽量在提示词中提供足够上下文，例如项目目标、技术栈、已有约定；</p></li><li><p>对重要修改保持人工确认，不要无脑全量应用；</p></li><li><p>遇到不符合预期的回答或修改，可以明确指出问题，并要求重新生成或解释原因。</p></li></ol><h1 id="JetBrains-集成使用"><a href="#JetBrains-集成使用" class="headerlink" title="JetBrains 集成使用"></a>JetBrains 集成使用</h1><h2 id="安装插件"><a href="#安装插件" class="headerlink" title="安装插件"></a>安装插件</h2><p><a href="https://plugins.jetbrains.com/plugin/27310-claude-code-beta-">Claude Code 插件</a></p><h2 id="使用-1"><a href="#使用-1" class="headerlink" title="使用"></a>使用</h2><p>在右上角会有 Claude Code 面板（需idea新主题才会显示），点击即可使用：</p><ol><li><p>Claude 修改代码时会提供 JetBrains 原生 diff 面板，可对比修改文件内容；</p></li><li><p>可选中文件内的内容并右键“Send to Claude”；</p></li><li><p>Claude 可以自动在 IDEA 中打开文件，跳转到行号；</p></li><li><p>Claude 会在任务面板显示步骤如“分析”、“修改”、“生成测试”等；</p></li><li><p>遇到构建&#x2F;测试错误时 Claude 可直接分析 终端 输出。</p></li></ol><h1 id="VS-Code-集成使用"><a href="#VS-Code-集成使用" class="headerlink" title="VS Code 集成使用"></a>VS Code 集成使用</h1><h2 id="安装"><a href="#安装" class="headerlink" title="安装"></a>安装</h2><p><a href="https://marketplace.visualstudio.com/items?itemName=anthropic.claude-code">Claude Code 插件</a></p><h2 id="使用-2"><a href="#使用-2" class="headerlink" title="使用"></a>使用</h2><p>在右上角会有 Claude Code 面板，点击即可使用：</p><ol><li><p>选中某段代码 → 右键 → “Send to Claude” 让 Claude 解释或优化代码；</p></li><li><p>输入指令让 Claude 执行修改，VS Code 会自动显示 diff；</p></li><li><p>Claude 自动打开文件并跳转到对应位置；</p></li><li><p>让 Claude 分析项目结构，侧边栏将显示它的任务步骤；</p></li><li><p>让 Claude 自动生成文档、注释或单元测试，并以补丁方式应用；</p></li></ol><h1 id="进阶使用"><a href="#进阶使用" class="headerlink" title="进阶使用"></a>进阶使用</h1><p>编辑 Claude Code 的配置文件, 位于用户目录下 <code>.claude.json</code> 的 MCP 部分：</p><p>注意替换里面的 <code>your_api_key</code> 为自己的 API Key</p><h2 id="常见官方-MCP-工具"><a href="#常见官方-MCP-工具" class="headerlink" title="常见官方 MCP 工具"></a>常见官方 MCP 工具</h2><table><thead><tr><th><strong>工具</strong></th><th><strong>功能</strong></th></tr></thead><tbody><tr><td>server-filesystem</td><td>访问文件系统（读写文件、目录查询）</td></tr><tr><td>server-sqlite</td><td>查询 SQLite 数据库</td></tr><tr><td>server-fetch</td><td>调用 HTTP API</td></tr><tr><td>server-shell</td><td>运行命令行</td></tr><tr><td>server-git</td><td>Git 操作（查看 diff、日志等）</td></tr><tr><td>server-redis</td><td>操作 Redis</td></tr><tr><td>server-memory</td><td>储存临时 KV 数据</td></tr><tr><td>server-openapi</td><td>连接 OpenAPI 服务</td></tr></tbody></table><p>安装</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">npm install -g @modelcontextprotocol/server-filesystem<br></code></pre></td></tr></table></figure><p>配置</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;mcpServers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;filesystem&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>      <span class="hljs-attr">&quot;command&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;npx&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;args&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><span class="hljs-string">&quot;@modelcontextprotocol/server-filesystem&quot;</span><span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;enabled&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-keyword">true</span><br>    <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><p>示例</p><p><img src="https://img.jtxyh.top/202511261112525.png"></p><h2 id="联网搜索-MCP-智谱"><a href="#联网搜索-MCP-智谱" class="headerlink" title="联网搜索 MCP-智谱"></a>联网搜索 MCP-智谱</h2><p>使用智谱的MCP工具，需要购买智谱的套餐</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;mcpServers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;web-search-prime&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>      <span class="hljs-attr">&quot;type&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;http&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;url&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;https://open.bigmodel.cn/api/mcp/web_search_prime/mcp&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;headers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>        <span class="hljs-attr">&quot;Authorization&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;Bearer your_api_key&quot;</span><br>      <span class="hljs-punctuation">&#125;</span><br>    <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><h2 id="视觉理解-MCP-智谱"><a href="#视觉理解-MCP-智谱" class="headerlink" title="视觉理解 MCP-智谱"></a>视觉理解 MCP-智谱</h2><p>Claude Code 支持官方模型支持视觉，但使用GLM需要单独配置视觉MCP</p><figure class="highlight json"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs json"><span class="hljs-punctuation">&#123;</span><br>  <span class="hljs-attr">&quot;mcpServers&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>    <span class="hljs-attr">&quot;zai-mcp-server&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>      <span class="hljs-attr">&quot;type&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;stdio&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;command&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;npx&quot;</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;args&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">[</span><br>        <span class="hljs-string">&quot;-y&quot;</span><span class="hljs-punctuation">,</span><br>        <span class="hljs-string">&quot;@z_ai/mcp-server&quot;</span><br>      <span class="hljs-punctuation">]</span><span class="hljs-punctuation">,</span><br>      <span class="hljs-attr">&quot;env&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-punctuation">&#123;</span><br>        <span class="hljs-attr">&quot;Z_AI_API_KEY&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;your_api_key&quot;</span><span class="hljs-punctuation">,</span><br>        <span class="hljs-attr">&quot;Z_AI_MODE&quot;</span><span class="hljs-punctuation">:</span> <span class="hljs-string">&quot;ZHIPU&quot;</span><br>      <span class="hljs-punctuation">&#125;</span><br>    <span class="hljs-punctuation">&#125;</span><br>  <span class="hljs-punctuation">&#125;</span><br><span class="hljs-punctuation">&#125;</span><br></code></pre></td></tr></table></figure><h1 id="其他-1"><a href="#其他-1" class="headerlink" title="其他"></a>其他</h1><h2 id="Mac-快捷切换模型插件"><a href="#Mac-快捷切换模型插件" class="headerlink" title="Mac 快捷切换模型插件"></a>Mac 快捷切换模型插件</h2><p>Claude Code 不止可以使用 GLM 模型，还可以使用 <code>通义、月之暗面、DeepSeek、MiniMax</code> 等模型，但每次修改配置比较麻烦，Mac可以使用 <a href="https://github.com/okooo5km/Prism?tab=readme-ov-file">Claude Code API配置</a> 进行可视化配置切换</p><p><img src="https://img.jtxyh.top/202511261113600.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2025/">2025</category>
      
      
      <category domain="https://www.jtxyh.com/tags/AI/">AI</category>
      
      <category domain="https://www.jtxyh.com/tags/%E5%A4%A7%E6%A8%A1%E5%9E%8B/">大模型</category>
      
      <category domain="https://www.jtxyh.com/tags/Claude-Code/">Claude Code</category>
      
      
      <comments>https://www.jtxyh.com/13160/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Mac-ZSH-Docker补全</title>
      <link>https://www.jtxyh.com/29974/</link>
      <guid>https://www.jtxyh.com/29974/</guid>
      <pubDate>Fri, 27 Dec 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;ZSH终端Docker没有自动补全问题&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>ZSH终端Docker没有自动补全问题</p><span id="more"></span><h2 id="下载补全插件"><a href="#下载补全插件" class="headerlink" title="下载补全插件"></a>下载补全插件</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs shell">mkdir -p ~/.zsh/completion<br>curl -L https://raw.githubusercontent.com/docker/docker-ce/master/components/cli/contrib/completion/zsh/_docker &gt; ~/.zsh/completion/_docker <br></code></pre></td></tr></table></figure><h2 id="设置ZSH"><a href="#设置ZSH" class="headerlink" title="设置ZSH"></a>设置ZSH</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs shell">echo &quot;fpath=(~/.zsh/completion $fpath)&quot; &gt;&gt; ~/.zshrc<br>echo &quot;autoload -Uz compinit &amp;&amp; compinit -i&quot; &gt;&gt; ~/.zshrc<br></code></pre></td></tr></table></figure><h2 id="重载配置"><a href="#重载配置" class="headerlink" title="重载配置"></a>重载配置</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">source ~/.zshrc<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%85%B6%E4%BB%96/">其他</category>
      
      <category domain="https://www.jtxyh.com/tags/Docker/">Docker</category>
      
      
      <comments>https://www.jtxyh.com/29974/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Centos升级内核</title>
      <link>https://www.jtxyh.com/53732/</link>
      <guid>https://www.jtxyh.com/53732/</guid>
      <pubDate>Mon, 14 Oct 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;升级内核的两种方式&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>升级内核的两种方式</p><span id="more"></span><h2 id="yum安装"><a href="#yum安装" class="headerlink" title="yum安装"></a>yum安装</h2><h3 id="导入源"><a href="#导入源" class="headerlink" title="导入源"></a>导入源</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs shell">rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org<br><br>rpm -Uvh http://www.elrepo.org/elrepo-release-7.0-2.el7.elrepo.noarch.rpm<br></code></pre></td></tr></table></figure><h3 id="选择-ML-或-LT-版本安装"><a href="#选择-ML-或-LT-版本安装" class="headerlink" title="选择 ML 或 LT 版本安装"></a>选择 ML 或 LT 版本安装</h3><p>ML：主线最新版本，是根据Linux Kernel Archives的主线稳定分支提供的源构建的。 内核配置基于默认的RHEL-7配置，并根据需要启用了添加的功能。 这些软件包有意命名为kernel-ml，以免与RHEL-7内核发生冲突，因此，它们可以与常规内核一起安装和更新。<br>LT：长期支持版，包是从Linux Kernel Archives提供的源代码构建的，就像kernel-ml软件包一样。 不同之处在于kernel-lt基于长期支持分支，而kernel-ml基于主线稳定分支。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta"># </span><span class="language-bash">安装 ML 版本</span><br>yum --enablerepo=elrepo-kernel install  kernel-ml-devel kernel-ml -y   <br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">安装 LT 版本，K8S全部选这个</span><br>yum --enablerepo=elrepo-kernel install kernel-lt-devel kernel-lt -y<br></code></pre></td></tr></table></figure><h3 id="查看内核启动顺序"><a href="#查看内核启动顺序" class="headerlink" title="查看内核启动顺序"></a>查看内核启动顺序</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">awk -F\&#x27; &#x27;$1==&quot;menuentry &quot; &#123;print $2&#125;&#x27; /etc/grub2.cfg<br></code></pre></td></tr></table></figure><h3 id="修改默认启动项"><a href="#修改默认启动项" class="headerlink" title="修改默认启动项"></a>修改默认启动项</h3><p>xxx 为序号数字，以指定启动列表中第x项为启动项，x从0开始计数</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">grub2-set-default xxx<br></code></pre></td></tr></table></figure><p>例如设置以4.4内核启动</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta"># </span><span class="language-bash">查看内核启动序号</span><br>[root@jikexiaoxiang ~] awk -F\&#x27; &#x27;$1==&quot;menuentry &quot; &#123;print $2&#125;&#x27; /etc/grub2.cfg<br><br>CentOS Linux (4.4.179-1.el7.elrepo.x86_64) 7 (Core)<br><br>CentOS Linux (3.10.0-693.el7.x86_64) 7 (Core)<br><br>CentOS Linux (0-rescue-6d4c599606814867814f1a8eec7bfd1e) 7 (Core)<br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">设置启动序号</span><br>[root@jikexiaoxiang ~] grub2-set-default 0<br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">重启</span><br>reboot<br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">检查内核版本</span><br>uname -r<br></code></pre></td></tr></table></figure><h2 id="rpm安装"><a href="#rpm安装" class="headerlink" title="rpm安装"></a>rpm安装</h2><p>因 ELRepo 源都是最新版本，所以旧版本内核只能手动下载。</p><p>查找 kernel rpm 历史版：<br><a href="http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/">http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64&#x2F;RPMS&#x2F;</a></p><h3 id="下载"><a href="#下载" class="headerlink" title="下载"></a>下载</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs shell">wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64.rpm<br>wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-headers-5.4.203-1.el7.elrepo.x86_64.rpm<br>wget http://mirrors.coreix.net/elrepo-archive-archive/kernel/el7/x86_64/RPMS/kernel-lt-5.4.203-1.el7.elrepo.x86_64.rpm<br></code></pre></td></tr></table></figure><h3 id="安装内核"><a href="#安装内核" class="headerlink" title="安装内核"></a>安装内核</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta">#</span><span class="language-bash">一键安装所有</span><br>rpm -Uvh *.rpm<br></code></pre></td></tr></table></figure><h3 id="确认安装"><a href="#确认安装" class="headerlink" title="确认安装"></a>确认安装</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><code class="hljs shell">[root@jikexiaoxiang ~]# rpm -qa | grep kernel<br>kernel-lt-devel-5.4.203-1.el7.elrepo.x86_64<br>kernel-devel-3.10.0-1160.53.1.el7.x86_64<br>kernel-lt-5.4.203-1.el7.elrepo.x86_64<br>kernel-3.10.0-1127.el7.x86_64<br>kernel-devel-3.10.0-1127.el7.x86_64<br>kernel-headers-3.10.0-1160.53.1.el7.x86_64<br>kernel-3.10.0-1160.53.1.el7.x86_64<br>kernel-tools-libs-3.10.0-1160.53.1.el7.x86_64<br>kernel-tools-3.10.0-1160.53.1.el7.x86_64<br><br></code></pre></td></tr></table></figure><h3 id="设置启动"><a href="#设置启动" class="headerlink" title="设置启动"></a>设置启动</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta"># </span><span class="language-bash">查看启动顺序</span><br>[root@jikexiaoxiang ~]# awk -F\&#x27; &#x27;$1==&quot;menuentry &quot; &#123;print $2&#125;&#x27; /etc/grub2.cfg<br>CentOS Linux (5.4.203-1.el7.elrepo.x86_64) 7 (Core)<br>CentOS Linux (3.10.0-1160.53.1.el7.x86_64) 7 (Core)<br>CentOS Linux (3.10.0-1127.el7.x86_64) 7 (Core)<br>CentOS Linux (0-rescue-c9b49c6c11334518a7adc404ff6315b6) 7 (Core)<br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">设置启动顺序</span><br>[root@jikexiaoxiang ~]# grub2-set-default 0<br><span class="hljs-meta"></span><br><span class="hljs-meta"># </span><span class="language-bash">重启生效</span><br>[root@jikexiaoxiang ~]# reboot<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Linux/">Linux</category>
      
      
      <comments>https://www.jtxyh.com/53732/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Docker提示没权限</title>
      <link>https://www.jtxyh.com/22816/</link>
      <guid>https://www.jtxyh.com/22816/</guid>
      <pubDate>Wed, 07 Aug 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;Got permission denied while trying to connect to the Docker daemon socket&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>Got permission denied while trying to connect to the Docker daemon socket</p><span id="more"></span><h2 id="操作"><a href="#操作" class="headerlink" title="操作"></a>操作</h2><p>需要把当前用户加入<code>docker</code>组里</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs shell">sudo gpasswd -a $USER docker<br><br>newgrp docker<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Docker/">Docker</category>
      
      
      <comments>https://www.jtxyh.com/22816/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>软件工程</title>
      <link>https://www.jtxyh.com/34321/</link>
      <guid>https://www.jtxyh.com/34321/</guid>
      <pubDate>Mon, 05 Aug 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;软件工程&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>软件工程</p><span id="more"></span><h2 id="主要课程"><a href="#主要课程" class="headerlink" title="主要课程"></a>主要课程</h2><p><img src="https://img.jtxyh.top/202408052145662.png"></p><h2 id="软件过程模型"><a href="#软件过程模型" class="headerlink" title="软件过程模型"></a>软件过程模型</h2><p><img src="https://img.jtxyh.top/202408052147699.png"></p><h3 id="瀑布模型"><a href="#瀑布模型" class="headerlink" title="瀑布模型"></a>瀑布模型</h3><p><img src="https://img.jtxyh.top/202408052207215.png"></p><h3 id="原型模型"><a href="#原型模型" class="headerlink" title="原型模型"></a>原型模型</h3><p><img src="https://img.jtxyh.top/202408052212280.png"></p><h4 id="原型与相关模型"><a href="#原型与相关模型" class="headerlink" title="原型与相关模型"></a>原型与相关模型</h4><p><img src="https://img.jtxyh.top/202408052213727.png"></p><h3 id="V模型"><a href="#V模型" class="headerlink" title="V模型"></a>V模型</h3><p><img src="https://img.jtxyh.top/202408052215237.png"></p><h4 id="增量与迭代"><a href="#增量与迭代" class="headerlink" title="增量与迭代"></a>增量与迭代</h4><p><img src="https://img.jtxyh.top/202408052218661.png"></p><h3 id="螺旋模型"><a href="#螺旋模型" class="headerlink" title="螺旋模型"></a>螺旋模型</h3><p><img src="https://img.jtxyh.top/202408052221638.png"></p><h3 id="构建组装模型"><a href="#构建组装模型" class="headerlink" title="构建组装模型"></a>构建组装模型</h3><p><img src="https://img.jtxyh.top/202408052226051.png"></p><h3 id="基于构件的软件工程-CBSE"><a href="#基于构件的软件工程-CBSE" class="headerlink" title="基于构件的软件工程 CBSE"></a>基于构件的软件工程 CBSE</h3><p><img src="https://img.jtxyh.top/202408052230014.png"></p><p><img src="https://img.jtxyh.top/202408052231039.png"></p><h3 id="快速应用开发模型-RAD"><a href="#快速应用开发模型-RAD" class="headerlink" title="快速应用开发模型 RAD"></a>快速应用开发模型 RAD</h3><p><img src="https://img.jtxyh.top/202408052232364.png"></p><h3 id="统一过程-UP-x2F-RUP"><a href="#统一过程-UP-x2F-RUP" class="headerlink" title="统一过程 UP&#x2F;RUP"></a>统一过程 UP&#x2F;RUP</h3><p><img src="https://img.jtxyh.top/202408052236318.png"></p><p><img src="https://img.jtxyh.top/202408052237707.png"></p><h2 id="敏捷方法"><a href="#敏捷方法" class="headerlink" title="敏捷方法"></a>敏捷方法</h2><p><img src="https://img.jtxyh.top/202408072119689.png"></p><p><img src="https://img.jtxyh.top/202408072127549.png"></p><h3 id="XP"><a href="#XP" class="headerlink" title="XP"></a>XP</h3><p><img src="https://img.jtxyh.top/202408072127300.png"></p><h3 id="SCRUM"><a href="#SCRUM" class="headerlink" title="SCRUM"></a>SCRUM</h3><p><img src="https://img.jtxyh.top/202408072127054.png"></p><h2 id="逆向工程"><a href="#逆向工程" class="headerlink" title="逆向工程"></a>逆向工程</h2><p><img src="https://img.jtxyh.top/202408072131209.png"></p><p><img src="https://img.jtxyh.top/202408072136057.png"></p><h2 id="净室软件工程"><a href="#净室软件工程" class="headerlink" title="净室软件工程"></a>净室软件工程</h2><p><img src="https://img.jtxyh.top/202408072147569.png"></p><p><img src="https://img.jtxyh.top/202408072148718.png"></p><p><img src="https://img.jtxyh.top/202408072148976.png"></p><h2 id="需求工程"><a href="#需求工程" class="headerlink" title="需求工程"></a>需求工程</h2><h3 id="概述"><a href="#概述" class="headerlink" title="概述"></a>概述</h3><p><img src="https://img.jtxyh.top/202408122010495.png"></p><h3 id="需求获取"><a href="#需求获取" class="headerlink" title="需求获取"></a>需求获取</h3><p><img src="https://img.jtxyh.top/202408122010534.png"><br><img src="https://img.jtxyh.top/202408122043887.png"></p><h3 id="需求分析-SA"><a href="#需求分析-SA" class="headerlink" title="需求分析-SA"></a>需求分析-SA</h3><p><img src="https://img.jtxyh.top/202408122043109.png"></p><h4 id="数据流图-DFD"><a href="#数据流图-DFD" class="headerlink" title="数据流图-DFD"></a>数据流图-DFD</h4><p><img src="https://img.jtxyh.top/202408122045461.png"></p><h4 id="ER图"><a href="#ER图" class="headerlink" title="ER图"></a>ER图</h4><p><img src="https://img.jtxyh.top/202408122048776.png"></p><h3 id="需求分析-OOA"><a href="#需求分析-OOA" class="headerlink" title="需求分析-OOA"></a>需求分析-OOA</h3><p><img src="https://img.jtxyh.top/202408122051627.png"></p><h4 id="UML"><a href="#UML" class="headerlink" title="UML"></a>UML</h4><p><img src="https://img.jtxyh.top/202408122055928.png"><br><img src="https://img.jtxyh.top/202408122057851.png"></p><h3 id="需求定义"><a href="#需求定义" class="headerlink" title="需求定义"></a>需求定义</h3><p><img src="https://img.jtxyh.top/202408132057517.png"></p><h3 id="需求验证"><a href="#需求验证" class="headerlink" title="需求验证"></a>需求验证</h3><p><img src="https://img.jtxyh.top/202408132103713.png"></p><h3 id="需求跟踪"><a href="#需求跟踪" class="headerlink" title="需求跟踪"></a>需求跟踪</h3><p><img src="https://img.jtxyh.top/202408132107935.png"></p><h3 id="需求变更"><a href="#需求变更" class="headerlink" title="需求变更"></a>需求变更</h3><p><img src="https://img.jtxyh.top/202408132110795.png"></p><h3 id="软件系统建模"><a href="#软件系统建模" class="headerlink" title="软件系统建模"></a>软件系统建模</h3><p><img src="https://img.jtxyh.top/202408132113037.png"></p><p><img src="https://img.jtxyh.top/202408132113599.png"></p><h3 id="人机界面设计-黄金三法则"><a href="#人机界面设计-黄金三法则" class="headerlink" title="人机界面设计-黄金三法则"></a>人机界面设计-黄金三法则</h3><p><img src="https://img.jtxyh.top/202408132114435.png"></p><h3 id="结构化设计"><a href="#结构化设计" class="headerlink" title="结构化设计"></a>结构化设计</h3><p><img src="https://img.jtxyh.top/202408132117306.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/">系统架构设计师</category>
      
      
      <comments>https://www.jtxyh.com/34321/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Linux系统打开BBR</title>
      <link>https://www.jtxyh.com/55106/</link>
      <guid>https://www.jtxyh.com/55106/</guid>
      <pubDate>Fri, 02 Aug 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;BBR 是 Google 提出的一种新型拥塞控制算法，可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。BBR 对 Linux 内核的最低版本要求为 4.9，大部分系统可以直接启用。&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>BBR 是 Google 提出的一种新型拥塞控制算法，可以使 Linux 服务器显著地提高吞吐量和减少 TCP 连接的延迟。BBR 对 Linux 内核的最低版本要求为 4.9，大部分系统可以直接启用。</p><span id="more"></span><h2 id="查询系统内核"><a href="#查询系统内核" class="headerlink" title="查询系统内核"></a>查询系统内核</h2><p>如果 Linux 内核低于 <code>4.9</code>，需要先升级内核再开启 BBR。</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">uname -r<br></code></pre></td></tr></table></figure><h2 id="查询系统TCP堵塞算法"><a href="#查询系统TCP堵塞算法" class="headerlink" title="查询系统TCP堵塞算法"></a>查询系统TCP堵塞算法</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sysctl net.ipv4.tcp_available_congestion_control<br></code></pre></td></tr></table></figure><p>默认应该是：<code>net.ipv4.tcp_available_congestion_control = reno cubic</code></p><h2 id="操作"><a href="#操作" class="headerlink" title="操作"></a>操作</h2><h3 id="编辑配置"><a href="#编辑配置" class="headerlink" title="编辑配置"></a>编辑配置</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">vim /etc/sysctl.conf<br></code></pre></td></tr></table></figure><p>在文件末尾添加：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs conf"># BBR TCP Settings<br>net.core.default_qdisc=fq<br>net.ipv4.tcp_congestion_control=bbr<br></code></pre></td></tr></table></figure><h3 id="重载系统变量"><a href="#重载系统变量" class="headerlink" title="重载系统变量"></a>重载系统变量</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sysctl -p<br></code></pre></td></tr></table></figure><h3 id="查看"><a href="#查看" class="headerlink" title="查看"></a>查看</h3><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">sysctl net.ipv4.tcp_available_congestion_control<br></code></pre></td></tr></table></figure><p>输出应该为：<code>net.ipv4.tcp_available_congestion_control = reno cubic bbr</code></p><p>有<code>bbr</code>代表成功</p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Linux/">Linux</category>
      
      
      <comments>https://www.jtxyh.com/55106/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>系统工程与信息系统基础</title>
      <link>https://www.jtxyh.com/25780/</link>
      <guid>https://www.jtxyh.com/25780/</guid>
      <pubDate>Tue, 30 Jul 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;系统工程与信息系统基础&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>系统工程与信息系统基础</p><span id="more"></span><h2 id="系统工程方法"><a href="#系统工程方法" class="headerlink" title="系统工程方法"></a>系统工程方法</h2><p><img src="https://img.jtxyh.top/202407312215487.png"></p><h2 id="系统工程生命周期"><a href="#系统工程生命周期" class="headerlink" title="系统工程生命周期"></a>系统工程生命周期</h2><ul><li>探索性研究⬇</li><li>概念阶段⬇</li><li>开发阶段⬇</li><li>生产阶段⬇</li><li>使用阶段⬇</li><li>保障阶段⬇</li><li>退役阶段</li></ul><h2 id="信息系统生命周期"><a href="#信息系统生命周期" class="headerlink" title="信息系统生命周期"></a>信息系统生命周期</h2><p><img src="https://img.jtxyh.top/202407302233310.jpg"></p><h2 id="信息系统开发方法"><a href="#信息系统开发方法" class="headerlink" title="信息系统开发方法"></a>信息系统开发方法</h2><p><img src="https://img.jtxyh.top/202407312157690.png"></p><h2 id="信息系统的分类"><a href="#信息系统的分类" class="headerlink" title="信息系统的分类"></a>信息系统的分类</h2><p><img src="https://img.jtxyh.top/202407312208029.png"></p><h3 id="业务处理系统【TPS】"><a href="#业务处理系统【TPS】" class="headerlink" title="业务处理系统【TPS】"></a>业务处理系统【TPS】</h3><p><img src="https://img.jtxyh.top/202407312209860.png"></p><h3 id="管理信息系统【MIS】"><a href="#管理信息系统【MIS】" class="headerlink" title="管理信息系统【MIS】"></a>管理信息系统【MIS】</h3><p><img src="https://img.jtxyh.top/202407312211439.png"></p><p><img src="https://img.jtxyh.top/202407312212210.png"></p><h3 id="决策支持系统【DSS】"><a href="#决策支持系统【DSS】" class="headerlink" title="决策支持系统【DSS】"></a>决策支持系统【DSS】</h3><p><img src="https://img.jtxyh.top/202407312212602.png"></p><h3 id="专家系统【ES】"><a href="#专家系统【ES】" class="headerlink" title="专家系统【ES】"></a>专家系统【ES】</h3><p><img src="https://img.jtxyh.top/202407312213681.png"></p><p><img src="https://img.jtxyh.top/202407312213580.png"></p><h2 id="政府信息化与电子商务"><a href="#政府信息化与电子商务" class="headerlink" title="政府信息化与电子商务"></a>政府信息化与电子商务</h2><p><img src="https://img.jtxyh.top/202407312219171.png"></p><p><img src="https://img.jtxyh.top/202407312220965.png"></p><h2 id="企业信息化与电子商务"><a href="#企业信息化与电子商务" class="headerlink" title="企业信息化与电子商务"></a>企业信息化与电子商务</h2><h3 id="信息化的概念"><a href="#信息化的概念" class="headerlink" title="信息化的概念"></a>信息化的概念</h3><p><img src="https://img.jtxyh.top/202408012036679.png"></p><h3 id="信息化的目的及涉及三类创新"><a href="#信息化的目的及涉及三类创新" class="headerlink" title="信息化的目的及涉及三类创新"></a>信息化的目的及涉及三类创新</h3><p><img src="https://img.jtxyh.top/202408012037531.png"></p><h3 id="信息化需求的三个层次"><a href="#信息化需求的三个层次" class="headerlink" title="信息化需求的三个层次"></a>信息化需求的三个层次</h3><p><img src="https://img.jtxyh.top/202408012041060.png"></p><h3 id="企业信息化方法"><a href="#企业信息化方法" class="headerlink" title="企业信息化方法"></a>企业信息化方法</h3><p><img src="https://img.jtxyh.top/202408012045897.png"></p><h3 id="信息系统战略规划方法"><a href="#信息系统战略规划方法" class="headerlink" title="信息系统战略规划方法"></a>信息系统战略规划方法</h3><p><img src="https://img.jtxyh.top/202408012053536.png"></p><p><img src="https://img.jtxyh.top/202408012054511.png"></p><p><img src="https://img.jtxyh.top/202408012054413.png"></p><p><img src="https://img.jtxyh.top/202408012054667.png"></p><h3 id="企业信息化体系"><a href="#企业信息化体系" class="headerlink" title="企业信息化体系"></a>企业信息化体系</h3><p><img src="https://img.jtxyh.top/202408012058836.png"></p><h4 id="企业资源计划-ERP"><a href="#企业资源计划-ERP" class="headerlink" title="企业资源计划 ERP"></a>企业资源计划 ERP</h4><p><img src="https://img.jtxyh.top/202408012100256.png"></p><h4 id="客户关系管理-CRM"><a href="#客户关系管理-CRM" class="headerlink" title="客户关系管理 CRM"></a>客户关系管理 CRM</h4><p><img src="https://img.jtxyh.top/202408012102617.png"></p><h4 id="供应链管理-SCM"><a href="#供应链管理-SCM" class="headerlink" title="供应链管理 SCM"></a>供应链管理 SCM</h4><p><img src="https://img.jtxyh.top/202408012105314.png"></p><h4 id="商业智能-BI"><a href="#商业智能-BI" class="headerlink" title="商业智能 BI"></a>商业智能 BI</h4><p><img src="https://img.jtxyh.top/202408012115380.png"></p><h4 id="数据仓库-数据挖掘"><a href="#数据仓库-数据挖掘" class="headerlink" title="数据仓库 数据挖掘"></a>数据仓库 数据挖掘</h4><p><img src="https://img.jtxyh.top/202408012115337.png"></p><p><img src="https://img.jtxyh.top/202408012116653.png"></p><p><img src="https://img.jtxyh.top/202408012116069.png"></p><h4 id="数据湖"><a href="#数据湖" class="headerlink" title="数据湖"></a>数据湖</h4><p><img src="https://img.jtxyh.top/202408012118582.png"></p><p><img src="https://img.jtxyh.top/202408012120029.png"></p><h4 id="BPR和BPM"><a href="#BPR和BPM" class="headerlink" title="BPR和BPM"></a>BPR和BPM</h4><p><img src="https://img.jtxyh.top/202408012126411.png"></p><h3 id="企业应用集成-EAI"><a href="#企业应用集成-EAI" class="headerlink" title="企业应用集成 EAI"></a>企业应用集成 EAI</h3><p><img src="https://img.jtxyh.top/202408012129710.png"></p><p><img src="https://img.jtxyh.top/202408012129988.png"></p><p><img src="https://img.jtxyh.top/202408012133887.png"></p><p><img src="https://img.jtxyh.top/202408012139459.png"></p><h4 id="企业门户"><a href="#企业门户" class="headerlink" title="企业门户"></a>企业门户</h4><p><img src="https://img.jtxyh.top/202408012135243.png"></p><h3 id="电子商务"><a href="#电子商务" class="headerlink" title="电子商务"></a>电子商务</h3><p><img src="https://img.jtxyh.top/202408012141529.png"></p><h3 id="数字化转型"><a href="#数字化转型" class="headerlink" title="数字化转型"></a>数字化转型</h3><p><img src="https://img.jtxyh.top/202408012147750.png"></p><h3 id="智能制造体系"><a href="#智能制造体系" class="headerlink" title="智能制造体系"></a>智能制造体系</h3><p><img src="https://img.jtxyh.top/202408012148328.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E7%B3%BB%E7%BB%9F%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1%E5%B8%88/">系统架构设计师</category>
      
      
      <comments>https://www.jtxyh.com/25780/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>国内可用Docker镜像仓库</title>
      <link>https://www.jtxyh.com/35902/</link>
      <guid>https://www.jtxyh.com/35902/</guid>
      <pubDate>Tue, 02 Jul 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;2024.07.02可用&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>2024.07.02可用</p><span id="more"></span><figure class="highlight awk"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs awk">https:<span class="hljs-regexp">//</span>hub.uuuadc.top<br>https:<span class="hljs-regexp">//</span>docker.anyhub.us.kg<br>https:<span class="hljs-regexp">//</span>dockerhub.jobcher.com<br>https:<span class="hljs-regexp">//</span>dockerhub.icu<br>https:<span class="hljs-regexp">//</span>docker.ckyl.me<br>https:<span class="hljs-regexp">//</span>docker.awsl9527.cn<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Docker/">Docker</category>
      
      
      <comments>https://www.jtxyh.com/35902/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>MacOS-Ventura屏蔽更新</title>
      <link>https://www.jtxyh.com/63564/</link>
      <guid>https://www.jtxyh.com/63564/</guid>
      <pubDate>Fri, 21 Jun 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;屏蔽系统更新提示和自动更新&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>屏蔽系统更新提示和自动更新</p><span id="more"></span><h2 id="网络屏蔽"><a href="#网络屏蔽" class="headerlink" title="网络屏蔽"></a>网络屏蔽</h2><p>打开终端 输入 <code>sudo vim /etc/hosts</code> 添加</p><figure class="highlight accesslog"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><code class="hljs accesslog"><span class="hljs-number">127.0.0.1</span> swdist.apple.com<br><span class="hljs-number">127.0.0.1</span> swscan.apple.com<br><span class="hljs-number">127.0.0.1</span> swcdn.apple.com  #optional, download url<br><span class="hljs-number">127.0.0.1</span> gdmf.apple.com<br><span class="hljs-number">127.0.0.1</span> mesu.apple.com<br><span class="hljs-number">127.0.0.1</span> xp.apple.com<br></code></pre></td></tr></table></figure><h2 id="临时清除系统更新标记"><a href="#临时清除系统更新标记" class="headerlink" title="临时清除系统更新标记"></a>临时清除系统更新标记</h2><p>打开终端 输入下面命令 然后重启</p><figure class="highlight stylus"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><code class="hljs stylus">defaults write com<span class="hljs-selector-class">.apple</span><span class="hljs-selector-class">.systempreferences</span> AttentionPrefBundleIDs <span class="hljs-number">0</span><br>Killall Dock<br></code></pre></td></tr></table></figure><p>无法去除再输入下面的命令 然后重启</p><figure class="highlight nsis"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><code class="hljs nsis">defaults <span class="hljs-keyword">delete</span> com.apple.<span class="hljs-params">system</span>preferences AttentionPrefBundleIDs<br>defaults <span class="hljs-keyword">delete</span> com.apple.<span class="hljs-params">system</span>preferences DidShowPrefBundleIDs<br>killall Dock<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%85%B6%E4%BB%96/">其他</category>
      
      
      <comments>https://www.jtxyh.com/63564/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>解决Mac没有声音</title>
      <link>https://www.jtxyh.com/46643/</link>
      <guid>https://www.jtxyh.com/46643/</guid>
      <pubDate>Fri, 17 May 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;Mac连接耳机没声音&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>Mac连接耳机没声音</p><span id="more"></span><p>打开「终端」——在终端中执行 <code>sudo killall coreaudiod</code> 命令，重置 API</p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%85%B6%E4%BB%96/">其他</category>
      
      
      <comments>https://www.jtxyh.com/46643/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>ChatGPT代理</title>
      <link>https://www.jtxyh.com/31656/</link>
      <guid>https://www.jtxyh.com/31656/</guid>
      <pubDate>Thu, 11 Apr 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;基于JS+DENO实现&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>基于JS+DENO实现</p><span id="more"></span><h2 id="main-ts"><a href="#main-ts" class="headerlink" title="main.ts"></a>main.ts</h2><figure class="highlight ts"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br></pre></td><td class="code"><pre><code class="hljs ts"><span class="hljs-keyword">const</span> <span class="hljs-variable constant_">OPENAI_API_HOST</span> = <span class="hljs-string">&quot;api.openai.com&quot;</span>;<br><br><span class="hljs-title class_">Deno</span>.<span class="hljs-title function_">serve</span>(<span class="hljs-keyword">async</span> (request) =&gt; &#123;<br>  <span class="hljs-keyword">const</span> url = <span class="hljs-keyword">new</span> <span class="hljs-title function_">URL</span>(request.<span class="hljs-property">url</span>);<br>  url.<span class="hljs-property">host</span> = <span class="hljs-variable constant_">OPENAI_API_HOST</span>;<br>  url.<span class="hljs-property">protocol</span> = <span class="hljs-string">&#x27;https&#x27;</span><br>  url.<span class="hljs-property">port</span> = <span class="hljs-string">&quot;443&quot;</span><br><br>  <span class="hljs-keyword">const</span> newRequest = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Request</span>(url.<span class="hljs-title function_">toString</span>(), &#123;<br>    <span class="hljs-attr">headers</span>: request.<span class="hljs-property">headers</span>,<br>    <span class="hljs-attr">method</span>: request.<span class="hljs-property">method</span>,<br>    <span class="hljs-attr">body</span>: request.<span class="hljs-property">body</span>,<br>    <span class="hljs-attr">redirect</span>: <span class="hljs-string">&quot;follow&quot;</span>,<br>  &#125;);<br>  <span class="hljs-keyword">return</span> <span class="hljs-keyword">await</span> <span class="hljs-title function_">fetch</span>(newRequest);<br>&#125;);<br></code></pre></td></tr></table></figure><h2 id="docker-Deno"><a href="#docker-Deno" class="headerlink" title="docker Deno"></a>docker Deno</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">docker run -d -p 8000:8000 -v $PWD:/app denoland/deno:1.42.1 run --allow-net /app/main.ts<br></code></pre></td></tr></table></figure><h2 id="cloudflare-worker"><a href="#cloudflare-worker" class="headerlink" title="cloudflare worker"></a>cloudflare worker</h2><figure class="highlight js"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br></pre></td><td class="code"><pre><code class="hljs js"><span class="hljs-keyword">export</span> <span class="hljs-keyword">default</span> &#123;<br>  <span class="hljs-keyword">async</span> <span class="hljs-title function_">fetch</span>(<span class="hljs-params">request, env</span>) &#123;<br>    <span class="hljs-keyword">try</span> &#123;<br>      <span class="hljs-keyword">const</span> <span class="hljs-variable constant_">OPENAI_API_HOST</span> = <span class="hljs-string">&quot;api.openai.com&quot;</span>;<br>      <span class="hljs-keyword">const</span> oldUrl = <span class="hljs-keyword">new</span> <span class="hljs-title function_">URL</span>(request.<span class="hljs-property">url</span>);<span class="hljs-string">``</span><br><br>      <span class="hljs-keyword">if</span> (oldUrl.<span class="hljs-property">pathname</span> === <span class="hljs-string">&quot;/&quot;</span>) &#123;<br>        <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">Response</span>(<span class="hljs-string">`https://<span class="hljs-subst">$&#123;oldUrl.hostname&#125;</span>/v1`</span>, &#123; <span class="hljs-attr">status</span>: <span class="hljs-number">200</span> &#125;);<br>      &#125;<br><br>      <span class="hljs-keyword">const</span> newUrl = <span class="hljs-keyword">new</span> <span class="hljs-title function_">URL</span>(request.<span class="hljs-property">url</span>);<br>      newUrl.<span class="hljs-property">hostname</span> = <span class="hljs-variable constant_">OPENAI_API_HOST</span>;<br>        <span class="hljs-comment">// 处理请求体</span><br>        <span class="hljs-keyword">let</span> body = <span class="hljs-literal">null</span>;<br>        <span class="hljs-keyword">if</span> (request.<span class="hljs-property">method</span> !== <span class="hljs-string">&quot;GET&quot;</span> &amp;&amp; request.<span class="hljs-property">method</span> !== <span class="hljs-string">&quot;HEAD&quot;</span>) &#123;<br>          <span class="hljs-comment">// 读取原始请求体并转换为buffer</span><br>          body = <span class="hljs-keyword">await</span> request.<span class="hljs-title function_">arrayBuffer</span>();<br>        &#125;<br>      <span class="hljs-keyword">const</span> modifiedRequest = <span class="hljs-keyword">new</span> <span class="hljs-title class_">Request</span>(newUrl, &#123;<br>        <span class="hljs-attr">method</span>: request.<span class="hljs-property">method</span>,<br>        <span class="hljs-attr">headers</span>: request.<span class="hljs-property">headers</span>,<br>        <span class="hljs-attr">body</span>: body,<br>      &#125;);<br><br>      <span class="hljs-keyword">return</span> <span class="hljs-keyword">await</span> <span class="hljs-title function_">fetch</span>(modifiedRequest);<br>    &#125; <span class="hljs-keyword">catch</span> (e) &#123;<br>      <span class="hljs-keyword">return</span> <span class="hljs-keyword">new</span> <span class="hljs-title class_">Response</span>(e.<span class="hljs-property">stack</span>, &#123; <span class="hljs-attr">status</span>: <span class="hljs-number">500</span> &#125;);<br>    &#125;<br>  &#125;,<br>&#125;;<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%85%B6%E4%BB%96/">其他</category>
      
      
      <comments>https://www.jtxyh.com/31656/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>EasyYapi泛型无法导出</title>
      <link>https://www.jtxyh.com/41367/</link>
      <guid>https://www.jtxyh.com/41367/</guid>
      <pubDate>Tue, 26 Mar 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;IPage无法导出内容设置&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>IPage无法导出内容设置</p><span id="more"></span><p><img src="https://img.jtxyh.top//202405131437877.png"></p>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/%E5%85%B6%E4%BB%96/">其他</category>
      
      
      <comments>https://www.jtxyh.com/41367/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>Python打包可执行文件</title>
      <link>https://www.jtxyh.com/51069/</link>
      <guid>https://www.jtxyh.com/51069/</guid>
      <pubDate>Thu, 29 Feb 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;打包为可执行文件&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>打包为可执行文件</p><span id="more"></span><h2 id="安装pipinstall"><a href="#安装pipinstall" class="headerlink" title="安装pipinstall"></a>安装pipinstall</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">pip install pyinstaller<br></code></pre></td></tr></table></figure><h2 id="打包文件"><a href="#打包文件" class="headerlink" title="打包文件"></a>打包文件</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">python -m PyInstaller xx.py<br></code></pre></td></tr></table></figure><h2 id="清理中间文件"><a href="#清理中间文件" class="headerlink" title="清理中间文件"></a>清理中间文件</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">python -m PyInstaller --clean -F xx.py<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Python/">Python</category>
      
      
      <comments>https://www.jtxyh.com/51069/#disqus_thread</comments>
      
    </item>
    
    <item>
      <title>linux禁止root直接登录</title>
      <link>https://www.jtxyh.com/17015/</link>
      <guid>https://www.jtxyh.com/17015/</guid>
      <pubDate>Mon, 26 Feb 2024 00:00:00 GMT</pubDate>
      
      <description>&lt;p&gt;禁止root用户直接登录&lt;/p&gt;</description>
      
      
      
      <content:encoded><![CDATA[<p>禁止root用户直接登录</p><span id="more"></span><h2 id="新增一个用户"><a href="#新增一个用户" class="headerlink" title="新增一个用户"></a>新增一个用户</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">useradd test<br></code></pre></td></tr></table></figure><h2 id="设置密码"><a href="#设置密码" class="headerlink" title="设置密码"></a>设置密码</h2><p>需要先切换到root用户操作</p><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">passwd test<br></code></pre></td></tr></table></figure><h2 id="配置新增用户root权限"><a href="#配置新增用户root权限" class="headerlink" title="配置新增用户root权限"></a>配置新增用户root权限</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">vim /etc/sudoers<br></code></pre></td></tr></table></figure><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><code class="hljs shell"><span class="hljs-meta"># </span><span class="language-bash">找到这里</span><br><span class="hljs-meta">#</span><span class="language-bash"><span class="hljs-comment"># Allow root to run any commands anywhere</span></span><br>root    ALL=(ALL)     ALL<br>test   ALL=(ALL)     ALL<br></code></pre></td></tr></table></figure><h2 id="修改SSHD"><a href="#修改SSHD" class="headerlink" title="修改SSHD"></a>修改SSHD</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">vim /etc/ssh/sshd_config<br></code></pre></td></tr></table></figure><p>把<strong>PermitRootLogin yes</strong>把后面的<code>yes</code>改成<code>no</code>。</p><h2 id="重启SSHD"><a href="#重启SSHD" class="headerlink" title="重启SSHD"></a>重启SSHD</h2><figure class="highlight shell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><code class="hljs shell">service sshd restart<br></code></pre></td></tr></table></figure>]]></content:encoded>
      
      
      <category domain="https://www.jtxyh.com/categories/2024/">2024</category>
      
      
      <category domain="https://www.jtxyh.com/tags/Linux/">Linux</category>
      
      
      <comments>https://www.jtxyh.com/17015/#disqus_thread</comments>
      
    </item>
    
  </channel>
</rss>
