基于Hexo和Butterfly创建个人技术博客,(1) 初始化博客站点,您只需要知道Hexo框架的这些内容就足够了

专题概述

本文是个人建站系列的第一篇文章,最终有多少篇文章笔者现在也说不好,因为是一边创建个人站,一边沉淀这个过程。每一步都是实操后再总结文档,文档是以章为单位总结的,每一章都会有几篇文章,在发文前也都经过至少3次的大纲、文案的调整和校对,目的是为了尽量让您能看明白,内容包括但不限于教程、实操、最佳实践等,相对系统化,不过真的非常耗费时间。

  • 本地环境要求:node、git,高级用户可选装nvm进行node管理;
  • 本文档面向:MacOS用户

专题目标

个人建站其实并不简单,但没啥技术门槛,看下Hexo和theme插件的文档,那么代码层面基本就可以无忧了(主题插件一定要在建站之初选定,因为每个主题的使用方法都不一样,决定了网站的风格。后期更换主题需要修改很多配置),但要真正上线的话您还要了解,比如域名、云主机、备案、流量、安全、网站运营、成本控制等等知识。好在笔者这几年工作下来对上述知识多少还是有经验积累的。

本教程终极目标:
对Hexo和Butterfly主题的技术讲解只是初始目标,除hexo和butterlfy外还会涉及其它很多内容,包括运营和成本控制等知识,这将有助于帮您构建自己的技术体系提供参考思路(不局限于个人建立领域)。So,如果您能掌握本系列教程的知识,至少能丰富您个人的技术图谱,也会重新审视技术发展路线以及对未来的规划,而后者是笔者最希望看到的。因为本专题是以建站这个事来开展的,hexo等框架的存技术使用只是做成这个事的充分但不必要条件。

面向对象

本教程即可以做为教程系统的学习也可以做为字典手册来查询使用。

本教程的目标人群:
首先要说的一点就是知识的积累没有捷径可走,全是无数个不眠夜和时间堆出来的。但个体由于目的的不同,其选择的过程和方法也不一样,所以笔者就目的和教程的用法做下简单总结:

  • 如果您只是想了解此方面的内容,那么建议您只需要详读建站流程相关的章节了解下建站的大至内容,然后再按兴趣选读;
  • 如果您想系统掌握这方面的技能,但不做任何与商业化相关的事,建议您每个章节都实操下但不必每个章节都一点不落的操作,一是比较耗时间,二是如果没有明确的目的性很难有所收获,因为本教程很多部分是围绕如何后期商业化运营展开的;
  • 如果您想打造个人技术品牌甚至实现商业化运营,那么我建议您按章节顺序一字不落的实操下。但我还是要先泼盆冷水,要达到这一目的一点也不容易甚至可能会失败,单时间上对于普通人可能需要1-2年的时间甚至更长。建站只是其中一步,本系列教程虽不能带给您全部内容,但一定可以带给您更多的思考以及选择。但庆幸的是我个人认为这是值得的,因为这件事一旦成功其带来的长尾效益和衍生空间是您无法想象的,技术积累和金钱收益只是其中一部分。

本章目标:
掌握hexo的安装、命令使用,并能在本地成功运行网站;也可参考基于hexo和aws云搭建个人博客,0基础0费用,有点豪横(2W字超详细图文教程)一文中描述发布博客到github或云主机上。

一、搭建博客站点

暂定我们的博客的源码所在的根目录的文件夹名为blog,这个文件夹不需要手工创建,在hexo init则初始化时会自动生成,如下;

$npm install hexo-cli -g
$hexo init blog  # 创建博客源码目录

$cd blog
$npm install # npm install [email protected]  安装指定的版本

#安装butterfly主题,推荐下载源码包。
$npm install hexo-theme-butterfly
$npm install hexo-renderer-pug hexo-renderer-stylus --save

修改_config.yml文件中的theme属性值为bufferfly
在_config.yml文件所在的目录下创建一个名为_config.buffterlfy.yml的主题文件

$ npm install hexo-server --save  #选装单独的服务器模块

#服务器启动
$hexo server --debug #--debug参数也可以不写

bufferfly建议用源码安装:

1、下载源码:github bufferfly
2、拷贝源码包中 buffery主题一节中代码示例中的文件 到/themes/bufferfly/下面。

1、hexo源码
2、hexo landspace theme源码 ,安装方式同butterfly。

npm view hexo //查看信息
npm view hexo versions //查看所有版本
npm info hexo //查看依赖信息

project说明

上述操作完成后,我们的项目代码大概如下图所示:

