Hexo+GitHub Pages免费搭建个人博客

关于Hexo

Hexo中文官网

Hexo是一个快速、简洁且高效的博客框架,Hexo 使用 Markdown(或其他渲染引擎)解析文章,在几秒内,即可利用靓丽的主题生成静态网页。

MarkDown介绍

Markdown 是一个 Web 上使用的文本到HTML的转换工具,可以通过简单、易读易写的文本格式生成结构化的HTML文档。目前 github、Stackoverflow 等网站均支持这种格式。

关于markdown简单几句话说不清,可以点此进入markdown中文介绍页面了解详情

搭建前的准备

GitHub账号

​ GitHub是一个面向开源及私有软件项目的托管平台,也是全球最大的开源协作社区,通过GitHub,既可以让别人参与你的开源项目,也可以参与别人的开源项目。

​ 而我们此次要介绍的搭建博客的方法,依赖于GitHub为其用户免费提供的GitHub Pages服务。以下是官方对于GitHub Pages的介绍

GitHub Pages是一种静态站点托管服务,旨在直接从GitHub存储库托管您的个人,组织或项目页面。

​ 既然是免费的,肯定有着一些限制:

  • GitHub Pages源存储库的 建议限制为1GB。
  • 发布的GitHub Pages网站可能不超过1 GB。
  • GitHub的网页的网站有一个每月100GB的带宽限制。
  • GitHub Pages网站的限制为每小时10个版本。

安装环境

以下配置只在我自己电脑中(Windows10 64位)安装过,不保证在其他环境也能成功。

安装 Hexo 相当简单。然而在安装前,必须检查电脑中是否已安装下列应用程序:

  • Node.js
  • Git

安装 Hexo

必要的环境安装完成后,即可使用 npm 全局安装 Hexo。

npm install -g hexo-cli

Hexo+GitHub Pages免费搭建个人博客_第1张图片
安装hexo

检查是否安装 Hexo完成,查询是否成功,显示 hexo-cli版本就说明成功了
Hexo+GitHub Pages免费搭建个人博客_第2张图片
hexo -v

建站

安装一切所需的环境后,我们可以开始建站了 新建一个文件夹,用来管理我们的博客项目,

Hexo+GitHub Pages免费搭建个人博客_第3张图片
新建blog文件夹

打开命令行工具, 分别运行以下命令。

hexo init 用hexo-cli工具初始化项目文件夹
cd 进入刚新建的文件夹
npm install // 安装依赖
太长了就不截图了

访问URL

我们可以运行看看Hexo创建的博客站是什么样的,运行以下命令

hexo server
/*
选项  描述
-p, --port  重设端口
-s, --static    只使用静态文件
-l, --log   启动日记记录,使用覆盖记录格式
*/

或者

hexo s

在地址栏输入http://localhost:4000/访问本地Hexo服务器,按crtl+C停止运行hexo服务器

hexo server

好了,到这里我们已经学会了通过Hexo创建本地博客了,接下来将介绍如何将我们的博客上传到我们的GitHub服务器上

上传到GitHub

GitHub创建repositories

进入GitHub官网,或者在浏览器输入https://github.com/,如果还没有账号就创建一个账号就好了,这里不教大家怎么注册账号了。登录自己的账号,直接点击new repositories或者进入You repositoriesnew repositories

进入到创建repositories页面来,这里很重要,一定要注意哦!必须将新建的repository的名字为: 你的GitHub账户名.github.io,其他默认就好了。这里注意在创建GitHub用户名时一定要慎重考虑,因为这将决定你的GitHub Pages的域名

配置

GitHub的Repository创建好后。我们在回到本地的Hexo的Myblog项目中,我们用代码编辑器工具打开,notepad++就可以,找到在项目的根目录下_config.yml找到 deploy标签

在该文件下面添加

deploy:
  type: git
  repository: https://github.com/jiaiqi/jiaiqi.github.io.git # 复制过来
  branch: master

注:repository: https://github.com/jiaiqi/jiaiqi.github.io.git 是自己刚刚创建的你的GitHub账户名.github.io的repository,在Clone with HTTPS里面,复制粘贴就好咯。冒号后面记得空格哦。branch后面是master就好了。
在_config.yml找到url进行修改为:

url: http://jiaiqi.github.io # jiaiqi是我的github用户名,修改为自己的用户名

写文章

hexo new [layout] 
</code></pre> 
 <p>如果没有设置 <code>layout</code> 的话,默认使用 _config.yml 中的 <code>default_layout</code> 参数代替。如果标题包含空格的话,要用引号括起来。如:</p> 
 <pre><code>hexo new "post title with whitespace"
</code></pre> 
 <h2>部署</h2> 
 <p>到这里就差不到了,接下来我们需要执行一些命令,将我们的博客部署到GitHub上了,惊喜将会到来了。 打开Git Bash Here进入<code>blog</code>根目录下,首先我们需要安装一下hexo-deployer-git不然可能出现错误,无法部署成功,执行命令行。</p> 
 <pre><code>npm install hexo-deployer-git --save
</code></pre> 
 <p>然后在执行以下命令<br> 注:每次提交时必须执行这三个命令</p> 
 <pre><code>1. hexo clean
// 清除缓存文件 (db.json) 和已生成的静态文件 (public)。
</code></pre> 
 <pre><code>2. hexo generate # 生成静态文件。
// 选项
-d, --deploy # 文件生成后立即部署网站
-w, --watch # 监视文件变动
</code></pre> 
 <pre><code>3. hexo deploy # 部署
// 参数   描述
-g, --generate  部署之前预先生成静态文件
</code></pre> 
 <p>或者简写方式</p> 
 <pre><code>hexo clean
</code></pre> 
 <pre><code>hexo g
</code></pre> 
 <pre><code>hexo d
</code></pre> 
 <p>第一次执行hexo deploy命令后可能会弹出github登录页面,千万不要没登录就直接关掉了。</p> 
 <h2>测试</h2> 
 <p>我们进行访问https://jiaiqi.github.io/ 和 http://localhost:4000/一样的页面说明是已经成功。第一篇博客是hexo创建的默认文章。</p> 
 <h2>总结</h2> 
 <p>到这里,我们已经从如何使用Hexo到部署上GitHub上,当然了,此时还未对Hexo进行一些我们对于博客的美化,hexo可以让我们自定义自己独特风格的博客,关于hexo的更多使用方法比如如何创建文章、文章分类之类的去Hexo官网自己看文档吧。如何修改以及配置主题,等我的下一篇博客(当然了,下一篇不知道什么时候了,看心情吧)或者自己Google吧~</p> 
</article>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1298195648079798272"></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+GitHub Pages免费搭建个人博客)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1901033914516959232.htm"
                           title="SSL证书自动续签(解决泛域名续签问题)" target="_blank">SSL证书自动续签(解决泛域名续签问题)</a>
                        <span class="text-muted">月会</span>
