GitHub加Hexo打造个人博客


本文由 CDFMLR 原创,收录于个人主页 https://clownote.github.io,并同时发布到 CSDN。本人不保证 CSDN 排版正确,敬请访问 clownote 以获得良好的阅读体验。


GitHub + Hexo => 个人博客

打造一个个人博客其实很简单,我们不需要拥有一台服务器、甚至可以对 Web 开发不甚了解。

这篇文章记录我如何在 Mac 上通过 GitHub、Hexo 打造一个个人博客 —— clownote

起因

我一直不喜欢 CSDN 和博客园等博客平台,但确实有写东西的习惯。写了东西就要发表,所以在之前,我把我学习计算机知识的笔记都放到了一个自己初学 Web 开发时搞的一个超级简陋的静态网站上。

但它实在是太简陋了导致使用起来麻烦,发布文章要手动把 markdown 写的文章用自己写的一个转换器渲染成 HTML,然后调用一个可以及时渲染代码颜色的 js 进去,然后 FTP 上传到服务器上,再到手动修改 index.html,加入这篇新文章的链接…

这完全不是正常人应该用的操作!

我一直在考虑写一个功能完整的、更方便的博客。计划是用 Flask 写后端,Vue 做前端,Git 来管理内容,然后再写一些 Apple Script、Bash Script 让这个博客系统方便在 Mac 中使用 。但最近一直忙其他项目,没时间来实现。现在我的服务器到期了,百度云的,感觉不太好用(主要是受对这家公司的某些其他产品的不良印象的影响),不续费了。

笔记急需迁出!写之前想的博客系统是来不及了,突然想起来很多人用一个叫 Hexo 的东西做博客,于是一番 Google、Bing。最终,我觉定用 GitHub + Hexo 快速(Less than One Day)打造一个不用服务器不用写代码的博客。

经过

废话不多说,代码赶快写起来,,,(哦,错了,咱们今天不用写代码!只是几个简单的命令 + 配置就好了)

废话不多说,建站走起!

安装

注册GitHub

首先,我们需要注册一个 GitHub 账户,我相信绝大多数的读者已经完成了这一步,所以不再赘述;如果您幸运的属于少数人,请打开 GitHub,即可按照感觉轻松完成。

创建 GitHub Pages

在您的 GitHub 中,New 一个 Repository,名字为 .github.io,其中的 与您的 GitHub 用户名相同。

注意,在这个新建的 Repository 的 Settings 中,您应该可以找到,有关 GitHub Pages 的设置里写了:

Your site is published at https://.github.io

这样就成了,否则请检查之前的步骤是否正确。

安装 Hexo

在安装 Hexo 前,需要确定电脑中是否已安装了:

  • Node.js (版本至少为 nodejs 6.9)
  • Git
$ git --version
$ node --version

如果没有,要先安装他们。接下来只需要使用 npm 即可完成 Hexo 的安装:

$ npm install -g hexo-cli

建站

初始化

安装 Hexo 完成后,执行下列命令,Hexo 将会在指定文件夹中新建您的博客:

$ hexo init 
$ cd 
$ npm install

然后,可以看到指定文件夹的目录如下:

.
├── _config.yml
├── package.json
├── scaffolds
├── source
|   ├── _drafts
|   └── _posts
└── themes

配置

目录中的 _config.yml 是网站的配置信息,我们需要在此配置一些参数:

$ cat _config.yml
# Hexo Configuration
## Docs: https://hexo.io/docs/configuration.html
## Source: https://github.com/hexojs/hexo/
......

需要配置的项目有:

参数 描述
title 网站标题
subtitle 网站副标题
description 网站描述
keywords 网站的关键词。使用半角逗号 , 分隔多个关键词。
author 您的名字
language 网站使用的语言
url 网址
theme 当前主题名称。值为false时禁用主题
deploy 部署部分的设置

需要说明的是,deploy 项的配置就可以把Hexo与GitHub关联起来,即将我们的博客推送到 GitHub,打开站点的配置文件_config.yml,deploy 项配置为:

deploy: 
	type: git
	repo: https://github.com/>/>.github.io
	branch: master

然后,我们需要让 Hexo 连接上我们的 GitHub:

$ npm install hexo-deployer-git --save

$ hexo clean
$ hexo generate
$ hexo deploy

每一条命令的作用都很直观。操作完之后你就会发现你的博客已经上线了,可以在网络上被访问了!

主题

如果你像我一样,觉得 Hexo 自带的 landscape 主题不太好看,我们可以跟换一个主题。

我们可以在 Hexo 官网上找到很丰富的 主题资源,具体的使用方法主题项目的 README 里会写明,照着做就行。

这里以配置一个叫做 cactus 的主题为例:

  1. 下载、安装:
$ cd 		# hexo init 的目录
$ git clone https://github.com/probberechts/hexo-theme-cactus.git themes/cactus		# 拷贝一份主题
  1. 修改Hexo主题:
$ vim ./config.yml

修改其中的 theme 属性:

# theme: landscape
theme: cactus
  1. 主题配置

themes/cactus/_config.yml 中按照自己的需要对主题进行配置。

写作

其实到这里,我们的博客就已经构建完成了。接下来我们就可以用新建的博客系统写作了。

新建文章

你可以执行下列命令来创建一篇新文章。

$ hexo new [layout] 
</code></pre> 
  <p>您可以在命令中指定文章的布局(layout),默认为 <code>post</code>,可以通过修改 <code>_config.yml</code> 中的 <code>default_layout</code> 参数来指定默认布局。</p> 
  <p>可选的布局有:</p> 
  <table> 
   <thead> 
    <tr> 
     <th><code>layout</code></th> 
     <th>储存路径</th> 
     <th>功能</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td><code>post</code></td> 
     <td><code>source/_posts</code></td> 
     <td>存放要发布的博客文章</td> 
    </tr> 
    <tr> 
     <td><code>page</code></td> 
     <td><code>source</code></td> 
     <td>网站中的一些固定页面,比如说"关于"</td> 
    </tr> 
    <tr> 
     <td><code>draft</code></td> 
     <td><code>source/_drafts</code></td> 
     <td>草稿</td> 
    </tr> 
   </tbody> 
  </table> 
  <p><code>hexo new</code> 成功后,Hexo 会告诉你新建的文件路径,利用 markdown 编辑器打开它,就可以开始书写了,在我的 Mac 里,默认的 markdown 编辑器是 <code>Typora</code>,可以直接用 <code>open</code> 命令来用默认程序打开并编辑文件:</p> 
  <pre><code>$ open ~/<blogFolder>/source/_drafts<title>.md