.
├── _config.butterfly.yml
├── _config.yml
├── package.json
├── package-lock.json  #锁定安装时的包的版本号
├── scaffolds #Hexo的模板是指在新建的文章文件中默认填充的内容。
├── source
|   ├── _drafts
|   └── _posts
└── themes
   └── bufferfly
  • package-lock.json:文件锁定版本号,当执行npm install的时候,node不会自动更新package.json文件中的模块,方便多人开发环境的统一;
  • source:资源文件夹,于用存放用户资源的地方。除 posts 文件夹之外,开头命名为 (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。Markdown 和 HTML 文件会被解析并放到 public 文件夹,而其他文件会被拷贝过去。

theme配置

_config.butterfly.yml是主题配置文件,和主配置文件_config.yml都放在根目录下,主题配置文件的内容优先级会高于主配置文件,如果是下载的butterfly主题源码,那么目录结构如下,这些内容是需要拷贝到/themes/butterfly/文件夹下的:

.
├── _config.yml
├── package.json
├── plugins.yml
├── languages
├── layout 
├── scripts
└── source
/themes/bufferfly/_config.yml文件建议保留,做为参考文档,如不需要建议删除掉;

scaffolds模版

Hexo 的模板是指在新建的文章文件中默认填充的内容,每创建一个页面都要指定其使用的layout,默认值是post,以下是各页面相对应的模板名称。

模板 用途 回退
index 首页
post 文章(发博客文章时用到) index
page 分页 index
archive 归档 index
category 分类归档 archive
tag 标签归档 archive

layout自定义布局

如果页面结构类似,例如两个模板都有页首(Header)和页脚(Footer),可考虑通过「布局」让两个模板共享相同的结构。您可在 front-matter 指定其他布局,或是设为 false 来关闭布局功能。

全局布局的写法
//在layout文件下新建一个名为index.ejs的文件,内容如下:
index

// 然后再创建一个名为layout.ejs的文件,内容如下:


<%- body %>


// 最终会生成


index
// 局部模版的写法(Partial),比如partial/header.ejs

<%= config.title %>

//index.ejs <%- partial('partial/header') %>
Home page
//生成

My Site

Home page
// 局部变量的定义,比如partial/header.ejs

<%= title %>

//index.ejs <%- partial('partial/header', {title: 'Hello World'}) %>
Home page
//生成

Hello World

Home page
//优化:新增的局部缓存(Fragment Caching) 功能,,它可用于页首、页脚、侧边栏等文件不常变动的位置
<%- fragment_cache('header', function(){
  return '
'; }); //如果您使用局部模板的话 <%- partial('header', {}, {cache: true});

二、Hexo常用插件

您可以使用 Hexo 提供的官方工具插件来加速开发,如果功能不太复杂建议编写.js脚本,并把其放到 scripts 文件夹中,在启动时就会自动载入。

  • [hexo-fs]:文件 IO
  • [hexo-util]:工具包
  • [hexo-i18n]:本地化(i18n)
  • [hexo-pagination]:分页

三、Hexo命令详解

这些命令在开发时会经常使用,需要完全掌握。

全局参数

$hexo server --debug  #参数举例
  --config  Specify config file instead of using _config.yml
  --debug   Display all verbose messages in the terminal
  --draft   Display draft posts, source/_drafts
  --safe    Disable all plugins and scripts
  --silent  Hide output on console

命令列表

  clean     Remove generated files and cache.
  config    Get or set configurations.
  deploy    Deploy your website.
  generate  Generate static files.
  help      Get help on a command.
  init      Create a new Hexo folder.
  list      List the information of the site
  migrate   Migrate your site from other system to Hexo.
  new       Create a new post.
  publish   Moves a draft post from _drafts to _posts folder.
  render    Render files with renderer plugins.
  server    Start the server.
  version   Display version information.

命令详解

hexo init,新建一个网站

$ hexo init [folder]

hexo new,新建一篇文章

$ hexo new [layout] </code></pre> 
 <p>如果没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数代替。如果标题包含空格的话,请使用引号括起来,示例如下:</p> 
 <pre><code class="bash">#创建文件:/source/tags/index.md
$ hexo new page tags

#创建文件: /source/_posts/post-title-with-whitespace.md
$ hexo new "post title with whitespace" 

#创建文件: /source/about/me.md
$ hexo new page --path about/me "About me"

#创建文件: source/_posts/about/me.md
$ hexo new page --path about/me </code></pre> 
 <h4>hexo publish, 发布草稿</h4> 
 <p>这个命令不太常用,在用hexo new 创建文章时,如果layout指定为draft则会认为是创建一篇了草稿,这个命令就是把创建好的草稿移到post文件夹中,这里的publish是指文章的publish,而不是网站的deploy。</p> 
 <pre><code class="bash">$ hexo publish [layout] <filename></code></pre> 
 <h4>hexo g , 生成网站</h4> 
 <p>网站部署的其实是.html等静态文件,此命令就是用于生成这些待部署的静态文件的,本地开发时直接用hexo server命令即可,不需要生成静态文件。</p> 
 <pre><code class="bash">$ hexo g
$ hexo g -w  #动态生成文件,改一个生成一个

# 使用 custom.yml 和 custom2.json,其中 custom2.json 优先级更高
$ hexo g --config custom.yml,custom2.json,custom3.yml</code></pre> 
 <h4>hexo server, 启动服务器</h4> 
 <pre><code class="bash"># 可选参数:-p 重设端口, -l 启动日记记录,使用覆盖记录格式
$ hexo server
$ hexo server -p 5000

# 使用 custom.yml 代替默认的 _config.yml
$ hexo server --config custom.yml</code></pre> 
 <h4>hexo deploy,部署网站</h4> 
 <p>需要配置_config.xml中的deploy参数,此命令才会生效。发布配置<a href="#deploy">可查看</a>,<code>其实笔者并不建议用此命令来部署网站,做为练习使用还可以</code>。即使是个人站点后期维护时此命令不但不会提效还会带来很多麻烦</p> 
 <pre><code class="bash">$ hexo d</code></pre> 
 <h4>hexo render,渲染文件(不太常用)</h4> 
 <pre><code class="bash">$ hexo render <file1> [file2] ...</code></pre> 
 <h4>hexo clean,清除缓存文件</h4> 
 <p>这条命令主要会清除缓存文件 (db.json) 和已生成的静态文件 (public),如果发现修改源码后UI样式未更新,可用此命令清除下缓存。</p> 
 <pre><code class="bash">$ hexo clean</code></pre> 
 <h4>hexo list, 列出网站资料</h4> 
 <p>types有以下类型可选page, post, route, tag, category</p> 
 <pre><code class="bash">$ hexo list <type></code></pre> 
 <h2>四、博客站点发布<a id="deploy"></a></h2> 
 <h3>github</h3> 
 <p>先安装插件<code> $ npm install hexo-deployer-git --save </code>,然后执行以下命令:</p> 
 <ol> 
  <li>建立名为 <你的 GitHub 用户名>.github.io 的储存库;</li> 
  <li>在 _config.yml 中添加以下配置</li> 
 </ol> 
 <pre><code class="yaml">deploy:
  type: git
  repo: https://github.com/<username>/<project> # example, https://github.com/hexojs/hexojs.github.io
  branch: gh-pages  //分支名称
  message: [message] //自定义提交信息
######或
 deploy:
  type: git
  repo: <repository url>
  branch: [branch]
  token: ''
  message: [message]
  name: [git user]
  email: [git email]
  extend_dirs: [extend directory]
  ignore_hidden: false # default is true
  ignore_pattern: regexp  # whatever file that matches the regexp will be ignored when deploying
  
#######也可以配置多个type一次发布到多个网站上
deploy:
- type: git
  repo:
- type: heroku
  repo:  </code></pre> 
 <ol start="4"> 
  <li>执行 <code>hexo clean && hexo deploy</code> 。</li> 
  <li>浏览 <GitHub 用户名>.github.io 检查你的网站能否运作。</li> 
 </ol> 
 <h3>rsync</h3> 
 <p>rsync是linux系统下的数据镜像备份工具。使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH、rsync主机同步。</p> 
 <ol> 
  <li>安装插件:<code>$ npm install hexo-deployer-rsync --save</code></li> 
  <li>修改配置</li> 
 </ol> 
 <pre><code class="yaml">deploy:
  type: rsync
  host: <host>
  user: <user>
  root: <root>
  port: [port]
  delete: [true|false]  删除远程主机上的旧文件,默认值true
  verbose: [true|false] 显示调试信息,默认值true
  ignore_errors: [true|false],默认值false</code></pre> 
 <h3>sftp</h3> 
 <ol> 
  <li>安装插件:<code>$ npm install hexo-deployer-sftp --save</code></li> 
  <li><p>修改配置</p><pre><code class="yaml">deploy:
  type: sftp
  host: <host>
  user: <user>
  pass: <password>
  remotePath: [remote path]
  port: [port]
  privateKey: [path/to/privateKey]  ssh私钥的目录地址
  passphrase: [passphrase] (可省略)ssh私钥的密码短语
  agent: [path/to/agent/socket],ssh套接字的目录地址, 默认值 $SSH_AUTH_SOCK</code></pre></li> 
 </ol> 
 <h2>五、I18N国际化(可选)</h2> 
 <p>先在 <code>_config.yml</code> 中调整 <code>language</code> 设定,这代表的是预设语言,您也可设定多个语言来调整预设语言的顺位。</p> 
 <pre><code class="yaml">language: zh-tw

language: 
- zh-tw
- en</code></pre> 
 <h3>语言文件编写</h3> 
 <p>语言文件可以使用 YAML 或 JSON 编写,放在主题文件夹中的 <code>languages</code> 文件夹下,可以在语言文件中使用 <a href="https://link.segmentfault.com/?enc=2W6ZL8gjHFdqTXyX6PFzzQ%3D%3D.A2AVru3XaQZlnsBJDRw9ZMVofe8n1boNIzvmCV3SxZ7oxCbDe5cbEOI7OJPEjN8X" rel="nofollow">printf 格式</a>。</p> 
 <h3>语言文件使用</h3> 
 <p>在模板中,通过 <code>__</code> 或 <code>_p</code> 辅助函数,即可取得翻译后的字符串,前者用于一般使用;而后者用于复数字符串。例如:</p> 
 <pre><code>index:
  title: Home
  add: Add
  video:
    zero: No videos
    one: One video
    other: %d videos</code></pre> 
 <pre><code class="js"><%= __('index.title') %>
// Home

<%= _p('index.video', 3) %>
// 3 videos</code></pre> 
 <h3>语言文件存放路径</h3> 
 <p>可在 front-matter 中指定该页面的语言,也可在 <code>_config.yml</code> 中修改 <code>i18n_dir</code> 设定,让 Hexo 自动侦测。</p> 
 <pre><code class="yaml">i18n_dir: :lang</code></pre> 
 <p><code>i18n_dir</code> 的预设值是 <code>:lang</code>,也就是说 Hexo 会捕获网址中的第一段以检测语言,举例来说:</p> 
 <pre><code class="plain">/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw</code></pre> 
 <p>捕获到的字符串唯有在语言文件存在的情况下,才会被当作是语言,因此例二 <code>/archives/index.html</code> 中的 <code>archives</code> 就不被当成是语言。</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1669549405604241408"></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/1835448238103162880.htm"
                           title="springboot+vue项目实战一-创建SpringBoot简单项目" target="_blank">springboot+vue项目实战一-创建SpringBoot简单项目</a>
                        <span class="text-muted">苹果酱0567</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95%E9%A2%98%E6%B1%87%E6%80%BB%E4%B8%8E%E8%A7%A3%E6%9E%90/1.htm">面试题汇总与解析</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">中间件</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>这段时间抽空给女朋友搭建一个个人博客,想着记录一下建站的过程,就当做笔记吧。虽然复制zjblog只要一个小时就可以搞定一个网站,或者用cms系统,三四个小时就可以做出一个前后台都有的网站,而且想做成啥样也都行。但是就是要从新做,自己做的意义不一样,更何况,俺就是专门干这个的,嘿嘿嘿要做一个网站,而且从零开始,首先呢就是技术选型了,经过一番思量决定选择-SpringBoot做后端,前端使用Vue做一</div>
                    </li>
                    <li><a href="/article/1835443696431099904.htm"
                           title="笋丁网页自动回复机器人V3.0.0免授权版源码" target="_blank">笋丁网页自动回复机器人V3.0.0免授权版源码</a>
                        <span class="text-muted">希希分享</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E5%B8%8C%E7%BD%9158soho_cn/1.htm">软希网58soho_cn</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E8%B5%84%E6%BA%90/1.htm">源码资源</a><a class="tag" taget="_blank" href="/search/%E7%AC%8B%E4%B8%81%E7%BD%91%E9%A1%B5%E8%87%AA%E5%8A%A8%E5%9B%9E%E5%A4%8D%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">笋丁网页自动回复机器人</a>
                        <div>笋丁网页机器人一款可设置自动回复,默认消息,调用自定义api接口的网页机器人。此程序后端语言使用Golang,内存占用最高不超过30MB,1H1G服务器流畅运行。仅支持Linux服务器部署,不支持虚拟主机,请悉知!使用自定义api功能需要有一定的建站基础。源码下载:https://download.csdn.net/download/m0_66047725/89754250更多资源下载:关注我。安</div>
                    </li>
                    <li><a href="/article/1835165136495669248.htm"
                           title="Hexo框架Ayer主题搭建我的博客" target="_blank">Hexo框架Ayer主题搭建我的博客</a>
                        <span class="text-muted">@HZY</span>
<a class="tag" taget="_blank" href="/search/gitee/1.htm">gitee</a><a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/ayer/1.htm">ayer</a><a class="tag" taget="_blank" href="/search/blog/1.htm">blog</a><a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E7%BD%91%E7%AB%99/1.htm">个人网站</a>
                        <div>关于Hexoayer主题搭建Blog我的博客链接,欢迎来访:[RainのBlog](https://hzyqaqgitee.gitee.io/raining).https://hzyqaqgitee.gitee.io/raining使用的框架、插件Hexo常用命令页面展示我的博客链接,欢迎来访:RainのBlog.https://hzyqaqgitee.gitee.io/raining使用Hexo</div>
                    </li>
                    <li><a href="/article/1833449649537642496.htm"
                           title="第二十四章 rust中的运算符重载" target="_blank">第二十四章 rust中的运算符重载</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的运算符重载目录注意一、前言二、基本使用三、常用运算符四、通用约束一、前言C/C++中有运算符重载这一概念,它的目的是让即使含不相干的内容也能通过我们自定义的方法进行运算符操作运算。比如字符串本身是不能相加的,但由于C++中的String重载了运算符+,所以我们就可以将两个字符串进行相加、但实际的含义其实是拼接。而rust中同样存在</div>
                    </li>
                    <li><a href="/article/1833273427432140800.htm"
                           title="第二十一章 rust与动静态库的结合使用" target="_blank">第二十一章 rust与动静态库的结合使用</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust与动静态库的结合使用目录注意一、前言二、库生成三、库使用四、总结一、前言rust中多了很多类型的库,比如前面章节中我们提到基本的bin与lib这两种crate类型库。如果你在命令行执行下列语句:rustc--help那么你将能找到这样的内容:--crate-type[bin|lib|rlib|dylib|cdylib|staticli</div>
                    </li>
                    <li><a href="/article/1833272290649927680.htm"
                           title="hexo+GitHub Pages一键搭建部署博客" target="_blank">hexo+GitHub Pages一键搭建部署博客</a>
                        <span class="text-muted">杨yang$</span>
<a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a>
                        <div>文章目录前言:博客相关配置matery主题相关配置1.什么是Hexo?2.准备工作:3.生成博客4.更换主题5.部署到githubpages总结前言:现在技术更新迭代是非常的快,尤其是web方面!所以当前搭建一个博客差不多有手就行,这里我们用到hexo进行博客的一键生成和部署。我自己的博客也是用hexo搭建的:杨Yang博客相关配置matery主题相关配置1.什么是Hexo?Hexo是一个快速、简</div>
                    </li>
                    <li><a href="/article/1833252618835685376.htm"
                           title="萱仔个人博客系列——hexo+github部署" target="_blank">萱仔个人博客系列——hexo+github部署</a>
                        <span class="text-muted">萱仔学习自我记录</span>
<a class="tag" taget="_blank" href="/search/%E8%90%B1%E4%BB%94%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2/1.htm">萱仔个人博客</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>由于本人前段时间和同专业得到好offer的同学之间的交流,发现博客其实对于找工作来说可以作为个人项目个人经历的展示,我创办cdsn博客的原因主要是为了自己学习使用,但是逐渐到现在也有了一些可爱的粉丝,非常感谢大家对我的点赞收藏和关注,我将继续精进自己的学习,学习理论和技术,刷力扣题,争取获得更好的offer。csdn博客本身就是非常好的一个平台,但是我还是决定自己创建一个自己的博客,两边同时更新,</div>
                    </li>
                    <li><a href="/article/1833112136948215808.htm"
                           title="社群空间站付费入群系统易支付版全套搭建教程" target="_blank">社群空间站付费入群系统易支付版全套搭建教程</a>
                        <span class="text-muted">小九说项目</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css3/1.htm">css3</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a>
                        <div>社群空间站9.9付费入群系统易支付版全套搭建教程1.创建站点2.搭建环境php7.23.上传源码包数据库批量修改sq9.dongge1.icus10.dongge1.icu改为你的域名4.上传数据库修改数据库文件/data/config/5.访问域名6.账户密码admin1234567.易支付修改地址是在/data/tpl/app/default/yy_shequn2/lib/epay.confi</div>
                    </li>
                    <li><a href="/article/1833104451922128896.htm"
                           title="社群空间站9.9付费入群系统易支付版全套搭建教程" target="_blank">社群空间站9.9付费入群系统易支付版全套搭建教程</a>
                        <span class="text-muted">百创科技</span>
<a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E4%B8%8B%E8%BD%BD/1.htm">源码下载</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E4%B8%8E%E6%95%99%E7%A8%8B/1.htm">源码与教程</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a>
                        <div>社群空间站9.9付费入群系统易支付版全套搭建教程1.创建站点2.搭建环境php7.23.上传源码包数据库批量修改sq9.dongge1.icus10.dongge1.icu改为你的域名4.上传数据库修改数据库文件/data/config/5.访问域名6.账户密码admin1234567.易支付修改地址是在/data/tpl/app/default/yy_shequn2/lib/epay.confi</div>
                    </li>
                    <li><a href="/article/1832227121582403584.htm"
                           title="个人建站前端篇(五)插件unplugin-vue-components的使用" target="_blank">个人建站前端篇(五)插件unplugin-vue-components的使用</a>
                        <span class="text-muted">niech_cn</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%AA%E4%BA%BA%E5%BB%BA%E7%AB%99%E5%89%8D%E7%AB%AF%E7%AF%87/1.htm">个人建站前端篇</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>unplugin-vue-components是由Vue官方人员开发的一款自动引入插件,可以省去比如UI库的大量import语句。unplugin-vue-components插件可以在Vue文件中自动引入组件(包括项目自身的组件和各种组件库中的组件)使用此插件后,不需要手动编写import{Button}from'ant-design-vue’这样的代码了,插件会自动识别template中使用的</div>
                    </li>
                    <li><a href="/article/1831708887720488960.htm"
                           title="第十九章 rust服务器开发:axum框架详解" target="_blank">第十九章 rust服务器开发:axum框架详解</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust服务器开发:axum详解目录注意一、前言二、基本使用三、路由定义四、参数提取五、响应体六、共享状态七、中间件一、前言因为rust拥有着极高的性能,加上tokio这个非常优秀的运行时,这使得rust很适合被用于开发服务器。目前rust已经拥有了众多的web框架,例如rocket、axum、axtix-web、tide、warp等等。而a</div>
                    </li>
                    <li><a href="/article/1831424968991272960.htm"
                           title="上云必备!阿里云为企业用户提供易用、精选、一站式的企业应用产品" target="_blank">上云必备!阿里云为企业用户提供易用、精选、一站式的企业应用产品</a>
                        <span class="text-muted">阿里云最新优惠和活动汇总</span>

                        <div>阿里云为企业用户提供企业上云、企业建站、企业安全、企业数据、企业营销等场景下的易用、精选、一站式的企业应用,精选企业热门产品,为您提供一站式上云服务,满足各个发展阶段的软硬件需求。上云必备福利:阿里云产品通用代金券领取地址:阿里云官方云小站代金券可用于购买阿里云产品时直接抵扣现金使用。云小站代金券.jpg企业上云需要哪些云产品?阿里云提供易用、精选、一站式的企业应用上云热门云产品如下:一、企业上云</div>
                    </li>
                    <li><a href="/article/1831180078495657984.htm"
                           title="用海外域名如何搭建服务器网站,实例:境外服务器怎么搭建?" target="_blank">用海外域名如何搭建服务器网站,实例:境外服务器怎么搭建?</a>
                        <span class="text-muted">慕粒粒粒粒</span>
<a class="tag" taget="_blank" href="/search/%E7%94%A8%E6%B5%B7%E5%A4%96%E5%9F%9F%E5%90%8D%E5%A6%82%E4%BD%95%E6%90%AD%E5%BB%BA%E6%9C%8D%E5%8A%A1%E5%99%A8%E7%BD%91%E7%AB%99/1.htm">用海外域名如何搭建服务器网站</a>
                        <div>新手搭建个人网站,境外服务器怎么搭建个人网站?纯属了解一下,试试手,下面记录一下建站的过程。个人网站建立四要素:域名、服务器空间、域名解析、程序(网页)。1、网站域名①、免费的顶级域名首推大名鼎鼎的“.tk”域名了,目前可以免费注册使用。(建议用微软邮箱,当时注册的时候其他账号好像很麻烦,google说是要google+要业务分离)②、收费域名收费域名注册商有很多。国外75500.com(支持支付</div>
                    </li>
                    <li><a href="/article/1831170189115355136.htm"
                           title="网站定制开发" target="_blank">网站定制开发</a>
                        <span class="text-muted">红匣子实力推荐</span>

                        <div>随着互联网的普及和发展,越来越多的企业和个人开始意识到拥有一个专业的网站对于品牌形象和业务拓展的重要性。然而,市面上的模板建站服务往往无法满足个性化的需求,这时候就需要进行网站定制开发。本文将为您详细介绍网站定制开发的概念、优势以及实施过程。开发-联系电话:13642679953(微信同号)一、什么是网站定制开发?网站定制开发是指根据客户的需求,从网站的架构、功能、设计等方面进行量身定制的开发过程</div>
                    </li>
                    <li><a href="/article/1830604022986403840.htm"
                           title="第十七章 rust异步库tokio入门" target="_blank">第十七章 rust异步库tokio入门</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust异步库tokio入门目录注意一、前言二、基本理解与使用三、状态共享四、注意事项一、前言异步是一个非常强大特性,它有相当多的实现模型,其中比较知名的“协程”,go语言的并发编程就是借助的“协程”这一概念达到了非常高的性能,不理解协程的可以查看另外一篇文章:协程与线程。在这众多实现模型中,最基本就是多线程模型了,由于其是系统本身底层提供的</div>
                    </li>
                    <li><a href="/article/1830599233602940928.htm"
                           title="第十五章 rust中进行windows系统开发" target="_blank">第十五章 rust中进行windows系统开发</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust中进行Windows系统开发目录注意一、前言二、指针三、windows四、字符串一、前言作为系统级语言,rust可以很容易的和C++一样进行系统级编程,但实际操作后我相信你会遇到相当多的问题。比如以本文要介绍的windows系统编程为例,由于windows系统底层使用的C/C++语言,导致其大量api的参数都是指针,而rust作为一门</div>
                    </li>
                    <li><a href="/article/1830454932680044544.htm"
                           title="WordPress 后台缓存插件:WP Admin Cache提高缓存页面" target="_blank">WordPress 后台缓存插件:WP Admin Cache提高缓存页面</a>
                        <span class="text-muted">818源码资源站</span>
<a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E4%B8%8B%E8%BD%BD00818.cn/1.htm">源码下载00818.cn</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E4%B8%8B%E8%BD%BD818%E8%B5%84%E6%BA%90%E7%AB%99/1.htm">源码下载818资源站</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a>
                        <div>使用WordPress建站会安装一些静态缓存插件,比如:WPRocket、CacheEnabler、CometCache、W3TotalCache、WPSuperCache、WPFastestCache、HyperCache等等,这些都用于缓存前端。今天介绍一款专门用于缓存后台的插件:WPAdminCache。启用后,提速效果还是很明显,比如后台所有文章页面秒开。缓存会在更新文章、保存设置、保存小</div>
                    </li>
                    <li><a href="/article/1829946341028098048.htm"
                           title="Markdown简单入门" target="_blank">Markdown简单入门</a>
                        <span class="text-muted">Saudade_lh</span>

                        <div>title:Markdown简单入门ate:2016-06-0123:47:44#文章生成時間categories:"Hexo教程"#文章分類目錄可以省略tags:#文章標籤可以省略-Markdown-技术贴Markdown是一种轻量级的「标记语言」,它的优点很多,目前也被越来越多的写作爱好者,撰稿者广泛使用。看到这里请不要被「标记」、「语言」所迷惑,Markdown的语法十分简单。常用的标记符号</div>
                    </li>
                    <li><a href="/article/1829787002241904640.htm"
                           title="教外篇(6):C++ qrencode 实现二维码生成" target="_blank">教外篇(6):C++ qrencode 实现二维码生成</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/C%2FC%2B%2B/1.htm">C/C++</a><a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">实战入门到精通</a><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><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/visualstudio/1.htm">visualstudio</a><a class="tag" taget="_blank" href="/search/qrencode/1.htm">qrencode</a>
                        <div>注意本专栏已在我的个人站点中完成更新升级,可点击这里直达。本专栏不再更新,不要购买!如有需要,请前往我的自建站点中购买,价格更实惠、内容更丰富、并且继续保持更新。已购买该专栏的同学,可点击这里查看后续调整方案。更多说明,可点击这里查看。文章目录注意前言一、qrencode库的基本使用二、BMP图片生成原理三、二维码生成四、放大图像、解决编码问题前言本文主要介绍如何使用C++来实现二维码的生成,使用</div>
                    </li>
                    <li><a href="/article/1829712287284424704.htm"
                           title="个人网站搭建1-域名及虚机" target="_blank">个人网站搭建1-域名及虚机</a>
                        <span class="text-muted">一条西瓜皮</span>

                        <div>前情提要由于本人的初衷不是做网站,只是想搭建后台,为前端提供服务,所以网站放在国外服务器上。国内服务器上搭建网站,需要备案,备案需要准备材料,大概耗费一个月时间。根据网上的资料,国外建站,只要不发布非法内容,被墙的概率极小。虽然概率小,但是为了不影响后期的服务,时间充裕后会考虑进行备案,将网站迁移至国内。毕竟天朝的网络响应速度比出去绕一圈要快得多。本文只涉及域名购买、云虚拟主机购买、域名解析等基础</div>
                    </li>
                    <li><a href="/article/1829458602209931264.htm"
                           title="SEO之搜索引擎的工作原理(一)" target="_blank">SEO之搜索引擎的工作原理(一)</a>
                        <span class="text-muted">luckyboy0077</span>
<a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>初创企业需要建站的朋友看这篇文章,谢谢支持:我给不会敲代码又想搭建网站的人建议搜索引擎工作过程非常复杂,接下来的几节我们简单介绍搜索引擎是怎样实现网页排名的。下面介绍的内容相对于真正的搜索引擎技术来说只是皮毛,不过对SEO人员已经足够用了。搜索引擎的工作过程大体上可以分成三个阶段:(1)爬行和抓取:搜索引擎蜘蛛通过跟踪链接访问网页,获得页面HTML代码存入数据库。(2)预处理:索引程序对抓取来的页</div>
                    </li>
                    <li><a href="/article/1829107263906869248.htm"
                           title="Hexo阶段三 -- 将Hexo部署到github" target="_blank">Hexo阶段三 -- 将Hexo部署到github</a>
                        <span class="text-muted">Oliverloki</span>
<a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/ssh/1.htm">ssh</a>
                        <div>本文共有三个部分阶段一:搭建博客并部署到本地阶段二:Hexo的主题美化与文章发布阶段三:将Hexo部署到GithubPage,通过域名访问你的博客1、在本地生成SSH公钥并绑定到github务必确保在本地PC已经完成了Node.js、Git和Hexo的安装,在博客目录下打开GitBash如果是第一次使用Git的话,必须要设置git的用户名和邮箱,可以点击这篇博文获得帮助生成本地的SSH公钥,并且绑</div>
                    </li>
                    <li><a href="/article/1829026812940873728.htm"
                           title="Django 学习笔记(一)—— 快速建站" target="_blank">Django 学习笔记(一)—— 快速建站</a>
                        <span class="text-muted">rollingstarky</span>

                        <div>Django是一个基于MVC(Model-View-Controller)模式的服务器端的Web框架,由Python语言编写。其创建之初主要是用来与关系型数据库进行交互,随着技术的不断革新,Django也逐渐融合了众多更现代的Web开发趋势。作为一个成熟的Web开发框架,Django有着众多企业级的应用,如Instagram、Pinterest、NationalGeographic等。Django</div>
                    </li>
                    <li><a href="/article/1828857911510659072.htm"
                           title="免费开源cms自助建站系统大全,不会编程也可以自己建网站" target="_blank">免费开源cms自助建站系统大全,不会编程也可以自己建网站</a>
                        <span class="text-muted">guizhoumen</span>
<a class="tag" taget="_blank" href="/search/cms/1.htm">cms</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E5%BB%BA%E8%AE%BE/1.htm">网站建设</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E5%88%B6%E4%BD%9C/1.htm">网站制作</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%AB%99%E6%BA%90%E7%A0%81/1.htm">网站源码</a><a class="tag" taget="_blank" href="/search/cms%E7%B3%BB%E7%BB%9F/1.htm">cms系统</a>
                        <div>想自己建网站又不会编程的小伙伴有福啦,本期推荐一些开源的cms自助建站系统程序,不需要写后端的任何逻辑代码,只需要下载下来,配置好运行环境就可以安装使用,然后通过后台轻轻松松就可以修改成自己的网站了,当然,要想网站有自己的个性,模版还是需要自己写的,只需要会简单的html+css就可以了,这个不是本章的重点。1、PageAdminCmshttp://www.pageadmin.netPageAdm</div>
                    </li>
                    <li><a href="/article/1828621410738728960.htm"
                           title="第七章 rust中的生命周期详解" target="_blank">第七章 rust中的生命周期详解</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a>
                        <div>注意本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的生命周期注解目录注意一、前言二、生命周期注解三、注解省略四、静态生命周期一、前言如果你学过任何一门编程语言,我相信你对生命周期都应该是不陌生的,不理解的可以先看一看:常量与变量。这个概念很通用、同时也很简单,所以这里就不过多赘述了。生命周期带来的一个问题就是:一旦脱离了变量的生命周期,那么继续使用该变量所代表的内存就是一个危险的行</div>
                    </li>
                    <li><a href="/article/1828594693949190144.htm"
                           title="【Hexo】hexo-butterfly主题添加非主站提示" target="_blank">【Hexo】hexo-butterfly主题添加非主站提示</a>
                        <span class="text-muted">慕雪华年</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%AE%E7%94%9F%E6%96%87%E5%85%B7%E5%A4%9A/1.htm">差生文具多</a><a class="tag" taget="_blank" href="/search/hexo/1.htm">hexo</a><a class="tag" taget="_blank" href="/search/%E5%8D%9A%E5%AE%A2/1.htm">博客</a>
                        <div>本文首发于❄️慕雪的寒舍说明因为hexo可以很方便的在多个平台上免费部署,为了让自己的博客能uptime更久一段时间,很多老哥都和我一样,把自己的hexo博客在好多个平台上都部署了一份。但是我一直想要一个功能,就是在别人访问的不是主站点的时候,提示他们,并让他们帮你查查主站是不是down了。这个功能即本文标题所述的“非主站提醒”js脚本实现其实实现起来并不复杂,一个js脚本就可以实现documen</div>
                    </li>
                    <li><a href="/article/1828347625968070656.htm"
                           title="第六章 rust中的错误处理" target="_blank">第六章 rust中的错误处理</a>
                        <span class="text-muted">余识-</span>
<a class="tag" taget="_blank" href="/search/Rust%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">Rust从入门到精通</a><a class="tag" taget="_blank" href="/search/rust/1.htm">rust</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>本系列文章已升级、转移至我的自建站点中,本章原文为:rust中的错误处理目录一、前言二、不同之处三、枚举处理错误四、泛型五、标准错误处理1.Result2.Option六、panic、传递错误七、常见用法八、为Enum绑定方法一、前言本章将要介绍的是Rust中的错误处理方式,这是一个与其它很多语言都非常不同的一点。但在Rust的代码中,你也将会非常频繁的遇到它,所以为了更进一步学习Rust中的其它</div>
                    </li>
                    <li><a href="/article/1827287662998941696.htm"
                           title="使用hexo搭建个人博客" target="_blank">使用hexo搭建个人博客</a>
                        <span class="text-muted">程序员麻辣烫</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7/1.htm">工具</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>很早之前使用hexo和github建了个人博客。搭建的流程一直没有梳理,中间换过几次机器,每次都得重新配置一遍,需要重新学些。最近电脑坏了,原始的数据没有导出来,先把以前文章写个文件占个位置,后面慢慢补吧,如果大家要看内容的话可以去https://juejin.cn/user/870468942580749。详细的配置大家可以参考使用hexo+github搭建免费个人博客详细教程安装先安装软件br</div>
                    </li>
                    <li><a href="/article/1827147497060003840.htm"
                           title="利用OneDrive网盘建站" target="_blank">利用OneDrive网盘建站</a>
                        <span class="text-muted">Talmai_dev</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</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全程各种页面都可能因为国内访问不了嗯2linux基础php环境(调用别人的打包文件需要这个环境建站)3购买域名或者想办法得到二级域名用于解析你的站4注册微软帐号officee5申请->root->子帐号5会用vps甲骨文免费vps主机https://zhuanlan.zhihu.com/p/796789056下载站环境https://</div>
                    </li>
                    <li><a href="/article/1826717537245687808.htm"
                           title="Vue - 完美解决npm安装@vue/cli报错:npm ERR! code ETIMEDOUT的解决方案" target="_blank">Vue - 完美解决npm安装@vue/cli报错:npm ERR! code ETIMEDOUT的解决方案</a>
                        <span class="text-muted">前端充电宝</span>
<a class="tag" taget="_blank" href="/search/Vue2/1.htm">Vue2</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>在使用npm安装@vue/cli时,是否出现如下的报错情况?本文提供了完美便捷的解决方案,保证100%解决npmWARNcheckPermissionsMissingwriteaccessto/Users/guokai05/Desktop/GUOKAI/guokaigdg/node_modules/hexonpmWARNcheckPermissionsMissingwriteaccessto/Us</div>
                    </li>
                                <li><a href="/article/68.htm"
                                       title="mongodb3.03开启认证" target="_blank">mongodb3.03开启认证</a>
                                    <span class="text-muted">21jhf</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>下载了最新mongodb3.03版本,当使用--auth 参数命令行开启mongodb用户认证时遇到很多问题,现总结如下: 
(百度上搜到的基本都是老版本的,看到db.addUser的就是,请忽略) 
Windows下我做了一个bat文件,用来启动mongodb,命令行如下: 
mongod --dbpath db\data --port 27017 --directoryperdb --logp</div>
                                </li>
                                <li><a href="/article/195.htm"
                                       title="【Spark103】Task not serializable" target="_blank">【Spark103】Task not serializable</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/Serializable/1.htm">Serializable</a>
                                    <div>Task not serializable是Spark开发过程最令人头疼的问题之一,这里记录下出现这个问题的两个实例,一个是自己遇到的,另一个是stackoverflow上看到。等有时间了再仔细探究出现Task not serialiazable的各种原因以及出现问题后如何快速定位问题的所在,至少目前阶段碰到此类问题,没有什么章法 
1. 
  
package spark.exampl</div>
                                </li>
                                <li><a href="/article/322.htm"
                                       title="你所熟知的 LRU(最近最少使用)" target="_blank">你所熟知的 LRU(最近最少使用)</a>
                                    <span class="text-muted">dalan_123</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>关于LRU这个名词在很多地方或听说,或使用,接下来看下lru缓存回收的实现 
1、大体的想法 
    a、查询出最近最晚使用的项 
    b、给最近的使用的项做标记 
通过使用链表就可以完成这两个操作,关于最近最少使用的项只需要返回链表的尾部;标记最近使用的项,只需要将该项移除并放置到头部,那么难点就出现 你如何能够快速在链表定位对应的该项? 
这时候多</div>
                                </li>
                                <li><a href="/article/449.htm"
                                       title="Javascript 跨域" target="_blank">Javascript 跨域</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/jsonp/1.htm">jsonp</a><a class="tag" taget="_blank" href="/search/%E8%B7%A8%E5%9F%9F/1.htm">跨域</a><a class="tag" taget="_blank" href="/search/cross-domain/1.htm">cross-domain</a>
                                    <div>  
                                 </div>
                                </li>
                                <li><a href="/article/576.htm"
                                       title="linux下安装apache服务器" target="_blank">linux下安装apache服务器</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a>
                                    <div>安装apache  
下载windows版本apache,下载地址:http://httpd.apache.org/download.cgi 
   1.windows下安装apache   
Windows下安装apache比较简单,注意选择路径和端口即可,这里就不再赘述了。  2.linux下安装apache:  
下载之后上传到linux的相关目录,这里指定为/home/apach</div>
                                </li>
                                <li><a href="/article/703.htm"
                                       title="FineReport的JS编辑框和URL地址栏语法简介" target="_blank">FineReport的JS编辑框和URL地址栏语法简介</a>
                                    <span class="text-muted">老A不折腾</span>
<a class="tag" taget="_blank" href="/search/finereport/1.htm">finereport</a><a class="tag" taget="_blank" href="/search/web%E6%8A%A5%E8%A1%A8/1.htm">web报表</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E8%A1%A8%E8%BD%AF%E4%BB%B6/1.htm">报表软件</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E6%B3%95%E6%80%BB%E7%BB%93/1.htm">语法总结</a>
                                    <div>  JS编辑框: 
1.FineReport的js。 
作为一款BS产品,browser端的JavaScript是必不可少的。 
FineReport中的js是已经调用了finereport.js的。 
大家知道,预览报表时,报表servlet会将cpt模板转为html,在这个html的head头部中会引入FineReport的js,这个finereport.js中包含了许多内置的fun</div>
                                </li>
                                <li><a href="/article/830.htm"
                                       title="根据STATUS信息对MySQL进行优化" target="_blank">根据STATUS信息对MySQL进行优化</a>
                                    <span class="text-muted">墙头上一根草</span>
<a class="tag" taget="_blank" href="/search/status/1.htm">status</a>
                                    <div>mysql  查看当前正在执行的操作,即正在执行的sql语句的方法为: 
     show processlist 命令 
  
mysql> show global status;可以列出MySQL服务器运行各种状态值,我个人较喜欢的用法是show status like '查询值%';一、慢查询mysql> show variab</div>
                                </li>
                                <li><a href="/article/957.htm"
                                       title="我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名" target="_blank">我的spring学习笔记7-Spring的Bean配置文件给Bean定义别名</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/Spring+3/1.htm">Spring 3</a>
                                    <div>本文介绍如何给Spring的Bean配置文件的Bean定义别名? 
 
原始的 
 
 
<bean id="business" class="onlyfun.caterpillar.device.Business">
    <property name="writer">
        <ref b</div>
                                </li>
                                <li><a href="/article/1084.htm"
                                       title="高性能mysql 之 性能剖析" target="_blank">高性能mysql 之 性能剖析</a>
                                    <span class="text-muted">annan211</span>
<a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD/1.htm">性能</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/mysql+%E6%80%A7%E8%83%BD%E5%89%96%E6%9E%90/1.htm">mysql 性能剖析</a><a class="tag" taget="_blank" href="/search/%E5%89%96%E6%9E%90/1.htm">剖析</a>
                                    <div>

1 定义性能优化
  mysql服务器性能,此处定义为 响应时间。
  在解释性能优化之前,先来消除一个误解,很多人认为,性能优化就是降低cpu的利用率或者减少对资源的使用。
  这是一个陷阱。
  资源时用来消耗并用来工作的,所以有时候消耗更多的资源能够加快查询速度,保持cpu忙绿,这是必要的。很多时候发现
  编译进了新版本的InnoDB之后,cpu利用率上升的很厉害,这并不</div>
                                </li>
                                <li><a href="/article/1211.htm"
                                       title="主外键和索引唯一性约束" target="_blank">主外键和索引唯一性约束</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/%E7%B4%A2%E5%BC%95/1.htm">索引</a><a class="tag" taget="_blank" href="/search/%E5%94%AF%E4%B8%80%E6%80%A7%E7%BA%A6%E6%9D%9F/1.htm">唯一性约束</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E5%A4%96%E9%94%AE%E7%BA%A6%E6%9D%9F/1.htm">主外键约束</a><a class="tag" taget="_blank" href="/search/%E8%81%94%E6%9C%BA%E5%88%A0%E9%99%A4/1.htm">联机删除</a>
                                    <div>目标;第一步;创建两张表 用户表和文章表 
        第二步;发表文章 
  
  
  1,建表; 
    ---用户表 BlogUsers
    --userID唯一的
    --userName
    --pwd
    --sex
        

    create </div>
                                </li>
                                <li><a href="/article/1338.htm"
                                       title="线程的调度" target="_blank">线程的调度</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</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/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B%E7%9A%84%E8%B0%83%E5%BA%A6/1.htm">线程的调度</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a>
                                    <div>1.       Java提供一个线程调度程序来监控程序中启动后进入可运行状态的所有线程。线程调度程序按照线程的优先级决定应调度哪些线程来执行。 
  
2.       多数线程的调度是抢占式的(即我想中断程序运行就中断,不需要和将被中断的程序协商) 
a) </div>
                                </li>
                                <li><a href="/article/1465.htm"
                                       title="查看日志常用命令" target="_blank">查看日志常用命令</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4/1.htm">命令</a><a class="tag" taget="_blank" href="/search/unix/1.htm">unix</a>
                                    <div>一.日志查找方法,可以用通配符查某台主机上的所有服务器grep "关键字" /wls/applogs/custom-*/error.log 
  
二.查看日志常用命令1.grep '关键字' error.log:在error.log中搜索'关键字'2.grep -C10 '关键字' error.log:显示关键字前后10行记录3.grep '关键字' error.l</div>
                                </li>
                                <li><a href="/article/1592.htm"
                                       title="【持久化框架MyBatis3一】MyBatis版HelloWorld" target="_blank">【持久化框架MyBatis3一】MyBatis版HelloWorld</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/helloworld/1.htm">helloworld</a>
                                    <div>MyBatis这个系列的文章,主要参考《Java Persistence with MyBatis 3》。 
  样例数据 
本文以MySQL数据库为例,建立一个STUDENTS表,插入两条数据,然后进行单表的增删改查 
  
  
CREATE TABLE STUDENTS
(
stud_id int(11) NOT NULL AUTO_INCREMENT,
</div>
                                </li>
                                <li><a href="/article/1719.htm"
                                       title="【Hadoop十五】Hadoop Counter" target="_blank">【Hadoop十五】Hadoop Counter</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>  
 1. 只有Map任务的Map Reduce Job  
	File System Counters
		FILE: Number of bytes read=3629530
		FILE: Number of bytes written=98312
		FILE: Number of read operations=0
		FILE: Number of lar</div>
                                </li>
                                <li><a href="/article/1846.htm"
                                       title="解决Tomcat数据连接池无法释放" target="_blank">解决Tomcat数据连接池无法释放</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/tomcat+%E8%BF%9E%E6%8E%A5%E6%B1%A0%E3%80%80%E4%BC%98%E5%8C%96/1.htm">tomcat 连接池 优化</a>
                                    <div> 
 近段时间,公司的检测中心报表系统(SMC)的开发人员时不时找到我,说用户老是出现无法登录的情况。前些日子因为手头上 有Jboss集群的测试工作,发现用户不能登录时,都是在Tomcat中将这个项目Reload一下就好了,不过只是治标而已,因为大概几个小时之后又会 再次出现无法登录的情况。 
  
今天上午,开发人员小毛又找到我,要我协助将这个问题根治一下,拖太久用户难保不投诉。 
简单分析了一</div>
                                </li>
                                <li><a href="/article/1973.htm"
                                       title="java-75-二叉树两结点的最低共同父结点" target="_blank">java-75-二叉树两结点的最低共同父结点</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.LinkedList;
import java.util.List;

import ljn.help.*;
public class BTreeLowestParentOfTwoNodes {

	public static void main(String[] args) {
		/*
		 * node data is stored in</div>
                                </li>
                                <li><a href="/article/2100.htm"
                                       title="行业垂直搜索引擎网页抓取项目" target="_blank">行业垂直搜索引擎网页抓取项目</a>
                                    <span class="text-muted">carlwu</span>
<a class="tag" taget="_blank" href="/search/Lucene/1.htm">Lucene</a><a class="tag" taget="_blank" href="/search/Nutch/1.htm">Nutch</a><a class="tag" taget="_blank" href="/search/Heritrix/1.htm">Heritrix</a><a class="tag" taget="_blank" href="/search/Solr/1.htm">Solr</a>
                                    <div>公司有一个搜索引擎项目,希望各路高人有空来帮忙指导,谢谢! 
这是详细需求: 
(1) 通过提供的网站地址(大概100-200个网站),网页抓取程序能不断抓取网页和其它类型的文件(如Excel、PDF、Word、ppt及zip类型),并且程序能够根据事先提供的规则,过滤掉不相干的下载内容。 
(2) 程序能够搜索这些抓取的内容,并能对这些抓取文件按照油田名进行分类,然后放到服务器不同的目录中。 
</div>
                                </li>
                                <li><a href="/article/2227.htm"
                                       title="[通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费" target="_blank">[通讯与服务]在总带宽资源没有大幅增加之前,不适宜大幅度降低资费</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%B5%84%E6%BA%90/1.htm">资源</a>
                                    <div> 
 
      降低通讯服务资费,就意味着有更多的用户进入,就意味着通讯服务提供商要接待和服务更多的用户,在总体运维成本没有由于技术升级而大幅下降的情况下,这种降低资费的行为将导致每个用户的平均带宽不断下降,而享受到的服务质量也在下降,这对用户和服务商都是不利的。。。。。。。。 
 
 
    &nbs</div>
                                </li>
                                <li><a href="/article/2354.htm"
                                       title="Java时区转换及时间格式" target="_blank">Java时区转换及时间格式</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>本文介绍Java API 中 Date, Calendar, TimeZone和DateFormat的使用,以及不同时区时间相互转化的方法和原理。 
  
问题描述: 
向处于不同时区的服务器发请求时需要考虑时区转换的问题。譬如,服务器位于东八区(北京时间,GMT+8:00),而身处东四区的用户想要查询当天的销售记录。则需把东四区的“今天”这个时间范围转换为服务器所在时区的时间范围。 
</div>
                                </li>
                                <li><a href="/article/2481.htm"
                                       title="readonly,只读,不可用" target="_blank">readonly,只读,不可用</a>
                                    <span class="text-muted">dashuaifu</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/disable/1.htm">disable</a><a class="tag" taget="_blank" href="/search/readOnly/1.htm">readOnly</a><a class="tag" taget="_blank" href="/search/readOnly/1.htm">readOnly</a>
                                    <div>readOnly 和 readonly 不同,在做js开发时一定要注意函数大小写和jsp黄线的警告!!!我就经历过这么一件事: 
使用readOnly在某些浏览器或同一浏览器不同版本有的可以实现“只读”功能,有的就不行,而且函数readOnly有黄线警告!!!就这样被折磨了不短时间!!!(期间使用过disable函数,但是发现disable函数之后后台接收不到前台的的数据!!!) 
  </div>
                                </li>
                                <li><a href="/article/2608.htm"
                                       title="LABjs、RequireJS、SeaJS 介绍" target="_blank">LABjs、RequireJS、SeaJS 介绍</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>LABjs 的核心是 LAB(Loading and Blocking):Loading 指异步并行加载,Blocking 是指同步等待执行。LABjs 通过优雅的语法(script 和 wait)实现了这两大特性,核心价值是性能优化。LABjs 是一个文件加载器。RequireJS 和 SeaJS 则是模块加载器,倡导的是一种模块化开发理念,核心价值是让 JavaScript 的模块化开发变得更</div>
                                </li>
                                <li><a href="/article/2735.htm"
                                       title="[应用结构]入口脚本" target="_blank">[应用结构]入口脚本</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/yii2/1.htm">yii2</a>
                                    <div>入口脚本 
入口脚本是应用启动流程中的第一环,一个应用(不管是网页应用还是控制台应用)只有一个入口脚本。终端用户的请求通过入口脚本实例化应用并将将请求转发到应用。 
Web 应用的入口脚本必须放在终端用户能够访问的目录下,通常命名为 index.php,也可以使用 Web 服务器能定位到的其他名称。 
控制台应用的入口脚本一般在应用根目录下命名为 yii(后缀为.php),该文</div>
                                </li>
                                <li><a href="/article/2862.htm"
                                       title="haoop shell命令" target="_blank">haoop shell命令</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hadoop+shell/1.htm">hadoop shell</a>
                                    <div> 
 cat 
 chgrp 
 chmod 
 chown 
 copyFromLocal 
 copyToLocal 
 cp 
 du 
 dus 
 expunge 
 get 
 getmerge 
 ls 
 lsr 
 mkdir 
 movefromLocal 
 mv 
 put 
 rm 
 rmr 
 setrep 
 stat 
 tail 
 test 
 text 
 </div>
                                </li>
                                <li><a href="/article/2989.htm"
                                       title="MultiStateView不同的状态下显示不同的界面" target="_blank">MultiStateView不同的状态下显示不同的界面</a>
                                    <span class="text-muted">gundumw100</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>只要将指定的view放在该控件里面,可以该view在不同的状态下显示不同的界面,这对ListView很有用,比如加载界面,空白界面,错误界面。而且这些见面由你指定布局,非常灵活。 
 
PS:ListView虽然可以设置一个EmptyView,但使用起来不方便,不灵活,有点累赘。 
 
 

<com.kennyc.view.MultiStateView xmlns:android=&qu</div>
                                </li>
                                <li><a href="/article/3116.htm"
                                       title="jQuery实现页面内锚点平滑跳转" target="_blank">jQuery实现页面内锚点平滑跳转</a>
                                    <span class="text-muted">ini</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>平时我们做导航滚动到内容都是通过锚点来做,刷的一下就直接跳到内容了,没有一丝的滚动效果,而且 url 链接最后会有“小尾巴”,就像#keleyi,今天我就介绍一款 jquery 做的滚动的特效,既可以设置滚动速度,又可以在 url 链接上没有“小尾巴”。 
  
效果体验:http://keleyi.com/keleyi/phtml/jqtexiao/37.htmHTML文件代码: 
&</div>
                                </li>
                                <li><a href="/article/3243.htm"
                                       title="kafka offset迁移" target="_blank">kafka offset迁移</a>
                                    <span class="text-muted">kane_xie</span>
<a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a>
                                    <div>在早前的kafka版本中(0.8.0),offset是被存储在zookeeper中的。 
  
到当前版本(0.8.2)为止,kafka同时支持offset存储在zookeeper和offset manager(broker)中。 
  
从官方的说明来看,未来offset的zookeeper存储将会被弃用。因此现有的基于kafka的项目如果今后计划保持更新的话,可以考虑在合适</div>
                                </li>
                                <li><a href="/article/3370.htm"
                                       title="android > 搭建 cordova 环境" target="_blank">android > 搭建 cordova 环境</a>
                                    <span class="text-muted">mft8899</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>  
1 , 安装 node.js   
     http://nodejs.org 
     
node -v   查看版本 
  
2, 安装 npm 
  
可以先从  https://github.com/isaacs/npm/tags  下载 源码 解压到</div>
                                </li>
                                <li><a href="/article/3497.htm"
                                       title="java封装的比较器,比较是否全相同,获取不同字段名字" target="_blank">java封装的比较器,比较是否全相同,获取不同字段名字</a>
                                    <span class="text-muted">qifeifei</span>

                                    <div> 非常实用的java比较器,贴上代码: 
import java.util.HashSet;
import java.util.List;
import java.util.Set;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
import net.sf.json.JsonConfig;

i</div>
                                </li>
                                <li><a href="/article/3624.htm"
                                       title="记录一些函数用法" target="_blank">记录一些函数用法</a>
                                    <span class="text-muted">.Aky.</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a><a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a>
                                    <div>高手们照旧忽略。 
想弄个全天朝IP段数据库,找了个今天最新更新的国内所有运营商IP段,copy到文件,用文件函数,字符串函数把玩下。分割出startIp和endIp这样格式写入.txt文件,直接用phpmyadmin导入.csv文件的形式导入。(生命在于折腾,也许你们觉得我傻X,直接下载人家弄好的导入不就可以,做自己的菜鸟,让别人去说吧) 
 
当然用到了ip2long()函数把字符串转为整型数</div>
                                </li>
                                <li><a href="/article/3751.htm"
                                       title="sublime text 3 rust" target="_blank">sublime text 3 rust</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/Sublime+Text/1.htm">Sublime Text</a>
                                    <div>1.sublime text 3 => install package => Rust 
2.cd ~/.config/sublime-text-3/Packages 
3.mkdir rust 
4.git clone https://github.com/sp0/rust-style 
5.cd rust-style 
6.cargo build --release 
7.ctrl</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>