Hexo+Github/Gitee 搭建个人博客

系列文章目录

1、Hexo+Github/Gitee 搭建个人博客
2、Hexo个人博客主题配置


目录

  • 系列文章目录
  • 准备条件
    • 1. 配置Git SSH公钥
    • 2. GitHub Pages
    • 3. Gitee Pages
    • 4. 安装 Node.js
  • 安装 Hexo
  • 初始化项目
    • 创建项目
    • Hexo 编译
    • 本地运行博客
  • 部署
    • 配置
    • 安装hexo-deployer-git插件
    • 部署
    • 启动GitHub Pages
    • 启动Gitee Pages
  • 标签页
  • 分类页
  • 创建博客文章
    • 新建文章
    • 草稿箱
    • 文章标签、分类
      • 子分类
      • 多个分类
    • 博客插入图片
      • src 链接
      • 本地绝对路径
      • 本地相对路径
  • 搜索页


如果你有总结整理的习惯,可以考虑搭建一个个人博客,把文章发布在上面,相比于其它平台,个人博客的好处是你可以随便折腾,没有太多限制。搭建个人博客的框架有很多,比如wordpress、Hexo、Vuepress、Jekyll、Django等,Hexo博客简洁高效,配置简单,文章可以使用markdown语法编写,下面介绍 hexo博客搭建步骤。

准备条件

为了节约成本,选择GitHub Pages或者Gitee Pages服务来部署博客,GitHub Pages 是GitHub提供的静态网站部署服务,Gitee Pages是gitee提供的服务,考虑到有时候GitHub有时候无法访问,我的博客是搭建在gitee上的。

如果没有账号,注册一个github或者gitee账号,注册完成后安装git客户端,推荐安装Git for Windows,安装方法可以参考:Git简易教程-安装及简单使用

1. 配置Git SSH公钥

通过ssh keys将本地的项目与Github/gitee关联起来,配置方法参考:同一台电脑配置Gitee、Github 的 Git SSH公钥

2. GitHub Pages

在 GitHub 新建一个名称为 {username}.github.io的仓库,username是你的github用户名
Hexo+Github/Gitee 搭建个人博客_第1张图片

3. Gitee Pages

GitHub Pages 和Gitee Pages选一个就好,Gitee和GitHub有点不一样,建一个和你的博客项目名一样仓库:
Hexo+Github/Gitee 搭建个人博客_第2张图片

4. 安装 Node.js

Node.js安装方法参考Appium 介绍及环境安装,命令行窗口中运行node -v查看是否安装成功。使用如下命令更新:

$ npm install npm@latest -g

准备工作做好后,下面开始Hexo博客的搭建和部署。

安装 Hexo

首先安装 Hexo 的命令行工具,用于快速创建项目、页面、编译、部署 Hexo 博客。
命令如下:
npm install -g hexo-cli
安装完成后,查看hexo版本:

$ hexo version
hexo-cli: 4.2.0
os: Windows_NT 10.0.19041 win32 x64
node: 12.19.0
v8: 7.8.279.23-node.44
uv: 1.39.0
zlib: 1.2.11
brotli: 1.0.9
ares: 1.16.0
modules: 72
nghttp2: 1.41.0
napi: 7
llhttp: 2.1.2
http_parser: 2.9.3
openssl: 1.1.1g
cldr: 37.0
icu: 67.1
tz: 2019c
unicode: 13.0

安装成功!

初始化项目

创建项目

先cd 进入你要创建博客项目的目录下:hexo init {name}
name为博客项目名,注意如果使用Gitee Pages部署服务,创建的仓库名和这里初始化的博客项目名相同。

Hexo 编译

进入新生成的博客目录下,调用 Hexo 的 generate 命令,将 Hexo 博客(Markdown文件,在source\_posts目录下,后面会详细介绍)编译生成 HTML 代码:
hexo generate
生成的public 文件夹里面包含了 js、css、font 等内容,博客文章在public /posts文件夹下
Hexo+Github/Gitee 搭建个人博客_第3张图片

本地运行博客

利用 Hexo 提供的 serve 命令在本地运行博客:hexo serve

浏览器访问http://localhost:4000,就可以打开博客了,有一篇默认文章:

Hexo+Github/Gitee 搭建个人博客_第4张图片

这是博客的默认配置,可以修改配置文件来修改样式,我们先部署到GitHub Pages 上,看看效果。

部署

配置

将编译好的博客发布到github,需要配置github的项目仓库地址。

打开根目录下的 _config.yml 文件,找到 Deployment ,修改如下:

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
 type: git
 repo: [email protected]:ZHHAYO/ZHHAYO.github.io.git
 branch: master

仓库地址为你在准备条件中新建的仓库地址,查看方式如下:

Hexo+Github/Gitee 搭建个人博客_第5张图片

gitee类似:

Hexo+Github/Gitee 搭建个人博客_第6张图片

HTTPs或者SSH地址都可以。

注意冒号后面要加空格

安装hexo-deployer-git插件

支持 Git 的部署插件,用于将blog部署到 GitHub 上面
安装命令:
npm install hexo-deployer-git --save

Hexo+Github/Gitee 搭建个人博客_第7张图片

部署

部署命令:hexo deploy

在 blog 目录下,分别输入如下三条命令:

  • hexo clean //清除缓存
  • hexo g //生成静态文件
  • hexo d //部署

其中 clean 用于清除缓存,g 是 generate 生成网站资源,d 就是 deploy 部署网站。

Hexo+Github/Gitee 搭建个人博客_第8张图片

启动GitHub Pages

进入GitHub仓库可以看到public里面的内容传到了仓库里面:

Hexo+Github/Gitee 搭建个人博客_第9张图片

在博客仓库的Settings界面,下拉找到GitHub Pages,生成博客网址

Hexo+Github/Gitee 搭建个人博客_第10张图片

部署成功后就可以通过https://{github用户名}.github.io/ 访问个人博客了

启动Gitee Pages

如果部署到Gitee,也可以在博客仓库下看到上传的资源:

Hexo+Github/Gitee 搭建个人博客_第11张图片

Gitee的启动方式类似:

Hexo+Github/Gitee 搭建个人博客_第12张图片

目前就完成了博客的初始构建,下面就进行博客的基本配置,设置主题等

部署完成后,通过https://{gitee用户名}.gitee.io/ 访问个人博客

Hexo的初步部署就完成了,下一篇文章介绍博客文章创建方法和博客主题的简单配置。

**注意:**博客更新到GitHub后,GitHub Pages会自动部署更新后的博客,而Gitee需要手动更新一下。

标签页

添加标签页命令:hexo new page tags

执行这个命令之后会自动帮我们生成一个 source/tags/index.md 文件:

---
title: tags
date:2019-09-2616:44:17
---

然后再在主题的 _config.yml 文件将这个页面的链接添加到主菜单里面,修改 menu 字段如下:

menu:
  home: / || home
  #about: /about/ || user
  tags: /tags/ || tags
  #categories: /categories/ || th
  archives: /archives/ || archive
  #schedule: /schedule/ || calendar
  #sitemap: /sitemap.xml || sitemap
  #commonweal: /404/ || heartbeat

