update K-Nearest Neighbors details

update K-Nearest Neighbors details
This commit is contained in:
2025-01-14 17:22:31 +08:00
parent f68c9071aa
commit ee2c51ff65
43 changed files with 404 additions and 219 deletions

View File

@@ -1,5 +1,14 @@
<?xml version="1.0" encoding="utf-8"?>
<search>
<entry>
<title>script</title>
<url>/posts/34849.html</url>
<content><![CDATA[<h3 id="查看CPU、内存使用率"><a href="#查看CPU、内存使用率" class="headerlink" title="查看CPU、内存使用率"></a>查看CPU、内存使用率</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="meta">#!/bin/bash</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 定义颜色</span></span><br><span class="line">RED=<span class="string">&#x27;\033[0;31m&#x27;</span></span><br><span class="line">GREEN=<span class="string">&#x27;\033[0;32m&#x27;</span></span><br><span class="line">YELLOW=<span class="string">&#x27;\033[0;33m&#x27;</span></span><br><span class="line">BLUE=<span class="string">&#x27;\033[0;34m&#x27;</span></span><br><span class="line">NC=<span class="string">&#x27;\033[0m&#x27;</span> <span class="comment"># 无颜色</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">while</span> <span class="literal">true</span>; <span class="keyword">do</span></span><br><span class="line"> <span class="comment"># 获取所有进程的CPU使用率和内存使用率</span></span><br><span class="line"> cpu_usage=$(ps aux | awk <span class="string">&#x27;&#123;sum_cpu += $3&#125; END &#123;print sum_cpu&#125;&#x27;</span>)</span><br><span class="line"> mem_usage=$(ps aux | awk <span class="string">&#x27;&#123;sum_mem += $4&#125; END &#123;print sum_mem&#125;&#x27;</span>)</span><br><span class="line"> </span><br><span class="line"> <span class="comment"># 打印结果,带有时间戳、分隔线和颜色高亮</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;YELLOW&#125;</span>Timestamp: <span class="subst">$(date)</span><span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;GREEN&#125;</span>Total CPU usage: <span class="variable">$&#123;RED&#125;</span><span class="variable">$cpu_usage</span>%<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;GREEN&#125;</span>Total Memory usage: <span class="variable">$&#123;RED&#125;</span><span class="variable">$mem_usage</span>%<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> </span><br><span class="line"> <span class="comment"># 等待5秒后再次执行</span></span><br><span class="line"> <span class="built_in">sleep</span> 5</span><br><span class="line"><span class="keyword">done</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p><strong>保存脚本到&#x2F;usr&#x2F;local&#x2F;bin目录下</strong></p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">mv</span> usage.sh /usr/local/bin/usage</span><br></pre></td></tr></table></figure>
<h3 id="Shell脚本编写的基本信息"><a href="#Shell脚本编写的基本信息" class="headerlink" title="Shell脚本编写的基本信息"></a>Shell脚本编写的基本信息</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="meta">#! /bin/bash</span></span><br><span class="line"><span class="comment"># -------------------------------------------------</span></span><br><span class="line"><span class="comment"># Filename: test.sh</span></span><br><span class="line"><span class="comment"># Version: 1.0</span></span><br><span class="line"><span class="comment"># Date: 2024/05/02</span></span><br><span class="line"><span class="comment"># Author: shenjianZ</span></span><br><span class="line"><span class="comment"># Email: shenjianZLT@gmail.com</span></span><br><span class="line"><span class="comment"># Website: https://blog.shenjianl.cn</span></span><br><span class="line"><span class="comment"># Description: this is a test shell</span></span><br><span class="line"><span class="comment"># CopyRight: 2024 All rights reserved shenjianZ</span></span><br><span class="line"><span class="comment"># License GPL</span></span><br><span class="line"><span class="comment"># ------------------------------------------------</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="comment"># Your script logic goes here</span></span><br></pre></td></tr></table></figure>]]></content>
</entry>
<entry>
<title>Hello World</title>
<url>/posts/16107.html</url>
@@ -19,16 +28,7 @@
]]></content>
</entry>
<entry>
<title>page</title>
<url>/posts/1441.html</url>
<content><![CDATA[<ul>
<li><a href="./deploy">deploy</a></li>
<li></li>
</ul>
]]></content>
</entry>
<entry>
<title>机器学习</title>
<title>k近邻算法K-Nearest NeighborsKNN</title>
<url>/posts/29139.html</url>
<content><![CDATA[<h2 id="k近邻算法K-Nearest-NeighborsKNN"><a href="#k近邻算法K-Nearest-NeighborsKNN" class="headerlink" title="k近邻算法K-Nearest NeighborsKNN"></a><strong>k近邻算法K-Nearest NeighborsKNN</strong></h2><p>将当前样本的类别归类于距离最近的<strong>k</strong>个样本的类别</p>
<h4 id="距离公式-2维"><a href="#距离公式-2维" class="headerlink" title="距离公式(2维)"></a><strong>距离公式(2维)</strong></h4><ul>
@@ -61,19 +61,90 @@
<li><p>标准化<br>将数据调整为均值为 0标准差为 1 的标准正态分布<br>$$ z &#x3D; \frac{x - \mu}{\sigma} $$<br>( z ):标准化后的值 ( x ):原始数据值 ( $\mu$ ):数据的均值 ( $\sigma$):数据的标准差</p>
<figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> StandardScaler <span class="comment"># 标准化</span></span><br></pre></td></tr></table></figure></li>
</ul>
<h3 id="KNN代码实现"><a href="#KNN代码实现" class="headerlink" title="KNN代码实现"></a>KNN代码实现</h3><figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">import</span> seaborn <span class="keyword">as</span> sns</span><br><span class="line"><span class="keyword">import</span> matplotlib.pyplot <span class="keyword">as</span> plt </span><br><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line"><span class="keyword">from</span> sklearn.model_selection <span class="keyword">import</span> train_test_split</span><br><span class="line"><span class="keyword">from</span> sklearn.datasets <span class="keyword">import</span> load_iris</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> MinMaxScaler,StandardScaler</span><br><span class="line"><span class="keyword">from</span> sklearn.neighbors <span class="keyword">import</span> KNeighborsClassifier</span><br><span class="line"><span class="keyword">from</span> sklearn.metrics <span class="keyword">import</span> accuracy_score</span><br><span class="line"></span><br><span class="line"><span class="comment"># 1 数据集获取</span></span><br><span class="line">iris = load_iris()</span><br><span class="line"><span class="comment"># print(iris.feature_names)</span></span><br><span class="line">iris_data = pd.DataFrame(iris.data,columns=[<span class="string">&#x27;Sepal_Length&#x27;</span>, <span class="string">&#x27;Sepal_Width&#x27;</span>, <span class="string">&#x27;Petal_Length&#x27;</span>, <span class="string">&#x27;Petal_Width&#x27;</span>])</span><br><span class="line">iris_data[<span class="string">&#x27;target&#x27;</span>] = iris.target</span><br><span class="line"></span><br><span class="line"><span class="keyword">def</span> <span class="title function_">iris_plot</span>(<span class="params">data,col1,col2</span>):</span><br><span class="line"> sns.lmplot(x=col1,y=col2,data=data,hue=<span class="string">&quot;target&quot;</span>,fit_reg=<span class="literal">False</span>)</span><br><span class="line"> plt.show()</span><br><span class="line"><span class="comment"># 2 数据集可视化</span></span><br><span class="line"><span class="comment"># iris_plot(iris_data, &#x27;Sepal_Width&#x27;, &#x27;Petal_Length&#x27;)</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 3 数据集的划分</span></span><br><span class="line">X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=<span class="number">0.2</span>,random_state=<span class="number">44</span>)</span><br><span class="line"><span class="comment"># print(&quot;训练集的特征值:\n&quot;,X_train)</span></span><br><span class="line"><span class="comment"># print(&quot;训练集的目标值:\n&quot;,y_train)</span></span><br><span class="line"><span class="comment"># print(&quot;测试集的特征值:\n&quot;,X_test)</span></span><br><span class="line"><span class="comment"># print(&quot;测试集的特征值:\n&quot;,y_test)</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 4 归一化</span></span><br><span class="line">transfer = StandardScaler()</span><br><span class="line">X_train = transfer.fit_transform(X_train)</span><br><span class="line">X_test = transfer.transform(X_test)</span><br><span class="line"><span class="comment"># print(&quot;归一化的,X_train\n&quot;,X_train)</span></span><br><span class="line"><span class="comment"># print(&quot;归一化的X_test\n&quot;,X_test)</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 5 机器学习 KNN</span></span><br><span class="line"><span class="comment"># 5.1 实例化估计器</span></span><br><span class="line">estimator = KNeighborsClassifier(n_neighbors=<span class="number">9</span>)</span><br><span class="line"><span class="comment"># 5.2 进行训练</span></span><br><span class="line">estimator.fit(X_train,y_train)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 6 模型评估</span></span><br><span class="line">y_pred = estimator.predict(X_test)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;预测值:\n&quot;</span>,y_pre)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;预测值与真实值是否相等:\n&quot;</span>,y_pred==y_test)</span><br><span class="line">accuracy = accuracy_score(y_test, y_pred)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&quot;\nKNN 模型的准确率: <span class="subst">&#123;accuracy:<span class="number">.4</span>f&#125;</span>&quot;</span>)</span><br></pre></td></tr></table></figure>
<p><img src="/img/machinelearning/knn-01.png"></p>
<h3 id="交叉验证与网格搜索"><a href="#交叉验证与网格搜索" class="headerlink" title="交叉验证与网格搜索"></a>交叉验证与网格搜索</h3><figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">import</span> seaborn <span class="keyword">as</span> sns</span><br><span class="line"><span class="keyword">import</span> matplotlib.pyplot <span class="keyword">as</span> plt </span><br><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line"><span class="keyword">from</span> sklearn.model_selection <span class="keyword">import</span> train_test_split,GridSearchCV</span><br><span class="line"><span class="keyword">from</span> sklearn.datasets <span class="keyword">import</span> load_iris</span><br><span class="line"><span class="keyword">from</span> sklearn.preprocessing <span class="keyword">import</span> MinMaxScaler,StandardScaler</span><br><span class="line"><span class="keyword">from</span> sklearn.neighbors <span class="keyword">import</span> KNeighborsClassifier</span><br><span class="line"><span class="keyword">from</span> sklearn.metrics <span class="keyword">import</span> accuracy_score</span><br><span class="line"></span><br><span class="line"><span class="comment"># 1 数据集获取</span></span><br><span class="line">iris = load_iris()</span><br><span class="line">iris_data = pd.DataFrame(iris.data,columns=[<span class="string">&#x27;Sepal_Length&#x27;</span>, <span class="string">&#x27;Sepal_Width&#x27;</span>, <span class="string">&#x27;Petal_Length&#x27;</span>, <span class="string">&#x27;Petal_Width&#x27;</span>])</span><br><span class="line">iris_data[<span class="string">&#x27;target&#x27;</span>] = iris.target</span><br><span class="line"></span><br><span class="line"><span class="comment"># 3 数据集的划分</span></span><br><span class="line">X_train,X_test,y_train,y_test = train_test_split(iris.data,iris.target,test_size=<span class="number">0.2</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 4 归一化</span></span><br><span class="line">transfer = StandardScaler()</span><br><span class="line">X_train = transfer.fit_transform(X_train)</span><br><span class="line">X_test = transfer.transform(X_test)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 5 机器学习 KNN</span></span><br><span class="line"><span class="comment"># 5.1 实例化估计器</span></span><br><span class="line"><span class="comment">#</span></span><br><span class="line"><span class="comment">#不指定 &lt;code&gt; n_neighbors &lt;/code&gt; ,使用网格搜索进行循环训练</span></span><br><span class="line">estimator = KNeighborsClassifier()</span><br><span class="line"><span class="comment"># 5.2 模型调优 -- 交叉验证,网格搜素</span></span><br><span class="line">estimator = GridSearchCV(estimator,param_grid=&#123;<span class="string">&quot;n_neighbors&quot;</span>:[<span class="number">1</span>,<span class="number">3</span>,<span class="number">5</span>,<span class="number">7</span>]&#125;,cv=<span class="number">5</span>) <span class="comment"># 5 折</span></span><br><span class="line"><span class="comment"># 5.2 进行训练</span></span><br><span class="line">estimator.fit(X_train,y_train)</span><br><span class="line"> </span><br><span class="line"><span class="comment"># 6 模型评估</span></span><br><span class="line">y_pred = estimator.predict(X_test)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;预测值:\n&quot;</span>,y_pred)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;预测值与真实值是否相等:\n&quot;</span>,y_pred==y_test)</span><br><span class="line">accuracy = accuracy_score(y_test, y_pred)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&quot;\nKNN 模型的准确率: <span class="subst">&#123;accuracy:<span class="number">.4</span>f&#125;</span>&quot;</span>)</span><br><span class="line"></span><br><span class="line"><span class="comment"># 交叉验证的相关参数</span></span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&quot;最好结果:<span class="subst">&#123;estimator.best_score_&#125;</span>&quot;</span>)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&quot;最好模型:<span class="subst">&#123;estimator.best_estimator_&#125;</span>&quot;</span>)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">f&quot;最好模型结果:<span class="subst">&#123;estimator.cv_results_&#125;</span>&quot;</span>)</span><br></pre></td></tr></table></figure>
<p><img src="/img/machinelearning/cros-valid.png"></p>
<h3 id="机器学习的基本步骤"><a href="#机器学习的基本步骤" class="headerlink" title="机器学习的基本步骤"></a>机器学习的基本步骤</h3><ul>
<li>获取数据集</li>
<li>数据集基本处理<ul>
<li>去重去空、填充等操作 </li>
<li>确定特征值和目标值</li>
<li>分割数据集</li>
</ul>
</li>
<li>特征工程(特征预处理 标准化等)</li>
<li>机器学习</li>
<li>模型评估</li>
</ul>
<h3 id="数据分割的方法"><a href="#数据分割的方法" class="headerlink" title="数据分割的方法"></a>数据分割的方法</h3><ul>
<li>留出法<br>训练&#x2F;测试集的划分要尽可能保持数据分布的一致性,避免因数据划分过程引入额外的偏差而对最终结果产生影响。<br>单次使用留出法得到的估计结果往往不够稳定可靠,在使用留出法时,一般要采用若干次随机划分、重复进行实验评估后取平均值作为留出法的评估结果。<figure class="highlight python"><table><tr><td class="code"><pre><span class="line"><span class="keyword">from</span> sklearn.model_selection <span class="keyword">import</span> KFold,StratifiedKFold</span><br><span class="line"><span class="keyword">import</span> pandas <span class="keyword">as</span> pd</span><br><span class="line">X = np.array([</span><br><span class="line">[<span class="number">1</span>,<span class="number">2</span>,<span class="number">3</span>,<span class="number">4</span>],</span><br><span class="line">[<span class="number">11</span>,<span class="number">12</span>,<span class="number">13</span>,<span class="number">14</span>],</span><br><span class="line">[<span class="number">21</span>,<span class="number">22</span>,<span class="number">23</span>,<span class="number">24</span>],</span><br><span class="line">[<span class="number">31</span>,<span class="number">32</span>,<span class="number">33</span>,<span class="number">34</span>],</span><br><span class="line">[<span class="number">41</span>,<span class="number">42</span>,<span class="number">43</span>,<span class="number">44</span>],</span><br><span class="line">[<span class="number">51</span>,<span class="number">52</span>,<span class="number">53</span>,<span class="number">54</span>],</span><br><span class="line">[<span class="number">61</span>,<span class="number">62</span>,<span class="number">63</span>,<span class="number">64</span>],</span><br><span class="line">[<span class="number">71</span>,<span class="number">72</span>,<span class="number">73</span>,<span class="number">74</span>]</span><br><span class="line">])</span><br><span class="line">y=np.array([<span class="number">1</span>,<span class="number">1</span>,<span class="number">0</span>,<span class="number">0</span>,<span class="number">1</span>,<span class="number">1</span>,<span class="number">0</span>,<span class="number">0</span>])</span><br><span class="line">folder = KFold(n_splits=<span class="number">4</span>)</span><br><span class="line">sfloder = StratifiedKFold(n_splits=<span class="number">4</span>)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;KFOLD:&quot;</span>)</span><br><span class="line"><span class="keyword">for</span> train,test <span class="keyword">in</span> folder.split(X,y):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f&quot;train:<span class="subst">&#123;train&#125;</span>,test:<span class="subst">&#123;test&#125;</span>&quot;</span>)</span><br><span class="line"><span class="built_in">print</span>(<span class="string">&quot;SKFOLD:&quot;</span>)</span><br><span class="line"><span class="keyword">for</span> train,test <span class="keyword">in</span> sfloder.split(X,y):</span><br><span class="line"> <span class="built_in">print</span>(<span class="string">f&quot;train:<span class="subst">&#123;train&#125;</span>,test:<span class="subst">&#123;test&#125;</span>&quot;</span>)</span><br></pre></td></tr></table></figure>
<img src="/img/machinelearning/kfold-skfold.png"></li>
<li>自助法</li>
<li>交叉验证法</li>
</ul>
]]></content>
<tags>
<tag>machinelearning</tag>
</tags>
</entry>
<entry>
<title>script</title>
<url>/posts/34849.html</url>
<content><![CDATA[<h3 id="查看CPU、内存使用率"><a href="#查看CPU、内存使用率" class="headerlink" title="查看CPU、内存使用率"></a>查看CPU、内存使用率</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="meta">#!/bin/bash</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 定义颜色</span></span><br><span class="line">RED=<span class="string">&#x27;\033[0;31m&#x27;</span></span><br><span class="line">GREEN=<span class="string">&#x27;\033[0;32m&#x27;</span></span><br><span class="line">YELLOW=<span class="string">&#x27;\033[0;33m&#x27;</span></span><br><span class="line">BLUE=<span class="string">&#x27;\033[0;34m&#x27;</span></span><br><span class="line">NC=<span class="string">&#x27;\033[0m&#x27;</span> <span class="comment"># 无颜色</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">while</span> <span class="literal">true</span>; <span class="keyword">do</span></span><br><span class="line"> <span class="comment"># 获取所有进程的CPU使用率和内存使用率</span></span><br><span class="line"> cpu_usage=$(ps aux | awk <span class="string">&#x27;&#123;sum_cpu += $3&#125; END &#123;print sum_cpu&#125;&#x27;</span>)</span><br><span class="line"> mem_usage=$(ps aux | awk <span class="string">&#x27;&#123;sum_mem += $4&#125; END &#123;print sum_mem&#125;&#x27;</span>)</span><br><span class="line"> </span><br><span class="line"> <span class="comment"># 打印结果,带有时间戳、分隔线和颜色高亮</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;YELLOW&#125;</span>Timestamp: <span class="subst">$(date)</span><span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;GREEN&#125;</span>Total CPU usage: <span class="variable">$&#123;RED&#125;</span><span class="variable">$cpu_usage</span>%<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;GREEN&#125;</span>Total Memory usage: <span class="variable">$&#123;RED&#125;</span><span class="variable">$mem_usage</span>%<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> <span class="built_in">echo</span> -e <span class="string">&quot;<span class="variable">$&#123;BLUE&#125;</span>==============================<span class="variable">$&#123;NC&#125;</span>&quot;</span></span><br><span class="line"> </span><br><span class="line"> <span class="comment"># 等待5秒后再次执行</span></span><br><span class="line"> <span class="built_in">sleep</span> 5</span><br><span class="line"><span class="keyword">done</span></span><br><span class="line"></span><br></pre></td></tr></table></figure>
<p><strong>保存脚本到&#x2F;usr&#x2F;local&#x2F;bin目录下</strong></p>
<figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="built_in">mv</span> usage.sh /usr/local/bin/usage</span><br></pre></td></tr></table></figure>
<title>page</title>
<url>/posts/1441.html</url>
<content><![CDATA[<ul>
<li><a href="./deploy">deploy</a></li>
<li></li>
</ul>
]]></content>
</entry>
<entry>
<title>网络相关</title>
<url>/posts/41168.html</url>
<content><![CDATA[]]></content>
</entry>
<entry>
<title>uniapp 开发</title>
<url>/posts/58817.html</url>
<content><![CDATA[<ul>
<li><a href="../component1">uniapp component</a></li>
</ul>
]]></content>
<tags>
<tag>uniapp</tag>
</tags>
</entry>
<entry>
<title>郑伯克段于鄢</title>
<url>/posts/58638.html</url>
<content><![CDATA[<p>原文如下:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;初,郑武公娶于申【申国】,曰武姜【武为武公谥号,姜为其宗族之性】。生庄公及共叔段【共表示其曾出逃到共,叔为老三,段为名】。庄公寤生【出生时头先出,难产】,惊姜氏,故名曰“寤生”, 遂恶之爱【喜爱】共叔段欲立【立为储君】之【多次】请于武公及庄公即位为之【共叔段】请制【一个叫制的封地虎牢关所在】。公曰“制岩邑【险要的城邑】也虢叔死焉佗【通“他”其他】邑唯命是听。”请京使居之谓之“京城大叔”。</p>
]]></content>
<categories>
<category>古文观止</category>
</categories>
<tags>
<tag>古文观止</tag>
</tags>
</entry>
<entry>
<title>组件使用</title>
<url>/posts/33957.html</url>
<content><![CDATA[<h3 id="组件自动导入"><a href="#组件自动导入" class="headerlink" title="组件自动导入"></a>组件自动导入</h3><figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="attr">&quot;easycom&quot;</span><span class="punctuation">:</span><span class="punctuation">&#123;</span></span><br><span class="line"> <span class="attr">&quot;autoscan&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">&quot;custom&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line"> <span class="attr">&quot;^tui-(.*)&quot;</span><span class="punctuation">:</span> <span class="string">&quot;@/components/thorui/tui-$1/tui-$1.vue&quot;</span> <span class="comment">// 匹配components目录内的vue文件</span></span><br><span class="line"> <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure>
<h3 id="Shell脚本编写的基本信息"><a href="#Shell脚本编写的基本信息" class="headerlink" title="Shell脚本编写的基本信息"></a>Shell脚本编写的基本信息</h3><figure class="highlight bash"><table><tr><td class="code"><pre><span class="line"><span class="meta">#! /bin/bash</span></span><br><span class="line"><span class="comment"># -------------------------------------------------</span></span><br><span class="line"><span class="comment"># Filename: test.sh</span></span><br><span class="line"><span class="comment"># Version: 1.0</span></span><br><span class="line"><span class="comment"># Date: 2024/05/02</span></span><br><span class="line"><span class="comment"># Author: shenjianZ</span></span><br><span class="line"><span class="comment"># Email: shenjianZLT@gmail.com</span></span><br><span class="line"><span class="comment"># Website: https://blog.shenjianl.cn</span></span><br><span class="line"><span class="comment"># Description: this is a test shell</span></span><br><span class="line"><span class="comment"># CopyRight: 2024 All rights reserved shenjianZ</span></span><br><span class="line"><span class="comment"># License GPL</span></span><br><span class="line"><span class="comment"># ------------------------------------------------</span></span><br><span class="line"></span><br><span class="line"></span><br><span class="line"><span class="comment"># Your script logic goes here</span></span><br></pre></td></tr></table></figure>]]></content>
<h3 id="tui-sticky-吸顶容器"><a href="#tui-sticky-吸顶容器" class="headerlink" title="tui-sticky 吸顶容器"></a><code>tui-sticky 吸顶容器</code></h3><blockquote>
<p>包含 以下 <code>tui</code> 组件 :</p>
<ul>
<li>tui-sticky</li>
<li>tui-list-view</li>
<li>tui-list-cell</li>
</ul>
</blockquote>
<figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">tui-sticky</span> <span class="attr">:scrollTop</span>=<span class="string">&quot;scrollTop&quot;</span> <span class="attr">stickyHeight</span>=<span class="string">&quot;104rpx&quot;</span> <span class="attr">container</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!-- header start --&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">template</span> <span class="attr">v-slot:header</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">view</span> <span class="attr">class</span>=<span class="string">&quot;sticky-item&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">view</span> <span class="attr">class</span>=<span class="string">&quot;setting&quot;</span>&gt;</span>设置<span class="tag">&lt;/<span class="name">view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">template</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!-- header end --&gt;</span></span><br><span class="line"> <span class="comment">&lt;!--内容 start--&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">template</span> <span class="attr">v-slot:content</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">tui-list-view</span> <span class="attr">class</span>=<span class="string">&quot;content&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">tui-list-cell</span> <span class="attr">:arrow</span>=<span class="string">&quot;false&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">switch</span> <span class="attr">class</span>=<span class="string">&#x27;switch&#x27;</span> <span class="attr">checked</span> <span class="attr">color</span>=<span class="string">&quot;#FFCC33&quot;</span> /&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">tui-list-cell</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">tui-list-view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">template</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!--内容 end--&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tui-sticky</span>&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span> <span class="attr">setup</span>&gt;</span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">import</span> &#123; ref &#125; <span class="keyword">from</span> <span class="string">&#x27;vue&#x27;</span></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">import</span> &#123; onPageScroll &#125; <span class="keyword">from</span> <span class="string">&#x27;@dcloudio/uni-app&#x27;</span></span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="comment">// 定义 scrollTop 响应式变量</span></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">const</span> scrollTop = <span class="title function_">ref</span>(<span class="number">0</span>)</span></span><br><span class="line"><span class="language-javascript"> <span class="comment">// 监听页面滚动事件</span></span></span><br><span class="line"><span class="language-javascript"> <span class="title function_">onPageScroll</span>(<span class="function">(<span class="params">e</span>) =&gt;</span> &#123;</span></span><br><span class="line"><span class="language-javascript"> scrollTop.<span class="property">value</span> = e.<span class="property">scrollTop</span></span></span><br><span class="line"><span class="language-javascript"> &#125;)</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br></pre></td></tr></table></figure>
]]></content>
<tags>
<tag>uniapp</tag>
</tags>
</entry>
<entry>
<title>Docker被墙如何继续使用</title>
@@ -119,54 +190,6 @@
</ol>
]]></content>
</entry>
<entry>
<title>网络相关</title>
<url>/posts/41168.html</url>
<content><![CDATA[]]></content>
</entry>
<entry>
<title>uniapp 开发</title>
<url>/posts/58817.html</url>
<content><![CDATA[<ul>
<li><a href="../component1">uniapp component</a></li>
</ul>
]]></content>
<tags>
<tag>uniapp</tag>
</tags>
</entry>
<entry>
<title>组件使用</title>
<url>/posts/33957.html</url>
<content><![CDATA[<h3 id="组件自动导入"><a href="#组件自动导入" class="headerlink" title="组件自动导入"></a>组件自动导入</h3><figure class="highlight json"><table><tr><td class="code"><pre><span class="line"><span class="attr">&quot;easycom&quot;</span><span class="punctuation">:</span><span class="punctuation">&#123;</span></span><br><span class="line"> <span class="attr">&quot;autoscan&quot;</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line"> <span class="attr">&quot;custom&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line"> <span class="attr">&quot;^tui-(.*)&quot;</span><span class="punctuation">:</span> <span class="string">&quot;@/components/thorui/tui-$1/tui-$1.vue&quot;</span> <span class="comment">// 匹配components目录内的vue文件</span></span><br><span class="line"> <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure>
<h3 id="tui-sticky-吸顶容器"><a href="#tui-sticky-吸顶容器" class="headerlink" title="tui-sticky 吸顶容器"></a><code>tui-sticky 吸顶容器</code></h3><blockquote>
<p>包含 以下 <code>tui</code> 组件 :</p>
<ul>
<li>tui-sticky</li>
<li>tui-list-view</li>
<li>tui-list-cell</li>
</ul>
</blockquote>
<figure class="highlight html"><table><tr><td class="code"><pre><span class="line"><span class="tag">&lt;<span class="name">tui-sticky</span> <span class="attr">:scrollTop</span>=<span class="string">&quot;scrollTop&quot;</span> <span class="attr">stickyHeight</span>=<span class="string">&quot;104rpx&quot;</span> <span class="attr">container</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!-- header start --&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">template</span> <span class="attr">v-slot:header</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">view</span> <span class="attr">class</span>=<span class="string">&quot;sticky-item&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">view</span> <span class="attr">class</span>=<span class="string">&quot;setting&quot;</span>&gt;</span>设置<span class="tag">&lt;/<span class="name">view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">template</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!-- header end --&gt;</span></span><br><span class="line"> <span class="comment">&lt;!--内容 start--&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">template</span> <span class="attr">v-slot:content</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">tui-list-view</span> <span class="attr">class</span>=<span class="string">&quot;content&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">tui-list-cell</span> <span class="attr">:arrow</span>=<span class="string">&quot;false&quot;</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;<span class="name">switch</span> <span class="attr">class</span>=<span class="string">&#x27;switch&#x27;</span> <span class="attr">checked</span> <span class="attr">color</span>=<span class="string">&quot;#FFCC33&quot;</span> /&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">tui-list-cell</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">tui-list-view</span>&gt;</span></span><br><span class="line"> <span class="tag">&lt;/<span class="name">template</span>&gt;</span></span><br><span class="line"> <span class="comment">&lt;!--内容 end--&gt;</span></span><br><span class="line"><span class="tag">&lt;/<span class="name">tui-sticky</span>&gt;</span></span><br><span class="line"></span><br><span class="line"><span class="tag">&lt;<span class="name">script</span> <span class="attr">setup</span>&gt;</span><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">import</span> &#123; ref &#125; <span class="keyword">from</span> <span class="string">&#x27;vue&#x27;</span></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">import</span> &#123; onPageScroll &#125; <span class="keyword">from</span> <span class="string">&#x27;@dcloudio/uni-app&#x27;</span></span></span><br><span class="line"><span class="language-javascript"></span></span><br><span class="line"><span class="language-javascript"> <span class="comment">// 定义 scrollTop 响应式变量</span></span></span><br><span class="line"><span class="language-javascript"> <span class="keyword">const</span> scrollTop = <span class="title function_">ref</span>(<span class="number">0</span>)</span></span><br><span class="line"><span class="language-javascript"> <span class="comment">// 监听页面滚动事件</span></span></span><br><span class="line"><span class="language-javascript"> <span class="title function_">onPageScroll</span>(<span class="function">(<span class="params">e</span>) =&gt;</span> &#123;</span></span><br><span class="line"><span class="language-javascript"> scrollTop.<span class="property">value</span> = e.<span class="property">scrollTop</span></span></span><br><span class="line"><span class="language-javascript"> &#125;)</span></span><br><span class="line"><span class="language-javascript"></span><span class="tag">&lt;/<span class="name">script</span>&gt;</span></span><br></pre></td></tr></table></figure>
]]></content>
<tags>
<tag>uniapp</tag>
</tags>
</entry>
<entry>
<title>郑伯克段于鄢</title>
<url>/posts/58638.html</url>
<content><![CDATA[<p>原文如下:</p>
<p>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;初,郑武公娶于申【申国】,曰武姜【武为武公谥号,姜为其宗族之性】。生庄公及共叔段【共表示其曾出逃到共,叔为老三,段为名】。庄公寤生【出生时头先出,难产】,惊姜氏,故名曰“寤生”, 遂恶之爱【喜爱】共叔段欲立【立为储君】之【多次】请于武公及庄公即位为之【共叔段】请制【一个叫制的封地虎牢关所在】。公曰“制岩邑【险要的城邑】也虢叔死焉佗【通“他”其他】邑唯命是听。”请京使居之谓之“京城大叔”。</p>
]]></content>
<categories>
<category>古文观止</category>
</categories>
<tags>
<tag>古文观止</tag>
</tags>
</entry>
<entry>
<title>Hadoop集群搭建基础环境</title>
<url>/posts/61253.html</url>
@@ -227,56 +250,6 @@
</ul>
]]></content>
</entry>
<entry>
<title>无法访问外网?需要订阅代理服务?</title>
<url>/posts/14011.html</url>
<content><![CDATA[<div class="note info flat"><p><strong>由于中国大陆的GFW防火墙限制无法访问外网网络因此需要访问像GitHub、YouTube这样的<br>的网站将被屏蔽拦截,接下来我将给出一种使用<code>VPN</code>服务的可行的方案来保证服务的可靠性。</strong></p>
</div>
<h3 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h3><blockquote>
<p>根据测试,许多提供服务的提供商所在的网站需要使用<code>外部网络</code>才能打开,仅有少部分的网站(<strong>比较贵</strong>)可以直接使用<br>国内网络环境打开直接购买订阅服务。</p>
</blockquote>
<p>那么你现在可以有两个选择:</p>
<ol>
<li><strong>方案一</strong>:使用无需<code>外部网络</code>便能开通订阅服务的VPN费用高如果你选择此方案那么你可自行搜索解决此处仅仅讨论方案二。</li>
<li><strong>方案二</strong>:如果使用此方案,详见下方。</li>
</ol>
<h3 id="解决方案"><a href="#解决方案" class="headerlink" title="解决方案"></a>解决方案</h3><blockquote>
<p>采用<strong>方案二</strong>方式</p>
<p>这是一些订阅服务推广的链接: <a href="https://9.234456.xyz/abc.html?t=638586217737356738">https://9.234456.xyz/abc.html?t=638586217737356738</a> (此链接打开无需使用VPN但进入对应的机场页面却仍无法打开)</p>
<p>此教程中我们使用的机场是 </p>
<ol>
<li><code>一元机场</code>: <a href="https://一元机场.com/">https://xn--4gq62f52gdss.com/</a></li>
<li><code>赔钱机场</code><a href="https://赔钱机场.com/">https://xn--mes358aby2apfg.com/</a></li>
</ol>
</blockquote>
<h3 id="机场选择的建议:"><a href="#机场选择的建议:" class="headerlink" title="机场选择的建议:"></a>机场选择的建议:</h3><ul>
<li><p><code>一元机场</code><br><img src="/img/yiyuan.png"><br>可以看到</p>
<ul>
<li><code>12元/年</code>,每月50GB的可用额度下个月重置流量额度</li>
<li><code>15元/季</code>,即为<code>60元/年</code>每月有4000GB的可用额度下个月重置流量额度</li>
<li><code>7元/月</code>,即为<code>84元/年</code>每个月8000GB的可用额度下个月重置流量额度<br>根据我个人的使用情况大多数情况下我每月的流量使用未超过50GB如果没有频繁的流量使用<br>建议选择<code>12元/年</code>,否则可以选择<code>15元/季</code>这意味着每月将有4000GB的可用额度</li>
</ul>
</li>
<li><p><code>赔钱机场</code></p>
<p><img src="/img/peiqian.png"><br><code>赔钱机场</code>的订阅共有9种方案这里我仅显示自己正在使用的个人认为十分优惠</p>
<ul>
<li><code>34.99元/年</code>,每月500GB的可用额度根据我观察和使用这个订阅方案比<code>一元机场</code>的性价比更高,且流量使用额度也不用担心</li>
</ul>
</li>
</ul>
<h3 id="如何订阅?"><a href="#如何订阅?" class="headerlink" title="如何订阅?"></a>如何订阅?</h3><div class="note success flat"><p>由于需要外部网络才能完成订阅服务的购买,你可以向我的邮箱<code>15202078626@163.com</code>发送你的订阅计划方案,<br>扫描付款二维码,我将为你开通订阅(您只需要付款对应的订阅金额即可)</p>
</div>
<img src="/img/dingyue.png" width='150px'>
<h3 id="完成订阅后如何使用?"><a href="#完成订阅后如何使用?" class="headerlink" title="完成订阅后如何使用?"></a>完成订阅后如何使用?</h3><blockquote>
<p>你可以在 <code>Windows</code>、<code>Mac</code>、<code>Android</code>等平台使用此服务<br>使用订阅的对应链接: <a href="https://flowus.cn/shenjian/22f76d4f-e7b3-4b8a-8a89-561566f6eb60">https://flowus.cn/shenjian/22f76d4f-e7b3-4b8a-8a89-561566f6eb60</a></p>
</blockquote>
]]></content>
<tags>
<tag>网络代理</tag>
</tags>
</entry>
<entry>
<title>Hadoop集群HDFS配置</title>
<url>/posts/61252.html</url>
@@ -364,4 +337,54 @@
]]></content>
</entry>
<entry>
<title>无法访问外网?需要订阅代理服务?</title>
<url>/posts/14011.html</url>
<content><![CDATA[<div class="note info flat"><p><strong>由于中国大陆的GFW防火墙限制无法访问外网网络因此需要访问像GitHub、YouTube这样的<br>的网站将被屏蔽拦截,接下来我将给出一种使用<code>VPN</code>服务的可行的方案来保证服务的可靠性。</strong></p>
</div>
<h3 id="介绍"><a href="#介绍" class="headerlink" title="介绍"></a>介绍</h3><blockquote>
<p>根据测试,许多提供服务的提供商所在的网站需要使用<code>外部网络</code>才能打开,仅有少部分的网站(<strong>比较贵</strong>)可以直接使用<br>国内网络环境打开直接购买订阅服务。</p>
</blockquote>
<p>那么你现在可以有两个选择:</p>
<ol>
<li><strong>方案一</strong>:使用无需<code>外部网络</code>便能开通订阅服务的VPN费用高如果你选择此方案那么你可自行搜索解决此处仅仅讨论方案二。</li>
<li><strong>方案二</strong>:如果使用此方案,详见下方。</li>
</ol>
<h3 id="解决方案"><a href="#解决方案" class="headerlink" title="解决方案"></a>解决方案</h3><blockquote>
<p>采用<strong>方案二</strong>方式</p>
<p>这是一些订阅服务推广的链接: <a href="https://9.234456.xyz/abc.html?t=638586217737356738">https://9.234456.xyz/abc.html?t=638586217737356738</a> (此链接打开无需使用VPN但进入对应的机场页面却仍无法打开)</p>
<p>此教程中我们使用的机场是 </p>
<ol>
<li><code>一元机场</code>: <a href="https://一元机场.com/">https://xn--4gq62f52gdss.com/</a></li>
<li><code>赔钱机场</code><a href="https://赔钱机场.com/">https://xn--mes358aby2apfg.com/</a></li>
</ol>
</blockquote>
<h3 id="机场选择的建议:"><a href="#机场选择的建议:" class="headerlink" title="机场选择的建议:"></a>机场选择的建议:</h3><ul>
<li><p><code>一元机场</code><br><img src="/img/yiyuan.png"><br>可以看到</p>
<ul>
<li><code>12元/年</code>,每月50GB的可用额度下个月重置流量额度</li>
<li><code>15元/季</code>,即为<code>60元/年</code>每月有4000GB的可用额度下个月重置流量额度</li>
<li><code>7元/月</code>,即为<code>84元/年</code>每个月8000GB的可用额度下个月重置流量额度<br>根据我个人的使用情况大多数情况下我每月的流量使用未超过50GB如果没有频繁的流量使用<br>建议选择<code>12元/年</code>,否则可以选择<code>15元/季</code>这意味着每月将有4000GB的可用额度</li>
</ul>
</li>
<li><p><code>赔钱机场</code></p>
<p><img src="/img/peiqian.png"><br><code>赔钱机场</code>的订阅共有9种方案这里我仅显示自己正在使用的个人认为十分优惠</p>
<ul>
<li><code>34.99元/年</code>,每月500GB的可用额度根据我观察和使用这个订阅方案比<code>一元机场</code>的性价比更高,且流量使用额度也不用担心</li>
</ul>
</li>
</ul>
<h3 id="如何订阅?"><a href="#如何订阅?" class="headerlink" title="如何订阅?"></a>如何订阅?</h3><div class="note success flat"><p>由于需要外部网络才能完成订阅服务的购买,你可以向我的邮箱<code>15202078626@163.com</code>发送你的订阅计划方案,<br>扫描付款二维码,我将为你开通订阅(您只需要付款对应的订阅金额即可)</p>
</div>
<img src="/img/dingyue.png" width='150px'>
<h3 id="完成订阅后如何使用?"><a href="#完成订阅后如何使用?" class="headerlink" title="完成订阅后如何使用?"></a>完成订阅后如何使用?</h3><blockquote>
<p>你可以在 <code>Windows</code>、<code>Mac</code>、<code>Android</code>等平台使用此服务<br>使用订阅的对应链接: <a href="https://flowus.cn/shenjian/22f76d4f-e7b3-4b8a-8a89-561566f6eb60">https://flowus.cn/shenjian/22f76d4f-e7b3-4b8a-8a89-561566f6eb60</a></p>
</blockquote>
]]></content>
<tags>
<tag>网络代理</tag>
</tags>
</entry>
</search>