<a class="tag" taget="_blank" href="/search/ssl%E8%87%AA%E5%8A%A8%E7%BB%AD%E7%AD%BE/1.htm">ssl自动续签</a>
                        <div>文章目录SSL证书自动生成并自动续期Let’sEncryptCertbot介绍申请ssl证书下载certbot申请证书非泛域名申请证书nginx使用证书证书续期脚本linux定时执行脚本泛域名SSL证书自动生成并自动续期自动续期使用Let’sEncrypt证书颁发机构和certbot客户端共同完成Let’sEncryptLet’sEncrypt是一家免费、开放、自动化的证书颁发机构(CA),为公众</div>
                    </li>
                    <li><a href="/article/1901026728541745152.htm"
                           title="Certbot实现SSL免费证书自动续签(CentOS 7版 + Docker部署的nginx)" target="_blank">Certbot实现SSL免费证书自动续签(CentOS 7版 + Docker部署的nginx)</a>
                        <span class="text-muted">程序猿S先森丶</span>
<a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/centos/1.htm">centos</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a>
                        <div>前置安装,可参考Certbot实现SSL免费证书自动续签(CentOS7+nginx/apache)如果是通过Docker运行Nginx,certbot无法直接检测到本地的Nginx配置。解决方案是使用standalone模式或挂载Webroot方式获取SSL证书,并手动配置Nginx。方案1:Standalone模式(临时关闭Nginx获取证书)如果你的服务器不支持Webroot(或Nginx配</div>
                    </li>
                    <li><a href="/article/1901017145060421632.htm"
                           title="python高并发访问mysql_Python访问MySQL" target="_blank">python高并发访问mysql_Python访问MySQL</a>
                        <span class="text-muted">阿廖林诺</span>

                        <div>Python访问数据库作为Python开发工程师,选择哪个数据库呢?当然是MySQL。因为MySQL不仅免费,普及率最高,出了错,可以很容易找到解决方法。而且,围绕MySQL有一大堆监控和运维的工具,安装和使用很方便。使用MySQLMySQL是Web世界中使用最广泛的数据库服务器。SQLite的特点是轻量级、可嵌入,但不能承受高并发访问,适合桌面和移动应用。而MySQL是为服务器端设计的数据库,能</div>
                    </li>
                    <li><a href="/article/1901002019339038720.htm"
                           title="基于asp.NET的病历管理系统 (源码+net+vue+部署文档+讲解等)" target="_blank">基于asp.NET的病历管理系统 (源码+net+vue+部署文档+讲解等)</a>
                        <span class="text-muted">qq_1406299528</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E6%AF%95%E4%B8%9A%E8%AE%BE%E8%AE%A1/1.htm">计算机毕业设计</a><a class="tag" taget="_blank" href="/search/asp/1.htm">asp</a><a class="tag" taget="_blank" href="/search/asp.net/1.htm">asp.net</a><a class="tag" taget="_blank" href="/search/vue.js/1.htm">vue.js</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a>
                        <div>收藏关注不迷路!!文末获取源码+数据库感兴趣的可以先收藏起来,还有大家在毕设选题(免费咨询指导选题),项目以及论文编写等相关问题都可以给我留言咨询,希望帮助更多的人文章目录前言程序资料获取一、项目技术二、项目内容和功能介绍三、核心代码数据库参考四、效果图五、资料获取前言博主介绍:✨全网粉丝10W+,CSDN特邀作者、博客专家、CSDN新星计划导师,专注于Java/Python/小程序app/深度学</div>
                    </li>
                    <li><a href="/article/1900975662685024256.htm"
                           title="rapidocr-onnxruntime库及在open-webui上传PDF 图像处理 (使用 OCR)应用" target="_blank">rapidocr-onnxruntime库及在open-webui上传PDF 图像处理 (使用 OCR)应用</a>
                        <span class="text-muted">原野AI</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2/1.htm">大模型部署</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a><a class="tag" taget="_blank" href="/search/ocr/1.htm">ocr</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/open-webui/1.htm">open-webui</a>
                        <div>背景rapidocr-onnxruntime是一个跨平台的OCR库,基于ONNXRuntime推理框架。目前已知运行速度最快、支持最广,完全开源免费并支持离线快速部署的多平台多语言OCR。缘起:百度paddle工程化不是太好,为了方便大家在各种端上进行ocr推理,我们将它转换为onnx格式,使用Python/C++/Java/Swift/C#将它移植到各个平台。名称来源:轻快好省并智能。基于深度学</div>
                    </li>
                    <li><a href="/article/1900957380523388928.htm"
                           title="Langchain如何调用Siliconflow的模型" target="_blank">Langchain如何调用Siliconflow的模型</a>
                        <span class="text-muted">LJY_LU</span>
<a class="tag" taget="_blank" href="/search/langchain/1.htm">langchain</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><a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E6%8C%96%E6%8E%98/1.htm">数据挖掘</a><a class="tag" taget="_blank" href="/search/nlp/1.htm">nlp</a>
                        <div>硅基流动之前宣布了部分模型免费,那我们就可以调用API来搞些事情。官网(ChatCompletions(siliconflow.cn))上给出了详细的调用方式,我们可以方便的ctrlC和ctrlV而Langchain支持自定义封装LLM(CustomLLM|️Langchain)那我们就可以结合搞点事情,封装好的代码在这,需要自取:fromlangchain.llms.baseimportLLMf</div>
                    </li>
                    <li><a href="/article/1900936318737772544.htm"
                           title="如何提高测试用例覆盖率?" target="_blank">如何提高测试用例覆盖率?</a>
                        <span class="text-muted">测试老哥</span>
<a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E7%94%A8%E4%BE%8B/1.htm">测试用例</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/%E8%BD%AF%E4%BB%B6%E6%B5%8B%E8%AF%95/1.htm">软件测试</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96%E6%B5%8B%E8%AF%95/1.htm">自动化测试</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B5%8B%E8%AF%95%E8%A6%86%E7%9B%96%E7%8E%87/1.htm">测试覆盖率</a><a class="tag" taget="_blank" href="/search/%E8%81%8C%E5%9C%BA%E5%92%8C%E5%8F%91%E5%B1%95/1.htm">职场和发展</a>
                        <div>点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快我们将讨论测试覆盖率的相关问题,以及它如何帮助提高软件质量的。测试覆盖率概述测试覆盖率被定义为一种测试技术指标,它表明我们的测试用例是否真正完全覆盖了应用程序代码中的各种可能以及在运行这些测试用例时执行了多少代码。如果有10个需求并创建了100个场景测试用例,并且执行了90个测试用例,则测试覆盖率为90%。现在,基于这个指标,测试人员可以</div>
                    </li>
                    <li><a href="/article/1900920812576239616.htm"
                           title="JavawebJavaServer Pages Standard Tag Library知识点" target="_blank">JavawebJavaServer Pages Standard Tag Library知识点</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/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a>
                        <div>JavaWeb开发中,JSTL(JavaServerPagesStandardTagLibrary)、EL(ExpressionLanguage)、Cookie和Session是非常重要的组件。以下是这些知识点的总结:1.JSTL标签库JSTL是JavaServerPages的一种标准标签库,旨在简化JSP页面的开发。它通过提供预定义的标签,来实现常见任务,如条件判断、循环处理、国际化等。使用标签</div>
                    </li>
                    <li><a href="/article/1900913751184437248.htm"
                           title="Python如何快速计算技术指标的金叉死叉?" target="_blank">Python如何快速计算技术指标的金叉死叉?</a>
                        <span class="text-muted">量化问财</span>
<a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E8%BD%AF%E4%BB%B6/1.htm">量化软件</a><a class="tag" taget="_blank" href="/search/QMT/1.htm">QMT</a><a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">量化交易</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E7%82%92%E8%82%A1/1.htm">量化炒股</a><a class="tag" taget="_blank" href="/search/PTrade/1.htm">PTrade</a><a class="tag" taget="_blank" href="/search/QMT/1.htm">QMT</a><a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E4%BA%A4%E6%98%93/1.htm">量化交易</a><a class="tag" taget="_blank" href="/search/%E9%87%8F%E5%8C%96%E8%BD%AF%E4%BB%B6/1.htm">量化软件</a><a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a>
                        <div>推荐阅读:《【最全攻略】免费的量化软件有哪些?券商的交易接口怎么获取?》引言在股票市场中,技术分析是一种重要的工具,它可以帮助投资者识别市场趋势和潜在的买卖点。技术指标金叉死叉是技术分析中常用的一种方法,它涉及到两个移动平均线(MA)的交叉点。金叉是指短期移动平均线从下方穿过长期移动平均线,通常被视为买入信号;而死叉则是短期移动平均线从上方穿过长期移动平均线,通常被视为卖出信号。本文将介绍如何使用</div>
                    </li>
                    <li><a href="/article/1900867613186125824.htm"
                           title="无需月费,完全本地运行!开源神器Local Deep Research解锁AI研究新姿势" target="_blank">无需月费,完全本地运行!开源神器Local Deep Research解锁AI研究新姿势</a>
                        <span class="text-muted">遇见小码</span>
<a class="tag" taget="_blank" href="/search/AI%E6%A3%B1%E9%95%9C%E5%AE%9E%E9%AA%8C%E5%AE%A4/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%E6%BA%90/1.htm">开源</a><a class="tag" taget="_blank" href="/search/github/1.htm">github</a>
                        <div>在AI技术日新月异的今天,动辄数百美元的订阅费和高性能硬件需求,让许多开发者和小团队对前沿研究工具望而却步。然而,近期一款名为LocalDeepResearch的开源项目横空出世,凭借完全免费、本地化运行、高度可定制的特性,迅速成为技术社区的热议焦点。它不仅打破了传统AI研究工具的高昂门槛,更让每个人都能轻松拥有堪比专业团队的研究能力!一、LocalDeepResearch是什么?LocalDee</div>
                    </li>
                    <li><a href="/article/1900851727184228352.htm"
                           title="springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)" target="_blank">springMvc36-JavaEE-JSP基础-EL表达式和JSTL标签库(Taglibs)</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-ee/1.htm">java-ee</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a>
                        <div>EL表达式和JSTL标签库:在JSP页面代替java代码,便于编写一.EL表达式作用:${}简化脚本表达式j2ee1.4以前版本需指定j2ee1.4以后版本默认支持EL表达式1.EL内置对象EL内置11个对象,不需定义可直接使用pageScope获取page域属性组成的MaprequestScope获取reqeust域属性组成的MapsessionScope获取session域属性组成的Mapap</div>
                    </li>
                    <li><a href="/article/1900847056281464832.htm"
                           title="JavaEE基础八之EL与JSTL相关知识(过时不谈)" target="_blank">JavaEE基础八之EL与JSTL相关知识(过时不谈)</a>
                        <span class="text-muted">ZHWVICDI</span>
<a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/EE/1.htm">EE</a><a class="tag" taget="_blank" href="/search/JavaEE/1.htm">JavaEE</a><a class="tag" taget="_blank" href="/search/EL%E8%A1%A8%E8%BE%BE%E5%BC%8F/1.htm">EL表达式</a><a class="tag" taget="_blank" href="/search/JSTL/1.htm">JSTL</a>
                        <div>EL功能动态输出内容替代JSP中的表达式元素简化jsp主要就是取值一般格式${EL表达式}内置对象牢记!!因为其他也是差不多param/paramValues方便输出请求参数pageScope/requestScopre/sessionScope/applicationScope输出各范围的属性header/headerValues与请求头相关cookie/initParampageContext</div>
                    </li>
                    <li><a href="/article/1900845165665382400.htm"
                           title="lvs、nginx、haproxy区别和使用场景?" target="_blank">lvs、nginx、haproxy区别和使用场景?</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%81%8A%E8%81%8A%E8%BF%90%E7%BB%B4/1.htm">聊聊运维</a><a class="tag" taget="_blank" href="/search/lvs/1.htm">lvs</a><a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>0.运维干货分享软考系统架构设计师三科备考经验附学习资料信息安全管理体系(ISMS)制度模板分享免费文档翻译工具(支持word、pdf、ppt、excel)PuTTY中文版安装包MobaXterm中文版安装包pinginfoview网络诊断工具中文版LVS(LinuxVirtualServer)、Nginx和HAProxy都是常见的负载均衡工具,它们在不同的场景中各有优势。以下是它们的区别、特点及</div>
                    </li>
                    <li><a href="/article/1900826257579372544.htm"
                           title="六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析" target="_blank">六十天前端强化训练之第十七天React Hooks 入门:useState 深度解析</a>
                        <span class="text-muted">编程星辰海</span>
<a class="tag" taget="_blank" href="/search/%23/1.htm">#</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/react.js/1.htm">react.js</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a>
                        <div>=====欢迎来到编程星辰海的博客讲解======看完可以给一个免费的三连吗,谢谢大佬!目录一、知识讲解1.Hooks是什么?2.useState的作用3.基本语法解析4.工作原理5.参数详解a)初始值设置方式b)更新函数特性6.注意事项7.类组件对比8.常见问题解答二、核心代码示例三、实现效果四、学习要点总结五、扩展阅读推荐官方文档优质文章推荐学习路径进阶资源六、实践步骤一、表单输入控制二、动态</div>
                    </li>
                    <li><a href="/article/1900801270969593856.htm"
                           title="zerotier搭建免费moon服务器" target="_blank">zerotier搭建免费moon服务器</a>
                        <span class="text-muted">ChrisitineTX</span>