分类页

添加分类页命令:hexo new page categories

同样地,会生成一个 source/categories/index.md 文件。

在主题的 _config.yml 文件将这个页面的链接添加到主菜单里面,修改 menu 字段如下:

menu:
  home: / || home
  #about: /about/ || user
  tags: /tags/ || tags
  categories: /categories/ || th
  archives: /archives/ || archive
  #schedule: /schedule/ || calendar
  #sitemap: /sitemap.xml || sitemap
  #commonweal: /404/ || heartbeat

创建博客文章

博客最核心部分还是你输出的的文章,Hexo博客文章可以使用Markdown语法编写,下面介绍文章创建方法。参考文档:https://hexo.io/zh-cn/docs/writing.html

新建文章

在博客根目录命令行输入

hexo new [layout] 
</code></pre> 
  <p>layout指定文章的布局(layout),默认为 post,可以通过修改 _config.yml 中的 default_layout 参数来指定默认布局。</p> 
  <p>新建一篇名为「HelloWorld」的文章,在博客目录下打开命令行:<code>hexo new hello-world</code></p> 
  <p><a href="http://img.e-com-net.com/image/info8/848e28c0fc9a4d329204e62e5beacc6b.png" target="_blank"><img src="http://img.e-com-net.com/image/info8/848e28c0fc9a4d329204e62e5beacc6b.png" alt="" width="791" height="94"></a></p> 
  <p>创建的文章会出现在 source/_posts 文件夹下,是 MarkDown 格式:HelloWorld.md。<br> 使用 MarkDown 编辑HelloWorld.md文件就可以了,markdown 语法参考http://www.markdown.cn/#inline-html, 文章编辑好后,执行:</p> 
  <pre><code class="prism language-sh">hexo clean //清除缓存
hexo g //生成静态文件
hexo s //本地查看效果 访问 http://localhost:4000
hexo d //部署
</code></pre> 
  <p>创建的文章HelloWorld.md会编译到 \public\posts\HelloWorld目录下,编译为html文件。</p> 
  <h2>草稿箱</h2> 
  <p>也可以新建draft page,顾名思义就是草稿,在博客执行编译操作时,草稿文章不会编译。</p> 
  <p>创建方法:</p> 
  <pre><code class="prism language-sh">$ hexo new draft HelloWorld
</code></pre> 
  <p>创建的草稿文章会出现在 source/_drafts 文件夹下,可以通过如下命令在本地查看草稿文章:</p> 
  <pre><code class="prism language-sh">$ hexo server --draft
# 或者
$ hexo s --draft
</code></pre> 
  <p>完成草稿文章后,可以通过如下命令发布:</p> 
  <pre><code class="prism language-sh">$ hexo publish HelloWorld
</code></pre> 
  <p>草稿HelloWorld会移到_posts目录里面去。</p> 
  <p>当然,新建文章和草稿可以采用手动的方式,最对应的目录下新建Markdown文件即可。</p> 
  <h2>文章标签、分类</h2> 
  <p>在新建的文章开头编辑文章的题目,作者,日期,标签等。</p> 
  <pre><code class="prism language-text">---
title: test
date: 2020-10-17 17:24:36
author: hiyo
copyright: true
tags:
  - 标签1    
  - 标签2
categories: 分类
---
</code></pre> 
  <h3>子分类</h3> 
  <p>将该文章放到 Sports/Baseball 这个分类下。</p> 
  <pre><code class="prism language-text">categories:	
	- Sports
	- Baseball 
</code></pre> 
  <p>或者:</p> 
  <pre><code class="prism language-text">categories:
	- [Sports,Baseball]
</code></pre> 
  <h3>多个分类</h3> 
  <p>将文章同时分到两个或者多个不同的类目下</p> 
  <pre><code class="prism language-text">categories:  
  - [Sports]  
  - [Play]
</code></pre> 
  <pre><code class="prism language-text">categories:  
  - [Sports,Baseball]
  - [Play]
</code></pre> 
  <h2>博客插入图片</h2> 
  <p>介绍三种方法</p> 
  <h3>src 链接</h3> 
  <p>外部的 src 链接地址,存放在 CDN 上,或某图床上</p> 
  <h3>本地绝对路径</h3> 
  <p>将图片统一放在 source/images 文件夹中,在博客中使用如下方式引用图片:</p> 
  <pre><code class="prism language-text">![img](/images/test.jpg)
</code></pre> 
  <h3>本地相对路径</h3> 
  <p>将放在文章自己的目录中,配置项目配置文件 _config.yml :</p> 
  <pre><code class="prism language-text">post_asset_folder: true
</code></pre> 
  <p>执行命令 <code>$ hexo new post_name</code>,在 source/_posts 中会生成文章 post_name.md 和同名文件夹 post_name 。将图片资源放在 post_name 中,文章就可以使用相对路径引用图片资源了。</p> 
  <pre><code class="prism language-text">![img](test.jpg)
</code></pre> 
  <p>也可以手动创建博客文件和同名文件夹。</p> 
  <h1>搜索页</h1> 
  <p>先安装一个插件 hexo-generator-searchdb:<code>npm install hexo-generator-searchdb --save</code></p> 
  <p><a href="http://img.e-com-net.com/image/info8/b22019693d984a35a8105e9689b3c4d3.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/b22019693d984a35a8105e9689b3c4d3.jpg" alt="Hexo+Github/Gitee 搭建个人博客_第13张图片" width="650" height="171" style="border:1px solid black;"></a></p> 
  <p>修改<strong>项目</strong>的 _config.yml 配置文件:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">search</span><span class="token punctuation">:</span> 
  <span class="token key atrule">path</span><span class="token punctuation">:</span> search.xml 
  <span class="token key atrule">field</span><span class="token punctuation">:</span> post 
  <span class="token key atrule">format</span><span class="token punctuation">:</span> html 
  limit<span class="token punctuation">:</span><span class="token number">10000</span>
</code></pre> 
  <p>修改<strong>主题</strong>的 _config.yml 配置文件:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">local_search</span><span class="token punctuation">:</span>
  <span class="token key atrule">enable</span><span class="token punctuation">:</span> <span class="token boolean important">true</span>
  <span class="token comment"># If auto, trigger search by changing input.</span>
  <span class="token comment"># If manual, trigger search by pressing enter key or search button.</span>
  <span class="token key atrule">trigger</span><span class="token punctuation">:</span> auto
  <span class="token comment"># Show top n results per article, show all results by setting to -1</span>
  <span class="token key atrule">top_n_per_article</span><span class="token punctuation">:</span> <span class="token number">5</span>
  <span class="token comment"># Unescape html strings to the readable one.</span>
  <span class="token key atrule">unescape</span><span class="token punctuation">:</span> <span class="token boolean important">false</span>
  <span class="token comment"># Preload the search data when the page loads.</span>
  <span class="token key atrule">preload</span><span class="token punctuation">:</span> <span class="token boolean important">false</span>
