利用SSL/TLS绕过web应用防火墙

众所周知的SSL/TLS握手过程:

图1 SSL/TLS握手

如上图1所示,server和client之间需要协商加密套件,如果client支持的加密套件不在server支持的范围内就无法正常工作。那么,如果client<--->server支持的加密套件超出waf支持的范围,waf能拒绝吗?


根据waf的文档,支持的SSL加密套件如下:

SSLv3

SSL_RSA_WITH_NULL_MD5

SSL_RSA_WITH_NULL_SHA

SSL_RSA_WITH_RC4_128_MD5

SSL_RSA_WITH_RC4_128_SHA

SSL_RSA_WITH_DES_CBC_SHA

SSL_RSA_WITH_3DES_EDE_CBC_SHA

SSL_RSA_EXPORT_WITH_RC4_40_MD5

SSL_RSA_EXPORT_WITH_DES40_CBC_SHA

TLS/1.0-1.2

TLS_RSA_WITH_NULL_SHA256

TLS_RSA_WITH_AES_128_CBC_SHA

TLS_RSA_WITH_AES_256_CBC_SHA

TLS_RSA_EXPORT1024_WITH_RC4_56_MD5

TLS_RSA_EXPORT1024_WITH_RC4_56_SHA

TLS_RSA_WITH_AES_128_CBC_SHA256

TLS_RSA_WITH_AES_256_CBC_SHA256

TLS_RSA_WITH_RC4_128_MD5 = { 0x000x04 }

TLS_RSA_WITH_RC4_128_SHA = { 0x000x05 }

TLS_RSA_WITH_DES_CBC_SHA = { 0x000x09 }

waf后web服务端的SSL套件可以使用sslcan扫描获得。

通过对比waf和web server的SSL套件,发现如下的套件web server支持但waf不支持:

Accepted TLSv1 256 bits ECDHE-RSA-AES256-SHA


web server增加一个测试页面/ssl-cipher-test,且在waf上配置block URL路径/ssl-cipher-test。

直接访问会成功拦截:


用制定的SSL套件可以bypass waf:

