搭建Hexo博客进阶篇--Hexo文档讲解(二)

Hexo 还没有结束,而是刚刚开始!

之前写过一篇Hexo入门篇,但是我发现Hexo并没有我想象的那么简单,我用的Hexo主题是yelee,是MOxFIVE大神从yilia主题改版的,原创度较高,那么这篇文章就是我经过几天研究Hexo后的一些心得和技巧,由于本人技术水平有限,若有错误之处,请指出,非常感谢。
本文涉及的内容有:

  • Hexo 文档详细说明
  • Hexo 主题自定义
  • Hexo 小部件
  • Hexo 模板解析

生命在于运动 , 技术在于折腾

Hexo不常用的命令

render

渲染文件: hexo render [file2] ...
参数 -o(--output) 设置输出路径,看下图就知道咋用了

搭建Hexo博客进阶篇--Hexo文档讲解(二)_第1张图片
渲染

刚开始当设置输出路径是,报这个错误

搭建Hexo博客进阶篇--Hexo文档讲解(二)_第2张图片
error

后来我想了一下,输出到一个文件,肯定是要写输出之后的文件名的
所以改成

hexo render path1/xxx.md -o path2/xxx.yyy

看现在就好了呢,在Desktop/postData文件夹下面看到了a.html

success

由这两张图,我们就知道了,hexo-render命令其实就是把我们的文章通过模板渲染成html代码,当然渲染完成后是可以输出到另一个文件的

list

列出网站资料:hexo list
不多说,看图就知道啦

搭建Hexo博客进阶篇--Hexo文档讲解(二)_第3张图片
hexo list

安全模式

hexo --safe

在安全模式下,不会载入插件和脚本。当您在安装新插件遭遇问题时,可以尝试以安全模式重新执行。

调试模式

hexo --debug

在终端中显示调试信息并记录到 debug.log。当您碰到问题时,可以尝试用调试模式重新执行一次,并 提交调试信息到 GitHub。

简介模式

hexo --silent

隐藏终端信息,简言之就是隐藏了,cmd hexo命令框的输出内容

自定义配置文件的路径

hexo --config custom.yml

自定义配置文件的路径,执行后将不再使用 _config.yml。

显示草稿

hexo --draft

显示 source/_drafts 文件夹中的草稿文章。

自定义CWD

hexo --cwd /path/to/cwd

自定义当前工作目录(Current working directory)的路径。

搭建Hexo博客进阶篇--Hexo文档讲解(二)_第4张图片
Global Options

这张图可以看出,以上的全部都是Global Options,也就是全局配置选项

标签插件

Hexo 的标签插件是独立于 Markdown 的渲染引擎的,标签插件采用独有的方式渲染,虽然有的时候可能和 Markdown 渲染效果一样,在这里我就不说 Markdown 的渲染方式了,如果想要了解 Markdown 的请参考这篇文章 MarkDown学习笔记

引用块

在文章中插入引言,可包含作者、来源和标题。
别号:quote
格式如下:

{% blockquote [author[, source]] [link] [source_link_title] %}
content
{% endblockquote %}

例子1:没有提供参数,则只输出普通的 blockquote

{% blockquote %}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Pellentesque hendrerit lacus ut purus iaculis feugiat. Sed nec tempor elit, quis aliquam neque. Curabitur sed diam eget dolor fermentum semper at eu lorem.
{% endblockquote %}

例子2:引用书上的句子

{% blockquote David Levithan, Wide Awake %}
Do not just seek happiness for yourself. Seek happiness for all. Through kindness. Through mercy.
{% endblockquote %}

例子3:引用Twitter