<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/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>前言ZeroTier是一种基于P2P的虚拟组网工具,通过搭建==‌Moon服务器‌==可大幅提升跨运营商/跨国节点的连接质量。本文使用云服务演示部署流程。准备工作‌注册三丰云账号‌‌创建CentOS8.5实例‌(这里选择centos8以上,别的版本可能存在问题)控制台→云服务器→创建实例镜像选择:‌CentOS8.564位‌安全组开放端口:‌TCP/UDP9993‌️Moon服务器部署步骤1:登录</div>
                    </li>
                    <li><a href="/article/1900797863215034368.htm"
                           title="数字隐形盾牌:日常场景下的网络安全实践" target="_blank">数字隐形盾牌:日常场景下的网络安全实践</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E9%98%B2%E6%8A%A4/1.htm">安全防护</a>
                        <div>一、网络威胁:潜伏在屏幕后的"数字劫匪"2025年全球每11秒发生一次勒索攻击,每天新增45万个钓鱼网站,你的手机里可能正躺着3-5个高危漏洞。这些数据揭示了一个残酷现实:我们正生活在一个"数字丛林时代"。三大致命威胁:钓鱼攻击升级版:骗子不仅伪造银行邮件,现在会克隆公司高管的微信,用AI模仿老板声音要求转账**Wi-Fi陷阱:**商场免费Wi-Fi可能在15秒内窃取你的支付密码,机场充电桩可能成</div>
                    </li>
                    <li><a href="/article/1900792950758109184.htm"
                           title="PDF合并工具,免费快捷 开源。python脚本实例演示" target="_blank">PDF合并工具,免费快捷 开源。python脚本实例演示</a>
                        <span class="text-muted">zhangood</span>