</code></pre> 
  <center> 
   <b>--THE END--<b></b></b> 
  </center> 
  <blockquote> 
   <p>文章标题:Hexo+Github/Gitee 搭建个人博客<br> 本文作者:hiyo<br> 本文链接:https://blog.csdn.net/u010698107/article/details/113781267<br> 欢迎关注公众号:「测试开发小记」及时接收最新技术文章!</p> 
  </blockquote> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1359787619281559552"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(个人博客,Hexo)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1943601337052753920.htm"
                           title="杭州华信设计研究院国企 Java 实习面经" target="_blank">杭州华信设计研究院国企 Java 实习面经</a>
                        <span class="text-muted">程序员小白条</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>杭州华信设计研究院国企Java实习面经本文作者:程序员小白条本站地址:https://xbt.xiaobaitiao.top面试官:这边收到你的xxx简历,现在方便做一个简单的面试沟通吗?我:方便的方便的,内心OS:面经+1。1)面试官:先做个自我介绍吧我:常规操作,比八股背的熟多了,主要突出我全栈的一个学习过程,并且做了一个开源项目,我这边给大家的建议,尤其是双非同学,如果没啥亮点的话,个人博客</div>
                    </li>
                    <li><a href="/article/1943474119567798272.htm"
                           title="【华为OD机试真题 2025B卷】138、计算快递主站点 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)" target="_blank">【华为OD机试真题 2025B卷】138、计算快递主站点 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)</a>
                        <span class="text-muted">KFickle</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%28C%2B%2B/1.htm">最新华为OD机试(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py/1.htm">Py</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/JS%29%2BOJ/1.htm">JS)+OJ</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E7%9C%9F%E9%A2%98/1.htm">华为OD机试真题</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E5%BF%AB%E9%80%92%E4%B8%BB%E7%AB%99%E7%82%B9/1.htm">计算快递主站点</a>
                        <div>文章目录一、题目题目描述输入输出样例1样例2二、代码与思路参考C++代码Java代码Python代码C语言代码JS代码订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KFickle专栏介绍:最新的华为OD机试真题,使用C++,Java,Python,C语言,JS五种语言进行解答,每个题目都包含解题思路,五种语言的解法,每日持续更新中,订阅后支持开通在线OJ测试刷题!!!一次订阅永久享受更新,有代</div>
                    </li>
                    <li><a href="/article/1942754841755447296.htm"
                           title="【华为OD机试真题 2025B卷】130、最多获得的短信条数、云短信平台优惠活动 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)" target="_blank">【华为OD机试真题 2025B卷】130、最多获得的短信条数、云短信平台优惠活动 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)</a>
                        <span class="text-muted">KFickle</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%28C%2B%2B/1.htm">最新华为OD机试(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py/1.htm">Py</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/JS%29%2BOJ/1.htm">JS)+OJ</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E7%9C%9F%E9%A2%98/1.htm">华为OD机试真题</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%9A%E8%8E%B7%E5%BE%97%E7%9A%84%E7%9F%AD%E4%BF%A1%E6%9D%A1%E6%95%B0/1.htm">最多获得的短信条数</a>
                        <div>文章目录一、题目题目描述输入输出样例1样例2二、代码与思路参考C++代码Java代码Python代码C语言代码JS代码订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KFickle专栏介绍:最新的华为OD机试真题,使用C++,Java,Python,C语言,JS五种语言进行解答,每个题目都包含解题思路,五种语言的解法,每日持续更新中,订阅后支持开通在线OJ测试刷题!!!一次订阅永久享受更新,有代</div>
                    </li>
                    <li><a href="/article/1942754839586992128.htm"
                           title="【华为OD机试真题 2025B卷】128、 判断一组不等式是否满足约束并输出最大差 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)" target="_blank">【华为OD机试真题 2025B卷】128、 判断一组不等式是否满足约束并输出最大差 | 机试真题+思路参考+代码解析(C++、Java、Py、C语言、JS)</a>
                        <span class="text-muted">KFickle</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%28C%2B%2B/1.htm">最新华为OD机试(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py/1.htm">Py</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/JS%29%2BOJ/1.htm">JS)+OJ</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95%E7%9C%9F%E9%A2%98/1.htm">华为OD机试真题</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>文章目录一、题目题目描述输入输出样例1样例2二、代码与思路参考C++代码Java代码Python代码C语言代码JS代码订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KFickle专栏介绍:最新的华为OD机试真题,使用C++,Java,Python,C语言,JS五种语言进行解答,每个题目都包含解题思路,五种语言的解法,每日持续更新中,订阅后支持开通在线OJ测试刷题!!!一次订阅永久享受更新,有代</div>
                    </li>
                    <li><a href="/article/1942561590033313792.htm"
                           title="VanBlog:一站式个人博客系统的技术解析与使用指南" target="_blank">VanBlog:一站式个人博客系统的技术解析与使用指南</a>
                        <span class="text-muted">童霆腾Sorrowful</span>

                        <div>VanBlog:一站式个人博客系统的技术解析与使用指南vanblog一款简洁实用优雅的个人博客系统项目地址:https://gitcode.com/gh_mirrors/va/vanblog项目概述VanBlog是一个专注于个人博客场景的一站式解决方案,旨在提供简洁优雅、加载速度快、功能完备的博客系统。它集成了前后台和服务端,解决了传统博客系统"分离"、"折腾"和"不优雅"三大痛点。核心特性解析性</div>
                    </li>
                    <li><a href="/article/1942393796792741888.htm"
                           title="《深入浅出 React 19:AI 视角下的源码解析与进阶》- JSX 与 React Element" target="_blank">《深入浅出 React 19:AI 视角下的源码解析与进阶》- JSX 与 React Element</a>
                        <span class="text-muted"></span>

                        <div>如果你对React源码解析感兴趣,欢迎访问我的个人博客:深入浅出React19:AI视角下的源码解析与进阶或者我的微信公众号-前端小卒在我的博客和公众号中,你可以找到:完整的React源码解析电子书-从基础概念到高级实现,全面覆盖React18的核心机制系统化的学习路径-按照React的执行流程,循序渐进地深入每个模块实战案例分析-结合真实场景,理解React设计思想和最佳实践最新技术动态-持续更</div>
                    </li>
                    <li><a href="/article/1942179990720278528.htm"
                           title="【学习】搭建个人Hexo博客网站" target="_blank">【学习】搭建个人Hexo博客网站</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                        <div>一、准备环境1、安装node访问Node.js官网:https://nodejs.org/下载LTS(长期支持版本)安装时保持默认选项即可安装完成后,打开命令提示符验证安装:node-v2、安装npmnpm已包含在Node.js安装包中,安装Node.js时会自动安装打开命令提示符验证安装:npm-v更新npm到最新版本(可选):npminstall-gnpm3、安装hexo打开命令提示符,以管理</div>
                    </li>
                    <li><a href="/article/1941048918355800064.htm"
                           title="基于Spring Boot + MyBatis-Plus + Thymeleaf的评论管理系统深度解析" target="_blank">基于Spring Boot + MyBatis-Plus + Thymeleaf的评论管理系统深度解析</a>
                        <span class="text-muted">召田最帅boy</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>你好呀,我是小邹。个人博客系统日渐完善,现在的文章评论以及留言数量逐渐增多,所以今天重构了管理后台的评论列表(全量查询->分页条件搜索)。示例图网页端手机端一、系统架构设计与技术选型系统采用前后端分离架构,但后端保留模板渲染能力(Thymeleaf),兼顾管理后台的快速开发与前后端协作的灵活性。核心选型如下:层次技术/框架选择理由后端SpringBoot2.7.x简化配置、自动装配、内置Tomca</div>
                    </li>
                    <li><a href="/article/1941006668326301696.htm"
                           title="构建个人博客系统:基于Vue和Element UI的静态网页实现" target="_blank">构建个人博客系统:基于Vue和Element UI的静态网页实现</a>
                        <span class="text-muted">布兰妮甜</span>