{% blockquote @DevDocs https://twitter.com/devdocs/status/356095192085962752 %}
NEW: DevDocs now comes with syntax highlighting. http://devdocs.io
{% endblockquote %}

例子4:引用网络上的文章

{% blockquote Seth Godin http://sethgodin.typepad.com/seths_blog/2009/07/welcome-to-island-marketing.html Welcome to Island Marketing %}
Every interaction is both precious and an opportunity to delight.
{% endblockquote %}

代码块

别名 :code
格式如下:

{% codeblock [title] [lang:language] [url] [link text] %}
code snippet
{% endcodeblock %}

例子1:普通的代码块

{% codeblock %}
alert('Hello World!');
{% endcodeblock %}

例子2:指定语言

{% codeblock lang:objc %}
[rectangle setX: 10 y: 10 width: 20 height: 20];
{% endcodeblock %}

例子3:附加说明

{% codeblock Array.map %}
array.map(callback[, thisArg])
{% endcodeblock %}

例子4:附加说明和网址

{% codeblock _.compact http://underscorejs.org/#compact Underscore.js %}
_.compact([0, 1, false, 2, '', 3]);
=> [1, 2, 3]
{% endcodeblock %}

其他

Pull Code

这个插件可以帮助您在文章中插入重要引述。

{% pullquote [class] %}
content
{% endpullquote %}

这个效果,我也不懂是几个意思,感觉和前面的差不多

jsFiddle

在文中嵌入jsFiddle,jsFiddle是一款HTML,CSS,JAVASCRIPT在线调试工具

{% jsfiddle shorttag [tabs] [skin] [width] [height] %}

参数全在URL里面找

搭建Hexo博客进阶篇--Hexo文档讲解(二)_第5张图片
URL

经过不断地尝试匹配URL,最终成功搞定
设置如下:

{% jsfiddle AntBody/138zf8kk  js,html,css,result  dark %}

可以查看渲染后的URL来推测插件运行原理,将上面的路径一个加一个匹配,没有写,则采用默认路径,会得到404

{% jsfiddle AntBody/138zf8kk js,html,css,result dark %}

Gist

gist是什么呢? 请看这篇文章 如何看待Github Gist这个服务,怎么样更好的利用
在文章中嵌入 Gist。

{% gist gist_id [filename] %}

例子:

{% gist 199bc1a29687f7ae6da0180836b5354b find %}

gist_id在URL中找寻

{% gist 199bc1a29687f7ae6da0180836b5354b find %}

下面的是我原文引用,防止链接失效

作者:知乎用户
链接:https://www.zhihu.com/question/21343711/answer/32023379
来源:知乎
      Github作为代码分享平台在开发者中非常流行。此平台托管了包括游戏、书籍以至于字体在内的一千
两百多万个项目(现在更多),这使其成为互联网上最大的代码库。  Github还提供另一个非常有用的功能,
这就是Gist。  开发人员常常使用Gist记录他们的代码片段,但是Gist不仅仅是为极客和码农开发的,每个
人都可以用到它。如果您听说过类似Pastebin或者Pastie这样的web应用的话,那您就可以看到它们和Gist
很像,但是Gist比它们要更优雅。因为这些免费应用一般含有广告,而且带有很多其他杂七杂八的功能。  

A、Gist - 任何人都能用得着

如果您不是极客您可以按照如下方式使用Gist:  
1. 匿名张贴您不需要拥有Github账号就可以使用Gist。用浏览器打开http://gist.github.com,在窗口
中写下你想说的就可以创建一个Gist。您可以发布一个私密的Gist,也就是说这个Gist将不能被他人搜索到
而只对直接在浏览器中输入其URL的人可见。    
2. 能像wiki一样记录历史如果您修改了已经发布了的Gist的话,之前的所有版本都将被保存。您可以点击
Revisions按钮按时间浏览,而且您可以通过内置的diff引擎查看任意两个版本间的差异。 这也可以用于比
较文本文件。 
3. 发布富文本内容虽然Gist只能用纯文本来写,但是您可以用markdown来发布html格式的Gist。您可以添
加列表、图片(已有图床上的)和表格。当您用markdown的时候不要忘了文件名要以.md为后缀。  
4. 把Gist当作一个写作平台虽然现在有很多写作引擎,比如Blogger、Medium、Tumblr,但您还可以用
Gist来快速发布您的作品。您可以用纯文本或者markdown等文档标记语言些一个Gist然后用
http://roughdraft.io来把它作为一个独立的网页发布。
5. 托管gist上的单个页面Bl.ocks 是一个非常有趣的专为Gist开发的应用。  您可以用纯文本把HTML、
CSS、JavaScript代码写下来以index.html为文件名保存为Gist,然后用http://bl.ocks.org把渲染好的
结果在浏览器中展示出来。比如,这个gist展示出来就是这样。  显然宽带限制是一个问题,但是
http://bl.ock.org作为一个通过Gist托管HTML的工具仍然是相当不错的。 当然您也可以用
Google Drive。    
6. 制作任务列表您可以用Gist跟踪待处理任务(举个栗子)。这是用纯文本的特殊语法写的但是你可以任意
勾选。
- [x] Pick the flowers
- [ ] Call John 9303032332
- [x] Cancel cable subscription
- [ ] Book the flight tickets  

您可以勾选或者勾去任意选项,源文本将会自动变更。如果您的Gist是公有的的话,任何人都可以看到您的
列表,但是只有您(拥有者)可以改变其勾选状态。 备注:其实任务列表也可以在issue中建立,所有拥有
写权限的人都可以uncheck/check。
7. 把Gist作为一个网页收藏夹在Chrome浏览器您可以找到一个叫GistBox的插件,通过这个插件您可以在浏
览网页时选择保存网页内容为Gist。您甚至可以添加标注或者话题标签以易于以后更容易找到它们。  
8. 把Gist嵌入网页中您用一行js代码就可以把任何一条Gist嵌入到网页中。嵌入的Gist格式不发生任何变
化,而且访问者可以非常方便的把它们fork到他们的Github中。要嵌入wordpress的话有这个插件和这个短
代码可以使用。
9. 测量访问量您可以使用Google Analytics查看您的Gist的访问量。因为Gist纯文本中不允许运行js代码,
所以我们可以用GA Beacon来记录实时访问Gist的情况。把如下代码添加到Gist中,用markdown格式保存,
这样就在这个Gist中添加了一个透明追踪图像了。
![Analytics](https://ga-beacon.appspot.com/UA-XXXXX-X/gist-id?pixel)   
10. 在桌面端管理GistGisto是一个能让您在浏览器之外管理Gist的桌面应用。您可以对Gist进行搜索、编
辑、查看历史和分享。 此应用可运行于苹果、微软和linux系统。 当然您也可以用GistBox这个web应用替
代它。 您是不是对Gist有了一个全新的认识呢?

iframe

在文章中插入 iframe,利用这个可以嵌入音乐和视频

{% iframe url [width] [height] %}

{% iframe http://v.youku.com/v_show/id_XOTIxNDYzODU2.html 930 542 %}

Image

在文章中插入指定大小的图片。

{% img [class names] /path/to/image [width] [height] [title text [alt text]] %}

{% img [class names] /yn.jpeg [300] [height] [云南风景 [风景图片]] %}

Link

在文章中插入链接,并自动给外部链接添加 target="_blank" 属性。

{% link 百度一下 http://www.baidu.com [external] [超链接] %}

{% link 百度一下 http://www.baidu.com [这是什么] [超链接] %}

这个external是做什么用的,我也不清楚呐!

include Code

插入 source 文件夹内的代码文件。

{% include_code [title] [lang:language] path/to/file %}

例子:

include_code app.js lang:javascript /app.js

效果:

{% include_code appjs lang:javascript /app.js %}

Youtube

在文章中插入 Youtube 视频。

{% youtube video_id %}

{% youtube ICkxRE_GdgI %}

id在Url中

Vimeo

在文章中插入 Vimeo 视频。

{% vimeo video_id %}

{% vimeo 180916725 %}

id在Url中

Raw

如果您想在文章中插入 Swig 标签,可以尝试使用 Raw 标签,以免发生解析异常。

{% raw %}
content
{% endraw %}

{% raw %}
content
{% endraw %}

相对路径引用的标签插件

比如说:当你打开文章资源文件夹功能后,你把一个 example.jpg 图片放在了你的资源文件夹中,如果通过使用相对路径的常规 markdown 语法,

![](/example.jpg)

它将 不会 出现在首页上。(但是它会在文章中按你期待的方式工作)

正确的引用图片方式是使用下列的标签插件而不是 markdown :

{% asset_img example.jpg This is an example image %}

引用文章

引用其他文章的链接。

{% post_path slug %}
{% post_link slug [title] %}

引用资源

引用文章的资源

{% asset_path slug %}
{% asset_img slug [title] %}
{% asset_link slug [title] %}

上面两个具体怎么用,还不是很明白,以后明白了再更新

资源

资源文件夹

对于那些想要更有规律地提供图片和其他资源以及想要将他们的资源分布在各个文章上的人来说,Hexo也提供了更组织化的方式来管理资源。这个稍微有些复杂但是管理资源非常方便的功能可以通过将 config.yml 文件中的 post_asset_folder 选项设为 true 来打开。

当资源文件管理功能打开后,Hexo将会在你每一次通过 hexo new [layout] 命令创建新文章时自动创建一个文件夹。这个资源文件夹将会有与这个 markdown 文件一样的名字。将所有与你的文章有关的资源放在这个关联文件夹中之后,你可以通过相对路径来引用它们,这样你就得到了一个更简单而且方便得多的工作流。</p> <h3>数据文件</h3> <p>有时您可能需要在主题中使用某些资料,而这些资料并不在文章内,并且是需要重复使用的,那么您可以考虑使用 Hexo 3.0 新增的「数据文件」功能。此功能会载入 source/_data 内的 YAML 或 JSON 文件,如此一来您便能在网站中复用这些文件了。</p> <p>举例来说,在 source/_data 文件夹中新建 menu.yml 文件:</p> <pre><code>Home: / Gallery: /gallery/ Archives: /archives/ </code></pre> <p>您就能在模板中使用这些资料</p> <pre><code>{% for link in site.data.menu %} <a href="{{ link }}">{{ loop.key }}</a> {% endfor %} </code></pre> <p>到此Hexo的文档讲解结束,请看下一篇 搭建Hexo博客进阶篇---主题自定义</p> <h2>参考资料</h2> <ol> <li> <strong>Hexo官方网站</strong> : https://hexo.io/</b></span></li> </ol> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1186681569310515200"></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文档讲解(二))</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1881305360959074304.htm" title="mysql gtid 主从_基于GTID搭建主从MySQL" target="_blank">mysql gtid 主从_基于GTID搭建主从MySQL</a> <span class="text-muted">呓人61</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/gtid/1.htm">gtid</a><a class="tag" taget="_blank" href="/search/%E4%B8%BB%E4%BB%8E/1.htm">主从</a> <div>基于gtid搭建主从MySQL一、GTID的使用想让主从之间使用gtid的方式同步数据,需要我们在配置文件中开启mysql对gtid相关的配置信息找到my.cnf,在mysqld模块中加入如下的配置。(主库从库都这样)#on表示开启,OFF表示关闭gtid-mode=ON#下面的两个变量必须开启,否则MySQL拒绝启动#通常情况,从服务器从主服务器接收到的更新不记入它的二进制日志。该选项告诉从服务</div> </li> <li><a href="/article/1881304476342611968.htm" title="【Elasticsearch 实战应用】" target="_blank">【Elasticsearch 实战应用】</a> <span class="text-muted">wenshao.du</span> <a class="tag" taget="_blank" href="/search/elasticsearch/1.htm">elasticsearch</a> <div>Elasticsearch实战应用在现代企业技术架构中,Elasticsearch因其出色的性能、可扩展性和易用性,成为了处理大规模数据和构建搜索引擎的首选工具。本文将通过一个实际案例,详细讲解如何在SpringBoot项目中集成Elasticsearch,进行数据索引、搜索、聚合分析等操作。1.Elasticsearch简介Elasticsearch是一个基于ApacheLucene构建的开源分</div> </li> <li><a href="/article/1881303970362748928.htm" title="SpringBoot+restFul+filter+threadLocal实现多租户的项目" target="_blank">SpringBoot+restFul+filter+threadLocal实现多租户的项目</a> <span class="text-muted">梦想一直在路上</span> <div>本片博客参考了https://blog.csdn.net/gebitan505/article/details/51614805threadLocal的目的是:实现变量的全局话,在当前的项目当中是实现了用户名的多租户状态下的全局话fiter:进行token的拦截,ThreadLocal的代码packagecom.zwl.util;importjava.util.HashMap;importjava</div> </li> <li><a href="/article/1881301953858826240.htm" title="SOA 术语概述,第 2 部分: 开发流程、模型和资产" target="_blank">SOA 术语概述,第 2 部分: 开发流程、模型和资产</a> <span class="text-muted">rochening</span> <a class="tag" taget="_blank" href="/search/soa/1.htm">soa</a><a class="tag" taget="_blank" href="/search/uml/1.htm">uml</a><a class="tag" taget="_blank" href="/search/ibm/1.htm">ibm</a><a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E5%B9%B3%E5%8F%B0/1.htm">平台</a> <div>文档选项将此页作为电子邮件发送拓展Tomcat应用下载IBM开源J2EE应用服务器WASCE新版本V1.1级别:初级BertrandPortier(bportier@ca.ibm.com),IT架构师,IBM,Intel,Microsoft,HP2007年5月23日了解一些基本SOA术语。本文是本系列的第2部分,BertrandPortier将在其中定义一些术语(包括开发流程、模型和资产)并说明为</div> </li> <li><a href="/article/1881299679925301248.htm" title="上海计算机学会2020年10月月赛C++丙组T5小球的颜色" target="_blank">上海计算机学会2020年10月月赛C++丙组T5小球的颜色</a> <span class="text-muted">长春高老师编程</span> <a class="tag" taget="_blank" href="/search/%E4%B8%8A%E6%B5%B7%E8%AE%A1%E7%AE%97%E6%9C%BA%E5%AD%A6%E4%BC%9A%E6%9C%88%E8%B5%9B%E4%B8%99%E7%BB%84/1.htm">上海计算机学会月赛丙组</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%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>小球的颜色内存限制:256Mb时间限制:1000ms题目描述给定n个数字a1,a2,…,an。我们需要更改一些数字,使得最后数字种类不超过k种,请问最少需要更改多少数字。输入格式第一行:两个整数n与k;第二行:n个整数a1,a2,…,an。输出格式单个整数,表示答案。数据范围对于30%的数据,1≤n≤100;对于40%的数据,1≤n≤1000;对于100%的数据,1≤k≤n≤2×10^5。1≤ai</div> </li> <li><a href="/article/1881296271642259456.htm" title="pnpm:简介" target="_blank">pnpm:简介</a> <span class="text-muted">m0_67401499</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/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>一、概念performantnpm,意味“高性能的npm”。pnpm由npm/yarn衍生而来,解决了npm/yarn内部潜在的bug,极大的优化了性能,扩展了使用场景。被誉为“最先进的包管理工具”二、特点:速度快、节约磁盘空间、支持monorepo、安全性高pnpm相比较于yarn/npm这两个常用的包管理工具在性能上也有了极大的提升,根据目前官方提供的benchmark数据可以看出在一些综合场</div> </li> <li><a href="/article/1881295390129582080.htm" title="通过python代码实现向钉钉群内自动推送消息,详细步骤及代码,超实用教学!!!" target="_blank">通过python代码实现向钉钉群内自动推送消息,详细步骤及代码,超实用教学!!!</a> <span class="text-muted">盲敲代码的阿豪</span> <a class="tag" taget="_blank" href="/search/python%E5%AE%9E%E7%94%A8%E7%9F%A5%E8%AF%86%E7%82%B9/1.htm">python实用知识点</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E9%92%89%E9%92%89/1.htm">钉钉</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%8F%91%E6%B6%88%E6%81%AF/1.htm">自动化发消息</a> <div>文章目录前言一、创建钉钉群机器人二、以文本格式发送信息三、以MarkDown格式发送信息四、以Link格式发送信息前言我们在使用钉钉时,通常会创建或加入多个群聊,身为群聊的管理者,当我们需要及时、并按时的向这些群聊推送一些固定信息,若通过人力来解决肯定非常耗时、耗力,这时我们就可以考虑开发一个自动化脚本来实现这个功能,本篇文章我将教会大家,如何使用python开发程序,实现向钉钉群内自动发送消息。</div> </li> <li><a href="/article/1881294759155265536.htm" title="寄存器 reg" target="_blank">寄存器 reg</a> <span class="text-muted">一条九漏鱼</span> <a class="tag" taget="_blank" href="/search/verilog%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98%E6%8C%87%E5%8D%97/1.htm">verilog开发实战指南</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a> <div>理论学习组合逻辑最大的缺点就是存在竞争冒险问题,会增加电路的不稳定性和不确定性,使用时许逻辑可以极大的避免这种问题,使得系统更加的稳定。时序逻辑最基础的单元就是寄存器,寄存器有存储功能,一般是D触发器(DFlipFlop,DFF)组成。由时钟脉冲控制,每个D触发器能够存储一位二进制码。D触发器的功能:在时钟信号的边沿下,将信号从输入端D送到输出端Q;同步复位D触发器moduleflip_flop(</div> </li> <li><a href="/article/1881294381097480192.htm" title="Python3-excel文档操作(二):利用openpyxl库处理excel表格:在excel表格中插入图片" target="_blank">Python3-excel文档操作(二):利用openpyxl库处理excel表格:在excel表格中插入图片</a> <span class="text-muted">liranke</span> <a class="tag" taget="_blank" href="/search/Python%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0/1.htm">Python学习笔记</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/openpyxl/1.htm">openpyxl</a><a class="tag" taget="_blank" href="/search/python%E5%A4%84%E7%90%86excel/1.htm">python处理excel</a><a class="tag" taget="_blank" href="/search/load_workbook/1.htm">load_workbook</a> <div>1.简介excel表中可以插入图片,使用openpyxl库可以实现这个功能。2.代码:#-*-coding:utf-8-*-importosimportsysimporttimeimportopenpyxlfromopenpyxlimportload_workbookfromopenpyxl.drawing.imageimportImagedefopenxls_insert_img(fname,i</div> </li> <li><a href="/article/1881291342617833472.htm" title="代码随想录训练营第三十八天| 322. 零钱兑换 279.完全平方数 139.单词拆分 背包问题总结篇" target="_blank">代码随想录训练营第三十八天| 322. 零钱兑换 279.完全平方数 139.单词拆分 背包问题总结篇</a> <span class="text-muted">chengooooooo</span> <a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>322.零钱兑换题目链接:322.零钱兑换-力扣(LeetCode)讲解链接:代码随想录和昨天做过的零钱对换不太一样昨天的零钱兑换是完全背包里的球排列问题这个是求在指定的背包容量内求最小的组合数动态规划五部曲1定义dp方程我们假设用了dp[j]个硬币去凑j容量的背包要求dp[j]最小2推导递推公式首先最少用j-coins[i]个硬币来凑dp[j-coins[i]]容量的金额(背包)(不加上他本身的</div> </li> <li><a href="/article/1881288321515188224.htm" title="《CPython Internals》阅读笔记:p250-p284" target="_blank">《CPython Internals》阅读笔记:p250-p284</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>《CPythonInternals》学习第14天,250-p284总结,总计25页。一、技术总结介于我觉得作者写得乱七八糟的,读完我已经不想说话了,所以今日无技术总结。二、英语总结(生词:2)1.spawn(1)spawn:来自于词根expandere。(2)expandere:ex-("out")+pandere("tospread")spawn原来的意思是“spreadingoutoffish</div> </li> <li><a href="/article/1881288193186263040.htm" title="HTML<!DOCTYPE>声明" target="_blank">HTML<!DOCTYPE>声明</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/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>例子TitleofthedocumentThecontentofthedocument......定义和用法所有HTML文档都必须以声明开始。声明不是HTML标签。它是向浏览器提供的有关预期文档类型的“信息”。在HTML5中,声明很简单:浏览器支持较旧的HTML文档在较旧的文档(HTML4或XHTML)中,声明更为复杂,因为声明必须引用DTD(文档类型定义)。HTML4.01:XHTML1.1:提</div> </li> <li><a href="/article/1881288067185176576.htm" title="深度解析 React 合成事件:机制、作用及与 Vue 事件机制的对比" target="_blank">深度解析 React 合成事件:机制、作用及与 Vue 事件机制的对比</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AFvue.jsreact/1.htm">前端vue.jsreact</a> <div>在前端开发领域,React与Vue作为两款备受瞩目的框架,凭借独特的设计理念和技术架构,为开发者打造出截然不同的开发体验。React的合成事件是其核心亮点之一,Vue则采用了别具一格的事件处理机制,二者的差异背后蕴藏着多方面的考量。一、React合成事件的底层剖析(一)事件创建与封装细节当DOM事件触发,React会第一时间在内部事件池中检索对应的合成事件实例。若未找到,便依据原生事件类型,像cl</div> </li> <li><a href="/article/1881286174056706048.htm" title="API对于程序员的多元用法:从基础到实战" target="_blank">API对于程序员的多元用法:从基础到实战</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%90%8E%E7%AB%AF%E8%BF%90%E7%BB%B4%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98api/1.htm">前端后端运维数据挖掘api</a> <div>一、引言在当今数字化时代,应用程序编程接口(API)已成为程序员开发工作中不可或缺的一部分。API就像是不同软件系统之间沟通的桥梁,让程序员能够轻松地利用外部的功能和数据,极大地提升了开发效率和应用的功能性。无论是构建一个简单的网页应用,还是开发复杂的企业级软件,API都扮演着关键角色。接下来,我们将深入探讨API对于程序员的各种用法。二、API基础概念2.1什么是APIAPI是一组定义、协议和工</div> </li> <li><a href="/article/1881285788767940608.htm" title="开启电商新征程:小红书API" target="_blank">开启电商新征程:小红书API</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E5%90%8E%E7%AB%AF%E8%BF%90%E7%BB%B4%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98api/1.htm">前端后端运维数据挖掘api</a> <div>一、前言在当今数字化浪潮下,社交媒体与电商的融合愈发紧密,小红书作为极具影响力的社交电商平台,其API(应用程序接口)备受瞩目。小红书API犹如一座桥梁,连接着小红书平台的海量数据与外部电商世界,为电商领域带来诸多变革契机,正悄然重塑电商的运营模式、营销玩法及用户体验,无论是大型电商巨头,还是新兴的线上小店,都有必要深入了解其背后的价值与潜力。二、小红书API全解析2.1小红书API大家族小红书为</div> </li> <li><a href="/article/1881285410005512192.htm" title="【Java多线程】断点续传 如何使用Java多线程下载网络文件" target="_blank">【Java多线程】断点续传 如何使用Java多线程下载网络文件</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/java%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">java多线程</a> <div>如何使用Java多线程下载网络文件,并实现断点续传在现代网络应用中,多线程下载是一种常见的技术,它可以显著提高下载速度并提供更好的用户体验。本篇文章将介绍如何使用Java实现多线程下载,并结合项目中的代码作为示例进行讲解。1.多线程下载的基本原理多线程下载的基本思想是将一个文件分成多个部分,每个部分由一个线程独立下载,最后将这些部分合并成完整的文件。这样可以充分利用带宽和计算资源,提高下载速度。使</div> </li> <li><a href="/article/1881284146320437248.htm" title="跻身全球高成长企业之列:涛思数据斩获“2024 胡润全球猎豹企业”殊荣" target="_blank">跻身全球高成长企业之列:涛思数据斩获“2024 胡润全球猎豹企业”殊荣</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/tdengine%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">tdengine数据库</a> <div>近日,胡润百富在广州南沙举办了“2024胡润全球猎豹企业大会”,正式发布《2024胡润全球猎豹企业榜》。这份榜单汇聚了全球成立于2000年之后、未来五年内最有可能达到十亿美元独角兽级估值的高成长企业。作为全球创业企业发展的风向标,“胡润全球猎豹企业榜”反映了各行业的创新力量和未来潜力。今年,全球共有928家企业上榜,中国以304家企业位居榜单第二,仅次于美国的359家。榜单显示,这些“猎豹企业”平</div> </li> <li><a href="/article/1881282774992744448.htm" title="如何使用wireshark 解密TLS-SSL报文" target="_blank">如何使用wireshark 解密TLS-SSL报文</a> <span class="text-muted">风清扬-独孤九剑</span> <a class="tag" taget="_blank" href="/search/wireshark/1.htm">wireshark</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E5%B7%A5%E5%85%B7/1.htm">测试工具</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>目录前言原理操作前言现在网站都是https或者很多站点都支持http2。这些站点为了保证数据的安全都通过TLS/SSL加密过,用wireshark并不能很好的去解析报文,我们就需要用wireshark去解密这些报文。我主要讲解下mac在chrome怎么配置的,浏览器一定要支持HTTP2。原理获取TLS握手阶段生成的密钥,也就是说通过Chrome浏览器DEBUG日志中的握手信息生成密钥,wiresh</div> </li> <li><a href="/article/1881280506755084288.htm" title="为AI聊天工具添加一个知识系统 之54 为事务处理 设计 基于DDD的一个 AI操作系统 来处理维度" target="_blank">为AI聊天工具添加一个知识系统 之54 为事务处理 设计 基于DDD的一个 AI操作系统 来处理维度</a> <span class="text-muted">一水鉴天</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E8%AF%AD%E8%A8%80/1.htm">人工语言</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E6%99%BA%E8%83%BD/1.htm">软件智能</a><a class="tag" taget="_blank" href="/search/%E6%99%BA%E8%83%BD%E5%88%B6%E9%80%A0/1.htm">智能制造</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>本文要点要点Architecture程序它被设计为一个双面神结构的控制器,它的两侧一侧编译执行另一侧解释执行,自已则是一个翻译器--通过提供两个不同取向之间的结构映射的显示器(带图形用户接口GUI和命令行接口CLI两种接口)。一个Architecture模型(表面模型接口类)一个Architecture模型采用“本”“迹”二分法,对应一个html模板。该模板中提供三个动态区划>>>代表html占位</div> </li> <li><a href="/article/1881279076866519040.htm" title="共筑BMC技术生态,OurBMC受邀参加第二届融通生态大会" target="_blank">共筑BMC技术生态,OurBMC受邀参加第二届融通生态大会</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>12月11-12日,第二届国家新一代自主安全计算系统产业集群融通生态大会(以下简称“融通生态大会”)在长沙成功召开。本次大会以“聚力自主安全领跑先进计算”为主题,邀请了众多政府领导、行业专家和精英学者参与,共话产业发展新路径,共绘集群融通新蓝图。OurBMC社区受邀参会,社区技术委员会主席李煜受邀在开源技术研讨分论坛发表主题演讲,多方面展示社区在BMC技术创新和产业发展方面的成果,共同推进BMC领</div> </li> <li><a href="/article/1881277057846013952.htm" title="Web三维CAD绘制一个窗户模型" target="_blank">Web三维CAD绘制一个窗户模型</a> <span class="text-muted"></span> <div>前言本文使用mxcad3d在网页中创建一个简单的三维窗户模型,mxcad3d提供了丰富的三维建模功能和便捷的API,使得创建各种三维模型变得简单方便,最终效果如下图:环境搭建和入门首先学习mxcad的基本使用方法,可通过官方的入门教程来搭建一个最基本的项目模板,依次查看教程:安装Node.js以及VSCode开发工具、创建mxcad开发项目、API文档接口使用说明。压缩包下载解压后需要在项目目录下</div> </li> <li><a href="/article/1881276426263523328.htm" title="【TVM 教程】内联及数学函数" target="_blank">【TVM 教程】内联及数学函数</a> <span class="text-muted"></span> <div>ApacheTVM是一个端到端的深度学习编译框架,适用于CPU、GPU和各种机器学习加速芯片。更多TVM中文文档可访问→https://tvm.hyper.ai/作者:TianqiChen尽管TVM支持基本的算术运算,但很多时候,也需要复杂的内置函数,例如exp取指函数。这些函数是依赖target系统的,并且在不同target平台中可能具有不同的名称。本教程会学习到如何调用这些target-spe</div> </li> <li><a href="/article/1881275962776154112.htm" title="C链表的一些基础知识" target="_blank">C链表的一些基础知识</a> <span class="text-muted">weixin_58038206</span> <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/%E9%93%BE%E8%A1%A8/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>一、链表的基本概念链表是一种常见的线性数据结构,它由一系列节点组成,每个节点包含数据部分和指向下一个节点的指针(单链表情况)。通过指针将各个节点连接起来,与数组不同,链表在内存中的存储不是连续的,其优点是可以灵活地进行插入、删除操作,无需像数组那样移动大量元素。二、单链表的实现定义节点结构体://定义单链表节点结构体typedefstructListNode{intdata;//数据域,这里以整型</div> </li> <li><a href="/article/1881275836636655616.htm" title="学习笔记:UART(二)" target="_blank">学习笔记:UART(二)</a> <span class="text-muted">weixin_58038206</span> <a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a> <div>设计一包数据可以参考这样设计intfputc(intch,FILE*f){usart_data_transmit(g_uartHwInfo.uartNo,(uint8_t)ch);while(RESET==usart_flag_get(g_uartHwInfo.uartNo,USART_FLAG_TBE));returnch;}这是重定向,然后就可以使用printf打印调试。voidUSART0_</div> </li> <li><a href="/article/1881275541319905280.htm" title="[Prometheus最佳实践]指标和标签命名" target="_blank">[Prometheus最佳实践]指标和标签命名</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/prometheus/1.htm">prometheus</a> <div>在使用Prometheus时,文档中提供的指标和标签约定并不是必需的,但可以作为样式指南和最佳实践的集合。不同的组织可以对某些实践方法(例如命名约定)采取不同的方式。指标名称指标名称应该符合以下特征:必须符合数据模型中有效字符的要求。应该使用与指标所属领域相关的(单词)应用程序前缀。前缀有时被客户端库称为命名空间。对于特定应用程序的指标,前缀通常是应用程序名称本身。然而,有时指标更通用,例如由客户</div> </li> <li><a href="/article/1881275332745555968.htm" title="Go 语言的函数调用" target="_blank">Go 语言的函数调用</a> <span class="text-muted">写代码写到不能自控</span> <a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%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>1.引言Go语言的函数调用是其核心特性之一,Go的函数调用方式既简洁又强大。理解Go语言中的函数调用机制不仅有助于编写更高效的代码,也能帮助开发者深入了解Go的并发模型和内存管理。在这篇博客中,我们将详细探讨Go语言的函数调用机制,了解函数的声明、调用、参数传递、返回值以及一些高级技巧。2.Go语言函数的基本结构在Go语言中,函数的定义和调用都非常直观。我们来看一个简单的函数定义和调用的例子:pa</div> </li> <li><a href="/article/1881273311279771648.htm" title="怎么使用langchain和ollama自己简单开发搭建一个本地有记忆的大模型?" target="_blank">怎么使用langchain和ollama自己简单开发搭建一个本地有记忆的大模型?</a> <span class="text-muted">玩人工智能的辣条哥</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E4%BA%BA%E7%AE%A1%E5%AE%B6/1.htm">数字人管家</a><a class="tag" taget="_blank" href="/search/Ai%E7%AE%A1%E5%AE%B6/1.htm">Ai管家</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E8%AE%B0%E5%BF%86/1.htm">大模型记忆</a><a class="tag" taget="_blank" href="/search/Flask/1.htm">Flask</a> <div>环境:langchainollama问题描述:怎么使用langchain和ollama开发搭建一个本地有记忆的大模型?之前有个数字人管家项目,需要新增开发数字人后台大模型的记忆功能,测试了一下市面上的开源项目,没有找到满足自己开发需求,下面就自己开发一个小模块项目LLMB,并开源出来,希望各位感兴趣有能力的朋友们,可以更新完善本项目。测试了下下面一些项目,没有满足自己开发需求---###**1.A</div> </li> <li><a href="/article/1881271924399599616.htm" title="做python少儿编程教程-超好玩的Python少儿编程" target="_blank">做python少儿编程教程-超好玩的Python少儿编程</a> <span class="text-muted">weixin_37988176</span> <div>1.作者有14年的计算机培训经验,能抓住青少年的学习心理。2.超过180分钟的视频讲解,可下载也可扫码直接观看。《超好玩的Python少儿编程》是写给青少年读者的编程学习用书,主要通过游戏及作品的实例来讲解Python的编程方法,引导青少年在快乐中学习编程。通过游戏编程实例及有趣的作品,让青少年参与其中,培养他们独立分析问题和解决问题的能力,提高他们的探索精神,为今后进一步深入学习编程打好基础。《</div> </li> <li><a href="/article/1881270879778828288.htm" title="在线CAD绘制条形码和二维码的方法(VUE集成DWG)" target="_blank">在线CAD绘制条形码和二维码的方法(VUE集成DWG)</a> <span class="text-muted"></span> <div>一、条形码绘制1.原理绘制条形码需要根据不同的应用场景选择适当的条形码标准,如常见的codabar、CODE30、CODE128等,每一种条形码标准都有它特定的数据编码规则,调用这些编码规则进行数据编码时会将数据字符按照所选编码规则转换成条和空的组合(一组二进制数据)。不同的条形码标准使用不同的编码规则来表示0到9的数字或26个英文字母。其中,为了确保扫描的准确性,条形码中还包括一个校验字符。这个</div> </li> <li><a href="/article/1881270157452570624.htm" title="出海工具集" target="_blank">出海工具集</a> <span class="text-muted">web前端进阶者</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>群聊分享的一个工具集合,看了几个,感觉有点子用,收藏一波,下面有GitHub的地址;吃水不忘挖井人;GitHub地址分类目录导航Web开发框架或模板Chrome插件开发前端开发后端开发数据库管理对象关系映射(ORM)样式与UI框架原型设计认证与授权支付集成邮件服务网站分析在线客服和反馈服务部署与托管网站管理域名注册文档管理协议生成图标资源字体资源图片视频素材图片视频处理工具屏幕录制短链或长链信息渠</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>