<a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90/1.htm">开源</a>
                        <div>主要功能:完全免费相当方便可以合并PDF合并后自动删除原始PDF可设置原始文件夹,和目标文件夹路径支持生成EXE可执行文件,可在非python环境运行通过python脚本编写的,先给大家看脚本,方便了解配置和学习。importosfromPyPDF2importPdfMergerfromosimportlistdirresource_path='D:/111111/'#设定源文件夹,把要合并的pd</div>
                    </li>
                    <li><a href="/article/1900790679647350784.htm"
                           title="springboot 整合 elk (Elasticsearch+Logstash+Kibana)" target="_blank">springboot 整合 elk (Elasticsearch+Logstash+Kibana)</a>
                        <span class="text-muted">高大王竟然被注册</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。Kibana也是一个开源和免费的工具,它Kibana可以为Logstash和ElasticSearch提供的日志分析友好的Web界</div>
                    </li>
                    <li><a href="/article/1900786389776134144.htm"
                           title="【2025年37期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深指数实时数据获取实例演示及接口API说明文档" target="_blank">【2025年37期免费获取股票数据API接口】实例演示五种主流语言获取股票行情api接口之沪深指数实时数据获取实例演示及接口API说明文档</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/java/1.htm">java</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/%E8%82%A1%E7%A5%A8api/1.htm">股票api</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8%E6%95%B0%E6%8D%AE/1.htm">股票数据</a><a class="tag" taget="_blank" href="/search/%E8%82%A1%E7%A5%A8%E6%95%B0%E6%8D%AE%E6%8E%A5%E5%8F%A3/1.htm">股票数据接口</a>
                        <div>在近一至两年期间,股票量化分析逐步成为备受关注的热门议题。对于投身于该领域工作而言,首要步骤便是获取全面且精准的股票数据。无论是实时交易数据、历史交易记录、财务数据,亦或是基本面信息,这些数据均是开展量化分析过程中不可或缺的宝贵资源。我们的核心任务在于从这些数据中提炼出具有价值的信息,从而为投资策略提供坚实有力的指导。在数据探索进程中,我尝试运用了多种方法,涵盖自编网易股票页面爬虫程序、申万行业数</div>
                    </li>
                    <li><a href="/article/1900764696395444224.htm"
                           title="Python湖南长沙二手房源爬虫数据可视化分析大屏全屏系统 开题报告" target="_blank">Python湖南长沙二手房源爬虫数据可视化分析大屏全屏系统 开题报告</a>
                        <span class="text-muted">黄菊华老师</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE%E5%BA%93%E5%8F%AF%E8%A7%86%E5%8C%96/1.htm">大数据库可视化</a><a class="tag" taget="_blank" href="/search/%E4%BA%8C%E6%89%8B%E6%88%BF%E6%BA%90%E6%95%B0%E6%8D%AE%E5%8F%AF%E8%A7%86%E5%8C%96%E7%B3%BB%E7%BB%9F/1.htm">二手房源数据可视化系统</a>
                        <div>博主介绍:《Vue.js入门与商城开发实战》《微信小程序商城开发》图书作者,CSDN博客专家,在线教育专家,CSDN钻石讲师;专注大学生毕业设计教育和辅导。所有项目都配有从入门到精通的基础知识视频课程,免费项目配有对应开发文档、开题报告、任务书、PPT、论文模版等项目都录了发布和功能操作演示视频;项目的界面和功能都可以定制,包安装运行!!!在文章末尾可以获取联系方式Python湖南长沙二手房源爬虫</div>
                    </li>
                    <li><a href="/article/1900737184273592320.htm"
                           title="千问大模型携手超算互联网:算力驱动下的安全新征程" target="_blank">千问大模型携手超算互联网:算力驱动下的安全新征程</a>
                        <span class="text-muted"></span>
