使用StaGen来生成静态网站

译注:StaGen是一个功能极其简单的静态站点生成器,因此它非常容易上手,同时它还是用Java 8写的,有兴趣的话可以看下它的源代码。当然我个人还是比较喜欢[url=http://jekyllrb.com/]Jekyll[/url]。

在没有[url=https://github.com/wiztools/stagen]StaGen[/url]之前,我一直都在用RapidWeaver来管理我的网站 [url=http://www.wiztools.org/]WizTools.org[/url]。RapidWeaver生成的文本格式真的让人很抓狂,这个软件浪费了我太多时间。StaGen的诞生解决了这些问题。我连夜完成了第一个版本。第二天就把我的网站WizTools.org给迁移到StatGen上面了。StaGen的设计目标就是希望能让只有少数几个页面的简单站点的开发和管理变得更容易一些。出于这个的考虑,我选择了markdown作为文档格式,StringTemplate作为内容模板,并使用JSON来存储配置信息。

[b]目录结构[/b]

StaGen管理的网站项目需要遵循如下的目录结构:


.
`-- content
| |-- index.md
| |-- other.md
`-- config
| |-- other.json
|-- master.json
`-- static
| |-- my.css
`-- template
| |-- index.st
| |-- other.st


各个文件夹的作用如下:

[*]content: 这个文件夹用来存储markdown格式的文档。生成的网站中会为每篇文章都单独生成一个HTML文件。content下面的子目录会被StaGen忽略。
[*]config: 每个页面都可以有一些单独的配置信息。配置信息是用JSON格式来存储的。文件名必须和content中的文件名匹配。
[*]master.json:这是主配置文件。里面存储了网站全局的配置信息。
[*]static: 网站中用到的静态资源文件,比如.js,.css以及图片等。
[*]template: [url=http://www.stringtemplate.org/]StringTemplate[/url] 4模板会放在这个目录下。

[b]StaGen是如何工作的[/b]

StaGen引擎处理的顺序是这样的:

1. 加载主配置文件master.json
2. 将静态资源文件拷贝到目标文件夹(网站生成的时候会自动创建一个叫target的文件夹)
3. 对于content目录下的每一个markdown文件:
加载对应的配置信息(下节中会有介绍)
将配置信息应用到对应的模板上,并把结果的HTML文件输出到目标文件夹

[b]加载配置[/b]

配置信息是一个JSON类型的map:


{
"title": "My Site Title",
"activities": ["Dance", "Jump", "Shout"]
}


注意,key必须是字符串,值可以是任意类型的。

前面已经提到过,站点的全局配置是master.json。StaGen在一开始的时候便会加载这个配置文件。当处理到每一篇文章时(比如index.md),StaGen会尝试从config/index.json中加载对应的配置信息。它会覆盖掉主配置文件中的配置信息。也就是说,如果你已经在master.json和config/index.json中都定义了标题,当渲染index.md时,使用的是config/index.json里面的配置。如果config/index.json文件不存在,也无所谓——那就用master.json里面的配置好了。

[b]模板渲染[/b]

StaGen使用的是StringTemplate作为模板。下面是一个简单的模板,它用到了前面提到的JSON配置信息:



...
$titleprebuffer_2lt;/title><br>...<br>[list=1]<br>$activities: {activity|<br>[*]$activityprebuffer_2lt;/li><br>}$<br>[/list]<br>...<br>$_content$<br>...<br></html><br></code></pre> <br> <br>$_content$就是markdown文件渲染出来的HTML。 <br> <br>模板渲染遵循如下的规则: <br> <br>1. 尝试按文章的名字加载模板,比如content.md,StaGen引擎会加载other.st。 <br>2. 如果没有指定专门的模板,则使用默认的index.st模板。因此你要确保你的项目中确实有一个index.st模板。 <br> <br>模板内嵌套模板 <br> <br>你可以在.st文件里再包含一个别的模板,比如你有一个ga.st(ga->Google Analytics)文件,要引入到主模板文件index.st中。在index.st里面你可以这么写: <br> <br> <pre><code class="language-java"><br>$ga()$<br></code></pre> <br> <br>index.st里面会包含ga.st渲染后的内容。需要注意的是,index.st中的所有变量对引入的模板都是可见的。 <br> <br>[b]StaGen的使用[/b] <br> <br>StaGen是以一个jar包的形式发布的。想获取这个工具的帮助信息的话: <br> <br> <pre><code class="language-java"><br>java -jar ~/stagen-VER-full.jar -h<br></code></pre> <br> <br>从项目里生成站点: <br> <br> <pre><code class="language-java"><br>java -jar ~/stagen-VER-full.jar gen<br></code></pre> <br> <br>上述命令将会在target目录中生成一个静态网站。 <br> <br>想清除target目录的话: <br> <br> <pre><code class="language-java"><br>java -jar ~/stagen-VER-full.jar clean<br></code></pre> <br> <br>如果你刚开始用StaGen,想创建一个新的项目结构: <br> <br> <pre><code class="language-java"><br>java -jar ~/stagen-VER-full.jar init<br></code></pre> <br> <br>[b]总结[/b] <br> <br>StaGen故意设计得非常简单。我自己不会用它来管理太复杂的站点。它不像别的静态网站生成器那样能支持博客或者主题。我相信,StaGen不支持这些特性,这也正是它的过人之处。 <br> <br>原创文章转载请注明出处:[url=http://it.deepinmind.com]http://it.deepinmind.com[/url] <br> <br>[url=http://java.dzone.com/articles/stagen-static-site-generator]英文原文链接[/url] </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1280631044306911232"></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">你可能感兴趣的:(使用StaGen来生成静态网站)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1899357944596721664.htm" title="深度解析:DETR的多尺度特征融合" target="_blank">深度解析:DETR的多尺度特征融合</a> <span class="text-muted">AI天才研究院</span> <a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/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/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</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%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a> <div>"深度解析:DETR的多尺度特征融合"作者:禅与计算机程序设计艺术1.背景介绍1.1目标检测的挑战与传统方法的局限性目标检测是计算机视觉领域中的一个基本任务,其目标是识别图像或视频中所有感兴趣的目标,并确定它们的位置和类别。传统的目标检测方法,如FasterR-CNN和YOLO,通常依赖于预定义的锚框或候选区域来生成目标proposals。然而,这些方法存在一些固有的局限性:人工先验知识:锚框的设</div> </li> <li><a href="/article/1899356558266003456.htm" title="基于transformer实现机器翻译(日译中)" target="_blank">基于transformer实现机器翻译(日译中)</a> <span class="text-muted">小白_laughter</span> <a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E5%AD%A6%E4%B9%A0/1.htm">课程学习</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E7%BF%BB%E8%AF%91/1.htm">机器翻译</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a> <div>文章目录一、引言二、使用编码器—解码器和注意力机制来实现机器翻译模型2.0含注意力机制的编码器—解码器2.1读取和预处理数据2.2含注意力机制的编码器—解码器2.3训练模型2.4预测不定长的序列2.5评价翻译结果三、使用Transformer架构和PyTorch深度学习库来实现的日中机器翻译模型3.1、导入必要的库3.2、数据集准备3.3、准备分词器3.4、构建TorchText词汇表对象,并将句</div> </li> <li><a href="/article/1899356180107554816.htm" title="Java的定时器Timer和TimerTask使用全解析" target="_blank">Java的定时器Timer和TimerTask使用全解析</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/1.htm">java</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</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编程中,定时任务是一个常见的需求。无论是定期执行某些操作,还是在特定时间点执行任务,Java提供的Timer和TimerTask类就可以帮助我们轻松实现这些功能。今天将详细介绍如何使用这两个类,包括任务的执行和暂停。理解Timer和TimerTaskTimer是一个可以安排任务在指定的时间或周期性地执行的类。TimerTask是一个抽象类,表示要被定时执行的任务。使用Timer时,我们需</div> </li> <li><a href="/article/1899355927904055296.htm" title="vue + antd使用a-select的placeholder默认显示不生效" target="_blank">vue + antd使用a-select的placeholder默认显示不生效</a> <span class="text-muted">ai~yun</span> <a class="tag" taget="_blank" href="/search/antd/1.htm">antd</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</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/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a> <div>代码:<<</div> </li> <li><a href="/article/1899355046076805120.htm" title="QOpenGLShaderProgram 对象" target="_blank">QOpenGLShaderProgram 对象</a> <span class="text-muted">阳光开朗_大男孩儿</span> <a class="tag" taget="_blank" href="/search/OpenGL/1.htm">OpenGL</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/OpenGL/1.htm">OpenGL</a> <div>本篇文章是基于完整例子和调用关系qtOpenGL-CSDN博客补充疑惑说明,但单独观看也不影响理解。shaderProgram是一个QOpenGLShaderProgram对象,负责管理和使用OpenGL着色器程序。在OpenGL中,着色器是用来在图形渲染流水线中处理顶点和像素的程序,它们定义了如何绘制每个顶点和每个像素的颜色。具体来说,shaderProgram在这个代码中做的事情包括:1.加载</div> </li> <li><a href="/article/1899355046521401344.htm" title="OpenGL疑惑" target="_blank">OpenGL疑惑</a> <span class="text-muted">阳光开朗_大男孩儿</span> <a class="tag" taget="_blank" href="/search/OpenGL/1.htm">OpenGL</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/OpenGL/1.htm">OpenGL</a> <div>本篇文章基于完整例子和调用关系qtOpenGL-CSDN博客进行的疑惑补充,建议先观看例子,在看此篇。1.为什么glBindVertexArray解绑和绑定是一样的?glBindVertexArray是用来绑定和解绑顶点数组对象(VAO)的。绑定VAO的目的是告诉OpenGL在当前上下文中使用哪个VAO,它会保存和管理与该VAO相关的顶点缓冲区对象(VBO)和其他状态。绑定VAO(glBindVe</div> </li> <li><a href="/article/1899354793743282176.htm" title="拷贝构造函数和移动构造函数" target="_blank">拷贝构造函数和移动构造函数</a> <span class="text-muted">阳光开朗_大男孩儿</span> <a class="tag" taget="_blank" href="/search/c%2B%2B%E7%AC%94%E8%AE%B0/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> <div>目录1.拷贝构造函数和移动构造函数概念2.拷贝构造函数和移动构造函数调用时机2.1移动构造函数通常在以下情况被使用:2.2拷贝构造函数通常在以下情况被使用:2.3如果没有移动构造函数呢右值调用拷贝构造吗?2.4移动构造默认生成的条件?2.5拷贝构造默认生成的条件3.为什么有移动构造函数?4.拷贝构造函数为什么使用const?5.非临时对象可以调用移动构造函数吗?6.返回局部对象和拷贝构造返回局部对</div> </li> <li><a href="/article/1899352904133832704.htm" title="关于uni-app发布手机APP上架各应用商城,隐私政策书写方案说明" target="_blank">关于uni-app发布手机APP上架各应用商城,隐私政策书写方案说明</a> <span class="text-muted">Otaku love travel</span> <a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E5%8F%91%E5%B8%83/1.htm">应用发布</a><a class="tag" taget="_blank" href="/search/%E6%94%BF%E7%AD%96%E8%AF%B4%E6%98%8E/1.htm">政策说明</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%BA%94%E7%94%A8%E5%8F%91%E5%B8%83/1.htm">应用发布</a><a class="tag" taget="_blank" href="/search/%E9%9A%90%E7%A7%81%E6%94%BF%E7%AD%96/1.htm">隐私政策</a> <div>uni-app应用隐私政策书写与上架方案说明一、前言随着移动互联网监管日趋严格,隐私政策已成为APP上架应用商城的核心合规文件。隐私政策不仅体现开发者对用户数据的尊重,更是满足《个人信息保护法》《网络安全法》《数据安全法》等法规的法律义务。核心目标:清晰告知用户数据收集与使用规则,建立用户信任。适用对象:所有通过uni-app开发并计划上架主流应用商城(如苹果AppStore、华为应用市场、小米应</div> </li> <li><a href="/article/1899351641677688832.htm" title="你了解TikTok的矩阵玩法吗?这一策略能帮助你实现精准引流!" target="_blank">你了解TikTok的矩阵玩法吗?这一策略能帮助你实现精准引流!</a> <span class="text-muted">m0_74891046</span> <a class="tag" taget="_blank" href="/search/%E7%9F%A9%E9%98%B5/1.htm">矩阵</a> <div>TikTok已经不再是一个单纯的娱乐平台,它逐渐成为了很多人商业变现的利器。今天,咱们来聊聊TikTok矩阵玩法,看看如何利用多个账号协同作战,实现精准的引流和推广。什么是TikTok矩阵玩法?矩阵玩法是一种通过多个TikTok账号配合运营,进行内容推广和流量引导的策略。通过精细化分工和协同作战,每个账号都有不同的目标和任务,从而实现更高效的流量转化和用户增长。矩阵玩法的优势:精准引流每个账号针对</div> </li> <li><a href="/article/1899351263640875008.htm" title="【NLP 39、激活函数 ⑤ Swish激活函数】" target="_blank">【NLP 39、激活函数 ⑤ Swish激活函数】</a> <span class="text-muted">L_cl</span> <a class="tag" taget="_blank" href="/search/NLP/1.htm">NLP</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/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>我的孤独原本是座荒岛,直到你称成潮汐,原来爱是让个体失序的永恒运动——25.2.25Swish激活函数是一种近年来在深度学习中广泛应用的激活函数,由GoogleBrain团队在2017年提出。其核心设计结合了Sigmoid门控机制和线性输入的乘积,通过引入平滑性和非单调性来提升模型性能。一、数学定义与变体1.基础形式Swish的标准表达式为:Swish(x)=x⋅σ(βx)其中:σ(x)是Sigm</div> </li> <li><a href="/article/1899350382295969792.htm" title="Monorepo与pnpm:前端项目管理的完美搭档" target="_blank">Monorepo与pnpm:前端项目管理的完美搭档</a> <span class="text-muted">秋の本名</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/pnpm/1.htm">pnpm</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/mojo/1.htm">mojo</a> <div>一、什么是pnpmpnpm又称performantnpm,翻译过来就是高性能的npm。1.节省磁盘空间提高安装效率pnpm通过使用硬链接和符号链接(又称软链接)的方式来避免重复安装以及提高安装效率。硬链接:和原文件共用一个磁盘地址,相当于别名的作用,如果更改其中一个内容,另一个也会跟着改变符号链接(软链接):是一个新的文件,指向原文件路径地址,类似于快捷方式官网原话:当使用npm时,如果你有100</div> </li> <li><a href="/article/1899349620543254528.htm" title="CentOS停更;阿里发布全新操作系统(Anolis OS)" target="_blank">CentOS停更;阿里发布全新操作系统(Anolis OS)</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>镜像下载、域名解析、时间同步请点击阿里云开源镜像站Linux系统对于Java程序员来说,就好比“乞丐手里的碗”,任何业务都离不开他的身影,因为服务端的广泛使用,也因此衍生出了各种不同的发行版,其中我个人用的最多、且最喜欢的就是CentOS;不幸的是,2021年底CentOS8宣布停止了维护;不过,喜欢CentOS的朋友们不用为此而难过;21年的云栖大会上,阿里云发布全新操作系统“龙蜥”(Anoli</div> </li> <li><a href="/article/1899347352498532352.htm" title="Python 字符串操作" target="_blank">Python 字符串操作</a> <span class="text-muted">iteye_13776</span> <a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/C/1.htm">C</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a> <div>Python截取字符串使用变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾。#例1:字符串截取str='12345678'printstr[0:1]>>1#输出str位置0开始到位置1以前的字符printstr[1:6]>>23456#输出str位置1开始到位置6以前的字符num=18str='0000'+str(num)#合并字</div> </li> <li><a href="/article/1899344329625890816.htm" title="Go 语言使用Protobuf 进行序列化详解" target="_blank">Go 语言使用Protobuf 进行序列化详解</a> <span class="text-muted">尘鹄</span> <a class="tag" taget="_blank" href="/search/Go/1.htm">Go</a><a class="tag" taget="_blank" href="/search/%E8%AF%AD%E8%A8%80%E5%AD%A6%E4%B9%A0%E4%B9%8B%E8%B7%AF/1.htm">语言学习之路</a><a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/rpc/1.htm">rpc</a><a class="tag" taget="_blank" href="/search/go/1.htm">go</a> <div>文章目录Go语言使用Protobuf进行序列化详解1.Protobuf是什么?2.安装Protobuf及Go依赖3.编写.proto文件4.实现序列化和反序列化Go语言使用Protobuf进行序列化详解1.Protobuf是什么?以下是Protobuf官方中文文档的概述:Protobuf(ProtocolBuffers)是一种语言中立、平台中立的可扩展机制,用于序列化结构化数据。它类似于JSON,</div> </li> <li><a href="/article/1899343699440103424.htm" title="Qt 串口类QSerialPort 使用笔记" target="_blank">Qt 串口类QSerialPort 使用笔记</a> <span class="text-muted">一对一答疑的编程作家朱文伟</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/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>Qt串口类QSerialPort使用笔记虽然现在大多数的家用PC机上已经不提供RS232接口了。但是由于RS232串口操作简单、通讯可靠,在工业领域中仍然有大量的应用。Qt以前的版本中,没有提供官方的对RS232串口的支持,编写串口程序很不方便。现在好了,在Qt5.1中提供了QtSerialPort模块,方便编程人员快速的开发应用串口的应用程序。本文就简单的讲讲QtSerialPort模块的使用。</div> </li> <li><a href="/article/1899343573246078976.htm" title="web前端期末大作业:婚纱网页主题网站设计——唯一旅拍婚纱公司网站HTML+CSS+JavaScript" target="_blank">web前端期末大作业:婚纱网页主题网站设计——唯一旅拍婚纱公司网站HTML+CSS+JavaScript</a> <span class="text-muted">IT-司马青衫</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">课程设计</a><a class="tag" taget="_blank" href="/search/html/1.htm">html</a> <div>‍静态网站的编写主要是用HTMLDⅣV+CSSJS等来完成页面的排版设计‍,一般的网页作业需要融入以下知识点:div布局、浮动定位、高级css、表格、表单及验证、js轮播图、音频视频Fash的应用、uli、下拉导航栏、鼠标划过效果等知识点,学生网页作业源码,制作水平和原创度都适合学习或交作业用,记得点赞。精彩专栏推荐【作者主页——获取更多优质源码】【web前端期末大作业——毕设项目精品实战案例(1</div> </li> <li><a href="/article/1899343443029716992.htm" title="在 ASP.NET Core WebAPI 中使用 JWT 验证" target="_blank">在 ASP.NET Core WebAPI 中使用 JWT 验证</a> <span class="text-muted">.NET跨平台</span> <a class="tag" taget="_blank" href="/search/ASP.NET/1.htm">ASP.NET</a><a class="tag" taget="_blank" href="/search/Core/1.htm">Core</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/API/1.htm">API</a><a class="tag" taget="_blank" href="/search/IdentityServer4/1.htm">IdentityServer4</a><a class="tag" taget="_blank" href="/search/OAuth2.0%E5%8D%8F%E8%AE%AE/1.htm">OAuth2.0协议</a><a class="tag" taget="_blank" href="/search/.NET/1.htm">.NET</a><a class="tag" taget="_blank" href="/search/CORE/1.htm">CORE</a><a class="tag" taget="_blank" href="/search/WEBAPI/1.htm">WEBAPI</a><a class="tag" taget="_blank" href="/search/JWT/1.htm">JWT</a> <div>为了保护WebAPI仅提供合法的使用者存取,有很多机制可以做,透过JWT(JSONWebToken)便是其中一种方式,这篇示范如何使用官方所提供的System.IdentityModel.Tokens.Jwt扩充套件,处理呼叫API的来源是否为合法的使用者身分。顺道一提,要产生JWTToken有很多套件可以帮助开发者快速建立,JWT这个NuGet套件就是其中一个,但这裡我使用官方所提供的Syste</div> </li> <li><a href="/article/1899343446825562112.htm" title="API身份验证使用JWT的.NET实现" target="_blank">API身份验证使用JWT的.NET实现</a> <span class="text-muted">雨夜思绪~静谧思考</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>API身份验证使用JWT的.NET实现在现代的应用程序开发中,API身份验证是一项至关重要的任务。JWT(JSONWebToken)是一种常用的身份验证机制,它使用JSON格式表示身份验证信息,并使用签名进行验证。在.NET平台上,我们可以使用一些库来实现JWT身份验证。本文将介绍如何使用.NET来进行API身份验证并使用JWT作为身份验证机制。引入依赖项首先,我们需要在我们的项目中引入相关的依赖</div> </li> <li><a href="/article/1899342938668855296.htm" title="【Go语言圣经1.1】" target="_blank">【Go语言圣经1.1】</a> <span class="text-muted">Pyroyster</span> <a class="tag" taget="_blank" href="/search/golang/1.htm">golang</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>目标学习Go的编译方式、包的组织方式以及工具链的统一调用方式概念与定义packageGo语言通过包来组织代码。包类似于其它语言的库librarries或模块modules,每个包通常对应一个目录,目录中的所有.go文件都属于同一个包。特殊的main包:当代码使用packagemain声明时,表示这是一个可独立执行的程序而非一个库。程序的执行入口就是main函数import通过import语句,编译</div> </li> <li><a href="/article/1899342308202049536.htm" title="Spike Neural Network Introduction and Research Directions" target="_blank">Spike Neural Network Introduction and Research Directions</a> <span class="text-muted">Debug_Snail</span> <a class="tag" taget="_blank" href="/search/SNN/1.htm">SNN</a><a class="tag" taget="_blank" href="/search/Neuralnetwork/1.htm">Neuralnetwork</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/AIGC/1.htm">AIGC</a> <div>1.SNNs是一类神经网络,其中的神经元通过脉冲(spikes)来传递信息,而不是像传统的人工神经网络中那样使用实数值激活。SNNs更接近生物学上的神经系统,因为生物神经元也是通过电信号脉冲来传递信息的。与传统神经网络相比,SNNs具有以下几个特点:更低的功耗-因为只在发生脉冲时才激活神经元,所以整体功耗会比传统神经网络低很多。这使得SNNs很适合应用在对功耗要求非常严格的场景,如边缘计算。时序编</div> </li> <li><a href="/article/1899341300054945792.htm" title="哪个AI论文生成助手好用?5 款AI论文工具深度评测" target="_blank">哪个AI论文生成助手好用?5 款AI论文工具深度评测</a> <span class="text-muted">AI论文图鉴</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>2025年,AI论文写作工具如雨后春笋般涌现,迅速在学术圈走红。身为一个常被论文写作困扰的“懒人”,我对这些工具的实际表现充满好奇。于是,我亲测了五款当下国内外最热门的AI论文写作助手,从功能、交互、写作水平、写作效率等维度进行全面评测,结果令人惊喜。相信这篇文章能为仍在观望的你带来新的启发与认识。这次测评,我挑选了五款极具代表性的AI工具,以“基于大语言模型的医疗诊断研究”为主题,看它们如何大显</div> </li> <li><a href="/article/1899340922013937664.htm" title="笔记:在.Net Core Web Api里使用JWT" target="_blank">笔记:在.Net Core Web Api里使用JWT</a> <span class="text-muted">风中的余烬~</span> <a class="tag" taget="_blank" href="/search/.netcore/1.htm">.netcore</a><a class="tag" taget="_blank" href="/search/%E7%AC%94%E8%AE%B0/1.htm">笔记</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>首先,先建一个JWT配置类//////JWT配置类///publicclassJwtTokenOption{//////Token过期时间,默认为60分钟///publicintTokenExpireTime{get;set;}=60;//////接收人///publicstring?Audience{get;set;}//////秘钥///publicstring?SecurityKey{get</div> </li> <li><a href="/article/1899338906554396672.htm" title="Vue初体验" target="_blank">Vue初体验</a> <span class="text-muted">码上跑步</span> <a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>Vue基础Vue是什么?Vue是javascript的渐进式框架。Vue初识Vue工作时必须要创建一个Vue的实例,并且传入一个配置对象。root容器里的代码是符合html的语法但是新添加了一些Vue语法,在这些地方Vue会自动进行解析。root容器里的代码称为Vue模版。Vue实例和容器是一一对应的。在实际开发中只有一个Vue,配合组件使用。在vue里的插值{{}}内部只要写js表达式就能正常解</div> </li> <li><a href="/article/1899338024660037632.htm" title="AI-大模型中的流式输出与非流式输出" target="_blank">AI-大模型中的流式输出与非流式输出</a> <span class="text-muted">岂不闻</span> <a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a> <div>1.前言在大模型API开发中,流式与非流式输出对应着两种不同的数据交互,在代码中stream中通过参数true与false来进行设定。2.流式输出与非流式输出的原理2.1.非流式输出-请求一次响应返回完整数据非流式输出,传统的请求-响应模式,发起请求-等待完整内容生成后一次性返回给客户端。完整性:返回经过处理和验证的完整响应。单次传输:采用标准HTTP请求与响应模式,一次传输所有数据。等待时间:用</div> </li> <li><a href="/article/1899337646648389632.htm" title="ES6 解构详解" target="_blank">ES6 解构详解</a> <span class="text-muted">yqcoder</span> <a class="tag" taget="_blank" href="/search/es6/1.htm">es6</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>一、数组解构1.基本用法可以按照数组元素的顺序将数组中的值提取到变量中。constarr=[1,2,3];const[a,b,c]=arr;console.log(a);//1console.log(b);//2console.log(c);//32.忽略某些元素如果不想提取数组中的某些元素,可以使用逗号占位。const[x,,z]=[1,2,3];console.log(x);//1consol</div> </li> <li><a href="/article/1899337016932364288.htm" title="JWT在.NET8 Webapi中的使用" target="_blank">JWT在.NET8 Webapi中的使用</a> <span class="text-muted">Evan.Pei</span> <a class="tag" taget="_blank" href="/search/.net/1.htm">.net</a> <div>JWT身份验证在现代Web应用中广泛使用,主要用于安全地传输用户身份信息.1.身份验证(用户登录后,服务器生成一个JWT并返回给客户端。客户端在后续请求中携带该JWT,服务器通过验证JWT来确认用户身份)2.授权(JWT中可以包含用户的角色或权限信息(如role:“admin”)。服务器根据JWT中的信息决定用户是否有权访问特定资源)3.信息交换(JWT可以包含一些非敏感的用户信息(如用户ID、用</div> </li> <li><a href="/article/1899336890138554368.htm" title="Bug:QT不能生成可执行文件" target="_blank">Bug:QT不能生成可执行文件</a> <span class="text-muted">lkasi</span> <a class="tag" taget="_blank" href="/search/bug/1.htm">bug</a> <div>问题描述:为了生成可执行文件,将项目以release方式进行构建,并且在.pro文件中加入TEMPLATE=app#这生成一个exeQMAKE_LFLAGS+=-no-pie并且执行runqmake,生成的仍是sharedlibrary!!!解决方法:将下面代码放在.pro靠下的位置,并且再次执行runqmake,再构建就成功了TEMPLATE=app#这生成一个exeQMAKE_LFLAGS+=</div> </li> <li><a href="/article/1899336890570567680.htm" title="机器学习实战——音乐流派分类(主页有源码)" target="_blank">机器学习实战——音乐流派分类(主页有源码)</a> <span class="text-muted">喵了个AI</span> <a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0%E5%AE%9E%E6%88%98/1.htm">机器学习实战</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%B1%BB/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>✨个人主页欢迎您的访问✨期待您的三连✨✨个人主页欢迎您的访问✨期待您的三连✨✨个人主页欢迎您的访问✨期待您的三连✨1.简介音乐流派分类是音乐信息检索(MusicInformationRetrieval,MIR)中的一个重要任务,旨在通过分析音频信号的特征,将音乐自动分类到不同的流派(如古典、摇滚、爵士、流行等)。随着数字音乐平台的普及,音乐流派分类技术被广泛应用于音乐推荐、自动标签生成和音乐库管理</div> </li> <li><a href="/article/1899336512005271552.htm" title="MAC电脑配置VSCode写JAVA" target="_blank">MAC电脑配置VSCode写JAVA</a> <span class="text-muted">davidson1471</span> <a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/homebrew/1.htm">homebrew</a> <div>一、安装JDK(Homebrew安装openJDK)使用清华源安装Homebrew清华源安装Home-brew教程Homebrew安装JDK8brewtapadoptopenjdk/openjdkbrewinstall--caskadoptopenjdk8查看JDK路径/usr/libexec/java_home二、配置VSCodeMAC配置VSCode教程</div> </li> <li><a href="/article/1899335126219812864.htm" title="Flutter中使用NetworkImage加载网络图片缓存问题学习实践" target="_blank">Flutter中使用NetworkImage加载网络图片缓存问题学习实践</a> <span class="text-muted">云水-禅心</span> <a class="tag" taget="_blank" href="/search/flutter/1.htm">flutter</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>Flutter中默认的NetworkImage会有缓存机制,如果图片的url不变化,但是url的图片已经发生变化,NetworkImage不会下载新的图片deepseek是这么解决问题的,但是在鸿蒙上禁用缓存无效在Flutter中,NetworkImage默认会使用缓存机制来优化性能。如果你想禁用缓存,可以通过以下几种方式实现:1.使用NetworkImage的headers参数你可以通过设置he</div> </li> <li><a href="/article/79.htm" title="基本数据类型和引用类型的初始值" target="_blank">基本数据类型和引用类型的初始值</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java%E5%9F%BA%E7%A1%80/1.htm">java基础</a> <div>package com.array; /** * @Description 测试初始值 * @author FuJianyong * 2015-1-22上午10:31:53 */ public class ArrayTest { ArrayTest at; String str; byte bt; short s; int i; long</div> </li> <li><a href="/article/206.htm" title="摘抄笔记--《编写高质量代码:改善Java程序的151个建议》" target="_blank">摘抄笔记--《编写高质量代码:改善Java程序的151个建议》</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/%E9%AB%98%E8%B4%A8%E9%87%8F%E4%BB%A3%E7%A0%81/1.htm">高质量代码</a> <div>        记得3年前刚到公司,同桌同事见我无事可做就借我看《编写高质量代码:改善Java程序的151个建议》这本书,当时看了几页没上心就没研究了。到上个月在公司偶然看到,于是乎又找来看看,我的天,真是非常多的干货,对于我这种静不下心的人真是帮助莫大呀。           看完整本书,也记了不少笔记</div> </li> <li><a href="/article/333.htm" title="【备忘】Django 常用命令及最佳实践" target="_blank">【备忘】Django 常用命令及最佳实践</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/django/1.htm">django</a> <div>注意:本文基于 Django 1.8.2 版本   生成数据库迁移脚本(python 脚本) python manage.py makemigrations polls  说明:polls 是你的应用名字,运行该命令时需要根据你的应用名字进行调整   查看该次迁移需要执行的 SQL 语句(只查看语句,并不应用到数据库上): python manage.p</div> </li> <li><a href="/article/460.htm" title="阶乘算法之一N! 末尾有多少个零" target="_blank">阶乘算法之一N! 末尾有多少个零</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E9%98%B6%E4%B9%98/1.htm">阶乘</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%95%88%E7%8E%87/1.htm">效率</a> <div>                                 &n</div> </li> <li><a href="/article/587.htm" title="spring注入servlet" target="_blank">spring注入servlet</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/Spring%E6%B3%A8%E5%85%A5/1.htm">Spring注入</a> <div>传统的配置方法是无法将bean或属性直接注入到servlet中的,配置代理servlet亦比较麻烦,这里其实有比较简单的方法,其实就是在servlet的init()方法中加入要注入的内容: ServletContext application = getServletContext(); WebApplicationContext wac = WebApplicationContextUtil</div> </li> <li><a href="/article/714.htm" title="Jenkins 命令行操作说明文档" target="_blank">Jenkins 命令行操作说明文档</a> <span class="text-muted">510888780</span> <a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div> 假设Jenkins的URL为http://22.11.140.38:9080/jenkins/ 基本的格式为 java 基本的格式为 java -jar jenkins-cli.jar [-s JENKINS_URL] command [options][args] 下面具体介绍各个命令的作用及基本使用方法 1. &nb</div> </li> <li><a href="/article/841.htm" title="UnicodeBlock检测中文用法" target="_blank">UnicodeBlock检测中文用法</a> <span class="text-muted">布衣凌宇</span> <a class="tag" taget="_blank" href="/search/UnicodeBlock/1.htm">UnicodeBlock</a> <div>/**  * 判断输入的是汉字  */ public static boolean isChinese(char c) {        Character.UnicodeBlock ub = Character.UnicodeBlock.of(c);    </div> </li> <li><a href="/article/968.htm" title="java下实现调用oracle的存储过程和函数" target="_blank">java下实现调用oracle的存储过程和函数</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/orale/1.htm">orale</a> <div> 1.创建表:STOCK_PRICES     2.插入测试数据:     3.建立一个返回游标:  PKG_PUB_UTILS   4.创建和存储过程:P_GET_PRICE     5.创建函数:   6.JAVA调用存储过程返回结果集 JDBCoracle10G_INVO</div> </li> <li><a href="/article/1095.htm" title="Velocity Toolbox" target="_blank">Velocity Toolbox</a> <span class="text-muted">antlove</span> <a class="tag" taget="_blank" href="/search/%E6%A8%A1%E6%9D%BF/1.htm">模板</a><a class="tag" taget="_blank" href="/search/tool/1.htm">tool</a><a class="tag" taget="_blank" href="/search/box/1.htm">box</a><a class="tag" taget="_blank" href="/search/velocity/1.htm">velocity</a> <div>velocity.VelocityUtil package velocity; import org.apache.velocity.Template; import org.apache.velocity.app.Velocity; import org.apache.velocity.app.VelocityEngine; import org.apache.velocity.c</div> </li> <li><a href="/article/1222.htm" title="JAVA正则表达式匹配基础" target="_blank">JAVA正则表达式匹配基础</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/%E6%AD%A3%E5%88%99%E8%A1%A8%E8%BE%BE%E5%BC%8F%E7%9A%84%E5%8C%B9%E9%85%8D/1.htm">正则表达式的匹配</a> <div>  正则表达式;提高程序的性能,简化代码,提高代码的可读性,简化对字符串的操作   正则表达式的用途; 字符串的匹配 字符串的分割 字符串的查找 字符串的替换       正则表达式的验证语法     [a] //[]表示这个字符只出现一次 ,[a] 表示a只出现一</div> </li> <li><a href="/article/1349.htm" title="是否使用EL表达式的配置" target="_blank">是否使用EL表达式的配置</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a><a class="tag" taget="_blank" href="/search/web.xml/1.htm">web.xml</a><a class="tag" taget="_blank" href="/search/EL/1.htm">EL</a><a class="tag" taget="_blank" href="/search/EasyTemplate/1.htm">EasyTemplate</a> <div>        今天在开发过程中发现一个细节问题,由于前端采用EasyTemplate模板方法实现数据展示,但老是不能正常显示出来。后来发现竟是EL将我的EasyTemplate的${...}解释执行了,导致我的模板不能正常展示后台数据。         网</div> </li> <li><a href="/article/1476.htm" title="精通Oracle10编程SQL(1-3)PLSQL基础" target="_blank">精通Oracle10编程SQL(1-3)PLSQL基础</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</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/plsql/1.htm">plsql</a> <div>--只包含执行部分的PL/SQL块 --set serveroutput off begin dbms_output.put_line('Hello,everyone!'); end; select * from emp; --包含定义部分和执行部分的PL/SQL块 declare v_ename varchar2(5); begin select </div> </li> <li><a href="/article/1603.htm" title="【Nginx三】Nginx作为反向代理服务器" target="_blank">【Nginx三】Nginx作为反向代理服务器</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>Nginx一个常用的功能是作为代理服务器。代理服务器通常完成如下的功能:   接受客户端请求 将请求转发给被代理的服务器 从被代理的服务器获得响应结果 把响应结果返回给客户端 实例 本文把Nginx配置成一个简单的代理服务器 对于静态的html和图片,直接从Nginx获取 对于动态的页面,例如JSP或者Servlet,Nginx则将请求转发给Res</div> </li> <li><a href="/article/1730.htm" title="Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin" target="_blank">Plugin execution not covered by lifecycle configuration: org.apache.maven.plugin</a> <span class="text-muted">blackproof</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/%E6%8A%A5%E9%94%99/1.htm">报错</a> <div>转:http://stackoverflow.com/questions/6352208/how-to-solve-plugin-execution-not-covered-by-lifecycle-configuration-for-sprin   maven报错: Plugin execution not covered by lifecycle configuration: </div> </li> <li><a href="/article/1857.htm" title="发布docker程序到marathon" target="_blank">发布docker程序到marathon</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/docker+%E5%8F%91%E5%B8%83%E5%BA%94%E7%94%A8/1.htm">docker 发布应用</a> <div>1 发布docker程序到marathon 1.1 搭建私有docker registry 1.1.1 安装docker regisry docker pull docker-registry docker run -t -p 5000:5000 docker-registry 下载docker镜像并发布到私有registry docker pull consol/tomcat-8.0 </div> </li> <li><a href="/article/1984.htm" title="java-57-用两个栈实现队列&&用两个队列实现一个栈" target="_blank">java-57-用两个栈实现队列&&用两个队列实现一个栈</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Stack; /* * Q 57 用两个栈实现队列 */ public class QueueImplementByTwoStacks { private Stack<Integer> stack1; pr</div> </li> <li><a href="/article/2111.htm" title="Nginx配置性能优化" target="_blank">Nginx配置性能优化</a> <span class="text-muted">cfyme</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>转载地址:http://blog.csdn.net/xifeijian/article/details/20956605   大多数的Nginx安装指南告诉你如下基础知识——通过apt-get安装,修改这里或那里的几行配置,好了,你已经有了一个Web服务器了。而且,在大多数情况下,一个常规安装的nginx对你的网站来说已经能很好地工作了。然而,如果你真的想挤压出Nginx的性能,你必</div> </li> <li><a href="/article/2238.htm" title="[JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术" target="_blank">[JAVA图形图像]JAVA体系需要稳扎稳打,逐步推进图像图形处理技术</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>      对图形图像进行精确处理,需要大量的数学工具,即使是从底层硬件模拟层开始设计,也离不开大量的数学工具包,因为我认为,JAVA语言体系在图形图像处理模块上面的研发工作,需要从开发一些基础的,类似实时数学函数构造器和解析器的软件包入手,而不是急于利用第三方代码工具来实现一个不严格的图形图像处理软件......   &nb</div> </li> <li><a href="/article/2365.htm" title="MonkeyRunner的使用" target="_blank">MonkeyRunner的使用</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/MonkeyRunner/1.htm">MonkeyRunner</a> <div>要使用MonkeyRunner,就要学习使用Python,哎 先抄一段官方doc里的代码 作用是启动一个程序(应该是启动程序默认的Activity),然后按MENU键,并截屏 # Imports the monkeyrunner modules used by this program from com.android.monkeyrunner import MonkeyRun</div> </li> <li><a href="/article/2492.htm" title="Hadoop-- 海量文件的分布式计算处理方案" target="_blank">Hadoop-- 海量文件的分布式计算处理方案</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/mapreduce/1.htm">mapreduce</a><a class="tag" taget="_blank" href="/search/hadoop/1.htm">hadoop</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F%E8%AE%A1%E7%AE%97/1.htm">分布式计算</a> <div>csdn的一个关于hadoop的分布式处理方案,存档。 原帖:http://blog.csdn.net/calvinxiu/article/details/1506112。     Hadoop 是Google MapReduce的一个Java实现。MapReduce是一种简化的分布式编程模式,让程序自动分布到一个由普通机器组成的超大集群上并发执行。就如同ja</div> </li> <li><a href="/article/2619.htm" title="以資料庫驗證登入" target="_blank">以資料庫驗證登入</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/yii/1.htm">yii</a> <div>以資料庫驗證登入 由於 Yii 內定的原始框架程式, 採用綁定在UserIdentity.php 的 demo 與 admin 帳號密碼:    public function authenticate()    {        $users=array( &nbs</div> </li> <li><a href="/article/2746.htm" title="github做webhooks:[2]php版本自动触发更新" target="_blank">github做webhooks:[2]php版本自动触发更新</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/github/1.htm">github</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a><a class="tag" taget="_blank" href="/search/webhooks/1.htm">webhooks</a> <div>上次已经说过了如何在github控制面板做查看url的返回信息了。这次就到了直接贴钩子代码的时候了。 工具/原料 git github 方法/步骤   在github的setting里面的webhooks里把我们的url地址填进去。   钩子更新的代码如下: error_reportin</div> </li> <li><a href="/article/2873.htm" title="Eos开发常用表达式" target="_blank">Eos开发常用表达式</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/Eos%E5%BC%80%E5%8F%91/1.htm">Eos开发</a><a class="tag" taget="_blank" href="/search/Eos%E5%85%A5%E9%97%A8/1.htm">Eos入门</a><a class="tag" taget="_blank" href="/search/Eos%E5%BC%80%E5%8F%91%E5%B8%B8%E7%94%A8%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">Eos开发常用表达式</a> <div>Eos开发常用表达式 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 2014年8月18日 15:03:35 星期一     &</div> </li> <li><a href="/article/3000.htm" title="SpringSecurity3.X--SpEL 表达式" target="_blank">SpringSecurity3.X--SpEL 表达式</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a> <div>使用 Spring 表达式语言配置访问控制,要实现这一功能的直接方式是在<http>配置元素上添加 use-expressions 属性:   <http auto-config="true" use-expressions="true"> 这样就会在投票器中自动增加一个投票器:org.springframework</div> </li> <li><a href="/article/3127.htm" title="Redis vs Memcache" target="_blank">Redis vs Memcache</a> <span class="text-muted">IXHONG</span> <a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>1. Redis中,并不是所有的数据都一直存储在内存中的,这是和Memcached相比一个最大的区别。 2. Redis不仅仅支持简单的k/v类型的数据,同时还提供list,set,hash等数据结构的存储。 3. Redis支持数据的备份,即master-slave模式的数据备份。 4. Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用。 Red</div> </li> <li><a href="/article/3254.htm" title="Python - 装饰器使用过程中的误区解读" target="_blank">Python - 装饰器使用过程中的误区解读</a> <span class="text-muted">kvhur</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a> <div>大家都知道装饰器是一个很著名的设计模式,经常被用于AOP(面向切面编程)的场景,较为经典的有插入日志,性能测试,事务处理,Web权限校验, Cache等。 原文链接:http://www.gbtags.com/gb/share/5563.htm Python语言本身提供了装饰器语法(@),典型的装饰器实现如下:   @function_wrapper de</div> </li> <li><a href="/article/3381.htm" title="架构师之mybatis-----update 带case when 针对多种情况更新" target="_blank">架构师之mybatis-----update 带case when 针对多种情况更新</a> <span class="text-muted">nannan408</span> <a class="tag" taget="_blank" href="/search/case+when/1.htm">case when</a> <div>1.前言.    如题. 2. 代码.   <update id="batchUpdate" parameterType="java.util.List"> <foreach collection="list" item="list" index=&</div> </li> <li><a href="/article/3508.htm" title="Algorithm算法视频教程" target="_blank">Algorithm算法视频教程</a> <span class="text-muted">栏目记者</span> <a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>课程:Algorithm算法视频教程 百度网盘下载地址: http://pan.baidu.com/s/1qWFjjQW 密码: 2mji 程序写的好不好,还得看算法屌不屌!Algorithm算法博大精深。 一、课程内容: 课时1、算法的基本概念 + Sequential search 课时2、Binary search 课时3、Hash table 课时4、Algor</div> </li> <li><a href="/article/3635.htm" title="C语言算法之冒泡排序" target="_blank">C语言算法之冒泡排序</a> <span class="text-muted">qiufeihu</span> <a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a> <div>任意输入10个数字由小到大进行排序。 代码: #include <stdio.h> int main() { int i,j,t,a[11]; /*定义变量及数组为基本类型*/ for(i = 1;i < 11;i++){ scanf("%d",&a[i]); /*从键盘中输入10个数*/ } for</div> </li> <li><a href="/article/3762.htm" title="JSP异常处理" target="_blank">JSP异常处理</a> <span class="text-muted">wyzuomumu</span> <a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/jsp/1.htm">jsp</a> <div>1.在可能发生异常的网页中通过指令将HTTP请求转发给另一个专门处理异常的网页中: <%@ page errorPage="errors.jsp"%>   2.在处理异常的网页中做如下声明: errors.jsp: <%@ page isErrorPage="true"%>,这样设置完后就可以在网页中直接访问exc</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>