基于Hexo和Butterfly创建个人技术博客,(3) 创建博客文章及文章模板配置

Hexo官司网查看 这里
笔者个人站查看 这里

特别说明:

  1. hexo博客站点发布的文件全是静态文件,没有任何后台服务。博文的发布过程是:1、在本地用hexo new命令创建.md文件----2、经hexo g命令生成.html文件-----3、再通过hexo d命令发布到远程主机上上面。
    a、第1步中可以用其它格式文件编写,但需要安装对应的处理引擎;
    b、第3步中发布过程视情况而定,也可以选择手动上传等;

最佳实践:建议有技术能力的同学可以把生成的文件用git做下版本管理,然后按需增量部署而不是每次全量覆盖(这个话题会在高级内容中详细描述如何操作),这样可以避免破坏原有积累的一些数据,比如访问次数等统计信息;

本章目标:
掌握如何创建新博客文章的方法

一、概述

文章可以手动创建,也可以通过hexo new命令创建,创建文章的命令是hexo new。hexo官方建议的流程如下:
基于Hexo和Butterfly创建个人技术博客,(3) 创建博客文章及文章模板配置_第1张图片

  1. 首先确定layout模板,模板中定义的内容可以认为是一种公共内容的提取,模板的内容称为Front-matter,在创建文章时会自动添加到新文件中。hexo自带了三种模板(可按实际情况修改):page、post、draft。
    • page:用于创建列表页;
    • post:用于创建具体的博客文章;
    • dratf:用于创建草稿(一般不太用)。
  2. 使用 hexo new命令创建文章。

二、创建模板

模板的概念
所谓的layout模板就是schffolds文件夹下面的.md文件,在新建文章时Hexo 会把 scaffolds 文件夹内相对应的文件添加到新文件的头部,Hexo 有三种默认模板:postpagedraft,区别是创建文章后会被保存到不同的路径;

  1. layout可以自定义,自定义的其他布局和 post 相同,都将储存到 source/_posts 文件夹。
  2. 如果修改文章的 front-matter 设置 layout: false,则不会使用任何一种布局了。
  3. layout不是必须的,它只是一种创建文章的快捷方式。但还是建议掌握这个流程,可以节省很多时间。
布局 生成的.md文章存放路径
post /source/_posts
page /source
draft /source/_drafts

简单模板
模板可使用全局变量,在Tags Plugin语法一章中会详细讲解,一个简单的post.md模板定义如下,其它可配置的属性见下节Front-matter:

---
title: {{ title }}
date: {{ date }}
comments: false
---

自定义模板
一个自定义layout的例子,photo是一个自定义的布局,Hexo 会尝试在 scaffolds 文件夹中寻找 photo.md,如果没有找到会忽略掉,然后文章文件保存到source/_posts 文件夹中,但需要注意其front-matter的值为photo,建议修改成正确的值。

$ hexo new photo "My Gallery"

2.1、Front-matter配置说明

Front-matter 是文章(.md)文件最上方以 --- 分隔的区域,用于设置文章的属性,此处是hexo默认的属性,在butterfly主题中又扩展了一部分,在后面章节会详细描述:

---
title: Hello World
date: 2013/7/13 20:46:25
---
参数 描述 默认值
layout 布局 config.default_layout
title 标题 文章的文件名
date 建立日期 文件建立日期
updated 更新日期 文件更新日期
comments 开启文章的评论功能 true
tags 标签(不适用于分页)
categories 分类(不适用于分页)
permalink 覆盖文章的永久链接,永久链接应该以 /.html 结尾 null
excerpt 纯文本的页面摘要。
disableNunjucks 启用时禁用 Nunjucks 标签 {{ }}/{% %} 和 标签插件的渲染功能 false
lang 设置代码块语言以自动检测功能 继承自 _config.yml

2.2、categories和tags配置

只有文章支持分类和标签,在 Hexo 中分类具有顺序性和层次性,也就是说 Foo, Bar 不等于 Bar, Foo;而标签没有顺序和层次。

categories:
- Diary
tags:
- PS3
- Games

为文章添加多个分类,可以尝试以下 list 中的方法。此时这篇文章同时包括三个分类: PlayStation 和 Games 分别都是父分类 Diary 的子分类,同时 Life 是一个没有子分类的分类。

categories:
- [Diary, PlayStation]
- [Diary, Games]
- [Life]

2.3、模板示例

page

---
title: {{ title }}
date: {{ date }}
reward:
description:
top_img:  # butterfly主题扩展,用于设置文章顶图用,后面的文章中会详细说明
comments: false
---

post

---
title: {{ title }}
date: {{ date }}
tags:
categories:
keywords:
description:
top_img:  # butterfly主题扩展,用于设置文章顶图用,后面的文章中会详细说明
cover:    # butterfly主题扩展,用于设置文章顶图用,后面的文章中会详细说明
comments: false
---

dratf

---
title: {{ title }}
tags:
---

因模板可以后期再修改,所以建站初期建议用上述示例模板就可以了,不需要定义的太复杂,在建站过程中逐渐优化。

三、创建新文章

使用如下命令:

$ hexo new [layout] <title>

文件默认支持: markdown、ejs、pug三种不同格式来编写。

3.1、创建新文章

如果不指定layout,则默认为 post,是由 _config.yml 中的 default_layout 参数来指定的。如果标题包含空格的话,请使用引号括起来。

创建两次同名的文件,生成的.md文件不会覆盖。hexo会自动在文件名后加索引:但要注意,经hexo g生成的.html文件的实际链接与 permalink 的配置有关

示例如下:

/source目录下
#创建文件:/source/_posts/test.md
$ hexo new post test

#创建文件: source/_posts/about/me.md  (在source目录下创建子目录)
$ hexo new page --path about/me 

在网站根目录下
#创建文件: /source/about/me.md  (在根目录下)
$ hexo new page --path about/me "About me"

3.2、创建列表页

如果选择layout==post一般是创建博文使用,如果选择page模板则一般是创建列表页面或其它特殊的页面,示例如下:

#创建文件:/source/tags/index.md  
$ hexo new page tags
#创建文件:/source/link/index.md 
$ hexo new page link
#创建文件:/source/categories/index.md 
$ hexo new page categories

3.3、创建草稿(不太建议使用)

创建文件时指定布局为:draft后,文件会被保存到 source/_drafts 文件夹,再通过 publish 命令将草稿移动到 source/_posts 文件夹中:

$ hexo publish [layout] <title>

四、 文件名称设置

Hexo 默认以标题做为文章文件的名称,由参数new_post_name: title.md指定。举例来说,设为 :year-:month-:day-:title.md 可让您更方便的通过日期来管理文章,可以使用以下占位符:

变量 描述
:title 标题(小写,空格将会被替换为短杠)
:year 建立的年份,比如, 2015
:month 建立的月份(有前导零),比如, 04
:i_month 建立的月份(无前导零),比如, 4
:day 建立的日期(有前导零),比如, 07
:i_day 建立的日期(无前导零),比如, 7

