hexo个人博客搭建(theme next)

Hexo NexT

以前使用docsify管理文档,如果个人使用,功能基本满足要求,但docify的显示theme不能令我满意。
最近发现了Hexo搭建博客的介绍,并且相关开发人员比较活跃,决定尝试一下。
开始阅读hexo的文档有些迷糊,后来看过其它文章,才渐渐明白hexo的使用,与相关主题的使用密不可分,可能用到最后,都是自己开发适合自己的theme……
我选择了一个比较喜欢的主题maupassant,试用后,感觉作者的活跃度不够,很多地方不是很理想,最后还是使用用户比较多的NexT主题。

文档项目创建

初始化hexo目录

主要步骤Hexo 首页上列出:

npm install hexo-cli -g
hexo init blog
cd blog
npm install
hexo server

Hexo init生成的目录文件说明参考Hexo doc 建站

添加git管理

考虑到备份,修改等需要,将hexo文档目录添加git管理

git init

网上有几种git管理theme的方式:

  • 直接从github下载主题zip,添加到自己的git服务器中
  • 使用外部配置,替换theme中的默认_config.yml,参考:Hexo-Theme-NexT主题自定义设置:论theme_config与next.yml方法的差异及取舍,这个时候theme的源码可以试用git submodule管理:
git submodule add https://github.com/tufu9441/maupassant-hexo.git themes/maupassant
  • 使用npm添加(hexo 5.0版本以上),例如NexT的添加:
npm install hexo-theme-next
# _config.yml
# theme: next

添加 NexT theme

从 https://hexo.io/themes/查找主题next,获取github路径:

The upstream repository of theme NexT has been changed.
2014-2017   https://github.com/iissnan/hexo-theme-next
2018-2019   https://github.com/theme-next/hexo-theme-next
2020    https://github.com/next-theme/hexo-theme-next
In order to get the latest update, please backup files of the legacy theme NexT, and execute the following command

            
                git clone https://github.com/next-theme/hexo-theme-next themes/next
            
        
For Hexo 5.0 or later
            
                npm install hexo-theme-next
            
        
Documentation

下载最后发布版本源码zip,解压缩到themes/next目录

参考:Hexo-Theme-NexT主题自定义设置:论theme_config与next.yml方法的差异及取舍

几种使用theme的方式,最后还是采用源码方式(有时可能需要直接修改源码比较方便)

修改NexT主题配置

NexT doc Made by IIssNan

Hexo的配置修改,包括_config.yml中的站点配置,还有_config.next.yml中的主题配置

站点配置

diff --git a/_config.yml b/_config.yml
index 98bf35f..0b7181e 100644
--- a/_config.yml
+++ b/_config.yml
@@ -3,17 +3,17 @@
 ## Source: https://github.com/hexojs/hexo/

 # Site
-title: Hexo
-subtitle: ''
+title: iticd
+subtitle: '一年又一年…… 知而不行,是为不知;行而不知,可以致知'
 description: ''
 keywords:
-author: John Doe
-language: en
-timezone: ''
+author: iticd
+language: zh-CN
+timezone: 'Asia/Shanghai'

 # URL
 ## If your site is put in a subdirectory, set url as 'http://yoursite.com/child' and root as '/child/'
-url: http://yoursite.com
+url: http://iticd.github.io
 root: /
 permalink: :year/:month/:day/:title/
 permalink_defaults:
@@ -28,7 +28,7 @@ tag_dir: tags
 archive_dir: archives
 category_dir: categories
 code_dir: downloads/code
-i18n_dir: :lang
+i18n_dir: :languages
 skip_render:

 # Writing
@@ -52,7 +52,7 @@ highlight:
   wrap: true
   hljs: false
 prismjs:
-  enable: false
+  enable: true
   preprocess: true
   line_number: true
   tab_replace: ''

主题配置

添加「标签」页面

添加「分类」页面

代码块

通过预览NexT Highlight Theme Preview,选择代码高亮样式:

站点配置修改:

highlight:
  enable: false
  ...
prismjs:
  enable: true
  ...

主题配置修改:

codeblock:
# Code Highlight theme
# All available themes: https://theme-next.js.org/highlight/
  ...
  prism:
    light: prism-tomorrow
    dark: prism-tomorrow
  ...

字体

Hexo Next 主题字体相关配置

Fonts-Customization

修改字体,字号:


# Define custom file paths.
# Create your custom files in site directory `source/_data` and uncomment needed files below.
custom_file_path:
  #head: source/_data/head.njk
  #header: source/_data/header.njk
  #sidebar: source/_data/sidebar.njk
  #postMeta: source/_data/post-meta.njk
  #postBodyEnd: source/_data/post-body-end.njk
  #footer: source/_data/footer.njk
  #bodyEnd: source/_data/body-end.njk
  variable: source/_data/variables.styl
  #mixin: source/_data/mixins.styl
  #style: source/_data/styles.styl

在source/_data/variables.styl中配置字体属性,避免修改next源码:

// Title Font, set it to font family you want.
$font-family-headings = Georgia, sans

// Set it to font family you want.
$font-family-base = "Microsoft YaHei", Verdana, sans-serif

// Code Font.
$code-font-family = "Input Mono", "PT Mono", Consolas, Monaco, Menlo, monospace

// Font size of articles.
$font-size-base = 14px

// Font size of table and code.
$table-font-size = 12px

Next 能加载用户自定义的样式,同样也能加载用户自定义样式使用的变量。然而同样比较可惜的是,自定义样式使用的变量里的定义(source/_data/variables.styl),不能覆盖变量默认定义的值(hexo-next-theme/source/css/_variables/)。但是你可以在默认定义里注释掉变量后,在自定义变量里重新定义并赋值。

写博客

修改文档模板

根据需要,修改Hexo目录下生成的文档模板,scaffolds/draft.md,scaffolds/post.md

---
title: {{ title }}
date: {{date}}
update: {{date}}
tags:
categories:
---

添加文章

添加博客文章,执行:

hexo new  post 
</code></pre> 
 <p>在source/_posts目录生成title.md文件,文章内容直接在md文件中修改,例:</p> 
 <pre><code class="md">---
title: hexo个人博客搭建(theme next)
date: 2020-08-25 11:13:27
updated: {{date}}
tags:
- Hexo
- 个人博客
categories:
- 个人博客系统
- Hexo
---

这里填写文章摘要……

<!--more-->

这里填写文章正文……

