<译>创建一个Hexo主题-Part1:首页

前言:
本系列文章翻译自@Jonathan Klughertz的博客,将会用三篇文章的篇幅详细讲解如何制作一个Hexo主题。
我不是学翻译出身,若有翻译错误或是不到位之处,请指正。


在这个系列教程中,你将学习怎么从零开始制作一个Hexo主题。我很喜欢Hexo,并且每天都在使用,不幸的是,直到今天关于主题制作的文档还是相当稀缺。所以我打算弥补这个空缺。

预先准备

  • Hexo博客的基础使用。如果你是第一次接触,请前往官网阅读教程
  • 了解Bootstrap
  • 了解Javascript模板引擎(我们将使用EJS)

项目描述

这个项目旨在制作一个Hexo主题并详细了解Hexo引擎的工作方式。
我不想在HTML和CSS上花费太多时间,所以我们将重置下面这个Hexo主题:https://getbootstrap.com/docs... 。它是Bootstrap文档中的一个标准初始模板样例。
我们将一步步地重用CSS、复制粘贴HTML,直到最后实现想要的效果。
如果你感到困惑或者只对它的代码感兴趣,请前往github

项目结构

创建一个新的hexo博客

让我们从搭建一个全新的hexo博客开始吧

# Create a new folder
mkdir hexo-theme-creation 
cd hexo-theme-creation
# Initialise Hexo
hexo init

创建主题文件夹

# Enter the theme folder
cd themes
# bootstrap-blog-hexo is also going to be the name of our theme
mkdir bootstrap-blog-hexo

注意:如果你想在git中保存主题的话(你也应该这么做),请在/themes/bootstrap-blog-hexo/中初始化git。

文件夹结构

这是我们开始工作所需要的文件和文件夹:

|-- layout // .ejs templates 
|-- source // source files (CSS, scripts)
|-- _config.yml

创建以下两个文件夹和_config.yml文件。

复制bootstrap blog源码

bootstrap blog template复制所有我们需要的源码并放在source文件夹里。你可以选择通过浏览器查看源码并复制下来,或者是下载该压缩包,之后解压到source文件夹里。

|-- layout 
|-- source 
    |-- bootstrap // Copy the boostrap library files here 
    |-- css // Copy the blog's css file here
    |-- favicon
        |-- favicon.ico // Your choice of favicon
    |-- js // Copy the blog's js file here
|-- _config.yml

Hexo的基本要素

在我们开始写第一个模板文件之前,先来看看Hexo博客生成过程的基本要素。

页面类型

我们能够在主题中定义6种页面类型,与之相对应地,在public文件夹生成的每一个单独的HTML页面都属于下面模板中的其中一个:

模板 备用模板 页面描述
index 这是博客的首页,也是网站的主要入口。本教程中我们将让其显示文章摘要列表
post index 这是文章的详情页。我们将展示一篇完整的文章以及一个评论区
page index 这是页面的详情页,与post一样,但是是page类型的post
archive index 这是归档页。它将显示我们博客中所有文章的标题和详情页链接
category archive 这是分类页。与归档页类似,但是会根据类别进行筛选
tag archive 这是标签页。与分类页类似,但是会根据标签进行筛选

在本篇教程中我们将创建index模板。

在页面生成过程中,Hexo将会搜索名字为index.ejs,post.ejs,page.ejs等的文件,这些模板之后用于创建静态HTML页面。

公共布局

Hexo支持使用公共的布局文件,上面的模板都将使用到该文件。
该文件命名为layout.ejs。不同页面类型的模板会创建一些内容,而这个文件就好比这些内容的“外壳”。
在我们的主题中,公共布局将包括:标签、标签、头部、菜单、底部和侧边栏。基本上是所有类型的页面都具备的元素。
不同的页面模板将只负责创建实际内容,这些内容将放在我们的主体部位。

变量

在所有的模板中,我们都可以使用hexo引擎提供的内置变量。以下是部分变量:

  • Site:site包含了网站的信息。例如,我们可以通过site.posts访问博客中的所有文章。当我们想要显示统计数据的时候,这将派上用场。
  • Page:page是主要变量,包含了许多与当前页面相关的信息,包括所有的文章标题、日期、内容等。
  • Config:config是一个指向站点_config.yml文件的JavaScript对象
  • Theme:theme是一个指向主题_config.yml文件的JavaScript对象

主题的布局创建

上面提及了/layout/layout.ejs文件,现在我们开始来创建它。

顶部标签

首先创建layout.ejs文件并插入标签

//layout/layout.ejs


<%- partial('_partial/head') %>

这里我们将所有标签里的代码提取出来并放在局部视图中,这有助于实现关注点分离和代码重用。
语法是partial('path' [, arguments])
在创建layout/_partial/head.ejs文件后,从bootstrap源码中复制head标签里的代码:

// layout/_partial/head.ejs

    
    
    
    
    
    
    
    Blog Template for Bootstrap
    
    <%- css('bootstrap/css/bootstrap.min.css') %>
    
    <%- css('css/ie10-viewport-bug-workaround.css') %>
    
    <%- css('css/blog.css') %>
    
    

