自己动手搭建个人博客到优化





  今天,是你未来所有剩余的日子中,最早的一天

——stormzhang      

背景


个人博客地址:http://nijun.me

我为什么要写这篇文章?是因为大学三年了,感觉学了这么多知识,但是并没有真正地去消化和总结过,最近又看到了stormzhang大神写的这篇我为什么坚持写博客?。我真的感触很深,以前花了很多时间学的东西,不久之后便会印象模糊,想要回忆的时候,又不能快速找到。所以我决定从今天开始写博客,总结和梳理自己的知识。

stormzhang在他的文章里推荐了hexo,基于Node框架,可以和Github Pages结合起来搭建个人博客。而且主题样式非常多,可以自己选择搭配的东西很多。当我第一次把博客跑起来的时候,真的惊呆了,没想到个人博客也可以这么轻松的搭建。我用了五一这个假期,自己动手搭建了现在您正看到的这个博客,虽然现在很粗糙,但是我会不断的学习和优化它的。

Hexo

什么是Hexo

Hexo是一个快速,简单和强大的博客框架。可以使用Markdown进行写作,Hexo会在几秒钟内生成具有美丽主题的静态文件。

安装要求

这里具体的操作步骤可以到hexo官网。

  • Node.js
  • Git

如果已经装好了这些,那么我们现在就开始吧!

第一步

一旦安装了所有要求,可以用npm安装Hexo。

$ npm install hexo-cli -g  //在本地安装hexo的环境 

第二步

首先选择一个目录作为hexo博客的根目录,使用git bash cd到这个目录,然后输入

$ hexo init    //推荐 ,这里的folder参数如果指定,便会在终端当前的资料夹建立一个名为 folder 的新资料夹;
$ hexo init  //直接使用当前目录初始化

完成后

   $ cd folder
   $ npm install  //在当前目录下安装hexo核心文件
   $ npm install hexo --no-optional --save

这样就安装完成了。这时候可以看到floder文件夹下具有这些子目录

    .
    ├── _config.yml   站点配置文件
    ├── package.json
    ├── scaffolds    存放模板的地方
    ├── source       原文件夹,存放网站内容
    |   ├── _drafts  存放临时草稿文件的地方
    |   └── _posts   已经发布的文章
    └── themes       主题文件夹

source中带有前缀_(下划线)的文件夹,在generate的时候会渲染到public目录中,其他的文件夹和文件仅仅被简单地复制到public中。

floder目录下,有一个_config.yml,这个文件是整个网站的核心配置文件,由于后面主题文件夹中也有一个同名的配置文件,为了区分,网站的核心配置文件就叫做站点配置文件,主题中的叫做主题配置文件

打开站点配置文件,可以看到Site标签,这是我的配置。

    # Site
    title: SimpleLifee  #网站标题
    subtitle: code, mylife   #网站副标题
    description: start from zero     #网站描述
    author: Nimon        #你的名字
    language: zh-Hans    #语言,
    timezone: Asia/Shanghai  #时区

还有Deployment标签,与Github Pages进行关联

# Deployment
## Docs: https://hexo.io/docs/deployment.html
deploy:
     type: git
     repo: git@github.com:SimpleLifee/SimpleLifee.github.io.git 
     branch: master

其中type必须填git,repo填写你在git上创建的库的ssh地址,或者https地址。注意如果是https的那么以后每次deploy的时候都要求你输入用户名和密码,如果改成ssh并且你没有给你的id_rsa设置密码(空密码也一样)的话,就不用每次都输入密码了。

$ ssh-keygen -p -f /root/.ssh/id_dsa -N '' 

如果你之前设置了密码,那么使用这条命令就可以更改你的私钥的密码了。参考superuser

命令

写作

$ hexo new [layout]   </code></pre> 
  <p>创建一个新文章,<code>layout</code>可以有三个参数<code>post</code>、<code>page</code>、<code>draft</code>, hexo 会在 <code>Scaffold</code> 文件夹下寻找你写的 <code>layout.md</code> 文件模板来建立文件。如果 <code>title</code> 包含空格,请用引号括起来。</p> 
  <h4 id="文件名称">文件名称</h4> 
  <p>在站点配置文件中<code>Writing</code> 标签下添加</p> 
  <pre class="prettyprint"><code class="language-Yaml hljs ruby"><span class="hljs-symbol">new_post_name:</span> <span class="hljs-symbol">:year-</span><span class="hljs-symbol">:month-</span><span class="hljs-symbol">:day-</span><span class="hljs-symbol">:title</span>.md</code></pre> 
  <p>其中 <code>:month</code> 和 <code>:i_month</code> 的区别在于 前者有前导零 (比如 <code>04</code> )</p> 
  <h4 id="草稿">草稿</h4> 
  <p>如果创建新文章的时候,指定了 <code>draft</code> 参数,那么就是保存到 <code>source/_drafts</code> 文件夹中,可以使用下面的语句,将草稿移动到 <code>source/_posts</code>文件中。</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo publish [layout] <filename></code></pre> 
  <p>发布草稿变成正式文章。一般<code>filename</code>写你的草稿文件的名字,<code>layout</code>写<code>post</code></p> 
  <h4 id="模版scaffold">模版(Scaffold)</h4> 
  <p>在新建文章时,Hexo 会根据 scaffolds 文件夹内相对应的文件来建立文件,例如:</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo <span class="hljs-keyword">new</span> photo <span class="hljs-string">"My Gallery"</span></code></pre> 
  <p>在执行这行指令时,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,并根据其内容建立文章</p> 
  <table> 
   <thead> 
    <tr> 
     <th>变量</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td><code>layout</code></td> 
     <td>布局</td> 
    </tr> 
    <tr> 
     <td><code>title</code></td> 
     <td>标题</td> 
    </tr> 
    <tr> 
     <td><code>date</code></td> 
     <td>文件建立日期</td> 
    </tr> 
   </tbody> 
  </table> 
  <h3 id="布局layout">布局(Layout)</h3> 
  <p>Hexo 有三种默认布局:<code>post</code>、<code>page</code>、<code>draft</code>,它们分别对应不同的路径,自定义的其他布局和 <code>post</code> 相同,都将储存到 <code>source/_posts</code> 文件夹。</p> 
  <table> 
   <thead> 
    <tr> 
     <th align="left">布局</th> 
     <th align="left">路径</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td align="left">post</td> 
     <td align="left">source/_posts</td> 
    </tr> 
    <tr> 
     <td align="left">page</td> 
     <td align="left">source</td> 
    </tr> 
    <tr> 
     <td align="left">draft</td> 
     <td align="left">source/_drafts</td> 
    </tr> 
   </tbody> 
  </table> 
  <blockquote> 
   <p>不要处理我的文章 <br> 可以在Front-Matter 中的layout: 设为 false。</p> 
  </blockquote> 
  <h3 id="front-matter">Front-matter</h3> 
  <p>Front-matter 是文件最上方以 — 分隔的区域,用于指定个别文件的变量,例如</p> 
  <pre class="prettyprint"><code class=" hljs asciidoc">title: Hello World
<span class="hljs-header">date: 2017/5/1 20:46:25
---</span></code></pre> 
  <p>也可以使用JSON 格式,只需要把 — 换成 ;;;</p> 
  <pre class="prettyprint"><code class=" hljs bash"><span class="hljs-string">"title"</span>: <span class="hljs-string">"Hello World"</span>,
<span class="hljs-string">"date"</span>: <span class="hljs-string">"2017/5/1 20:46:25"</span>
;;;</code></pre> 
  <p>Front-matter的参数列表</p> 
  <table> 
   <thead> 
    <tr> 
     <th>参数</th> 
     <th>描述</th> 
     <th>默认值</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td><code>layout</code></td> 
     <td>布局</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td><code>title</code></td> 
     <td>标题</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td><code>date</code></td> 
     <td>建立日期</td> 
     <td>文件建立日期</td> 
    </tr> 
    <tr> 
     <td><code>updated</code></td> 
     <td>更新日期</td> 
     <td>文件更新日期</td> 
    </tr> 
    <tr> 
     <td><code>comments</code></td> 
     <td>开启文章的评论功能</td> 
     <td>true</td> 
    </tr> 
    <tr> 
     <td><code>description</code></td> 
     <td>文章的描述</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td><code>tags</code></td> 
     <td>标签(不适用于分页)</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td><code>categories</code></td> 
     <td>分类(不适用于分页)</td> 
     <td></td> 
    </tr> 
    <tr> 
     <td><code>permalink</code></td> 
     <td>覆盖文章网址</td> 
     <td></td> 
    </tr> 
   </tbody> 
  </table> 
  <h4 id="分类和标签">分类和标签</h4> 
  <pre class="prettyprint"><code class="language-Yaml hljs haml">tags:
  -<span class="ruby"> <span class="hljs-constant">List</span>