<a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E7%B3%BB%E7%BB%9F/1.htm">个人博客系统</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>Hi,我是布兰妮甜!在当今数字化时代,拥有个人博客系统已成为展示技术能力、分享知识和建立个人品牌的重要方式。本文将详细介绍如何使用Vue.js框架配合ElementUI组件库构建一个功能完善的静态个人博客系统。文章目录一、项目概述1.1技术选型理由1.2系统功能规划二、环境搭建2.1初始化Vue项目2.2安装ElementUI2.3配置ElementUI2.4安装其他必要依赖三、项目结构设计四、核</div>
                    </li>
                    <li><a href="/article/1940955438572957696.htm"
                           title="如何选择SSL证书更具性价比?" target="_blank">如何选择SSL证书更具性价比?</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/ssl%E8%AF%81%E4%B9%A6%E8%BF%90%E7%BB%B4%E6%9C%8D%E5%8A%A1%E5%99%A8%E6%95%99%E7%A8%8B%E7%9F%A5%E8%AF%86/1.htm">ssl证书运维服务器教程知识</a>
                        <div>选择SSL证书时,性价比需综合考虑证书类型、功能需求、品牌信誉、价格及服务支持等因素。以下是详细的选择策略,帮助你在保障安全的同时优化成本:一、明确自身需求:按网站类型匹配证书类型根据域名数量选择证书类型证书类型适用场景价格区间性价比优势单域名证书单个网站(如http://www.example.com)低价(百元级)基础需求首选,适合个人博客、中小企业官网多域名证书(SAN/UCC)多个不同域名</div>
                    </li>
                    <li><a href="/article/1939682119261417472.htm"
                           title="【题解】洛谷P1001 A+B Problem" target="_blank">【题解】洛谷P1001 A+B Problem</a>
                        <span class="text-muted">炯炯目光</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>写在前面第一篇博客,献给2020年的残夏。静听8月的热情与安宁,在竞赛中的时光如白驹过隙。也不惧未知的风雨,努力向着既往的通途。ACMACMACM的目标,希望能实现吧。同时,推荐一下我的个人博客,欢迎访问。https://www.cnblogs.com/jjmg/下面是页面编辑的测试。题目地址https://www.luogu.com.cn/problem/P1001题目描述输入两个整数a,ba,</div>
                    </li>
                    <li><a href="/article/1939266378762612736.htm"
                           title="hexo php推送百度,Hexo站点主动推送百度-基于Flow.ci" target="_blank">hexo php推送百度,Hexo站点主动推送百度-基于Flow.ci</a>
                        <span class="text-muted">数数科技</span>
<a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/php%E6%8E%A8%E9%80%81%E7%99%BE%E5%BA%A6/1.htm">php推送百度</a>
                        <div>写在前面:下面是链接提交方式的对比:如何选择链接提交方式1、主动推送:最为快速的提交方式,推荐您将站点当天新产出链接立即通过此方式推送给百度,以保证新链接可以及时被百度收录。2、自动推送:最为便捷的提交方式,请将自动推送的JS代码部署在站点的每一个页面源代码中,部署代码的页面在每次被浏览时,链接会被自动推送给百度。可以与主动推送配合使用。3、sitemap:您可以定期将网站链接放到sitemap中</div>
                    </li>
                    <li><a href="/article/1939032361513578496.htm"
                           title="Qt设置窗口置顶(避免窗口隐藏)" target="_blank">Qt设置窗口置顶(避免窗口隐藏)</a>
                        <span class="text-muted">空名Noname</span>
<a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a>
                        <div>转自个人博客方法一说在前面:本方法比较通用,但经过我的使用,发现其存在问题,而下面方法二正常使用存在问题:在窗口置顶后,会自动隐藏,即便在设置窗口置顶后手动对窗口使用show()或setVisible(true)等方法显示出来,也会出现窗口闪烁的现象,极不自然。对你的主窗口QMainWindow或者主控件QWidget使用以下方法,都是Qt自带的。窗口置顶也是一个标志,先获取窗口已有的所有标志,再</div>
                    </li>
                    <li><a href="/article/1939032362482462720.htm"
                           title="C++使用大小括号初始化变量" target="_blank">C++使用大小括号初始化变量</a>
                        <span class="text-muted">空名Noname</span>
<a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>转自个人博客本文对普通变量、普通类对象在初始化时使用()和{}的情况进行区分说明,以免混淆不清。一般使用()是使用构造函数初始化,使用{}是使用列表初始化,如下。1.基本初始化(略过)这里大概对基本初始化方式做一个归纳1.1默认初始化即只声明,让其调用默认构造函数。对于基本变量类型(如int、double…),只声明就不会定义具体的初始值。对于类对象,就会调用可以不用填参数的默认构造函数,如果没有</div>
                    </li>
                    <li><a href="/article/1938943461801652224.htm"
                           title="docker-compose配置文件解析" target="_blank">docker-compose配置文件解析</a>
                        <span class="text-muted">疯狂吧小飞牛</span>
<a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>原文地址:docker-compose配置文件解析–无敌牛欢迎参观我的个人博客:无敌牛–技术/著作/典籍/分享等我们在把服务docker化的时候,不仅需要把各个服务做成docker镜像,还需要编辑各个服务之间的启动方式。对于不需要暴露的端口,还需要通过虚拟网桥的方式,保证各个服务之间的正常通讯。这就需要用到docker-compose工具,并且需要编辑对应的DockerCompose配置文件来控制</div>
                    </li>
                    <li><a href="/article/1938426358183030784.htm"
                           title="前端实战:运用 HTML、CSS 和 JavaScript 技术,打造一个宇宙风格的个人空间站网页" target="_blank">前端实战:运用 HTML、CSS 和 JavaScript 技术,打造一个宇宙风格的个人空间站网页</a>
                        <span class="text-muted">迟雨.</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/web/1.htm">web</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>一、引言在当今数字化的时代,拥有一个属于自己的个人空间网页是一件非常有意义的事情。本文将详细介绍如何运用HTML、CSS和JavaScript技术,构建一个类似宇宙的个人空间站网页。二、项目概述这个个人空间站网页由首页、个人中心、作品展示和个人博客四个核心页面组成。整体设计以宇宙星空为主题,融入星球、星星和流星等元素,营造出神秘而奇幻的氛围。用户可以通过点击首页的星球图标,轻松导航至不同页面,开启</div>
                    </li>
                    <li><a href="/article/1937914384068177920.htm"
                           title="各QJson类型之间及与QString的相互转换" target="_blank">各QJson类型之间及与QString的相互转换</a>
                        <span class="text-muted">空名Noname</span>
<a class="tag" taget="_blank" href="/search/vtk/1.htm">vtk</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>转自个人博客闲来无事,总结一下这四种QJson类型,包括QJsonObject、QJsonArray、QJsonValue、QJsonDocument,重点是记录一下这四种类型之间及与QString的相互转换,免得每次用到都要再搜一遍。1.QJson类型介绍Qt提供了用于处理JSON数据的四种主要类型:QJsonObject:表示一个JSON对象,JSON对象类似于键值对的字典,其有着指定的格式要</div>
                    </li>
                    <li><a href="/article/1937719325968363520.htm"
                           title="DV SSL证书管理主要有哪些功能?" target="_blank">DV SSL证书管理主要有哪些功能?</a>
                        <span class="text-muted">Jtti</span>
<a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>在互联网信息传输高速发展的今天,用户对网站安全性的要求越来越高。SSL证书已成为网站“身份认证+数据加密”的标配。其中,DVSSL证书由于其签发快速、价格低廉、使用广泛,成为大量中小型网站、个人博客、电商平台的首选。然而,选择了DVSSL证书并不意味着一劳永逸,后续的证书管理工作同样重要。一、什么是DVSSL证书?DVSSL证书是SSL证书中最基础的一种类型,只验证域名的所有权,不涉及企业身份认证</div>
                    </li>
                    <li><a href="/article/1937444827272638464.htm"
                           title="requarks/wiki docker 部署" target="_blank">requarks/wiki docker 部署</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/wikidocker/1.htm">wikidocker</a>
                        <div>requarks/wiki一个由Node.js+Vue.js构建的wiki系统,它开箱即用、界面美观、支持多语言(包括中文)、功能齐全,提供了包括评论、Markdown编辑器、图片上传、标签、全局搜索、协同编辑、编辑历史、用户管理、谷歌分析等功能,同时支持高度自定义。适用于构建个人博客和团队内部的知识分享平台。Docker一键部署借用docker.1ms.run做个镜像加速,数据持久化使用卷模式,</div>
                    </li>
                    <li><a href="/article/1937174190239051776.htm"
                           title="使用扣子空间生成html个人主页" target="_blank">使用扣子空间生成html个人主页</a>
                        <span class="text-muted">¥-oriented</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a>
                        <div>扣子空间1.生成提示词生成的提示词以下是一个为UI设计师个人博客主页生成的提示词,涵盖了风格、配色、主要内容等方面:整体风格极简扁平风格:采用简洁、平面化的设计,去除多余的阴影和纹理,使用鲜艳的颜色和简单的图标,以达到简洁、直观和功能性的设计效果,让用户能够快速理解和操作界面,降低认知负担。时尚风格:融入大胆的色彩搭配、创新的排版和布局、动画和过渡效果,以及图形和插画的运用,营造出时尚感和活力感,</div>
                    </li>
                    <li><a href="/article/1936861159013543936.htm"
                           title="QT中多线程写法" target="_blank">QT中多线程写法</a>
                        <span class="text-muted">空名Noname</span>
<a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>转自个人博客:QT中多线程写法1.QThread及moveToThread()使用情况:多使用于需要将有着复杂逻辑或需要一直占用并运行的类放入子线程中执行的情况,moveToThread是将整个类的对象移入子线程。优缺点:优点:更符合QT的逻辑设计;灵活使用管理线程;将类的任务逻辑与线程逻辑区分开。缺点:不易于单独对指定函数单独放入子线程,也就不易于将一个类中多个函数放入多个子线程执行。使用方法:</div>
                    </li>
                    <li><a href="/article/1936861159428780032.htm"
                           title="【转载翻译】Open3D和PCL的一些比较" target="_blank">【转载翻译】Open3D和PCL的一些比较</a>
                        <span class="text-muted">空名Noname</span>
<a class="tag" taget="_blank" href="/search/open3d/1.htm">open3d</a><a class="tag" taget="_blank" href="/search/%E7%82%B9%E4%BA%91/1.htm">点云</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a>
                        <div>转自个人博客:【转载翻译】Open3D和PCL的一些比较本人在逛Github时,发现一个解答Open3D和PCL对比的小文章,还挺有参考价值的原文:https://github.com/LaplaceKorea/investigate_open3d_vs_pcl/blob/main/README.rst#whats-the-support-for-gpus-look-like-in-open3d-</div>
                    </li>
                    <li><a href="/article/1936718590417891328.htm"
                           title="Hexo创建博客的front-matter内容详细信息(基本元数据配置)" target="_blank">Hexo创建博客的front-matter内容详细信息(基本元数据配置)</a>
                        <span class="text-muted">HOG於洋</span>
<a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/1.htm">个人博客搭建</a><a class="tag" taget="_blank" href="/search/butterfly/1.htm">butterfly</a><a class="tag" taget="_blank" href="/search/md%E6%96%87%E6%A1%A3/1.htm">md文档</a>
                        <div>如何创建博客:在你的文件根目录打开cmd,输入:hexonewpost""创建文件地址:source/_posts目录基础信息分类与标签页面展示相关目录设置版权信息功能开关其他信息基础信息id:******文章的唯一标识符,可用于区分不同文章,在一些场景下方便管理和引用特定文章。title:****文章的标题,会显示在博客文章列表、文章页面顶部等位置。分类与标签tags:-***-***文章的标签</div>
                    </li>
                    <li><a href="/article/1935575682637688832.htm"
                           title="CDN 加速原理揭秘:提升网站加载速度的秘密" target="_blank">CDN 加速原理揭秘:提升网站加载速度的秘密</a>
                        <span class="text-muted">云盾安全防护</span>
<a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>在互联网高速发展的今天,网站的加载速度已经成为影响用户体验和业务转化率的关键因素。无论你是运营电商平台、内容网站,还是个人博客,网站速度慢都可能导致用户流失。而CDN(内容分发网络)作为提升网站性能的重要技术,早已被广泛应用。那么,CDN到底是如何工作的?它为何能显著提升网站加载速度?本文将为你揭秘CDN的加速原理,并探讨其背后的技术秘密。一、CDN是什么?基本概念解析CDN,全称ContentD</div>
                    </li>
                    <li><a href="/article/1935496763557343232.htm"
                           title="Hexo-theme-NexT主题语法高亮" target="_blank">Hexo-theme-NexT主题语法高亮</a>
                        <span class="text-muted">vhgcc</span>
<a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/next/1.htm">next</a>
                        <div>目前NexT主题最新版本中已经集成了tomorrow-theme语法高亮模块儿,并且内置五种风格,下面是主题配置文件相关部分:#CodeHighlighttheme#Availablevalues:normal|night|nighteighties|nightblue|nightbright#https://github.com/chriskempson/tomorrow-themehighli</div>
                    </li>
                    <li><a href="/article/1935462222939615232.htm"
                           title="解决Usage: hexo <command> Commands: help Get help on a command. init Create a new Hexo fo" target="_blank">解决Usage: hexo <command> Commands: help Get help on a command. init Create a new Hexo fo</a>
                        <span class="text-muted">gohacker</span>
<a class="tag" taget="_blank" href="/search/p2p/1.htm">p2p</a><a class="tag" taget="_blank" href="/search/tv/1.htm">tv</a><a class="tag" taget="_blank" href="/search/linq/1.htm">linq</a>
                        <div>Usage:hexoCommands:helpGethelponacommand.initCreateanewHexofolder.versionDisplayversioninformation.GlobalOptions:--configSpecifyconfigfileinsteadofusing_config.yml--cwdSpecifytheCWD--d1.hexoinitC:/hex</div>
                    </li>
                    <li><a href="/article/1935441672372547584.htm"
                           title="山东大学软件学院项目实训-基于大模型的模拟面试系统-个人博客(十)" target="_blank">山东大学软件学院项目实训-基于大模型的模拟面试系统-个人博客(十)</a>
                        <span class="text-muted">TydKsx</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>开发博客:AI面试官个性化出题MCP功能最终完善本周作为项目开发的最后冲刺阶段,我们致力于进一步增强AI面试官在个性化题目生成方面的能力。核心工作是新增和优化了一系列MCP(Multi-turnConversationProtocol)工具,旨在为AI面试官提供更丰富、更精准的用户画像和知识背景,从而生成更具针对性的面试题目。目前整个MCP工具链的结构如下:本周主要完成的MCP功能模块包括:que</div>
                    </li>
                    <li><a href="/article/1935441168573722624.htm"
                           title="山东大学软件学院项目实训-基于大模型的模拟面试系统-个人博客(三)" target="_blank">山东大学软件学院项目实训-基于大模型的模拟面试系统-个人博客(三)</a>
                        <span class="text-muted">TydKsx</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>AI面试官聊天系统开发周报-技术实现与思考一、本周核心工作内容本周主要完成了AI面试官聊天系统的核心功能开发,重点实现了以下功能模块:分支式对话管理系统:完整实现了多分支对话逻辑AI消息轮询机制:优化了长文本流式接收体验文件上传与对话整合:支持简历等文件的上传解析Markdown渲染:优化AI回答的展示效果二、关键技术实现解析1.分支式对话管理系统架构设计我们采用树形结构管理对话分支,每个分支节点</div>
                    </li>
                    <li><a href="/article/1935269087215153152.htm"
                           title="浅谈时序数据库 Apache-IoTDB 源码解析之前言" target="_blank">浅谈时序数据库 Apache-IoTDB 源码解析之前言</a>
                        <span class="text-muted">AI科学小老师</span>

                        <div>个人博客导航页(点击右侧链接即可打开个人博客):大牛带你入门技术栈这一章主要想聊一聊:为什么重复造轮子,从物联网行业的数据特点到IoTDB的发展过程这个轮子造的怎么样,IoTDB和竞品测试对比时序数据我个人理解时序数据是基于时间维度的同一个物体或概念的值构成的一个序列数据。在传统关系型数据库中,例如MySQL,我们通常会放置一个自增的Id列作为主键标识,如下:Id人名体温测量时间1张三36.520</div>
                    </li>
                    <li><a href="/article/1934374648380715008.htm"
                           title="阿里云服务器 篇九:个人博客类网站" target="_blank">阿里云服务器 篇九:个人博客类网站</a>
                        <span class="text-muted">李小白杂货铺</span>
<a class="tag" taget="_blank" href="/search/%E6%96%9C%E6%9D%A0%E4%BA%BA%E7%94%9F/1.htm">斜杠人生</a><a class="tag" taget="_blank" href="/search/flatnotes/1.htm">flatnotes</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/1.htm">个人博客</a><a class="tag" taget="_blank" href="/search/CMS/1.htm">CMS</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/Wiki/1.htm">Wiki</a>
                        <div>文章目录样例网站系列文章个人博客类(Blog、CMS、note、Wiki)开源项目汇总Haven:基于数据库的私有博客平台FlatPress:基于BBcode文件的博客平台Serendipity:基于Smarty文件的博客平台HTMLy:基于Markdown文件的博客平台/CMSStrapi:基于数据库的无头CMSPluXml:基于XML文件的CMSBludit:基于JSON文件的CMSExpre</div>
                    </li>
                                <li><a href="/article/40.htm"
                                       title="java线程Thread和Runnable区别和联系" target="_blank">java线程Thread和Runnable区别和联系</a>
                                    <span class="text-muted">zx_code</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/Runnable/1.htm">Runnable</a>
                                    <div>我们都晓得java实现线程2种方式,一个是继承Thread,另一个是实现Runnable。 
 
模拟窗口买票,第一例子继承thread,代码如下 
 
package thread;

public class ThreadTest {
	
	public static void main(String[] args) {
		
		Thread1 t1 = new Thread1(</div>
                                </li>
                                <li><a href="/article/167.htm"
                                       title="【转】JSON与XML的区别比较" target="_blank">【转】JSON与XML的区别比较</a>
                                    <span class="text-muted">丁_新</span>
<a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>1.定义介绍 
(1).XML定义 
扩展标记语言 (Extensible Markup Language, XML) ,用于标记电子文件使其具有结构性的标记语言,可以用来标记数据、定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言。 XML使用DTD(document type definition)文档类型定义来组织数据;格式统一,跨平台和语言,早已成为业界公认的标准。 
XML是标</div>
                                </li>
                                <li><a href="/article/294.htm"
                                       title="c++ 实现五种基础的排序算法" target="_blank">c++ 实现五种基础的排序算法</a>
                                    <span class="text-muted">CrazyMizzz</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                                    <div>#include<iostream>
using namespace std;


//辅助函数,交换两数之值
template<class T>
void mySwap(T &x, T &y){
	T temp = x;
	x = y;
	y = temp;
}

const int size = 10;

//一、用直接插入排</div>
                                </li>
                                <li><a href="/article/421.htm"
                                       title="我的软件" target="_blank">我的软件</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/%E6%88%91%E7%9A%84%E8%BD%AF%E4%BB%B6/1.htm">我的软件</a><a class="tag" taget="_blank" href="/search/%E9%9F%B3%E4%B9%90%E7%B1%BB/1.htm">音乐类</a><a class="tag" taget="_blank" href="/search/%E5%A8%B1%E4%B9%90/1.htm">娱乐</a><a class="tag" taget="_blank" href="/search/%E6%94%BE%E6%9D%BE/1.htm">放松</a>
                                    <div>     这是我写的一款app软件,耗时三个月,是一个根据央视节目开门大吉改变的,提供音调,猜歌曲名。1、手机拥有者在android手机市场下载本APP,同意权限,安装到手机上。2、游客初次进入时会有引导页面提醒用户注册。(同时软件自动播放背景音乐)。3、用户登录到主页后,会有五个模块。a、点击不胫而走,用户得到开门大吉首页部分新闻,点击进入有新闻详情。b、</div>
                                </li>
                                <li><a href="/article/548.htm"
                                       title="linux awk命令详解" target="_blank">linux awk命令详解</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux+awk/1.htm">linux awk</a>
                                    <div>awk是行处理器: 相比较屏幕处理的优点,在处理庞大文件时不会出现内存溢出或是处理缓慢的问题,通常用来格式化文本信息 
awk处理过程: 依次对每一行进行处理,然后输出 
awk命令形式: 
awk [-F|-f|-v] ‘BEGIN{} //{command1; command2} END{}’ file 
 [-F|-f|-v]大参数,-F指定分隔符,-f调用脚本,-v定义变量 var=val</div>
                                </li>
                                <li><a href="/article/675.htm"
                                       title="各种语言比较" target="_blank">各种语言比较</a>
                                    <span class="text-muted">_wy_</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a>
                                    <div>                       Java Ruby PHP   擅长领域                      </div>
                                </li>
                                <li><a href="/article/802.htm"
                                       title="oracle 中数据类型为clob的编辑" target="_blank">oracle 中数据类型为clob的编辑</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/oracle+clob/1.htm">oracle clob</a>
                                    <div>public void updateKpiStatus(String kpiStatus,String taskId){
	Connection dbc=null;
	Statement stmt=null;
	PreparedStatement ps=null;
	try {
		dbc = new DBConn().getNewConnection();
		//stmt = db</div>
                                </li>
                                <li><a href="/article/929.htm"
                                       title="分布式服务框架 Zookeeper -- 管理分布式环境中的数据" target="_blank">分布式服务框架 Zookeeper -- 管理分布式环境中的数据</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a>
                                    <div>原文地址: 
http://www.ibm.com/developerworks/cn/opensource/os-cn-zookeeper/ 
安装和配置详解 
本文介绍的 Zookeeper 是以 3.2.2 这个稳定版本为基础,最新的版本可以通过官网 http://hadoop.apache.org/zookeeper/来获取,Zookeeper 的安装非常简单,下面将从单机模式和集群模式两</div>
                                </li>
                                <li><a href="/article/1056.htm"
                                       title="tomcat数据源" target="_blank">tomcat数据源</a>
                                    <span class="text-muted">alafqq</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>数据库 
 
 JNDI(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。 
 
 
 没有使用JNDI时我用要这样连接数据库: 
 
 
03.  Class.forName("com.mysql.jdbc.Driver");  
04.  conn</div>
                                </li>
                                <li><a href="/article/1183.htm"
                                       title="遍历的方法" target="_blank">遍历的方法</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E9%81%8D%E5%8E%86/1.htm">遍历</a>
                                    <div>                                                      遍历 
在java的泛</div>
                                </li>
                                <li><a href="/article/1310.htm"
                                       title="linux查看硬件信息的命令" target="_blank">linux查看硬件信息的命令</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>linux查看硬件信息的命令 
一.查看CPU: 
cat /proc/cpuinfo 
  
二.查看内存: 
free 
  
三.查看硬盘: 
df 
  
linux下查看硬件信息 
1、lspci 列出所有PCI 设备; 
lspci - list all PCI devices:列出机器中的PCI设备(声卡、显卡、Modem、网卡、USB、主板集成设备也能</div>
                                </li>
                                <li><a href="/article/1437.htm"
                                       title="java常见的ClassNotFoundException" target="_blank">java常见的ClassNotFoundException</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>1.java.lang.ClassNotFoundException: org.apache.commons.logging.LogFactory   添加包common-logging.jar2.java.lang.ClassNotFoundException: javax.transaction.Synchronization    </div>
                                </li>
                                <li><a href="/article/1564.htm"
                                       title="【Gson五】日期对象的序列化和反序列化" target="_blank">【Gson五】日期对象的序列化和反序列化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/%E5%8F%8D%E5%BA%8F%E5%88%97%E5%8C%96/1.htm">反序列化</a>
                                    <div>对日期类型的数据进行序列化和反序列化时,需要考虑如下问题: 
  
1. 序列化时,Date对象序列化的字符串日期格式如何 
2. 反序列化时,把日期字符串序列化为Date对象,也需要考虑日期格式问题 
3. Date A -> str -> Date B,A和B对象是否equals 
  默认序列化和反序列化 
  
  
import com</div>
                                </li>
                                <li><a href="/article/1691.htm"
                                       title="【Spark八十六】Spark Streaming之DStream vs. InputDStream" target="_blank">【Spark八十六】Spark Streaming之DStream vs. InputDStream</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a>
                                    <div>  1. DStream的类说明文档: 
  
/**
 * A Discretized Stream (DStream), the basic abstraction in Spark Streaming, is a continuous
 * sequence of RDDs (of the same type) representing a continuous st</div>
                                </li>
                                <li><a href="/article/1818.htm"
                                       title="通过nginx获取header信息" target="_blank">通过nginx获取header信息</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/nginx+header/1.htm">nginx header</a>
                                    <div>1. 提取整个的Cookies内容到一个变量,然后可以在需要时引用,比如记录到日志里面, 
  if ( $http_cookie ~* "(.*)$") { 
          set $all_cookie $1; 
  } 
      变量$all_cookie就获得了cookie的值,可以用于运算了 
 
</div>
                                </li>
                                <li><a href="/article/1945.htm"
                                       title="java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999" target="_blank">java-65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>参考了网上的http://blog.csdn.net/peasking_dd/article/details/6342984 
写了个java版的: 
 
 



public class Print_1_To_NDigit {

	/**
	 * Q65.输入数字n,按顺序输出从1最大的n位10进制数。比如输入3,则输出1、2、3一直到最大的3位数即999
	 * 1.使用字符串</div>
                                </li>
                                <li><a href="/article/2072.htm"
                                       title="Netty源码学习-ReplayingDecoder" target="_blank">Netty源码学习-ReplayingDecoder</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/netty/1.htm">netty</a>
                                    <div>ReplayingDecoder是FrameDecoder的子类,不熟悉FrameDecoder的,可以先看看 
 
http://bylijinnan.iteye.com/blog/1982618 
 
API说,ReplayingDecoder简化了操作,比如: 
 
FrameDecoder在decode时,需要判断数据是否接收完全: 
 
 

public class IntegerH</div>
                                </li>
                                <li><a href="/article/2199.htm"
                                       title="js特殊字符过滤" target="_blank">js特殊字符过滤</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6/1.htm">js特殊字符</a><a class="tag" taget="_blank" href="/search/js%E7%89%B9%E6%AE%8A%E5%AD%97%E7%AC%A6%E8%BF%87%E6%BB%A4/1.htm">js特殊字符过滤</a>
                                    <div>1.js中用正则表达式 过滤特殊字符, 校验所有输入域是否含有特殊符号function stripscript(s) {    var pattern = new RegExp("[`~!@#$^&*()=|{}':;',\\[\\].<>/?~!@#¥……&*()&mdash;—|{}【】‘;:”“'。,、?]"</div>
                                </li>
                                <li><a href="/article/2326.htm"
                                       title="hibernate使用sql查询" target="_blank">hibernate使用sql查询</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a>
                                    <div>
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import org.hibernate.Hibernate;
import org.hibernate.SQLQuery;
import org.hibernate.Session;
import org.hibernate.Transa</div>
                                </li>
                                <li><a href="/article/2453.htm"
                                       title="linux shell脚本中切换用户执行命令方法" target="_blank">linux shell脚本中切换用户执行命令方法</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a><a class="tag" taget="_blank" href="/search/%E5%88%87%E6%8D%A2%E7%94%A8%E6%88%B7/1.htm">切换用户</a>
                                    <div>经常在写shell脚本时,会碰到要以另外一个用户来执行相关命令,其方法简单记下: 
  
1、执行单个命令:su - user -c "command" 
如:下面命令是以test用户在/data目录下创建test123目录 
[root@slave19 /data]# su - test -c "mkdir /data/test123" </div>
                                </li>
                                <li><a href="/article/2580.htm"
                                       title="好的代码里只要一个 return 语句" target="_blank">好的代码里只要一个 return 语句</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/return/1.htm">return</a>
                                    <div>别再这样写了:public boolean foo() {    if (true) {         return true;     } else {          return false;    </div>
                                </li>
                                <li><a href="/article/2707.htm"
                                       title="Android动画效果学习" target="_blank">Android动画效果学习</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>1、透明动画效果 
方法一:代码实现 
	public View onCreateView(LayoutInflater inflater, ViewGroup container, Bundle savedInstanceState)
		{
			View rootView = inflater.inflate(R.layout.fragment_main, container, fals</div>
                                </li>
                                <li><a href="/article/2834.htm"
                                       title="linux复习笔记之bash shell (4)管道命令" target="_blank">linux复习笔记之bash shell (4)管道命令</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4%E6%B1%87%E6%80%BB/1.htm">linux管道命令汇总</a><a class="tag" taget="_blank" href="/search/linux%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux管道命令</a><a class="tag" taget="_blank" href="/search/linux%E5%B8%B8%E7%94%A8%E7%AE%A1%E9%81%93%E5%91%BD%E4%BB%A4/1.htm">linux常用管道命令</a>
                                    <div>转载请出自出处:
http://eksliang.iteye.com/blog/2105461   
  bash命令执行的完毕以后,通常这个命令都会有返回结果,怎么对这个返回的结果做一些操作呢?那就得用管道命令‘|’。 
    上面那段话,简单说了下管道命令的作用,那什么事管道命令呢? 
    答:非常的经典的一句话,记住了,何为管</div>
                                </li>
                                <li><a href="/article/2961.htm"
                                       title="Android系统中自定义按键的短按、双击、长按事件" target="_blank">Android系统中自定义按键的短按、双击、长按事件</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>在项目中碰到这样的问题: 
由于系统中的按键在底层做了重新定义或者新增了按键,此时需要在APP层对按键事件(keyevent)做分解处理,模拟Android系统做法,把keyevent分解成: 
1、单击事件:就是普通key的单击; 
2、双击事件:500ms内同一按键单击两次; 
3、长按事件:同一按键长按超过1000ms(系统中长按事件为500ms); 
4、组合按键:两个以上按键同时按住; </div>
                                </li>
                                <li><a href="/article/3088.htm"
                                       title="asp.net获取站点根目录下子目录的名称" target="_blank">asp.net获取站点根目录下子目录的名称</a>
                                    <span class="text-muted">hvt</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a><a class="tag" taget="_blank" href="/search/Web+Forms/1.htm">Web Forms</a>
                                    <div>使用Visual Studio建立一个.aspx文件(Web Forms),例如hovertree.aspx,在页面上加入一个ListBox代码如下: 
<asp:ListBox runat="server" ID="lbKeleyiFolder" /> 
  
那么在页面上显示根目录子文件夹的代码如下: 
string[] m_sub</div>
                                </li>
                                <li><a href="/article/3215.htm"
                                       title="Eclipse程序员要掌握的常用快捷键" target="_blank">Eclipse程序员要掌握的常用快捷键</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a>
                                    <div>   判断一个人的编程水平,就看他用键盘多,还是鼠标多。用键盘一是为了输入代码(当然了,也包括注释),再有就是熟练使用快捷键。       曾有人在豆瓣评
《卓有成效的程序员》:“人有多大懒,才有多大闲”。之前我整理了一个
程序员图书列表,目的也就是通过读书,让程序员变懒。     写道   程序员作为特殊的群体,有的人可以这么懒,懒到事情都交给机器去做,而有的人又可</div>
                                </li>
                                <li><a href="/article/3342.htm"
                                       title="c++编程随记" target="_blank">c++编程随记</a>
                                    <span class="text-muted">lx.asymmetric</span>
<a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                                    <div> 为了字体更好看,改变了格式…… 
  
&&运算符: 
  
#include<iostream> 
using namespace std; 
int main(){ 
     int a=-1,b=4,k; 
     k=(++a<0)&&!(b--</div>
                                </li>
                                <li><a href="/article/3469.htm"
                                       title="linux标准IO缓冲机制研究" target="_blank">linux标准IO缓冲机制研究</a>
                                    <span class="text-muted">音频数据</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>一、什么是缓存I/O(Buffered I/O)缓存I/O又被称作标准I/O,大多数文件系统默认I/O操作都是缓存I/O。在Linux的缓存I/O机制中,操作系统会将I/O的数据缓存在文件系统的页缓存(page cache)中,也就是说,数据会先被拷贝到操作系统内核的缓冲区中,然后才会从操作系统内核的缓冲区拷贝到应用程序的地址空间。1.缓存I/O有以下优点:A.缓存I/O使用了操作系统内核缓冲区,</div>
                                </li>
                                <li><a href="/article/3596.htm"
                                       title="随想 生活" target="_blank">随想 生活</a>
                                    <span class="text-muted">暗黑小菠萝</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a>
                                    <div>其实账户之前就申请了,但是决定要自己更新一些东西看也是最近。从毕业到现在已经一年了。没有进步是假的,但是有多大的进步可能只有我自己知道。 
  
毕业的时候班里12个女生,真正最后做到软件开发的只要两个包括我,PS:我不是说测试不好。当时因为考研完全放弃找工作,考研失败,我想这只是我的借口。那个时候才想到为什么大学的时候不能好好的学习技术,增强自己的实战能力,以至于后来找工作比较费劲。我</div>
                                </li>
                                <li><a href="/article/3723.htm"
                                       title="我认为POJO是一个错误的概念" target="_blank">我认为POJO是一个错误的概念</a>
                                    <span class="text-muted">windshome</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/J2EE/1.htm">J2EE</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1/1.htm">设计</a>
                                    <div>  
            这篇内容其实没有经过太多的深思熟虑,只是个人一时的感觉。从个人风格上来讲,我倾向简单质朴的设计开发理念;从方法论上,我更加倾向自顶向下的设计;从做事情的目标上来看,我追求质量优先,更愿意使用较为保守和稳妥的理念和方法。 
   &</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html><script data-cfasync="false" src="/cdn-cgi/scripts/5c5dd728/cloudflare-static/email-decode.min.js"></script>