HEXO官方文档学习笔记

HEXO官方文档学习笔记

hexo官方文档

一. hexo 开始使用

1.1 概述

环境必须包括 nodejsgit ,从对应的官网进行对应的安装;

1.2 建站(测试生成静态文件并本地运行)

执行下面的代码:

$ cd D:hexo/    #换成你的目录
$ npm install -g hexo-cli  #安装hexo脚手架
$ hexo init     #Hexo自动在当前文件夹下下载搭建网站所需的所有文件
$ npm install   #安装依赖包

$ hexo g        #完整命令为hexo generate,生成静态文件
$ hexo s        #完整命令为hexo server,启动服务器,用来本地预览

生成的项目的目录如下,下面对各个目录功能介绍:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes
  • _config.yml:网站的 配置 信息,您可以在此配置大部分的参数;
  • scaffolds:模版 文件夹。当您新建文章时,Hexo 会根据 scaffold 来建立文件:hexo new title.md
  • source:资源文件夹是存放用户资源的地方; _posts 文件夹指的是发布文章的文件夹;_drafts为文章的草稿文件夹,除 _posts 文件夹之,开头命名为 _ (下划线)的文件 / 文件夹和隐藏的文件将会被忽略。
  • themes:主题 文件夹。Hexo 会根据主题来生成静态页面。

1.3 配置(_config.yml 中修改网站配置)

_config.yml 文件中的 # Home page setting 在后面介绍;