pwn@thinkpad:~$ curl--ciphersECDHE-RSA-AES256-SHA https://waf-test.lab.local/ssl-cipher-test HELLO

  HELLO </titile></p> <p>  <p>Bypass worked</p></p>pwn@thinkpad:~$ <p></p> </blockquote> <p><br></p> <p>来源:</p> <p>https://0x09al.github.io/waf/bypass/ssl/2018/07/02/web-application-firewall-bypass.html</p> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1727678527064584192"></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">你可能感兴趣的:(利用SSL/TLS绕过web应用防火墙)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1900613196209778688.htm" title="linux系统的加固,防火墙,弱口令的梳理" target="_blank">linux系统的加固,防火墙,弱口令的梳理</a> <span class="text-muted">weixin_43806846</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%8A%A0%E5%9B%BA/1.htm">安全加固</a> <div>防火墙开启防火墙:systemctlstartfirewalldsystemctlenablefirewalld弱口令opensslrand-base648>/root/.passwd#生成随机密码,保存至/root/.passwd,保存好root密码后,可以删除此文件cat/root/.passwd|passwdroot--stdin#更改root密码禁止root账号远程登录系统,并修改ssh默</div> </li> <li><a href="/article/1900611433402527744.htm" title="Caddy2使用阿里云DNS申请https证书,利用阿里云DNS境内外不同解析给Gone文档做一个同域名的国内镜像站点" target="_blank">Caddy2使用阿里云DNS申请https证书,利用阿里云DNS境内外不同解析给Gone文档做一个同域名的国内镜像站点</a> <span class="text-muted">dapeng-大鹏</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A7%E9%B9%8F%E8%BF%90%E7%BB%B4%E8%AE%B0%E5%BD%95/1.htm">大鹏运维记录</a><a class="tag" taget="_blank" href="/search/caddy/1.htm">caddy</a><a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/docker-compose/1.htm">docker-compose</a> <div>我从头到尾实现了一个Golang的依赖注入框架,并且集成了gin、xorm、redis、cron、消息中间件等功能;自己觉得还挺好用的,并且打算长期维护!github地址:https://github.com/gone-io/gone文档原地址:https://goner.fun/zh/guide/auto-gen-priest.html请帮忙在github上点个⭐️吧,这对我很重要;万分感谢!!</div> </li> <li><a href="/article/1900606766794731520.htm" title="什么是Claude API Key?如何使用?" target="_blank">什么是Claude API Key?如何使用?</a> <span class="text-muted">AI_1988</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>Claude,作为一款功能强大的AI工具,它的API接口无疑为开发者提供了极大的便利。那么,ClaudeAPIKey的作用是什么呢?在本文中,我们将详细介绍ClaudeAPIKey的使用方法、能调用的模型,以及如何获取ClaudeAPIKey,帮助开发者更好地利用这一技术。一、ClaudeAPIKey的作用是什么?ClaudeAPIKey是访问ClaudeAI服务的凭证。每当您向Claude的AP</div> </li> <li><a href="/article/1900572221496160256.htm" title="《基于单片机的交通灯设计与实现(附论文+源代码)》" target="_blank">《基于单片机的交通灯设计与实现(附论文+源代码)》</a> <span class="text-muted">Blossom.118</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1%E7%B3%BB%E5%88%97/1.htm">单片机课程设计系列</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">单片机</a><a class="tag" taget="_blank" href="/search/%E5%B5%8C%E5%85%A5%E5%BC%8F%E7%A1%AC%E4%BB%B6/1.htm">嵌入式硬件</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E7%89%87%E6%9C%BA%E8%AF%BE%E7%A8%8B%E8%AE%BE%E8%AE%A1/1.htm">单片机课程设计</a><a class="tag" taget="_blank" href="/search/51%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">51单片机</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E7%A7%91%E8%BD%AF%E7%A1%AC%E4%BB%B6%E6%8A%80%E6%9C%AF/1.htm">工科软硬件技术</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a> <div>1、项目背景交通灯控制系统是城市交通管理的重要组成部分,其作用是合理分配道路资源,缓解交通拥堵,保障行人和车辆的安全。传统的交通灯系统多为固定时长控制,而基于单片机的交通灯控制系统可以通过编程实现更灵活的控制逻辑,例如根据车流量调整信号时长,甚至实现智能交通管理。2、设计思想交通灯设计是以单片机AT89C51芯片作为核心原件,LED灯、八段数码管等构成交通灯显示系统,利用单片机的电源电路、时钟电路</div> </li> <li><a href="/article/1900571968105672704.htm" title="PINN物理信息网络 | 利用物理信息神经网络进行流体动力学建模" target="_blank">PINN物理信息网络 | 利用物理信息神经网络进行流体动力学建模</a> <span class="text-muted">算法如诗</span> <a class="tag" taget="_blank" href="/search/%E7%89%A9%E7%90%86%E4%BF%A1%E6%81%AF%E7%BD%91%E7%BB%9C%EF%BC%88PINN%EF%BC%89/1.htm">物理信息网络(PINN)</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/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/%E6%B5%81%E4%BD%93%E5%8A%A8%E5%8A%9B%E5%AD%A6%E5%BB%BA%E6%A8%A1/1.htm">流体动力学建模</a><a class="tag" taget="_blank" href="/search/PINN%E7%89%A9%E7%90%86%E4%BF%A1%E6%81%AF%E7%BD%91%E7%BB%9C/1.htm">PINN物理信息网络</a> <div>背景物理信息神经网络(Physics-InformedNeuralNetworks,PINN)是一种结合了神经网络和物理方程的方法,用于建模和求解物理问题。传统的基于物理方程的数值方法在处理复杂的非线性偏微分方程时可能面临数值稳定性、高计算复杂度和网格依赖性等问题。而PINN作为一种数据驱动的方法,通过使用神经网络来近似物理方程,能够有效地解决这些问题。在流体动力学建模中,PINN可以应用于求解N</div> </li> <li><a href="/article/1900571966578946048.htm" title="C++调用Python程序方法" target="_blank">C++调用Python程序方法</a> <span class="text-muted">超级大反派@_@</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c%2B%2B/1.htm">c++</a><a class="tag" taget="_blank" href="/search/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代码中的功能在C++项目中重构,但是如果Python项目太大,或者这部分是别人写的,自己不清楚整个项目的逻辑,这样重构起来就比较麻烦。这里给出了另外一种实现方法,即利用Python的API使得C++项目可以直接启动Python程序,快速在PC端验证代码功能。急性子可直接看:2.2C++调用python有参有返回值函</div> </li> <li><a href="/article/1900564651712770048.htm" title="Python一键搞定Word与PDF文档批量转换" target="_blank">Python一键搞定Word与PDF文档批量转换</a> <span class="text-muted">Selina .a</span> <a class="tag" taget="_blank" href="/search/python%E6%95%99%E7%A8%8B/1.htm">python教程</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a> <div>在日常工作中,我们经常需要将Word文档(.docx)转换为PDF格式,或者反过来操作。手动进行这种转换不仅费时费力,还容易出错。为此,我们可以利用Python编写一个批量转换工具,一键搞定Word与PDF文档的转换。本文将详细介绍如何实现这一目标,并提供源码和工具。所需库的安装首先,我们需要安装一些Python库来实现这个功能。推荐使用以下两个库:python-docx:用于处理Word文件内容</div> </li> <li><a href="/article/1900564397852520448.htm" title="【Python】multiprocessing 模块:多进程并行计算" target="_blank">【Python】multiprocessing 模块:多进程并行计算</a> <span class="text-muted">彬彬侠</span> <a class="tag" taget="_blank" href="/search/Python%E5%9F%BA%E7%A1%80/1.htm">Python基础</a><a class="tag" taget="_blank" href="/search/multiprocessing/1.htm">multiprocessing</a><a class="tag" taget="_blank" href="/search/%E5%A4%9A%E8%BF%9B%E7%A8%8B/1.htm">多进程</a><a class="tag" taget="_blank" href="/search/Process/1.htm">Process</a><a class="tag" taget="_blank" href="/search/Pool/1.htm">Pool</a><a class="tag" taget="_blank" href="/search/Manager/1.htm">Manager</a><a class="tag" taget="_blank" href="/search/Lock/1.htm">Lock</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a> <div>Pythonmultiprocessing模块Python的multiprocessing模块用于多进程并行计算,可以充分利用多核CPU进行任务加速,突破PythonGIL(全局解释器锁)的限制,提高程序执行效率。1.为什么使用multiprocessing?Python默认的threading模块使用线程进行并发,但由于GIL(全局解释器锁)的存在,多线程无法真正实现CPU级别的并行计算,适用于</div> </li> <li><a href="/article/1900553668940328960.htm" title="Linux创建git仓库,并利用post-receive钩子实现自动部署" target="_blank">Linux创建git仓库,并利用post-receive钩子实现自动部署</a> <span class="text-muted">wpfly2020</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/git/1.htm">git</a> <div>一、创建git仓库的用户groupaddgit#出于安全考虑,创建的git用户不能允许SSH登录,只能在git-shell下使用useraddgit-ggit-s/usr/local/git/bin/git-shellpasswdgit二、创建仓库及设置mkdir-p/repo/app1.gitcd/repo/app1.gitgitinit--bare--shared=0770chown-Rgit</div> </li> <li><a href="/article/1900549378242834432.htm" title="云原生周刊:基于 KubeSphere LuBan 架构打造DeepSeek 插件" target="_blank">云原生周刊:基于 KubeSphere LuBan 架构打造DeepSeek 插件</a> <span class="text-muted"></span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a> <div>开源项目推荐KubeAIKubeAI是一个K8s上的AI推理操作器,旨在简化在生产环境中部署和管理大型语言模型(LLM)、向量嵌入和语音处理等机器学习模型。它提供与OpenAI兼容的API,支持在CPU和GPU上运行,并具备按需自动扩缩容的能力。KubeAI无需依赖Istio、Knative等其他系统,能够在几乎任何K8s集群中开箱即用。此外,它内置了模型代理,优化了键值缓存利用率,从而显著提升系</div> </li> <li><a href="/article/1900548239116005376.htm" title="该如何升级Tableau server呢?" target="_blank">该如何升级Tableau server呢?</a> <span class="text-muted"></span> <div>在现代数据分析的世界中,Tableau作为一个强大的企业级数据可视化工具,受到众多公司喜爱。但是由于Tableau退出中国市场,如果仍在使用Tableau的企业,一定要做好TableauServer升级。随着技术的不断更新,升级TableauServer变得越来越重要,以确保您能够利用最新的功能和安全性。在这篇文章中,我们将详细探讨如何进行TableauServer升级,步骤、注意事项以及最佳实践</div> </li> <li><a href="/article/1900539791703863296.htm" title="网络通信(传输层协议:TCP/IP ,UDP):" target="_blank">网络通信(传输层协议:TCP/IP ,UDP):</a> <span class="text-muted">苜柠</span> <a class="tag" taget="_blank" href="/search/tcp%2Fip/1.htm">tcp/ip</a><a class="tag" taget="_blank" href="/search/udp/1.htm">udp</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a> <div>Socket是对网络中不同主机上的应用进程之间进行双向通信的端点的抽象。一个套接字就是网络上进程通信的一端,提供了应用层进程利用网络协议交换数据的机制。网络协议:一台电脑的数据怎么传递给另一台电脑,是由网络协议来规定的端口号:类似于办事窗口,是在计算机网络中用于区分不同服务或应用程序的一种数字标识。每个正在运行的程序或服务都会监听或绑定到一个或多个端口号上,以便接收来自网络的数据包。客户端软件从端</div> </li> <li><a href="/article/1900531085796765696.htm" title="3-002: MySQL 中使用索引一定有效吗?如何排查索引效果?" target="_blank">3-002: MySQL 中使用索引一定有效吗?如何排查索引效果?</a> <span class="text-muted">盖盖衍上_染染熊_代码集</span> <a class="tag" taget="_blank" href="/search/00-%E5%88%B7%E9%A2%98/1.htm">00-刷题</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>1.索引失效的常见原因虽然索引可以加速查询,但在某些情况下,MySQL可能不会使用索引,甚至使用索引反而更慢。以下是一些常见导致索引失效的原因:①查询条件使用了!=或30时仍能利用索引。2.如何排查索引效果?可以使用EXPLAIN命令分析SQL是否走索引,以及索引的效率。①使用EXPLAIN分析SQL执行计划EXPLAINSELECT*FROMusersWHEREage=30;返回示例:idsel</div> </li> <li><a href="/article/1900524910644621312.htm" title="Python爬虫教程:如何通过接口批量下载视频封面(FFmpeg技术实现)" target="_blank">Python爬虫教程:如何通过接口批量下载视频封面(FFmpeg技术实现)</a> <span class="text-muted">Python爬虫项目</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%88%AC%E8%99%AB/1.htm">爬虫</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/scrapy/1.htm">scrapy</a><a class="tag" taget="_blank" href="/search/selenium/1.htm">selenium</a> <div>引言随着在线视频平台的蓬勃发展,视频封面作为视频内容的预览图,一直以来都是观众对视频的第一印象。在爬取视频资源时,很多开发者和研究者往往只关注视频本身,而忽略了视频封面。实际上,视频封面不仅能提供重要的信息(例如视频标题、主题或情感等),而且它们也能作为数据集中的重要属性,用于视频分类、推荐系统等应用。在这篇博客中,我们将深入探讨如何使用Python通过接口批量下载视频封面,利用FFmpeg等技术</div> </li> <li><a href="/article/1900519105782411264.htm" title="python vuejs聊天室_ws模块指南+Vue在线聊天室" target="_blank">python vuejs聊天室_ws模块指南+Vue在线聊天室</a> <span class="text-muted">无1234</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/vuejs%E8%81%8A%E5%A4%A9%E5%AE%A4/1.htm">vuejs聊天室</a> <div>简介ws模块是Node端的一个WebSocket协议的实现,该协议允许客户端(一般是浏览器)持久化和服务端的连接.这种可以持续连接的特性使得WebScoket特别适合用于适合用于游戏或者聊天室等使用场景.ws模块相较于其他基于WebSocket协议的模块来说非常的纯粹.他只关注基于WebSocket协议的实现,其他例如Socket.io提供了回退手段,当WebSocket无法使用的时候会利用轮询来</div> </li> <li><a href="/article/1900512666124873728.htm" title="4644 DCDC 电源芯片典型应用场景分析(详细版)" target="_blank">4644 DCDC 电源芯片典型应用场景分析(详细版)</a> <span class="text-muted">国科安芯</span> <a class="tag" taget="_blank" href="/search/%E7%A7%91%E6%99%AE/1.htm">科普</a><a class="tag" taget="_blank" href="/search/fpga%E5%BC%80%E5%8F%91/1.htm">fpga开发</a> <div>4644DCDC电源是一款高集成度、四输出的降压型模组稳压器,专为需要低纹波和高效率的供电场合设计,如FPGA、DSP等供电。本文将探讨如何利用4644电源芯片的特性实现FPGA、DSP等SERDES供电的优化设计。FPGA因其高速性和灵活性,在数据通信领域得到广泛应用。FPGA对电源的要求极为严格,需要低纹波、高稳定性的电源供应以保证信号的完整性和系统的性能。4644电源芯片以其高集成度和优异的</div> </li> <li><a href="/article/1900511153528827904.htm" title="HiPixel开源AI驱动的图像超分辨率的原生macOS 应用程序,使用 SwiftUI 构建并利用 Upscayl 强大的 AI 模型" target="_blank">HiPixel开源AI驱动的图像超分辨率的原生macOS 应用程序,使用 SwiftUI 构建并利用 Upscayl 强大的 AI 模型</a> <span class="text-muted">2301_78755287</span> <a class="tag" taget="_blank" href="/search/swiftui/1.htm">swiftui</a><a class="tag" taget="_blank" href="/search/ios/1.htm">ios</a><a class="tag" taget="_blank" href="/search/swift/1.htm">swift</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/%E5%9B%BE%E5%83%8F%E5%A4%84%E7%90%86/1.htm">图像处理</a> <div>一、软件介绍文末提供程序和源码下载HiPixel是一个开源程序基于SwiftUI构建的macOS原生应用程序,用于AI驱动的图像超分辨率,并利用Upscayl的强大AI模型。二、软件特征具有SwiftUI界面的原生macOS应用程序使用AI模型进行高质量图像放大通过GPU加速实现快速处理支持各种图像格式用于自动处理新添加图像的文件夹监控现代、直观的用户界面三、为什么选择HiPixel?虽然Upsc</div> </li> <li><a href="/article/1900505725348671488.htm" title="Ploly:如何在Excel中嵌入完全交互的Ploly图形?" target="_blank">Ploly:如何在Excel中嵌入完全交互的Ploly图形?</a> <span class="text-muted">潮易</span> <a class="tag" taget="_blank" href="/search/excel/1.htm">excel</a> <div>要在Excel中嵌入一个交互式的Poly图形,可以利用`ChartTools>Design>InsertChartfromData>PivotTable`功能来创建一个包含多个系列的数据透视表,并将其转换为柱状图或折线图等交互式图表。具体步骤如下:1.首先,打开你的Excel工作簿,并准备你想要嵌入Poly图的数据。2.将你的数据整理成表格的形式(假设数据列包括'Category'、'Value1</div> </li> <li><a href="/article/1900499424019279872.htm" title="span标签垂直居中显示的正确方法" target="_blank">span标签垂直居中显示的正确方法</a> <span class="text-muted">gys9895</span> <a class="tag" taget="_blank" href="/search/html/1.htm">html</a><a class="tag" taget="_blank" href="/search/css/1.htm">css</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a> <div>span标签居中显示的正确方法方法一:水平居中垂直居中必须加上display:block;否则不能居中显示,因为span是行内元素必须转换成块元素才会居中显示生效。方法二:利用flex布局display:flex;justify-content:center;//水平align-items:center;//垂直添加链接描述</div> </li> <li><a href="/article/1900491352886538240.htm" title="智享三代实景无人直播:实景呈现+智能互动,以科技之力稳抓流量与商机" target="_blank">智享三代实景无人直播:实景呈现+智能互动,以科技之力稳抓流量与商机</a> <span class="text-muted">x13257272926</span> <a class="tag" taget="_blank" href="/search/%E7%A7%91%E6%8A%80/1.htm">科技</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>传统直播中,虚拟背景虽能带来简洁美观的视觉效果,但往往缺乏真实感和可信度。智享三代实景无人直播则反其道而行之,着重强调实景呈现。无论是实体店铺的内部环境,还是工厂的生产车间,亦或是户外产品的实际使用场景,都能通过高清摄像头真实、全面地展示在观众面前。例如,一家经营户外运动装备的商家,利用智享三代实景无人直播,将直播间搭建在风景秀丽的郊外露营地。观众不仅能清晰看到帐篷的搭建过程、帐篷内部的空间布局和</div> </li> <li><a href="/article/1900489084795678720.htm" title="Redis 分布式锁" target="_blank">Redis 分布式锁</a> <span class="text-muted">DebugDiver代码深处潜水员</span> <a class="tag" taget="_blank" href="/search/%E4%B8%89%E6%96%B9%E4%BB%B6/1.htm">三方件</a><a class="tag" taget="_blank" href="/search/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>Redis分布式锁是一种在分布式系统中实现互斥访问共享资源的机制。它利用Redis的高性能和原子性操作来确保在多个节点之间安全地获取和释放锁。下面是对Redis分布式锁的原理讲解和源码剖析。原理讲解1.基本概念锁:在分布式系统中,锁用于确保在同一时间只有一个节点能够访问共享资源。分布式锁:分布式锁是一种在多个节点之间共享的锁,通常通过一个共享的存储系统(如Redis)来实现。2.Redis实现分布</div> </li> <li><a href="/article/1900484163505549312.htm" title="pdf怎么转换成word?解锁 PDF 转 Word 的高效转换方法,轻松搞定的实用指南" target="_blank">pdf怎么转换成word?解锁 PDF 转 Word 的高效转换方法,轻松搞定的实用指南</a> <span class="text-muted">hello_simon</span> <a class="tag" taget="_blank" href="/search/%E5%9C%A8%E7%BA%BF%E5%B7%A5%E5%85%B7/1.htm">在线工具</a><a class="tag" taget="_blank" href="/search/php/1.htm">php</a><a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7%E6%95%88%E7%8E%87/1.htm">工具效率</a><a class="tag" taget="_blank" href="/search/pdf/1.htm">pdf</a><a class="tag" taget="_blank" href="/search/word/1.htm">word</a><a class="tag" taget="_blank" href="/search/PDF%E8%BD%ACword/1.htm">PDF转word</a><a class="tag" taget="_blank" href="/search/pdf%E8%BD%AC%E6%8D%A2/1.htm">pdf转换</a> <div>PDF转换成Word的简易指南在日常的工作和学习中,我们经常需要将PDF文件转换为Word文档,以便于编辑和修改。今天,我将为大家介绍一个简单的方法,利用小白工具网站,轻松实现PDF到Word的转换。一、访问小白工具网站首先,打开你的浏览器,输入网址:https://www.xiaobaitool.net/files/pdf-word/,进入小白工具的PDF转Word页面。这个网站提供了一个在线转</div> </li> <li><a href="/article/1900480125275795456.htm" title="24.pocsuite3:开源的远程漏洞测试框架" target="_blank">24.pocsuite3:开源的远程漏洞测试框架</a> <span class="text-muted">白帽少女安琪拉</span> <a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8%E5%B7%A5%E5%85%B7/1.htm">安全工具</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/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>一、项目介绍pocsuite3是一款由Knownsec404Team开发的开源远程漏洞测试框架,专注于快速验证和利用已知漏洞。其通过模块化设计和插件化架构,支持用户编写自定义POC(ProofofConcept),覆盖Web漏洞、系统漏洞、数据库漏洞等多种类型,适用于红队渗透、漏洞验证及安全研究等场景。1.1核心功能模块化设计:支持编写、加载和执行自定义POC,灵活适应不同场景。内置丰富的POC库</div> </li> <li><a href="/article/1900479620923322368.htm" title="4款老照片AI自动修复工具分享,让老照片重焕光彩" target="_blank">4款老照片AI自动修复工具分享,让老照片重焕光彩</a> <span class="text-muted">Ai工具分享</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>老照片承载着我们的成长历程、家庭的变迁以及社会的发展印记。然而,岁月无情,它们逐渐失去了原本的光彩,让我们在回忆时总觉得少了些什么。但随着自动修复软件的出现,让老照片的修复变得不再遥不可及。这些软件利用先进的图像处理技术,能够自动识别并修复照片上的瑕疵,让老照片重焕光彩。下面小编就来给大家分享几款AI自动修复工具,帮助你找回那些遗失的美好时光。一、牛学长图片修复工具牛学长图片修复工具是一款功能强大</div> </li> <li><a href="/article/1900470292237578240.htm" title="python进程和线程之间通信_python进程和线程通信" target="_blank">python进程和线程之间通信_python进程和线程通信</a> <span class="text-muted">weixin_39718890</span> <a class="tag" taget="_blank" href="/search/python%E8%BF%9B%E7%A8%8B%E5%92%8C%E7%BA%BF%E7%A8%8B%E4%B9%8B%E9%97%B4%E9%80%9A%E4%BF%A1/1.htm">python进程和线程之间通信</a> <div>1,线程(Thread)使用多线程可以有效的利用CPU资源(Python例外)。然而多线程所带来的程序的复杂度也不可避免,尤其是对竞争资源的同步问题。然而在python中由于使用了全局解释锁(GIL)的原因,代码并不能同时在多核上并发的运行,也就是说,Python的多线程不能并发,使用多线程来改进自己的Python代码后,程序的运行效率却下降了。实际上使用多线程的编程模型是很困难的,程序员很容易犯</div> </li> <li><a href="/article/1900461336672923648.htm" title="芯片时钟树结构(H-tree,Fishbone,FlexH,Mesh等)的对比、应用实例及未来趋势" target="_blank">芯片时钟树结构(H-tree,Fishbone,FlexH,Mesh等)的对比、应用实例及未来趋势</a> <span class="text-muted">赛卡</span> <a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a><a class="tag" taget="_blank" href="/search/%E4%BA%91%E8%AE%A1%E7%AE%97/1.htm">云计算</a><a class="tag" taget="_blank" href="/search/%E8%BE%B9%E7%BC%98%E8%AE%A1%E7%AE%97/1.htm">边缘计算</a> <div>引言在先进制程芯片设计中,时钟树综合(ClockTreeSynthesis,CTS)的优化程度直接影响芯片的时序收敛、功耗分布和面积利用率。随着工艺节点演进至5nm及以下,时钟网络的复杂性和设计约束呈现指数级增长。本文将深入解析H-tree、Fishbone、FlexHtree及Clockmesh四种主流时钟树结构的技术特性,结合服务器芯片、GPU及AI芯片的实战案例,并探讨主流EDA工具对CTS</div> </li> <li><a href="/article/1900457429183819776.htm" title="30个节点的Doris集群,每个节点有2块7TB的SSD盘,12块8TB的机械盘,分区和分桶的最佳实践" target="_blank">30个节点的Doris集群,每个节点有2块7TB的SSD盘,12块8TB的机械盘,分区和分桶的最佳实践</a> <span class="text-muted">fzip</span> <a class="tag" taget="_blank" href="/search/Doris/1.htm">Doris</a><a class="tag" taget="_blank" href="/search/Doris%E5%88%86%E5%8C%BA%E5%88%86%E6%A1%B6/1.htm">Doris分区分桶</a> <div>针对30个节点(每个节点配备2块7TBNVMe盘+12块8TBSATA盘)的Doris集群,以下是分区与分桶的最佳实践方案:一、硬件资源规划与存储优化存储介质分层•NVMe盘:用于存储热数据分区(如最近3天数据)、元数据和高频查询表,利用其高IOPS特性提升实时查询性能。•SATA盘:存储冷数据分区(如历史数据)、大宽表和批量导入的中间数据,通过成本优势支撑海量存储。磁盘负载均衡•每个节点的14块</div> </li> <li><a href="/article/1900453395077066752.htm" title="ngx_openssl_create_conf" target="_blank">ngx_openssl_create_conf</a> <span class="text-muted">若云止水</span> <a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a> <div>ngx_openssl_create_conf声明在src\event\ngx_event_openssl.cstaticvoid*ngx_openssl_create_conf(ngx_cycle_t*cycle);定义在src\event\ngx_event_openssl.cstaticvoid*ngx_openssl_create_conf(ngx_cycle_t*cycle){ngx_o</div> </li> <li><a href="/article/1900449486140928000.htm" title="FastAPI 使用教程:将函数改造成可调用的 API(附完整示例)" target="_blank">FastAPI 使用教程:将函数改造成可调用的 API(附完整示例)</a> <span class="text-muted">Lunar*</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E4%B8%8E%E5%B7%A5%E5%85%B7%E4%BD%BF%E7%94%A8/1.htm">开发与工具使用</a><a class="tag" taget="_blank" href="/search/fastapi/1.htm">fastapi</a> <div>引言FastAPI是一个现代化、快速(高性能)、基于标准Python类型提示构建的Web框架,非常适合开发RESTfulAPI。如果你有现成的Python函数,并希望通过HTTP请求调用它,FastAPI可以帮助你快速实现。在本文中,我们将介绍如何使用FastAPI将已有函数改造成API,并通过GET和POST请求调用它。同时,我们还会展示如何在服务运行时,自定义主机地址、端口号以及启用SSL证书</div> </li> <li><a href="/article/1900446839136645120.htm" title="nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128" target="_blank">nginx报错:the “ssl“ parameter requires ngx_http_ssl_module in usrlocalnginxconfnginx.conf128</a> <span class="text-muted">m0_67391401</span> <a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0%E8%B7%AF%E7%BA%BF/1.htm">学习路线</a><a class="tag" taget="_blank" href="/search/%E9%98%BF%E9%87%8C%E5%B7%B4%E5%B7%B4/1.htm">阿里巴巴</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E7%AB%AF/1.htm">前端</a><a class="tag" taget="_blank" href="/search/%E5%90%8E%E7%AB%AF/1.htm">后端</a> <div>前情回放:我一个前端被发配到客户那里当运维,我只想安安静静的敲代码怎么就这么难呢(我太难了。。。)。言归正传,遇到客户要求把http换成https,客户这边是生产环境。没有办法随便搞,只能把自己的域名换成https了,经过2天的努力啃骨头,终于搞定了,为了避免忘记,遇到了几个个问题,特此记录一下。准备工作:1一台服务器(我的是腾讯服务器),一个域名(我的是阿里申请的域名),服务器打开443端口(我</div> </li> <li><a href="/article/27.htm" title="rust的指针作为函数返回值是直接传递,还是先销毁后创建?" target="_blank">rust的指针作为函数返回值是直接传递,还是先销毁后创建?</a> <span class="text-muted">wudixiaotie</span> <a class="tag" taget="_blank" href="/search/%E8%BF%94%E5%9B%9E%E5%80%BC/1.htm">返回值</a> <div> 这是我自己想到的问题,结果去知呼提问,还没等别人回答, 我自己就想到方法实验了。。 fn main() { let mut a = 34; println!("a's addr:{:p}", &a); let p = &mut a; println!("p's addr:{:p}", &a</div> </li> <li><a href="/article/154.htm" title="java编程思想 -- 数据的初始化" target="_blank">java编程思想 -- 数据的初始化</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%9A%84%E5%88%9D%E5%A7%8B%E5%8C%96/1.htm">数据的初始化</a> <div>  1.使用构造器确保数据初始化      /* *在ReckInitDemo类中创建Reck的对象 */ public class ReckInitDemo { public static void main(String[] args) { //创建Reck对象 new Reck(); } }</div> </li> <li><a href="/article/281.htm" title="[航天与宇宙]为什么发射和回收航天器有档期" target="_blank">[航天与宇宙]为什么发射和回收航天器有档期</a> <span class="text-muted">comsci</span> <div>        地球的大气层中有一个时空屏蔽层,这个层次会不定时的出现,如果该时空屏蔽层出现,那么将导致外层空间进入的任何物体被摧毁,而从地面发射到太空的飞船也将被摧毁...        所以,航天发射和飞船回收都需要等待这个时空屏蔽层消失之后,再进行 &</div> </li> <li><a href="/article/408.htm" title="linux下批量替换文件内容" target="_blank">linux下批量替换文件内容</a> <span class="text-muted">商人shang</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E6%9B%BF%E6%8D%A2/1.htm">替换</a> <div>1、网络上现成的资料   格式: sed -i "s/查找字段/替换字段/g" `grep 查找字段 -rl 路径`   linux sed 批量替换多个文件中的字符串   sed -i "s/oldstring/newstring/g" `grep oldstring -rl yourdir`   例如:替换/home下所有文件中的www.admi</div> </li> <li><a href="/article/535.htm" title="网页在线天气预报" target="_blank">网页在线天气预报</a> <span class="text-muted">oloz</span> <a class="tag" taget="_blank" href="/search/%E5%A4%A9%E6%B0%94%E9%A2%84%E6%8A%A5/1.htm">天气预报</a> <div>网页在线调用天气预报 <%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding="utf-8"%> <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transit</div> </li> <li><a href="/article/662.htm" title="SpringMVC和Struts2比较" target="_blank">SpringMVC和Struts2比较</a> <span class="text-muted">杨白白</span> <a class="tag" taget="_blank" href="/search/springMVC/1.htm">springMVC</a> <div>1. 入口 spring mvc的入口是servlet,而struts2是filter(这里要指出,filter和servlet是不同的。以前认为filter是servlet的一种特殊),这样就导致了二者的机制不同,这里就牵涉到servlet和filter的区别了。 参见:http://blog.csdn.net/zs15932616453/article/details/8832343 2</div> </li> <li><a href="/article/789.htm" title="refuse copy, lazy girl!" target="_blank">refuse copy, lazy girl!</a> <span class="text-muted">小桔子</span> <a class="tag" taget="_blank" href="/search/copy/1.htm">copy</a> <div>       妹妹坐船头啊啊啊啊!都打算一点点琢磨呢。文字编辑也写了基本功能了。。今天查资料,结果查到了人家写得完完整整的。我清楚的认识到: 1.那是我自己觉得写不出的高度 2.如果直接拿来用,很快就能解决问题 3.然后就是抄咩~~ 4.肿么可以这样子,都不想写了今儿个,留着作参考吧!拒绝大抄特抄,慢慢一点点写!   </div> </li> <li><a href="/article/916.htm" title="apache与php整合" target="_blank">apache与php整合</a> <span class="text-muted">aichenglong</span> <a class="tag" taget="_blank" href="/search/php+apache+web/1.htm">php apache web</a> <div>一  apache web服务器 1 apeche web服务器的安装   1)下载Apache web服务器   2)配置域名(如果需要使用要在DNS上注册)   3)测试安装访问http://localhost/验证是否安装成功 2 apache管理   1)service.msc进行图形化管理   2)命令管理,配</div> </li> <li><a href="/article/1043.htm" title="Maven常用内置变量" target="_blank">Maven常用内置变量</a> <span class="text-muted">AILIKES</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>Built-in properties ${basedir} represents the directory containing pom.xml ${version} equivalent to ${project.version} (deprecated: ${pom.version}) Pom/Project properties Al</div> </li> <li><a href="/article/1170.htm" title="java的类和对象" target="_blank">java的类和对象</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/JAVA%E9%9D%A2%E5%90%91%E5%AF%B9%E8%B1%A1+%E7%B1%BB+%E5%AF%B9%E8%B1%A1/1.htm">JAVA面向对象 类 对象</a> <div>java中的类:     java是面向对象的语言,解决问题的核心就是将问题看成是一个类,使用类来解决   java使用 class 类名   来创建类 ,在Java中类名要求和构造方法,Java的文件名是一样的   创建一个A类: class A{ }   java中的类:将某两个事物有联系的属性包装在一个类中,再通</div> </li> <li><a href="/article/1297.htm" title="JS控制页面输入框为只读" target="_blank">JS控制页面输入框为只读</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>在WEB应用开发当中,增、删除、改、查功能必不可少,为了减少以后维护的工作量,我们一般都只做一份页面,通过传入的参数控制其是新增、修改或者查看。而修改时需将待修改的信息从后台取到并显示出来,实际上就是查看的过程,唯一的区别是修改时,页面上所有的信息能修改,而查看页面上的信息不能修改。因此完全可以将其合并,但通过前端JS将查看页面的所有信息控制为只读,在信息量非常大时,就比较麻烦。   </div> </li> <li><a href="/article/1424.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/%24http/1.htm">$http</a> <div>        对于AJAX应用(使用XMLHttpRequests)来说,向服务器发起请求的传统方式是:获取一个XMLHttpRequest对象的引用、发起请求、读取响应、检查状态码,最后处理服务端的响应。整个过程示例如下: var xmlhttp = new XMLHttpRequest(); xmlhttp.onreadystatechange</div> </li> <li><a href="/article/1551.htm" title="[Maven学习笔记八]Maven常用插件应用" target="_blank">[Maven学习笔记八]Maven常用插件应用</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a> <div>常用插件及其用法位于:http://maven.apache.org/plugins/   1. Jetty server plugin 2. Dependency copy plugin 3. Surefire Test plugin 4. Uber jar plugin           1. Jetty Pl</div> </li> <li><a href="/article/1678.htm" title="【Hive六】Hive用户自定义函数(UDF)" target="_blank">【Hive六】Hive用户自定义函数(UDF)</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89%E5%87%BD%E6%95%B0/1.htm">自定义函数</a> <div>1. 什么是Hive UDF Hive是基于Hadoop中的MapReduce,提供HQL查询的数据仓库。Hive是一个很开放的系统,很多内容都支持用户定制,包括: 文件格式:Text File,Sequence File 内存中的数据格式: Java Integer/String, Hadoop IntWritable/Text 用户提供的 map/reduce 脚本:不管什么</div> </li> <li><a href="/article/1805.htm" title="杀掉nginx进程后丢失nginx.pid,如何重新启动nginx" target="_blank">杀掉nginx进程后丢失nginx.pid,如何重新启动nginx</a> <span class="text-muted">ronin47</span> <a class="tag" taget="_blank" href="/search/nginx+%E9%87%8D%E5%90%AF+pid%E4%B8%A2%E5%A4%B1/1.htm">nginx 重启 pid丢失</a> <div>nginx进程被意外关闭,使用nginx -s reload重启时报如下错误:nginx: [error] open() “/var/run/nginx.pid” failed (2: No such file or directory)这是因为nginx进程被杀死后pid丢失了,下一次再开启nginx -s reload时无法启动解决办法:nginx -s reload 只是用来告诉运行中的ng</div> </li> <li><a href="/article/1932.htm" title="UI设计中我们为什么需要设计动效" target="_blank">UI设计中我们为什么需要设计动效</a> <span class="text-muted">brotherlamp</span> <a class="tag" taget="_blank" href="/search/UI/1.htm">UI</a><a class="tag" taget="_blank" href="/search/ui%E6%95%99%E7%A8%8B/1.htm">ui教程</a><a class="tag" taget="_blank" href="/search/ui%E8%A7%86%E9%A2%91/1.htm">ui视频</a><a class="tag" taget="_blank" href="/search/ui%E8%B5%84%E6%96%99/1.htm">ui资料</a><a class="tag" taget="_blank" href="/search/ui%E8%87%AA%E5%AD%A6/1.htm">ui自学</a> <div>随着国际大品牌苹果和谷歌的引领,最近越来越多的国内公司开始关注动效设计了,越来越多的团队已经意识到动效在产品用户体验中的重要性了,更多的UI设计师们也开始投身动效设计领域。 但是说到底,我们到底为什么需要动效设计?或者说我们到底需要什么样的动效?做动效设计也有段时间了,于是尝试用一些案例,从产品本身出发来说说我所思考的动效设计。 一、加强体验舒适度 嗯,就是让用户更加爽更加爽的用你的产品。 </div> </li> <li><a href="/article/2059.htm" title="Spring中JdbcDaoSupport的DataSource注入问题" target="_blank">Spring中JdbcDaoSupport的DataSource注入问题</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/spring/1.htm">spring</a> <div>参考以下两篇文章: http://www.mkyong.com/spring/spring-jdbctemplate-jdbcdaosupport-examples/ http://stackoverflow.com/questions/4762229/spring-ldap-invoking-setter-methods-in-beans-configuration Sprin</div> </li> <li><a href="/article/2186.htm" title="数据库连接池的工作原理" target="_blank">数据库连接池的工作原理</a> <span class="text-muted">chicony</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93%E8%BF%9E%E6%8E%A5%E6%B1%A0/1.htm">数据库连接池</a> <div>       随着信息技术的高速发展与广泛应用,数据库技术在信息技术领域中的位置越来越重要,尤其是网络应用和电子商务的迅速发展,都需要数据库技术支持动 态Web站点的运行,而传统的开发模式是:首先在主程序(如Servlet、Beans)中建立数据库连接;然后进行SQL操作,对数据库中的对象进行查 询、修改和删除等操作;最后断开数据库连接。使用这种开发模式,对</div> </li> <li><a href="/article/2313.htm" title="java 关键字" target="_blank">java 关键字</a> <span class="text-muted">CrazyMizzz</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div> 关键字是事先定义的,有特别意义的标识符,有时又叫保留字。对于保留字,用户只能按照系统规定的方式使用,不能自行定义。 Java中的关键字按功能主要可以分为以下几类:    (1)访问修饰符       public,private,protected       p</div> </li> <li><a href="/article/2440.htm" title="Hive中的排序语法" target="_blank">Hive中的排序语法</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/%E6%8E%92%E5%BA%8F/1.htm">排序</a><a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a><a class="tag" taget="_blank" href="/search/order+by/1.htm">order by</a><a class="tag" taget="_blank" href="/search/DISTRIBUTE+BY/1.htm">DISTRIBUTE BY</a><a class="tag" taget="_blank" href="/search/sort+by/1.htm">sort by</a> <div>Hive中的排序语法 2014.06.22 ORDER BY hive中的ORDER BY语句和关系数据库中的sql语法相似。他会对查询结果做全局排序,这意味着所有的数据会传送到一个Reduce任务上,这样会导致在大数量的情况下,花费大量时间。 与数据库中 ORDER BY 的区别在于在hive.mapred.mode = strict模式下,必须指定 limit 否则执行会报错。</div> </li> <li><a href="/article/2567.htm" title="单态设计模式" target="_blank">单态设计模式</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>  单例模式(Singleton)用于为一个类生成一个唯一的对象。最常用的地方是数据库连接。 使用单例模式生成一个对象后,该对象可以被其它众多对象所使用。 <?phpclass Example{    // 保存类实例在此属性中    private static&</div> </li> <li><a href="/article/2694.htm" title="svn locked" target="_blank">svn locked</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/Lock/1.htm">Lock</a> <div>post-commit hook failed (exit code 1) with output: svn: E155004: Working copy 'D:\xx\xxx' locked svn: E200031: sqlite: attempt to write a readonly database svn: E200031: sqlite: attempt to write a </div> </li> <li><a href="/article/2821.htm" title=" ARM寄存器学习" target="_blank"> ARM寄存器学习</a> <span class="text-muted">e200702084</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/c/1.htm">c</a><a class="tag" taget="_blank" href="/search/C%23/1.htm">C#</a><a class="tag" taget="_blank" href="/search/F%23/1.htm">F#</a> <div>无论是学习哪一种处理器,首先需要明确的就是这种处理器的寄存器以及工作模式。     ARM有37个寄存器,其中31个通用寄存器,6个状态寄存器。 1、不分组寄存器(R0-R7)     不分组也就是说说,在所有的处理器模式下指的都时同一物理寄存器。在异常中断造成处理器模式切换时,由于不同的处理器模式使用一个名字相同的物理寄存器,就是</div> </li> <li><a href="/article/2948.htm" title="常用编码资料" target="_blank">常用编码资料</a> <span class="text-muted">gengzg</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A0%81/1.htm">编码</a> <div> List<UserInfo> list=GetUserS.GetUserList(11); String json=JSON.toJSONString(list); HashMap<Object,Object> hs=new HashMap<Object, Object>(); for(int i=0;i<10;i++) { </div> </li> <li><a href="/article/3075.htm" title="进程 vs. 线程" target="_blank">进程 vs. 线程</a> <span class="text-muted">hongtoushizi</span> <a class="tag" taget="_blank" href="/search/%E7%BA%BF%E7%A8%8B/1.htm">线程</a><a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/%E8%BF%9B%E7%A8%8B/1.htm">进程</a> <div>我们介绍了多进程和多线程,这是实现多任务最常用的两种方式。现在,我们来讨论一下这两种方式的优缺点。 首先,要实现多任务,通常我们会设计Master-Worker模式,Master负责分配任务,Worker负责执行任务,因此,多任务环境下,通常是一个Master,多个Worker。 如果用多进程实现Master-Worker,主进程就是Master,其他进程就是Worker。 如果用多线程实现</div> </li> <li><a href="/article/3202.htm" title="Linux定时Job:crontab -e 与 /etc/crontab 的区别" target="_blank">Linux定时Job:crontab -e 与 /etc/crontab 的区别</a> <span class="text-muted">Josh_Persistence</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/crontab/1.htm">crontab</a> <div>一、linux中的crotab中的指定的时间只有5个部分:* * * * * 分别表示:分钟,小时,日,月,星期,具体说来: 第一段 代表分钟 0—59 第二段 代表小时 0—23 第三段 代表日期 1—31 第四段 代表月份 1—12 第五段 代表星期几,0代表星期日 0—6   如: */1 * * * *   每分钟执行一次。 * </div> </li> <li><a href="/article/3329.htm" title="KMP算法详解" target="_blank">KMP算法详解</a> <span class="text-muted">hm4123660</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a><a class="tag" taget="_blank" href="/search/KMP/1.htm">KMP</a> <div>     字符串模式匹配我们相信大家都有遇过,然而我们也习惯用简单匹配法(即Brute-Force算法),其基本思路就是一个个逐一对比下去,这也是我们大家熟知的方法,然而这种算法的效率并不高,但利于理解。       假设主串s="ababcabcacbab",模式串为t="</div> </li> <li><a href="/article/3456.htm" title="枚举类型的单例模式" target="_blank">枚举类型的单例模式</a> <span class="text-muted">zhb8015</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B%E6%A8%A1%E5%BC%8F/1.htm">单例模式</a> <div>E.编写一个包含单个元素的枚举类型[极推荐]。代码如下: public enum MaYun {himself; //定义一个枚举的元素,就代表MaYun的一个实例private String anotherField;MaYun() {//MaYun诞生要做的事情//这个方法也可以去掉。将构造时候需要做的事情放在instance赋值的时候:/** himself = MaYun() {*</div> </li> <li><a href="/article/3583.htm" title="Kafka+Storm+HDFS" target="_blank">Kafka+Storm+HDFS</a> <span class="text-muted">ssydxa219</span> <a class="tag" taget="_blank" href="/search/storm/1.htm">storm</a> <div>cd /myhome/usr/stormbin/storm nimbus &amp;bin/storm supervisor &amp;bin/storm ui &amp;Kafka+Storm+HDFS整合实践kafka_2.9.2-0.8.1.1.tgzapache-storm-0.9.2-incubating.tar.gzKafka安装配置我们使用3台机器搭建Kafk</div> </li> <li><a href="/article/3710.htm" title="Java获取本地服务器的IP" target="_blank">Java获取本地服务器的IP</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/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/%E8%8E%B7%E5%8F%96%E6%9C%8D%E5%8A%A1%E5%99%A8ip%E5%9C%B0%E5%9D%80/1.htm">获取服务器ip地址</a> <div> System.out.println("getRequestURL:"+request.getRequestURL()); System.out.println("getLocalAddr:"+request.getLocalAddr()); System.out.println("getLocalPort:&quo</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>