这很简单,我们只需使用CSS helper插入样式表。
source文件夹中的文件将会被复制到站点根目录下,所以不要在路径中包含source/
我们将让</code>和<code><meta></code>标签保持动态,不过现在先暂且不管它们。</p> <h4>底部标签</h4> <p>底部标签位于<code></body></code>之前。我们将在这个局部视图中包含所有脚本。<br>先修改一下布局:</p> <pre><code class="js">// layout/layout.ejs <html> <!-- Head tag --> <%- partial('_partial/head') %> <body> <!-- After footer scripts --> <%- partial('_partial/after-footer') %> </body> </html></code></pre> <p>然后创建<code>layout/_partial/after-footer.ejs</code>的内容:</p> <pre><code class="js">// layout/_partial/after-footer.ejs <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.3/jquery.min.js"></script> <%- js('bootstrap/js/bootstrap.min.js') %> <!-- IE10 viewport hack for Surface/desktop Windows 8 bug --> <%- js('js/ie10-viewport-bug-workaround.js') %></code></pre> <p>注意<a href="https://hexo.io/docs/helpers.html#js" rel="nofollow noreferrer">JS helper function</a>的使用,它将引用本地js文件。</p> <h4>顶部菜单</h4> <p>类似地,在<code><body></code>标签后创建顶部菜单。</p> <pre><code class="js">// layout/layout.ejs // [...] <body> <!-- Menu --> <%- partial('_partial/menu') %> // [...]</code></pre> <p><code>layout/_partial/menu.ejs </code>的内容:</p> <pre><code class="js">// layout/_partial/menu.ejs <div class="blog-masthead"> <div class="container"> <nav class="blog-nav"> <% for (var i in theme.menu){ %> <a class="blog-nav-item" href="<%- url_for(theme.menu[i]) %>"><%= i %></a> <% } %> </nav> </div> </div></code></pre> <p>注意<code>theme</code>全局变量的使用,它指向的是主题的<code>_config.yml</code>文件。为了可以在主题配置中配置菜单,我们需要在<code>_config.yml</code>文件中添加配置:</p> <pre><code>_config.yml # Header menu: Home: / Archives: /archives</code></pre> <p>在<code>menu.ejs</code>中我们遍历了配置文件中所有的菜单项目并创建对应的链接。</p> <h4>顶部</h4> <p>顶部将位于顶部菜单下面,它包含了博客标题和子标题:</p> <pre><code class="js">// layout/_partial/header.ejs <div class="blog-header"> <h1 class="blog-title"><%= config.title %></h1> <p class="lead blog-description"><% if (config.subtitle){ %><%= config.subtitle %><% } %></p> </div></code></pre> <p>这里我们使用了指向站点<code>_config.yml</code>文件的<code>config</code>变量,它包含了可供配置的标题和子标题属性。<br>注意在布局的<code><div class="container"><div></code>中嵌套顶部:</p> <pre><code class="js">// layout/layout.ejs <html> <!-- Head tag --> <%- partial('_partial/head') %> <body> <!-- Menu --> <%- partial('_partial/menu') %> <div class="container"> <!-- Blog Header: title and subtitle --> <%- partial('_partial/header') %> </div> // [...]</code></pre> <h4>底部</h4> <p>底部现在是完全静态的,内容如下:</p> <pre><code class="js">// layout/_partial/footer.ejs <footer class="blog-footer"> <p>Blog template built for <a href="http://getbootstrap.com">Bootstrap</a> by <a href="https://twitter.com/mdo">@mdo</a>.</p> <p>Adapted to Hexo by <a href="http://www.codeblocq.com/">klugjo</a>.</p> <p><a href="#">Back to top</a></p> </footer></code></pre> <h4>主要内容和侧边栏</h4> <p>此时,我们再加上主要内容和侧边栏,基本就差不多了。<br>下面是最终的<code>layout.ejs</code>:</p> <pre><code class="js">// layout/layout.ejs <html> <!-- Head tag --> <%- partial('_partial/head') %> <body> <!-- Menu --> <%- partial('_partial/menu') %> <div class="container"> <!-- Blog Header: title and subtitle --> <%- partial('_partial/header') %> <div class="row"> <!-- Main Content --> <div class="col-sm-8 blog-main"> <%- body %> </div> <!-- Sidebar --> <div class="col-sm-3 col-sm-offset-1 blog-sidebar"> <%- partial('_partial/sidebar') %> </div> </div> </div> <!-- Footer --> <%- partial('_partial/footer') %> <!-- After footer scripts --> <%- partial('_partial/after-footer') %> </body> </html></code></pre> <p><code>body</code>变量对应了不同页面类型模板创建的内容(参见上面)。<br>至于侧边栏,我们现在暂且使用来自bootstrap模板的硬编码:</p> <pre><code class="js">// layout/_partial/sidebar.ejs <div class="sidebar-module sidebar-module-inset"> <h4>About</h4> <p>Etiam porta <em>sem malesuada magna</em> mollis euismod. Cras mattis consectetur purus sit amet fermentum. Aenean lacinia bibendum nulla sed consectetur.</p> </div> <div class="sidebar-module"> <h4>Archives</h4> <ol class="list-unstyled"> <li><a href="#">March 2014</a></li> <li><a href="#">February 2014</a></li> <li><a href="#">January 2014</a></li> <li><a href="#">December 2013</a></li> <li><a href="#">November 2013</a></li> </ol> </div> <div class="sidebar-module"> <h4>Elsewhere</h4> <ol class="list-unstyled"> <li><a href="#">GitHub</a></li> <li><a href="#">Twitter</a></li> <li><a href="#">Facebook</a></li> </ol> </div></code></pre> <h3>首页文件</h3> <p>布局到位后,我们就可以开始创建第一个页面类型模板inde.ejs了。<br>这是比较简陋的第一个版本:</p> <pre><code class="js">// layout/index.ejs <span>Content</span></code></pre> <p>别小瞧它,我们可以用这个在浏览器中测试主题:</p> <pre><code># Verify that everything is alright hexo generate # Start hexo server hexo server</code></pre> <p>访问 <a href="http://localhost" rel="nofollow noreferrer">http://localhost</a>:4000/ 。哇!<br>注意:不要忘记在站点的config文件中更新主题:</p> <pre><code>_config.yml # Extensions ## Plugins: http://hexo.io/plugins/ ## Themes: http://hexo.io/themes/ theme: bootstrap-blog-hexo</code></pre> <h4>遍历博客文章</h4> <p>我们想要在首页显示各篇文章的摘要。<br>首先,在我们的index.ejs文件中遍历文章:</p> <pre><code class="js">// layout.index.ejs <% page.posts.each(function(item){ %> <%- partial('_partial/article-excerpt', {item: item}) %> <% }); %></code></pre> <ul> <li>通过<code>page.posts</code>获取该页面的所有文章</li> <li>通过<code><%- partial('name', args) %></code>给partial传参</li> </ul> <h4>文章布局</h4> <p>创建<code>article-excerpt.ejs</code>文件,添加适合主题的代码。这是我的布局:</p> <pre><code class="js">// layout/_partial/article-excerpt.ejs <div class="blog-post"> <!-- Title --> <h2 class="blog-post-title"> <a href="<%- config.root %><%- item.path %>"> <%- item.title %> </a> </h2> <!-- Date and Author --> <p class="blog-post-meta"> <%= item.date.format(config.date_format) %> <% if(item.author) { %> by <%- item.author %> <% } %> </p> <!-- Content --> <%- item.excerpt || item.content %> <!-- Only display the Read More link if we are displaying an excerpt --> <% if(item.excerpt) { %> <p> <a href="<%- config.root %><%- item.path %>"> <%= theme.excerpt_link %> </a> </p> <% } %> </div></code></pre> <h5>全文链接</h5> <p>全文链接是由<code>config.root</code>(配置选项,相当于<code>/</code>)和<code>item.path</code>(相对路径或者绝对路径,指向全文)连接组成的。</p> <h5>文章作者</h5> <p>默认情况下,Hexo没有关于作者属性的的文章变量。不过我们可以在<a href="https://hexo.io/docs/front-matter.html" rel="nofollow noreferrer">front matter</a>中添加任意自己想要的变量。<br>如果你想要在文章中显示作者名字,那么文章的front matter应该类似如下进行设置:</p> <pre><code>title: Hello World author: Klughertz Jonathan ---</code></pre> <h5>Item excerpt 和 Item content</h5> <p>当用Hexo编辑文章时,你可以用<code><!-- more --></code>标签从文章内容中截取摘要。在本教程中,因为我们展示的是文章列表,所以选择显示摘要。之后用户可以通过点击文章标题或者“阅读更多”的链接浏览全文。</p> <h5>“阅读更多”文本</h5> <p>别忘了,你需要像我这样在主题的配置文件中添加一个新的属性:</p> <pre><code>_config.yml # Read More text excerpt_link: Read More</code></pre> <p>希望接下来的代码容易理解。现在,我建议你写一些除了默认的Hello World之外的文章并享受这个结果。</p> <h3>分页器</h3> <p>在本篇文章中,我们最后需要处理的是首页的分页器。<br>在<code>index.ejs</code>文件中增加一个分页器的partial:</p> <pre><code class="js">// layout/index.ejs <% page.posts.each(function(item){ %> <%- partial('_partial/article-excerpt', {item: item}) %> <% }); %> <%- partial('_partial/pagination') %></code></pre> <p>之后开始创建分页器的内容,<code>layout/_partial/pagination.ejs</code>:</p> <pre><code class="js">// layout/_partial/pagination.ejs <nav> <ul class="pager"> <% if (page.prev){ %> <li><a href="<%- config.root %><%- page.prev_link %>">Previous</a></li> <% } %> <% if (page.next){ %> <li><a href="<%- config.root %><%- page.next_link %>">Next</a></li> <% } %> </ul> </nav></code></pre> <ul> <li> <code>page.prev</code>:上一页的页码。如果当前页是第一页,则为0</li> <li> <code>page.next</code>:下一页的页码。如果当前页是最后一页,则为0</li> <li> <code>page.next_link</code>和<code>page.prev_link</code>是什么就不用多说了。</li> </ul> <p>如果你没有足够的文章用来查看分页器的工作效果,可以在主配置文件中(<code>per_page</code>属性)调整每一页的文章数。</p> <p>这就是今天的内容,在下一篇教程中,我们将完成博客剩下的所有页面。</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1297789002375569408"></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">你可能感兴趣的:(html+css+js,hexo,ejs)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1882787347767029760.htm" title="实时监控网页变化,并增加多种提示信息" target="_blank">实时监控网页变化,并增加多种提示信息</a> <span class="text-muted">安替-AnTi</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E5%B7%A5%E5%85%B7/1.htm">自动化工具</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E7%9B%91%E6%8E%A7/1.htm">监控</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E9%A1%B5%E5%8F%98%E5%8C%96/1.htm">网页变化</a> <div>文章目录python代码实现优势手动部署下载源码安装依赖初次登录设置Docker部署设置监控chromeJS插件实现插件1背景介绍使用方法插件2参考文献通过订阅本篇文章,您可以实现在任意打开网页情况下,监控网页内指定内容或者全部内容的变化,变化的内容、时间点可以通过邮箱、微信等方式进行提醒。使用场景可以用来监控足球比赛的赔率、京东商品库存、价格等因素,并且可以为订阅用户添加各种定制化的服务。如在订</div> </li> <li><a href="/article/1882746868581068800.htm" title="CentOS 中安装高版本 nodejs 问题小记" target="_blank">CentOS 中安装高版本 nodejs 问题小记</a> <span class="text-muted">赵大仁</span> <a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/%E6%8A%80%E6%9C%AF/1.htm">技术</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/nodejs/1.htm">nodejs</a> <div>问题如果你在CentOS中安装最新版本NodeJS时碰到如下报错,尝试按照下面的步骤升级一下glibc吧node:/usr/lib64/libstdc++.so.6:version`GLIBCXX_3.4.14'notfound(requiredbynode)node:/usr/lib64/libstdc++.so.6:version`GLIBCXX_3.4.18'notfound(require</div> </li> <li><a href="/article/1882681663088029696.htm" title="vue2在线生成二维码" target="_blank">vue2在线生成二维码</a> <span class="text-muted">家里有只小肥猫</span> <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%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>亲情提示:如果可以让后端生成就让后端生成实在不行再前端解决(分享方法只是为了让你快点下班不是为了让你能者多劳)创建npminstallqrcodejs2pnpminstallqrcodejs2importQRCodefrom'qrcodejs2'data:{qrcode:'',}submitCode(){if(this.$refs.qrcode){this.qrcode='';this.$refs</div> </li> <li><a href="/article/1882680780166066176.htm" title="参加【2025年春季】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!" target="_blank">参加【2025年春季】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!</a> <span class="text-muted">白帽子凯哥</span> <a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/CTF%E5%A4%BA%E6%97%97%E8%B5%9B/1.htm">CTF夺旗赛</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a> <div>基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15</div> </li> <li><a href="/article/1882643840574222336.htm" title="基于数据可视化SpringBoot+Vue+Uniapp的学生活动管理系统设计与实现(毕业设计实战项目+源码+部署)" target="_blank">基于数据可视化SpringBoot+Vue+Uniapp的学生活动管理系统设计与实现(毕业设计实战项目+源码+部署)</a> <span class="text-muted">Java开源领先者</span> <a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java%E7%BD%91%E7%AB%99%E9%A1%B9%E7%9B%AE/1.htm">Java网站项目</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F%E6%AF%95%E8%AE%BE/1.htm">微信小程序毕设</a><a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/Java%E7%B2%BE%E5%93%81%E6%AF%95%E8%AE%BE/1.htm">Java精品毕设</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">毕业设计</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E7%94%9F%E6%B4%BB%E5%8A%A8%E7%AE%A1%E7%90%86/1.htm">学生活动管理</a> <div>博主介绍CSDN毕设辅导第一人、靠谱第一人、全网粉丝50W+,csdn特邀作者、博客专家、腾讯云社区合作讲师、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可</div> </li> <li><a href="/article/1882598316437467136.htm" title="nodejs启动项目报错 Error: listen EACCES: permission denied 0.0.0.0:5000" target="_blank">nodejs启动项目报错 Error: listen EACCES: permission denied 0.0.0.0:5000</a> <span class="text-muted">BiuBiu__A</span> <a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>nodejs启动项目报错Error:listenEACCES:permissiondenied0.0.0.0:5000,截图如下:解决方法在管理员权限下打开CMD(命令行)并运行:netstopwinnatnetstartwinnat执行完成后在此通过nodejs启动项目即可成功!</div> </li> <li><a href="/article/1882595286916853760.htm" title="threejs学习笔记:CSS2DObject 2d文字渲染" target="_blank">threejs学习笔记:CSS2DObject 2d文字渲染</a> <span class="text-muted">九段刀客</span> <a class="tag" taget="_blank" href="/search/threejs/1.htm">threejs</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a> <div>import{CSS2DRenderer,CSS2DObject}from"three/examples/jsm/renderers/CSS2DRenderer.js";//2d文字渲染function_createBox1Label(object</div> </li> <li><a href="/article/1882568286273597440.htm" title="JDK10、JDK11、JDK12、JDK13、JDK 14、JDK15、JDK16、JDK17、JDK18、JDK19、JDK20、JDK21、JDK22、JDK23、JDK24对应JSR" target="_blank">JDK10、JDK11、JDK12、JDK13、JDK 14、JDK15、JDK16、JDK17、JDK18、JDK19、JDK20、JDK21、JDK22、JDK23、JDK24对应JSR</a> <span class="text-muted">xiaoyustudiowww</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>JDK10、JDK11、JDK12、JDK13、JDK14、JDK15、JDK16、JDK17、JDK18、JDK19、JDK20、JDK21、JDK22、JDK23、JDK24对应JSR:JDK对应JSR:JSR383Java™SE10(18.3)Description:TheJSRfortheJavaSE10(18.3)PlatformStatus:FinalLatestStage:Final</div> </li> <li><a href="/article/1882564127268859904.htm" title="基于数据可视化+SpringBoot+Vue的医院综合管理平台设计和实现(源码+论文+部署讲解等)" target="_blank">基于数据可视化+SpringBoot+Vue的医院综合管理平台设计和实现(源码+论文+部署讲解等)</a> <span class="text-muted">java李杨勇</span> <a class="tag" taget="_blank" href="/search/Java%E7%B2%BE%E5%93%81%E6%AF%95%E8%AE%BE%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">Java精品毕设实战案例</a><a class="tag" taget="_blank" href="/search/Java%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1%E5%AE%9E%E6%88%98%E6%A1%88%E4%BE%8B/1.htm">Java毕业设计实战案例</a><a class="tag" taget="_blank" href="/search/%E4%BF%A1%E6%81%AF%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">信息可视化</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%8C%BB%E9%99%A2%E7%BB%BC%E5%90%88%E7%AE%A1%E7%90%86%E5%B9%B3%E5%8F%B0/1.htm">医院综合管理平台</a><a class="tag" taget="_blank" href="/search/Java%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">Java毕业设计</a> <div>博主介绍:✌全网粉丝50W+,csdn特邀作者、博客专家、CSDN新星计划导师、Java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和学生毕业项目实战,高校老师/讲师/同行前辈交流✌技术范围:SpringBoot、Vue、SSM、HLMT、Jsp、PHP、Nodejs、Python、爬虫、数据可视化、小程序、安卓app、大数据、物联网、机器学习等</div> </li> <li><a href="/article/1882452910051225600.htm" title="python爬取电影天堂beautiful_Python爬虫 -- 抓取电影天堂8分以上电影" target="_blank">python爬取电影天堂beautiful_Python爬虫 -- 抓取电影天堂8分以上电影</a> <span class="text-muted">carafqy</span> <div>看了几天的python语法,还是应该写个东西练练手。刚好假期里面看电影,找不到很好的影片,于是有个想法,何不搞个爬虫把电影天堂里面8分以上的电影爬出来。做完花了两三个小时,撸了这么一个程序。反正蛮简单的,思路和之前用nodejs写爬虫一样。爬虫的入口从分页的列表开始,比如美剧的列表第一页地址这样:http://www.ygdy8.net/html/gndy/oumei/list_7_1.html,</div> </li> <li><a href="/article/1882446225119178752.htm" title="搭建vue项目" target="_blank">搭建vue项目</a> <span class="text-muted">LYy0</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><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>一、VueVue是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助你高效地开发用户界面。无论是简单还是复杂的界面,Vue都可以胜任。二、环境1.nodejs环境:下载地址三、创建Vue应用创建的项目将使用基于Vite的构建设置,并允许我们使用Vue的单文件组件(SFC)。$npmcreatevue@l</div> </li> <li><a href="/article/1882382312881057792.htm" title="uniapp 小程序目录搭建以及 pages.json 配置" target="_blank">uniapp 小程序目录搭建以及 pages.json 配置</a> <span class="text-muted">YZRHANYU</span> <a class="tag" taget="_blank" href="/search/uniapp%2B%E5%BE%AE%E4%BF%A1%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">uniapp+微信小程序</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/uni-app/1.htm">uni-app</a><a class="tag" taget="_blank" href="/search/%E5%B0%8F%E7%A8%8B%E5%BA%8F/1.htm">小程序</a> <div>uniapp小程序目录搭建1.分包结构├──api各个模块接口文件夹├──login.js登录模块接口文件├──common公共模块,包含公共基础css等├──base.css公共基础css├──components主包当中使用的组件或者复用率较高的组件作为全局组件├──node_modulesnodejs相关依赖包文件目录├──pages主包:业务页面文件存放的目录├──common├──sys</div> </li> <li><a href="/article/1882366747160408064.htm" title="threejs 复习笔记" target="_blank">threejs 复习笔记</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/three.js/1.htm">three.js</a> <div>import*asTHREEfrom'https://unpkg.com/three@0.157.0/build/three.module.js'import{OrbitControls}from'https://github.com/mrdoob/three.js/blob/master/examples/jsm/controls/OrbitControls.js'import{OrbitCon</div> </li> <li><a href="/article/1882334154562007040.htm" title="debian php安装,如何在Debian 9上安装PHP" target="_blank">debian php安装,如何在Debian 9上安装PHP</a> <span class="text-muted">第四根肋骨</span> <a class="tag" taget="_blank" href="/search/debian/1.htm">debian</a><a class="tag" taget="_blank" href="/search/php%E5%AE%89%E8%A3%85/1.htm">php安装</a> <div>装有PHP7.0版的Debian9即将终止支持,并且不再收到安全更新。在本教程中,我们将引导您完成在Debian9服务器上安装PHP7.2的步骤。我们还将向您展示如何配置Apache和Nginx以运行PHP。先决条件在Debian9上安装PHP7.2以下步骤描述了如何使用OndrejSury存储库安装PHP7.2。首先,更新apt软件包列表并安装必要的依赖项,以通过HTTPS添加新存储库:sudo</div> </li> <li><a href="/article/1882196838484865024.htm" title="Vue教程|搭建vue项目|Vue-CLI新版脚手架" target="_blank">Vue教程|搭建vue项目|Vue-CLI新版脚手架</a> <span class="text-muted">cnsxjean</span> <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%E6%A1%86%E6%9E%B6/1.htm">前端框架</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/ui/1.htm">ui</a> <div>一、安装Node环境安装Node及Npm环境Node下载地址:Node.js—RunJavaScriptEverywhereNode.js®isaJavaScriptruntimebuiltonChrome'sV8JavaScriptengine.https://nodejs.org/en/安装完成后,检查安装是否成功,并检查版本,命令如下:node-vnpm-vmac@MacdeMacBook-</div> </li> <li><a href="/article/1882144613356072960.htm" title="2025年前端发展趋势" target="_blank">2025年前端发展趋势</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/javascript/1.htm">javascript</a> <div>开发领域:前端开发|AI应用|Web3D|元宇宙技术栈:JavaScript、React、ThreeJs、WebGL、Go经验经验:6年+前端开发经验,专注于图形渲染和AI技术开源项目:github晓智元宇宙、数字孪生引擎、前端面试题大家好!我是[晓智],一位热爱探索新技术的前端开发者,在这里分享前端和Web3D、AI技术的干货与实战经验。如果你对技术有热情,欢迎关注我的文章,我们一起成长、进步!</div> </li> <li><a href="/article/1881995436194066432.htm" title="nodeJS 系统学习(模块-章节1)" target="_blank">nodeJS 系统学习(模块-章节1)</a> <span class="text-muted">BYh_blog</span> <a class="tag" taget="_blank" href="/search/js%E5%9F%BA%E7%A1%80/1.htm">js基础</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>module(模块)1.概念(理论)利用模块化,根据代码功用将应用拆分为不同的模块。增强代码的可读性,可迭代性等一切具有客观良性的作用。一般情况下每个文件就是一个模块。文件路径则是模块名。2.实践(操作)CODE模块之间可以相互引用。通过require、exports、module三个预先定义好的node环境变量module.js测试模块代码console.log(module);module.e</div> </li> <li><a href="/article/1881924429533999104.htm" title="NPM 与 Node.js 版本兼容问题:npm warn cli npm does not support Node.js" target="_blank">NPM 与 Node.js 版本兼容问题:npm warn cli npm does not support Node.js</a> <span class="text-muted">我命由我12345</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/-/1.htm">-</a><a class="tag" taget="_blank" href="/search/%E9%97%AE%E9%A2%98%E6%B8%85%E5%8D%95/1.htm">问题清单</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/npm/1.htm">npm</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><a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>问题描述与处理策略1、问题描述npmwarnclinpmv10.9.2doesnotsupportNode.jsv18.16.1.Thisversionofnpmsupportsthefollowingnodeversions:`^18.17.0||>=20.5.0`.Youcanfindthelatestversionathttps://nodejs.org/.#翻译npmwarnclinpmv</div> </li> <li><a href="/article/1881902104461766656.htm" title="【Node.js]" target="_blank">【Node.js]</a> <span class="text-muted">ADFVBM</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/node.js/1.htm">node.js</a> <div>一、概述Node.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台,它让JavaScript成为与PHP、Python、Perl、Ruby等服务端语言平起平坐的脚本语言。官网地址:https://nodejs.org/zh-cnNode.js学习路线:JavaScript基础语法+Node.js内</div> </li> <li><a href="/article/1881819270673920000.htm" title="elasticSearch数据的导入和导出" target="_blank">elasticSearch数据的导入和导出</a> <span class="text-muted">ZNineSun</span> <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/elasticsearch/1.htm">elasticsearch</a><a class="tag" taget="_blank" href="/search/elasticdump/1.htm">elasticdump</a><a class="tag" taget="_blank" href="/search/node/1.htm">node</a> <div>es数据的导入和导出需要借助于elasticdump工具,这是一个nodejs的插件,安装方式直接使用npm即可,安装指令如下:npminstallelasticdump-g如果您的电脑还未安装Node环境,请移步此处:《npm安装教程》1.导出指定索引的数据到本地elasticdump--input=http://localhost:9200/demo--output=D:/ES/date/de</div> </li> <li><a href="/article/1881762774325981184.htm" title="Redis实战之Jedis使用技巧详解" target="_blank">Redis实战之Jedis使用技巧详解</a> <span class="text-muted">小马不敲代码</span> <a class="tag" taget="_blank" href="/search/%E5%AE%9E%E6%88%98/1.htm">实战</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E7%BC%93%E5%AD%98/1.htm">缓存</a> <div>一、前言基于redis开放的通信协议,大神们纷纷开发了各种语言的redis客户端,有c、c++、java、python、php、nodeJs等等开发语言的客户端,准确来说其实这些客户端都是基于redis命令做了一层封装,然后打包成工具以便大家更佳方便的操作redis,以Java项目为例,使用最广的就是以下三种客户端:JedisLettuceRedisson二、JedisJedis是老牌的Redis</div> </li> <li><a href="/article/1881742096549867520.htm" title="Mac下nvm无法安装node问题" target="_blank">Mac下nvm无法安装node问题</a> <span class="text-muted">可爱发</span> <a class="tag" taget="_blank" href="/search/macos/1.htm">macos</a> <div>背景最近换用mac开发,然后使用nvm(版本0.40.1)进行node安装的时候出现了一些问题使用nvmls-remote发现只有iojs版本原因可能是nodejs升级了某个协议导致的解决方案可以使用NVM_NODEJS_ORG_MIRROR=http://nodejs.org/distnvmls-remote,安装的时候同样使用NVM_NODEJS_ORG_MIRROR=http://nodej</div> </li> <li><a href="/article/1881680422119731200.htm" title="Node.js超详细教程!" target="_blank">Node.js超详细教程!</a> <span class="text-muted">刘大本尊</span> <a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF%E6%8A%80%E6%9C%AF/1.htm">前端技术</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>0.基础概念Node.js是一个基于ChromeV8引擎的JavaScript运行环境,使用了一个事件驱动、非阻塞式I/O模型,让JavaScript运行在服务端的开发平台。官方地址:https://nodejs.org/en中文地址:https://nodejs.org/zh-cn代码初体验:console.log("helloNodeJS")//1.进入到对应js文件的目录下//2.执行nod</div> </li> <li><a href="/article/1881659091194015744.htm" title="vue3+typeScript+vite3+vscode+eslint+prettiter+element-plus+vue-router+pinia+cryptoJs+tailwindcss" target="_blank">vue3+typeScript+vite3+vscode+eslint+prettiter+element-plus+vue-router+pinia+cryptoJs+tailwindcss</a> <span class="text-muted">高梅飞花</span> <a class="tag" taget="_blank" href="/search/vue/1.htm">vue</a><a class="tag" taget="_blank" href="/search/typescript/1.htm">typescript</a><a class="tag" taget="_blank" href="/search/vite/1.htm">vite</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E8%BE%91%E5%99%A8/1.htm">编辑器</a><a class="tag" taget="_blank" href="/search/vscode/1.htm">vscode</a><a class="tag" taget="_blank" href="/search/ide/1.htm">ide</a> <div>项目实战windows环境搭建nodeJs安装vite3安装+项目新建配置tsconfig.json配置vite.config.tspackage.jsontailwind.config.cjs配置.eslintrc.cjs配置vscode配置vscodeeslintsettings.jsonmain.ts入口pinia配置路由配置windows环境搭建nodeJs安装nodeJs官网:https</div> </li> <li><a href="/article/1881402863012343808.htm" title="【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!" target="_blank">【2025年】全国CTF夺旗赛-从零基础入门到竞赛,看这一篇就稳了!</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/%E7%BD%91%E7%BB%9C%E5%AE%89%E5%85%A8/1.htm">网络安全</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E5%AF%86%E7%A0%81%E5%AD%A6/1.htm">密码学</a><a class="tag" taget="_blank" href="/search/CTF%E5%A4%BA%E6%97%97%E8%B5%9B/1.htm">CTF夺旗赛</a> <div>基于入门网络安全/黑客打造的:黑客&网络安全入门&进阶学习资源包目录一、CTF简介二、CTF竞赛模式三、CTF各大题型简介四、CTF学习路线4.1、初期1、html+css+js(2-3天)2、apache+php(4-5天)3、mysql(2-3天)4、python(2-3天)5、burpsuite(1-2天)4.2、中期1、SQL注入(7-8天)2、文件上传(7-8天)3、其他漏洞(14-15</div> </li> <li><a href="/article/1881266750952108032.htm" title="用 simplejson 轻松搞定复杂 JSON 文件,性能秒杀标准库!" target="_blank">用 simplejson 轻松搞定复杂 JSON 文件,性能秒杀标准库!</a> <span class="text-muted">忆愿</span> <a class="tag" taget="_blank" href="/search/Python%E7%BC%96%E7%A8%8B%E7%9A%84%E8%84%89%E5%8A%A8%E4%B9%8B%E5%A3%B0/1.htm">Python编程的脉动之声</a><a class="tag" taget="_blank" href="/search/json/1.htm">json</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><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/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/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> <div>你好,我是忆愿,全网4w+粉丝,《遂愿盈创》社群主理人。副业启航①|遂愿盈创(对副业感兴趣免费可入,多种赚钱实战项目等你来,一起探寻副业快速变现的途径;以及对接互联网大厂商务合作,一起来搞点小外快,认识更多互联网大咖)目前群里已经带很多小伙伴(大部分大学生)变现几百块啦,程序员搞副业有额外加成~对副业感兴趣可+V:suiyuan2ying拉你进群。文章目录初识simplejson性能对比大揭秘强大</div> </li> <li><a href="/article/1881204531509915648.htm" title="stm32+w5500实现web服务_【NodeJS】简单静态WEB服务器实现" target="_blank">stm32+w5500实现web服务_【NodeJS】简单静态WEB服务器实现</a> <span class="text-muted">weixin_39711441</span> <div>说明利用HTTP模块URl模块Path模块Fs模块创建在项目文件夹下,创建文件夹static,下面创建index.html//引入http模块var http=require('http');//fs模块var fs=require('fs');http.createServer(function(req,res){    //http://localhost:8001/news.html/new</div> </li> <li><a href="/article/1881154049223487488.htm" title="使用npm创建three.js项目" target="_blank">使用npm创建three.js项目</a> <span class="text-muted">ShawnWeasley</span> <a class="tag" taget="_blank" href="/search/npm/1.htm">npm</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a><a class="tag" taget="_blank" href="/search/arcgis/1.htm">arcgis</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a> <div>1.安装Node.js和npm首先,需要在您的计算机上安装Node.js和npm。Node.js是一个JavaScript运行环境,而npm是一个JavaScript包管理器。npm会随Node.js一起安装,因此只需要安装Node.js即可。从Node.js的官方网站(https://nodejs.org)下载并安装适合您操作系统的版本。2.创建一个新的项目在您希望创建项目的目录下,手动创建一个</div> </li> <li><a href="/article/1881121244368138240.htm" title="探索JavaScript的宇宙:《JS星球系统》" target="_blank">探索JavaScript的宇宙:《JS星球系统》</a> <span class="text-muted">潘俭渝Erik</span> <div>探索JavaScript的宇宙:《JS星球系统》solar-system-of-jsVisualizethelanguagesontheJSplatform项目地址:https://gitcode.com/gh_mirrors/so/solar-system-of-js在快速发展的前端世界中,JavaScript已经成为无可争议的主宰,围绕它的语言和框架如群星璀璨,构成了一个壮观的“JS星球系统”</div> </li> <li><a href="/article/1880997981184913408.htm" title="Node与Java后台对比" target="_blank">Node与Java后台对比</a> <span class="text-muted">旭氏美术馆</span> <a class="tag" taget="_blank" href="/search/Nodejs/1.htm">Nodejs</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E7%AB%AF/1.htm">服务端</a><a class="tag" taget="_blank" href="/search/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B/1.htm">并发编程</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E7%BA%BF%E7%A8%8B/1.htm">多线程</a><a class="tag" taget="_blank" href="/search/node.js/1.htm">node.js</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>高并发场景下的对比:nodejs具有单线程、非阻塞IO、事件循环/驱动的特点,所以在高并发场景下,线程占用cup处理资源,cup不用等待IO的处理过程,而是不停的的发起异步请求,在异步处理结束后继续下一步异步任务。所以不会出现线程阻塞。如图1所示。优势:cpu利用率较高,因为cpu不用等待IO,而时一直在发起异步请求。不足:单个线程崩溃后,所以任务都无法进行,而多线程并发场景下,某个线程崩溃,不影</div> </li> <li><a href="/article/22.htm" title="redis学习笔记——不仅仅是存取数据" target="_blank">redis学习笔记——不仅仅是存取数据</a> <span class="text-muted">Everyday都不同</span> <a class="tag" taget="_blank" href="/search/returnSource/1.htm">returnSource</a><a class="tag" taget="_blank" href="/search/expire%2Fdel/1.htm">expire/del</a><a class="tag" taget="_blank" href="/search/incr%2Flpush/1.htm">incr/lpush</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E5%88%86%E5%8C%BA/1.htm">数据库分区</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a> <div>最近项目中用到比较多redis,感觉之前对它一直局限于get/set数据的层面。其实作为一个强大的NoSql数据库产品,如果好好利用它,会带来很多意想不到的效果。(因为我搞java,所以就从jedis的角度来补充一点东西吧。PS:不一定全,只是个人理解,不喜勿喷)   1、关于JedisPool.returnSource(Jedis jeids)   这个方法是从red</div> </li> <li><a href="/article/149.htm" title="SQL性能优化-持续更新中。。。。。。" target="_blank">SQL性能优化-持续更新中。。。。。。</a> <span class="text-muted">atongyeye</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a> <div>1 通过ROWID访问表--索引 你可以采用基于ROWID的访问方式情况,提高访问表的效率, , ROWID包含了表中记录的物理位置信息..ORACLE采用索引(INDEX)实现了数据和存放数据的物理位置(ROWID)之间的联系. 通常索引提供了快速访问ROWID的方法,因此那些基于索引列的查询就可以得到性能上的提高. 2 共享SQL语句--相同的sql放入缓存 3 选择最有效率的表</div> </li> <li><a href="/article/276.htm" title="[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善" target="_blank">[JAVA语言]JAVA虚拟机对底层硬件的操控还不完善</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/JAVA%E8%99%9A%E6%8B%9F%E6%9C%BA/1.htm">JAVA虚拟机</a> <div>      如果我们用汇编语言编写一个直接读写CPU寄存器的代码段,然后利用这个代码段去控制被操作系统屏蔽的硬件资源,这对于JVM虚拟机显然是不合法的,对操作系统来讲,这样也是不合法的,但是如果是一个工程项目的确需要这样做,合同已经签了,我们又不能够这样做,怎么办呢? 那么一个精通汇编语言的那种X客,是否在这个时候就会发生某种至关重要的作用呢? &n</div> </li> <li><a href="/article/403.htm" title="lvs- real" target="_blank">lvs- real</a> <span class="text-muted">男人50</span> <a class="tag" taget="_blank" href="/search/LVS/1.htm">LVS</a> <div>#!/bin/bash # # Script to start LVS DR real server. # description: LVS DR real server # #.  /etc/rc.d/init.d/functions VIP=10.10.6.252 host='/bin/hostname' case "$1" in sta</div> </li> <li><a href="/article/530.htm" title="生成公钥和私钥" target="_blank">生成公钥和私钥</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/DSA/1.htm">DSA</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%8A%A0%E5%AF%86/1.htm">安全加密</a> <div>package com.msserver.core.util; import java.security.KeyPair; import java.security.PrivateKey; import java.security.PublicKey; import java.security.SecureRandom; public class SecurityUtil { </div> </li> <li><a href="/article/657.htm" title="UIView 中加入的cocos2d,背景透明" target="_blank">UIView 中加入的cocos2d,背景透明</a> <span class="text-muted">374016526</span> <a class="tag" taget="_blank" href="/search/cocos2d/1.htm">cocos2d</a><a class="tag" taget="_blank" href="/search/glClearColor/1.htm">glClearColor</a> <div>要点是首先pixelFormat:kEAGLColorFormatRGBA8,必须有alpha层才能透明。然后view设置为透明glView.opaque = NO;[director setOpenGLView:glView];[self.viewController.view setBackgroundColor:[UIColor clearColor]];[self.viewControll</div> </li> <li><a href="/article/784.htm" title="mysql常用命令" target="_blank">mysql常用命令</a> <span class="text-muted">香水浓</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a> <div>连接数据库 mysql -u troy -ptroy 备份表 mysqldump -u troy -ptroy mm_database mm_user_tbl > user.sql 恢复表(与恢复数据库命令相同) mysql -u troy -ptroy mm_database < user.sql 备份数据库 mysqldump -u troy -ptroy</div> </li> <li><a href="/article/911.htm" title="我的架构经验系列文章 - 后端架构 - 系统层面" target="_blank">我的架构经验系列文章 - 后端架构 - 系统层面</a> <span class="text-muted">agevs</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/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/html5/1.htm">html5</a> <div>系统层面: 高可用性 所谓高可用性也就是通过避免单独故障加上快速故障转移实现一旦某台物理服务器出现故障能实现故障快速恢复。一般来说,可以采用两种方式,如果可以做业务可以做负载均衡则通过负载均衡实现集群,然后针对每一台服务器进行监控,一旦发生故障则从集群中移除;如果业务只能有单点入口那么可以通过实现Standby机加上虚拟IP机制,实现Active机在出现故障之后虚拟IP转移到Standby的快速</div> </li> <li><a href="/article/1038.htm" title="利用ant进行远程tomcat部署" target="_blank">利用ant进行远程tomcat部署</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a> <div>在javaEE项目中,需要将工程部署到远程服务器上,如果部署的频率比较高,手动部署的方式就比较麻烦,可以利用Ant工具实现快捷的部署。这篇博文详细介绍了ant配置的步骤(http://www.cnblogs.com/GloriousOnion/archive/2012/12/18/2822817.html),但是在tomcat7以上不适用,需要修改配置,具体如下: 1.配置tomcat的用户角色</div> </li> <li><a href="/article/1165.htm" title="获取复利总收入" target="_blank">获取复利总收入</a> <span class="text-muted">baalwolf</span> <a class="tag" taget="_blank" href="/search/%E8%8E%B7%E5%8F%96/1.htm">获取</a> <div>       public static void main(String args[]){         int money=200;         int year=1;         double rate=0.1; &</div> </li> <li><a href="/article/1292.htm" title="eclipse.ini解释" target="_blank">eclipse.ini解释</a> <span class="text-muted">BigBird2012</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a> <div>大多数java开发者使用的都是eclipse,今天感兴趣去eclipse官网搜了一下eclipse.ini的配置,供大家参考,我会把关键的部分给大家用中文解释一下。还是推荐有问题不会直接搜谷歌,看官方文档,这样我们会知道问题的真面目是什么,对问题也有一个全面清晰的认识。 Overview 1、Eclipse.ini的作用 Eclipse startup is controlled by th</div> </li> <li><a href="/article/1419.htm" title="AngularJS实现分页功能" target="_blank">AngularJS实现分页功能</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a><a class="tag" taget="_blank" href="/search/AngularJS/1.htm">AngularJS</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5/1.htm">分页</a> <div>        对于大多数web应用来说显示项目列表是一种很常见的任务。通常情况下,我们的数据会比较多,无法很好地显示在单个页面中。在这种情况下,我们需要把数据以页的方式来展示,同时带有转到上一页和下一页的功能。既然在整个应用中这是一种很常见的需求,那么把这一功能抽象成一个通用的、可复用的分页(Paginator)服务是很有意义的。   &nbs</div> </li> <li><a href="/article/1546.htm" title="[Maven学习笔记三]Maven archetype" target="_blank">[Maven学习笔记三]Maven archetype</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/ArcheType/1.htm">ArcheType</a> <div>archetype的英文意思是原型,Maven archetype表示创建Maven模块的模版,比如创建web项目,创建Spring项目等等.   mvn archetype提供了一种命令行交互式创建Maven项目或者模块的方式,   mvn archetype   1.在LearnMaven-ch03目录下,执行命令mvn archetype:gener</div> </li> <li><a href="/article/1673.htm" title="【Java命令三】jps" target="_blank">【Java命令三】jps</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Java%E5%91%BD%E4%BB%A4/1.htm">Java命令</a> <div>jps很简单,用于显示当前运行的Java进程,也可以连接到远程服务器去查看   [hadoop@hadoop bin]$ jps -help usage: jps [-help] jps [-q] [-mlvV] [<hostid>] Definitions: <hostid>: <hostname>[:</div> </li> <li><a href="/article/1800.htm" title="ZABBIX2.2 2.4 等各版本之间的兼容性" target="_blank">ZABBIX2.2 2.4 等各版本之间的兼容性</a> <span class="text-muted">ronin47</span> <div>zabbix更新很快,从2009年到现在已经更新多个版本,为了使用更多zabbix的新特性,随之而来的便是升级版本,zabbix版本兼容性是必须优先考虑的一点 客户端AGENT兼容 zabbix1.x到zabbix2.x的所有agent都兼容zabbix server2.4:如果你升级zabbix server,客户端是可以不做任何改变,除非你想使用agent的一些新特性。 Zabbix代理(p</div> </li> <li><a href="/article/1927.htm" title="unity 3d还是cocos2dx哪个适合游戏?" target="_blank">unity 3d还是cocos2dx哪个适合游戏?</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/unity%E8%87%AA%E5%AD%A6/1.htm">unity自学</a><a class="tag" taget="_blank" href="/search/unity%E6%95%99%E7%A8%8B/1.htm">unity教程</a><a class="tag" taget="_blank" href="/search/unity%E8%A7%86%E9%A2%91/1.htm">unity视频</a><a class="tag" taget="_blank" href="/search/unity%E8%B5%84%E6%96%99/1.htm">unity资料</a><a class="tag" taget="_blank" href="/search/unity/1.htm">unity</a> <div>unity 3d还是cocos2dx哪个适合游戏? 问:unity 3d还是cocos2dx哪个适合游戏? 答:首先目前来看unity视频教程因为是3d引擎,目前对2d支持并不完善,unity 3d 目前做2d普遍两种思路,一种是正交相机,3d画面2d视角,另一种是通过一些插件,动态创建mesh来绘制图形单元目前用的较多的是2d toolkit,ex2d,smooth moves,sm2, </div> </li> <li><a href="/article/2054.htm" title="百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序" target="_blank">百度笔试题:一个已经排序好的很大的数组,现在给它划分成m段,每段长度不定,段长最长为k,然后段内打乱顺序,请设计一个算法对其进行重新排序</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/%E7%AE%97%E6%B3%95/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/%E7%99%BE%E5%BA%A6/1.htm">百度</a><a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a> <div> import java.util.Arrays; /** * 最早是在陈利人老师的微博看到这道题: * #面试题#An array with n elements which is K most sorted,就是每个element的初始位置和它最终的排序后的位置的距离不超过常数K * 设计一个排序算法。It should be faster than O(n*lgn)。</div> </li> <li><a href="/article/2181.htm" title="获取checkbox复选框的值" target="_blank">获取checkbox复选框的值</a> <span class="text-muted">chiangfai</span> <a class="tag" taget="_blank" href="/search/checkbox/1.htm">checkbox</a> <div><title>CheckBox</title> <script type = "text/javascript"> doGetVal: function doGetVal() { //var fruitName = document.getElementById("apple").value;//根据</div> </li> <li><a href="/article/2308.htm" title="MySQLdb用户指南" target="_blank">MySQLdb用户指南</a> <span class="text-muted">chenchao051</span> <a class="tag" taget="_blank" href="/search/mysqldb/1.htm">mysqldb</a> <div>原网页被墙,放这里备用。 MySQLdb User's Guide Contents Introduction Installation _mysql MySQL C API translation MySQL C API function mapping Some _mysql examples MySQLdb </div> </li> <li><a href="/article/2435.htm" title="HIVE 窗口及分析函数" target="_blank">HIVE 窗口及分析函数</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/%E7%AA%97%E5%8F%A3%E5%87%BD%E6%95%B0/1.htm">窗口函数</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E6%9E%90%E5%87%BD%E6%95%B0/1.htm">分析函数</a> <div>窗口函数应用场景: (1)用于分区排序 (2)动态Group By (3)Top N (4)累计计算 (5)层次查询 一、分析函数 用于等级、百分点、n分片等。 函数             说明 RANK()     &nbs</div> </li> <li><a href="/article/2562.htm" title="PHP ZipArchive 实现压缩解压Zip文件" target="_blank">PHP ZipArchive 实现压缩解压Zip文件</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/zip/1.htm">zip</a> <div> PHP ZipArchive 是PHP自带的扩展类,可以轻松实现ZIP文件的压缩和解压,使用前首先要确保PHP ZIP 扩展已经开启,具体开启方法就不说了,不同的平台开启PHP扩增的方法网上都有,如有疑问欢迎交流。这里整理一下常用的示例供参考。 一、解压缩zip文件 01 02 03 04 05 06 07 08 09 10 11 </div> </li> <li><a href="/article/2689.htm" title="精彩英语贺词" target="_blank">精彩英语贺词</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%8B%B1%E8%AF%AD/1.htm">英语</a> <div>I'm always here              我会一直在这里支持你                &nb</div> </li> <li><a href="/article/2816.htm" title="基于Java注解的Spring的IoC功能" target="_blank">基于Java注解的Spring的IoC功能</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/IOC/1.htm">IOC</a><a class="tag" taget="_blank" href="/search/Office/1.htm">Office</a> <div>                                  </div> </li> <li><a href="/article/2943.htm" title="java模拟post请求" target="_blank">java模拟post请求</a> <span class="text-muted">geeksun</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>一般API接收客户端(比如网页、APP或其他应用服务)的请求,但在测试时需要模拟来自外界的请求,经探索,使用HttpComponentshttpClient可模拟Post提交请求。 此处用HttpComponents的httpclient来完成使命。 import org.apache.http.HttpEntity ; import org.apache.http.HttpRespon</div> </li> <li><a href="/article/3070.htm" title="Swift语法之 ---- ?和!区别" target="_blank">Swift语法之 ---- ?和!区别</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/%3F/1.htm">?</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</a><a class="tag" taget="_blank" href="/search/%21/1.htm">!</a> <div>转载自: http://blog.sina.com.cn/s/blog_71715bf80102ux3v.html   Swift语言使用var定义变量,但和别的语言不同,Swift里不会自动给变量赋初始值,也就是说变量不会有默认值,所以要求使用变量之前必须要对其初始化。如果在使用变量之前不进行初始化就会报错: var stringValue : String //</div> </li> <li><a href="/article/3197.htm" title="centos7安装jdk1.7" target="_blank">centos7安装jdk1.7</a> <span class="text-muted">jisonami</span> <a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a> <div>安装JDK1.7 步骤1、解压tar包在当前目录 [root@localhost usr]#tar -xzvf jdk-7u75-linux-x64.tar.gz 步骤2:配置环境变量 在etc/profile文件下添加 export JAVA_HOME=/usr/java/jdk1.7.0_75 export CLASSPATH=/usr/java/jdk1.7.0_75/lib </div> </li> <li><a href="/article/3324.htm" title="数据源架构模式之数据映射器" target="_blank">数据源架构模式之数据映射器</a> <span class="text-muted">home198979</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%98%A0%E5%B0%84%E5%99%A8/1.htm">数据映射器</a><a class="tag" taget="_blank" href="/search/datamapper/1.htm">datamapper</a> <div>前面分别介绍了数据源架构模式之表数据入口、数据源架构模式之行和数据入口数据源架构模式之活动记录,相较于这三种数据源架构模式,数据映射器显得更加“高大上”。   一、概念 数据映射器(Data Mapper):在保持对象和数据库(以及映射器本身)彼此独立的情况下,在二者之间移动数据的一个映射器层。概念永远都是抽象的,简单的说,数据映射器就是一个负责将数据映射到对象的类数据。 &nb</div> </li> <li><a href="/article/3451.htm" title="在Python中使用MYSQL" target="_blank">在Python中使用MYSQL</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>缘由   近期在折腾一个小东西须要抓取网上的页面。然后进行解析。将结果放到 数据库中。   了解到 Python在这方面有优势,便选用之。   由于我有台 server上面安装有 mysql,自然使用之。在进行数据库的这个操作过程中遇到了不少问题,这里 记录一下,大家共勉。    python中mysql的调用    百度之后能够通过MySQLdb进行数据库操作。</div> </li> <li><a href="/article/3578.htm" title="单例模式" target="_blank">单例模式</a> <span class="text-muted">hxl1988_0311</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/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/%E5%8D%95%E4%BB%B6/1.htm">单件</a> <div>package com.sosop.designpattern.singleton; /* * 单件模式:保证一个类必须只有一个实例,并提供全局的访问点 * * 所以单例模式必须有私有的构造器,没有私有构造器根本不用谈单件 * * 必须考虑到并发情况下创建了多个实例对象 * */ /** * 虽然有锁,但是只在第一次创建对象的时候加锁,并发时不会存在效率</div> </li> <li><a href="/article/3705.htm" title="27种迹象显示你应该辞掉程序员的工作" target="_blank">27种迹象显示你应该辞掉程序员的工作</a> <span class="text-muted">vipshichg</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a> <div>1、你仍然在等待老板在2010年答应的要提拔你的暗示。 2、你的上级近10年没有开发过任何代码。 3、老板假装懂你说的这些技术,但实际上他完全不知道你在说什么。 4、你干完的项目6个月后才部署到现场服务器上。 5、时不时的,老板在检查你刚刚完成的工作时,要求按新想法重新开发。 6、而最终这个软件只有12个用户。 7、时间全浪费在办公室政治中,而不是用在开发好的软件上。 8、部署前5分钟才开始测试。</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>