1.3.1 网站(# Site)

参数 | 描述
------------- | ------------------------------------------- |------------------
title | 网站标题
subtitle | 网站副标题
description | 网站描述
author | 您的名字
language | 网站使用的语言
timezone | 网站时区。Hexo 默认使用您电脑的时区。时区列表。比如说:America/New_York, Japan, 和 UTC 。

description主要用于SEO,告诉搜索引擎一个关于您站点的简单描述,通常建议在其中包含您网站的关键词。author参数用于主题显示文章的作者。

1.3.2 网址(# URL)

参数 描述 默认值
url 网址
root 网站根目录
permalink 文章的 永久链接 格式 :year/:month/:day/:title/
permalink_defaults 永久链接中各部分的默认值

如果您的网站存放在子目录中,例如 http://yoursite.com/blog,则请将您的 url 设为 http://yoursite.com/blog 并把 root 设为 /blog/

1.3.3 目录(# Directory)——建议刚学hexo时不改动

参数 描述 默认值
source_dir 资源文件夹,这个文件夹用来存放内容。 source
public_dir 公共文件夹,这个文件夹用于存放生成的站点文件。 public
tag_dir 标签文件夹 tags
archive_dir 归档文件夹 archives
category_dir 分类文件夹 categories
code_dir Include code 文件夹 downloads/code
i18n_dir 国际化(i18n)文件夹 :lang
skip_render 跳过指定文件的渲染,您可使用 glob 表达式来匹配路径。

1.3.4 文章(# Writing)

参数 描述 默认值
new_post_name 新文章的文件名称 :title.md
default_layout 预设布局 post
auto_spacing 在中文和英文之间加入空格 false
titlecase 把标题转换为 title case false
external_link 在新标签中打开链接 true
filename_case 把文件名称转换为 (1) 小写或 (2) 大写 0
render_drafts 显示草稿 false
post_asset_folder 启动 Asset 文件夹 false
relative_link 把链接改为与根目录的相对位址 false
future 显示未来的文章 true
highlight 代码块的设置

1.3.5 分类 & 标签(# Category & Tag)

参数 描述 默认值
default_category 默认分类 uncategorized
category_map 分类别名
tag_map 标签别名

1.3.6 日期 / 时间格式(# Date / Time format)

参数 描述 默认值
date_format 日期格式 YYYY-MM-DD
time_format 时间格式 H:mm:ss

Hexo 使用 Moment.js 来解析和显示时间。

1.3.6 分页(# Pagination)

参数 描述 默认值
per_page 每页显示的文章量 (0 = 关闭分页功能) 10
pagination_dir 分页目录 page

1.3.6 扩展(# Extensions)

参数 | 描述
------------- | ------------------------------------------- |------------------
theme | 当前主题名称。值为false时禁用主题
deploy | 部署部分的设置

1.4 命令

1.4.1 指令

# init : hexo初始化新建一个网站,没有folder默认当前文件夹建立网站项目,一般是在网站建立文件夹下使用gitBash直接输入 hexo init 进行初始化;
$ hexo init [folder]

# new : 新建一篇文章,若没有设置 layout 的话,默认使用 _config.yml 中的 default_layout 参数post代替,如果标题包含空格的话,请使用引号括起来;
$ hexo new [layout] 

# generate : 生成静态文件;可选参数:-d, --deploy   文件生成后立即部署网站 ;-w, --watch    监视文件变动
$ hexo generate 
$ hexo g  #简写

# publish : 发表草稿
$ hexo publish [layout] <filename>

# server : 启动服务器,默认网址: http://localhost:4000/。可选参数:-i  重设IP地址;  -p, --port  重设端口;-s, --static   只使用静态文件;-l, --log   启动日记记录,使用覆盖记录格式
$ hexo server

# deploy : 部署网站。可选参数:-g, --generate 部署之前预先生成静态文件
$ hexo deploy
$ hexo d  # 简写

# render : 渲染文件。可选参数:-o, --output   设置输出路径
$ hexo render <file1> [file2] ...

# migrate : 从其他博客系统 迁移内容。
$ hexo migrate <type>

# clean : 清除缓存文件 (db.json) 和已生成的静态文件 (public),发布新的网站前应执行该命令。
$ hexo clean

# list : 列出网站资料。
$ hexo list <type>

# version : 显示 Hexo 版本。
$ hexo version
</code></pre> 
 <h4>1.4.2 选项</h4> 
 <pre><code class="bash"># 安全模式 : 在安全模式下,不会载入插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行。
$ hexo --safe

# 调试模式 : 在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub。
$ hexo --debug

# 简洁模式 : 隐藏终端信息。
$ hexo --silent

# 自定义配置文件的路径 : 自定义配置文件的路径,执行后将不再使用 _config.yml。
$ hexo --config custom.yml

# 显示草稿 : 显示 source/_drafts 文件夹中的草稿文章。
$ hexo --draft

# 自定义 CWD : 自定义当前工作目录(Current working directory)的路径。
$ hexo --cwd /path/to/cwd
</code></pre> 
 <h2>二. 基本操作</h2> 
 <h3>2.1 写作</h3> 
 <p>创建一篇新文章的命令:</p> 
 <pre><code class="bash"># layout 表示文章的布局,默认是post,可修改 _config.yml 中的 default_layout 参数来指定默认布局
$ hexo new [layout] <title>
</code></pre> 
 <h4>2.1.1 布局(Layout)</h4> 
 <p>Hexo 有三种默认布局:post、page 和 draft,也可以自定义其他布局,都将储存到 source/_posts 文件夹;</p> 
 <p>【若不想你的文章被处理,你可以将 Front-Matter 中的layout: 设为 false 。】</p> 
 <h4>2.1.2 文件名称</h4> 
 <p>Hexo 默认以标题做为文件名称,但您可编辑 new_post_name 参数来改变默认的文件名称,举例来说,设为 :year-:month-:day-:title.md 可让您更方便的通过日期来管理文章。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>:title</td> 
    <td>标题(小写,空格将会被替换为短杠)</td> 
   </tr> 
   <tr> 
    <td>:year</td> 
    <td>建立的年份,比如, 2015</td> 
   </tr> 
   <tr> 
    <td>:month</td> 
    <td>建立的月份(有前导零),比如, 04</td> 
   </tr> 
   <tr> 
    <td>:i_month</td> 
    <td>建立的月份(无前导零),比如, 4</td> 
   </tr> 
   <tr> 
    <td>:day</td> 
    <td>建立的日期(有前导零),比如, 07</td> 
   </tr> 
   <tr> 
    <td>:i_day</td> 
    <td>建立的日期(无前导零),比如, 7</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>2.1.3 草稿</h4> 
 <p>草稿存放在 <code>source/_drafts</code> 目录下,通过 <code>hexo new draft :title</code> 建立,再通过 <code>hexo publish [layout] <title></code> 来指定布局并发布文章;</p> 
 <p>【草稿默认不会显示在页面中,您可在执行时加上 --draft 参数,或是把 render_drafts 参数设为 true 来预览草稿。】</p> 
 <h4>2.1.4 模版(Scaffold)</h4> 
 <p>新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件;<br> 例如 : <code>$ hexo new photo "My Gallery"</code>,表示Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章,以下是您可以在模版中使用的变量:</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>layout</td> 
    <td>布局</td> 
   </tr> 
   <tr> 
    <td>title</td> 
    <td>标题</td> 
   </tr> 
   <tr> 
    <td>date</td> 
    <td>文件建立日期</td> 
   </tr> 
  </tbody> 
 </table> 
 <h3>2.2 Front-matter</h3> 
 <p>Front-matter 是文件最上方以 --- 分隔的区域,用于指定个别文件的变量;</p> 
 <pre><code class="m">title: Hello World
date: 2013/7/13 20:46:25
---
</code></pre> 
 <p>以下是预先定义的参数,您可在模板中使用这些参数值并加以利用。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>参数</th> 
    <th>描述</th> 
    <th>默认值</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>layout</td> 
    <td>布局</td> 
   </tr> 
   <tr> 
    <td>title</td> 
    <td>标题</td> 
   </tr> 
   <tr> 
    <td>date</td> 
    <td>建立日期</td> 
    <td>文件建立日期</td> 
   </tr> 
   <tr> 
    <td>updated</td> 
    <td>更新日期</td> 
    <td>文件更新日期</td> 
   </tr> 
   <tr> 
    <td>comments</td> 
    <td>开启文章的评论功能</td> 
    <td>true</td> 
   </tr> 
   <tr> 
    <td>tags</td> 
    <td>标签(不适用于分页)</td> 
   </tr> 
   <tr> 
    <td>categories</td> 
    <td>分类(不适用于分页)</td> 
   </tr> 
   <tr> 
    <td>permalink</td> 
    <td>覆盖文章网址</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>2.2.1 分类和标签</h4> 
 <p>只有文章支持分类和标签,您可以在 Front-matter 中设置。Hexo 中的分类具有顺序性和层次性,而标签没有顺序和层次,区别于其他系统;</p> 
 <pre><code class="m">categories:
- Diary
tags:
- PS3
- Games
</code></pre> 
 <h4>2.2.2 JSON Front-matter</h4> 
 <p>除了 YAML 外,你也可以使用 JSON 来编写 Front-matter,只要将 --- 代换成 ;;; 即可</p> 
 <pre><code class="m">"title": "Hello World",
"date": "2013/7/13 20:46:25"
;;;
</code></pre> 
 <h3>2.3 标签插件(Tag Plugins)</h3> 
 <p>标签插件和 Front-matter 中的标签不同,它们是用于在文章中快速插入特定内容的插件。</p> 
 <h4>2.3.1 引用块</h4> 
 <p>在文章中插入引言,可包含作者、来源和标题。</p> 
 <p><strong>别号: quote</strong></p> 
 <pre><code class="m">方式1:提供参数, 这些参数将会被显示出来
{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}

方式2:没有提供参数,则只输出普通的 blockquote

方式3:引用书上的句子
{% blockquote David Levithan, Wide Awake %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
{% endblockquote %}

方式4:引用 Twitter
{% blockquote @DevDocs https://twitter.com/devdocs/status/356095192085962752 %}
NEW: DevDocs now comes with syntax highlighting. http://devdocs.io
{% endblockquote %}

方式5:引用网络上的文章
{% blockquote Seth Godin http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html Welcome to Island Marketing %}
Every interaction is both precious and an opportunity to delight.
{% endblockquote %}
</code></pre> 
 <h4>2.3.2 代码块</h4> 
 <p>在文章中插入代码。</p> 
 <p><strong>别名: code</strong></p> 
 <pre><code class="m">方式1:提供参数, 这些参数将会被显示出来
{% codeblock [title] [lang:language] [url] [link text] %}
code snippet
{% endcodeblock %}

方式2:普通的代码块
{% codeblock %}
alert('Hello World!');
{% endcodeblock %}

方式3:指定语言
{% codeblock lang:objc %}
[rectangle setX: 10 y: 10 width: 20 height: 20];
{% endcodeblock %}

方式4:附加说明
{% codeblock Array.map %}
array.map(callback[, thisArg])
{% endcodeblock %}

方式5:附加说明和网址
{% codeblock _.compact http://underscorejs.org/#compact Underscore.js %}
_.compact([0, 1, false, 2, '', 3]);
=> [1, 2, 3]
{% endcodeblock %}
</code></pre> 
 <h4>2.3.3 反引号代码块(类似md中的代码块格式)</h4> 
 <p>它使用三个反引号来包裹;<br> <code>[language] [title] [url] [link text] code snippet</code></p> 
 <h4>2.3.4 Pull Quote</h4> 
 <p>在文章中插入 Pull quote。</p> 
 <pre><code class="m">{% pullquote [class] %}
content
{% endpullquote %}
</code></pre> 
 <h4>2.3.5 jsFiddle</h4> 
 <p>在文章中嵌入 jsFiddle。</p> 
 <pre><code class="m">{% jsfiddle shorttag [tabs] [skin] [width] [height] %}
</code></pre> 
 <h4>2.3.6 Gist</h4> 
 <p>在文章中嵌入 Gist。</p> 
 <pre><code class="m">{% gist gist_id [filename] %}
</code></pre> 
 <h4>2.3.7 iframe</h4> 
 <p>在文章中插入 iframe。</p> 
 <pre><code class="m">{% iframe url [width] [height] %}
</code></pre> 
 <h4>2.3.8 Image</h4> 
 <p>在文章中插入指定大小的图片。</p> 
 <pre><code class="m">{% img [class names] /path/to/image [width] [height] [title text [alt text]] %}
</code></pre> 
 <h4>2.3.9 Link</h4> 
 <p>在文章中插入链接,并自动给外部链接添加 target="_blank" 属性。</p> 
 <pre><code class="m">{% link text url [external] [title] %}
</code></pre> 
 <h4>2.3.10 Include Code</h4> 
 <p>插入 source 文件夹内的代码文件。</p> 
 <pre><code class="m">{% include_code [title] [lang:language] path/to/file %}
</code></pre> 
 <h4>2.3.11 Youtube</h4> 
 <p>在文章中插入 Youtube 视频。</p> 
 <pre><code class="m">{% youtube video_id %}
</code></pre> 
 <h4>2.3.12 Vimeo</h4> 
 <p>在文章中插入 Vimeo 视频。</p> 
 <pre><code class="m">{% vimeo video_id %}
</code></pre> 
 <h4>2.3.13 引用文章</h4> 
 <p>引用其他文章的链接。</p> 
 <pre><code class="m">{% post_path slug %}
{% post_link slug [title] %}
</code></pre> 
 <h4>2.3.14 引用资源</h4> 
 <p>引用文章的资源。</p> 
 <pre><code class="m">{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}
</code></pre> 
 <h4>2.3.15 Raw</h4> 
 <p>如果您想在文章中插入 Swig 标签,可以尝试使用 Raw 标签,以免发生解析异常。</p> 
 <pre><code class="m">{% raw %}
content
{% endraw %}
</code></pre> 
 <h3>2.4 资源文件夹</h3> 
 <p>资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。</p> 
 <h4>2.4.1 文章资源文件夹</h4> 
 <p>将 config.yml 文件中的 <code>post_asset_folder</code> 选项设为 true 来打开,有规律地提供图片和其他资源以及想要将他们的资源分布在各个文章上;当资源文件管理功能打开后,Hexo将会在你每一次通过 <code>hexo new [layout] <title></code> 命令创建新文章时自动创建一个文件夹。这个资源文件夹将会有与这个 <code>markdown 文件一样的名字</code>。将所有与你的文章有关的资源放在这个关联文件夹中之后,你可以通过相对路径来引用它们,这样你就得到了一个更简单而且方便得多的工作流。</p> 
 <h4>2.4.2 相对路径引用的标签插件</h4> 
 <p>通过常规的 markdown 语法和相对路径来引用图片和其它资源可能会导致它们在存档页或者主页上显示不正确。<br> Hexo 3 的发布,许多新的标签插件被加入到了核心代码中。这使得你可以更简单地在文章中引用你的资源。<br> 正确的引用图片方式是使用下列的标签插件而不是 markdown 语法 <code>[图片上传失败...(image-3fd250-1576230489118)]</code>:</p> 
 <pre><code class="m">{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}

通过下面这种方式,图片将会同时出现在文章和主页以及归档页中。
{% asset_img example.jpg This is an example image %}
</code></pre> 
 <h3>2.5 数据文件夹</h3> 
 <p>有时候可能需要在主题中使用某些资料,而这些资料并不在文章内,并且是需要重复使用的,那么您可以考虑使用 Hexo 3.0 新增的「数据文件」功能。此功能会载入 <code>source/_data</code> 内的 <code>YAML 或 JSON</code> 文件,如此一来您便能在网站中复用这些文件;<br> 例子:在 source/_data 文件夹中新建 menu.yml 文件:</p> 
 <pre><code>Home: /
Gallery: /gallery/
Archives: /archives/
</code></pre> 
 <p>就能在模板中使用这些资料:</p> 
 <pre><code class="js"><% for (var link in site.data.menu) { %>
  <a href="<%= site.data.menu[link] %>"> <%= link %> </a>
<% } %>
</code></pre> 
 <p>渲染结果如下 :</p> 
 <pre><code class="js"><a href="/"> Home </a>
<a href="/gallery/"> Gallery </a>
<a href="/archives/"> Archives </a>
</code></pre> 
 <h3>2.6 服务器(本地预览效果)</h3> 
 <p>Hexo 3.0 把服务器独立成了个别模块,安装 hexo-server 才能使用:<code>npm install hexo-server --save</code>;安装完后执行 <code>hexo server</code>启动服务器,也可以改变一些参数,参考<code>命令->指令</code>的知识;</p> 
 <h4>2.6.1 静态模式 && 自定义 IP</h4> 
 <pre><code class="bash"># 在静态模式下,服务器只处理 public 文件夹内的文件,而不会处理文件变动,在执行时,您应该先自行执行 hexo generate;
$ hexo server -s
# 自定义 IP地址,对于一台使用无线网络的笔记本电脑,除了指向本机的127.0.0.1外,通常还有一个192.168.*.*的局域网IP; hexo server -i 127.0.0.1 -p 5000
$ hexo server -i 192.168.1.1
</code></pre> 
 <h4>2.6.2 Pow(略)</h4> 
 <p>Pow 是一个 Mac 系统上的零配置 Rack 服务器,它也可以作为一个简单易用的静态文件服务器来使用。</p> 
 <h3>2.7 生成器</h3> 
 <p>Hexo 生成静态文件指令:<code>$ hexo generate</code>,参考<code>命令->指令</code>的知识;</p> 
 <h4>监视文件变动 && 完成后部署</h4> 
 <pre><code class="bash"># 监视文件变动并立即重新生成静态文件,在生成时会比对文件的 SHA1 checksum,只有变动的文件才会写入;
$ hexo generate --watch
# 在生成完毕后自动部署网站,下面两个命令的作用是相同的。
$ hexo generate --deploy
$ hexo deploy --generate
# 上面命令的简介形式
$ hexo g -d
$ hexo d -g
</code></pre> 
 <h3>2.8 部署</h3> 
 <p>Hexo 通过指令 <code>$ hexo deploy</code> 实现网站部署到指定的服务器中,在执行此命令前要对网站根目录下的 <code>_config.yml</code> 中修改参数(<strong>注意yml文件格式</strong>),见下方实现 <code>gitee pages</code> 部署:</p> 
 <pre><code class="bash">deploy:
  type: git
  repository: git@gitee.com:geekleng/hexoblog.git     #发布到gitee,还可以加上github Page 页面
  branch: master
</code></pre> 
 <p>部署多个 deployer,Hexo 会依照顺序执行每个 deployer:</p> 
 <pre><code class="bash">deploy:
- type: git
  repo:
- type: heroku
  repo:
</code></pre> 
 <p>【YAML依靠缩进来确定元素间的从属关系。因此,请确保每个deployer的缩进长度相同,并且使用空格缩进。】</p> 
 <h4>2.8.1 Git</h4> 
 <ul> 
  <li>先安装 <code>hexo-deployer-git</code> 包:<code>$ npm install hexo-deployer-git --save</code> </li> 
  <li>修改<code>_config.yml</code> 中参数;</li> 
 </ul> 
 <pre><code class="bash">deploy:
  type: git
  repo: <repository url>
  branch: [branch]
  message: [message]
</code></pre> 
 <table> 
  <thead> 
   <tr> 
    <th>参数</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>repo</td> 
    <td>库(Repository)地址</td> 
   </tr> 
   <tr> 
    <td>branch</td> 
    <td>分支名称。如果您使用的是 GitHub 或 GitCafe 的话,程序会尝试自动检测。</td> 
   </tr> 
   <tr> 
    <td>message</td> 
    <td>自定义提交信息 (默认为 Site updated: {{ 当前时间('YYYY-MM-DD HH:mm:ss') }})</td> 
   </tr> 
  </tbody> 
 </table> 
 <h2>三. 自定义</h2> 
 <h3>3.1 永久链接</h3> 
 <p>可以在HEXO网站配置文件 <code>_config.yml</code> 配置中调整网站的永久链接或者在每篇文章的 <code>Front-matter</code> 中指定。</p> 
 <h4>3.1.1 变量</h4> 
 <p>使用下面的变量或是使用 <code>Front-matter</code> 中的所有属性;</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>:year</td> 
    <td>文章的发表年份(4 位数)</td> 
   </tr> 
   <tr> 
    <td>:month</td> 
    <td>文章的发表月份(2 位数)</td> 
   </tr> 
   <tr> 
    <td>:i_month</td> 
    <td>文章的发表月份(去掉开头的零)</td> 
   </tr> 
   <tr> 
    <td>:day</td> 
    <td>文章的发表日期 (2 位数)</td> 
   </tr> 
   <tr> 
    <td>:i_day</td> 
    <td>文章的发表日期(去掉开头的零)</td> 
   </tr> 
   <tr> 
    <td>:title</td> 
    <td>文件名称</td> 
   </tr> 
   <tr> 
    <td>:post_title</td> 
    <td>文章标题</td> 
   </tr> 
   <tr> 
    <td>:id</td> 
    <td>文章 ID</td> 
   </tr> 
   <tr> 
    <td>:category</td> 
    <td>分类。如果文章没有分类,则是 default_category 配置信息。</td> 
   </tr> 
  </tbody> 
 </table> 
 <p>或在 <code>permalink_defaults</code> 参数下调整永久链接中各变量的默认值:</p> 
 <pre><code class="bash">permalink_defaults:
  lang: en
</code></pre> 
 <h4>3.1.2 多语种支持</h4> 
 <p>若要建立一个多语种的网站,您可修改 new_post_name 和 permalink 参数,如下:</p> 
 <pre><code class="bash">new_post_name: :lang/:title.md  # 新的博文的文件名
permalink: :lang/:title/  # 生成的链接的格式。带井号的是默认的格式;规则也比较简单,标签前面要加英文冒号。
</code></pre> 
 <p>当您建立新文章时,文章会被储存到:</p> 
 <pre><code class="bash">$ hexo new "Hello World" --lang tw
# => source/_posts/tw/Hello-World.md
</code></pre> 
 <h3>3.2 主题</h3> 
 <p>在HEXO的官网上找到合适的主题,下载压缩包解压到 <code>themes</code> 文件夹中或者是由git直接下载对应主题的包,再修改HEXO网站配置文件 <code>_config.yml</code> 配置中 <code>theme</code> 字段即可;主题的文件架构如下:</p> 
 <pre><code class="m">.
├── _config.yml
├── languages
├── layout
├── scripts
└── source
</code></pre> 
 <h4>3.2.1 _config.yml</h4> 
 <p>主题的配置文件。修改时会自动更新,无需重启服务器。</p> 
 <h4>3.2.2 languages</h4> 
 <p>语言文件夹;HEXO国际化-i18n</p> 
 <h4>3.2.3 layout</h4> 
 <p>布局文件夹。用于存放主题的模板文件,决定了网站内容的呈现方式,Hexo 内建 Swig 模板引擎,可以另外安装插件来获得 EJS、Haml 或 Jade 支持;HEXO模板</p> 
 <h4>3.2.4 scripts</h4> 
 <p>脚本文件夹。在启动时,Hexo 会载入此文件夹内的 JavaScript 文件;HEXO插件</p> 
 <h4>3.2.5 source</h4> 
 <p>资源文件夹,除了模板以外的 <code>Asset</code>,例如 <code>CSS、JavaScript</code> 文件等,都应该放在这个文件夹中。文件或文件夹开头名称为 <code>_(下划线线)</code> 或隐藏的文件会被忽略。</p> 
 <h3>3.3 模版</h3> 
 <p>模板决定了网站内容的呈现方式,以下是各页面相对应的模板名称:</p> 
 <table> 
  <thead> 
   <tr> 
    <th>模板</th> 
    <th>用途</th> 
    <th>回退</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>index</td> 
    <td>首页</td> 
   </tr> 
   <tr> 
    <td>post</td> 
    <td>文章</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>page</td> 
    <td>分页</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>archive</td> 
    <td>归档</td> 
    <td>index</td> 
   </tr> 
   <tr> 
    <td>category</td> 
    <td>分类归档</td> 
    <td>archive</td> 
   </tr> 
   <tr> 
    <td>tag</td> 
    <td>标签归档</td> 
    <td>archive</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.3.1 布局(Layout)</h4> 
 <p>若页面结构类似,可以通过「布局」让两个模板共享相同的结构。一个布局文件必须要能显示 body 变量的内容,如此一来模板的内容才会被显示,举例来说:</p> 
 <pre><code class="html"><!-->index.ejs 文件<-->
index

<!-->layout.ejs 文件<-->
<!DOCTYPE html>
<html>
  <body><%- body %></body>
</html>

<!-->生成文件<-->
<!DOCTYPE html>
<html>
  <body>index</body>
</html>
</code></pre> 
 <p>每个模板都默认使用 layout 布局,您可在 <code>front-matter</code> 指定其他布局,或是设为 <code>false</code> 来关闭布局功能,甚至可在布局中再使用其他布局来建立嵌套布局。</p> 
 <h4>3.3.2 局部模版(Partial)</h4> 
 <p>局部模板让您在不同模板之间共享相同的组件,可利用局部模板功能分割为个别文件,让维护更加便利。</p> 
 <pre><code class="html"><!-->partial/header.ejs文件<-->
<h1 id="logo"><%= config.title %></h1>

<!-->index.ejs文件<-->
<%- partial('partial/header') %>
<div id="content">Home page</div>

<!-->生成文件<-->
<h1 id="logo">My Site</h1>
<div id="content">Home page</div>
</code></pre> 
 <p><strong>局部变量</strong>:局部模板中指定局部变量并使用;</p> 
 <pre><code class="html"><!-->partial/header.ejs文件<-->
<h1 id="logo"><%= title></h1>

<!-->index.ejs文件<-->
<%- partial('partial/header', {title: 'Hello World'}) %>
<div id="content">Home page</div>

<!-->生成文件<-->
<h1 id="logo">Hello World</h1>
<div id="content">Home page</div>
</code></pre> 
 <h4>3.3.3 优化</h4> 
 <p>考虑使用 Hexo 2.7 新增的局部缓存(Fragment Caching) 功能,功能借鉴于 Ruby on Rails,它储存局部内容,下次便能直接使用缓存内容,可以减少文件夹查询并使生成速度更快。可用于页首、页脚、侧边栏等文件不常变动的位置;</p> 
 <pre><code class="html"><%- fragment_cache('header', function(){
  return '<header></header>';
});
</code></pre> 
 <p>如果您使用局部模板的话,可以更简单:</p> 
 <p><code><%- partial('header', {}, {cache: true});</code></p> 
 <p>【注意:若开启了 <code>relative_link</code> 参数(把链接改为与根目录的相对位址),请勿使用局部缓存功能,因为相对链接在每个页面可能不同】</p> 
 <h3>3.4 变量</h3> 
 <h4>3.4.1 全局变量</h4> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>site</td> 
    <td>网站变量</td> 
   </tr> 
   <tr> 
    <td>page</td> 
    <td>针对该页面的内容以及 front-matter 所设定的变量。</td> 
   </tr> 
   <tr> 
    <td>config</td> 
    <td>网站配置</td> 
   </tr> 
   <tr> 
    <td>theme</td> 
    <td>主题配置。继承自网站配置。</td> 
   </tr> 
   <tr> 
    <td>_ (单下划线)</td> 
    <td>Lodash 函数库</td> 
   </tr> 
   <tr> 
    <td>path</td> 
    <td>当前页面的路径(不含根路径)</td> 
   </tr> 
   <tr> 
    <td>url</td> 
    <td>当前页面的完整网址</td> 
   </tr> 
   <tr> 
    <td>env</td> 
    <td>环境变量</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.4.2 网站变量</h4> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>site.posts</td> 
    <td>所有文章</td> 
   </tr> 
   <tr> 
    <td>site.pages</td> 
    <td>所有分页</td> 
   </tr> 
   <tr> 
    <td>site.categories</td> 
    <td>所有分类</td> 
   </tr> 
   <tr> 
    <td>site.tags</td> 
    <td>所有标签</td> 
   </tr> 
  </tbody> 
 </table> 
 <h4>3.4.3 页面变量</h4> 
 <p><strong>页面(page)</strong></p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.title</td> 
    <td>页面标题</td> 
   </tr> 
   <tr> 
    <td>page.date</td> 
    <td>页面建立日期(Moment.js 对象)</td> 
   </tr> 
   <tr> 
    <td>page.updated</td> 
    <td>页面更新日期(Moment.js 对象)</td> 
   </tr> 
   <tr> 
    <td>page.comments</td> 
    <td>留言是否开启</td> 
   </tr> 
   <tr> 
    <td>page.layout</td> 
    <td>布局名称</td> 
   </tr> 
   <tr> 
    <td>page.content</td> 
    <td>页面的完整内容</td> 
   </tr> 
   <tr> 
    <td>page.excerpt</td> 
    <td>页面摘要</td> 
   </tr> 
   <tr> 
    <td>page.more</td> 
    <td>除了页面摘要的其余内容</td> 
   </tr> 
   <tr> 
    <td>page.source</td> 
    <td>页面原始路径</td> 
   </tr> 
   <tr> 
    <td>page.full_source</td> 
    <td>页面的完整原始路径</td> 
   </tr> 
   <tr> 
    <td>page.path</td> 
    <td>页面网址(不含根路径)。我们通常在主题中使用 url_for(page.path)。</td> 
   </tr> 
   <tr> 
    <td>page.permalink</td> 
    <td>页面的完整网址</td> 
   </tr> 
   <tr> 
    <td>page.prev</td> 
    <td>上一个页面。如果此为第一个页面则为 null。</td> 
   </tr> 
   <tr> 
    <td>page.next</td> 
    <td>下一个页面。如果此为最后一个页面则为 null。</td> 
   </tr> 
   <tr> 
    <td>page.raw</td> 
    <td>文章的原始内容</td> 
   </tr> 
   <tr> 
    <td>page.photos</td> 
    <td>文章的照片(用于相簿)</td> 
   </tr> 
   <tr> 
    <td>page.link</td> 
    <td>文章的外部链接(用于链接文章)</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>文章 (post)</strong>: 和 page 布局类似,但是添加了下列变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.published</td> 
    <td>如果该文章已发布则为True</td> 
   </tr> 
   <tr> 
    <td>page.categories</td> 
    <td>该文章的所有分类</td> 
   </tr> 
   <tr> 
    <td>page.tags</td> 
    <td>该文章的所有标签</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>首页(index)</strong></p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.per_page</td> 
    <td>每页显示的文章数量</td> 
   </tr> 
   <tr> 
    <td>page.total</td> 
    <td>总文章数</td> 
   </tr> 
   <tr> 
    <td>page.current</td> 
    <td>目前页数</td> 
   </tr> 
   <tr> 
    <td>page.current_url</td> 
    <td>目前分页的网址</td> 
   </tr> 
   <tr> 
    <td>page.posts</td> 
    <td>本页文章</td> 
   </tr> 
   <tr> 
    <td>page.prev</td> 
    <td>上一页的页数。如果此页是第一页的话则为 0。</td> 
   </tr> 
   <tr> 
    <td>page.prev_link</td> 
    <td>上一页的网址。如果此页是第一页的话则为 ''。</td> 
   </tr> 
   <tr> 
    <td>page.next</td> 
    <td>下一页的页数。如果此页是最后一页的话则为 0。</td> 
   </tr> 
   <tr> 
    <td>page.next_link</td> 
    <td>下一页的网址。如果此页是最后一页的话则为 ''。</td> 
   </tr> 
   <tr> 
    <td>page.path</td> 
    <td>当前页面的路径(不含根目录)。我们通常在主题中使用 url_for(page.path)。</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>归档 (archive)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.archive</td> 
    <td>等于 true</td> 
   </tr> 
   <tr> 
    <td>page.year</td> 
    <td>年份归档 (4位)</td> 
   </tr> 
   <tr> 
    <td>page.month</td> 
    <td>月份归档 (没有前导零的2位数)</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>分类 (category)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.category</td> 
    <td>分类名称</td> 
   </tr> 
  </tbody> 
 </table> 
 <p><strong>标签 (tag)</strong>:与 index 布局相同,但新增以下变量。</p> 
 <table> 
  <thead> 
   <tr> 
    <th>变量</th> 
    <th>描述</th> 
   </tr> 
  </thead> 
  <tbody> 
   <tr> 
    <td>page.tag</td> 
    <td>标签名称</td> 
   </tr> 
  </tbody> 
 </table> 
 <h3>3.5 辅助函数——重难点</h3> 
 <p>HEXO辅助函数官方文档</p> 
 <p>辅助函数帮助您在模版中快速插入内容。</p> 
 <h3>3.6 国际化 (i18n)</h3> 
 <p>HEXO的网站配置文件 <code>_config.yml</code> 中调整 <code>language</code> 字段值的设定,可设定多个语言来调整预设语言的顺位。</p> 
 <pre><code class="bash">language: 
- zh-tw
- en
</code></pre> 
 <h4>3.6.1 语言文件</h4> 
 <p>语言文件可以使用 YAML 或 JSON 编写,并放在主题文件夹中的 languages 文件夹。</p> 
 <h4>3.6. 模板</h4> 
 <p>在模板中,透过 __ 或 _p 辅助函数,即可取得翻译后的字符串,前者用于一般使用;而后者用于复数字符串。</p> 
 <h4>3.6.3 路径</h4> 
 <p>可在 <code>front-matter</code> 中指定该页面的语言,也可在 <code>_config.yml</code> 中修改 <code>i18n_dir</code> 设定,让 Hexo 自动侦测。</p> 
 <p>i18n_dir 的预设值是 :lang:<code>i18n_dir: :lang</code>,Hexo 会捕获网址中的第一段以检测语言,举例来说:</p> 
 <pre><code class="m">/index.html => en
/archives/index.html => en
/zh-tw/index.html => zh-tw
</code></pre> 
 <h3>3.7 插件</h3> 
 <h4>3.7.1 脚本(Scripts)</h4> 
 <p>若代码很简单,建议您编写脚本,您只需要把 JavaScript 文件放到 scripts 文件夹,在启动时就会自动载入。</p> 
 <h4>3.7.2 插件(Packages)</h4> 
 <p>编写自己的插件;首先,在 <code>node_modules</code> 文件夹中建立文件夹,文件夹名称开头必须为 <code>hexo-</code>,如此一来 <code>Hexo</code> 才会在启动时载入否则 Hexo 将会忽略它。<br><br> 文件夹内至少要包含 2 个文件:一个是主程序 <code>index.js</code> ,另一个是 <code>package.json</code> (至少包含name, version, main 属性),描述插件的用途和所依赖的插件。</p> 
 <h4>3.7.3 工具</h4> 
 <p>Hexo 提供的官方工具插件来加速开发:(可在npm上看各自包的用法)</p> 
 <ul> 
  <li>hexo-fs:文件 IO</li> 
  <li>hexo-util:工具程式</li> 
  <li>hexo-i18n:本地化(i18n)</li> 
  <li>hexo-pagination:生成分页资料</li> 
 </ul> 
 <h4>3.7.4 发布</h4> 
 <p>发布你的插件到 HEXO插件列表</p> 
 <ol> 
  <li>Fork hexojs/site </li> 
  <li>把库(repository)复制到电脑上,并安装所依赖的插件。</li> 
 </ol> 
 <pre><code class="bash">$ git clone https://github.com/<username>/site.git
$ cd site
$ npm install
</code></pre> 
 <ol start="3"> 
  <li>编辑 source/_data/plugins.yml,在档案中新增您的插件,例如:</li> 
 </ol> 
 <pre><code class="bash">- name: hexo-server
  description: Server module for Hexo.
  link: https://github.com/hexojs/hexo-server
  tags:
    - official
    - server
    - console
</code></pre> 
 <ol start="4"> 
  <li>推送(push)分支。</li> 
  <li>建立一个新的合并申请(pull request)并描述改动。</li> 
 </ol> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1697350289570476032"></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/1891246353355436032.htm"
                           title="WPF学习笔记" target="_blank">WPF学习笔记</a>
                        <span class="text-muted">蒋劲豪</span>
<a class="tag" taget="_blank" href="/search/WPF/1.htm">WPF</a><a class="tag" taget="_blank" href="/search/wpf/1.htm">wpf</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a>
                        <div>容器控件:GridstackPanelWrapPanelDockPanelUniformGridGrid:Grid.RowDefinitionsRowDefinitionGrid.ColumnDefinitionsColumnDefinition第一行的高度是第二行的2倍100auto占2列的空间stackPanel:一般用来修饰部分容器,一般是垂直居中的水平水平排列WrapPanel:默认是贴着</div>
                    </li>
                    <li><a href="/article/1891222270098075648.htm"
                           title="[008] [RT-Thread学习笔记] 求结构体首地址rt_list_entry函数与字节对齐RT_ALIGN宏" target="_blank">[008] [RT-Thread学习笔记] 求结构体首地址rt_list_entry函数与字节对齐RT_ALIGN宏</a>
                        <span class="text-muted">柯西的彷徨</span>
<a class="tag" taget="_blank" href="/search/RT-Thread/1.htm">RT-Thread</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/rtos/1.htm">rtos</a>
                        <div>RT-Thread学习笔记rt_list_entry函数源码分析应用示例RT_ALIGN宏源码分析应用示例RT-Thread版本:4.0.5MCU型号:STM32F103RCT6(ARMCortex-M3内核)1rt_list_entry函数rt_list_entry函数的作用是根据已知成员的地址,算出其结构体的首地址。函数定义如下(在rtservice.h中):1.1源码分析#definert_</div>
                    </li>
                    <li><a href="/article/1891173223941337088.htm"
                           title="4.1、十字线 - 趋势中的十字线" target="_blank">4.1、十字线 - 趋势中的十字线</a>
                        <span class="text-muted">五十番</span>
<a class="tag" taget="_blank" href="/search/K%E7%BA%BF%E6%8A%80%E6%9C%AF%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">K线技术学习笔记</a><a class="tag" taget="_blank" href="/search/%E9%87%91%E8%9E%8D/1.htm">金融</a>
                        <div>K线技术学习笔记------基本知识------1.1、基本知识-蜡烛图的历史1.2、基本知识-蜡烛图的结构1.3、基本知识-合成蜡烛线------反转形态------2.1、反转形态-单线反转形态2.2、反转形态-双线反转形态2.3、反转形态-三线反转形态2.4、反转形态-多线反转形态------持续形态------3.1、持续形态-窗口3.2、持续形态-三法形态3.3、持续形态-分手线形态--</div>
                    </li>
                    <li><a href="/article/1891114470407729152.htm"
                           title="宋红康 MySQL高级篇 学习笔记" target="_blank">宋红康 MySQL高级篇 学习笔记</a>
                        <span class="text-muted">偷偷儿</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>架构篇1.sql的执行流程查询缓存:有就直接返回了。解析器进行解析:检查sql合不合语法优化器:对sql语句进行逻辑优化,看是否使用索引,生成执行计划。存贮引擎:myisam,innodb去执行上述计划当然返回的时候也会在缓存一下结果。索引及调优篇1.InnoDBB+树索引的注意事项(页分裂的场景)1.根页面万年不动(页分裂):创建后,用户数据用完可用空间,就会新产生一个页a,并将根节点的数据复制</div>
                    </li>
                    <li><a href="/article/1891114471020097536.htm"
                           title="大厂学院 雷丰阳 JUC 学习笔记" target="_blank">大厂学院 雷丰阳 JUC 学习笔记</a>
                        <span class="text-muted">偷偷儿</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                        <div>基础篇synchronized和lock的区别1.从本质上:synchronized是Java内的一个关键字,lock是一个接口。2.从代码的形式上:synchronized在发生异常时会主动释放锁,lock需要我们在finally语句中释放,不然会死锁;通过lock可以知道锁有没有获取成功,synchronied不行3.从性能上:在1.6前没提出锁升级过程时,重量级锁在被系统检测到后会阻塞尝试获</div>
                    </li>
                    <li><a href="/article/1891090884112478208.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/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/cloud/1.htm">cloud</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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>拖拽列表更新排序,接口提供给前端这个功能主要是需要的算法逻辑很多图解:如在前端页面上想把id=5拖拽到id=3上拖拽之后的效果:解析图例:代码示例:DevToCoding|Java面试指南、学习笔记/***拖拽数据更新排序*@paramcurrentId当前数据id*@paramtargetId目标数据id*@return*/@RequestMapping("/sort/{currentId}/{</div>
                    </li>
                    <li><a href="/article/1891042221252210688.htm"
                           title="Spring Boot中使用RabbitMQ(2)" target="_blank">Spring Boot中使用RabbitMQ(2)</a>
                        <span class="text-muted">D1561691</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/java-rabbitmq/1.htm">java-rabbitmq</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/rabbitmq/1.htm">rabbitmq</a>
                        <div>《一线大厂Java面试题解析+核心总结学习笔记+最新讲解视频+实战项目源码》,点击传送门,即可获取!MessageBroker与AMQP简介MessageBroker是一种消息验证、传输、路由的架构模式,其设计目标主要应用于下面这些场景:消息路由到一个或多个目的地消息转化为其他的表现方式执行消息的聚集、消息的分解,并将结果发送到他们的目的地,然后重新组合相应返回给消息用户调用Web服务来检索数据响</div>
                    </li>
                    <li><a href="/article/1891028354535059456.htm"
                           title="算法学习笔记之数学基础" target="_blank">算法学习笔记之数学基础</a>
                        <span class="text-muted">threesevens</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">算法与数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>例1(最小公倍数与最大公约数)计算最小公倍数公式:LCM(A,B)=A*B/GCD(A,B)A与B的最小公倍数等于A*B除以A与B的最大公约数计算最大公约数:辗转相除法原理:设A与B的最大公约数为x,则A是x的倍数,B也是x的倍数,令A=ax,B=bx,A/B取整为c,则A-cB=(a-bc)x。即A与B的余数也是x的倍数 intgcd(inta,intb) {   inttemp;   whil</div>
                    </li>
                    <li><a href="/article/1891026464833335296.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/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>第一章Java基础1.HelloWorld程序publicclassHelloWorld{publicstaticvoidmain(String[]args){System.out.println("Hello,World!");}}2.数据类型Java提供了多种数据类型,包括基本数据类型和引用数据类型。基本数据类型用于存储简单的数据值,而引用数据类型用于存储对象的引用。2.1基本数据类型Java</div>
                    </li>
                    <li><a href="/article/1891023183318937600.htm"
                           title="算法学习笔记之贪心算法" target="_blank">算法学习笔记之贪心算法</a>
                        <span class="text-muted">threesevens</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95%E4%B8%8E%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">算法与数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E8%B4%AA%E5%BF%83%E7%AE%97%E6%B3%95/1.htm">贪心算法</a>
                        <div>导引(硕鼠的交易)硕鼠准备了M磅猫粮与看守仓库的猫交易奶酪。仓库有N个房间,第i个房间有J[i]磅奶酪并需要F[i]磅猫粮交换,硕鼠可以按比例来交换,不必交换所有的奶酪计算硕鼠最多能得到多少磅奶酪。输入M和N表示猫粮数量和房间数量,随后输入N个房间,每个房间包括奶酪数和猫粮数Input 53 72 43 52 -1-1Output 13.333解法:计算每个房间的奶酪与猫粮之比,比值越大硕鼠收益越</div>
                    </li>
                    <li><a href="/article/1891014732803010560.htm"
                           title="js学习笔记(1)-函数中的this" target="_blank">js学习笔记(1)-函数中的this</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/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>以下为我个人的学习笔记,是从我自己比较能够理解的方面对this进行的解读,可能会有误解或不够全面。this是什么this在JS中是一个“指针型变量”,它动态指向当前函数的运行环境,即代指当前函数的运行环境。普通函数中的this:谁调用指向谁//全局functioncool(){console.log(this)}cool()//window,相当于window.cool()//函数中的thisva</div>
                    </li>
                    <li><a href="/article/1890985237278683136.htm"
                           title="区块链Arbitrum主网节点搭建" target="_blank">区块链Arbitrum主网节点搭建</a>
                        <span class="text-muted">MQLYES</span>
<a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a><a class="tag" taget="_blank" href="/search/%E5%8C%BA%E5%9D%97%E9%93%BE/1.htm">区块链</a>
                        <div>文章目录0.前言1.区块数据镜像下载2.执行docker命令问题0.前言本文是按照官方参考资料基于docker的方式成功搭建arbitrum主网节点。官方文档地址https://docs.arbitrum.io/run-arbitrum-node/run-full-node1.区块数据镜像下载因为区块镜像数据比较大,强烈建议先把镜像下载下来,采用本地初始化的方式同步历史数据。新建文件夹用于存储区块</div>
                    </li>
                    <li><a href="/article/1890975654921433088.htm"
                           title="Vue3 对接 DeepSeek 的完整指南,包含核心场景、常见问题解决方案及代码示例。内容综合官方文档与实战经验,覆盖开发全流程" target="_blank">Vue3 对接 DeepSeek 的完整指南,包含核心场景、常见问题解决方案及代码示例。内容综合官方文档与实战经验,覆盖开发全流程</a>
                        <span class="text-muted">繁若华尘</span>
<a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91/1.htm">前端开发</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>以下为Vue3对接DeepSeek的完整指南,包含核心场景、常见问题解决方案及代码示例。内容综合官方文档与实战经验,覆盖开发全流程。一、基础对接流程1.API密钥获取注册DeepSeek账号并创建APIKey(官网入口)建议将密钥存储在环境变量中(如.env.local):VITE_DEEPSEEK_API_KEY=sk-your-api-keyVITE_DEEPSEEK_BASE_URL=htt</div>
                    </li>
                    <li><a href="/article/1890965807396089856.htm"
                           title="Vue学习笔记3" target="_blank">Vue学习笔记3</a>
                        <span class="text-muted">Jyywww121</span>
<a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>Vue学习笔记一、单页应用程序&路由介绍1、介绍单页应用程序:所有的功能都在一个页面上实现优点:按需更新性能高,开发效率高,用户体验好缺点:学习成本高,首屏加载慢,不利于SEO应用场景:系统类网站、内部网站、文档类网站、移动端站点路由介绍生活中的路由:设备和ip的映射关系Vue中的路由:路径和组件的映射关系2、路由的基本应用VueRouter的介绍:作用:修改地址栏路径时,切换显示匹配的组件路由的</div>
                    </li>
                    <li><a href="/article/1890954203325591552.htm"
                           title="ubuntu完全卸载cuda(备忘)" target="_blank">ubuntu完全卸载cuda(备忘)</a>
                        <span class="text-muted">fengsongdehappy</span>
<a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>cuda的卸载方法网上都有很多,这些方法大同小异,几乎都是错的,我在卸载cuda时基本试了个遍,各种踩坑。能查到的方法一般都是从官方文档搬过来的,然而这种使用apt-get--purgeremove命令的方法并不能将cuda完全卸掉。这里把官方文档的方法贴出来:sudoapt-get--purgeremove"*cublas*""*cufft*""*curand*"\"*cusolver*""*c</div>
                    </li>
                    <li><a href="/article/1890921033691623424.htm"
                           title="鸿蒙next自动打包脚本" target="_blank">鸿蒙next自动打包脚本</a>
                        <span class="text-muted">anthonyzhu</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>简要描述鸿蒙提供相应的打包流水线的官方文档鸿蒙next流水线官方描述提供的是单独的命令行工具包的打包流程IDE打包如果在打包机上安装了IDE,那就没有必要安装命令行工具包,只需要设置几个环境参数exportPATH=$PATH:/usr/local/bin/node;exportNODE_HOME=/Applications/DevEco-Studio.app/Contents/tools/nod</div>
                    </li>
                    <li><a href="/article/1890914853728612352.htm"
                           title="跟着ai辅助学习vue3" target="_blank">跟着ai辅助学习vue3</a>
                        <span class="text-muted">IT、木昜</span>
<a class="tag" taget="_blank" href="/search/vue%E5%85%A8%E5%AE%B6%E6%A1%B6/1.htm">vue全家桶</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/AI%E8%BE%85%E5%8A%A9%E5%AD%A6%E4%B9%A0%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">AI辅助学习前端框架</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>第一章:基础入门(1-2周)1.了解Vue3概述阅读官方文档简介访问Vue3官方文档,在首页或简介板块中,重点了解Vue3相较于Vue2的重大变革。比如,Vue3采用了Proxy实现响应式系统,在性能上有显著提升,尤其是在处理大规模数据时,数据劫持的效率更高。了解CompositionAPI的引入,它解决了OptionsAPI在代码复用和逻辑组织上的痛点,让代码结构更加清晰,易于维护和扩展。例如,</div>
                    </li>
                    <li><a href="/article/1890900483304910848.htm"
                           title="【学习笔记】李宏毅2021春机器学习课程第2.3节:Adaptive Learning Rate" target="_blank">【学习笔记】李宏毅2021春机器学习课程第2.3节:Adaptive Learning Rate</a>
                        <span class="text-muted">Harryline-lx</span>
<a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>文章目录Trainingstuck≠SmallGradientDifferentparametersneedsdifferentlearningrateRootmeansquareAdagradRMSPropAdamLearningRateSchedulingTrainingstuck≠SmallGradient首先要明确的一点是,目前当我们用gradientdescend来做optimizati</div>
                    </li>
                    <li><a href="/article/1890892539007922176.htm"
                           title="ElasticSearch和Kibana安装" target="_blank">ElasticSearch和Kibana安装</a>
                        <span class="text-muted">D_GN</span>
<a class="tag" taget="_blank" href="/search/ElasticSearch/1.htm">ElasticSearch</a><a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a>
                        <div>ElasticSearch学习笔记安装安装环境时linuxx64安装eses的安装依赖于JDK,不过7.0及以上的版本自带了jdk,这里选择7.2的版本来安装eses下载#下载tar文件curl-L-Ohttps://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.2.1-linux-x86_64.tar.gz#解压tar-</div>
                    </li>
                    <li><a href="/article/1890866571493044224.htm"
                           title="【Node-Red】Function节点教学" target="_blank">【Node-Red】Function节点教学</a>
                        <span class="text-muted">零炻大礼包</span>
<a class="tag" taget="_blank" href="/search/Node-Red/1.htm">Node-Red</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a>
                        <div>本篇来讲在Node-Red中编写函数时用到的一个至关重要的节点:function。function节点允许消息运行JavaScript代码。其中部分内容来自官方文档翻译:function节点用户指南。Function节点教学1.变量定义2.返回值1)返回单条数据进阶1进阶22)返回多条数据3.其他变量定义1)数组定义buffer2.Array4.运算符1)算数运算符2)赋值运算符3)字符与运算符4</div>
                    </li>
                    <li><a href="/article/1890792305711968256.htm"
                           title="2024年最新入门基于Node的Web框架——Koa(2),2024年最新前端开发面试题及答案" target="_blank">2024年最新入门基于Node的Web框架——Koa(2),2024年最新前端开发面试题及答案</a>
                        <span class="text-muted">2301_82243626</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/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/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>最后文章到这里就结束了,如果觉得对你有帮助可以点个赞哦开源分享:【大厂前端面试题解析+核心总结学习笔记+真实项目实战+最新讲解视频】},“querystring”:“search=koa&keyword=context”}responseresponse对象是用于设置一些响应信息给客户端,这些和http请求的响应字段是一样的。比如说可以设置状态码、响应格式等相关信息。app.use(async(c</div>
                    </li>
                    <li><a href="/article/1890751446597562368.htm"
                           title="langchain学习笔记之小样本提示词Few-shot Prompt Template" target="_blank">langchain学习笔记之小样本提示词Few-shot Prompt Template</a>
                        <span class="text-muted">静静的喝酒</span>
<a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E5%BC%80%E5%8F%91/1.htm">大模型开发</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a>
                        <div>langchain学习笔记之小样本提示词引言Few-shotPromptTemplates\text{Few-shotPromptTemplates}Few-shotPromptTemplates简单介绍示例集创建创建ExamplePrompt\text{ExamplePrompt}ExamplePrompt与ExampleSelector\text{ExampleSelector}Example</div>
                    </li>
                    <li><a href="/article/1890717657666220032.htm"
                           title="将Github项目克隆到本地" target="_blank">将Github项目克隆到本地</a>
                        <span class="text-muted">Wlq0415</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/git/1.htm">git</a>
                        <div>前言提示:前提是自己电脑已经安装Git。安装前往下载链接:https://git-scm.com/如下图:下载完毕,运行安装程序,无脑安装,一直next即可检查安装(Win+R打开命令提示符,输入以下命令),已经安装如下图:命令:git--version5.接下来克隆项目一、选择一个文件夹作为本地仓库进入文件夹,鼠标右键点击:GitBashHere,即可进入此界面如果没有此功能菜单:学习笔记:右键</div>
                    </li>
                    <li><a href="/article/1890647677750800384.htm"
                           title="Svelte 最新中文文档翻译(9)—— bind: 模板语法" target="_blank">Svelte 最新中文文档翻译(9)—— bind: 模板语法</a>
                        <span class="text-muted"></span>

                        <div>前言Svelte,一个非常“有趣”、用起来“很爽”的前端框架。从Svelte诞生之初,就备受开发者的喜爱,根据统计,从2019年到2024年,连续6年一直是开发者最感兴趣的前端框架No.1:Svelte以其独特的编译时优化机制著称,具有轻量级、高性能、易上手等特性,非常适合构建轻量级Web项目,也是我做个人项目的首选技术栈。目前Svelte基于Svelte5发布了最新的官方文档,但却缺少对应的中文</div>
                    </li>
                    <li><a href="/article/1890630144834465792.htm"
                           title="VBA两列数据对比查找相同与不同(字典与数组学习笔记)" target="_blank">VBA两列数据对比查找相同与不同(字典与数组学习笔记)</a>
                        <span class="text-muted">依酒飘摇</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/vba/1.htm">vba</a><a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a>
                        <div>Subcompare()Dimrowt1%,rowt2%,i%,k%,a%,b%,c%Dimarr,arr1,arr2Dimd1AsObjectDimd2AsObjectSetd1=CreateObject(“scripting.dictionary”)Setd2=CreateObject(“scripting.dictionary”)rowt1=Cells(1048576,1).End(3).R</div>
                    </li>
                    <li><a href="/article/1890628250774859776.htm"
                           title="python判断数据和excel中是否相等_对比Excel学习python数据分析-学习笔记4" target="_blank">python判断数据和excel中是否相等_对比Excel学习python数据分析-学习笔记4</a>
                        <span class="text-muted">re1key</span>

                        <div>一对一替换多对一替换多对多替换参考一列数值进行排序参照有缺失值的列排序参考多数值列排序数值排名删除列删除行删除特定列行数值计数唯一值获取数值查找区间切分插入新的行或列行列互换索引重塑长宽表转换apply()和applymap()函数1.数值替换一对一替换replace(A,B)-用B替换A;replace(A,B,inplace=True)-用B替换A,元数据也将被替换掉;replace(np.N</div>
                    </li>
                    <li><a href="/article/1890604038932721664.htm"
                           title="Win32 学习笔记_静态编辑控件(StaticEdit)" target="_blank">Win32 学习笔记_静态编辑控件(StaticEdit)</a>
                        <span class="text-muted">qq_31178679</span>
<a class="tag" taget="_blank" href="/search/Win32/1.htm">Win32</a><a class="tag" taget="_blank" href="/search/SDK/1.htm">SDK</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/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%AD%A6%E4%B9%A0/1.htm">学习</a>
                        <div>1.控件的创建//创建静态文本框(StaticEdit)HWNDhStaticEdit=CreateWindowEx(0,TEXT("Static"),TEXT("StaticEdit1"),WS_VISIBLE|WS_CHILD|SS_LEFT,10,10,100,30,hWnd,NULL,hInstance,0);//创建静态文本,水平居中HWNDhStaticEdit2=CreateWind</div>
                    </li>
                    <li><a href="/article/1890558886172225536.htm"
                           title="C#学习笔记——数据与运算(二)" target="_blank">C#学习笔记——数据与运算(二)</a>
                        <span class="text-muted">Buling_0</span>
<a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>1.常量与变量1.1.常量常量是指哪些为人们可读格式的固定数值,在程序的运行过程中值不会发生改变,称为常量。在C#中可以通过关键字const来声明常量,格式如下:const类型标识符常量名=表达式;constdoublePAI=3.14;//定义了一个double类型的常量PAI,值为3.14常量的特点:常量在声明时必须赋予初值,且值在程序的运行中无法改变;定义常量时表达式中的运算符对象只允许出现</div>
                    </li>
                    <li><a href="/article/1890546537839259648.htm"
                           title="4、PostgreSQL数据类型" target="_blank">4、PostgreSQL数据类型</a>
                        <span class="text-muted">Daydreamer .</span>
<a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a><a class="tag" taget="_blank" href="/search/postgresql/1.htm">postgresql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a>
                        <div>PostgreSQL数据类型PostgreSQL的数据类型是很多的,而且用户可以使用命令CREATETYPE来添加新的数据类型。所以我就挑了一些来做笔记,想要了解更多可以看官方文档。数据类型表:名字别名描述bigintint8有符号的8字节整数bigserialserial8自动增长的8字节整数bit[(*n*)]定长位串bitvarying[(*n*)]varbit变长位串booleanbool</div>
                    </li>
                    <li><a href="/article/1890498736166072320.htm"
                           title="动手学深度学习笔记|3.2线性回归的从零开始实现(附课后习题答案)" target="_blank">动手学深度学习笔记|3.2线性回归的从零开始实现(附课后习题答案)</a>
                        <span class="text-muted">lusterku</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%89%8B%E5%AD%A6%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">动手学深度学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/%E7%BA%BF%E6%80%A7%E5%9B%9E%E5%BD%92/1.htm">线性回归</a>
                        <div>动手学深度学习笔记|3.2线性回归的从零开始实现(附课后习题答案)线性回归的从零开始实现生成数据集读取数据集初始化模型参数定义模型定义损失函数定义优化算法训练练习1.如果我们将权重初始化为零,会发生什么。算法仍然有效吗?2.计算二阶导数时可能会遇到什么问题?这些问题可以如何解决?3.为什么在`squared_loss`函数中需要使用`reshape`函数?4.尝试使用不同的学习率,观察损失函数值下</div>
                    </li>
                                <li><a href="/article/36.htm"
                                       title="ASM系列四 利用Method 组件动态注入方法逻辑" target="_blank">ASM系列四 利用Method 组件动态注入方法逻辑</a>
                                    <span class="text-muted">lijingyao8206</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81%E6%8A%80%E6%9C%AF/1.htm">字节码技术</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/AOP/1.htm">AOP</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E4%BB%A3%E7%90%86/1.htm">动态代理</a><a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a>
                                    <div>        这篇继续结合例子来深入了解下Method组件动态变更方法字节码的实现。通过前面一篇,知道ClassVisitor 的visitMethod()方法可以返回一个MethodVisitor的实例。那么我们也基本可以知道,同ClassVisitor改变类成员一样,MethodVIsistor如果需要改变方法成员,注入逻辑,也可以</div>
                                </li>
                                <li><a href="/article/163.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%86%85%E9%83%A8%E7%B1%BB/1.htm">内部类</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">匿名内部类</a>
                                    <div>内部类;了解外部类 并能与之通信 内部类写出来的代码更加整洁与优雅 
  
1,内部类的创建  内部类是创建在类中的 
 
package com.wj.InsideClass;

/*
 * 内部类的创建
 */
public class CreateInsideClass {

	public CreateInsideClass(</div>
                                </li>
                                <li><a href="/article/290.htm"
                                       title="web.xml报错" target="_blank">web.xml报错</a>
                                    <span class="text-muted">crabdave</span>
<a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a>
                                    <div>web.xml报错 
  
The content of element type "web-app" must match "(icon?,display- 
 name?,description?,distributable?,context-param*,filter*,filter-mapping*,listener*,servlet*,s</div>
                                </li>
                                <li><a href="/article/417.htm"
                                       title="泛型类的自定义" target="_blank">泛型类的自定义</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/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E6%B3%9B%E5%9E%8B/1.htm">泛型</a>
                                    <div>   为什么要定义泛型类,当类中要操作的引用数据类型不确定的时候。 
采用泛型类,完成扩展。 
  例如有一个学生类 
    
Student{
  Student(){
   System.out.println("I'm a student.....");
  }
} 
 有一个老师类 
  
</div>
                                </li>
                                <li><a href="/article/544.htm"
                                       title="CSS清除浮动的4中方法" target="_blank">CSS清除浮动的4中方法</a>
                                    <span class="text-muted">IT独行者</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>清除浮动这个问题,做前端的应该再熟悉不过了,咱是个新人,所以还是记个笔记,做个积累,努力学习向大神靠近。CSS清除浮动的方法网上一搜,大概有N多种,用过几种,说下个人感受。 
1、结尾处加空div标签 clear:both      1   2   3   4      
.div 
1 
{ 
background 
: 
#000080 
; 
border 
: 
1px   
s</div>
                                </li>
                                <li><a href="/article/671.htm"
                                       title="Cygwin使用windows的jdk 配置方法" target="_blank">Cygwin使用windows的jdk 配置方法</a>
                                    <span class="text-muted">_wy_</span>
<a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/cygwin/1.htm">cygwin</a>
                                    <div>1.[vim /etc/profile] 
   JAVA_HOME="/cgydrive/d/Java/jdk1.6.0_43"  (windows下jdk路径为D:\Java\jdk1.6.0_43) 
   PATH="$JAVA_HOME/bin:${PATH}" 
   CLAS</div>
                                </li>
                                <li><a href="/article/798.htm"
                                       title="linux下安装maven" target="_blank">linux下安装maven</a>
                                    <span class="text-muted">无量</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a>
                                    <div>Linux下安装maven(转)  1.首先到Maven官网 
下载安装文件,目前最新版本为3.0.3,下载文件为 
apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令; 
 
2.进入下载文件夹,找到下载的文件,运行如下命令解压 
  tar -xvf  apache-maven-2.2.1-bin.tar.gz  
解压后的文件夹</div>
                                </li>
                                <li><a href="/article/925.htm"
                                       title="tomcat的https 配置,syslog-ng配置" target="_blank">tomcat的https 配置,syslog-ng配置</a>
                                    <span class="text-muted">aichenglong</span>
<a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/http%E8%B7%B3%E8%BD%AC%E5%88%B0https/1.htm">http跳转到https</a><a class="tag" taget="_blank" href="/search/syslong-ng%E9%85%8D%E7%BD%AE/1.htm">syslong-ng配置</a><a class="tag" taget="_blank" href="/search/syslog%E9%85%8D%E7%BD%AE/1.htm">syslog配置</a>
                                    <div>1) tomcat配置https,以及http自动跳转到https的配置 
    1)TOMCAT_HOME目录下生成密钥(keytool是jdk中的命令) 
     keytool -genkey -alias tomcat -keyalg RSA -keypass changeit -storepass changeit</div>
                                </li>
                                <li><a href="/article/1052.htm"
                                       title="关于领号活动总结" target="_blank">关于领号活动总结</a>
                                    <span class="text-muted">alafqq</span>
<a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a>
                                    <div>关于某彩票活动的总结 
具体需求,每个用户进活动页面,领取一个号码,1000中的一个; 
活动要求 
1,随机性,一定要有随机性; 
2,最少中奖概率,如果注数为3200注,则最多中4注 
3,效率问题,(不能每个人来都产生一个随机数,这样效率不高); 
4,支持断电(仍然从下一个开始),重启服务;(存数据库有点大材小用,因此不能存放在数据库) 
 
解决方案 
1,事先产生随机数1000个,并打</div>
                                </li>
                                <li><a href="/article/1179.htm"
                                       title="java数据结构 冒泡排序的遍历与排序" target="_blank">java数据结构 冒泡排序的遍历与排序</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>java的冒泡排序是一种简单的排序规则 
  
冒泡排序的原理:  
         比较两个相邻的数,首先将最大的排在第一个,第二次比较第二个 ,此后一样; 
        针对所有的元素重复以上的步骤,除了最后一个 
  
  
例题;将int array[] </div>
                                </li>
                                <li><a href="/article/1306.htm"
                                       title="JS检查输入框输入的是否是数字的一种校验方法" target="_blank">JS检查输入框输入的是否是数字的一种校验方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a>
                                    <div>如下是JS检查输入框输入的是否是数字的一种校验方法: 
<form method=post target="_blank">
   数字:<input type="text" name=num onkeypress="checkNum(this.form)"><br>
</form>
</div>
                                </li>
                                <li><a href="/article/1433.htm"
                                       title="Test注解的两个属性:expected和timeout" target="_blank">Test注解的两个属性:expected和timeout</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/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/expected/1.htm">expected</a><a class="tag" taget="_blank" href="/search/timeout/1.htm">timeout</a>
                                    <div>JUnit4:Test文档中的解释: 
  The Test annotation supports two optional parameters. 
  The first, expected, declares that a test method should throw an exception. 
  If it doesn't throw an exception or if it </div>
                                </li>
                                <li><a href="/article/1560.htm"
                                       title="[Gson二]继承关系的POJO的反序列化" target="_blank">[Gson二]继承关系的POJO的反序列化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a>
                                    <div>父类 
  
  
package inheritance.test2;

import java.util.Map;

public class Model {
    private String field1;
    private String field2;

    private Map<String, String> infoMap</div>
                                </li>
                                <li><a href="/article/1687.htm"
                                       title="【Spark八十四】Spark零碎知识点记录" target="_blank">【Spark八十四】Spark零碎知识点记录</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/spark/1.htm">spark</a>
                                    <div>1. ShuffleMapTask的shuffle数据在什么地方记录到MapOutputTracker中的 
ShuffleMapTask的runTask方法负责写数据到shuffle map文件中。当任务执行完成成功,DAGScheduler会收到通知,在DAGScheduler的handleTaskCompletion方法中完成记录到MapOutputTracker中 
  
   </div>
                                </li>
                                <li><a href="/article/1814.htm"
                                       title="WAS各种脚本作用大全" target="_blank">WAS各种脚本作用大全</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/WAS+%E8%84%9A%E6%9C%AC/1.htm">WAS 脚本</a>
                                    <div>   http://www.ibm.com/developerworks/cn/websphere/library/samples/SampleScripts.html 
   无意中,在WAS官网上发现的各种脚本作用,感觉很有作用,先与各位分享一下 
    
获取下载 
这些示例 jacl 和 Jython 脚本可用于在 WebSphere Application Server 的不同版本中自</div>
                                </li>
                                <li><a href="/article/1941.htm"
                                       title="java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句" target="_blank">java-12.求 1+2+3+..n不能使用乘除法、 for 、 while 、 if 、 else 、 switch 、 case 等关键字以及条件判断语句</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/switch/1.htm">switch</a>
                                    <div>借鉴网上的思路,用java实现: 
 




public class NoIfWhile {

	/**
	 * @param args
	 * 
	 * find x=1+2+3+....n
	 */
	public static void main(String[] args) {
		int n=10;
		int re=find(n);
		System.o</div>
                                </li>
                                <li><a href="/article/2068.htm"
                                       title="Netty源码学习-ObjectEncoder和ObjectDecoder" target="_blank">Netty源码学习-ObjectEncoder和ObjectDecoder</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>Netty中传递对象的思路很直观: 
Netty中数据的传递是基于ChannelBuffer(也就是byte[]); 
那把对象序列化为字节流,就可以在Netty中传递对象了 
相应的从ChannelBuffer恢复对象,就是反序列化的过程 
 
Netty已经封装好ObjectEncoder和ObjectDecoder 
 
先看ObjectEncoder 
ObjectEncoder是往外发送</div>
                                </li>
                                <li><a href="/article/2195.htm"
                                       title="spring 定时任务中cronExpression表达式含义" target="_blank">spring 定时任务中cronExpression表达式含义</a>
                                    <span class="text-muted">chicony</span>
<a class="tag" taget="_blank" href="/search/cronExpression/1.htm">cronExpression</a>
                                    <div>一个cron表达式有6个必选的元素和一个可选的元素,各个元素之间是以空格分隔的,从左至右,这些元素的含义如下表所示: 
代表含义            是否必须 允许的取值范围         &nb</div>
                                </li>
                                <li><a href="/article/2322.htm"
                                       title="Nutz配置Jndi" target="_blank">Nutz配置Jndi</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/JNDI/1.htm">JNDI</a>
                                    <div>1、使用JNDI获取指定资源: 
 

var ioc = {
    dao : {
        type :"org.nutz.dao.impl.NutDao",
        args : [ {jndi :"jdbc/dataSource"} ]
    }
}
 
以上方法,仅需要在容器中配置好数据源,注入到NutDao即可. </div>
                                </li>
                                <li><a href="/article/2449.htm"
                                       title="解决 /bin/sh^M: bad interpreter: No such file or directory" target="_blank">解决 /bin/sh^M: bad interpreter: No such file or directory</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a>
                                    <div>在Linux中执行.sh脚本,异常/bin/sh^M: bad interpreter: No such file or directory。 
  
分析:这是不同系统编码格式引起的:在windows系统中编辑的.sh文件可能有不可见字符,所以在Linux系统下执行会报以上异常信息。 
解决: 
1)在windows下转换: 
利用一些编辑器如UltraEdit或EditPlus等工具</div>
                                </li>
                                <li><a href="/article/2576.htm"
                                       title="[转]for 循环为何可恨?" target="_blank">[转]for 循环为何可恨?</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a><a class="tag" taget="_blank" href="/search/%E8%AF%BB%E4%B9%A6/1.htm">读书</a>
                                    <div>  
Java的闭包(Closure)特征最近成为了一个热门话题。 一些精英正在起草一份议案,要在Java将来的版本中加入闭包特征。 然而,提议中的闭包语法以及语言上的这种扩充受到了众多Java程序员的猛烈抨击。 
不久前,出版过数十本编程书籍的大作家Elliotte Rusty Harold发表了对Java中闭包的价值的质疑。 尤其是他问道“for 循环为何可恨?”[http://ju</div>
                                </li>
                                <li><a href="/article/2703.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、去掉所有Activity界面的标题栏 
  修改AndroidManifest.xml   在application 标签中添加android:theme="@android:style/Theme.NoTitleBar" 
  
2、去掉所有Activity界面的TitleBar 和StatusBar  
  修改AndroidManifes</div>
                                </li>
                                <li><a href="/article/2830.htm"
                                       title="Oracle 复习笔记之序列" target="_blank">Oracle 复习笔记之序列</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/Oracle+%E5%BA%8F%E5%88%97/1.htm">Oracle 序列</a><a class="tag" taget="_blank" href="/search/sequence/1.htm">sequence</a><a class="tag" taget="_blank" href="/search/Oracle+sequence/1.htm">Oracle sequence</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2098859 
1.序列的作用 
 
 序列是用于生成唯一、连续序号的对象 
 一般用序列来充当数据库表的主键值 
 
2.创建序列语法如下: 
  
create sequence s_emp
start with 1      --开始值
increment by 1    --増长值
maxval</div>
                                </li>
                                <li><a href="/article/2957.htm"
                                       title="有“品”的程序员" target="_blank">有“品”的程序员</a>
                                    <span class="text-muted">gongmeitao</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a>
                                    <div>完美程序员的10种品质   
  
 完美程序员的每种品质都有一个范围,这个范围取决于具体的问题和背景。没有能解决所有问题的 
  
完美程序员(至少在我们这个星球上),并且对于特定问题,完美程序员应该具有以下品质: 
  1. 才智非凡- 能够理解问题、能够用清晰可读的代码翻译并表达想法、善于分析并且逻辑思维能力强 
  
(范围:用简单方式解决复杂问题)   
 </div>
                                </li>
                                <li><a href="/article/3084.htm"
                                       title="使用KeleyiSQLHelper类进行分页查询" target="_blank">使用KeleyiSQLHelper类进行分页查询</a>
                                    <span class="text-muted">hvt</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><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>
                                    <div>本文适用于sql server单主键表或者视图进行分页查询,支持多字段排序。KeleyiSQLHelper类的最新代码请到http://hovertree.codeplex.com/SourceControl/latest下载整个解决方案源代码查看。或者直接在线查看类的代码:http://hovertree.codeplex.com/SourceControl/latest#HoverTree.D</div>
                                </li>
                                <li><a href="/article/3211.htm"
                                       title="SVG 教程 (三)圆形,椭圆,直线" target="_blank">SVG 教程 (三)圆形,椭圆,直线</a>
                                    <span class="text-muted">天梯梦</span>
<a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a>
                                    <div>SVG <circle>   SVG 圆形 - <circle> 
<circle> 标签可用来创建一个圆: 
下面是SVG代码: 
<svg xmlns="http://www.w3.org/2000/svg" version="1.1">
  <circle cx="100" c</div>
                                </li>
                                <li><a href="/article/3338.htm"
                                       title="链表栈" target="_blank">链表栈</a>
                                    <span class="text-muted">luyulong</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a>
                                    <div>
public class Node {
	private Object object;
	private Node next;

	public Node() {
		this.next = null;
		this.object = null;
	}

	public Object getObject() {
		return object;
	}

	public</div>
                                </li>
                                <li><a href="/article/3465.htm"
                                       title="基础数据结构和算法十:2-3 search tree" target="_blank">基础数据结构和算法十:2-3 search tree</a>
                                    <span class="text-muted">sunwinner</span>
<a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/2-3+search+tree/1.htm">2-3 search tree</a>
                                    <div>  
Binary search tree works well for a wide variety of applications, but they have poor worst-case performance. Now we introduce a type of binary search tree where costs are guaranteed to be loga</div>
                                </li>
                                <li><a href="/article/3592.htm"
                                       title="spring配置定时任务" target="_blank">spring配置定时任务</a>
                                    <span class="text-muted">stunizhengjia</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a>
                                    <div>最近因工作的需要,用到了spring的定时任务的功能,觉得spring还是很智能化的,只需要配置一下配置文件就可以了,在此记录一下,以便以后用到: 
  
  
//------------------------定时任务调用的方法------------------------------
    /**
     * 存储过程定时器
    */
    publi</div>
                                </li>
                                <li><a href="/article/3719.htm"
                                       title="ITeye 8月技术图书有奖试读获奖名单公布" target="_blank">ITeye 8月技术图书有奖试读获奖名单公布</a>
                                    <span class="text-muted">ITeye管理员</span>
<a class="tag" taget="_blank" href="/search/%E6%B4%BB%E5%8A%A8/1.htm">活动</a>
                                    <div>ITeye携手博文视点举办的8月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 
 
 
8月试读活动回顾: 
http://webmaster.iteye.com/blog/2102830 
 
 
本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀): 
 
 
《跨终端Web》 
 
 
 
 gleams:http</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>