文件名称设置修改后不会对网站运行产生任何影响,只会对后续文件命名规则有影响,建议保持默认值即可。

五、引用数据共享

本小节严格来说是属于文章编辑的部分。笔者想了想还是按文章编写和资源使用这两个维度来区分,把共享数据和模板归为同一类别。但又与后续tag plugin有些联系所以有意放在此章末尾来讲解。

5.1、数据共享

如果某些数据是需要重复使用的,可以考虑使用「数据文件」功能。此功能会载入 source/_data 内的 YAML 或 JSON 文件。举例来说,在 source/_data 文件夹中新建 menu.yml 文件,内容如下:

Home: /
Gallery: /gallery/
Archives: /archives/

您就能在模板中使用这些数据了:

<% for (var link in site.data.menu) { %>
  <a href="<%= site.data.menu[link] %>"> <%= link %> a>
<% } %>

渲染结果如下 :

<a href="/"> Home a>
<a href="/gallery/"> Gallery a>
<a href="/archives/"> Archives a>

5.2、资源共享

此处没有明确编码方法会比较迷糊,先了解下概念,详细使用方法可参考 hexo文章编写之Tags Plugin语法 文章中对图片和资源的用法描述,

1.全局资源

Asset 代表 source 文件夹中除了文章以外的所有文件,例如图片、CSS、JS 文件等。比方说,如果你的Hexo项目中只有少量图片,那最简单的方法就是将它们放在 source/images 文件夹中。然后通过类似于 ![](/images/image.jpg) 的方法访问它们。

2.文章专用资源