</code></pre> 
 <p>参考 Hexo doc front-matter</p> 
 <h3>标签,分类</h3> 
 <h3>文档里的图片路径</h3> 
 <p>使用固定的图片资源目录</p> 
 <blockquote> 
  <p>资源(Asset)代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。比方说,如果你的Hexo项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中。然后通过类似于<code>[图片上传失败...(image-fa1c2a-1598453205685)]</code> 的方法访问它们。</p> 
 </blockquote> 
 <p>使用文章资源文件夹</p> 
 <blockquote> 
  <p>对于那些想要更有规律地提供图片和其他资源以及想要将他们的资源分布在各个文章上的人来说,Hexo也提供了更组织化的方式来管理资源。这个稍微有些复杂但是管理资源非常方便的功能可以通过将 config.yml 文件中的 post_asset_folder 选项设为 true 来打开。</p> 
 </blockquote> 
 <p><strong>注:使用vscode进行md文件编辑时,由于路径原因,预览插件显示图片异常。</strong></p> 
 <h2>github 部署</h2> 
 <p>修改_config.yml</p> 
 <pre><code class="yaml"># Deployment
## Docs: https://hexo.io/docs/one-command-deployment
deploy:
  type: git
  repo: 
    github: https://github.com/iticd/iticd.github.io.git
    gitee: https://gitee.com/iticd/iticd.git
  branch: 
</code></pre> 
 <p><strong>注:可以同时部署多个站点</strong></p> 
 <p>本地安装插件,部署</p> 
 <pre><code class="bash">npm install hexo-deployer-git --save

hexo d
</code></pre> 
 <h2>添加gitalk评论</h2> 
 <ul> 
  <li>在github创建一个新仓库</li> 
  <li>创建OAuth Apps (成功后记录client_id,client_secret)</li> 
 </ul> 
 <div class="image-package"> 
  <div class="image-container" style="max-width: 619px; max-height: 455px;"> 
   <div class="image-view">  
   </div> 
  </div> 
  <div class="image-caption">
    OAuth Apps 
  </div> 
 </div> 
 <ul> 
  <li>修改主题配置文件中gitalk配置</li> 
 </ul> 
 <div class="image-package"> 
  <div class="image-container" style="max-width: 700px; max-height: 279px;"> 
   <div class="image-view">  
   </div> 
  </div> 
  <div class="image-caption">
    主题配置_config->gitalk 
  </div> 
 </div> 
 <ul> 
  <li>重新部署</li> 
 </ul> 
 <pre><code class="bash">hexo clean && hexo d -g
</code></pre> 
 <h2>参考</h2> 
 <p>Hexo<br> Heox theme NexT<br> easy hexo<br> 打造个性超赞博客 Hexo + NexT + GitHub Pages 的超深度优化<br> Hexo-Theme-NexT主题自定义设置:论theme_config与next.yml方法的差异及取舍<br> git submodule 使用小结<br> Markdown - 简单的世界</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1635590756951449600"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(hexo个人博客搭建(theme next))</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1950214657335685120.htm"
                           title="代码随想录算法训练营第三十五天" target="_blank">代码随想录算法训练营第三十五天</a>
                        <span class="text-muted"></span>

                        <div>01背包问题二维题目链接01背包问题二维题解importjava.util.Scanner;publicclassMain{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);intM=sc.nextInt();intN=sc.nextInt();int[]space=newint[M];int[]value=new</div>
                    </li>
                    <li><a href="/article/1950153511538847744.htm"
                           title="Java集合遍历的几种方式" target="_blank">Java集合遍历的几种方式</a>
                        <span class="text-muted">Warren98</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/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/%E7%A1%AC%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">硬件工程</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>迭代器不依赖索引遍历完毕后,指针不会复位.遍历时,不能使用集合的方法进行增加或删除.只能使用一次next()方法.主要方法publicinterfaceIterator{Iteratoriterator();//返回迭代器对象,默认指向当前集合的0索引booleanhasNext();//用于判断集合中是否还有下一个元素,有的话返回trueEnext();//返回迭代器的下一个元素,并将迭代器的指</div>
                    </li>
                    <li><a href="/article/1949994677088350208.htm"
                           title="英语语法学习-动词Bring的例句" target="_blank">英语语法学习-动词Bring的例句</a>
                        <span class="text-muted">英语小天地nice</span>

                        <div>英语中动词“bring”的各种时态的例句。学习肯定句、否定句和疑问句的例子。不定式:ToBring与以不定式为宾语的动词组合时,使用不定式形式“ToBring”:Shehopestobringthatupatthemeeting.基本形式:bring在一般现在时、一般过去时和一般将来时,与助动词一起使用基本形式“bring”:Doyouusuallybringyourhomeworktoclass</div>
                    </li>
                    <li><a href="/article/1949950652528521216.htm"
                           title="强化学习入门三(SARSA)" target="_blank">强化学习入门三(SARSA)</a>
                        <span class="text-muted">第六五签</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%A8%A1%E5%9E%8B/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>SARSA算法详解SARSA是强化学习中另一种经典的时序差分(TD)学习算法,与Q-Learning同属无模型(model-free)算法,但在更新策略上有显著差异。SARSA的名称来源于其更新公式中涉及的五个元素:状态(State)、动作(Action)、奖励(Reward)、下一状态(NextState)、下一动作(NextAction),即(S,A,R,S’,A’)。SARSA与Q-Lear</div>
                    </li>
                    <li><a href="/article/1949860983329583104.htm"
                           title="从手写 Promise 到 Event Loop:前端异步面试题全解读" target="_blank">从手写 Promise 到 Event Loop:前端异步面试题全解读</a>
                        <span class="text-muted"></span>

                        <div>你真的搞懂了JS的异步吗?面试官一个“nextTick和微任务的区别”,别说新手,连三年经验的工程师也常答不上来。开场:异步机制,就是面试里的“送命题”你是不是也有过这样的经历:“你能手写一个Promise吗?”“你知道async/await背后是怎么工作的?”“setTimeout(fn,0)一定最先执行吗?”听起来是基础题,但很多人答得云里雾里。异步是JS的灵魂,但也因为它涉及事件循环、任务队</div>
                    </li>
                    <li><a href="/article/1949803243416645632.htm"
                           title="vscode 找不到python解释器,VS Code找不到python 3解释器" target="_blank">vscode 找不到python解释器,VS Code找不到python 3解释器</a>
                        <span class="text-muted">miao君</span>