</span>  -<span class="ruby"> <span class="hljs-constant">Dictionary</span>
</span>  -<span class="ruby"> <span class="hljs-constant">ArraryList</span>
</span>  -<span class="ruby"> hashtable
</span>  -<span class="ruby"> <span class="hljs-constant">Stack</span>
</span>  -<span class="ruby"> <span class="hljs-constant">Queue</span></span></code></pre> 
  <p>或者</p> 
  <pre class="prettyprint"><code class="language-Yaml hljs css"> <span class="hljs-tag">tags</span>:
 <span class="hljs-attr_selector">[Python, Javascript, Hexo]</span></code></pre> 
  <h4 id="引用块block-quote">引用块(Block Quote)</h4> 
  <p>模板如下</p> 
  <pre class="prettyprint"><code class=" hljs scss">{% <span class="hljs-tag">blockquote</span> <span class="hljs-attr_selector">[author[, source]</span>] <span class="hljs-attr_selector">[link]</span> <span class="hljs-attr_selector">[source_link_title]</span> %}
<span class="hljs-attribute">content</span>
{% endblockquote %}</code></pre> 
  <p>例如</p> 
  <pre class="prettyprint"><code class=" hljs mathematica"><span class="hljs-list">{% blockquote stormzhang %}</span>
今天,是你未来所有剩余的日子中,最早的一天
<span class="hljs-list">{% endblockquote %}</span></code></pre> 
  <p>{% blockquote stormzhang %} <br> 今天,是你未来所有剩余的日子中,最早的一天 <br> {% endblockquote %}</p> 
  <h4 id="代码块code-block">代码块(Code Block)</h4> 
  <p>模板如下</p> 
  <pre class="prettyprint"><code class=" hljs django"><span class="xml"></span><span class="hljs-template_tag">{% codeblock [title] [lang:<span class="hljs-keyword">language</span>] [<span class="hljs-keyword">url</span>] [link text]%}</span><span class="xml">
