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/1903852318751780864.htm"
                           title="鸿蒙特效教程06-可拖拽网格" target="_blank">鸿蒙特效教程06-可拖拽网格</a>
                        <span class="text-muted">苏杰豪</span>
<a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%89%B9%E6%95%88%E6%95%99%E7%A8%8B/1.htm">鸿蒙特效教程</a><a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/Next/1.htm">Next</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>鸿蒙特效教程06-可拖拽网格实现教程本教程适合HarmonyOSNext初学者,通过简单到复杂的步骤,一步步实现类似桌面APP中的可拖拽编辑效果。效果预览我们要实现的效果是一个Grid网格布局,用户可以通过长按并拖动来调整应用图标的位置顺序。拖拽完成后,底部会显示当前的排序结果。实现步骤步骤一:创建基本结构和数据模型首先,我们需要创建一个基本的页面结构和数据模型。我们将定义一个应用名称数组和一个对</div>
                    </li>
                    <li><a href="/article/1903840592660590592.htm"
                           title="Golang算法(二)数据结构" target="_blank">Golang算法(二)数据结构</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/GO%E8%AF%AD%E8%A8%80/1.htm">GO语言</a>
                        <div>数据结构栈队列双向链表二叉搜索树红黑树栈typeStackstruct{head*Node}typeNodestruct{datainterface{}next*Node}funcNewStack()*Stack{s:=&Stack{head:&Node{data:nil,next:&Node{},},}returns}func(s*Stack)Push(datainterface{}){n:=&</div>
                    </li>
                    <li><a href="/article/1903829433559609344.htm"
                           title="178.HarmonyOS NEXT系列教程之列表交换组件错误处理机制" target="_blank">178.HarmonyOS NEXT系列教程之列表交换组件错误处理机制</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之列表交换组件错误处理机制效果演示1.错误处理架构1.1错误类型定义//错误类型枚举enumErrorType{DATA_ERROR,//数据错误OPERATION_ERROR,//操作错误NETWORK_ERROR,//网络错</div>
                    </li>
                    <li><a href="/article/1903825022397509632.htm"
                           title="197.HarmonyOS NEXT系列教程之图案锁振动反馈实现详解" target="_blank">197.HarmonyOS NEXT系列教程之图案锁振动反馈实现详解</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之图案锁振动反馈实现详解效果预览1.振动功能实现startVibrator(vibratorCount?:number){try{vibrator.startVibration({//设置为'preset',可使用系统预置振动效</div>
                    </li>
                    <li><a href="/article/1903824138909315072.htm"
                           title="187.HarmonyOS NEXT系列教程之列表切换案例交互实现详解" target="_blank">187.HarmonyOS NEXT系列教程之列表切换案例交互实现详解</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之列表切换案例交互实现详解效果演示1.交互系统概述1.1交互类型//支持的交互类型1.长按拖动排序2.左滑删除3.点击选择4.拖拽动画1.2手势配置//组合手势配置.gesture(GestureGroup(GestureMod</div>
                    </li>
                    <li><a href="/article/1903824140125663232.htm"
                           title="188.HarmonyOS NEXT系列教程之列表切换案例工具类与最佳实践" target="_blank">188.HarmonyOS NEXT系列教程之列表切换案例工具类与最佳实践</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之列表切换案例工具类与最佳实践效果演示1.日志工具类1.1Logger类实现classLogger{privatedomain:number;privateprefix:string;privateformat:string='</div>
                    </li>
                    <li><a href="/article/1903824137592303616.htm"
                           title="186.HarmonyOS NEXT系列教程之列表切换案例数据管理详解" target="_blank">186.HarmonyOS NEXT系列教程之列表切换案例数据管理详解</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之列表切换案例数据管理详解效果演示1.数据模型设计1.1ListInfo类@ObservedexportclassListInfo{//列表项数据结构icon:ResourceStr='';//图标资源name:Resource</div>
                    </li>
                    <li><a href="/article/1903823884923236352.htm"
                           title="181.HarmonyOS NEXT系列教程之列表交换组件整体架构详解" target="_blank">181.HarmonyOS NEXT系列教程之列表交换组件整体架构详解</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>温馨提示:本篇博客的详细代码已发布到git:https://gitcode.com/nutpi/HarmonyosNext可以下载运行哦!HarmonyOSNEXT系列教程之列表交换组件整体架构详解效果演示1.组件概述1.1功能介绍ListExchangeViewComponent是一个支持列表项交换和删除的自定义组件,主要用于实现如扣款列表等场景。主要功能包括:列表项拖拽排序滑动删除自定义列表项</div>
                    </li>
                    <li><a href="/article/1903791657992646656.htm"
                           title="C语言_数据结构总结8:链式队列" target="_blank">C语言_数据结构总结8:链式队列</a>
                        <span class="text-muted">*.✧屠苏隐遥(ノ◕ヮ◕)ノ*.✧</span>
<a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E2%80%94%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/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/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/visualstudio/1.htm">visualstudio</a><a class="tag" taget="_blank" href="/search/visual/1.htm">visual</a><a class="tag" taget="_blank" href="/search/studio/1.htm">studio</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a>
                        <div>纯C语言实现,不涉及C++链队列队列的链式表示称为链队列,它实际上是一个同时具有队头指针和队尾指针的单链表,头指针指向对头结点,尾指针指向队尾结点。头结点是链式队列中的特殊结点,通常不存储实际的队列元素数据,其主要作用是方便对队列的操作,例如在进行入队、出队操作时,可以统一操作逻辑,无需特殊处理队列为空的情况。它作为队列的头部标识,其next指针指向队列中的第一个真正存储数据的结点。尾结点(注意区</div>
                    </li>
                    <li><a href="/article/1903721531385638912.htm"
                           title="HarmonyOS Next 应用性能优化实战" target="_blank">HarmonyOS Next 应用性能优化实战</a>
                        <span class="text-muted">SameX-4869</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)中应用性能优化的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、性能评估指标与工具(一)关键性能评估指标CPU使用率CPU使用率是衡量应用在运行过程中对CPU资源占用情况的重要指标。一个高效的Ha</div>
                    </li>
                    <li><a href="/article/1903721404994482176.htm"
                           title="HarmonyOS Next 企业级移动办公应用构建" target="_blank">HarmonyOS Next 企业级移动办公应用构建</a>
                        <span class="text-muted">SameX-4869</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)在企业级移动办公应用构建中的应用,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:应用场景与架构规划一、常见应用场景及要求任务管理在企业办公中,任务管理是核心场景之一。员工需要能够创建任务,详细描述任务</div>
                    </li>
                    <li><a href="/article/1903718117612253184.htm"
                           title="鸿蒙NEXT开发【崩溃监测实践】开发运维" target="_blank">鸿蒙NEXT开发【崩溃监测实践】开发运维</a>
                        <span class="text-muted">沙人防火历飞雨</span>
<a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E6%97%A5%E5%B8%B8/1.htm">开发日常</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%B3%BB%E7%BB%9F/1.htm">鸿蒙系统</a><a class="tag" taget="_blank" href="/search/%E6%80%A7%E8%83%BD%E4%BC%98%E5%8C%96/1.htm">性能优化</a>
                        <div>概述崩溃(Crash)指的是应用程序在运行过程中突然停止运行或出现错误导致程序无法正常继续执行。崩溃率作为衡量应用质量的重要指标之一,监测崩溃点,解决崩溃问题,对维护应用的稳定性有着诸多方面的意义:用户体验:崩溃会直接影响用户体验,操作程序时突然Crash,可能导致用户不再打开应用、卸载应用。用户留存率:在同质化的市场竞争中,稳定的应用程序能够吸引用户并提高用户留存率,而崩溃率低就意味着应用的稳定</div>
                    </li>
                    <li><a href="/article/1903609302187307008.htm"
                           title="C# 调用 VITS,推理模型 将文字转wav音频调试 -数字人分支" target="_blank">C# 调用 VITS,推理模型 将文字转wav音频调试 -数字人分支</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/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E4%BA%BA/1.htm">数字人</a>
                        <div>Microsoft.ML.OnnxRuntime.OnnxRuntimeException:[ErrorCode:InvalidArgument]Inputname:'input_name'isnotinthemetadata在Microsoft.ML.OnnxRuntime.InferenceSession.LookupInputMetadata(StringnodeName)位置D:\a\_w</div>
                    </li>
                    <li><a href="/article/1903601352584523776.htm"
                           title="sql2019安装重启计算机失败,SQL SERVER 2019安装失败" target="_blank">sql2019安装重启计算机失败,SQL SERVER 2019安装失败</a>
                        <span class="text-muted">小蛋子儿哦</span>

                        <div>Detailedresults:Feature:全文和语义提取搜索Status:失败Reasonforfailure:该功能的某个依赖项出错,导致该功能的安装过程失败。NextStep:使用以下信息解决错误,卸载此功能,然后再次运行安装过程。Componentname:SQLServer数据库引擎服务实例功能Componenterrorcode:0x80004005Errordescription</div>
                    </li>
                    <li><a href="/article/1903475329725427712.htm"
                           title="【YOLOv8】YOLOv8改进系列(9)----替换主干网络之RepViT" target="_blank">【YOLOv8】YOLOv8改进系列(9)----替换主干网络之RepViT</a>
                        <span class="text-muted">HABuo</span>
<a class="tag" taget="_blank" href="/search/YOLOv8%E5%85%A5%E9%97%A8%2B%E6%94%B9%E8%BF%9B/1.htm">YOLOv8入门+改进</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E7%9B%AE%E6%A0%87%E6%A3%80%E6%B5%8B/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/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89/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>主页:HABUO主页:HABUOYOLOv8入门+改进专栏如果再也不能见到你,祝你早安,午安,晚安【YOLOv8改进系列】:【YOLOv8】YOLOv8结构解读YOLOv8改进系列(1)----替换主干网络之EfficientViTYOLOv8改进系列(2)----替换主干网络之FasterNetYOLOv8改进系列(3)----替换主干网络之ConvNeXtV2YOLOv8改进系列(4)----</div>
                    </li>
                    <li><a href="/article/1903389730641342464.htm"
                           title="HarmonyOS Next~HarmonyOS应用开发工具之AppGallery Connect" target="_blank">HarmonyOS Next~HarmonyOS应用开发工具之AppGallery Connect</a>
                        <span class="text-muted">Bruce_xiaowei</span>
<a class="tag" taget="_blank" href="/search/%E6%80%BB%E7%BB%93%E7%BB%8F%E9%AA%8C/1.htm">总结经验</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>HarmonyOS应用开发工具之AppGalleryConnect一、AppGalleryConnect概述1.1定位与核心价值AppGalleryConnect(AGC)是华为面向HarmonyOS开发者打造的全生命周期服务平台,作为HarmonyOS应用开发的核心工具链,提供从开发、测试、上架到运营的全流程支持。其核心价值体现在:服务集成化:聚合40+云端服务能力开发效率提升:平均缩短30%开</div>
                    </li>
                    <li><a href="/article/1903358085741735936.htm"
                           title="HarmonyOS Next 安全机制深度剖析" target="_blank">HarmonyOS Next 安全机制深度剖析</a>
                        <span class="text-muted">SameX-4869</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的安全机制相关技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。第一章:安全体系架构一、整体架构介绍HarmonyOSNext的安全体系架构犹如一座坚固的城堡,从多个层面为系统和应用提供全方位的保护。它</div>
                    </li>
                    <li><a href="/article/1903350778198814720.htm"
                           title="Android Google Pay接入" target="_blank">Android Google Pay接入</a>
                        <span class="text-muted">2401_87017192</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a>
                        <div>//TheBillingClientisready.Youcanquerypurchaseshere.}}@OverridepublicvoidonBillingServiceDisconnected(){//Trytorestarttheconnectiononthenextrequestto//GooglePlaybycallingthestartConnection()method.}});</div>
                    </li>
                    <li><a href="/article/1903341068838039552.htm"
                           title="(链表)19. 删除链表的倒数第 N 个结点" target="_blank">(链表)19. 删除链表的倒数第 N 个结点</a>
                        <span class="text-muted">蹉跎x</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%9B%E6%89%A3/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/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a>
                        <div>给你一个链表,删除链表的倒数第n个结点,并且返回链表的头结点。示例1:输入:head=[1,2,3,4,5],n=2输出:[1,2,3,5]示例2:输入:head=[1],n=1输出:[]示例3:输入:head=[1,2],n=1输出:[1]提示:链表中结点的数目为sz1next=head;intcnt=-1;ListNode*cur=dummyhead;while(cur!=nullptr){c</div>
                    </li>
                    <li><a href="/article/1903329573253214208.htm"
                           title="鸿蒙NEXT版实战开发:使用WebRTC进行Web视频会议" target="_blank">鸿蒙NEXT版实战开发:使用WebRTC进行Web视频会议</a>
                        <span class="text-muted">那只斑马不睡觉</span>
<a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%995.0/1.htm">鸿蒙5.0</a><a class="tag" taget="_blank" href="/search/ArkWeb/1.htm">ArkWeb</a><a class="tag" taget="_blank" href="/search/OpenHarmony/1.htm">OpenHarmony</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/ArkWeb/1.htm">ArkWeb</a>
                        <div>往期鸿蒙全套实战精彩文章必看内容:鸿蒙开发核心知识点,看这篇文章就够了最新版!鸿蒙HarmonyOSNext应用开发实战学习路线鸿蒙HarmonyOSNEXT开发技术最全学习路线指南鸿蒙应用开发实战项目,看这一篇文章就够了(部分项目附源码)使用WebRTC进行Web视频会议Web组件可以通过W3C标准协议接口拉起摄像头和麦克风。开发者在使用该功能时,需配置ohos.permission.CAMER</div>
                    </li>
                    <li><a href="/article/1903314437146734592.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/%E9%93%BE%E8%A1%A8/1.htm">链表</a>
                        <div>#include#include#include//定义节点类型typedefintdata_t;typedefstructnode{data_tdata;//以整型数据为例structnode*prev;//指向structnode点的指针structnode*next;//指向structnode点的指针}node_t;intdlist_create(node_t**,data_t);//函数</div>
                    </li>
                    <li><a href="/article/1903284548989415424.htm"
                           title="Next:Error: Image with src “https://via.placeholder.com/50“ is missing required “height“ property." target="_blank">Next:Error: Image with src “https://via.placeholder.com/50“ is missing required “height“ property.</a>
                        <span class="text-muted">dingcho</span>
<a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/SEO/1.htm">SEO</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/mui/1.htm">mui</a>
                        <div>在Next.js中使用next/image组件时,需要同时提供width和height属性,或者使用fill属性。你遇到的错误提示表明缺少height属性,下面是修正后的代码:setIsLoading(false)}onError={()=>setIsLoading(false)}/></div>
                    </li>
                    <li><a href="/article/1903262215025258496.htm"
                           title="鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战" target="_blank">鸿蒙HarmonyOS应用开发 |鸿蒙技术分享HarmonyOS Next 深度解析:分布式能力与跨设备协作实战</a>
                        <span class="text-muted">一键难忘</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</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/%E5%8D%8E%E4%B8%BA/1.htm">华为</a><a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/Next/1.htm">Next</a>
                        <div>鸿蒙技术分享:HarmonyOSNext深度解析:分布式能力与跨设备协作实战随着万物互联时代的到来,操作系统作为连接设备、应用与用户体验的核心,扮演着不可或缺的角色。华为最新发布的HarmonyOSNext(鸿蒙操作系统下一代版本)不仅在技术架构上实现了颠覆性升级,更在生态体验上迈向了一个新的高度。本文将从技术架构、生态优势和开发实践三个方面深入探讨HarmonyOSNext的技术特点,并通过一个</div>
                    </li>
                    <li><a href="/article/1903204051105935360.htm"
                           title="鸿蒙特效教程09-深入学习animateTo动画" target="_blank">鸿蒙特效教程09-深入学习animateTo动画</a>
                        <span class="text-muted">苏杰豪</span>
<a class="tag" taget="_blank" href="/search/HarmonyOS/1.htm">HarmonyOS</a><a class="tag" taget="_blank" href="/search/Next/1.htm">Next</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99%E7%89%B9%E6%95%88%E6%95%99%E7%A8%8B/1.htm">鸿蒙特效教程</a><a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</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%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>鸿蒙特效教程09-深入学习animateTo动画本教程将带领大家从零开始,一步步讲解如何讲解animateTo动画,并实现按钮交互效果,使新手也能轻松掌握。效果演示通过两个常见的按钮动画效果,深入学习HarmonyOSNext的animateTo动画,以及探索最佳实践。缩放按钮效果抖动按钮效果一、基础准备1.1理解ArkUI中的动画机制HarmonyOS的ArkUI框架提供了强大的动画支持,常见有</div>
                    </li>
                    <li><a href="/article/1903196982021779456.htm"
                           title="HarmonyOS NEXT开发实战教程:选择相册和拍照" target="_blank">HarmonyOS NEXT开发实战教程:选择相册和拍照</a>
                        <span class="text-muted">幽蓝计划</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>今天的内容是介绍在鸿蒙开发中从相册选择照片,和调用相机拍照,并使用这两个功能实现朋友圈编辑页面。这部分内容没什么好废话的,都是固定用法,直接上代码。首先添加权限:ohos.permission.CAMERA选择相册:asyncgetAlbum(){constphotoSelectOptions=newphotoAccessHelper.PhotoSelectOptions();photoSelec</div>
                    </li>
                    <li><a href="/article/1903193577098375168.htm"
                           title="HarmonyOS Next 企业级分布式办公应用实战:构建高效协同的办公新生态" target="_blank">HarmonyOS Next 企业级分布式办公应用实战:构建高效协同的办公新生态</a>
                        <span class="text-muted">lyc233333</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</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/%E5%8D%8E%E4%B8%BA/1.htm">华为</a>
                        <div>在数字化办公浪潮汹涌的当下,企业对于高效、便捷且协同性强的办公应用需求愈发迫切。华为鸿蒙HarmonyOSNext系统凭借其先进的分布式技术,为打造创新型企业级分布式办公应用提供了坚实的基础。本文将基于实际开发经验,深入剖析如何利用HarmonyOSNext构建企业级分布式办公应用,涵盖从需求分析到系统架构搭建,再到核心功能实现以及性能优化等关键环节。一、办公应用需求与系统架构搭建(一)企业级分布</div>
                    </li>
                    <li><a href="/article/1903191686176108544.htm"
                           title="鸿蒙Next开发实战教程-使用WebSocket实现即时聊天" target="_blank">鸿蒙Next开发实战教程-使用WebSocket实现即时聊天</a>
                        <span class="text-muted">幽蓝计划</span>
<a class="tag" taget="_blank" href="/search/harmonyos/1.htm">harmonyos</a><a class="tag" taget="_blank" href="/search/%E9%B8%BF%E8%92%99/1.htm">鸿蒙</a>
                        <div>鸿蒙系统提供了WebSocket库,使用它可以很方面的实现即时聊天功能,今天就使用WebSocket来实现一个完整的聊天功能。首先创建一个WebSocket实例:letws=webSocket.createWebSocket()然后创建WebSocket连接,我找到一个简单的ws地址,它直接返回我们发送的消息:leturl='ws://124.222.224.186:8800'this.ws.co</div>
                    </li>
                    <li><a href="/article/1903191536925995008.htm"
                           title="HarmonyOS Next--实现炫酷下拉刷新与上拉加载" target="_blank">HarmonyOS Next--实现炫酷下拉刷新与上拉加载</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/harmonyos-next/1.htm">harmonyos-next</a>
                        <div>摘要:本文通过HarmonyOS的PullToRefresh组件,结合Canvas绘图技术,实现具有动态小球特效的下拉刷新与上拉加载功能。文章将详细解析动画绘制原理、手势交互逻辑以及性能优化要点。一、效果预览实现功能包含:弹性下拉刷新:带有透明度渐变的圆形聚合动画波浪加载动画:三个小球按序弹跳的加载效果数据动态加载:模拟异步数据请求与列表更新流畅交互体验:支持列表惯性滑动与边缘回弹二、核心实现原理</div>
                    </li>
                    <li><a href="/article/1903172006841479168.htm"
                           title="cesium 文字避让" target="_blank">cesium 文字避让</a>
                        <span class="text-muted">花归去</span>
<a class="tag" taget="_blank" href="/search/cesium/1.htm">cesium</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a>
                        <div>token记得换成您自己的!!!申请cesium的token官网【Cesium:ThePlatformfor3DGeospatial】>import*asCesiumfrom'cesium';import{onMounted,reactive,ref,computed,nextTick}from'vue';//地图实例letviewer:any;constshowText=()=>{viewer.</div>
                    </li>
                    <li><a href="/article/1903147779857903616.htm"
                           title="力扣刷题|链表面试题 02.02. 返回倒数第 k 个节点" target="_blank">力扣刷题|链表面试题 02.02. 返回倒数第 k 个节点</a>
                        <span class="text-muted">柯ran</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%9B%E6%89%A3/1.htm">力扣</a><a class="tag" taget="_blank" href="/search/leetcode/1.htm">leetcode</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E9%93%BE%E8%A1%A8/1.htm">链表</a>
                        <div>题目:实现一种算法,找出单向链表中倒数第k个节点。返回该节点的值。快慢指针思想,画图更容易理解/***Definitionforsingly-linkedlist.*structListNode{*intval;*structListNode*next;*};*/intkthToLast(structListNode*head,intk){assert(head!=NULL);if(head==N</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>