</code></pre> 
  <h4>草稿</h4> 
  <p>我们在写文章时,可以先写草稿(draft)。草稿默认不会显示在页面中,您可在执行时加上 <code>--draft</code> 参数,或是把 <code>render_drafts</code> 参数设为 <code>true</code> 来预览草稿。</p> 
  <p>文章写好后,通过 <code>publish</code> 命令将草稿移动到 <code>source/_posts</code> 文件夹:</p> 
  <pre><code>$ hexo publish [layout] <title>
</code></pre> 
  <h4>Front-matter</h4> 
  <p>Front-matter 是文件最上方以 <code>---</code> 分隔的区域,在里面写 YAML 配置,用于指定个别文件的变量,例如:</p> 
  <pre><code class="prism language-yaml"><span class="token punctuation">---</span>
<span class="token key atrule">title</span><span class="token punctuation">:</span> Hello World
<span class="token key atrule">date</span><span class="token punctuation">:</span> 2013/7/13 20<span class="token punctuation">:</span><span class="token datetime number">46:25</span>
<span class="token punctuation">---</span>
</code></pre> 
  <p>以下是一些常用的参数:</p> 
  <table> 
   <thead> 
    <tr> 
     <th align="left">参数</th> 
     <th align="left">描述</th> 
     <th align="left">默认值</th> 
    </tr> 
   </thead> 
   <tbody> 
    <tr> 
     <td align="left"><code>layout</code></td> 
     <td align="left">布局</td> 
     <td align="left"></td> 
    </tr> 
    <tr> 
     <td align="left"><code>title</code></td> 
     <td align="left">标题</td> 
     <td align="left"></td> 
    </tr> 
    <tr> 
     <td align="left"><code>date</code></td> 
     <td align="left">建立日期</td> 
     <td align="left">文件建立日期</td> 
    </tr> 
    <tr> 
     <td align="left"><code>updated</code></td> 
     <td align="left">更新日期</td> 
     <td align="left">文件更新日期</td> 
    </tr> 
    <tr> 
     <td align="left"><code>comments</code></td> 
     <td align="left">开启文章的评论功能</td> 
     <td align="left">true</td> 
    </tr> 
    <tr> 
     <td align="left"><code>tags</code></td> 
     <td align="left">标签(不适用于分页)</td> 
     <td align="left"></td> 
    </tr> 
    <tr> 
     <td align="left"><code>categories</code></td> 
     <td align="left">分类(不适用于分页)</td> 
     <td align="left"></td> 
    </tr> 
    <tr> 
     <td align="left"><code>permalink</code></td> 
     <td align="left">覆盖文章网址</td> 
     <td align="left"></td> 
    </tr> 
    <tr> 
     <td align="left"><code>keywords</code></td> 
     <td align="left">仅用于 meta 标签和 Open Graph 的关键词(不推荐使用)</td> 
     <td align="left"></td> 
    </tr> 
   </tbody> 
  </table> 
  <h4>分类和标签</h4> 
  <p>对于大多数人来讲,对一篇文章分类和标签的设置是必不可少的。</p> 
  <p>分类和标签听起来很接近,但是在 Hexo 中两者有着明显的差别:<strong>分类(<code>categories</code>)</strong> 具有<em>顺序性</em>和<em>层次性</em>,也就是说 <code>Foo, Bar</code> 不等于 <code>Bar, Foo</code>;而 <strong>标签(<code>tags</code>)</strong> 没有顺序和层次。</p> 
  <p>在 <code>Front-matter</code> 中,分类和标签的设置方法如下:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">categories</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> Diary
<span class="token key atrule">tags</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> PS3
<span class="token punctuation">-</span> Games
</code></pre> 
  <p>在使用 <code>categories</code> 时,请注意:</p> 
  <p>Hexo不支持指定多个同级分类!下面的指定方法:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">categories</span><span class="token punctuation">:</span>
<span class="token punctuation">-</span> Diary
<span class="token punctuation">-</span> Life
</code></pre> 
  <p>会使分类 <code>Life</code> 成为 <code>Diary</code> 的子分类,而不是 <em>并列分类</em>。因此,有必要为您的文章选择尽可能准确的分类。</p> 
  <h4>发布</h4> 
  <p>在完成写作后,我们先保存编辑好的 markdown 文件,然后执行如下操作:</p> 
  <pre><code>$ hexo publish post <title>.md		# 如果新建时 layout 为 draft

$ hexo deploy --generate		# 生成文件完成后部署
		# 可以简写为 `$ hexo d -g`
</code></pre> 
  <h4>操作总结</h4> 
  <p>现在,回顾一下我们用 Hexo 写作的过程:</p> 
  <ol> 
   <li><code>$ hexo new draft <title></code></li> 
   <li><code>$ open ~/<blogFolder>/source/_drafts/<title>.md</code></li> 
   <li><code>在编辑器中填写Front-matter,并完成内容写作</code></li> 
   <li><code>$ hexo publish post <title></code></li> 
   <li><code>$ hexo deploy --generate</code></li> 
  </ol> 
  <p>如果有能力,我们还可以写一个简单的小脚本来简化这些操作。很容易实现,在这里就不介绍了。</p> 
  <h3>功能拓展</h3> 
  <p>现在,我们已经完成了博客系统的安装、建站并且学会了在其中写作。</p> 
  <p>当我们打开自己的博客网站时,会发现,我们的 <code>Cactus</code> 主题已经提供了诸如分享、导航的功能。</p> 
  <p>但或许我们还是觉得它有些太简陋了,我们可能还想让它有一些让用户体验更好的特性,比如,搜索、评论功能,现在我们尝试来实现它们。</p> 
  <p>其实,我们使用的 <code>Cactus</code> 主题中,已经包含了对搜索、评论的支持,直接使用即可。</p> 
  <h4>搜索</h4> 
  <p>安装 hexo 的搜索插件:</p> 
  <pre><code>$ npm install hexo-generator-search --save
</code></pre> 
  <p>创建一个新页面,用来承载搜索功能:</p> 
  <pre><code>$ hexo new page search
</code></pre> 
  <p>在 Front-matter 里加上 <code>type: search</code>:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">title</span><span class="token punctuation">:</span> Search
<span class="token key atrule">type</span><span class="token punctuation">:</span> search
<span class="token punctuation">---</span>
</code></pre> 
  <p>在 <code>themes/cactus/_config.yml</code> 里配置:</p> 
  <pre><code class="prism language-yaml"><span class="token key atrule">nav</span><span class="token punctuation">:</span>
  <span class="token key atrule">search</span><span class="token punctuation">:</span> /search/
</code></pre> 
  <h4>评论</h4> 
  <p><code>Cactus</code> 主题为我们提供的评论工具是 <code>Disqus</code>,这是一个各方面都很好的评论系统,但有一点问题是,这个评论系统<strong>在国内无法使用</strong>,所以我们只是简单翻译一下官方的介绍:</p> 
  <p>首先,在 Disqus 注册我们的站点: https://disqus.com/admin/create/.</p> 
  <p>然后, 修改 <code>themes/cactus/_config.yml</code>:</p> 
  <pre><code>disqus:
  enabled: true
  shortname: SITENAME