code snippet
</span><span class="hljs-template_tag">{% endcodeblock %}</span><span class="xml"></span></code></pre> 
  <p>例如:</p> 
  <pre class="prettyprint"><code class=" hljs cs">{% codeblock  main.java lang:java  http:<span class="hljs-comment">//www.runoob.com/java/java-tutorial.html Java%}</span>
<span class="hljs-keyword">public</span> <span class="hljs-keyword">static</span> <span class="hljs-keyword">void</span> <span class="hljs-title">main</span>(String []args){
}
{% endcodeblock  %}</code></pre> 
  <p>{% codeblock main.java lang:java http://www.runoob.com/java/java-tutorial.html Java%} <br> public static void main(String []args){ <br> } <br> {% endcodeblock %}</p> 
  <h4 id="醒目引文pull-quote">醒目引文(Pull Quote)</h4> 
  <pre class="prettyprint"><code class="language-Java hljs ruby">{% pullquote [<span class="hljs-class"><span class="hljs-keyword">class</span>] %}</span>
something important
{% endpullquote %}</code></pre> 
  <p>如下</p> 
  <p>{% pullquote [class] %} <br> something important <br> {% endpullquote %}</p> 
  <h4 id="图片image">图片(Image)</h4> 
  <p>有两种方式,一种是markdown格式的</p> 
  <pre class="prettyprint"><code class=" hljs ruby">![](<span class="hljs-regexp">/images/avatar</span>.jpg)</code></pre> 
  <p>另一种是hexo支持的格式</p> 
  <pre class="prettyprint"><code class=" hljs markdown">{% img [<span class="hljs-link_label">class names</span>] /path/to/image [<span class="hljs-link_label">width</span>] [<span class="hljs-link_label">height</span>][<span class="hljs-link_reference">title text [alt text</span>]] %}</code></pre> 
  <h4 id="链接link">链接(Link)</h4> 
  <p>在文章中插入链接,并自动给外部链接添加 target=”_blank” 属性。</p> 
  <pre><code>{% link text url [external] [title] %}

{% link 谷歌 http://www.google.com google %}
</code></pre> 
  <p>如{% link 谷歌 http://www.google.com google %}</p> 
  <h4 id="外部引用include-code">外部引用(Include Code)</h4> 
  <p>可以引入其他文件中的代码,例如下面语句</p> 
  <pre class="prettyprint"><code class=" hljs markdown">{% include_code [<span class="hljs-link_label">title</span>][<span class="hljs-link_reference">lang:language</span>] path/to/file %}</code></pre> 
  <blockquote> 
   <p>hexo支持的语法还有很多,如 <br> <strong>jsFiddle</strong>、<strong>Gist</strong>、<strong>iframe</strong>、<strong>Youtube</strong>、<strong>Vimeo</strong>等等,有需要的建议自行查阅官方文档</p> 
  </blockquote> 
  <h3 id="服务器">服务器</h3> 
  <h4 id="安装与使用">安装与使用</h4> 
  <p>要使用hexo的服务器,首先要安装</p> 
  <p>{% blockquote %} <br> npm install hexo-server –save <br> {% endblockquote %}</p> 
  <p>安装完成后,默认在 http://localhost:4000 下启动。在服务器启动期间,Hexo 会监视文件变动并自动更新,无须重启服务器。</p> 
  <blockquote> 
   <p>$ hexo server -p 5000 //启动服务器, 可以简写 hexo s</p> 
  </blockquote> 
  <p>参数 <code>-p</code> 覆盖默认端口,参数 <code>-w</code> 查看文件改动 <br> 看到下面的信息,说明已经成功,可以查看你的博客了。 <br> </p> 
  <h4 id="静态模式">静态模式</h4> 
  <p>在静态模式下,服务器只处理 public 文件夹内的文件,而不会处理文件变动,一般性用于你正在写博客的情况下。</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo server -s</code></pre> 
  <h3 id="生成文件generating">生成文件(Generating)</h3> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo generate </code></pre> 
  <p>生成静态文件,参数 <code>-d</code> 生成完成后部署,参数 <code>-w</code> 查看文件改动,下面两种写法都一样</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo g -d
$ hexo d -g</code></pre> 
  <h4 id="监视文件变动">监视文件变动</h4> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo generate --watch</code></pre> 
  <p>Hexo 能够监视文件变动并立即重新生成静态文件,在生成时会比对文件的 SHA1 checksum,只有变动的文件才会写入。</p> 
  <h3 id="部署deployment">部署(Deployment)</h3> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo deploy</code></pre> 
  <p>部署你的网站,在使用之前,需要在<code>站点配置文件</code> 进行配置。可以有多个deployer</p> 
  <pre class="prettyprint"><code class="language-Yaml hljs haml">deploy:
-<span class="ruby"> <span class="hljs-symbol">type:</span> git
</span>  repo:
-<span class="ruby"> <span class="hljs-symbol">type:</span> heroku    
</span>  repo:</code></pre> 
  <blockquote> 
   <p>缩进</p> 
   <p>YAML依靠缩进来确定元素间的从属关系。因此,请确保每个deployer的缩进长度相同,并且使用空格缩进。</p> 
  </blockquote> 
  <h4 id="git">Git</h4> 
  <p>部署提示找不到Git , 直接使用这个命令从 hexo-deployer-git 上安装git的部署插件</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ npm install hexo-deployer-git --save</code></pre> 
  <p>修改配置。 <br> {% codeblock lang:yaml%} <br> deploy: <br> type: git <br> repo: <br> branch: [branch] <br> message: [message] <br> {% endcodeblock %} <br> ​ </p> 
  <table> 
   <thead> 
    <tr> 
     <th>参数</th> 
     <th>描述</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td><code>repo</code></td> 
     <td>库(Repository)地址</td> 
    </tr> 
    <tr> 
     <td><code>branch</code></td> 
     <td>分支名称。如果您使用的是 GitHub 或 GitCafe 的话,程序会尝试自动检测。 最好填ssh,这样就每次deploy的时候都要输入密码了。</td> 
    </tr> 
    <tr> 
     <td><code>message</code></td> 
     <td>自定义提交信息 (默认为 <code>Site updated: { { now('YYYY-MM-DD HH:mm:ss') }}</code>)</td> 
    </tr> 
   </tbody> 
  </table> 
  <h4 id="其他">其他</h4> 
  <p>其他部署方案,可以参见官方文档</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo clean</code></pre> 
  <p>清除缓存文件(db.json)和生成的文件(public)</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo list <type></code></pre> 
  <p><code>type</code> 可以是<code>page</code>, <code>post</code>,<code>route</code>, <code>tag</code>, <code>category</code></p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo version</code></pre> 
  <p>显示版本信息</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo --config custom.yml
$ hexo --config custom.yml,custom2.json</code></pre> 
  <p>使用自定义配置文件(而不是_config.yml),还可以接受将文件合并为一个的JSON或YAML配置文件的逗号分隔列表(无空格)</p> 
  <p>自动更新文件</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo g     <span class="hljs-comment">//也可以这样写hexo generate </span></code></pre> 
  <p>部署到git</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo d</code></pre> 
  <p>一般可以这样简写,就是说在部署到git之前,先进行更新</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ hexo d -g</code></pre> 
  <p>可以查看hexo的版本</p> 
  <pre class="prettyprint"><code class="language-java hljs ">hexo -v</code></pre> 
  <p>这时候万一遇到这个错误</p> 
  <pre class="prettyprint"><code class=" hljs vbnet"><span class="hljs-keyword">ERROR</span> Deployer <span class="hljs-keyword">not</span> found: git</code></pre> 
  <p>试试</p> 
  <pre class="prettyprint"><code class="language-java hljs ">$ npm install hexo-deployer-git --save
$ npm install hexo --save</code></pre> 
  <p>如果是下面这个问题:</p> 
  <pre class="prettyprint"><code class=" hljs css"><span class="hljs-rules">{ <span class="hljs-rule">[<span class="hljs-attribute">Error</span>:<span class="hljs-value"> Cannot find module <span class="hljs-string">'./build/Release/DTraceProviderBindings'</span>] code: <span class="hljs-string">'MODULE_NOT_FOUND'</span> </span></span></span>}
<span class="hljs-rules">{ <span class="hljs-rule">[<span class="hljs-attribute">Error</span>:<span class="hljs-value"> Cannot find module <span class="hljs-string">'./build/default/DTraceProviderBindings'</span>] code: <span class="hljs-string">'MODULE_NOT_FOUND'</span> </span></span></span>}
<span class="hljs-rules">{ <span class="hljs-rule">[<span class="hljs-attribute">Error</span>:<span class="hljs-value"> Cannot find module <span class="hljs-string">'./build/Debug/DTraceProviderBindings'</span>] code: <span class="hljs-string">'MODULE_NOT_FOUND'</span> </span></span></span>}</code></pre> 
  <p>那就</p> 
  <pre class="prettyprint"><code class=" hljs coffeescript"><span class="hljs-built_in">npm</span> install hexo --<span class="hljs-literal">no</span>-optional</code></pre> 
  <h1 id="next">NexT</h1> 
  <p>如果你熟悉 Git, 建议你使用 克隆最新版本 的方式,之后的更新可以通过 git pull 来快速更新, 而不用再次下载压缩包替换。</p> 
  <ol> 
   <li>下载主题</li> 
  </ol> 
  <pre class="prettyprint"><code class="language-java hljs "></code></pre> 
  <p><span class="MathJax_Preview"></span><span class="MathJax" id="MathJax-Element-2-Frame"> <span class="math" id="MathJax-Span-19" style="width: 11.633em; display: inline-block;"><span style="display: inline-block; position: relative; width: 8.47em; height: 0px; font-size: 137%;"><span style="position: absolute; clip: rect(1.706em 1000em 2.873em -0.387em); top: -2.528em; left: 0.002em;"><span class="mrow" id="MathJax-Span-20"><span class="mi" id="MathJax-Span-21" style="font-family: STIXGeneral-Italic;">c</span><span class="mi" id="MathJax-Span-22" style="font-family: STIXGeneral-Italic;">d<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.051em;"></span></span><span class="mi" id="MathJax-Span-23" style="font-family: STIXGeneral-Italic;">y</span><span class="mi" id="MathJax-Span-24" style="font-family: STIXGeneral-Italic;">o</span><span class="mi" id="MathJax-Span-25" style="font-family: STIXGeneral-Italic;">u</span><span class="mi" id="MathJax-Span-26" style="font-family: STIXGeneral-Italic;">r<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="mo" id="MathJax-Span-27" style="font-family: STIXGeneral-Regular; padding-left: 0.246em;">−</span><span class="mi" id="MathJax-Span-28" style="font-family: STIXGeneral-Italic; padding-left: 0.246em;">h</span><span class="mi" id="MathJax-Span-29" style="font-family: STIXGeneral-Italic;">e</span><span class="mi" id="MathJax-Span-30" style="font-family: STIXGeneral-Italic;">x<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="mi" id="MathJax-Span-31" style="font-family: STIXGeneral-Italic;">o</span><span class="mo" id="MathJax-Span-32" style="font-family: STIXGeneral-Regular; padding-left: 0.246em;">−</span><span class="mi" id="MathJax-Span-33" style="font-family: STIXGeneral-Italic; padding-left: 0.246em;">s</span><span class="mi" id="MathJax-Span-34" style="font-family: STIXGeneral-Italic;">i</span><span class="mi" id="MathJax-Span-35" style="font-family: STIXGeneral-Italic;">t<span style="display: inline-block; overflow: hidden; height: 1px; width: 0.002em;"></span></span><span class="mi" id="MathJax-Span-36" style="font-family: STIXGeneral-Italic;">e</span></span><span style="display: inline-block; width: 0px; height: 2.533em;"></span></span></span><span style="border-left: 0.003em solid; display: inline-block; overflow: hidden; width: 0px; height: 1.337em; vertical-align: -0.33em;"></span></span> </span> git clone https://github.com/iissnan/hexo-theme-next themes/next</p> 
  <pre class="prettyprint"><code class=" hljs http">

<span class="autohotkey">
<span class="hljs-number">2</span>. 启用主题
   与所有 Hexo 主题启用的模式一样。 当 克隆/下载 完成后,打开 <span class="hljs-escape">`站</span>点配置文件<span class="hljs-escape">`,</span> 找到<span class="hljs-escape">` </span>theme <span class="hljs-escape">`字</span>段,并将其值更改为<span class="hljs-escape">` </span>next<span class="hljs-escape">`。</span></span></code></pre> 
  <p>theme: next</p> 
  <pre class="prettyprint"><code class=" hljs markdown">
   到此,NexT 主题安装完成。下一步我们将验证主题是否正确启用。在切换主题之后、验证之前, 我们最好使用 <span class="hljs-code">`$ hexo clean`</span> 来清除 Hexo 的缓存。





<span class="hljs-header">### 一些好用的插件 ###</span>

{% blockquote %}
hexo可视化后台管理,很方便 - [<span class="hljs-link_label">hexo-hey</span>](<span class="hljs-link_url">https://github.com/nihgwu/hexo-hey</span>)  
在 hexo 中无痛使用本地图片 - [<span class="hljs-link_label">hexo-asset-image</span>](<span class="hljs-link_url">https://github.com/CodeFalling/hexo-asset-image</span>)
备份整个博客包括主题 - [<span class="hljs-link_label">hexo-git-backup</span>](<span class="hljs-link_url">https://github.com/coneycode/hexo-git-backup</span>)


{% endblockquote %}

<span class="hljs-header">### 参考 ###</span>

{% blockquote %}
网易云音乐 - [<span class="hljs-link_label">Hexo中播放网易云音乐的实践</span>](<span class="hljs-link_url">http://weqeo.com/2016/10/11/Hexo中播放网易云音乐的实践</span>)  
网易云音乐 - [<span class="hljs-link_label">GitHub Ribbons</span>](<span class="hljs-link_url">https://github.com/blog/273-github-ribbons</span>)  
字数统计WordCount 、阅读时长预计Min2Read、总字数统计TotalCount - [<span class="hljs-link_label">hexo-wordcount</span>](<span class="hljs-link_url">https://github.com/willin/hexo-wordcount</span>)  

{% endblockquote %}</code></pre> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1274433238445604864"></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">你可能感兴趣的:(博客)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835513551142350848.htm"
                           title="OC语言多界面传值五大方式" target="_blank">OC语言多界面传值五大方式</a>
                        <span class="text-muted">Magnetic_h</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/objective-c/1.htm">objective-c</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>前言在完成暑假仿写项目时,遇到了许多需要用到多界面传值的地方,这篇博客来总结一下比较常用的五种多界面传值的方式。属性传值属性传值一般用前一个界面向后一个界面传值,简单地说就是通过访问后一个视图控制器的属性来为它赋值,通过这个属性来做到从前一个界面向后一个界面传值。首先在后一个界面中定义属性@interfaceBViewController:UIViewController@propertyNSSt</div>
                    </li>
                    <li><a href="/article/1835502282603589632.htm"
                           title="509. 斐波那契数(每日一题)" target="_blank">509. 斐波那契数(每日一题)</a>
                        <span class="text-muted">lzyprime</span>

                        <div>lzyprime博客(github)创建时间:2021.01.04qq及邮箱:2383518170leetcode笔记题目描述斐波那契数,通常用F(n)表示,形成的序列称为斐波那契数列。该数列由0和1开始,后面的每一项数字都是前面两项数字的和。也就是:F(0)=0,F(1)=1F(n)=F(n-1)+F(n-2),其中n>1给你n,请计算F(n)。示例1:输入:2输出:1解释:F(2)=F(1)+</div>
                    </li>
                    <li><a href="/article/1835491859351302144.htm"
                           title="Python 实现图片裁剪(附代码) | Python工具" target="_blank">Python 实现图片裁剪(附代码) | Python工具</a>
                        <span class="text-muted">剑客阿良_ALiang</span>

                        <div>前言本文提供将图片按照自定义尺寸进行裁剪的工具方法,一如既往的实用主义。环境依赖ffmpeg环境安装,可以参考我的另一篇文章:windowsffmpeg安装部署_阿良的博客-CSDN博客本文主要使用到的不是ffmpeg,而是ffprobe也在上面这篇文章中的zip包中。ffmpy安装:pipinstallffmpy-ihttps://pypi.douban.com/simple代码不废话了,上代码</div>
                    </li>
                    <li><a href="/article/1835486185015832576.htm"
                           title="【无标题】达瓦达瓦" target="_blank">【无标题】达瓦达瓦</a>
                        <span class="text-muted">JhonKI</span>
<a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a>
                        <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div>
                    </li>
                    <li><a href="/article/1835486185468817408.htm"
                           title="上图为是否色发" target="_blank">上图为是否色发</a>
                        <span class="text-muted">JhonKI</span>
<a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a>
                        <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div>
                    </li>
                    <li><a href="/article/1835483159140069376.htm"
                           title="143234234123432" target="_blank">143234234123432</a>
                        <span class="text-muted">JhonKI</span>
<a class="tag" taget="_blank" href="/search/%E8%80%83%E7%A0%94/1.htm">考研</a>
                        <div>博客主页:https://blog.csdn.net/2301_779549673欢迎点赞收藏⭐留言如有错误敬请指正!本文由JohnKi原创,首发于CSDN未来很长,值得我们全力奔赴更美好的生活✨文章目录前言111️‍111❤️111111111111111总结111前言111骗骗流量券,嘿嘿111111111111111111111111111️‍111❤️111111111111111总结11</div>
                    </li>
                    <li><a href="/article/1835476350190841856.htm"
                           title="ExpRe[25] bash外的其它shell:zsh和fish" target="_blank">ExpRe[25] bash外的其它shell:zsh和fish</a>
                        <span class="text-muted">tritone</span>
<a class="tag" taget="_blank" href="/search/ExpRe/1.htm">ExpRe</a><a class="tag" taget="_blank" href="/search/bash/1.htm">bash</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/shell/1.htm">shell</a>
                        <div>文章目录zsh基础配置实用特性插件`autojump`语法高亮自动补全fish优点缺点时效性本篇撰写时间为2021.12.15,由于计算机技术日新月异,博客中所有内容都有时效和版本限制,具体做法不一定总行得通,链接可能改动失效,各种软件的用法可能有修改。但是其中透露的思想往往是值得学习的。本篇前置:ExpRe[10]Ubuntu[2]准备神秘软件、备份恢复软件https://www.cnblogs</div>
                    </li>
                    <li><a href="/article/1835471437754888192.htm"
                           title="一文掌握python面向对象魔术方法(二)" target="_blank">一文掌握python面向对象魔术方法(二)</a>
                        <span class="text-muted">程序员neil</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</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>接上篇:一文掌握python面向对象魔术方法(一)-CSDN博客目录六、迭代和序列化:1、__iter__(self):定义迭代器,使得类可以被for循环迭代。2、__getitem__(self,key):定义索引操作,如obj[key]。3、__setitem__(self,key,value):定义赋值操作,如obj[key]=value。4、__delitem__(self,key):定义</div>
                    </li>
                    <li><a href="/article/1835451142843232256.htm"
                           title="Armv8.3 体系结构扩展--原文版" target="_blank">Armv8.3 体系结构扩展--原文版</a>
                        <span class="text-muted">代码改变世界ctw</span>
<a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/armv8/1.htm">armv8</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F/1.htm">嵌入式</a><a class="tag" taget="_blank" href="/search/arm%E6%9E%B6%E6%9E%84/1.htm">arm架构</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E6%9E%B6%E6%9E%84/1.htm">安全架构</a><a class="tag" taget="_blank" href="/search/%E8%8A%AF%E7%89%87/1.htm">芯片</a><a class="tag" taget="_blank" href="/search/Trustzone/1.htm">Trustzone</a><a class="tag" taget="_blank" href="/search/Secureboot/1.htm">Secureboot</a>
                        <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:个人博客笔记导读目录(全部)TheArmv8.3architectureextensionTheArmv8.3architectureextensionisanextensiontoArmv8.2.Itaddsmandatoryandoptionalarchitecturalfeatures.Somefeat</div>
                    </li>
                    <li><a href="/article/1835449250159357952.htm"
                           title="计算机木马详细编写思路" target="_blank">计算机木马详细编写思路</a>
                        <span class="text-muted">小熊同学哦</span>
<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><a class="tag" taget="_blank" href="/search/%E6%9C%A8%E9%A9%AC/1.htm">木马</a><a class="tag" taget="_blank" href="/search/%E6%9C%A8%E9%A9%AC%E6%80%9D%E8%B7%AF/1.htm">木马思路</a>
                        <div>导语:计算机木马(ComputerTrojan)是一种恶意软件,通过欺骗用户从而获取系统控制权限,给黑客打开系统后门的一种手段。虽然木马的存在给用户和系统带来严重的安全风险,但是了解它的工作原理与编写思路,对于我们提高防范意识、构建更健壮的网络安全体系具有重要意义。本篇博客将深入剖析计算机木马的详细编写思路,以及如何复杂化挑战,以期提高读者对计算机木马的认识和对抗能力。计算机木马的基本原理计算机木</div>
                    </li>
                    <li><a href="/article/1835449123252301824.htm"
                           title="Python入门之Lesson2:Python基础语法" target="_blank">Python入门之Lesson2:Python基础语法</a>
                        <span class="text-muted">小熊同学哦</span>
<a class="tag" taget="_blank" href="/search/Python%E5%85%A5%E9%97%A8%E8%AF%BE%E7%A8%8B/1.htm">Python入门课程</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><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</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/%E9%9D%92%E5%B0%91%E5%B9%B4%E7%BC%96%E7%A8%8B/1.htm">青少年编程</a>
                        <div>目录前言一.介绍1.变量和数据类型2.常见运算符3.输入输出4.条件语句5.循环结构二.练习三.总结前言欢迎来到《Python入门》系列博客的第二课。在上一课中,我们了解了Python的安装及运行环境的配置。在这一课中,我们将深入学习Python的基础语法,这是编写Python代码的根基。通过本节内容的学习,你将掌握变量、数据类型、运算符、输入输出、条件语句等Python编程的基础知识。一.介绍1</div>
                    </li>
                    <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/1835447859219099648.htm"
                           title="06选课支付模块之基于消息队列发送支付通知消息" target="_blank">06选课支付模块之基于消息队列发送支付通知消息</a>
                        <span class="text-muted">echo 云清</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/%E6%B6%88%E6%81%AF%E9%98%9F%E5%88%97/1.htm">消息队列</a><a class="tag" taget="_blank" href="/search/%E6%94%AF%E4%BB%98%E9%80%9A%E7%9F%A5/1.htm">支付通知</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%88%90%E5%9C%A8%E7%BA%BF/1.htm">学成在线</a>
                        <div>消息队列发送支付通知消息需求分析订单服务作为通用服务,在订单支付成功后需要将支付结果异步通知给其他对接的微服务,微服务收到支付结果根据订单的类型去更新自己的业务数据技术方案使用消息队列进行异步通知需要保证消息的可靠性即生产端将消息成功通知到服务端:消息发送到交换机-->由交换机发送到队列-->消费者监听队列,收到消息进行处理,参考文章02-使用Docker安装RabbitMQ-CSDN博客生产者确</div>
                    </li>
                    <li><a href="/article/1835446975806402560.htm"
                           title="【Bugs】Python:“ModuleNotFoundError: No module named ‘XXX‘”" target="_blank">【Bugs】Python:“ModuleNotFoundError: No module named ‘XXX‘”</a>
                        <span class="text-muted">系'辞</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7%E7%AE%B1/1.htm">工具箱</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/bug/1.htm">bug</a><a class="tag" taget="_blank" href="/search/anaconda/1.htm">anaconda</a>
                        <div>问题描述Python使用库的前提是必须已安装了相应的库,往往利用“命令行指令”实现安装,一般安装解法类似。但,还是具有延伸问题,本博客对此作记录。【1】Nomodulenamed‘seaborn’(1.1):情况1:为Anaconda安装【图1-2】.定位Anaconda路径【图3】.Anaconda路径加入Path>&</div>
                    </li>
                    <li><a href="/article/1835437775344726016.htm"
                           title="博客网站制作教程" target="_blank">博客网站制作教程</a>
                        <span class="text-muted">2401_85194651</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                        <div>首先就是技术框架:后端:Java+SpringBoot数据库:MySQL前端:Vue.js数据库连接:JPA(JavaPersistenceAPI)1.项目结构blog-app/├──backend/│├──src/main/java/com/example/blogapp/││├──BlogApplication.java││├──config/│││└──DatabaseConfig.java</div>
                    </li>
                    <li><a href="/article/1835435141535723520.htm"
                           title="详解:如何设计出健壮的秒杀系统?" target="_blank">详解:如何设计出健壮的秒杀系统?</a>
                        <span class="text-muted">夜空_2cd3</span>

                        <div>作者:Yrion博客园:cnblogs.com/wyq178/p/11261711.html前言:秒杀系统相信很多人见过,比如京东或者淘宝的秒杀,小米手机的秒杀。那么秒杀系统的后台是如何实现的呢?我们如何设计一个秒杀系统呢?对于秒杀系统应该考虑哪些问题?如何设计出健壮的秒杀系统?本期我们就来探讨一下这个问题:image目录一:****秒杀系统应该考虑的问题二:****秒杀系统的设计和技术方案三:*</div>
                    </li>
                    <li><a href="/article/1835429201952468992.htm"
                           title="非对称加密算法原理与应用2——RSA私钥加密文件" target="_blank">非对称加密算法原理与应用2——RSA私钥加密文件</a>
                        <span class="text-muted">私语茶馆</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%91%E9%83%A8%E7%BD%B2%E4%B8%8E%E5%BC%80%E5%8F%91/1.htm">云部署与开发</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E5%8F%8A%E4%BA%A7%E5%93%81%E7%81%B5%E6%84%9F%E8%AE%B0%E5%BD%95/1.htm">架构及产品灵感记录</a><a class="tag" taget="_blank" href="/search/RSA2048/1.htm">RSA2048</a><a class="tag" taget="_blank" href="/search/%E7%A7%81%E9%92%A5%E5%8A%A0%E5%AF%86/1.htm">私钥加密</a>
                        <div>作者:私语茶馆1.相关章节(1)非对称加密算法原理与应用1——秘钥的生成-CSDN博客第一章节讲述的是创建秘钥对,并将公钥和私钥导出为文件格式存储。本章节继续讲如何利用私钥加密内容,包括从密钥库或文件中读取私钥,并用RSA算法加密文件和String。2.私钥加密的概述本文主要基于第一章节的RSA2048bit的非对称加密算法讲述如何利用私钥加密文件。这种加密后的文件,只能由该私钥对应的公钥来解密。</div>
                    </li>
                    <li><a href="/article/1835429075590672384.htm"
                           title="粒子群优化 (PSO) 在三维正弦波函数中的应用" target="_blank">粒子群优化 (PSO) 在三维正弦波函数中的应用</a>
                        <span class="text-muted">subject625Ruben</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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/matlab/1.htm">matlab</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>在这篇博客中,我们将展示如何使用粒子群优化(PSO)算法求解三维正弦波函数,并通过增加正弦波扰动,使优化过程更加复杂和有趣。本文将介绍目标函数的定义、PSO参数设置以及算法执行的详细过程,并展示搜索空间中的动态过程和收敛曲线。1.目标函数定义我们使用的目标函数是一个三维正弦波函数,定义如下:objectiveFunc=@(x)sin(sqrt(x(1).^2+x(2).^2))+0.5*sin(5</div>
                    </li>
                    <li><a href="/article/1835422770016645120.htm"
                           title="《 C++ 修炼全景指南:四 》揭秘 C++ List 容器背后的实现原理,带你构建自己的双向链表" target="_blank">《 C++ 修炼全景指南:四 》揭秘 C++ List 容器背后的实现原理,带你构建自己的双向链表</a>
                        <span class="text-muted">Lenyiin</span>
<a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E6%8C%87%E5%8D%97/1.htm">技术指南</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E4%BF%AE%E7%82%BC%E5%85%A8%E6%99%AF%E6%8C%87%E5%8D%97/1.htm">修炼全景指南</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/stl/1.htm">stl</a>
                        <div>本篇博客,我们将详细讲解如何从头实现一个功能齐全且强大的C++List容器,并深入到各个细节。这篇博客将包括每一步的代码实现、解释以及扩展功能的探讨,目标是让初学者也能轻松理解。一、简介1.1、背景介绍在C++中,std::list是一个基于双向链表的容器,允许高效的插入和删除操作,适用于频繁插入和删除操作的场景。与动态数组不同,list允许常数时间内的插入和删除操作,支持双向遍历。这篇文章将详细</div>
                    </li>
                    <li><a href="/article/1835412182377000960.htm"
                           title="信息系统安全相关概念(上)" target="_blank">信息系统安全相关概念(上)</a>
                        <span class="text-muted">YuanDaima2048</span>
<a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/1.htm">课程笔记</a><a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5/1.htm">基础概念</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%AE%89%E5%85%A8/1.htm">信息安全</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>文章总览:YuanDaiMa2048博客文章总览下篇:信息系统安全相关概念(下)信息系统安全相关概念[上]信息系统概述信息系统信息系统架构信息系统发展趋势:信息系统日趋大型化、复杂化信息系统面临的安全威胁信息系统安全架构设计--以云计算为例信息系统安全需求及安全策略自主访问控制策略DAC强制访问控制策略MAC信息系统概述信息系统用于收集、存储和处理数据以及传递信息、知识和数字产品的一组集成组件。几</div>
                    </li>
                    <li><a href="/article/1835412180422455296.htm"
                           title="[实践应用] 深度学习之模型性能评估指标" target="_blank">[实践应用] 深度学习之模型性能评估指标</a>
                        <span class="text-muted">YuanDaima2048</span>
<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/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%8D%9F%E5%A4%B1%E5%87%BD%E6%95%B0/1.htm">损失函数</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E8%AF%84%E4%BC%B0/1.htm">性能评估</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>文章总览:YuanDaiMa2048博客文章总览深度学习之模型性能评估指标分类任务回归任务排序任务聚类任务生成任务其他介绍在机器学习和深度学习领域,评估模型性能是一项至关重要的任务。不同的学习任务需要不同的性能指标来衡量模型的有效性。以下是对一些常见任务及其相应的性能评估指标的详细解释和总结。分类任务分类任务是指模型需要将输入数据分配到预定义的类别或标签中。以下是分类任务中常用的性能指标:准确率(</div>
                    </li>
                    <li><a href="/article/1835412178648264704.htm"
                           title="[实践应用] 深度学习之优化器" target="_blank">[实践应用] 深度学习之优化器</a>
                        <span class="text-muted">YuanDaima2048</span>
<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/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/1.htm">工具使用</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</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/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96%E5%99%A8/1.htm">优化器</a>
                        <div>文章总览:YuanDaiMa2048博客文章总览深度学习之优化器1.随机梯度下降(SGD)2.动量优化(Momentum)3.自适应梯度(Adagrad)4.自适应矩估计(Adam)5.RMSprop总结其他介绍在深度学习中,优化器用于更新模型的参数,以最小化损失函数。常见的优化函数有很多种,下面是几种主流的优化器及其特点、原理和PyTorch实现:1.随机梯度下降(SGD)原理:随机梯度下降通过</div>
                    </li>
                    <li><a href="/article/1835412052382937088.htm"
                           title="[实验室服务器使用]使用VSCode、PyCharm、MobaXterm和CMD连接远程服务器" target="_blank">[实验室服务器使用]使用VSCode、PyCharm、MobaXterm和CMD连接远程服务器</a>
                        <span class="text-muted">YuanDaima2048</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/1.htm">工具使用</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/pycharm/1.htm">pycharm</a><a class="tag" taget="_blank" href="/search/cmd/1.htm">cmd</a><a class="tag" taget="_blank" href="/search/%E4%BB%A3%E7%90%86%E6%A8%A1%E5%BC%8F/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/%E5%AE%9E%E9%AA%8C/1.htm">实验</a>
                        <div>文章总览:YuanDaiMa2048博客文章总览实验室服务器使用:使用VSCode、PyCharm、MobaXterm和CMD连接远程服务器在进行实验室工作时,远程连接服务器是常见的需求之一。本篇文章根据个人的一些使用介绍使用不同工具连接服务器的方法,并提供优化功能,使服务器能够使用本机代理的说明。准备服务器账号信息Host(主机):10.XXX.XX.XXXPort(端口):[SSHPort]U</div>
                    </li>
                    <li><a href="/article/1835409406653722624.htm"
                           title="信息系统安全相关概念(下)" target="_blank">信息系统安全相关概念(下)</a>
                        <span class="text-muted">YuanDaima2048</span>
<a class="tag" taget="_blank" href="/search/%E5%9F%BA%E7%A1%80%E6%A6%82%E5%BF%B5/1.htm">基础概念</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E7%AC%94%E8%AE%B0/1.htm">课程笔记</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>文章总览:YuanDaiMa2048博客文章总览上篇指路:信息系统安全相关概念(上)信息系统安全相关概念[下]信息系统风险评估安全风险评估信息系统等级保护网络安全法等级保护等级保护工作流程环境安全信息系统风险评估安全风险评估对信息系统整体安全态势的感知和对重大安全事件的预警,实现“事前能预防,事中能控制,事后能处理”。安全风险组成的四要素:信息系统资产(Asset)信息系统脆弱性(Vulnerab</div>
                    </li>
                    <li><a href="/article/1835399577348435968.htm"
                           title="[Swift]LeetCode943. 最短超级串 | Find the Shortest Superstring" target="_blank">[Swift]LeetCode943. 最短超级串 | Find the Shortest Superstring</a>
                        <span class="text-muted">黄小二哥</span>
<a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a>
                        <div>★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/streng</div>
                    </li>
                    <li><a href="/article/1835399451192160256.htm"
                           title="[Swift]LeetCode767. 重构字符串 | Reorganize String" target="_blank">[Swift]LeetCode767. 重构字符串 | Reorganize String</a>
                        <span class="text-muted">weixin_30591551</span>
<a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a><a class="tag" taget="_blank" href="/search/runtime/1.htm">runtime</a>
                        <div>★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs.com/strengthen/)➤GitHub地址:https://github.com/strengthen/LeetCode➤原文地址:https://www.cnblogs.com/streng</div>
                    </li>
                    <li><a href="/article/1835398694636187648.htm"
                           title="RK3229_Android9.0_Box 4G模块EC200A调试" target="_blank">RK3229_Android9.0_Box 4G模块EC200A调试</a>
                        <span class="text-muted">suifen_</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>0、kernel修改这部分完全可以参考Linux的移植:RK3588EC200A-CN【4G模块】调试_rkec200a-cn-CSDN博客1、修改device/rockchip/rk322xdiff--gita/device.mkb/device.mkindexec6bfaa..e7c32d1100755---a/device.mk+++b/device.mk@@-105,6+105,8@@en</div>
                    </li>
                    <li><a href="/article/1835382307679203328.htm"
                           title="鲲鹏 ARM 架构 麒麟 Lylin v10 安装 Nginx (离线)" target="_blank">鲲鹏 ARM 架构 麒麟 Lylin v10 安装 Nginx (离线)</a>
                        <span class="text-muted">焚木灵</span>
<a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>最近做一个银行的项目,银行的服务器是鲲鹏ARM架构的服务器,并且是麒麟v10的系统,这里记录一下在无法访问外网安装Nginx的方法。其他文章:鲲鹏ARM架构麒麟Lylinv10安装Mysql8.3(离线)-CSDN博客鲲鹏ARM架构麒麟Lylinv10安装Node和NVM(离线)-CSDN博客鲲鹏ARM架构麒麟Lylinv10安装Pm2(离线)-CSDN博客鲲鹏ARM架构麒麟Lylinv10安装P</div>
                    </li>
                    <li><a href="/article/1835375748408504320.htm"
                           title="python画图|同时输出二维和三维图" target="_blank">python画图|同时输出二维和三维图</a>
                        <span class="text-muted">西猫雷婶</span>
<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>前面已经学习了如何输出二维图和三维图,部分文章详见下述链接:python画图|极坐标下的3Dsurface-CSDN博客python画图|垂线标记系列_如何用pyplot画垂直x轴的线-CSDN博客有时候也需要同时输出二位和三维图,因此有必要学习一下。【1】官网教程首先我们打开官网教程,链接如下。https://matplotlib.org/stable/gallery/mplot3d/mixed</div>
                    </li>
                    <li><a href="/article/1835371965410537472.htm"
                           title="【Golang】使用 Golang 语言和 excelize 库将数据写入Excel" target="_blank">【Golang】使用 Golang 语言和 excelize 库将数据写入Excel</a>
                        <span class="text-muted">不爱洗脚的小滕</span>
<a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>文章目录前言一、Excelize简介二、代码实现1.获取依赖2.示例代码三、总结前言在数据处理和分析中,Excel作为一种常见的电子表格格式,被广泛应用于各种场景。然而,如何在Go语言中有效地处理Excel文件呢?在这篇博客中,我将介绍如何使用Go语言和excelize库将数据写入Excel文件。一、Excelize简介Excelize是一个用于读取和写入MicrosoftExcel™(XLSX)</div>
                    </li>
                                <li><a href="/article/47.htm"
                                       title="jdk tomcat 环境变量配置" target="_blank">jdk tomcat 环境变量配置</a>
                                    <span class="text-muted">Array_06</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a>
                                    <div>Win7 下如何配置java环境变量 
 
1。准备jdk包,win7系统,tomcat安装包(均上网下载即可) 
2。进行对jdk的安装,尽量为默认路径(但要记住啊!!以防以后配置用。。。) 
3。分别配置高级环境变量。 
   电脑-->右击属性-->高级环境变量-->环境变量。 
 
 
分别配置 : 
 
path   
 &nbs</div>
                                </li>
                                <li><a href="/article/174.htm"
                                       title="Spring调SDK包报java.lang.NoSuchFieldError错误" target="_blank">Spring调SDK包报java.lang.NoSuchFieldError错误</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/spring/1.htm">spring</a>
                                    <div>        在工作中调另一个系统的SDK包,出现如下java.lang.NoSuchFieldError错误。 
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.l</div>
                                </li>
                                <li><a href="/article/301.htm"
                                       title="LeetCode[位运算] - #136 数组中的单一数" target="_blank">LeetCode[位运算] - #136 数组中的单一数</a>
                                    <span class="text-muted">Cwind</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%A2%98%E8%A7%A3/1.htm">题解</a><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/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>原题链接:#136 Single Number 
要求: 
给定一个整型数组,其中除了一个元素之外,每个元素都出现两次。找出这个元素 
注意:算法的时间复杂度应为O(n),最好不使用额外的内存空间 
难度:中等 
分析: 
题目限定了线性的时间复杂度,同时不使用额外的空间,即要求只遍历数组一遍得出结果。由于异或运算 n XOR n = 0, n XOR 0 = n,故将数组中的每个元素进</div>
                                </li>
                                <li><a href="/article/428.htm"
                                       title="qq登陆界面开发" target="_blank">qq登陆界面开发</a>
                                    <span class="text-muted">15700786134</span>
<a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a>
                                    <div>今天我们来开发一个qq登陆界面,首先写一个界面程序,一个界面首先是一个Frame对象,即是一个窗体。然后在这个窗体上放置其他组件。代码如下: 
public class First {         public void initul(){        jf=ne</div>
                                </li>
                                <li><a href="/article/555.htm"
                                       title="Linux的程序包管理器RPM" target="_blank">Linux的程序包管理器RPM</a>
                                    <span class="text-muted">被触发</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>在早期我们使用源代码的方式来安装软件时,都需要先把源程序代码编译成可执行的二进制安装程序,然后进行安装。这就意味着每次安装软件都需要经过预处理-->编译-->汇编-->链接-->生成安装文件--> 安装,这个复杂而艰辛的过程。为简化安装步骤,便于广大用户的安装部署程序,程序提供商就在特定的系统上面编译好相关程序的安装文件并进行打包,提供给大家下载,我们只需要根据自己的</div>
                                </li>
                                <li><a href="/article/682.htm"
                                       title="socket通信遇到EOFException" target="_blank">socket通信遇到EOFException</a>
                                    <span class="text-muted">肆无忌惮_</span>
<a class="tag" taget="_blank" href="/search/EOFException/1.htm">EOFException</a>
                                    <div>java.io.EOFException 
at java.io.ObjectInputStream$PeekInputStream.readFully(ObjectInputStream.java:2281) 
at java.io.ObjectInputStream$BlockDataInputStream.readShort(ObjectInputStream.java:</div>
                                </li>
                                <li><a href="/article/809.htm"
                                       title="基于spring的web项目定时操作" target="_blank">基于spring的web项目定时操作</a>
                                    <span class="text-muted">知了ing</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a>
                                    <div>废话不多说,直接上代码,很简单 配置一下项目启动就行 
1,web.xml 
 

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns="h</div>
                                </li>
                                <li><a href="/article/936.htm"
                                       title="树形结构的数据库表Schema设计" target="_blank">树形结构的数据库表Schema设计</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/schema/1.htm">schema</a>
                                    <div>原文地址: 
http://blog.csdn.net/MONKEY_D_MENG/article/details/6647488 
 
 
    程序设计过程中,我们常常用树形结构来表征某些数据的关联关系,如企业上下级部门、栏目结构、商品分类等等,通常而言,这些树状结构需要借助于数据库完成持久化。然而目前的各种基于关系的数据库,都是以二维表的形式记录存储数据信息,</div>
                                </li>
                                <li><a href="/article/1063.htm"
                                       title="maven将jar包和源码一起打包到本地仓库" target="_blank">maven将jar包和源码一起打包到本地仓库</a>
                                    <span class="text-muted">alleni123</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>http://stackoverflow.com/questions/4031987/how-to-upload-sources-to-local-maven-repository 
 
 
 
<project>
  ...
  <build>
    <plugins>
      <plugin>
        <groupI</div>
                                </li>
                                <li><a href="/article/1190.htm"
                                       title="java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!" target="_blank">java IO操作 与 File 获取文件或文件夹的大小,可读,等属性!!!</a>
                                    <span class="text-muted">百合不是茶</span>

                                    <div>类 File 
File是指文件和目录路径名的抽象表示形式。 
1,何为文件: 
标准文件(txt doc mp3...) 
目录文件(文件夹) 
虚拟内存文件 
  
2,File类中有可以创建文件的 createNewFile()方法,在创建新文件的时候需要try{} catch(){}因为可能会抛出异常;也有可以判断文件是否是一个标准文件的方法isFile();这些防抖都</div>
                                </li>
                                <li><a href="/article/1317.htm"
                                       title="Spring注入有继承关系的类(2)" target="_blank">Spring注入有继承关系的类(2)</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/spring/1.htm">spring</a>
                                    <div>被注入类的父类有相应的属性,Spring可以直接注入相应的属性,如下所例:1.AClass类 
package com.bijian.spring.test4;

public class AClass {

    private String a;
    private String b;
   
    public String getA() {
        retu</div>
                                </li>
                                <li><a href="/article/1444.htm"
                                       title="30岁转型期你能否成为成功人士" target="_blank">30岁转型期你能否成为成功人士</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/%E6%88%90%E9%95%BF/1.htm">成长</a><a class="tag" taget="_blank" href="/search/%E5%8A%B1%E5%BF%97/1.htm">励志</a>
                                    <div>        很多人由于年轻时走了弯路,到了30岁一事无成,这样的例子大有人在。但同样也有一些人,整个职业生涯都发展得很优秀,到了30岁已经成为职场的精英阶层。由于做猎头的原因,我们接触很多30岁左右的经理人,发现他们在职业发展道路上往往有很多致命的问题。在30岁之前,他们的职业生涯表现很优秀,但从30岁到40岁这一段,很多人</div>
                                </li>
                                <li><a href="/article/1571.htm"
                                       title="【Velocity四】Velocity与Java互操作" target="_blank">【Velocity四】Velocity与Java互操作</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a>
                                    <div>Velocity出现的目的用于简化基于MVC的web应用开发,用于替代JSP标签技术,那么Velocity如何访问Java代码.本篇继续以Velocity三http://bit1129.iteye.com/blog/2106142中的例子为基础, 
     POJO 
   
package com.tom.servlets;

public</div>
                                </li>
                                <li><a href="/article/1698.htm"
                                       title="【Hive十一】Hive数据倾斜优化" target="_blank">【Hive十一】Hive数据倾斜优化</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>什么是Hive数据倾斜问题 
  
 
 操作:join,group by,count distinct 
 现象:任务进度长时间维持在99%(或100%),查看任务监控页面,发现只有少量(1个或几个)reduce子任务未完成;查看未完成的子任务,可以看到本地读写数据量积累非常大,通常超过10GB可以认定为发生数据倾斜。 
 原因:key分布不均匀 
 倾斜度衡量:平均记录数超过50w且</div>
                                </li>
                                <li><a href="/article/1825.htm"
                                       title="在nginx中集成lua脚本:添加自定义Http头,封IP等" target="_blank">在nginx中集成lua脚本:添加自定义Http头,封IP等</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/nginx+lua+csrf/1.htm">nginx lua csrf</a>
                                    <div>Lua是一个可以嵌入到Nginx配置文件中的动态脚本语言,从而可以在Nginx请求处理的任何阶段执行各种Lua代码。刚开始我们只是用Lua 把请求路由到后端服务器,但是它对我们架构的作用超出了我们的预期。下面就讲讲我们所做的工作。 强制搜索引擎只索引mixlr.com 
Google把子域名当作完全独立的网站,我们不希望爬虫抓取子域名的页面,降低我们的Page rank。 
location /{</div>
                                </li>
                                <li><a href="/article/1952.htm"
                                       title="java-3.求子数组的最大和" target="_blank">java-3.求子数组的最大和</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>package beautyOfCoding;


public class MaxSubArraySum {

	/**
	 * 3.求子数组的最大和
题目描述:
输入一个整形数组,数组里有正数也有负数。
数组中连续的一个或多个整数组成一个子数组,每个子数组都有一个和。
求所有子数组的和的最大值。要求时间复杂度为O(n)。
例如输入的数组为1, -2, 3, 10, -4,</div>
                                </li>
                                <li><a href="/article/2079.htm"
                                       title="Netty源码学习-FileRegion" target="_blank">Netty源码学习-FileRegion</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>今天看org.jboss.netty.example.http.file.HttpStaticFileServerHandler.java 
可以直接往channel里面写入一个FileRegion对象,而不需要相应的encoder: 
 


		//pipeline(没有诸如“FileRegionEncoder”的handler):
		public ChannelPipeline ge</div>
                                </li>
                                <li><a href="/article/2206.htm"
                                       title="使用ZeroClipboard解决跨浏览器复制到剪贴板的问题" target="_blank">使用ZeroClipboard解决跨浏览器复制到剪贴板的问题</a>
                                    <span class="text-muted">cngolon</span>
<a class="tag" taget="_blank" href="/search/%E8%B7%A8%E6%B5%8F%E8%A7%88%E5%99%A8/1.htm">跨浏览器</a><a class="tag" taget="_blank" href="/search/%E5%A4%8D%E5%88%B6%E5%88%B0%E7%B2%98%E8%B4%B4%E6%9D%BF/1.htm">复制到粘贴板</a><a class="tag" taget="_blank" href="/search/Zero+Clipboard/1.htm">Zero Clipboard</a>
                                    <div>Zero Clipboard的实现原理 
Zero Clipboard 利用透明的Flash让其漂浮在复制按钮之上,这样其实点击的不是按钮而是 Flash ,这样将需要的内容传入Flash,再通过Flash的复制功能把传入的内容复制到剪贴板。 
Zero Clipboard的安装方法 
首先需要下载 Zero Clipboard的压缩包,解压后把文件夹中两个文件:ZeroClipboard.js </div>
                                </li>
                                <li><a href="/article/2333.htm"
                                       title="单例模式" target="_blank">单例模式</a>
                                    <span class="text-muted">cuishikuan</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a>
                                    <div>第一种(懒汉,线程不安全): 
public class Singleton {   2     private static Singleton instance;   3     pri</div>
                                </li>
                                <li><a href="/article/2460.htm"
                                       title="spring+websocket的使用" target="_blank">spring+websocket的使用</a>
                                    <span class="text-muted">dalan_123</span>

                                    <div>一、spring配置文件 
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"    xmlns:xsi="http://www.w3.or</div>
                                </li>
                                <li><a href="/article/2587.htm"
                                       title="细节问题:ZEROFILL的用法范围。" target="_blank">细节问题:ZEROFILL的用法范围。</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>   1、zerofill把月份中的一位数字比如1,2,3等加前导0 
 
      
mysql> CREATE TABLE t1 (year YEAR(4), month INT(2) UNSIGNED ZEROFILL,    -> day</div>
                                </li>
                                <li><a href="/article/2714.htm"
                                       title="Android开发10——Activity的跳转与传值" target="_blank">Android开发10——Activity的跳转与传值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/Android%E5%BC%80%E5%8F%91/1.htm">Android开发</a>
                                    <div>Activity跳转与传值,主要是通过Intent类,Intent的作用是激活组件和附带数据。 
  
一、Activity跳转 
方法一Intent intent = new Intent(A.this, B.class); startActivity(intent) 
  
方法二Intent intent = new Intent();intent.setCla</div>
                                </li>
                                <li><a href="/article/2841.htm"
                                       title="jdbc 得到表结构、主键" target="_blank">jdbc 得到表结构、主键</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/jdbc+%E5%BE%97%E5%88%B0%E8%A1%A8%E7%BB%93%E6%9E%84%E3%80%81%E4%B8%BB%E9%94%AE/1.htm">jdbc 得到表结构、主键</a>
                                    <div>转自博客:http://blog.csdn.net/ocean1010/article/details/7266042 
假设有个con DatabaseMetaData dbmd = con.getMetaData(); rs = dbmd.getColumns(con.getCatalog(), schema, tableName, null); rs.getSt</div>
                                </li>
                                <li><a href="/article/2968.htm"
                                       title="Android 应用程序开关GPS" target="_blank">Android 应用程序开关GPS</a>
                                    <span class="text-muted">gqdy365</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>要在应用程序中操作GPS开关需要权限: 
 

<uses-permission android:name="android.permission.WRITE_SECURE_SETTINGS" />
 
但在配置文件中添加此权限之后会报错,无法再eclipse里面正常编译,怎么办? 
1、方法一:将项目放到Android源码中编译; 
2、方法二:网上有人说cl</div>
                                </li>
                                <li><a href="/article/3095.htm"
                                       title="Windows上调试MapReduce" target="_blank">Windows上调试MapReduce</a>
                                    <span class="text-muted">zhiquanliu</span>
<a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a>
                                    <div>1.下载hadoop2x-eclipse-plugin https://github.com/winghc/hadoop2x-eclipse-plugin.git 把 hadoop2.6.0-eclipse-plugin.jar 放到eclipse plugin 目录中。 2.下载 hadoop2.6_x64_.zip http://dl.iteye.com/topics/download/d2b</div>
                                </li>
                                <li><a href="/article/3222.htm"
                                       title="如何看待一些知名博客推广软文的行为?" target="_blank">如何看待一些知名博客推广软文的行为?</a>
                                    <span class="text-muted">justjavac</span>
<a class="tag" taget="_blank" href="/search/%E5%8D%9A%E5%AE%A2/1.htm">博客</a>
                                    <div>本文来自我在知乎上的一个回答:http://www.zhihu.com/question/23431810/answer/24588621 
互联网上的两种典型心态: 
 
  当初求种像条狗,如今撸完嫌人丑  
  当初搜贴像条犬,如今读完嫌人软  
 
你为啥感觉不舒服呢? 
难道非得要作者把自己的劳动成果免费给你用,你才舒服? 
就如同 Google 关闭了 Gooled Reader,那是</div>
                                </li>
                                <li><a href="/article/3349.htm"
                                       title="sql优化总结" target="_blank">sql优化总结</a>
                                    <span class="text-muted">macroli</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>为了是自己对sql优化有更好的原则性,在这里做一下总结,个人原则如有不对请多多指教。谢谢! 
  
要知道一个简单的sql语句执行效率,就要有查看方式,一遍更好的进行优化。 
  
一、简单的统计语句执行时间 
declare @d datetime ---定义一个datetime的变量set @d=getdate() ---获取查询语句开始前的时间select user_id</div>
                                </li>
                                <li><a href="/article/3476.htm"
                                       title="Linux Oracle中常遇到的一些问题及命令总结" target="_blank">Linux Oracle中常遇到的一些问题及命令总结</a>
                                    <span class="text-muted">超声波</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>1.linux更改主机名 
  
(1)#hostname oracledb    临时修改主机名 
(2) vi /etc/sysconfig/network   修改hostname 
(3) vi /etc/hosts        修改IP对应的主机名 
  
2.linux重启oracle实例及监听的各种方法 
(注意操作的顺序应该是先监听,后数据库实例) 
&nbs</div>
                                </li>
                                <li><a href="/article/3603.htm"
                                       title="hive函数大全及使用示例" target="_blank">hive函数大全及使用示例</a>
                                    <span class="text-muted">superlxw1234</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/hive%E5%87%BD%E6%95%B0/1.htm">hive函数</a>
                                    <div>  
具体说明及示例参 见附件文档。  
  
  
文档目录: 
  
目录 
一、关系运算: 4 
1. 等值比较: = 4 
2. 不等值比较: <> 4 
3. 小于比较: < 4 
4. 小于等于比较: <= 4 
5. 大于比较: > 5 
6. 大于等于比较: >= 5 
7. 空值判断: IS NULL 5</div>
                                </li>
                                <li><a href="/article/3730.htm"
                                       title="Spring 4.2新特性-使用@Order调整配置类加载顺序" target="_blank">Spring 4.2新特性-使用@Order调整配置类加载顺序</a>
                                    <span class="text-muted">wiselyman</span>
<a class="tag" taget="_blank" href="/search/spring+4/1.htm">spring 4</a>
                                    <div>4.1 @Order 
 
 Spring 4.2 利用@Order控制配置类的加载顺序 
  
4.2 演示 
 
 两个演示bean 
 
package com.wisely.spring4_2.order;

public class Demo1Service {

}

 
package com.wisely.spring4_2.order;

public class</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>