<a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a>
                        <div>一、技术革命的新纪元:从“火种”到“燎原”2025年3月,中国国家超算互联网平台宣布接入阿里巴巴“千问QwQ-32B”大模型。这一事件,标志着人类算力资源整合迈入新阶段——超算中心不再仅是巨型计算机的集合,而是演化为承载智能的“数字大脑”。用户可通过平台免费调用百万级Token的计算资源,如同古希腊神话中普罗米修斯盗火予人,超算互联网正将“智能之火”播撒至科研、工业乃至普通开发者手中。然而,火种既</div>
                    </li>
                    <li><a href="/article/1900683725721628672.htm"
                           title="使用 Excel 实现绩效看板的自动化" target="_blank">使用 Excel 实现绩效看板的自动化</a>
                        <span class="text-muted">chenchihwen</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%8A%A8%E5%8C%96/1.htm">自动化</a><a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                        <div>引言在日常工作中,团队的绩效监控和管理是确保项目顺利进行的重要环节。然而,面临着以下问题:数据分散:系统中的数据难以汇总,缺乏一个宏观的团队执行情况视图。看板缺失:系统本身可能无法提供合适的Dashboard,导致数据分析困难。手动操作繁琐:数据采集、汇总和分析过程繁琐且耗时。本文将介绍如何利用免费的软件和工具(如Python、MySQL、Excel等)实现绩效看板的自动化。通过邮件自动推送和接收</div>
                    </li>
                    <li><a href="/article/1900659622801371136.htm"
                           title="MyBatis-Plus 分页查询接口返回值问题剖析" target="_blank">MyBatis-Plus 分页查询接口返回值问题剖析</a>
                        <span class="text-muted">字节熊猫</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a><a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/mybatis-plus/1.htm">mybatis-plus</a>
                        <div>在使用MyBatis-Plus进行分页查询时,很多开发者会遇到一个常见的问题:当分页查询接口返回值定义为Page时,执行查询会抛出异常;而将返回值修改为IPage时,分页查询却能正常工作。本文将从MyBatis-Plus的分页机制入手,详细分析这一问题的根源,并提供相应的解决方案。一、问题现象描述在MyBatis-Plus中,我们通常会定义一个分页查询接口,如下:PageselectComment</div>
                    </li>
                    <li><a href="/article/1900654329451311104.htm"
                           title="从零开始学习PPT全攻略" target="_blank">从零开始学习PPT全攻略</a>
                        <span class="text-muted">破碎的天堂鸟</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E6%95%99%E7%A8%8B/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/PPT/1.htm">PPT</a>
                        <div>学习制作PPT是一个循序渐进的过程,从基础操作到设计思维再到实战技巧,逐步提升能力。以下是分阶段的学习路径建议:一、基础阶段:快速掌握工具操作软件选择微软PowerPoint(最主流,功能全面)WPS演示(国产免费,模板丰富)GoogleSlides(在线协作方便)Canva(设计小白友好,适合快速出图)核心功能速成快捷键:Ctrl+S(保存)、Ctrl+Z(撤销)、Ctrl+C/V(复制粘贴)、</div>
                    </li>
                    <li><a href="/article/1900651044816351232.htm"
                           title="Audacity的安装和使用" target="_blank">Audacity的安装和使用</a>
                        <span class="text-muted">迷茫&&前行</span>
<a class="tag" taget="_blank" href="/search/ctf%E5%B7%A5%E5%85%B7/1.htm">ctf工具</a><a class="tag" taget="_blank" href="/search/Audacity/1.htm">Audacity</a><a class="tag" taget="_blank" href="/search/ctf/1.htm">ctf</a>
                        <div>安装下载地址:官方网站:Audacity软件开源免费,但部分功能可能需要额外插件。一.介绍Audacity是一款免费、开源的音频编辑软件,适用于Windows、macOS、Linux等操作系统。它支持多轨编辑、录音、音频效果处理、格式转换等功能,适合音乐制作、播客编辑、音频修复等场景。主要功能:录音:支持麦克风、线路输入等多种音源。编辑:提供剪切、复制、粘贴、删除等基本操作,支持多轨编辑。效果处理</div>
                    </li>
                    <li><a href="/article/1900610548869951488.htm"
                           title="[免费送Claude账号密码]ChatGPT的平替——Claude赠送2个免费Claude账号密码卡密!(内附Claude注册教程)" target="_blank">[免费送Claude账号密码]ChatGPT的平替——Claude赠送2个免费Claude账号密码卡密!(内附Claude注册教程)</a>
                        <span class="text-muted">NBA首席形象大使阿坤</span>
<a class="tag" taget="_blank" href="/search/%E6%97%A5%E5%B8%B8%E5%B0%8F%E5%8A%9F%E8%83%BD%E5%AE%9E%E7%8E%B0/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/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/claude/1.htm">claude</a><a class="tag" taget="_blank" href="/search/gpt-3/1.htm">gpt-3</a>
                        <div>一、账号说明1.账号格式:登录邮箱—密码—验证邮箱2.登录方式:访问Claude官网,选择登录,输入登录邮箱、密码不多叭叭,上账号!账号1:登录邮箱:antionettebamber@gmail.com—登录密码:c934dfqcwuz8g—验证邮箱:mquiluningbobb0w1@divermail.com账号2:登录邮箱:robertinolilly@gmail.com—登录密码:jx68</div>
                    </li>
                    <li><a href="/article/1900608278916820992.htm"
                           title="ClaudeAPi接入" target="_blank">ClaudeAPi接入</a>
                        <span class="text-muted">heikeb</span>
<a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>一,实现目标接入钉钉机器人支持群聊和私聊chatgpt体验:http://me.chat129.comchatgpt学习:http://www.chat129.com网上看了很多方案,因为Claude的api申请难度非常大,大部分都是说使用Slack,但是Slack只能免费使用一个月。作为一个完美主义怎么可能允许这样的事情发生。何如处理,抓网页。只能美,英,魔法这些都是入门小菜,这里不再赘述。自行</div>
                    </li>
                    <li><a href="/article/1900606893206859776.htm"
                           title="Python API接口" target="_blank">Python API接口</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/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>人工智能机器人EverydayWechat老李API图灵机器人:http://www.turingapi.com/(需求实名制认证,并每天免费数量只有100条)青云客智能聊天机器人:http://api.qingyunke.com/(无须申请,无数量限制,但有点智障,分手神器。分手神器,慎用)智能闲聊(腾讯):https://ai.qq.com/product/nlpchat.shtml(申请使用</div>
                    </li>
                    <li><a href="/article/1900598193289228288.htm"
                           title="Python 实现的采集诸葛灵签" target="_blank">Python 实现的采集诸葛灵签</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/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>Python实现的采集诸葛灵签项目介绍这是一个基于Python开发的诸葛灵签数据采集和展示项目。通过爬虫技术获取诸葛神签的签文和解签内容,并提供数据存储和查询功能。项目结构zhuge/├──zhuge_scraper.py#爬虫主程序├──zhuge_pages/#数据存储目录│├──all_signs.json#汇总数据│└──zhuge_sign_*.json#单个签文数据└──zhuge.m</div>
                    </li>
                    <li><a href="/article/1900572729392820224.htm"
                           title="LoRa无线技术解析" target="_blank">LoRa无线技术解析</a>
                        <span class="text-muted">wmq163</span>