</code></pre> 
  <p>这里的 <code>SITENAME</code> 是在注册 Disqus 时,你给你的站点填写的名字。</p> 
  <h2>结尾</h2> 
  <p>好了,我们的博客网站建好了。由于我最迫切的需求就是快速的完成博客建站,所以多余的东西我都没有研究,但其实 Hexo 还可以有很多拓展,GitHub Pages 也还有一些东西可以配置,这些都需要大家自己去研究。</p> 
  <p>后期我还会持续优化这个网站,比如我计划修改一下源码,把 Cactus 中的 <code>Disqus</code> 评论换成墙内能用的如 <code>livere</code> 之类的东西 ,如果可以,我会另外发文记录。</p> 
  <p>其实,这篇文章中的绝大多数内容都来源于咱们使用的各个工具的官网,我只是粗糙地把他们按照一定的逻辑顺序排列到一起。如果需要更详细的说明,大家可以看下面列出的这些参考文档:</p> 
  <ul> 
   <li>GitHub的注册与使用:https://help.github.com/cn</li> 
   <li>Hexo的安装及使用:https://hexo.io/zh-cn/docs/</li> 
   <li>Cactus主题的配置:https://github.com/probberechts/hexo-theme-cactus</li> 
  </ul> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1288241759138131968"></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">你可能感兴趣的:(GitHub加Hexo打造个人博客)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1835509643619692544.htm"
                           title="如何在 Fork 的 GitHub 项目中保留自己的修改并同步上游更新?github_fork_update" target="_blank">如何在 Fork 的 GitHub 项目中保留自己的修改并同步上游更新?github_fork_update</a>
                        <span class="text-muted">iBaoxing</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>如何在Fork的GitHub项目中保留自己的修改并同步上游更新?在GitHub上Fork了一个项目后,你可能会对项目进行一些修改,同时原作者也在不断更新。如果想要在保留自己修改的基础上,同步原作者的最新更新,很多人会不知所措。本文将详细讲解如何在不丢失自己改动的情况下,将上游仓库的更新合并到自己的仓库中。问题描述假设你在GitHub上Fork了一个项目,并基于该项目做了一些修改,随后你发现原作者对</div>
                    </li>
                    <li><a href="/article/1835505226933694464.htm"
                           title="Pyecharts数据可视化大屏:打造沉浸式数据分析体验" target="_blank">Pyecharts数据可视化大屏:打造沉浸式数据分析体验</a>
                        <span class="text-muted">我的运维人生</span>
<a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4%E5%BC%80%E5%8F%91/1.htm">运维开发</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF%E5%85%B1%E4%BA%AB/1.htm">技术共享</a>
                        <div>Pyecharts数据可视化大屏:打造沉浸式数据分析体验在当今这个数据驱动的时代,如何将海量数据以直观、生动的方式展现出来,成为了数据分析师和企业决策者关注的焦点。Pyecharts,作为一款基于Python的开源数据可视化库,凭借其丰富的图表类型、灵活的配置选项以及高度的定制化能力,成为了构建数据可视化大屏的理想选择。本文将深入探讨如何利用Pyecharts打造数据可视化大屏,并通过实际代码案例</div>
                    </li>
                    <li><a href="/article/1835502578511736832.htm"
                           title="下载github patch到本地" target="_blank">下载github patch到本地</a>
                        <span class="text-muted">小米人er</span>
<a class="tag" taget="_blank" href="/search/%E6%88%91%E7%9A%84%E5%8D%9A%E5%AE%A2/1.htm">我的博客</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/patch/1.htm">patch</a>
                        <div>以下是几种从GitHub上下载以.patch结尾的补丁文件的方法:通过浏览器直接下载打开包含该.patch文件的GitHub仓库。在仓库的文件列表中找到对应的.patch文件。点击该文件,浏览器会显示文件的内容,在页面的右上角通常会有一个“Raw”按钮,点击它可以获取原始文件内容。然后在浏览器中使用快捷键(如Ctrl+S或者Command+S)将原始文件保存到本地,选择保存的文件名并确保后缀为.p</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/1835496402042580992.htm"
                           title="GitHub上克隆项目" target="_blank">GitHub上克隆项目</a>
                        <span class="text-muted">bigbig猩猩</span>