如果资源只给特定的文章使用,可以将 config.yml 文件中的 post_asset_folder 选项设为 true,然后在每一次通过 hexo new [layout] </code> 命令创建新文章时自动创建一个与文章<code>title</code>同名的文件夹,然后就可以把有关的资源放在这个关联文件夹中,再通过相对路径来引用它们</p> <pre><code class="prism language-yaml"><span class="token key atrule">post_asset_folder</span><span class="token punctuation">:</span> <span class="token boolean important">true</span> </code></pre> <p>但要注意这需要用到Hexo专用的tag语法,比方法:把一个 <code>example.jpg</code> 图片放在了你的资源文件夹中,使用时不能使用 <code>[](example.jpg)</code>,而要使用<code>![](example.jpg)</code>。</p> <h2>5.3、资源引用方法</h2> <h3>1.AssetTag相对路径引用方法</h3> <p>通过常规的 markdown 语法和相对路径来引用图片和其它资源可能会导致它们在存档页或者主页上显示不正确。在Hexo 2时代,社区创建了很多插件来解决这个问题。但是,随着Hexo 3 的发布,许多新的标签插件被加入到了核心代码中。这使得你可以更简单地在文章中引用你的资源。</p> <pre><code>{% asset_path slug %} {% asset_img slug [title] %} {% asset_link slug [title] %} </code></pre> <p>正确的引用图片方式是使用下列的标签插件而不是 markdown语法,通过这种方式,图片将会同时出现在文章和主页以及归档页中。</p> <pre><code class="prism language-markup">{% asset_img example.jpg This is an example image %} </code></pre> <h3>2.Markdown 相对路径引用方法</h3> <p>这需要一个插件<code>$ npm install hexo-renderer-marked --save</code>,默认是安装的了,安装后就无须使用<code>asset_img</code>标签了。需先配置一下:</p> <pre><code class="prism language-yml"><span class="token comment">#_config.yml</span> <span class="token key atrule">post_asset_folder</span><span class="token punctuation">:</span> <span class="token boolean important">true</span> <span class="token key atrule">marked</span><span class="token punctuation">:</span> <span class="token key atrule">prependRoot</span><span class="token punctuation">:</span> <span class="token boolean important">true</span> <span class="token key atrule">postAsset</span><span class="token punctuation">:</span> <span class="token boolean important">true</span> </code></pre> <p>启用后,资源图片将会被自动解析为其对应文章的路径。例如: <code>image.jpg</code> 位置为 <code>/2020/01/02/foo/image.jpg</code> ,这表示它是 <code>/2020/01/02/foo/</code> 文章的一张资源图片, <code>![](image.jpg)</code> 将会被解析为 <code><img src="/2020/01/02/foo/image.jpg"></code> 。</p> <h1>六、测试新文章</h1> <p>此时还没有配置路径,所以我们可以在流量器上手写URL,比如:</p> <pre><code class="prism language-bash"><span class="token variable">$hexo</span> new page <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token comment">#新创建一个名为test的文件</span> <span class="token variable">$hexo</span> g <span class="token comment">#生成html</span> <span class="token variable">$hexo</span> server --debug <span class="token comment">#启动服务</span> </code></pre> <blockquote> <p>在/public/posts/文件夹下查找test.html,然后修改浏览器的Url即可查看,此时也可以修改test.md文件,刷新浏览器会自动更新。</p> </blockquote> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1668473179246518272"></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建站,hexo,个人博客,程序人生,butterfly,技术博客)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1890959884724269056.htm" title="no matching cipher found问题一次解决经历" target="_blank">no matching cipher found问题一次解决经历</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>个人博客地址:nomatchingcipherfound问题一次解决经历|一张假钞的真实世界本次问题解决纯属蒙对了,原理不清楚。当我从一台CentOS7.3的服务器通过ssh登录另外一台CentOS6.8的服务器时出现以下错误信息:[root@192-168-72-75.ssh]#ssh-p65522bddev@192.168.72.208nomatchingcipherfound:clienta</div> </li> <li><a href="/article/1890848536275251200.htm" title="org.apache.kafka.common.errors.TimeoutException" target="_blank">org.apache.kafka.common.errors.TimeoutException</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>个人博客地址:org.apache.kafka.common.errors.TimeoutException|一张假钞的真实世界使用kafka-console-producer.sh向远端Kafka写入数据时遇到以下错误:$bin/kafka-console-producer.sh--broker-list172.16.72.202:9092--topictestThisisamessage[20</div> </li> <li><a href="/article/1890824708744605696.htm" title="双端搭建个人博客" target="_blank">双端搭建个人博客</a> <span class="text-muted">宇宙第一小趴菜</span> <a class="tag" taget="_blank" href="/search/Vmware/1.htm">Vmware</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/wordpress/1.htm">wordpress</a> <div>1.准备工作确保你的两个虚拟机都安装了以下软件:虚拟机1(Web服务器):Apache2,PHP虚拟机2(数据库服务器):MariaDB2.安装步骤虚拟机1(Web服务器)安装Apache2和PHP更新系统包列表:sudoaptupdate安装Apache2:sudoaptinstallapache2</div> </li> <li><a href="/article/1890626862875471872.htm" title="走进Java:JDK和JRE分别是什么?它们有什么区别?" target="_blank">走进Java:JDK和JRE分别是什么?它们有什么区别?</a> <span class="text-muted">老鼠只爱大米</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Java%E9%9D%A2%E8%AF%95/1.htm">Java面试</a><a class="tag" taget="_blank" href="/search/Java%E9%9D%A2%E8%AF%95%E6%94%BB%E7%95%A5/1.htm">Java面试攻略</a><a class="tag" taget="_blank" href="/search/Java%E9%AB%98%E9%A2%91%E9%9D%A2%E8%AF%95%E9%A2%98/1.htm">Java高频面试题</a><a class="tag" taget="_blank" href="/search/JRE/1.htm">JRE</a><a class="tag" taget="_blank" href="/search/JDK/1.htm">JDK</a> <div>目录引言一、概述二、JRE(JavaRuntimeEnvironment)三、JDK(JavaDevelopmentKit)四、安装和配置五、区别和联系六、总结引言  Java是一门非常流行的编程语言,被广泛应用于各个领域的软件开发。在Java开发中,JRE和JDK是两个重要的概念,它们有着不同的作用和功能。本篇技术博客将会介绍JRE和JDK的概念、组成部分、安装和配置、以及它们之间的区别和联系。</div> </li> <li><a href="/article/1890420169667309568.htm" title="04-多核多cluster多系统之间缓存一致性概述" target="_blank">04-多核多cluster多系统之间缓存一致性概述</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a><a class="tag" taget="_blank" href="/search/DSU/1.htm">DSU</a><a class="tag" taget="_blank" href="/search/arm/1.htm">arm</a><a class="tag" taget="_blank" href="/search/MMU/1.htm">MMU</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/armv9/1.htm">armv9</a> <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:联系方式-加入交流群----联系方式-加入交流群个人博客笔记导读目录(全部)引流关键词:缓存,高速缓存,cache,CCI,CMN,CCI-550,CCI-500,DSU,SCU,L1,L2,L3,systemcache,Non-cacheable,Cacheable,non-shareable,inner-</div> </li> <li><a href="/article/1890347904741208064.htm" title="【Unity3D小功能】Unity3D中有限状态机的简单实现" target="_blank">【Unity3D小功能】Unity3D中有限状态机的简单实现</a> <span class="text-muted">恬静的小魔龙</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Unity3D%E4%B9%8B%E5%AE%9E%E7%94%A8%E5%8A%9F%E8%83%BD%E5%8F%8A%E6%8A%80%E5%B7%A7/1.htm">Unity3D之实用功能及技巧</a><a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E6%9C%89%E9%99%90%E7%8A%B6%E6%80%81%E6%9C%BA/1.htm">有限状态机</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a> <div>推荐阅读CSDN主页GitHub开源地址Unity3D插件分享简书地址我的个人博客QQ群:1040082875一、前言Hello,大家好,我是☆恬静的小魔龙☆,正所谓学而不思则罔,思而不学则殆,最近项目开发中,人物的动作特别多,用状态机去切换感觉太麻烦,然后切换的效果也并不理想。比如下面的状态机:</div> </li> <li><a href="/article/1890246286825811968.htm" title="一周掌握 Java 入门知识" target="_blank">一周掌握 Java 入门知识</a> <span class="text-muted">bavDHAUO</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>学习目标:提示:这里可以添加学习目标例如:一周掌握Java入门知识学习内容:提示:这里可以添加要学的内容例如:搭建Java开发环境掌握Java基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上7点—晚上9点周六上午9点-上午11点周日下午3点-下午6点学习产出:提示:这里统计学习计划的总量例如:技术笔记2遍CSDN技术博客3篇习的vlog视频1个</div> </li> <li><a href="/article/1890167986988314624.htm" title="一周掌握 Java 入门知识" target="_blank">一周掌握 Java 入门知识</a> <span class="text-muted">scaFHIO</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>学习目标:提示:这里可以添加学习目标例如:一周掌握Java入门知识学习内容:提示:这里可以添加要学的内容例如:搭建Java开发环境掌握Java基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上7点—晚上9点周六上午9点-上午11点周日下午3点-下午6点学习产出:提示:这里统计学习计划的总量例如:技术笔记2遍CSDN技术博客3篇习的vlog视频1个</div> </li> <li><a href="/article/1890160672222801920.htm" title="一周掌握 Java 入门知识" target="_blank">一周掌握 Java 入门知识</a> <span class="text-muted">eahba</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>学习目标:提示:这里可以添加学习目标例如:一周掌握Java入门知识学习内容:提示:这里可以添加要学的内容例如:搭建Java开发环境掌握Java基本语法掌握条件语句掌握循环语句学习时间:提示:这里可以添加计划学习的时间例如:周一至周五晚上7点—晚上9点周六上午9点-上午11点周日下午3点-下午6点学习产出:提示:这里统计学习计划的总量例如:技术笔记2遍CSDN技术博客3篇习的vlog视频1个</div> </li> <li><a href="/article/1890130645334683648.htm" title="linux下安装ROOT过程" target="_blank">linux下安装ROOT过程</a> <span class="text-muted">孽小倩</span> <a class="tag" taget="_blank" href="/search/ROOT/1.htm">ROOT</a><a class="tag" taget="_blank" href="/search/root/1.htm">root</a><a class="tag" taget="_blank" href="/search/cern/1.htm">cern</a><a class="tag" taget="_blank" href="/search/root/1.htm">root</a><a class="tag" taget="_blank" href="/search/%E6%95%99%E7%A8%8B/1.htm">教程</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E8%A3%85/1.htm">安装</a><a class="tag" taget="_blank" href="/search/linu/1.htm">linu</a> <div>内容已迁移至个人博客:blog.whatsroot.xyz/2014/11/20/root-install/</div> </li> <li><a href="/article/1890053438876741632.htm" title="手把手教你给 windows装个vmware虚拟机" target="_blank">手把手教你给 windows装个vmware虚拟机</a> <span class="text-muted">python算法小白</span> <div>附Java/C/C++/机器学习/算法与数据结构/前端/安卓/Python/程序员必读书籍书单大全:书单导航页(点击右侧极客侠栈即可打开个人博客):极客侠栈①【Java】学习之路吐血整理技术书从入门到进阶最全50+本(珍藏版)②【算法数据结构+acm】从入门到进阶吐血整理书单50+本(珍藏版)③【数据库】从入门到进阶必读18本技术书籍网盘吐血整理网盘(珍藏版)④【Web前端】从HTML到JS到AJ</div> </li> <li><a href="/article/1890031628932149248.htm" title="scala kotlin比较_追随 Kotlin/Scala,看 Java 12-15 的现代语言特性" target="_blank">scala kotlin比较_追随 Kotlin/Scala,看 Java 12-15 的现代语言特性</a> <span class="text-muted">weixin_39605296</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/kotlin%E6%AF%94%E8%BE%83/1.htm">kotlin比较</a><a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/%E6%8E%A5%E5%8F%97java/1.htm">接受java</a><a class="tag" taget="_blank" href="/search/string/1.htm">string</a> <div>本文原发于我的个人博客:https://hltj.me/java/2020/06/14/java-12-15-lang-features.html。本副本只用于知乎,禁止第三方转载。Java14发布已经过去了三个月,Java15目前也已经到了“RampdownPhaseOne”阶段,其新特性均已敲定。由于12-15都是短期版本,无需考虑也不应该将其用于生产环境。但可以提前了解新特性,以免在下一个L</div> </li> <li><a href="/article/1889795846715797504.htm" title="JavaScript设计模式—单例模式" target="_blank">JavaScript设计模式—单例模式</a> <span class="text-muted">Hanpeng Chen</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/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/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>作者:Hanpeng_Chen公众号:前端极客技术文章首发个人博客:JavaScript设计模式—单例模式|代码视界在上一篇文章《JavaScript设计模式——工厂模式》中我们一起学习了工厂模式,接下来我们一起来学习另一种设计模式——单例模式。定义单例模式:保证一个类只有一个实例,并提供一个访问它的全局访问点。无论创建多少次,都只返回第一次所创建的那唯一的一个实例。单例模式是创建型设计模式的一种</div> </li> <li><a href="/article/1889773780214018048.htm" title="ARM trustzone的安全扩展介绍-一篇就够了" target="_blank">ARM trustzone的安全扩展介绍-一篇就够了</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/Trustzone/1.htm">Trustzone</a><a class="tag" taget="_blank" href="/search/arm/1.htm">arm</a><a class="tag" taget="_blank" href="/search/ATF/1.htm">ATF</a><a class="tag" taget="_blank" href="/search/optee/1.htm">optee</a><a class="tag" taget="_blank" href="/search/armv8/1.htm">armv8</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a> <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:联系方式-加入交流群----联系方式-加入交流群个人博客笔记导读目录(全部)文章目录1、背景:2、ARMTrustzone的安全扩展简介3、ARMTrustzone的安全扩展详细解剖3.1AMBA-AXI对Trustzone的支持3.2Processor的SCR.NS比特位3.3TZC400和TZPC简介3.</div> </li> <li><a href="/article/1889760795672244224.htm" title="安全研究员职业提升路径" target="_blank">安全研究员职业提升路径</a> <span class="text-muted">rockmelodies</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a> <div>阶段一:基础能力沉淀期(0-3年)目标薪资:15-30万/年(国内)核心技能掌握渗透测试全流程(Web/App/内网)熟练使用BurpSuite、Metasploit、IDAPro等工具理解漏洞原理(如OWASPTop10、CVE漏洞复现)获得OSCP认证(实战渗透黄金标准)变现策略参与众测平台(HackerOne/Bugcrowd),积累漏洞奖金撰写技术博客,建立个人技术品牌参与企业红队外包项目</div> </li> <li><a href="/article/1889611996379279360.htm" title="找到你的小众市场,打造你的专属产品几个步骤" target="_blank">找到你的小众市场,打造你的专属产品几个步骤</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>Hey,我是Immerse文章首发于个人博客【https://yaolifeng.com】,更多内容请关注个人博客转载说明:转载请在文章头部注明原文出处及版权声明!找到你的小众市场,打造你的专属产品嘿,朋友,最近我看了篇文章,讲的是怎么找小众市场,做出自己的产品。我把它消化了一下,结合自己的理解,跟大家分享一下。第一步:“瞄准”你的兴趣点,这绝对是基础!别瞎琢磨,先问问自己,你到底喜欢啥?是那种每</div> </li> <li><a href="/article/1889595857871892480.htm" title="java如何面试别人_Java面试如何考察候选人" target="_blank">java如何面试别人_Java面试如何考察候选人</a> <span class="text-muted">m0_74825718</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>Java面试可以从五个方面进行考察候选人工作经历1、自我介绍是必要环节,从中可以知道候选人的沟通表达能力、对自身信息的提炼能否做到清晰又准确。2、对简历写的项目、技能一一深入发问,考察面试者对项目的业务细节、技术架构、场景解决、技术原理是否熟悉。如果简历还有写个人博客、个人开源项目,还可以挑个感兴趣的文章、项目深入发问、考察候选人是否真正理解写的技术、项目。(简历内容不要求多,但敢在简历写了就说明</div> </li> <li><a href="/article/1889518975109361664.htm" title="Python3连接MySQL并且读取Blob字段信息" target="_blank">Python3连接MySQL并且读取Blob字段信息</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>个人博客地址:Python3连接MySQL并且读取Blob字段信息|一张假钞的真实世界安装驱动$pip3installmysql-connector-pythonCommand'pip3'notfound,butcanbeinstalledwith:sudoaptinstallpython3-pip根据提示信息安装pip3。根据MySQL官网建议应该安装8.0的驱动。我的安装:mysql-conn</div> </li> <li><a href="/article/1889500704381399040.htm" title="Python3连接MongoDB并写入数据" target="_blank">Python3连接MongoDB并写入数据</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>个人博客地址:Python3连接MongoDB并写入数据|一张假钞的真实世界安装PyMongo$pip3installpymongoSuccessfullyinstalledpymongo-3.7.2连接MongoDB并且批量插入操作#!/usr/bin/python3importmysql.connectorimportgzipimportjsonfrompymongoimportMongoCl</div> </li> <li><a href="/article/1889468552193306624.htm" title="java ssm mysql 开源_SSM(Spring+Spring MVC+Mybatis)开发简约漂亮的java开源博客管理系统,其中前台后台功能完整。..." target="_blank">java ssm mysql 开源_SSM(Spring+Spring MVC+Mybatis)开发简约漂亮的java开源博客管理系统,其中前台后台功能完整。...</a> <span class="text-muted">weixin_39750598</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ssm/1.htm">ssm</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a> <div>项目描述本项目通过SSM(SpringMVC+Mybatis+Spring)框架编写的一个人博客管理系统,使用hexo主题,以及MAVEN进行对项目管理,并且前端具有粒子和点击爱心效果.后端的页面框架为bootstrap.数据库为mysql.运行环境jdk8+tomcat8+mysql+eclipse+maven(idea)项目技术(必填)spring+springmvc+mybatis+boot</div> </li> <li><a href="/article/1889329341293195264.htm" title="Python3命令行交互不能使用方向键" target="_blank">Python3命令行交互不能使用方向键</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/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E8%AF%AD%E8%A8%80/1.htm">编程语言</a> <div>个人博客地址:Python3命令行交互不能使用方向键|一张假钞的真实世界自定义安装Python3后在命令行使用方向键时出现以下问题:$python3Python3.7.4(default,Dec112019,17:40:08)[GCC7.4.0]onlinuxType"help","copyright","credits"or"license"formoreinformation.>>>^[[A^</div> </li> <li><a href="/article/1889311558090158080.htm" title="Ranger Admin安装MySQL初始化问题解决" target="_blank">Ranger Admin安装MySQL初始化问题解决</a> <span class="text-muted">一张假钞</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>个人博客地址:RangerAdmin安装MySQL初始化问题解决|一张假钞的真实世界告警信息及如何解决见我的另外一篇博客:MySQLJDBC连接异常:javax.net.ssl.SSLException:closinginboundbeforereceivingpeer’sclose_notify但是Ranger的安装配置install.properties中未启用ssl,配置信息如下:#SSLc</div> </li> <li><a href="/article/1889255077261144064.htm" title="用CSS实现下拉菜单的多种方法" target="_blank">用CSS实现下拉菜单的多种方法</a> <span class="text-muted">yezi1305</span> <a class="tag" taget="_blank" href="/search/html%28div%2Bcss%29/1.htm">html(div+css)</a> <div>本文转自:http://www.51xuediannao.com/js/nav/ullidaohang.html用CSS实现下拉菜单的多种方法详细出处参考:http://www.jb51.net/article/5959.htmULLI结构实现二级导航菜单(HTML+CSS+JS)_懒人建站http://www.51xuediannao.com0?"":"")+"sfhover";}sfEls[i</div> </li> <li><a href="/article/1889157754677948416.htm" title="[ATF]-ATF启动--BL31跳转到optee和uboot" target="_blank">[ATF]-ATF启动--BL31跳转到optee和uboot</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/ATF/1.htm">ATF</a><a class="tag" taget="_blank" href="/search/trustzone/1.htm">trustzone</a><a class="tag" taget="_blank" href="/search/optee/1.htm">optee</a> <div>快速链接:.ARMv8/ARMv9架构入门到精通-[目录]付费专栏-付费课程【购买须知】:联系方式-加入交流群----联系方式-加入交流群个人博客笔记导读目录(全部)ATF1、背景2、ATF编译3、ATF的启动4、获取optee/uboot的跳转地址</div> </li> <li><a href="/article/1889084096299200512.htm" title="【置顶】TEE从入门到精通-[目录]--old" target="_blank">【置顶】TEE从入门到精通-[目录]--old</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/%E5%AF%BC%E8%AF%BB%E7%9B%AE%E5%BD%95/1.htm">导读目录</a><a class="tag" taget="_blank" href="/search/arm/1.htm">arm</a> <div>快速链接:.个人博客笔记导读目录(全部)付费专栏-付费课程【购买须知】:【精选】TEE从入门到精通-[目录]联系方式-加入交流群----联系方式-加入交流群专栏名称专栏介绍超级链接价格标签ARMv8/ARMv9架构从入门到精通最全最详细的讲解ARMv8/ARMv9架构的核心知识点,由易到难/循序渐进/章节有序/通俗易懂。要学就学最新架构,十几年前/二十年前的技术何必再学习呢。本系列内容包括不限于:</div> </li> <li><a href="/article/1889084094667616256.htm" title="13-optee内核-文件系统File structure" target="_blank">13-optee内核-文件系统File structure</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/TEE%E4%BB%8E%E5%85%A5%E9%97%A8%E5%88%B0%E7%B2%BE%E9%80%9A/1.htm">TEE从入门到精通</a><a class="tag" taget="_blank" href="/search/ARM-TEE-Android/1.htm">ARM-TEE-Android</a><a class="tag" taget="_blank" href="/search/TEE/1.htm">TEE</a><a class="tag" taget="_blank" href="/search/optee/1.htm">optee</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F/1.htm">文件系统</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8/1.htm">存储</a><a class="tag" taget="_blank" href="/search/trustzone/1.htm">trustzone</a> <div>快速链接:.个人博客笔记导读目录(全部)付费专栏-付费课程【购买须知】【精选】TEE从入门到精通-[目录]文件结构本页介绍树结构的</div> </li> <li><a href="/article/1888815627456540672.htm" title="openssl源码编译输出库-guidance-傻瓜式教程" target="_blank">openssl源码编译输出库-guidance-傻瓜式教程</a> <span class="text-muted">代码改变世界ctw</span> <a class="tag" taget="_blank" href="/search/%E5%AF%86%E7%A0%81%E5%AD%A6%E5%AE%9E%E8%B7%B5%E5%BC%BA%E5%8C%96%E8%AE%AD%E7%BB%83/1.htm">密码学实践强化训练</a><a class="tag" taget="_blank" href="/search/openssl/1.htm">openssl</a><a class="tag" taget="_blank" href="/search/%E5%91%BD%E4%BB%A4%E8%A1%8C/1.htm">命令行</a><a class="tag" taget="_blank" href="/search/%E5%8A%A0%E8%A7%A3%E5%AF%86/1.htm">加解密</a> <div>快速链接:.个人博客笔记导读目录(全部)付费专栏-付费课程【购买须知】:密码学实践强化训练–【目录】目标:下载openssl源码编译输出目标版本,例如使用AndroidNDK编译输出Android使用的32位的库1、下载源码gitclonehttps://github.com/openssl/openssl.git-bopenssl-3.0.9</</div> </li> <li><a href="/article/1888758756905381888.htm" title="【华为OD机试真题】335、DNA序列 | 机试真题+思路参考+代码解析(C++、Java、Py)" target="_blank">【华为OD机试真题】335、DNA序列 | 机试真题+思路参考+代码解析(C++、Java、Py)</a> <span class="text-muted">KJ.JK</span> <a class="tag" taget="_blank" href="/search/OJ%2B%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">OJ+最新华为OD机试</a><a class="tag" taget="_blank" href="/search/%28C%2B%2B/1.htm">(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py%29/1.htm">Py)</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/DNA%E5%BA%8F%E5%88%97/1.htm">DNA序列</a> <div>文章目录一、题目题目描述输入输出样例1样例2二、代码与思路参考C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码作者:KJ.JK订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KJ.JK专栏介绍:2024年最新的华为OD机试真题B、C和D卷,使用C++、Java、Python语言进行解答,每个题目的思路分析都非常详细,支持在线OJ评测刷题!!!!订阅后获取权</div> </li> <li><a href="/article/1888758755366072320.htm" title="【华为OD机试真题】333、数字反转打印 | 机试真题+思路参考+代码解析(C++、Java、Py)" target="_blank">【华为OD机试真题】333、数字反转打印 | 机试真题+思路参考+代码解析(C++、Java、Py)</a> <span class="text-muted">KJ.JK</span> <a class="tag" taget="_blank" href="/search/OJ%2B%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">OJ+最新华为OD机试</a><a class="tag" taget="_blank" href="/search/%28C%2B%2B/1.htm">(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py%29/1.htm">Py)</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E5%8F%8D%E8%BD%AC%E6%89%93%E5%8D%B0/1.htm">数字反转打印</a> <div>文章目录一、题目题目描述输入输出样例1二、代码与思路参考C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码作者:KJ.JK订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KJ.JK专栏介绍:2024年最新的华为OD机试真题B、C和D卷,使用C++、Java、Python语言进行解答,每个题目的思路分析都非常详细,支持在线OJ评测刷题!!!!订阅后获取权限,新</div> </li> <li><a href="/article/1888758503162572800.htm" title="【华为OD机试真题】329、报文重排序 | 机试真题+思路参考+代码解析(C++、Java、Py)" target="_blank">【华为OD机试真题】329、报文重排序 | 机试真题+思路参考+代码解析(C++、Java、Py)</a> <span class="text-muted">KJ.JK</span> <a class="tag" taget="_blank" href="/search/OJ%2B%E6%9C%80%E6%96%B0%E5%8D%8E%E4%B8%BAOD%E6%9C%BA%E8%AF%95/1.htm">OJ+最新华为OD机试</a><a class="tag" taget="_blank" href="/search/%28C%2B%2B/1.htm">(C++</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Py%29/1.htm">Py)</a><a class="tag" taget="_blank" href="/search/%E5%8D%8E%E4%B8%BAod/1.htm">华为od</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E6%96%87%E9%87%8D%E6%8E%92%E5%BA%8F/1.htm">报文重排序</a> <div>文章目录一、题目题目描述输入输出样例1样例2样例3二、代码与思路参考C++语言思路C++代码Java语言思路Java代码Python语言思路Python代码作者:KJ.JK订阅本专栏后即可解锁在线OJ刷题权限个人博客首页:KJ.JK专栏介绍:2024年最新的华为OD机试真题B、C和D卷,使用C++、Java、Python语言进行解答,每个题目的思路分析都非常详细,支持在线OJ评测刷题!!!!订阅后</div> </li> <li><a href="/article/125.htm" title="apache 安装linux windows" target="_blank">apache 安装linux windows</a> <span class="text-muted">墙头上一根草</span> <a class="tag" taget="_blank" href="/search/apache/1.htm">apache</a><a class="tag" taget="_blank" href="/search/inux/1.htm">inux</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>linux安装Apache 有两种方式一种是手动安装通过二进制的文件进行安装,另外一种就是通过yum 安装,此中安装方式,需要物理机联网。以下分别介绍两种的安装方式     通过二进制文件安装Apache需要的软件有apr,apr-util,pcre  1,安装 apr        下载地址:htt</div> </li> <li><a href="/article/252.htm" title="fill_parent、wrap_content和match_parent的区别" target="_blank">fill_parent、wrap_content和match_parent的区别</a> <span class="text-muted">Cb123456</span> <a class="tag" taget="_blank" href="/search/match_parent/1.htm">match_parent</a><a class="tag" taget="_blank" href="/search/fill_parent/1.htm">fill_parent</a> <div>fill_parent、wrap_content和match_parent的区别:   1)fill_parent   设置一个构件的布局为fill_parent将强制性地使构件扩展,以填充布局单元内尽可能多的空间。这跟Windows控件的dockstyle属性大体一致。设置一个顶部布局或控件为fill_parent将强制性让它布满整个屏幕。 2) wrap_conte</div> </li> <li><a href="/article/379.htm" title="网页自适应设计" target="_blank">网页自适应设计</a> <span class="text-muted">天子之骄</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%93%8D%E5%BA%94%E5%BC%8F%E8%AE%BE%E8%AE%A1/1.htm">响应式设计</a><a class="tag" taget="_blank" href="/search/%E9%A1%B5%E9%9D%A2%E8%87%AA%E9%80%82%E5%BA%94/1.htm">页面自适应</a> <div>网页自适应设计        网页对浏览器窗口的自适应支持变得越来越重要了。自适应响应设计更是异常火爆。再加上移动端的崛起,更是如日中天。以前为了适应不同屏幕分布率和浏览器窗口的扩大和缩小,需要设计几套css样式,用js脚本判断窗口大小,选择加载。结构臃肿,加载负担较大。现笔者经过一定时间的学习,有所心得,故分享于此,加强交流,共同进步。同时希望对大家有所</div> </li> <li><a href="/article/506.htm" title="[sql server] 分组取最大最小常用sql" target="_blank">[sql server] 分组取最大最小常用sql</a> <span class="text-muted">一炮送你回车库</span> <a class="tag" taget="_blank" href="/search/SQL+Server/1.htm">SQL Server</a> <div>--分组取最大最小常用sql--测试环境if OBJECT_ID('tb') is not null drop table tb;gocreate table tb( col1 int, col2 int, Fcount int)insert into tbselect 11,20,1 union allselect 11,22,1 union allselect 1</div> </li> <li><a href="/article/633.htm" title="ImageIO写图片输出到硬盘" target="_blank">ImageIO写图片输出到硬盘</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/image/1.htm">image</a> <div>package awt; import java.awt.Color; import java.awt.Font; import java.awt.Graphics; import java.awt.image.BufferedImage; import java.io.File; import java.io.IOException; import javax.imagei</div> </li> <li><a href="/article/760.htm" title="自己的String动态数组" target="_blank">自己的String动态数组</a> <span class="text-muted">宝剑锋梅花香</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8A%A8%E6%80%81%E6%95%B0%E7%BB%84/1.htm">动态数组</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E7%BB%84/1.htm">数组</a> <div>数组还是好说,学过一两门编程语言的就知道,需要注意的是数组声明时需要把大小给它定下来,比如声明一个字符串类型的数组:String str[]=new String[10];    但是问题就来了,每次都是大小确定的数组,我需要数组大小不固定随时变化怎么办呢?  动态数组就这样应运而生,龙哥给我们讲的是自己用代码写动态数组,并非用的ArrayList 看看字符</div> </li> <li><a href="/article/887.htm" title="pinyin4j工具类" target="_blank">pinyin4j工具类</a> <span class="text-muted">darkranger</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>pinyin4j工具类Java工具类 2010-04-24 00:47:00 阅读69 评论0 字号:大中小 引入pinyin4j-2.5.0.jar包: pinyin4j是一个功能强悍的汉语拼音工具包,主要是从汉语获取各种格式和需求的拼音,功能强悍,下面看看如何使用pinyin4j。 本人以前用AscII编码提取工具,效果不理想,现在用pinyin4j简单实现了一个。功能还不是很完美,</div> </li> <li><a href="/article/1014.htm" title="StarUML学习笔记----基本概念" target="_blank">StarUML学习笔记----基本概念</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/UML%E5%BB%BA%E6%A8%A1/1.htm">UML建模</a> <div>介绍StarUML的基本概念,这些都是有效运用StarUML?所需要的。包括对模型、视图、图、项目、单元、方法、框架、模型块及其差异以及UML轮廓。         模型、视与图(Model, View and Diagram)        &</div> </li> <li><a href="/article/1141.htm" title="Activiti最终总结" target="_blank">Activiti最终总结</a> <span class="text-muted">avords</span> <a class="tag" taget="_blank" href="/search/Activiti+id+%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">Activiti id 工作流</a> <div>1、流程定义ID:ProcessDefinitionId,当定义一个流程就会产生。 2、流程实例ID:ProcessInstanceId,当开始一个具体的流程时就会产生,也就是不同的流程实例ID可能有相同的流程定义ID。 3、TaskId,每一个userTask都会有一个Id这个是存在于流程实例上的。 4、TaskDefinitionKey和(ActivityImpl activityId </div> </li> <li><a href="/article/1268.htm" title="从省市区多重级联想到的,react和jquery的差别" target="_blank">从省市区多重级联想到的,react和jquery的差别</a> <span class="text-muted">bee1314</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/react/1.htm">react</a> <div>在我们的前端项目里经常会用到级联的select,比如省市区这样。通常这种级联大多是动态的。比如先加载了省,点击省加载市,点击市加载区。然后数据通常ajax返回。如果没有数据则说明到了叶子节点。   针对这种场景,如果我们使用jquery来实现,要考虑很多的问题,数据部分,以及大量的dom操作。比如这个页面上显示了某个区,这时候我切换省,要把市重新初始化数据,然后区域的部分要从页面</div> </li> <li><a href="/article/1395.htm" title="Eclipse快捷键大全" target="_blank">Eclipse快捷键大全</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/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%BF%AB%E6%8D%B7%E9%94%AE/1.htm">快捷键</a> <div>Ctrl+1 快速修复(最经典的快捷键,就不用多说了)Ctrl+D: 删除当前行 Ctrl+Alt+↓ 复制当前行到下一行(复制增加)Ctrl+Alt+↑ 复制当前行到上一行(复制增加)Alt+↓ 当前行和下面一行交互位置(特别实用,可以省去先剪切,再粘贴了)Alt+↑ 当前行和上面一行交互位置(同上)Alt+← 前一个编辑的页面Alt+→ 下一个编辑的页面(当然是针对上面那条来说了)Alt+En</div> </li> <li><a href="/article/1522.htm" title="js 笔记 函数" target="_blank">js 笔记 函数</a> <span class="text-muted">征客丶</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>一、函数的使用 1.1、定义函数变量 var vName = funcation(params){ } 1.2、函数的调用 函数变量的调用:      vName(params); 函数定义时自发调用:(function(params){})(params); 1.3、函数中变量赋值 var a = 'a'; var ff</div> </li> <li><a href="/article/1649.htm" title="【Scala四】分析Spark源代码总结的Scala语法二" target="_blank">【Scala四】分析Spark源代码总结的Scala语法二</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a> <div>1. Some操作   在下面的代码中,使用了Some操作:if (self.partitioner == Some(partitioner)),那么Some(partitioner)表示什么含义?首先partitioner是方法combineByKey传入的变量, Some的文档说明:   /** Class `Some[A]` represents existin</div> </li> <li><a href="/article/1776.htm" title="java 匿名内部类" target="_blank">java 匿名内部类</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/java%E5%8C%BF%E5%90%8D%E5%86%85%E9%83%A8%E7%B1%BB/1.htm">java匿名内部类</a> <div>组合优先于继承 Java的匿名类,就是提供了一个快捷方便的手段,令继承关系可以方便地变成组合关系 继承只有一个时候才能用,当你要求子类的实例可以替代父类实例的位置时才可以用继承。   在Java中内部类主要分为成员内部类、局部内部类、匿名内部类、静态内部类。 内部类不是很好理解,但说白了其实也就是一个类中还包含着另外一个类如同一个人是由大脑、肢体、器官等身体结果组成,而内部类相</div> </li> <li><a href="/article/1903.htm" title="盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用" target="_blank">盗版win装在MAC有害发热,苹果的东西不值得买,win应该不用</a> <span class="text-muted">ljy325</span> <a class="tag" taget="_blank" href="/search/%E6%B8%B8%E6%88%8F/1.htm">游戏</a><a class="tag" taget="_blank" href="/search/apple/1.htm">apple</a><a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a><a class="tag" taget="_blank" href="/search/XP/1.htm">XP</a><a class="tag" taget="_blank" href="/search/OS/1.htm">OS</a> <div>Mac mini 型号: MC270CH-A RMB:5,688   Apple 对windows的产品支持不好,有以下问题:   1.装完了xp,发现机身很热虽然没有运行任何程序!貌似显卡跑游戏发热一样,按照那样的发热量,那部机子损耗很大,使用寿命受到严重的影响!   2.反观安装了Mac os的展示机,发热量很小,运行了1天温度也没有那么高 &nbs</div> </li> <li><a href="/article/2030.htm" title="读《研磨设计模式》-代码笔记-生成器模式-Builder" target="_blank">读《研磨设计模式》-代码笔记-生成器模式-Builder</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/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ /** * 生成器模式的意图在于将一个复杂的构建与其表示相分离,使得同样的构建过程可以创建不同的表示(GoF) * 个人理解: * 构建一个复杂的对象,对于创建者(Builder)来说,一是要有数据来源(rawData),二是要返回构</div> </li> <li><a href="/article/2157.htm" title="JIRA与SVN插件安装" target="_blank">JIRA与SVN插件安装</a> <span class="text-muted">chenyu19891124</span> <a class="tag" taget="_blank" href="/search/SVN/1.htm">SVN</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a> <div>JIRA安装好后提交代码并要显示在JIRA上,这得需要用SVN的插件才能看见开发人员提交的代码。 1.下载svn与jira插件安装包,解压后在安装包(atlassian-jira-subversion-plugin-0.10.1) 2.解压出来的包里下的lib文件夹下的jar拷贝到(C:\Program Files\Atlassian\JIRA 4.3.4\atlassian-jira\WEB</div> </li> <li><a href="/article/2284.htm" title="常用数学思想方法" target="_blank">常用数学思想方法</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>  对于搞工程和技术的朋友来讲,在工作中常常遇到一些实际问题,而采用常规的思维方式无法很好的解决这些问题,那么这个时候我们就需要用数学语言和数学工具,而使用数学工具的前提却是用数学思想的方法来描述问题。。下面转帖几种常用的数学思想方法,仅供学习和参考   函数思想   把某一数学问题用函数表示出来,并且利用函数探究这个问题的一般规律。这是最基本、最常用的数学方法</div> </li> <li><a href="/article/2411.htm" title="pl/sql集合类型" target="_blank">pl/sql集合类型</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E5%90%88/1.htm">集合</a><a class="tag" taget="_blank" href="/search/type/1.htm">type</a><a class="tag" taget="_blank" href="/search/pl%2Fsql/1.htm">pl/sql</a> <div>--集合类型 /*   单行单列的数据,使用标量变量   单行多列数据,使用记录   单列多行数据,使用集合(。。。)   *集合:类似于数组也就是。pl/sql集合类型包括索引表(pl/sql table)、嵌套表(Nested Table)、变长数组(VARRAY)等 */ /*     --集合方法 &n</div> </li> <li><a href="/article/2538.htm" title="[Ofbiz]ofbiz初用" target="_blank">[Ofbiz]ofbiz初用</a> <span class="text-muted">dinguangx</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E5%95%86/1.htm">电商</a><a class="tag" taget="_blank" href="/search/ofbiz/1.htm">ofbiz</a> <div>从github下载最新的ofbiz(截止2015-7-13),从源码进行ofbiz的试用 1. 加载测试库 ofbiz内置derby,通过下面的命令初始化测试库 ./ant load-demo (与load-seed有一些区别)   2. 启动内置tomcat ./ant start 或 ./startofbiz.sh 或 java -jar ofbiz.jar &</div> </li> <li><a href="/article/2665.htm" title="结构体中最后一个元素是长度为0的数组" target="_blank">结构体中最后一个元素是长度为0的数组</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/gcc/1.htm">gcc</a> <div>在Linux源代码中,有很多的结构体最后都定义了一个元素个数为0个的数组,如/usr/include/linux/if_pppox.h中有这样一个结构体: struct pppoe_tag {     __u16 tag_type;     __u16 tag_len;   &n</div> </li> <li><a href="/article/2792.htm" title="Linux cp 实现强行覆盖" target="_blank">Linux cp 实现强行覆盖</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>发现在Fedora 10 /ubutun 里面用cp -fr src dest,即使加了-f也是不能强行覆盖的,这时怎么回事的呢?一两个文件还好说,就输几个yes吧,但是要是n多文件怎么办,那还不输死人呢?下面提供三种解决办法。 方法一 我们输入alias命令,看看系统给cp起了一个什么别名。 [root@localhost ~]# aliasalias cp=’cp -i’a</div> </li> <li><a href="/article/2919.htm" title="Memcached(一)、HelloWorld" target="_blank">Memcached(一)、HelloWorld</a> <span class="text-muted">frank1234</span> <a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a> <div>一、简介 高性能的架构离不开缓存,分布式缓存中的佼佼者当属memcached,它通过客户端将不同的key hash到不同的memcached服务器中,而获取的时候也到相同的服务器中获取,由于不需要做集群同步,也就省去了集群间同步的开销和延迟,所以它相对于ehcache等缓存来说能更好的支持分布式应用,具有更强的横向伸缩能力。 二、客户端 选择一个memcached客户端,我这里用的是memc</div> </li> <li><a href="/article/3046.htm" title="Search in Rotated Sorted Array II" target="_blank">Search in Rotated Sorted Array II</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/search/1.htm">search</a> <div>Follow up for "Search in Rotated Sorted Array":What if duplicates are allowed? Would this affect the run-time complexity? How and why? Write a function to determine if a given ta</div> </li> <li><a href="/article/3173.htm" title="Spring4新特性——更好的Java泛型操作API" target="_blank">Spring4新特性——更好的Java泛型操作API</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/spring4/1.htm">spring4</a><a class="tag" taget="_blank" href="/search/generic+type/1.htm">generic type</a> <div>Spring4新特性——泛型限定式依赖注入 Spring4新特性——核心容器的其他改进 Spring4新特性——Web开发的增强 Spring4新特性——集成Bean Validation 1.1(JSR-349)到SpringMVC  Spring4新特性——Groovy Bean定义DSL Spring4新特性——更好的Java泛型操作API  Spring4新</div> </li> <li><a href="/article/3300.htm" title="CentOS安装JDK" target="_blank">CentOS安装JDK</a> <span class="text-muted">liuxingguome</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>1、行卸载原来的: [root@localhost opt]# rpm -qa | grep java tzdata-java-2014g-1.el6.noarch java-1.7.0-openjdk-1.7.0.65-2.5.1.2.el6_5.x86_64 java-1.6.0-openjdk-1.6.0.0-11.1.13.4.el6.x86_64 [root@localhost</div> </li> <li><a href="/article/3427.htm" title="二分搜索专题2-在有序二维数组中搜索一个元素" target="_blank">二分搜索专题2-在有序二维数组中搜索一个元素</a> <span class="text-muted">OpenMind</span> <a class="tag" taget="_blank" href="/search/%E4%BA%8C%E7%BB%B4%E6%95%B0%E7%BB%84/1.htm">二维数组</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%88%86%E6%90%9C%E7%B4%A2/1.htm">二分搜索</a> <div>1,设二维数组p的每行每列都按照下标递增的顺序递增。 用数学语言描述如下:p满足 (1),对任意的x1,x2,y,如果x1<x2,则p(x1,y)<p(x2,y); (2),对任意的x,y1,y2, 如果y1<y2,则p(x,y1)<p(x,y2); 2,问题: 给定满足1的数组p和一个整数k,求是否存在x0,y0使得p(x0,y0)=k? 3,算法分析: (</div> </li> <li><a href="/article/3554.htm" title="java 随机数 Math与Random" target="_blank">java 随机数 Math与Random</a> <span class="text-muted">SaraWon</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Math/1.htm">Math</a><a class="tag" taget="_blank" href="/search/Random/1.htm">Random</a> <div>今天需要在程序中产生随机数,知道有两种方法可以使用,但是使用Math和Random的区别还不是特别清楚,看到一篇文章是关于的,觉得写的还挺不错的,原文地址是 http://www.oschina.net/question/157182_45274?sort=default&p=1#answers 产生1到10之间的随机数的两种实现方式: //Math Math.roun</div> </li> <li><a href="/article/3681.htm" title="oracle创建表空间" target="_blank">oracle创建表空间</a> <span class="text-muted">tugn</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div>create temporary tablespace TXSJ_TEMP   tempfile 'E:\Oracle\oradata\TXSJ_TEMP.dbf'   size 32m   autoextend on   next 32m maxsize 2048m   extent m</div> </li> <li><a href="/article/3808.htm" title="使用Java8实现自己的个性化搜索引擎" target="_blank">使用Java8实现自己的个性化搜索引擎</a> <span class="text-muted">yangshangchuan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/superword/1.htm">superword</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/java8/1.htm">java8</a><a class="tag" taget="_blank" href="/search/%E5%85%A8%E6%96%87%E6%A3%80%E7%B4%A2/1.htm">全文检索</a> <div>需要对249本软件著作实现句子级别全文检索,这些著作均为PDF文件,不使用现有的框架如lucene,自己实现的方法如下: 1、从PDF文件中提取文本,这里的重点是如何最大可能地还原文本。提取之后的文本,一个句子一行保存为文本文件。 2、将所有文本文件合并为一个单一的文本文件,这样,每一个句子就有一个唯一行号。 3、对每一行文本进行分词,建立倒排表,倒排表的格式为:词=包含该词的总行数N=行号</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>