<a class="tag" taget="_blank" href="/search/%E7%89%A9%E8%81%94%E7%BD%91/1.htm">物联网</a><a class="tag" taget="_blank" href="/search/lora/1.htm">lora</a>
                        <div>一、Lora技术基础与特点1、LoRa是一种低功耗广域网通信(LPWAN)技术中的一种,是Semtech公司采用和推广的一种基于扩频技术的超远距离无线传输技术。比sigfox的FSK技术更加灵敏,传送距离更远,更节能。2、LoRa是物理层(PHY)协议,能被应用在几乎所有的网络技术中。3、LoRa模块主要在全球免费频段运行,频率范围从137MHz-1050MHz,常见的主要是433MHz、868M</div>
                    </li>
                                <li><a href="/article/77.htm"
                                       title="算法 单链的创建与删除" target="_blank">算法 单链的创建与删除</a>
                                    <span class="text-muted">换个号韩国红果果</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>
先创建结构体
struct student {
	int data;
	//int tag;//标记这是第几个
	struct student *next;
};
//  addone 用于将一个数插入已从小到大排好序的链中
struct student *addone(struct student *h,int x){
		if(h==NULL)  //??????
			</div>
                                </li>
                                <li><a href="/article/204.htm"
                                       title="《大型网站系统与Java中间件实践》第2章读后感" target="_blank">《大型网站系统与Java中间件实践》第2章读后感</a>
                                    <span class="text-muted">白糖_</span>
<a class="tag" taget="_blank" href="/search/java%E4%B8%AD%E9%97%B4%E4%BB%B6/1.htm">java中间件</a>
                                    <div>       断断续续花了两天时间试读了《大型网站系统与Java中间件实践》的第2章,这章总述了从一个小型单机构建的网站发展到大型网站的演化过程---整个过程会遇到很多困难,但每一个屏障都会有解决方案,最终就是依靠这些个解决方案汇聚到一起组成了一个健壮稳定高效的大型系统。 
  