<a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>从GitHub上克隆项目是一个简单且直接的过程,它允许你将远程仓库中的项目复制到你的本地计算机上,以便进行进一步的开发、测试或学习。以下是一个详细的步骤指南,帮助你从GitHub上克隆项目。一、准备工作1.安装Git在克隆GitHub项目之前,你需要在你的计算机上安装Git工具。Git是一个开源的分布式版本控制系统,用于跟踪和管理代码变更。你可以从Git的官方网站(https://git-scm.</div>
                    </li>
                    <li><a href="/article/1835496312687128576.htm"
                           title="把握“三度”打造“三有”干部队伍" target="_blank">把握“三度”打造“三有”干部队伍</a>
                        <span class="text-muted">辛德瑞拉卡卡卡</span>

                        <div>“胜败兴亡之分,不得不归咎于人事也”。干部队伍建设工作的好坏,关系到党和国家的发展全局。近日,新疆维吾尔自治区党委书记马兴瑞在部分党群单位走访调研时强调,要努力培养造就忠诚干净担当的高素质专业化干部队伍。各级组织部门应当在培养选拔干部、吸收优秀青年到党内来、培养造就优秀人才上下功夫,切实增强干部投身实践、解决问题、推进工作的能力,着力打造高素质专业化干部队伍。“天生我材必有用”,增强选育有“准度”</div>
                    </li>
                    <li><a href="/article/1835495170972413952.htm"
                           title="git - Webhook让部署自动化" target="_blank">git - Webhook让部署自动化</a>
                        <span class="text-muted">大猪大猪</span>

                        <div>我们现在有一个需求,将项目打包上传到gitlab或者github后,程序能自动部署,不用手动地去服务器中进行项目更新并运行,如何做到?这里我们可以使用gitlab与github的挂钩,挂钩的原理就是,每当我们有请求到gitlab与github服务器时,这时他俩会根据我们配置的挂钩地扯进行访问,webhook挂钩程序会一直监听着某个端口请求,一但收到他们发过来的请求,这时就知道用户有请求提交了,这时</div>
                    </li>
                    <li><a href="/article/1835493373906087936.htm"
                           title="libyuv之linux编译" target="_blank">libyuv之linux编译</a>
                        <span class="text-muted">jaronho</span>
<a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</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><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>文章目录一、下载源码二、编译源码三、注意事项1、银河麒麟系统(aarch64)(1)解决armv8-a+dotprod+i8mm指令集支持问题(2)解决armv9-a+sve2指令集支持问题一、下载源码到GitHub网站下载https://github.com/lemenkov/libyuv源码,或者用直接用git克隆到本地,如:gitclonehttps://github.com/lemenko</div>
                    </li>
                    <li><a href="/article/1835493267907637248.htm"
                           title="webpack图片等资源的处理" target="_blank">webpack图片等资源的处理</a>
                        <span class="text-muted">dmengmeng</span>

                        <div>需要的loaderfile-loader(让我们可以引入这些资源文件)url-loader(其实是file-loader的二次封装)img-loader(处理图片所需要的)在没有使用任何处理图片的loader之前,比如说css中用到了背景图片,那么最后打包会报错的,因为他没办法处理图片。其实你只想能够使用图片的话。只加一个file-loader就可以,打开网页能准确看到图片。{test:/\.(p</div>
                    </li>
                    <li><a href="/article/1835492869062881280.htm"
                           title="pyecharts——绘制柱形图折线图" target="_blank">pyecharts——绘制柱形图折线图</a>
                        <span class="text-muted">2224070247</span>
<a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><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%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">数据可视化</a>
                        <div>一、pyecharts概述自2013年6月百度EFE(ExcellentFrontEnd)数据可视化团队研发的ECharts1.0发布到GitHub网站以来,ECharts一直备受业界权威的关注并获得广泛好评,成为目前成熟且流行的数据可视化图表工具,被应用到诸多数据可视化的开发领域。Python作为数据分析领域最受欢迎的语言,也加入ECharts的使用行列,并研发出方便Python开发者使用的数据</div>
                    </li>
                    <li><a href="/article/1835492740536823808.htm"
                           title="node.js学习" target="_blank">node.js学习</a>
                        <span class="text-muted">小猿L</span>
<a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.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/vim/1.htm">vim</a>
                        <div>node.js学习实操及笔记温故node.js,node.js学习实操过程及笔记~node.js学习视频node.js官网node.js中文网实操笔记githubcsdn笔记为什么学node.js可以让别人访问我们编写的网页为后续的框架学习打下基础,三大框架vuereactangular离不开node.jsnode.js是什么官网:node.js是一个开源的、跨平台的运行JavaScript的运行</div>
                    </li>
                    <li><a href="/article/1835479135959478272.htm"
                           title="南美洲的奇特艺术品【神秘档案馆·第三期】" target="_blank">南美洲的奇特艺术品【神秘档案馆·第三期】</a>
                        <span class="text-muted">清风小和尚</span>

                        <div>本期回答问题:1.复活节岛石像是谁建造的?2.复活节岛石像的建造方法与目的?3.纳斯卡线条的设计意义?南美洲是南亚美利加洲的简称,位于西半球的南部,东濒大西洋,西临太平洋,北滨加勒比海,南隔德雷克海峡与南极洲相望。对南美洲最简单的定位方法是:美国南面。南美洲是地球上第四大的大洲,有着种类繁多的物种和丰富的地形。在这片广袤的土地上,有两样奇特的艺术品---复活节岛摩艾石像与纳斯卡线条。摩艾石像(Mo</div>
                    </li>
                    <li><a href="/article/1835478121390895104.htm"
                           title="高仿包包批发在哪里买最便宜?推荐6个购买渠道" target="_blank">高仿包包批发在哪里买最便宜?推荐6个购买渠道</a>
                        <span class="text-muted">鸿运工作室</span>

                        <div>高仿包包作为一种时尚单品,受到很多人的喜爱。然而,对于批发高仿包包的人来说,如何找到最便宜的购买渠道是一个关键问题。本文将为您推荐6个购买高仿包包最便宜的渠道,帮助您更好地满足批发需求。咨询加微信:FB2260(下单赠送精美礼品)1.义乌国际商贸城义乌国际商贸城是中国最大的小商品批发市场之一,也是高仿包包批发的热门地点。这里有众多的批发商聚集,提供了各种各样的高仿包包,价格相对较低。您可以在这里找</div>
                    </li>
                    <li><a href="/article/1835471059135066112.htm"
                           title="你可能遗漏的一些C#/.NET/.NET Core知识点" target="_blank">你可能遗漏的一些C#/.NET/.NET Core知识点</a>
                        <span class="text-muted">追逐时光者</span>
<a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/DotNetGuide%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/1.htm">DotNetGuide编程指南</a><a class="tag" taget="_blank" href="/search/c%23/1.htm">c#</a><a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/.netcore/1.htm">.netcore</a><a class="tag" taget="_blank" href="/search/microsoft/1.htm">microsoft</a>
                        <div>前言在这个快速发展的技术世界中,时常会有一些重要的知识点、信息或细节被忽略或遗漏。《C#/.NET/.NETCore拾遗补漏》专栏我们将探讨一些可能被忽略或遗漏的重要知识点、信息或细节,以帮助大家更全面地了解这些技术栈的特性和发展方向。拾遗补漏GitHub开源地址https://github.com/YSGStudyHards/DotNetGuide/blob/main/docs/DotNet/D</div>
                    </li>
                    <li><a href="/article/1835461543064596480.htm"
                           title="我在大学遇到的兼职坑2" target="_blank">我在大学遇到的兼职坑2</a>
                        <span class="text-muted">竹音小居</span>

                        <div>不要存在侥幸,天上不会掉馅饼上一次我讲述了我在某宝刷单遇到的坑,今天我就来讲讲比某宝刷单更坑的兼职,不,这应该不是兼职了,是被骗。我因为在某宝刷单交了会费,最后连本金都没有挣回来,就想找一个不用交本金的刷单平台,然后我就上网搜了一下“有没有不用交钱的兼职”,没成想还真有,我打开网页链接,看人家上面写的文案,确实很心动,不用交钱,加一下客服的qq就可以接单,而且网页上还有很多别人挣钱的截图,佣金非常</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/1835450890077696000.htm"
                           title="python怎么将png转为tif_png转tif" target="_blank">python怎么将png转为tif_png转tif</a>
                        <span class="text-muted">weixin_39977276</span>

                        <div>发国外的文章要求图片是tif,cmyk色彩空间的。大小尺寸还有要求。比如网上大神多,找到了一段代码,感谢!https://www.jianshu.com/p/ec2af4311f56https://github.com/KevinZc007/image2Tifimportjava.awt.image.BufferedImage;importjava.io.File;importjava.io.Fi</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/1835431702365827072.htm"
                           title="iOS内存管理简单理解" target="_blank">iOS内存管理简单理解</a>
                        <span class="text-muted">烧烤有点辣</span>

                        <div>什么是引用计数引用计数(ReferenceCount)是一个简单而有效的管理对象生命周期的方式。当我们创建一个新对象的时候,它的引用计数为1,当有一个新的指针指向这个对象时,我们将其引用计数加1,当某个指针不再指向这个对象是,我们将其引用计数减1,当对象的引用计数变为0时,说明这个对象不再被任何指针指向了,这个时候我们就可以将对象销毁,回收内存。由于引用计数简单有效,除了Objective-C和S</div>
                    </li>
                    <li><a href="/article/1835425043241332736.htm"
                           title="windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流" target="_blank">windows下python opencv ffmpeg读取摄像头实现rtsp推流 拉流</a>
                        <span class="text-muted">图像处理大大大大大牛啊</span>
<a class="tag" taget="_blank" href="/search/opencv%E5%AE%9E%E6%88%98%E4%BB%A3%E7%A0%81%E8%AE%B2%E8%A7%A3/1.htm">opencv实战代码讲解</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E8%A7%89%E5%9B%BE%E5%83%8F%E9%A1%B9%E7%9B%AE/1.htm">视觉图像项目</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/opencv/1.htm">opencv</a>
                        <div>windows下pythonopencvffmpeg读取摄像头实现rtsp推流拉流整体流程1.下载所需文件1.1下载rtsp推流服务器1.2下载ffmpeg2.开启RTSP服务器3.opencv读取摄像头并调用ffmpeg进行推流4.opencv进行拉流5.opencv异步拉流整体流程1.下载所需文件1.1下载rtsp推流服务器下载RTSP服务器下载页面https://github.com/blu</div>
                    </li>
                    <li><a href="/article/1835424412342513664.htm"
                           title="ChatGPT 高效学习套路揭秘:让知识获取事半功倍的秘诀" target="_blank">ChatGPT 高效学习套路揭秘:让知识获取事半功倍的秘诀</a>
                        <span class="text-muted">kkai人工智能</span>
<a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</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%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%AA%92%E4%BD%93/1.htm">媒体</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>最近这段时间,AI热潮因ChatGPT的火爆再次掀起。如今,网上大部分内容都在调侃AI,但很少有人探讨如何正经使用ChatGPT做事情。作为一名靠搜索引擎和GitHub自学编程的开发者,第一次和ChatGPT深度交流后,我就确信:ChatGPT能够极大提高程序员学习新技术的效率。使用ChatGPT一个月后,我越发感受到它的颠覆性。因此,我想从工作和学习的角度,分享它的优势及我的一些使用技巧,而非娱</div>
                    </li>
                    <li><a href="/article/1835424327042953216.htm"
                           title="一台适合普通办公使用的电脑推荐thinkpadE475" target="_blank">一台适合普通办公使用的电脑推荐thinkpadE475</a>
                        <span class="text-muted">sam_1c14</span>

                        <div>图片发自App图片发自App缺点是内存只有4G。胜在便宜。14寸,很轻薄。给老婆买的。应该不能用来编程,会很慢的,真要用可以自己加根内存条,最大扩展到32G。图片发自App</div>
                    </li>
                    <li><a href="/article/1835423058265993216.htm"
                           title="掌握正确的方法,全面打造更有利于长期学习的“超能大脑”" target="_blank">掌握正确的方法,全面打造更有利于长期学习的“超能大脑”</a>
                        <span class="text-muted">微微一勺</span>

                        <div>作为家长,都希望自己的孩子在上学的时候能够拥有优异的成绩,最好能成为班上的学霸,而后考上一所不错的大学。作为孩子,学霸也是非常让大家认可的,是同学们崇拜的偶像。所以,无论是家长还是老师,无论是同学还是亲戚,都想要自己喜欢的人或者自己看好的人成为班级里的学霸。都是寒窗苦读,为什么别人可以成为高考状元、学霸,而有些孩子努力了还是成绩平平呢?为什么课堂上学霸很少开小差?为什么学霸背东西过目不忘?为什么学</div>
                    </li>
                    <li><a href="/article/1835419365806272512.htm"
                           title="线上到线下:相亲交友系统如何打造全方位恋爱体验" target="_blank">线上到线下:相亲交友系统如何打造全方位恋爱体验</a>
                        <span class="text-muted">h17711347205</span>
<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%95%B0%E6%8D%AE/1.htm">大数据</a>
                        <div>在数字化时代,相亲交友系统正逐渐成为单身人士寻找伴侣的重要渠道。我们的目标是打造一个全方位的恋爱体验,将线上的便捷性与线下的真实互动相结合,为用户提供一个无缝衔接的交友平台。以下是如何从运营角度出发,实现这一目标的详细策略。线上到线下:相亲交友系统如何打造全方位恋爱体验在快节奏的现代社会,相亲交友系统为单身人士提供了一个便捷的相识途径17711347205。然而,真正的恋爱体验往往需要线下的真实互</div>
                    </li>
                    <li><a href="/article/1835416945864830976.htm"
                           title="干货|自我介绍这三个坑,99%的概率你踩过!" target="_blank">干货|自我介绍这三个坑,99%的概率你踩过!</a>
                        <span class="text-muted">夏麦生命的魔术师</span>

                        <div>自我介绍——每个人都需要的一张名片。图片源自网络从2018年到现在,在做演讲俱乐部的2年时间里,我在演讲活动现场听过1000+人的自我介绍,自我介绍做得超棒的人真不多!最近,我花了近几个月时间,仔细研究了500+人线上场景的自我介绍,发现优秀的自我介绍也不多!为什么做一张优秀的自我介绍就这么难呢?这个问题,在我帮几十个人打造了自我介绍的过程一直困扰着我。经过了几个月的时间思考与实践,终于发现三个—</div>
                    </li>
                    <li><a href="/article/1835400084725002240.htm"
                           title="LeetCode github集合,附CMU大神整理笔记" target="_blank">LeetCode github集合,附CMU大神整理笔记</a>
                        <span class="text-muted">Wesley@</span>
<a class="tag" taget="_blank" href="/search/LeetCode/1.htm">LeetCode</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>GithubLeetCode集合本人所有做过的题目都写在一个java项目中,同步到github中了,算是见证自己的进步。github目前同步的题目是2020-09-17日之后写的题。之前写过的题会陆续跟新到github中。目前大概400个题目Github项目链接:https://github.com/sunliancheng/leetcode_github附上一份优秀的教材整合:这是卡内基梅隆(C</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/1835393400380157952.htm"
                           title="VUE3 + xterm + nestjs实现web远程终端 或 连接开启SSH登录的路由器和交换机。" target="_blank">VUE3 + xterm + nestjs实现web远程终端 或 连接开启SSH登录的路由器和交换机。</a>
                        <span class="text-muted">焚木灵</span>
<a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a>
                        <div>可远程连接系统终端或开启SSH登录的路由器和交换机。相关资料:xtermjs/xterm.js:Aterminalfortheweb(github.com)后端实现(NestJS):1、安装依赖:npminstallnode-ssh@nestjs/websockets@nestjs/platform-socket.io2、我们将创建一个名为RemoteControlModule的NestJS模块,</div>
                    </li>
                    <li><a href="/article/1835390275791450112.htm"
                           title="努力不需要仪式感" target="_blank">努力不需要仪式感</a>
                        <span class="text-muted">宇韩叔叔</span>

                        <div>在一次踏青活动中,我认识了彩虹,一个皮肤很白的小美女。她对自己的外形不太满意,一米六的身高,体重接近130斤。听说我是一个跑步爱好者,她马上加微信,希望每天能跟我一起晨跑,锻炼出一个好身材。我满口答应,承诺每天电话催她起床,到约定地点一起跑。第一天见面,彩虹让我眼前一亮:崭新的运动服、高束的马尾辫、箍在大臂上的手机袋,浑身上下都透着一股踌躇满志的精气神。我开始跟她讲路线和跑步要领,她却摆摆手示意我</div>
                    </li>
                                <li><a href="/article/72.htm"
                                       title="Java开发中,spring mvc 的线程怎么调用?" target="_blank">Java开发中,spring mvc 的线程怎么调用?</a>
                                    <span class="text-muted">小麦麦子</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a>
                                    <div>今天逛知乎,看到最近很多人都在问spring mvc 的线程http://www.maiziedu.com/course/java/ 的启动问题,觉得挺有意思的,那哥们儿问的也听仔细,下面的回答也很详尽,分享出来,希望遇对遇到类似问题的Java开发程序猿有所帮助。 
 
问题: 
    在用spring mvc架构的网站上,设一线程在虚拟机启动时运行,线程里有一全局</div>
                                </li>
                                <li><a href="/article/199.htm"
                                       title="maven依赖范围" target="_blank">maven依赖范围</a>
                                    <span class="text-muted">bitcarter</span>
<a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>1.test 测试的时候才会依赖,编译和打包不依赖,如junit不被打包 
 
2.compile 只有编译和打包时才会依赖 
 
3.provided 编译和测试的时候依赖,打包不依赖,如:tomcat的一些公用jar包 
 
4.runtime 运行时依赖,编译不依赖 
 
5.默认compile 
 
依赖范围compile是支持传递的,test不支持传递 
 
1.传递的意思是项目A,引用</div>
                                </li>
                                <li><a href="/article/326.htm"
                                       title="Jaxb org.xml.sax.saxparseexception : premature end of file" target="_blank">Jaxb org.xml.sax.saxparseexception : premature end of file</a>
                                    <span class="text-muted">darrenzhu</span>
<a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/premature/1.htm">premature</a><a class="tag" taget="_blank" href="/search/JAXB/1.htm">JAXB</a>
                                    <div>如果在使用JAXB把xml文件unmarshal成vo(XSD自动生成的vo)时碰到如下错误: 
org.xml.sax.saxparseexception : premature end of file 
很有可能时你直接读取文件为inputstream,然后将inputstream作为构建unmarshal需要的source参数。InputSource inputSource = new In</div>
                                </li>
                                <li><a href="/article/453.htm"
                                       title="CSS Specificity" target="_blank">CSS Specificity</a>
                                    <span class="text-muted">周凡杨</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/%E6%9D%83%E9%87%8D/1.htm">权重</a><a class="tag" taget="_blank" href="/search/Specificity/1.htm">Specificity</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a>
                                    <div>  
有时候对于页面元素设置了样式,可为什么页面的显示没有匹配上呢? because specificity   
CSS 的选择符是有权重的,当不同的选择符的样式设置有冲突时,浏览器会采用权重高的选择符设置的样式。   
    规则: 
  
  HTML标签的权重是1

  Class 的权重是10

  Id 的权重是100

</div>
                                </li>
                                <li><a href="/article/580.htm"
                                       title="java与servlet" target="_blank">java与servlet</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a>
                                    <div>servlet 搞java web开发的人一定不会陌生,而且大家还会时常用到它。 
下面是java官方网站上对servlet的介绍:  java官网对于servlet的解释 写道   
Java Servlet Technology Overview Servlets are the Java platform technology of choice for extending and enha</div>
                                </li>
                                <li><a href="/article/707.htm"
                                       title="eclipse中安装maven插件" target="_blank">eclipse中安装maven插件</a>
                                    <span class="text-muted">510888780</span>
<a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a>
                                    <div>1.首先去官网下载 Maven: 
http://www.apache.org/dyn/closer.cgi/maven/binaries/apache-maven-3.2.3-bin.tar.gz 
下载完成之后将其解压, 
我将解压后的文件夹:apache-maven-3.2.3, 
并将它放在 D:\tools目录下, 
即 maven 最终的路径是:D:\tools\apache-mave</div>
                                </li>
                                <li><a href="/article/834.htm"
                                       title="jpa@OneToOne关联关系" target="_blank">jpa@OneToOne关联关系</a>
                                    <span class="text-muted">布衣凌宇</span>
<a class="tag" taget="_blank" href="/search/jpa/1.htm">jpa</a>
                                    <div>Nruser里的pruserid关联到Pruser的主键id,实现对一个表的增删改,另一个表的数据随之增删改。 
Nruser实体类 
//***************************************************************** 
@Entity 
@Table(name="nruser") 
@DynamicInsert @Dynam</div>
                                </li>
                                <li><a href="/article/961.htm"
                                       title="我的spring学习笔记11-Spring中关于声明式事务的配置" target="_blank">我的spring学习笔记11-Spring中关于声明式事务的配置</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE/1.htm">配置</a>
                                    <div>这两天学到事务管理这一块,结合到之前的terasoluna框架,觉得书本上讲的还是简单阿。我就把我从书本上学到的再结合实际的项目以及网上看到的一些内容,对声明式事务管理做个整理吧。我看得Spring in Action第二版中只提到了用TransactionProxyFactoryBean和<tx:advice/>,定义注释驱动这三种,我承认后两种的内容很好,很强大。但是实际的项目当中</div>
                                </li>
                                <li><a href="/article/1088.htm"
                                       title="java 动态代理简单实现" target="_blank">java 动态代理简单实现</a>
                                    <span class="text-muted">antlove</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/handler/1.htm">handler</a><a class="tag" taget="_blank" href="/search/proxy/1.htm">proxy</a><a class="tag" taget="_blank" href="/search/dynamic/1.htm">dynamic</a><a class="tag" taget="_blank" href="/search/service/1.htm">service</a>
                                    <div>dynamicproxy.service.HelloService 
package dynamicproxy.service;

public interface HelloService {
	public void sayHello();
}
 
  
dynamicproxy.service.impl.HelloServiceImpl 
package dynamicp</div>
                                </li>
                                <li><a href="/article/1215.htm"
                                       title="JDBC连接数据库" target="_blank">JDBC连接数据库</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/JDBC%E7%BC%96%E7%A8%8B/1.htm">JDBC编程</a><a class="tag" taget="_blank" href="/search/JAVA%E6%93%8D%E4%BD%9Coracle%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">JAVA操作oracle数据库</a>
                                    <div>      
    如果我们要想连接oracle公司的数据库,就要首先下载oralce公司的驱动程序,将这个驱动程序的jar包导入到我们工程中; 
  
JDBC链接数据库的代码和固定写法; 
  
  
1,加载oracle数据库的驱动; 
    &nb</div>
                                </li>
                                <li><a href="/article/1342.htm"
                                       title="单例模式中的多线程分析" target="_blank">单例模式中的多线程分析</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a>
                                    <div>谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载。 
饿汉式: 
package com.bijian.study;

public class Singleton {

	private Singleton() {
	}

	// 注意这是private 只供内部调用
	private static</div>
                                </li>
                                <li><a href="/article/1469.htm"
                                       title="javascript读取和修改原型特别需要注意原型的读写不具有对等性" target="_blank">javascript读取和修改原型特别需要注意原型的读写不具有对等性</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/prototype/1.htm">prototype</a>
                                    <div>        对于从原型对象继承而来的成员,其读和写具有内在的不对等性。比如有一个对象A,假设它的原型对象是B,B的原型对象是null。如果我们需要读取A对象的name属性值,那么JS会优先在A中查找,如果找到了name属性那么就返回;如果A中没有name属性,那么就到原型B中查找name,如果找到了就返回;如果原型B中也没有</div>
                                </li>
                                <li><a href="/article/1596.htm"
                                       title="【持久化框架MyBatis3六】MyBatis3集成第三方DataSource" target="_blank">【持久化框架MyBatis3六】MyBatis3集成第三方DataSource</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/dataSource/1.htm">dataSource</a>
                                    <div>MyBatis内置了数据源的支持,如: 
  
	<environments default="development">
		<environment id="development">
			<transactionManager type="JDBC" />
			<data</div>
                                </li>
                                <li><a href="/article/1723.htm"
                                       title="我程序中用到的urldecode和base64decode,MD5" target="_blank">我程序中用到的urldecode和base64decode,MD5</a>
                                    <span class="text-muted">bitcarter</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/MD5/1.htm">MD5</a><a class="tag" taget="_blank" href="/search/base64decode/1.htm">base64decode</a><a class="tag" taget="_blank" href="/search/urldecode/1.htm">urldecode</a>
                                    <div>这里是base64decode和urldecode,Md5在附件中。因为我是在后台所以需要解码: 
 

string Base64Decode(const char* Data,int DataByte,int& OutByte)
{
    //解码表
    const char DecodeTable[] =
    {
        0, 0, 0, 0, 0, 0</div>
                                </li>
                                <li><a href="/article/1850.htm"
                                       title="腾讯资深运维专家周小军:QQ与微信架构的惊天秘密" target="_blank">腾讯资深运维专家周小军:QQ与微信架构的惊天秘密</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>社交领域一直是互联网创业的大热门,从PC到移动端,从OICQ、MSN到QQ。到了移动互联网时代,社交领域应用开始彻底爆发,直奔黄金期。腾讯在过去几年里,社交平台更是火到爆,QQ和微信坐拥几亿的粉丝,QQ空间和朋友圈各种刷屏,写心得,晒照片,秀视频,那么谁来为企鹅保驾护航呢?支撑QQ和微信海量数据背后的架构又有哪些惊天内幕呢?本期大讲堂的内容来自今年2月份ChinaUnix对腾讯社交网络运营服务中心</div>
                                </li>
                                <li><a href="/article/1977.htm"
                                       title="java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素" target="_blank">java-69-旋转数组的最小元素。把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>

public class MinOfShiftedArray {

	/**
	 * Q69 旋转数组的最小元素
	 * 把一个数组最开始的若干个元素搬到数组的末尾,我们称之为数组的旋转。输入一个排好序的数组的一个旋转,输出旋转数组的最小元素。
	 * 例如数组{3, 4, 5, 1, 2}为{1, 2, 3, 4, 5}的一个旋转,该数组的最小值为1。
	 */
	publ</div>
                                </li>
                                <li><a href="/article/2104.htm"
                                       title="看博客,应该是有方向的" target="_blank">看博客,应该是有方向的</a>
                                    <span class="text-muted">Cb123456</span>
<a class="tag" taget="_blank" href="/search/%E5%8F%8D%E7%9C%81/1.htm">反省</a><a class="tag" taget="_blank" href="/search/%E7%9C%8B%E5%8D%9A%E5%AE%A2/1.htm">看博客</a>
                                    <div>看博客,应该是有方向的: 
 我现在就复习以前的,在补补以前不会的,现在还不会的,同时完善完善项目,也看看别人的博客. 
 我刚突然想到的: 
 1.应该看计算机组成原理,数据结构,一些算法,还有关于android,java的。 
 2.对于我,也快大四了,看一些职业规划的,以及一些学习的经验,看看别人的工作总结的. 
  
 为什么要写</div>
                                </li>
                                <li><a href="/article/2231.htm"
                                       title="[开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖" target="_blank">[开源与商业]做开源项目的人生活上一定要朴素,尽量减少对官方和商业体系的依赖</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE/1.htm">开源项目</a>
                                    <div> 
 
     为什么这样说呢?  因为科学和技术的发展有时候需要一个平缓和长期的积累过程,但是行政和商业体系本身充满各种不稳定性和不确定性,如果你希望长期从事某个科研项目,但是却又必须依赖于某种行政和商业体系,那其中的过程必定充满各种风险。。。 
 
      所以,为避免这种不确定性风险,我</div>
                                </li>
                                <li><a href="/article/2358.htm"
                                       title="一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )" target="_blank">一个 sql优化 ([精华] 一个查询优化的分析调整全过程!很值得一看 )</a>
                                    <span class="text-muted">cwqcwqmax9</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a>
                                    <div>见   http://www.itpub.net/forum.php?mod=viewthread&tid=239011 
 
 
 
 
Web翻页优化实例 
 提交时间: 2004-6-18 15:37:49      回复    发消息  
 
 
环境: 
Linux ve</div>
                                </li>
                                <li><a href="/article/2485.htm"
                                       title="Hibernat and Ibatis" target="_blank">Hibernat and Ibatis</a>
                                    <span class="text-muted">dashuaifu</span>
<a class="tag" taget="_blank" href="/search/Hibernate/1.htm">Hibernate</a><a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a>
                                    <div>Hibernate  VS  iBATIS 简介 Hibernate 是当前最流行的O/R mapping框架,当前版本是3.05。它出身于sf.net,现在已经成为Jboss的一部分了 iBATIS 是另外一种优秀的O/R mapping框架,当前版本是2.0。目前属于apache的一个子项目了。 相对Hibernate“O/R”而言,iBATIS 是一种“Sql Mappi</div>
                                </li>
                                <li><a href="/article/2612.htm"
                                       title="备份MYSQL脚本" target="_blank">备份MYSQL脚本</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>#!/bin/sh
# this shell to backup mysql
#1413161683@qq.com (QQ:1413161683 DuChengJiu)

_dbDir=/var/lib/mysql/
_today=`date +%w`
_bakDir=/usr/backup/$_today
[ ! -d $_bakDir ] && mkdir -p </div>
                                </li>
                                <li><a href="/article/2739.htm"
                                       title="iOS第三方开源库的吐槽和备忘" target="_blank">iOS第三方开源库的吐槽和备忘</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a>
                                    <div>转自 
ibireme的博客       做iOS开发总会接触到一些第三方库,这里整理一下,做一些吐槽。       目前比较活跃的社区仍旧是Github,除此以外也有一些不错的库散落在Google Code、SourceForge等地方。由于Github社区太过主流,这里主要介绍一下Github里面流行的iOS库。       首先整理了一份 
Github上排名靠</div>
                                </li>
                                <li><a href="/article/2866.htm"
                                       title="html wlwmanifest.xml" target="_blank">html wlwmanifest.xml</a>
                                    <span class="text-muted">eoems</span>
<a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/xml/1.htm">xml</a>
                                    <div>所谓优化wp_head()就是把从wp_head中移除不需要元素,同时也可以加快速度。 
 
步骤: 
 
加入到function.php 
 
remove_action('wp_head', 'wp_generator'); 
//wp-generator移除wordpress的版本号,本身blog的版本号没什么意义,但是如果让恶意玩家看到,可能会用官网公布的漏洞攻击blog 
 
remov</div>
                                </li>
                                <li><a href="/article/2993.htm"
                                       title="浅谈Java定时器发展" target="_blank">浅谈Java定时器发展</a>
                                    <span class="text-muted">hacksin</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91/1.htm">并发</a><a class="tag" taget="_blank" href="/search/timer/1.htm">timer</a><a class="tag" taget="_blank" href="/search/%E5%AE%9A%E6%97%B6%E5%99%A8/1.htm">定时器</a>
                                    <div>java在jdk1.3中推出了定时器类Timer,而后在jdk1.5后由Dou Lea从新开发出了支持多线程的ScheduleThreadPoolExecutor,从后者的表现来看,可以考虑完全替代Timer了。 
Timer与ScheduleThreadPoolExecutor对比: 
1. 
  
 Timer始于jdk1.3,其原理是利用一个TimerTask数组当作队列</div>
                                </li>
                                <li><a href="/article/3120.htm"
                                       title="移动端页面侧边导航滑入效果" target="_blank">移动端页面侧边导航滑入效果</a>
                                    <span class="text-muted">ini</span>
<a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/javascirpt/1.htm">javascirpt</a>
                                    <div>效果体验:http://hovertree.com/texiao/mobile/2.htm可以使用移动设备浏览器查看效果。效果使用到jquery-2.1.4.min.js,该版本的jQuery库是用于支持HTML5的浏览器上,不再兼容IE8以前的浏览器,现在移动端浏览器一般都支持HTML5,所以使用该jQuery没问题。HTML文件代码: 
<!DOCTYPE html>
<h</div>
                                </li>
                                <li><a href="/article/3247.htm"
                                       title="AspectJ+Javasist记录日志" target="_blank">AspectJ+Javasist记录日志</a>
                                    <span class="text-muted">kane_xie</span>
<a class="tag" taget="_blank" href="/search/aspectj/1.htm">aspectj</a><a class="tag" taget="_blank" href="/search/javasist/1.htm">javasist</a>
                                    <div>在项目中碰到这样一个需求,对一个服务类的每一个方法,在方法开始和结束的时候分别记录一条日志,内容包括方法名,参数名+参数值以及方法执行的时间。 
  
@Override
public String get(String key) {
//	long start = System.currentTimeMillis();
//	System.out.println("Be</div>
                                </li>
                                <li><a href="/article/3374.htm"
                                       title="redis学习笔记" target="_blank">redis学习笔记</a>
                                    <span class="text-muted">MJC410621</span>
<a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/NoSQL/1.htm">NoSQL</a>
                                    <div>1)nosql数据库主要由以下特点:非关系型的、分布式的、开源的、水平可扩展的。 
1,处理超大量的数据 
2,运行在便宜的PC服务器集群上, 
3,击碎了性能瓶颈。 
1)对数据高并发读写。 
2)对海量数据的高效率存储和访问。 
3)对数据的高扩展性和高可用性。 
 
redis支持的类型: 
 
Sring 类型 
set name lijie 
get name lijie 
set na</div>
                                </li>
                                <li><a href="/article/3501.htm"
                                       title="使用redis实现分布式锁" target="_blank">使用redis实现分布式锁</a>
                                    <span class="text-muted">qifeifei</span>

                                    <div>在多节点的系统中,如何实现分布式锁机制,其中用redis来实现是很好的方法之一,我们先来看一下jedis包中,有个类名BinaryJedis,它有个方法如下: 
  
public Long setnx(final byte[] key, final byte[] value) {
	checkIsInMulti();
	client.setnx(key, value);
	ret</div>
                                </li>
                                <li><a href="/article/3628.htm"
                                       title="BI并非万能,中层业务管理报表要另辟蹊径" target="_blank">BI并非万能,中层业务管理报表要另辟蹊径</a>
                                    <span class="text-muted">张老师的菜</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/BI/1.htm">BI</a><a class="tag" taget="_blank" href="/search/%E5%95%86%E4%B8%9A%E6%99%BA%E8%83%BD/1.htm">商业智能</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8C%96/1.htm">信息化</a>
                                    <div>       BI是商业智能的缩写,是可以帮助企业做出明智的业务经营决策的工具,其数据来源于各个业务系统,如ERP、CRM、SCM、进销存、HER、OA等。 
       BI系统不同于传统的管理信息系统,他号称是一个整体应用的解决方案,是融入管理思想的强大系统:有着系统整体的设计思想,支持对所有</div>
                                </li>
                                <li><a href="/article/3755.htm"
                                       title="安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题" target="_blank">安装rvm后出现rvm not a function 或者ruby -v后提示没安装ruby的问题</a>
                                    <span class="text-muted">wudixiaotie</span>
<a class="tag" taget="_blank" href="/search/function/1.htm">function</a>
                                    <div>1.在~/.bashrc最后加入 
[[ -s "$HOME/.rvm/scripts/rvm" ]] && source "$HOME/.rvm/scripts/rvm" 
 2.重新启动terminal输入: 
  
rvm use ruby-2.2.1 --default 
 把当前安装的ruby版本设为默</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>