<a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/%E6%89%BE%E4%B8%8D%E5%88%B0python%E8%A7%A3%E9%87%8A%E5%99%A8/1.htm">找不到python解释器</a>
                        <div>IaminstallingPython3.7.2forthefirsttime,andI'musingtheVSCodepythonextension.WhenIrunpython-VIgetPython2.7.10whichisnotcorrect!WhenIselecttheusr/local/bin/python3interpreterinVSCodeIgetthiserrorwhenrun</div>
                    </li>
                    <li><a href="/article/1949793537402925056.htm"
                           title="Tailwind CSS与服务器端渲染:SSR项目样式处理" target="_blank">Tailwind CSS与服务器端渲染:SSR项目样式处理</a>
                        <span class="text-muted">AI实战架构笔记</span>
<a class="tag" taget="_blank" href="/search/AI%E6%9E%B6%E6%9E%84%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI架构开发实战</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/ai/1.htm">ai</a>
                        <div>TailwindCSS与服务器端渲染:SSR项目样式处理关键词:TailwindCSS、服务器端渲染、SSR、样式处理、性能优化、Next.js、Nuxt.js摘要:本文将深入探讨如何在服务器端渲染(SSR)项目中高效使用TailwindCSS。我们将从基本原理出发,分析Tailwind在SSR环境下的独特挑战,提供完整的解决方案,并通过实际案例展示最佳实践。文章涵盖性能优化策略、常见问题解决以及</div>
                    </li>
                    <li><a href="/article/1949736420872613888.htm"
                           title="Linux vimgrep 详解" target="_blank">Linux vimgrep 详解</a>
                        <span class="text-muted">我是唐青枫</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>
                        <div>简介:vimgrep是Vim提供的「直接在指定文件集里用正则查找」的命令与外部grep不同,vimgrep在查到结果后会将匹配行写入快速修复列表(quickfixlist),并可通过:copen、:cnext、:cfirst等命令逐条跳转支持Vim的正则引擎,允许灵活使用Vim正则、分组、魔法模式等基本语法:vimgrep[!]/{pattern}/[g][j]{file_pattern}[...</div>
                    </li>
                    <li><a href="/article/1949693792089075712.htm"
                           title="已经启动的docker容器中编辑文件,复制文件到容器" target="_blank">已经启动的docker容器中编辑文件,复制文件到容器</a>
                        <span class="text-muted">一颗小行星!</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%BC%80%E5%8F%91/1.htm">前端开发</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E6%96%87%E4%BB%B6/1.htm">编辑文件</a>
                        <div>docker镜像并不是一个完整的Linux系统,有的容器中无法使用vi进行编辑文件。最近遇到一个问题,在自己的云服务器上使用nextcloud的docker镜像搭了个网盘服务,需要修改的nextcloud配置文件,但是又没有挂载配置文件所在目录。进入docker中发现并没有安装vi,也没有yum和apt-get安装工具,没有办法直接编辑。本来想通过增加挂载目录来解决:使用当前容器构建新的镜像,重新</div>
                    </li>
                    <li><a href="/article/1949649481964253184.htm"
                           title="躁动是别人的,你是坚定的。" target="_blank">躁动是别人的,你是坚定的。</a>
                        <span class="text-muted">无梦为安Ph</span>

                        <div>(2002,text2)Butifrobotsaretoreachthenextstageoflaborsavingutility,theywillhavetooperatewithlesshumansupervisionandbeabletomakeatleastafewdecisionsforthemselves—goalsthatposearealchallenge.句子结构条件状语从句:B</div>
                    </li>
                    <li><a href="/article/1949645263165517824.htm"
                           title="snmp包分析" target="_blank">snmp包分析</a>
                        <span class="text-muted">new_abc</span>
<a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a>
                        <div>可以测试snmp后我们就可以抓包看看snmp包的结构下面是一个Get-Next-Request包NMP使用**ASN.1(抽象语法标记)**和**BER(基本编码规则)**定义数据类型。每个字段由**类型(Type)**、**长度(Length)**和**值(Value)**三部分组成。以下是常见的类型及其对应的编码值:####**(1)通用类型(UniversalTypes)**|类型标识符(十</div>
                    </li>
                    <li><a href="/article/1949633161726062592.htm"
                           title="【数据结构】单链表完整代码实现" target="_blank">【数据结构】单链表完整代码实现</a>
                        <span class="text-muted">棱境</span>
<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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/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/c%2B%2B/1.htm">c++</a>
                        <div>单链表前置文章:顺序表的代码实现1、链表的定义每个结点除了存放数据元素外,还要存储指向下一个结点的指针。2、链表的特点不要求大片连续空间改变容量方便不可随机存取要耗费一定空间存放指针3、链式存储结构//单链表的存储结构typedefstructLNode{ElemTypedata;structLNode*next;}LNode,*LinkList;4、完整实现代码代码结构:定义单链表结构初始化单链</div>
                    </li>
                    <li><a href="/article/1949566710780588032.htm"
                           title=".NET 5正式发布" target="_blank">.NET 5正式发布</a>
                        <span class="text-muted">明天再做行么</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</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/.net/1.htm">.net</a>
                        <div>.NET5=.NETCorevNextNET5是.NETCore的下一步。该项目旨在通过以下几个关键方式改进.NET:制造一个可在任何地方使用的.NET运行时和框架,并具有统一的运行时行为和开发人员体验。通过充分利用.NETCore、.NETFramework、Xamarin和Mono来扩展.NET的功能。从单个代码库构建该产品,开发人员(Microsoft和社区)可以一起工作并一起扩展,从而改进</div>
                    </li>
                    <li><a href="/article/1949555435237339136.htm"
                           title="重装世界第二十一章----晶钻现世" target="_blank">重装世界第二十一章----晶钻现世</a>
                        <span class="text-muted">森断武尊</span>

                        <div>火雨已经过去了有七八天了,世界也仿佛回归了正规。"Themysteriousvirushasbeeneliminatedbythemeteor,pleaserestassured……"(丧尸病毒已经被流星摧毁,请各位市民放心……)电视上播报着美国频道,但大家不知道的是,就在她身后某个角落,一双红色的眼睛,突然出现……也许这就是打脸和嘲讽吧,美国没安分多久,估计又要进入水深火热当中了……至于中国嘛,</div>
                    </li>
                    <li><a href="/article/1949502651897016320.htm"
                           title="博客摘录「 Quartus II 13.0 添加器件库教程(包含下载地址)」2024年1月8日" target="_blank">博客摘录「 Quartus II 13.0 添加器件库教程(包含下载地址)」2024年1月8日</a>
                        <span class="text-muted">无尽边疆</span>
<a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a>
                        <div>一、器件库要独立放在一个文件夹里,否则可能会出现无法安装器件库的情况。二、添加器件库1、如第一步所说,一定一定要把cyclone-13.0.1.232.qdz保存到Quartus->quartus->bin2、管理员身份运行QuartusII13.0器件库安装软件、点击Next3、如下图所示,一般都会默认将这个位置的,设置为bin目录,所以这就是为什么上一步说了一定要把你所下载好的.qzd文件放在</div>
                    </li>
                    <li><a href="/article/1949497227495927808.htm"
                           title="每日一练(回文串)" target="_blank">每日一练(回文串)</a>
                        <span class="text-muted">野生程序员y</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</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>
                        <div>题目:输入一个字符串,计算最长回文串!package最长回文串;importjava.util.Scanner;publicclassDemo{publicstaticvoidmain(String[]args){Scannersc=newScanner(System.in);Stringstr=sc.nextLine();Stringres=longestHuiWen(str);System.o</div>
                    </li>
                    <li><a href="/article/1949496382079430656.htm"
                           title="2024韩剧《妈妈朋友的儿子》高清在线观看-2024年电视剧【1080p超清韩语中字】夸克网盘高清迅雷网盘百度云免费在线观看未删减版" target="_blank">2024韩剧《妈妈朋友的儿子》高清在线观看-2024年电视剧【1080p超清韩语中字】夸克网盘高清迅雷网盘百度云免费在线观看未删减版</a>
                        <span class="text-muted">帮忙赚赏金</span>

                        <div>《妈妈朋友的儿子》(엄마친구아들/LoveNextDoor)是一部韩国爱情喜剧电视剧,由柳济元执导,申夏恩编剧,丁海寅、郑素敏、金智恩、尹志温等主演。该剧讲述了一个想要重启自己错误人生的女人和她的黑历史——也就是她妈妈朋友的儿子之间发生的浪漫爱情故事。丁海寅饰演的崔胜孝是韩国建筑界备受瞩目的年轻建筑家,而郑素敏饰演的裴石榴是一个辞职项目经理,现为无业游民,她考试总是第一名,但因某事件从国际大公司辞</div>
                    </li>
                    <li><a href="/article/1949443389569167360.htm"
                           title="推荐项目:Hugo Theme Stack 快速启动模板 —— 构建静态站点的高效起点" target="_blank">推荐项目:Hugo Theme Stack 快速启动模板 —— 构建静态站点的高效起点</a>
                        <span class="text-muted">汤中岱Wonderful</span>

                        <div>推荐项目:HugoThemeStack快速启动模板——构建静态站点的高效起点在快速迭代的Web开发领域中,找到一个既高效又灵活的博客或网站搭建方案至关重要。今天,我们向您隆重推荐【HugoThemeStackStarterTemplate】——一款基于[Hugo框架]和[ThemeStack]设计的快速启动模板。它不仅简化了网站构建过程,还通过集成现代工具链,让您的个人站点或小企业网站能够在瞬间起</div>
                    </li>
                    <li><a href="/article/1949385754182479872.htm"
                           title="第十章 XML元素和属性" target="_blank">第十章 XML元素和属性</a>
                        <span class="text-muted">Cache技术分享</span>

                        <div>第十章XML元素和属性检查必需的元素和属性默认情况下,next()方法不检查是否存在与标记为必需的属性相对应的元素和属性。要使读取器检查此类元素和属性是否存在,请在调用Next()之前将读取器的CheckRequired属性设置为1。出于兼容性原因,此属性的默认值为0。如果将CheckRequired设置为1,并且调用next(),而导入的XML缺少必需的元素或属性,则next()方法会将sc参数</div>
                    </li>
                    <li><a href="/article/1949307351735529472.htm"
                           title="【Next.js 项目实战系列】02-创建 Issue" target="_blank">【Next.js 项目实战系列】02-创建 Issue</a>
                        <span class="text-muted">Casta-mere</span>
<a class="tag" taget="_blank" href="/search/Issu/1.htm">Issu</a><a class="tag" taget="_blank" href="/search/Tracker/1.htm">Tracker</a><a class="tag" taget="_blank" href="/search/Next.js/1.htm">Next.js</a><a class="tag" taget="_blank" href="/search/Next.js/1.htm">Next.js</a><a class="tag" taget="_blank" href="/search/Issue/1.htm">Issue</a><a class="tag" taget="_blank" href="/search/Tracker/1.htm">Tracker</a><a class="tag" taget="_blank" href="/search/React/1.htm">React</a>
                        <div>原文链接CSDN的排版/样式可能有问题,去我的博客查看原文系列吧,觉得有用的话,给我的库点个star,关注一下吧上一篇【Next.js项目实战系列】01-创建项目创建Issue配置MySQL与Prisma在数据库中可以找到相关内容,这里不再赘述添加model本节代码链接#schema.prismamodelIssue{idInt@id@default(autoincrement())titleSt</div>
                    </li>
                    <li><a href="/article/1949154519682183168.htm"
                           title="2016级计算机C++助教工作(6)OJ上各种返回结果以及代表意思和可能涉及的原因" target="_blank">2016级计算机C++助教工作(6)OJ上各种返回结果以及代表意思和可能涉及的原因</a>
                        <span class="text-muted">GDRetop</span>
<a class="tag" taget="_blank" href="/search/%23%23C%2B%2B%E5%8A%A9%E6%95%99/1.htm">##C++助教</a><a class="tag" taget="_blank" href="/search/C%2B%2B%E5%8A%A9%E6%95%99/1.htm">C++助教</a>
                        <div>1.judge上返回结果与可能的问题、解决方法内容来源:http://acm.tju.edu.cn/toj/faq.htmlQ:Whatisthemeaningofthejudge'sreplyXXXXX?A:Hereisalistofthejudge'srepliesandtheirmeaning:Received:Thejudgesystemhasreceivedyoursolution,us</div>
                    </li>
                    <li><a href="/article/1949153762283155456.htm"
                           title="LeetCode 力扣 第21题解题笔记" target="_blank">LeetCode 力扣 第21题解题笔记</a>
                        <span class="text-muted">艾伦的自由之翼</span>
<a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>题目:将两个升序链表合并为一个新的升序链表并返回。新链表是通过拼接给定的两个链表的所有节点组成的。(1)递归解法L1.val意思是取链表L1的头结点本题可以提炼出一个字问题,假设原问题是L1和L2,并且假设L1的值更小,那么合并L1,L2,就可以做如下考虑:取出头结点L1,解决子问题:合并L1next和L2,L1的next指向子问题的结果就可以了模式识别:子问题和原问题具有相同结构,意思就是说,返</div>
                    </li>
                    <li><a href="/article/1949148845862612992.htm"
                           title="KMP算法" target="_blank">KMP算法</a>
                        <span class="text-muted"></span>

                        <div>KMP模板和一些典型题一、模板二、无线传输三、记录详情四、二叉树中的链表一、模板这里的求next有两种写法,思路是一样的。作者喜欢用第一种:voidcalnext(string&s2){nt[0]=-1;nt[1]=0;for(inti=2;i0&&s2[nt[t]]!=s2[i-1]){t=nt[t];}//for(inti=0;i0){cn=ne[cn];}else{ne[i++]=0;}}整</div>
                    </li>
                    <li><a href="/article/1949099917951692800.htm"
                           title="算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现" target="_blank">算法竞赛阶段二-数据结构(35)数据结构单链表模拟实现</a>
                        <span class="text-muted">朝朝又沐沐</span>
<a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>//链表--链式存储的线性表//存信息和下一个节点位置,数据域和指针域合起来叫节点//带头(哨兵位)下标为0//单向,双向,循环链表//实现单//俩足够大数组//elem,数据域//next,指针域//下标//head,头结点下标;id新节点位置h=0,id=0;#includeusingnamespacestd;constintN=1e5+10;//定义,初始化inte[N],ne[N],h,i</div>
                    </li>
                    <li><a href="/article/1948979635194753024.htm"
                           title="Linux 内核中 IPv4 选项处理的深度解析" target="_blank">Linux 内核中 IPv4 选项处理的深度解析</a>
                        <span class="text-muted">109702008</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/linux%E5%86%85%E6%A0%B8/1.htm">linux内核</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/AI%E5%86%99%E4%BD%9C/1.htm">AI写作</a>
                        <div>IP选项是IPv4协议中的重要扩展机制,允许在标准IP头部之后附加额外信息。Linux内核通过net/ipv4/ip_options.c文件实现了完整的IP选项处理逻辑,支持源路由、记录路由、时间戳等关键功能。本文将深入分析其实现机制。一、IP选项的核心数据结构structip_options{__be32faddr;//源路由的最终地址__be32nexthop;//下一跳地址unsignedc</div>
                    </li>
                    <li><a href="/article/1948969169793904640.htm"
                           title="GaussDB select into和insert into的用法" target="_blank">GaussDB select into和insert into的用法</a>
                        <span class="text-muted"></span>

                        <div>1selectinto作用selectinto语句从一个表中复制数据,然后将数据插入到另一个新表中。2selectinto语法我们可以把所有的列都复制到新表中:select*intonewtable[inexternaldb]fromtable1;或者只复制希望的列插入到新表中:selectcolumn_name(s)intonewtable[inexternaldb]fromtable1;提示:</div>
                    </li>
                    <li><a href="/article/1948898702034792448.htm"
                           title="【鸿蒙HarmonyOS Next App实战开发】开发一款精准图片取色器" target="_blank">【鸿蒙HarmonyOS Next App实战开发】开发一款精准图片取色器</a>
                        <span class="text-muted">阿康2024</span>
<a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91/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>
                        <div>背景与功能在设计开发过程中,从图片中提取精确颜色值是一个常见需求。本文介绍如何在HarmonyOS中开发一款功能完整的图片取色器,支持:从相册选择任意图片移动十字准星精确定位像素点实时显示十六进制色值和RGB值一键复制颜色信息响应式布局适配不同设备核心技术实现1.图片选择与处理通过PhotoViewPicker选择系统图片,使用ImageKit创建PixelMap获取像素数据:asyncselec</div>
                    </li>
                    <li><a href="/article/1948887478018568192.htm"
                           title="Hive中如何监控和诊断查询性能问题" target="_blank">Hive中如何监控和诊断查询性能问题</a>
                        <span class="text-muted">安审若无</span>
<a class="tag" taget="_blank" href="/search/Hive%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96%E5%8F%8A%E8%B0%83%E4%BC%98/1.htm">Hive性能优化及调优</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E4%BB%93%E5%BA%93/1.htm">数据仓库</a>
                        <div>在Hive中监控和诊断查询性能问题需要结合执行计划分析、资源监控、日志排查等多种手段。以下是系统性的方法和工具:一、执行计划分析1.EXPLAIN命令基础用法:查看查询的逻辑和物理执行计划EXPLAINSELECT*FROMordersWHEREamount>1000;扩展选项:EXPLAINEXTENDED</div>
                    </li>
                    <li><a href="/article/1948860006858289152.htm"
                           title="Hexo博客搭建以及优化" target="_blank">Hexo博客搭建以及优化</a>
                        <span class="text-muted">#HashMap#</span>
<a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a>
                        <div>---##0x001效果演示---##0x002简单介绍---目前个人博客已经完善的差不多了,现在写个文章做个阶段总结,后续如果有更新的地方,会及时补充。本博客基于Hexo框架,采用[hexo-theme-matery](https://github.com/blinkfox/hexo-theme-matery/blob/develop/README_CN.md)主题,个人博客演示:[https:</div>
                    </li>
                    <li><a href="/article/1948808316020912128.htm"
                           title="重 源协议 引用了系统内置的 Yaru 主题如何修改样式" target="_blank">重 源协议 引用了系统内置的 Yaru 主题如何修改样式</a>
                        <span class="text-muted">科学的发展-只不过是读大自然写的代码</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/c%2B%2Bubuntu%E5%BC%80%E5%8F%91/1.htm">c++ubuntu开发</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a>
                        <div>1.概要gtk.css文件内只有@importurl(“resource:///com/ubuntu/themes/Yaru/3.0/gtk.css“)如何修改样式2.内容在Ubuntu系统中,若/usr/share/themes//gtk-3.0/gtk.css仅包含@importurl("resource:///com/ubuntu/themes/Yaru/3.0/gtk.css");,这表示</div>
                    </li>
                                <li><a href="/article/37.htm"
                                       title="ASM系列五 利用TreeApi 解析生成Class" target="_blank">ASM系列五 利用TreeApi 解析生成Class</a>
                                    <span class="text-muted">lijingyao8206</span>
<a class="tag" taget="_blank" href="/search/ASM/1.htm">ASM</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E8%8A%82%E7%A0%81%E5%8A%A8%E6%80%81%E7%94%9F%E6%88%90/1.htm">字节码动态生成</a><a class="tag" taget="_blank" href="/search/ClassNode/1.htm">ClassNode</a><a class="tag" taget="_blank" href="/search/TreeAPI/1.htm">TreeAPI</a>
                                    <div>   前面CoreApi的介绍部分基本涵盖了ASMCore包下面的主要API及功能,其中还有一部分关于MetaData的解析和生成就不再赘述。这篇开始介绍ASM另一部分主要的Api。TreeApi。这一部分源码是关联的asm-tree-5.0.4的版本。 
         在介绍前,先要知道一点, Tree工程的接口基本可以完</div>
                                </li>
                                <li><a href="/article/164.htm"
                                       title="链表树——复合数据结构应用实例" target="_blank">链表树——复合数据结构应用实例</a>
                                    <span class="text-muted">bardo</span>
<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/%E6%A0%91%E5%9E%8B%E7%BB%93%E6%9E%84/1.htm">树型结构</a><a class="tag" taget="_blank" href="/search/%E8%A1%A8%E7%BB%93%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">表结构设计</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a><a class="tag" taget="_blank" href="/search/%E8%8F%9C%E5%8D%95%E6%8E%92%E5%BA%8F/1.htm">菜单排序</a>
                                    <div>我们清楚:数据库设计中,表结构设计的好坏,直接影响程序的复杂度。所以,本文就无限级分类(目录)树与链表的复合在表设计中的应用进行探讨。当然,什么是树,什么是链表,这里不作介绍。有兴趣可以去看相关的教材。 
需求简介: 
经常遇到这样的需求,我们希望能将保存在数据库中的树结构能够按确定的顺序读出来。比如,多级菜单、组织结构、商品分类。更具体的,我们希望某个二级菜单在这一级别中就是第一个。虽然它是最后</div>
                                </li>
                                <li><a href="/article/291.htm"
                                       title="为啥要用位运算代替取模呢" target="_blank">为啥要用位运算代替取模呢</a>
                                    <span class="text-muted">chenchao051</span>
<a class="tag" taget="_blank" href="/search/%E4%BD%8D%E8%BF%90%E7%AE%97/1.htm">位运算</a><a class="tag" taget="_blank" href="/search/%E5%93%88%E5%B8%8C/1.htm">哈希</a><a class="tag" taget="_blank" href="/search/%E6%B1%87%E7%BC%96/1.htm">汇编</a>
                                    <div>  
  在hash中查找key的时候,经常会发现用&取代%,先看两段代码吧, 
  
  JDK6中的HashMap中的indexFor方法: 
    /**
     * Returns index for hash code h.
     */
    static int indexFor(int h, int length) {
</div>
                                </li>
                                <li><a href="/article/418.htm"
                                       title="最近的情况" target="_blank">最近的情况</a>
                                    <span class="text-muted">麦田的设计者</span>
<a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%B4%BB/1.htm">生活</a><a class="tag" taget="_blank" href="/search/%E6%84%9F%E6%82%9F/1.htm">感悟</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E8%80%83/1.htm">软考</a><a class="tag" taget="_blank" href="/search/%E6%83%B3/1.htm">想</a>
                                    <div>      今天是2015年4月27号 
     整理一下最近的思绪以及要完成的任务 
            1、最近在驾校科目二练车,每周四天,练三周。其实做什么都要用心,追求合理的途径解决。为</div>
                                </li>
                                <li><a href="/article/545.htm"
                                       title="PHP去掉字符串中最后一个字符的方法" target="_blank">PHP去掉字符串中最后一个字符的方法</a>
                                    <span class="text-muted">IT独行者</span>
<a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a>
                                    <div>今天在PHP项目开发中遇到一个需求,去掉字符串中的最后一个字符 原字符串1,2,3,4,5,6, 去掉最后一个字符",",最终结果为1,2,3,4,5,6 代码如下: 
$str = "1,2,3,4,5,6,";
$newstr = substr($str,0,strlen($str)-1);
echo $newstr; </div>
                                </li>
                                <li><a href="/article/672.htm"
                                       title="hadoop在linux上单机安装过程" target="_blank">hadoop在linux上单机安装过程</a>
                                    <span class="text-muted">_wy_</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a>
                                    <div>1、安装JDK 
    jdk版本最好是1.6以上,可以使用执行命令java -version查看当前JAVA版本号,如果报命令不存在或版本比较低,则需要安装一个高版本的JDK,并在/etc/profile的文件末尾,根据本机JDK实际的安装位置加上以下几行: 
   export JAVA_HOME=/usr/java/jdk1.7.0_25  </div>
                                </li>
                                <li><a href="/article/799.htm"
                                       title="JAVA进阶----分布式事务的一种简单处理方法" target="_blank">JAVA进阶----分布式事务的一种简单处理方法</a>
                                    <span class="text-muted">无量</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%B3%BB%E7%BB%9F%E4%BA%A4%E4%BA%92/1.htm">多系统交互</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a>
                                    <div>每个方法都是原子操作: 
 
提供第三方服务的系统,要同时提供执行方法和对应的回滚方法 
 
A系统调用B,C,D系统完成分布式事务 
 
 
=========执行开始======== 
A.aa(); 
 
try { 
 B.bb(); 
} catch(Exception e) { 
 A.rollbackAa(); 
} 
 
try { 
 C.cc(); 
} catch(Excep</div>
                                </li>
                                <li><a href="/article/926.htm"
                                       title="安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉" target="_blank">安墨移动广 告:移动DSP厚积薄发 引领未来广 告业发展命脉</a>
                                    <span class="text-muted">矮蛋蛋</span>
<a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E4%BA%92%E8%81%94%E7%BD%91/1.htm">互联网</a>
                                    <div>  “谁掌握了强大的DSP技术,谁将引领未来的广 告行业发展命脉。”2014年,移动广 告行业的热点非移动DSP莫属。各个圈子都在纷纷谈论,认为移动DSP是行业突破点,一时间许多移动广 告联盟风起云涌,竞相推出专属移动DSP产品。 
 
  到底什么是移动DSP呢? 
 
  DSP(Demand-SidePlatform),就是需求方平台,为解决广 告主投放的各种需求,真正实现人群定位的精准广 </div>
                                </li>
                                <li><a href="/article/1053.htm"
                                       title="myelipse设置" target="_blank">myelipse设置</a>
                                    <span class="text-muted">alafqq</span>
<a class="tag" taget="_blank" href="/search/IP/1.htm">IP</a>
                                    <div>  在一个项目的完整的生命周期中,其维护费用,往往是其开发费用的数倍。因此项目的可维护性、可复用性是衡量一个项目好坏的关键。而注释则是可维护性中必不可少的一环。 
 
 
 
注释模板导入步骤  
 
 
 
安装方法: 
打开eclipse/myeclipse 
选择 window-->Preferences-->JAVA-->Code-->Code </div>
                                </li>
                                <li><a href="/article/1180.htm"
                                       title="java数组" target="_blank">java数组</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/java%E6%95%B0%E7%BB%84/1.htm">java数组</a>
                                    <div>java数组的   声明  创建  初始化;   java支持C语言 
   
  
数组中的每个数都有唯一的一个下标 
  一维数组的定义   声明:  int[] a = new int[3];声明数组中有三个数int[3]    
int[] a 中有三个数,下标从0开始,可以同过for来遍历数组中的数

</div>
                                </li>
                                <li><a href="/article/1307.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>
                                    <div>利用javascript读取表单数据,可以利用以下三种方法获取: 
1、通过表单ID属性:var a = document.getElementByIdx_x_x("id"); 
2、通过表单名称属性:var b = document.getElementsByName("name"); 
3、直接通过表单名字获取:var c = form.content.</div>
                                </li>
                                <li><a href="/article/1434.htm"
                                       title="探索JUnit4扩展:使用Theory" target="_blank">探索JUnit4扩展:使用Theory</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/JUnit/1.htm">JUnit</a><a class="tag" taget="_blank" href="/search/Theory/1.htm">Theory</a>
                                    <div>理论机制(Theory) 
一.为什么要引用理论机制(Theory) 
        当今软件开发中,测试驱动开发(TDD — Test-driven development)越发流行。为什么 TDD 会如此流行呢?因为它确实拥有很多优点,它允许开发人员通过简单的例子来指定和表明他们代码的行为意图。 
TDD 的优点: 
    &nb</div>
                                </li>
                                <li><a href="/article/1561.htm"
                                       title="[Spring Data Mongo一]Spring Mongo Template操作MongoDB" target="_blank">[Spring Data Mongo一]Spring Mongo Template操作MongoDB</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/template/1.htm">template</a>
                                    <div>什么是Spring Data Mongo 
Spring Data MongoDB项目对访问MongoDB的Java客户端API进行了封装,这种封装类似于Spring封装Hibernate和JDBC而提供的HibernateTemplate和JDBCTemplate,主要能力包括 
1. 封装客户端跟MongoDB的链接管理 
2. 文档-对象映射,通过注解:@Document(collectio</div>
                                </li>
                                <li><a href="/article/1688.htm"
                                       title="【Kafka八】Zookeeper上关于Kafka的配置信息" target="_blank">【Kafka八】Zookeeper上关于Kafka的配置信息</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/zookeeper/1.htm">zookeeper</a>
                                    <div>问题: 
1. Kafka的哪些信息记录在Zookeeper中 2. Consumer Group消费的每个Partition的Offset信息存放在什么位置 
3. Topic的每个Partition存放在哪个Broker上的信息存放在哪里 
4. Producer跟Zookeeper究竟有没有关系?没有关系!!! 
  
//consumers、config、brokers、cont</div>
                                </li>
                                <li><a href="/article/1815.htm"
                                       title="java OOM内存异常的四种类型及异常与解决方案" target="_blank">java OOM内存异常的四种类型及异常与解决方案</a>
                                    <span class="text-muted">ronin47</span>
<a class="tag" taget="_blank" href="/search/java+OOM+%E5%86%85%E5%AD%98%E5%BC%82%E5%B8%B8/1.htm">java OOM 内存异常</a>
                                    <div>       OOM异常的四种类型: 
    
  一: StackOverflowError :通常因为递归函数引起(死递归,递归太深)。-Xss 128k 一般够用。 
  
     二: out Of memory: PermGen Space:通常是动态类大多,比如web 服务器自动更新部署时引起。-Xmx</div>
                                </li>
                                <li><a href="/article/1942.htm"
                                       title="java-实现链表反转-递归和非递归实现" target="_blank">java-实现链表反转-递归和非递归实现</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>20120422更新: 
对链表中部分节点进行反转操作,这些节点相隔k个: 
0->1->2->3->4->5->6->7->8->9 
k=2 
8->1->6->3->4->5->2->7->0->9 
注意1 3 5 7 9 位置是不变的。 
解法: 
将链表拆成两部分: 
a.0-&</div>
                                </li>
                                <li><a href="/article/2069.htm"
                                       title="Netty源码学习-DelimiterBasedFrameDecoder" target="_blank">Netty源码学习-DelimiterBasedFrameDecoder</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> 看DelimiterBasedFrameDecoder的API,有举例: 
 接收到的ChannelBuffer如下: 
 
 +--------------+
 | ABC\nDEF\r\n |
 +--------------+ 
 经过DelimiterBasedFrameDecoder(Delimiters.lineDelimiter())之后,得到: 
 
 +-----+----</div>
                                </li>
                                <li><a href="/article/2196.htm"
                                       title="linux的一些命令 -查看cc攻击-网口ip统计等" target="_blank">linux的一些命令 -查看cc攻击-网口ip统计等</a>
                                    <span class="text-muted">hotsunshine</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux判断CC攻击命令详解 
2011年12月23日 ⁄ 安全 ⁄ 暂无评论 
查看所有80端口的连接数 
 
 
netstat -nat|grep -i '80'|wc -l
对连接的IP按连接数量进行排序

netstat -ntu | awk '{print $5}' | cut -d: -f1 | sort | uniq -c | sort -n
查看TCP连接状态

n</div>
                                </li>
                                <li><a href="/article/2323.htm"
                                       title="Spring获取SessionFactory" target="_blank">Spring获取SessionFactory</a>
                                    <span class="text-muted">ctrain</span>
<a class="tag" taget="_blank" href="/search/sessionFactory/1.htm">sessionFactory</a>
                                    <div>
String sql = "select sysdate from dual";
		
WebApplicationContext wac = ContextLoader.getCurrentWebApplicationContext(); 
String[] names = wac.getBeanDefinitionNames();
for(int i=0; i&</div>
                                </li>
                                <li><a href="/article/2450.htm"
                                       title="Hive几种导出数据方式" target="_blank">Hive几种导出数据方式</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%AF%BC%E5%87%BA/1.htm">数据导出</a>
                                    <div>Hive几种导出数据方式 
     
1.拷贝文件 
  
如果数据文件恰好是用户需要的格式,那么只需要拷贝文件或文件夹就可以。 
hadoop fs –cp source_path target_path 
  
2.导出到本地文件系统 
  
--不能使用insert into local directory来导出数据,会报错 
--只能使用</div>
                                </li>
                                <li><a href="/article/2577.htm"
                                       title="编程之美" target="_blank">编程之美</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%87%8D%E6%9E%84/1.htm">重构</a>
                                    <div>我个人的 PHP 编程经验中,递归调用常常与静态变量使用。静态变量的含义可以参考 PHP 手册。希望下面的代码,会更有利于对递归以及静态变量的理解 
  
header("Content-type: text/plain");
function static_function () {
    static $i = 0;
    if ($i++ < 1</div>
                                </li>
                                <li><a href="/article/2704.htm"
                                       title="Android保存用户名和密码" target="_blank">Android保存用户名和密码</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a>
                                    <div>转自:http://www.2cto.com/kf/201401/272336.html 
我们不管在开发一个项目或者使用别人的项目,都有用户登录功能,为了让用户的体验效果更好,我们通常会做一个功能,叫做保存用户,这样做的目地就是为了让用户下一次再使用该程序不会重新输入用户名和密码,这里我使用3种方式来存储用户名和密码 
1、通过普通 的txt文本存储 
2、通过properties属性文件进行存</div>
                                </li>
                                <li><a href="/article/2831.htm"
                                       title="Oracle 复习笔记之同义词" target="_blank">Oracle 复习笔记之同义词</a>
                                    <span class="text-muted">eksliang</span>
<a class="tag" taget="_blank" href="/search/Oracle+%E5%90%8C%E4%B9%89%E8%AF%8D/1.htm">Oracle 同义词</a><a class="tag" taget="_blank" href="/search/Oracle+synonym/1.htm">Oracle synonym</a>
                                    <div>转载请出自出处:http://eksliang.iteye.com/blog/2098861 
1.什么是同义词 
      同义词是现有模式对象的一个别名。 
      概念性的东西,什么是模式呢?创建一个用户,就相应的创建了 一个模式。模式是指数据库对象,是对用户所创建的数据对象的总称。模式对象包括表、视图、索引、同义词、序列、过</div>
                                </li>
                                <li><a href="/article/2958.htm"
                                       title="Ajax案例" target="_blank">Ajax案例</a>
                                    <span class="text-muted">gongmeitao</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a>
                                    <div>数据库采用Sql Server2005 
项目名称为:Ajax_Demo 
1.com.demo.conn包 
package com.demo.conn; 
import java.sql.Connection;import java.sql.DriverManager;import java.sql.SQLException; 
//获取数据库连接的类public class DBConnec</div>
                                </li>
                                <li><a href="/article/3085.htm"
                                       title="ASP.NET中Request.RawUrl、Request.Url的区别" target="_blank">ASP.NET中Request.RawUrl、Request.Url的区别</a>
                                    <span class="text-muted">hvt</span>
<a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/hovertree/1.htm">hovertree</a>
                                    <div>  
如果访问的地址是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree%3C&n=myslider#zonemenu那么Request.Url.ToString() 的值是:http://h.keleyi.com/guestbook/addmessage.aspx?key=hovertree<&</div>
                                </li>
                                <li><a href="/article/3212.htm"
                                       title="SVG 教程 (七)SVG 实例,SVG 参考手册" target="_blank">SVG 教程 (七)SVG 实例,SVG 参考手册</a>
                                    <span class="text-muted">天梯梦</span>
<a class="tag" taget="_blank" href="/search/svg/1.htm">svg</a>
                                    <div>SVG 实例   在线实例 
下面的例子是把SVG代码直接嵌入到HTML代码中。 
谷歌Chrome,火狐,Internet Explorer9,和Safari都支持。 
注意:下面的例子将不会在Opera运行,即使Opera支持SVG - 它也不支持SVG在HTML代码中直接使用。    SVG 实例 
SVG基本形状 
一个圆 
矩形 
不透明矩形 
一个矩形不透明2 
一个带圆角矩</div>
                                </li>
                                <li><a href="/article/3339.htm"
                                       title="事务管理" target="_blank">事务管理</a>
                                    <span class="text-muted">luyulong</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E4%BA%8B%E5%8A%A1/1.htm">事务</a>
                                    <div>事物管理 
 
spring事物的好处 
 
为不同的事物API提供了一致的编程模型 
支持声明式事务管理 
提供比大多数事务API更简单更易于使用的编程式事务管理API 
整合spring的各种数据访问抽象 
 
TransactionDefinition 
定义了事务策略 
 
int getIsolationLevel()得到当前事务的隔离级别 
 
READ_COMMITTED </div>
                                </li>
                                <li><a href="/article/3466.htm"
                                       title="基础数据结构和算法十一:Red-black binary search tree" target="_blank">基础数据结构和算法十一:Red-black binary search tree</a>
                                    <span class="text-muted">sunwinner</span>
<a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/Red-black/1.htm">Red-black</a>
                                    <div>  
The insertion algorithm for 2-3 trees just described is not difficult to understand; now, we will see that it is also not difficult to implement. We will consider a simple representation known</div>
                                </li>
                                <li><a href="/article/3593.htm"
                                       title="centos同步时间" target="_blank">centos同步时间</a>
                                    <span class="text-muted">stunizhengjia</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%BE%A4%E5%90%8C%E6%AD%A5%E6%97%B6%E9%97%B4/1.htm">集群同步时间</a>
                                    <div>做了集群,时间的同步就显得非常必要了。 以下是查到的如何做时间同步。 在CentOS 5不再区分客户端和服务器,只要配置了NTP,它就会提供NTP服务。 1)确认已经ntp程序包: # yum install ntp 2)配置时间源(默认就行,不需要修改) # vi /etc/ntp.conf server pool.ntp.o</div>
                                </li>
                                <li><a href="/article/3720.htm"
                                       title="ITeye 9月技术图书有奖试读获奖名单公布" target="_blank">ITeye 9月技术图书有奖试读获奖名单公布</a>
                                    <span class="text-muted">ITeye管理员</span>
<a class="tag" taget="_blank" href="/search/ITeye/1.htm">ITeye</a>
                                    <div>ITeye携手博文视点举办的9月技术图书有奖试读活动已圆满结束,非常感谢广大用户对本次活动的关注与参与。 9月试读活动回顾:http://webmaster.iteye.com/blog/2118112本次技术图书试读活动的优秀奖获奖名单及相应作品如下(优秀文章有很多,但名额有限,没获奖并不代表不优秀):  
  
  
《NFC:Arduino、Andro</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>