       看完整章内容,</div>
                                </li>
                                <li><a href="/article/331.htm"
                                       title="zeus持久层spring事务单元测试" target="_blank">zeus持久层spring事务单元测试</a>
                                    <span class="text-muted">deng520159</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/DAO/1.htm">DAO</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/jdbc/1.htm">jdbc</a>
                                    <div>今天把zeus事务单元测试放出来,让大家指出他的毛病, 
1.ZeusTransactionTest.java 单元测试 
  
package com.dengliang.zeus.webdemo.test;

import java.util.ArrayList;
import java.util.List;

import org.junit.Test;
import </div>
                                </li>
                                <li><a href="/article/458.htm"
                                       title="Rss 订阅 开发" target="_blank">Rss 订阅 开发</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/xml/1.htm">xml</a><a class="tag" taget="_blank" href="/search/%E8%AE%A2%E9%98%85/1.htm">订阅</a><a class="tag" taget="_blank" href="/search/rss/1.htm">rss</a><a class="tag" taget="_blank" href="/search/%E8%A7%84%E8%8C%83/1.htm">规范</a>
                                    <div>  
              RSS是 Really Simple Syndication的缩写(对rss2.0而言,是这三个词的缩写,对rss1.0而言则是RDF Site Summary的缩写,1.0与2.0走的是两个体系)。 
  
RSS</div>
                                </li>
                                <li><a href="/article/585.htm"
                                       title="分页查询实现" target="_blank">分页查询实现</a>
                                    <span class="text-muted">g21121</span>
<a class="tag" taget="_blank" href="/search/%E5%88%86%E9%A1%B5%E6%9F%A5%E8%AF%A2/1.htm">分页查询</a>
                                    <div>在查询列表时我们常常会用到分页,分页的好处就是减少数据交换,每次查询一定数量减少数据库压力等等。 
按实现形式分前台分页和服务器分页: 
前台分页就是一次查询出所有记录,在页面中用js进行虚拟分页,这种形式在数据量较小时优势比较明显,一次加载就不必再访问服务器了,但当数据量较大时会对页面造成压力,传输速度也会大幅下降。 
服务器分页就是每次请求相同数量记录,按一定规则排序,每次取一定序号直接的数据</div>
                                </li>
                                <li><a href="/article/712.htm"
                                       title="spring jms异步消息处理" target="_blank">spring jms异步消息处理</a>
                                    <span class="text-muted">510888780</span>
<a class="tag" taget="_blank" href="/search/jms/1.htm">jms</a>
                                    <div>spring JMS对于异步消息处理基本上只需配置下就能进行高效的处理。其核心就是消息侦听器容器,常用的类就是DefaultMessageListenerContainer。该容器可配置侦听器的并发数量,以及配合MessageListenerAdapter使用消息驱动POJO进行消息处理。且消息驱动POJO是放入TaskExecutor中进行处理,进一步提高性能,减少侦听器的阻塞。具体配置如下: </div>
                                </li>
                                <li><a href="/article/839.htm"
                                       title="highCharts柱状图" target="_blank">highCharts柱状图</a>
                                    <span class="text-muted">布衣凌宇</span>
<a class="tag" taget="_blank" href="/search/hightCharts/1.htm">hightCharts</a><a class="tag" taget="_blank" href="/search/%E6%9F%B1%E5%9B%BE/1.htm">柱图</a>
                                    <div>第一步:导入 exporting.js,grid.js,highcharts.js;第二步:写controller 
  
@Controller@RequestMapping(value="${adminPath}/statistick")public class StatistickController {  private UserServi</div>
                                </li>
                                <li><a href="/article/966.htm"
                                       title="我的spring学习笔记2-IoC(反向控制 依赖注入)" target="_blank">我的spring学习笔记2-IoC(反向控制 依赖注入)</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/mvc/1.htm">mvc</a><a class="tag" taget="_blank" href="/search/Spring+%E6%95%99%E7%A8%8B/1.htm">Spring 教程</a><a class="tag" taget="_blank" href="/search/spring3+%E6%95%99%E7%A8%8B/1.htm">spring3 教程</a><a class="tag" taget="_blank" href="/search/Spring+%E5%85%A5%E9%97%A8/1.htm">Spring 入门</a>
                                    <div>IoC(反向控制 依赖注入)这是Spring提出来了,这也是Spring一大特色。这里我不用多说,我们看Spring教程就可以了解。当然我们不用Spring也可以用IoC,下面我将介绍不用Spring的IoC。 
IoC不是框架,她是java的技术,如今大多数轻量级的容器都会用到IoC技术。这里我就用一个例子来说明: 
如:程序中有 Mysql.calss 、Oracle.class 、SqlSe</div>
                                </li>
                                <li><a href="/article/1093.htm"
                                       title="TLS java简单实现" target="_blank">TLS java简单实现</a>
                                    <span class="text-muted">antlove</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/ssl/1.htm">ssl</a><a class="tag" taget="_blank" href="/search/keystore/1.htm">keystore</a><a class="tag" taget="_blank" href="/search/tls/1.htm">tls</a><a class="tag" taget="_blank" href="/search/secure/1.htm">secure</a>
                                    <div>  
1. SSLServer.java 
package ssl;

import java.io.FileInputStream;
import java.io.InputStream;
import java.net.ServerSocket;
import java.net.Socket;
import java.security.KeyStore;
import </div>
                                </li>
                                <li><a href="/article/1220.htm"
                                       title="Zip解压压缩文件" target="_blank">Zip解压压缩文件</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/Zip%E6%A0%BC%E5%BC%8F%E8%A7%A3%E5%8E%8B/1.htm">Zip格式解压</a><a class="tag" taget="_blank" href="/search/Zip%E6%B5%81%E7%9A%84%E4%BD%BF%E7%94%A8/1.htm">Zip流的使用</a><a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E8%A7%A3%E5%8E%8B/1.htm">文件解压</a>
                                    <div>  
 ZIP文件的解压缩实质上就是从输入流中读取数据。Java.util.zip包提供了类ZipInputStream来读取ZIP文件,下面的代码段创建了一个输入流来读取ZIP格式的文件; 
ZipInputStream in = new ZipInputStream(new FileInputStream(zipFileName)); 
  
  
&n</div>
                                </li>
                                <li><a href="/article/1347.htm"
                                       title="underscore.js 学习(一)" target="_blank">underscore.js 学习(一)</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/underscore/1.htm">underscore</a>
                                    <div>        工作中需要用到underscore.js,发现这是一个包括了很多基本功能函数的js库,里面有很多实用的函数。而且它没有扩展 javascript的原生对象。主要涉及对Collection、Object、Array、Function的操作。       学</div>
                                </li>
                                <li><a href="/article/1474.htm"
                                       title="java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)" target="_blank">java jvm常用命令工具——jstatd命令(Java Statistics Monitoring Daemon)</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/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jstatd/1.htm">jstatd</a>
                                    <div>1.介绍 
        jstatd是一个基于RMI(Remove Method Invocation)的服务程序,它用于监控基于HotSpot的JVM中资源的创建及销毁,并且提供了一个远程接口允许远程的监控工具连接到本地的JVM执行命令。 
        jstatd是基于RMI的,所以在运行jstatd的服务</div>
                                </li>
                                <li><a href="/article/1601.htm"
                                       title="【Spring框架三】Spring常用注解之Transactional" target="_blank">【Spring框架三】Spring常用注解之Transactional</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/transactional/1.htm">transactional</a>
                                    <div>Spring可以通过注解@Transactional来为业务逻辑层的方法(调用DAO完成持久化动作)添加事务能力,如下是@Transactional注解的定义: 
  
/*
 * Copyright 2002-2010 the original author or authors.
 *
 * Licensed under the Apache License, Version </div>
                                </li>
                                <li><a href="/article/1728.htm"
                                       title="我(程序员)的前进方向" target="_blank">我(程序员)的前进方向</a>
                                    <span class="text-muted">bitray</span>
<a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a>
                                    <div>作为一个普通的程序员,我一直游走在java语言中,java也确实让我有了很多的体会.不过随着学习的深入,java语言的新技术产生的越来越多,从最初期的javase,我逐渐开始转变到ssh,ssi,这种主流的码农,.过了几天为了解决新问题,webservice的大旗也被我祭出来了,又过了些日子jms架构的activemq也开始必须学习了.再后来开始了一系列技术学习,osgi,restful.....</div>
                                </li>
                                <li><a href="/article/1855.htm"
                                       title="nginx lua开发经验总结" target="_blank">nginx lua开发经验总结</a>
                                    <span class="text-muted">ronin47</span>

                                    <div>使用nginx lua已经两三个月了,项目接开发完毕了,这几天准备上线并且跟高德地图对接。回顾下来lua在项目中占得必中还是比较大的,跟PHP的占比差不多持平了,因此在开发中遇到一些问题备忘一下  1:content_by_lua中代码容量有限制,一般不要写太多代码,正常编写代码一般在100行左右(具体容量没有细心测哈哈,在4kb左右),如果超出了则重启nginx的时候会报 too long pa</div>
                                </li>
                                <li><a href="/article/1982.htm"
                                       title="java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶" target="_blank">java-66-用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。颠倒之后的栈为{5,4,3,2,1},5处在栈顶</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a>
                                    <div>
import java.util.Stack;

public class ReverseStackRecursive {

	/**
	 * Q 66.颠倒栈。
	 * 题目:用递归颠倒一个栈。例如输入栈{1,2,3,4,5},1在栈顶。
	 * 颠倒之后的栈为{5,4,3,2,1},5处在栈顶。
	 *1. Pop the top element
	 *2. Revers</div>
                                </li>
                                <li><a href="/article/2109.htm"
                                       title="正确理解Linux内存占用过高的问题" target="_blank">正确理解Linux内存占用过高的问题</a>
                                    <span class="text-muted">cfyme</span>
<a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a>
                                    <div>Linux开机后,使用top命令查看,4G物理内存发现已使用的多大3.2G,占用率高达80%以上: 
Mem:   3889836k total,  3341868k used,   547968k free,   286044k buffers 
Swap:  6127608k total,&nb</div>
                                </li>
                                <li><a href="/article/2236.htm"
                                       title="[JWFD开源工作流]当前流程引擎设计的一个急需解决的问题" target="_blank">[JWFD开源工作流]当前流程引擎设计的一个急需解决的问题</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C%E6%B5%81/1.htm">工作流</a>
                                    <div> 
 
     当我们的流程引擎进入IRC阶段的时候,当循环反馈模型出现之后,每次循环都会导致一大堆节点内存数据残留在系统内存中,循环的次数越多,这些残留数据将导致系统内存溢出,并使得引擎崩溃。。。。。。 
 
      而解决办法就是利用汇编语言或者其它系统编程语言,在引擎运行时,把这些残留数据清除掉。</div>
                                </li>
                                <li><a href="/article/2363.htm"
                                       title="自定义类的equals函数" target="_blank">自定义类的equals函数</a>
                                    <span class="text-muted">dai_lm</span>
<a class="tag" taget="_blank" href="/search/equals/1.htm">equals</a>
                                    <div>仅作笔记使用 
 

public class VectorQueue {

	private final Vector<VectorItem> queue;

	private class VectorItem {
		private final Object item;
		private final int quantity;

		public VectorI</div>
                                </li>
                                <li><a href="/article/2490.htm"
                                       title="Linux下安装R语言" target="_blank">Linux下安装R语言</a>
                                    <span class="text-muted">datageek</span>
<a class="tag" taget="_blank" href="/search/R%E8%AF%AD%E8%A8%80+linux/1.htm">R语言 linux</a>
                                    <div>命令如下:sudo gedit  /etc/apt/sources.list1、deb http://mirrors.ustc.edu.cn/CRAN/bin/linux/ubuntu/ precise/ 2、deb http://dk.archive.ubuntu.com/ubuntu hardy universesudo apt-key adv --keyserver ke</div>
                                </li>
                                <li><a href="/article/2617.htm"
                                       title="如何修改mysql 并发数(连接数)最大值" target="_blank">如何修改mysql 并发数(连接数)最大值</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>MySQL的连接数最大值跟MySQL没关系,主要看系统和业务逻辑了 
  
方法一:进入MYSQL安装目录 打开MYSQL配置文件 my.ini 或 my.cnf查找 max_connections=100 修改为 max_connections=1000 服务里重起MYSQL即可 
  方法二:MySQL的最大连接数默认是100客户端登录:mysql -uusername -ppass</div>
                                </li>
                                <li><a href="/article/2744.htm"
                                       title="单一功能原则" target="_blank">单一功能原则</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1%E7%9A%84%E7%A8%8B%E5%BA%8F%E8%AE%BE%E8%AE%A1/1.htm">面向对象的程序设计</a><a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E8%AE%BE%E8%AE%A1/1.htm">软件设计</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E5%8E%9F%E5%88%99/1.htm">编程原则</a>
                                    <div>单一功能原则[
编辑]            
SOLID    原则    
 
 单一功能原则 
 开闭原则 
 Liskov代换原则 
 接口隔离原则 
 依赖反转原则 
      
 
 查   
 论   
 编 
      
在面向对象编程领域中,单一功能原则(Single responsibility principle)规定每个类都应该有</div>
                                </li>
                                <li><a href="/article/2871.htm"
                                       title="POJO、VO和JavaBean区别和联系" target="_blank">POJO、VO和JavaBean区别和联系</a>
                                    <span class="text-muted">fanmingxing</span>
<a class="tag" taget="_blank" href="/search/VO/1.htm">VO</a><a class="tag" taget="_blank" href="/search/POJO/1.htm">POJO</a><a class="tag" taget="_blank" href="/search/javabean/1.htm">javabean</a>
                                    <div>POJO和JavaBean是我们常见的两个关键字,一般容易混淆,POJO全称是Plain Ordinary Java Object / Plain Old Java Object,中文可以翻译成:普通Java类,具有一部分getter/setter方法的那种类就可以称作POJO,但是JavaBean则比POJO复杂很多,JavaBean是一种组件技术,就好像你做了一个扳子,而这个扳子会在很多地方被</div>
                                </li>
                                <li><a href="/article/2998.htm"
                                       title="SpringSecurity3.X--LDAP:AD配置" target="_blank">SpringSecurity3.X--LDAP:AD配置</a>
                                    <span class="text-muted">hanqunfeng</span>
<a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a>
                                    <div>前面介绍过基于本地数据库验证的方式,参考http://hanqunfeng.iteye.com/blog/1155226,这里说一下如何修改为使用AD进行身份验证【只对用户名和密码进行验证,权限依旧存储在本地数据库中】。 
  
将配置文件中的如下部分删除: 
  <!-- 认证管理器,使用自定义的UserDetailsService,并对密码采用md5加密-->  
  </div>
                                </li>
                                <li><a href="/article/3125.htm"
                                       title="mac mysql 修改密码" target="_blank">mac mysql 修改密码</a>
                                    <span class="text-muted">IXHONG</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>$ sudo /usr/local/mysql/bin/mysqld_safe –user=root & //启动MySQL(也可以通过偏好设置面板来启动)$ sudo /usr/local/mysql/bin/mysqladmin -uroot password yourpassword //设置MySQL密码(注意,这是第一次MySQL密码为空的时候的设置命令,如果是修改密码,还需在-</div>
                                </li>
                                <li><a href="/article/3252.htm"
                                       title="设计模式--抽象工厂模式" target="_blank">设计模式--抽象工厂模式</a>
                                    <span class="text-muted">kerryg</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a>
                                    <div>抽象工厂模式: 
 
    工厂模式有一个问题就是,类的创建依赖于工厂类,也就是说,如果想要拓展程序,必须对工厂类进行修改,这违背了闭包原则。我们采用抽象工厂模式,创建多个工厂类,这样一旦需要增加新的功能,直接增加新的工厂类就可以了,不需要修改之前的代码。 
 
    总结:这个模式的好处就是,如果想增加一个功能,就需要做一个实现类,</div>
                                </li>
                                <li><a href="/article/3379.htm"
                                       title="评"高中女生军训期跳楼”" target="_blank">评"高中女生军训期跳楼”</a>
                                    <span class="text-muted">nannan408</span>

                                    <div>   首先,先抛出我的观点,各位看官少点砖头。那就是,中国的差异化教育必须做起来。 
   孔圣人有云:有教无类。不同类型的人,都应该有对应的教育方法。目前中国的一体化教育,不知道已经扼杀了多少创造性人才。我们出不了爱迪生,出不了爱因斯坦,很大原因,是我们的培养思路错了,我们是第一要“顺从”。如果不顺从,我们的学校,就会用各种方法,罚站,罚写作业,各种罚。军</div>
                                </li>
                                <li><a href="/article/3506.htm"
                                       title="scala如何读取和写入文件内容?" target="_blank">scala如何读取和写入文件内容?</a>
                                    <span class="text-muted">qindongliang1922</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/scala/1.htm">scala</a>
                                    <div>直接看如下代码: 
 
package file

import java.io.RandomAccessFile
import java.nio.charset.Charset

import scala.io.Source
import scala.reflect.io.{File, Path}

/**
 * Created by qindongliang on 2015/</div>
                                </li>
                                <li><a href="/article/3633.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>中国古代数学家张丘建在他的《算经》中提出了一个著名的“百钱买百鸡问题”,鸡翁一,值钱五,鸡母一,值钱三,鸡雏三,值钱一,百钱买百鸡,问翁,母,雏各几何? 
代码如下: 
#include <stdio.h>
int main()
{
	int cock,hen,chick;                               /*定义变量为基本整型*/
	for(coc</div>
                                </li>
                                <li><a href="/article/3760.htm"
                                       title="Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode" target="_blank">Hadoop集群安全性:Hadoop中Namenode单点故障的解决方案及详细介绍AvatarNode</a>
                                    <span class="text-muted">wyz2009107220</span>
<a class="tag" taget="_blank" href="/search/NameNode/1.htm">NameNode</a>
                                    <div>正如大家所知,NameNode在Hadoop系统中存在单点故障问题,这个对于标榜高可用性的Hadoop来说一直是个软肋。本文讨论一下为了解决这个问题而存在的几个solution。 
1. Secondary NameNode 
原理:Secondary NN会定期的从NN中读取editlog,与自己存储的Image进行合并形成新的metadata image 
优点:Hadoop较早的版本都自带,</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>