Web基础与http协议

1.HTML介绍

HTML叫做超文本标记语言,是一种规范,也是一种标准,它通过标记符号来标记要显示的网页中的各个部分。网页文件本身是一种文本文件,通过在文本文件中添加标记符,可以告诉浏览器如何显示其中的内容。

HTML文件可以使用任何能够生成txt文件的文本编辑器来编辑,生成超文本标记语言文件,只用修改文件名后缀为“.html”或“.htm”即可。

1.1http相关概念

  • 互联网:是网络的网络,是所有类型网络的母集

  • 因特网:世界上最大的互联网网络。即因特网概念从属于互联网概念。习惯上,大家把连接在因特网上的计算机都成为主机。

  • 万维网:WWW(world wide web)万维网并非某种特殊的计算机网络,是一个大规模的、联机式的信息贮藏库,使用链接的方法能非常方便地从因特网上的一个站点访问另一个站点(超链技术),具有提供分布式服务的特点。万维网是一个分布式的超媒体系统,是超文本系统的扩充,基于B/S架构实现

  • URL:万维网使用统一资源定位符(Uniform Resource Locator)来标志万维网上的各种文档,并使每个文档在整个因特网的范围内具有唯一的标识符URL。

  • HTTP:为解决"用什么样的网络协议来实现整个因特网上的万维网文档”这一难题,就要使万维网客户程序(以浏览器为主,但不限于浏览器)与万维网服务器程序之间的交互遵守严格的协议,即超文本传送协议(HyperText Transfer Protocol)。HTTP是处于应用层的协议,使用TCP传输层协议进行可靠的传送。因此,需要特别提醒的是,万维网是基于因特网的一种广泛因特网应用系统,且万维网采用的是HTTP(80/TCP)和 HTTPS(443/TCP)的传输协议,但因特网还有其他的网络应用系统(如:FTP、SMTP等等)。

  • HTML:为了解决"怎样使不同作者创作的不同风格的万维网文档,都能在因特网上的各种主机上显示出来,同时使用户清楚地知道在什么地方存在着链接”这一问题,万维网使用超文本标记语言(HyperText Markup Language),使得万维网页面的设计者可以很方便地用链接从页面的某处链接到因特网的任何一个万维网页面,并且能够在自己的主机品目上将这些页面显示出来。HTML与txt一样,仅仅是是一种文档,不同之处在于,这种文档专供于浏览器上为浏览器用户提供统一的界面呈现的统一规约。且具备结构化的特征,这是txt所不具备的强制规定。

1.2访问浏览器的过程

Web基础与http协议_第1张图片

1.3http协议通信过程

HTTP(HyperText Transfer Protocol,超文本传输协议)是一种用于分布式、协作式和超媒体信息系统的应用层协议。HTTP是万维网的数据通信的基础设计HTTP最初的目的是为了提供一种远距离共享知识的方式,借助多文档进行关联实现超文本,连成相互参阅的WWW(world wide web,万维网)

HTTP的发展是由蒂姆·伯纳斯-李(Tim Berners-Lee)于1989年在欧洲核子研究组织(CERN)所发起。HTTP的标准制定由万维网协会(World Wide Web Consortium,W3C)和互联网工程任务组(Internet Engineering Task Force,IETF)进行协调,最终发布了一系列的RFC,其中最著名的是1999年6月公布的 RFC 2616,定义了HTTP协议中现今广泛使用的一个版本——HTTP 1.1版

Web基础与http协议_第2张图片

2.HTML基本标签

(1)HTML 语法规则
HTML标签采用双标记符的形式,前后标记符对应,分别表示标记开始和结束,标记符中间的内容被标签描述。前标记符由“”表示,结尾标记符多了一个“/”,由“”表示。
(2)HTML 文件结构
HTML文件最外层由表示,说明该文件是用HTML语言描述的。在它里面是并列的头标签()和内容标签(),最基本的

HTML文件结构如下:


    网页的内容描述信息
    网页显示的内容

头标签中常用标签:

标签  描述
</td> <td>定义了文档的标题</td> </tr> <tr> <td><base></td> <td>定义了页面链接标签的默认链接地址</td> </tr> <tr> <td><link></td> <td>定义了一个文档和外部资源之间的关系</td> </tr> <tr> <td>meta></td> <td>定义了HTML文档中的元数据</td> </tr> <tr> <td><script></td> <td>定义了客户端的脚本文件</td> </tr> <tr> <td><style></td> <td>定义了HTML文档的样式文件</td> </tr> </tbody> </table> <p><strong>内容标签中常用标签:</strong></p> <table border="1"> <tbody> <tr> <td>标签</td> <td>描述</td> </tr> <tr> <td><table></td> <td>定义一个表格</td> </tr> <tr> <td><tr></td> <td>定义了表格中的一行</td> </tr> <tr> <td><td></td> <td>定义了表格中某一行的一列</td> </tr> <tr> <td><img></td> <td>定义了一个图像</td> </tr> <tr> <td><a></td> <td>定义了一个超链接</td> </tr> <tr> <td><p></td> <td>定义了一行</td> </tr> <tr> <td><br></td> <td>定义了换行</td> </tr> <tr> <td><font></td> <td>定义了字体</td> </tr> </tbody> </table> <h2>3.静态网页与动态网页</h2> <h3>3.1静态网页</h3> <p>在网站设计中,纯粹HTML格式的网页通常被称为“静态网页”,静态网页是标准的HTML文件,它的文件扩展名是.htm、.html。静态网页是网站建设的基础,早期的网站一般都是由静态网页制作的。静态网页也可以出现各种动态的效果,如.GIF格式的动画、FLASH、滚动字幕等。这些“动态效果”只是视觉上的,与下面将要介绍的动态网页是不同的概念。</p> <h3>3.2动态网页</h3> <p>所谓的动态网页,是指跟静态网页相对的一种网页编程技术。静态网页,随着HTML代码的生成,页面的内容和显示效果就基本上不会发生变化了——除非是修改页面代码。而动态网页则不然,页面代码虽然没有变,但是显示的内容却是可以随着时间、环境或者数据库操作的结果而发生改变的。动态网页URL的后缀不是.htm、.html、.shtml、.xml等静态网页的常见网页制作格式,而是以.aspx、.asp、.jsp、.php、.perl、.cgi等形式为后缀,并且在动态网页网址中有一个标志性的符号——“?”。<br> 动态网页是基本的html语法规范与Java、PHP、C#等高级程序设计语言、数据库编程等多种技术的融合,以期实现对网站内容和风格的高效、动态和交互式的管理。因此,从这个意义上来讲,凡是结合了HTML以外的高级程序设计语言和数据库技术进行的网页编程技术生成的网页都是动态网页。</p> <h3><br> 3.3动态网页语言</h3> <p>早期的动态网页主要采用通用网关接口 CGI(Common Gateway Interface)技术,虽然 CGI 技术已经发展成熟而且功能强大, 但由于编程困难、效率低下、修改复杂,所以有逐渐被新技术取代的趋势。</p> <p><strong>目前常用的动态网页编程语言如下</strong></p> <ul> <li>PHP</li> </ul> <p>即 Hypertext Preprocessor(超文本预处理器),它是当今 Internet 上最为火热的脚本语言,其语法借鉴了 C、Java、PERL 等语言,但只需要很少的编程知识你就能使用 PHP 建立一个真正交互的 Web 站点。</p> <ul> <li>JSP</li> </ul> <p>即 Java Server Pages(Java 服务器页面),它是由 Sun Microsystem 公司于 1999 年 6 月推出的新技术,是基于 Java Servlet 以及整个 Java 体系的 Web 开发技术。</p> <ul> <li>Python</li> </ul> <p>是一种面向对象、跨平台的动态类计算机程序设计语言,最初被设计用于编写自动化脚本(shell),随着版本的不断更新和语言新功能的添加,越来越多被用于独立的大型项目开发。</p> <ul> <li>Ruby</li> </ul> <p>是一种简单快捷的面向对象(面向对象程序设计)脚本语言,在 20 世纪 90年代由日本人松本行弘(Yukihiro Matsumoto) 开发,遵守GPL 协议和Ruby License。它的灵感与特性来自于 Perl、Smalltalk、Eiffel、Ada 以及 Lisp 语言。</p> <h2><br> 4.HTTP协议概述</h2> <p>HTTP协议采用了请求/响应模型。客户端向服务器发送一个请求,请求头包含请求的方法、URL、协议版本、以及包含请求修饰符、客户信息和内容的类似于MIME的消息结构。服务器以一个状态行作为响应,响应的内容包括消息协议的版本,成功或者错误编码加上服务器信息、实体元信息以及可能的实体内容。</p> <p><strong>HTTP 已经演化出了很多版本,它们中的大部分都是向下兼容的</strong></p> <ul> <li>HTTP/0.9:已过时。只接受 GET 一种请求方法,没有在通讯中指定版本号,且不支持请求头。由于该版本不支持 POST 方法,所以客户端无法向服务器传递太多信息。</li> <li>HTTP/1.0:这是第一个在通讯中指定版本号的 HTTP 协议版本,至今仍被广泛采用,特别是在代理服务器中。</li> <li>HTTP/1.1:引入了持久连接,即TCP连接默认不关闭,可以被多个请求复用,能很好地配合代理服务器工作。还支持管道方式机制,即在同一个TCP连接里面,客户端可以同时发送多个请求,以便降低线路负载,提高传输速度。</li> <li>HTTP/2.0:完全多路复用,在一个连接里,客户端和浏览器都可以同时发送多个请求或回应,而且不用按照顺序一一对应。引入了头信息压缩机制,使用gzip或compress压缩后再发送。支持服务端推送,允许服务器未经请求,主动向客户端发送资源。</li> </ul> <h2>5.HTTP方法</h2> <p>HTTP 支持几种不同的请求命令,这些命令被称为 HTTP 方法(HTTP method)。每条 HTTP 请求报文都包含一个方法, 告诉服务器要执行什么动作,包括:获取一个页面,运行一个网关程序,删除一个文件等。最常用的获取资源的方法是 GET、POST、PUT。</p> <table border="1"> <tbody> <tr> <td>HTTP 方法</td> <td>   描述</td> </tr> <tr> <td>GET   </td> <td>对服务器资源获取的简单请求</td> </tr> <tr> <td>PUT</td> <td>向服务器提交数据,以修改数据</td> </tr> <tr> <td>DELETE</td> <td>删除服务器上的某些资源</td> </tr> <tr> <td>POST  </td> <td>用于发送包含用户提交数据的请求</td> </tr> <tr> <td>HEAD  </td> <td>请求页面的首部,获取资源的元信息</td> </tr> </tbody> </table> <p>1、GET请求会向数据库发索取数据的请求,从而来获取信息,该请求不会产生副作用。无论进行多少次操作,结果都是一样的。</p> <p>2、与GET不同的是,PUT请求是向服务器端发送数据的,从而改变信息,无论进行多少次PUT操作,其结果并没有不同。</p> <p>3、POST请求同PUT请求类似,都是向服务器端发送数据的,但是该请求会改变数据的种类等资源,几乎目前所有的提交操作都是用POST请求的。</p> <p>4、DELETE请求顾名思义,就是用来删除某一个资源的。</p> <p><strong>GET 和 POST 比较</strong></p> <p>GET 方法</p> <ul> <li>从指定的服务器上获得数据</li> <li>GET请求能被缓存</li> <li>GET请求会保存在浏览器的浏览纪录里</li> <li>GET请求有长度的限制</li> <li>主要用于获取数据</li> <li>查询的字符串会显示在URL后缀中,不安全</li> </ul> <p>POST 方法</p> <ul> <li>提交数据给指定服务器处理</li> <li>POST请求不能被缓存</li> <li>POST请求不会保存在浏览器的浏览纪录里</li> <li>POST请求没有长度限制</li> <li>查询的字符串不会显示在URL中,比较安全</li> </ul> <h2>6.HTTP状态码</h2> <p>HTTP 状态码(HTTP Status Code)是用以表示网页服务器 HTTP 响应状态的 3 位数字代码,当浏览器请求某一 URL 时, 服务器根据处理情况返回相应的处理状态。<br> 通常正常的状态码为2xx,3xx(如200),如果出现异常会返回4xx,5xx(如404)。</p> <table border="1"> <tbody> <tr> <td>状态码首位</td> <td>已定义范围</td> <td>分类</td> </tr> <tr> <td>1xx</td> <td>100-101    </td> <td>信息提示</td> </tr> <tr> <td>2xx</td> <td>200-206    </td> <td>成功</td> </tr> <tr> <td>3xx</td> <td>300-305    </td> <td>重定向</td> </tr> <tr> <td>4xx</td> <td>400-415</td> <td>客户端错误</td> </tr> <tr> <td>5xx</td> <td>500-505</td> <td>服务器错误</td> </tr> </tbody> </table> <p><strong>HTTP 常见状态码</strong></p> <table border="1"> <tbody> <tr> <td>状态码</td> <td>功能描述</td> </tr> <tr> <td>200</td> <td>一切正常</td> </tr> <tr> <td>301</td> <td>永久重定向</td> </tr> <tr> <td>302</td> <td>临时重定向</td> </tr> <tr> <td>401</td> <td>用户名或密码错误</td> </tr> <tr> <td>403</td> <td>禁止访问(客户端IP地址被拒绝)</td> </tr> <tr> <td>404</td> <td>请求的文件不存在</td> </tr> <tr> <td>414</td> <td>请求URL头部过长</td> </tr> <tr> <td>500</td> <td>服务器内部错误</td> </tr> <tr> <td>502</td> <td>无效网关</td> </tr> <tr> <td>503</td> <td>当前服务不可用</td> </tr> <tr> <td>504</td> <td>网关请求超时</td> </tr> </tbody> </table> <h2>7.HTTP请求流程分析</h2> <blockquote> <ol> <li> <p>建立连接</p> </li> <li> <p>接收请求</p> </li> <li> <p>处理请求</p> </li> <li> <p>访问资源</p> </li> <li> <p>构建响应报文</p> </li> <li> <p>发送响应报文</p> </li> <li> <p>记录日志</p> </li> </ol> </blockquote> <p><a href="http://img.e-com-net.com/image/info8/be22b35e341841ce8c861d17972ef8e1.jpg" target="_blank"><img alt="Web基础与http协议_第3张图片" height="410" src="http://img.e-com-net.com/image/info8/be22b35e341841ce8c861d17972ef8e1.jpg" width="640" style="border:1px solid black;"></a></p> <p></p> <p>用户在浏览器输入URL访问时,发起HTTP请求报文,请求中包括请求行、请求头、请求体,服务器收到请求后返回响应报文,包括状态行、响应头、响应体。</p> <h3>7.1请求报文</h3> <ul> <li>请求行:请求行由请求方法、URL 以及协议版本三部分组成。</li> <li>请求头:请求头为请求报文添加了一些附加信息,由“名/值”对组成,每行一对,名和值之间使用冒号分隔。</li> <li>空行:请求头部的最后会有一个空行,表示请求头部结束,接下来为请求体,这一行非常重要,必不可少。</li> <li>请求体:请求体是请求提交的参数,GET 方法已经在 URL 中指明了参数,所以提交时没有数据。POST 方法提交的参数在请求体中。</li> </ul> <p><strong>常用的请求头:</strong></p> <table border="1" style="width:500px;"> <tbody> <tr> <td style="width:137px;">请求头</td> <td style="width:361px;">描述</td> </tr> <tr> <td style="width:137px;">Host</td> <td style="width:361px;">接受请求的服务器地址,可以是Ip:端口号,也可以是域名</td> </tr> <tr> <td style="width:137px;">User-Agent</td> <td style="width:361px;">发送请求的应用程序名称</td> </tr> <tr> <td style="width:137px;">Connection</td> <td style="width:361px;">指定与连接相关的属性,如Connection:Keep-Alive</td> </tr> <tr> <td style="width:137px;">Accept-Charset</td> <td style="width:361px;">通知服务端可以发送的编码格式</td> </tr> <tr> <td style="width:137px;">Accept-Encoding</td> <td style="width:361px;">通知服务端可以发送的数据压缩格式</td> </tr> <tr> <td style="width:137px;">Accept-Language </td> <td style="width:361px;">通知服务端可以发送的语言</td> </tr> </tbody> </table> <h3>7.2响应报文</h3> <ul> <li>状态行:状态行由协议版本,状态码,状态码描述三部分组成。</li> <li>响应头:响应头与请求头部类似,为响应报文添加了一些附加信息。</li> <li>空行:响应头部的最后会有一个空行,表示响应头部结束。</li> <li>响应体:服务器返回的相应 HTML 数据,浏览器对其解析后显示页面。</li> </ul> <p><strong>常见响应头</strong></p> <table border="1" style="width:500px;"> <tbody> <tr> <td>响应头</td> <td>描述</td> </tr> <tr> <td>Server</td> <td>服务器应用程序软件的名称和版本</td> </tr> <tr> <td>Content-Type</td> <td>响应正文的类型(是图片还是二进制字符串)</td> </tr> <tr> <td>Content-Length </td> <td>响应正文长度</td> </tr> <tr> <td>Content-Charset</td> <td>响应正文使用的编码</td> </tr> <tr> <td>Content-Encoding</td> <td>响应正文使用的数据压缩格式</td> </tr> <tr> <td>Content-Language</td> <td> 响应正文使用的语言</td> </tr> </tbody> </table> <p></p> <p></p> </div> </div> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1754084415446728704"></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">你可能感兴趣的:(前端,http,网络协议,linux,服务器,运维,网络)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1885232121581203456.htm" title="SonarQube PostgreSQL数据库备份与还原" target="_blank">SonarQube PostgreSQL数据库备份与还原</a> <span class="text-muted">第1222只Joker</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E5%85%B7/1.htm">工具</a><a class="tag" taget="_blank" href="/search/SonarQube%E5%A4%87%E4%BB%BD/1.htm">SonarQube备份</a><a class="tag" taget="_blank" href="/search/postgresql%E5%A4%87%E4%BB%BD/1.htm">postgresql备份</a><a class="tag" taget="_blank" href="/search/%E5%A4%87%E4%BB%BD%E6%95%B0%E6%8D%AE%E5%BA%93%E4%B8%8E%E8%BF%98%E5%8E%9F/1.htm">备份数据库与还原</a> <div>前面说了部署sonar,其实主要是因为换机器备份数据要重新部署而已。这边也简单记一下怎么备份postgreSQL的数据吧1.备份数据库内容:备份pgsql直接可以使用pg_dump命令,不过有的pg客户端和服务器的版本不匹配,需要做一下相应的升级,这里就不细说了,升级还是蛮简单的。pg_dumpsonar>sonar.sql在老机器上备份下来,sql文件里面存的其实就是一堆命令,到新机器上给你的数</div> </li> <li><a href="/article/1885231617274867712.htm" title="radmin van安装失败" target="_blank">radmin van安装失败</a> <span class="text-muted">qq_30362711</span> <a class="tag" taget="_blank" href="/search/%E5%85%B6%E4%BB%96/1.htm">其他</a><a class="tag" taget="_blank" href="/search/emacs/1.htm">emacs</a> <div>在bilibili的视频学的。https://www.bilibili.com/video/BV1TN411h7WS/?vd_source=bbdec2922d971a0fda2fc53a132bd284cclearner,删除错误注册表,解决</div> </li> <li><a href="/article/1885231617794961408.htm" title="卡尔曼滤波记录" target="_blank">卡尔曼滤波记录</a> <span class="text-muted">qq_30362711</span> <a class="tag" taget="_blank" href="/search/%E4%BC%98%E5%8C%96%E4%B8%8E%E6%B1%82%E8%A7%A3/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> <div>参考这个:https://www.kalmanfilter.net/alphabeta.html。这个吊打其他一切教程</div> </li> <li><a href="/article/1885229978392522752.htm" title="前端主流的项目开发过程详解" target="_blank">前端主流的项目开发过程详解</a> <span class="text-muted">GISer_Jinger</span> <a class="tag" taget="_blank" href="/search/Javascript/1.htm">Javascript</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE/1.htm">项目</a><a class="tag" taget="_blank" href="/search/Vue/1.htm">Vue</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>前端主流的项目开发涉及多个方面,包括使用的技术栈、框架、工具以及开发流程等。以下是对前端主流项目开发的详细分析:一、技术栈前端主流项目开发的技术栈通常包括HTML、CSS、JavaScript以及相关的库和框架。其中,JavaScript是核心,它使得网页更加动态和交互。而HTML和CSS则分别负责网页的结构和样式。HTML:用于构建网页的基本结构,如标题、段落、链接、图像等。CSS:用于控制网页</div> </li> <li><a href="/article/1885229094572978176.htm" title="彻底禁用Antimalware Service Executable服务" target="_blank">彻底禁用Antimalware Service Executable服务</a> <span class="text-muted">柯逸骞Ian</span> <div>彻底禁用AntimalwareServiceExecutable服务系统篇彻底禁用AntimalwareServiceExecutable服务项目地址:https://gitcode.com/Resource-Bundle-Collection/36680简介本资源文件提供了一个详细的指南,帮助用户彻底禁用Windows系统中的AntimalwareServiceExecutable服务。该服务是</div> </li> <li><a href="/article/1885228716569718784.htm" title="Android 实现快速高斯模糊(毛玻璃)效果算法" target="_blank">Android 实现快速高斯模糊(毛玻璃)效果算法</a> <span class="text-muted">kcabmai</span> <a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/android%E6%AF%9B%E7%8E%BB%E7%92%83/1.htm">android毛玻璃</a><a class="tag" taget="_blank" href="/search/%E9%AB%98%E6%96%AF%E6%A8%A1%E7%B3%8A/1.htm">高斯模糊</a> <div>先上代码:https://github.com/chenglin198751/BaseMyProject/blob/master/app/src/main/java/utils/FastBlurUtil.java如果下面的代码有找不到的方法,那么可以去这么项目里找,完整的项目地址是:https://github.com/chenglin198751/BaseMyProjectJava已经有人很好的</div> </li> <li><a href="/article/1885224934700019712.htm" title="智能安全策略-DPL" target="_blank">智能安全策略-DPL</a> <span class="text-muted">人生的方向随自己而走</span> <a class="tag" taget="_blank" href="/search/2025%E9%9A%8F%E7%AC%94/1.htm">2025随笔</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/%E8%BF%90%E7%BB%B4/1.htm">运维</a> <div>一、华三防火墙-接口的概念。1、接口。1.什么是接口?接口就像是防火墙的“门”,用来连接不同的网络设备,比如电脑、路由器、服务器等。通过这些“门”,数据(比如网页、视频、文件)才能进出防火墙。2.接口的类型华三防火墙有几种常见的接口类型:(1)物理接口这些是防火墙设备上实实在在的插孔,比如网线插口(以太网接口)。就像插座一样,网线插进去后,防火墙就能和其他设备连接。以太网接口(Ethernet):</div> </li> <li><a href="/article/1885224808304668672.htm" title="memcached是怎么工作的?思维导图 代码示例(java 架构)" target="_blank">memcached是怎么工作的?思维导图 代码示例(java 架构)</a> <span class="text-muted">用心去追梦</span> <a class="tag" taget="_blank" href="/search/memcached/1.htm">memcached</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a> <div>Memcached是怎么工作的?Memcached的工作原理围绕着其作为高性能分布式内存对象缓存系统的核心功能展开。以下是关于Memcached工作流程的详细解析:1.客户端请求处理客户端连接:应用程序通过网络与一个或多个Memcached服务器建立TCP连接。命令执行:客户端发送简单的文本协议命令(如set,get,delete等)到Memcached服务器来存储或检索数据。2.数据存储机制Sl</div> </li> <li><a href="/article/1885224807784574976.htm" title="VMware安装win10记录" target="_blank">VMware安装win10记录</a> <span class="text-muted">qq_30362711</span> <a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E8%AF%AD%E8%A8%80/1.htm">设计语言</a> <div>(1)下载vmware,这个pro现在也免费的,下载地址:https://support.broadcom.com/group/ecx/productfiles?subFamily=VMware%20Workstation%20Pro&displayGroup=VMware%20Workstation%20Pro%2017.0%20for%20Windows&release=17.6.2&os=&</div> </li> <li><a href="/article/1885223926343200768.htm" title="windows上使用wsl安装ubuntu16.04" target="_blank">windows上使用wsl安装ubuntu16.04</a> <span class="text-muted">b2Superman</span> <a class="tag" taget="_blank" href="/search/windows/1.htm">windows</a> <div>1.设置->系统->开发者选项->开发人员模式2.控制面板->程序与功能->启动或关闭windows功能->勾选虚拟机平台和使用与Linux的windows子系统->重启3.win+x终端管理员启用wsl功能dism.exe/online/enable-feature/featurename:Microsoft-Windows-Subsystem-Linux/all/norestart安装WSL2</div> </li> <li><a href="/article/1885223548339941376.htm" title="pip常见命令合集" target="_blank">pip常见命令合集</a> <span class="text-muted">漫路寻索</span> <a class="tag" taget="_blank" href="/search/pip/1.htm">pip</a> <div>pip相关查看版本pip--version查看帮助pip--help升级pipLinux或macOSpipinstall--upgradepip#python2pip3install--upgradepip#python3Windows平台升级:python-mpipinstall-Upip#python2python-mpip3install-Upip#python3或sudoeasy_inst</div> </li> <li><a href="/article/1885223295687651328.htm" title="Ubuntu20.4编译vlc、vlc-qt" target="_blank">Ubuntu20.4编译vlc、vlc-qt</a> <span class="text-muted">小逍遥雪</span> <a class="tag" taget="_blank" href="/search/Ubuntu/1.htm">Ubuntu</a><a class="tag" taget="_blank" href="/search/vlc/1.htm">vlc</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a> <div>1.安装Qt软件,文章中安装的Qt版本:5.11.3Qt官方下载链接:Indexof/new_archive/qt2.下载vlc源码,文章中vlc源码版本:vlc-3.0.8因为系统是linxu系统,所以下载时选择:vlc-3.0.8.tar.xzvlc官方源码下载链接:Indexof/vlc/3.下载vlc_qt源码vlc_qt官方源码下载链接:https://vlc-qt.tano.si/</div> </li> <li><a href="/article/1885223296107081728.htm" title="由换jupyter notebook的主题引发的一部debug的连续剧(三)" target="_blank">由换jupyter notebook的主题引发的一部debug的连续剧(三)</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/%E6%95%B0%E6%8D%AE%E5%88%86%E6%9E%90/1.htm">数据分析</a><a class="tag" taget="_blank" href="/search/jupyternotebook/1.htm">jupyternotebook</a><a class="tag" taget="_blank" href="/search/jupyter%E6%8D%A2%E4%B8%BB%E9%A2%98/1.htm">jupyter换主题</a><a class="tag" taget="_blank" href="/search/%E6%8D%A2%E4%B8%BB%E9%A2%98/1.htm">换主题</a><a class="tag" taget="_blank" href="/search/debug/1.htm">debug</a><a class="tag" taget="_blank" href="/search/bug/1.htm">bug</a> <div>上篇说到最后爆出bug。。。到后台服务的连接没能建立,我们会继续尝试重连,请检出网络连接…接着发挥谷歌的优势找到解决办法。就是把tornado降级为4.5.3pipinstalltornado==4.5.3然后终于正常连接上了:打开之前的文件准备继续编程,点击了运行命令后:没有正常出结果,而是一直在运行,于是我去看jupyternotebook的后台,发现这样一个新的bug出来了!!!Import</div> </li> <li><a href="/article/1885223042540433408.htm" title="python依赖库版本问题_ubuntu下python安装pandas和numpy等依赖库版本不兼容的问题RuntimeWarning: numpy.dtype size changed..." target="_blank">python依赖库版本问题_ubuntu下python安装pandas和numpy等依赖库版本不兼容的问题RuntimeWarning: numpy.dtype size changed...</a> <span class="text-muted">黄海均</span> <a class="tag" taget="_blank" href="/search/python%E4%BE%9D%E8%B5%96%E5%BA%93%E7%89%88%E6%9C%AC%E9%97%AE%E9%A2%98/1.htm">python依赖库版本问题</a> <div>习惯了linux下用pipinstallnumpy及pipinstallpandas命令了。折腾了好久了。上来先在python3中pip3installnumpy装了numpy,然后再pip3installpandas就卡住不动了,或者报什么错,然后把numpy卸载了,继续装pandas还是卡住了,好像是找不到相应版本的依赖库。那就转装python2.7吧,继续pipinstallpandas,装</div> </li> <li><a href="/article/1885223041059844096.htm" title="云服务器wsl2,在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker" target="_blank">云服务器wsl2,在Windows 10中启动WSL2 并安装Linux( Ubuntu 为例)并运行docker</a> <span class="text-muted">FromNowToNow</span> <a class="tag" taget="_blank" href="/search/%E4%BA%91%E6%9C%8D%E5%8A%A1%E5%99%A8wsl2/1.htm">云服务器wsl2</a> <div>本文内容:了解WSL和WSL2;案例:在Windows10上开启WSL2并安装Ubuntu;案例:体验在WSL2中的Ubuntu安装Docker并运行nginx;视频讲解:图文讲解:什么是WSL?WindowsSubsystemforLinux,适用于Linux的Windows子系统可让开发人员按原样运行GNU/Linux环境-包括大多数命令行工具、实用工具和应用程序-且不会产生虚拟机开销。在WS</div> </li> <li><a href="/article/1885222663027224576.htm" title="电脑 android x86 网络,没有网络连接 - VMWare Fusion上的Android-x86(No network connection - Android-x86 on VMWare ..." target="_blank">电脑 android x86 网络,没有网络连接 - VMWare Fusion上的Android-x86(No network connection - Android-x86 on VMWare ...</a> <span class="text-muted">吴寿鹤</span> <a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%84%91/1.htm">电脑</a><a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/x86/1.htm">x86</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a> <div>没有网络连接-VMWareFusion上的Android-x86(Nonetworkconnection-Android-x86onVMWareFusion)我正试图想出一些用于在MacOSX上进行开发的Android环境。这证明非常困难(Mac上的Android模拟器滞后)。在我的Macbook上,Android模拟器非常慢,无法使用。请注意,我正在尝试构建一个平板电脑应用,这似乎会让事情变得更</div> </li> <li><a href="/article/1885220898093461504.htm" title="讯飞智作 AI 配音技术浅析(一)" target="_blank">讯飞智作 AI 配音技术浅析(一)</a> <span class="text-muted">爱研究的小牛</span> <a class="tag" taget="_blank" href="/search/AIGC%E2%80%94%E6%8A%80%E6%9C%AF%E7%BB%BC%E8%BF%B0/1.htm">AIGC—技术综述</a><a class="tag" taget="_blank" href="/search/AIGC%E2%80%94%E6%A6%82%E8%BF%B0/1.htm">AIGC—概述</a><a class="tag" taget="_blank" href="/search/AIGC%E2%80%94%E9%9F%B3%E9%A2%91/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/AIGC/1.htm">AIGC</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> <div>一、核心技术讯飞智作AI配音技术作为科大讯飞在人工智能领域的重要成果,融合了多项前沿技术,为用户提供了高质量的语音合成服务。其核心技术主要涵盖以下几个方面:1.深度学习与神经网络讯飞智作AI配音技术以深度学习为核心驱动力,通过以下关键模型实现语音合成:Tacotron模型:该模型采用端到端的编码器-解码器架构,将输入文本直接转换为梅尔频谱(Mel-spectrogram),再通过声码器生成语音信号</div> </li> <li><a href="/article/1885218501287800832.htm" title="21. Ubuntu 交叉编译工具链安装" target="_blank">21. Ubuntu 交叉编译工具链安装</a> <span class="text-muted">lljss2020</span> <a class="tag" taget="_blank" href="/search/Linux/1.htm">Linux</a> <div>交叉编译器安装ARM裸机、Uboot移植、Linux移植这些都需要在Ubuntu下进行编译,编译就需要编译器,我们在第三章“LinuxC编程入门”里面已经讲解了如何在Liux进行C语言开发,里面使用GCC编译器进行代码编译,但是Ubuntu自带的gcc编译器是针对X86架构的!而我们现在要编译的是ARM架构的代码,所以我们需要一个在X86架构的PC上运行,可以编译ARM架构代码的GCC编译器,这个</div> </li> <li><a href="/article/1885217619347304448.htm" title="AWS CloudFormation Fargate 开源项目教程" target="_blank">AWS CloudFormation Fargate 开源项目教程</a> <span class="text-muted">虞耀炜</span> <div>AWSCloudFormationFargate开源项目教程aws-cloudformation-fargateSampleCloudFormationtemplatesforhowtorunDockercontainersinAWSFargatewithvariousnetworkingconfigurations项目地址:https://gitcode.com/gh_mirrors/aw/aw</div> </li> <li><a href="/article/1885217492838707200.htm" title="web前端三大主流框架" target="_blank">web前端三大主流框架</a> <span class="text-muted">109702008</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/%E7%BC%96%E7%A8%8B/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/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a> <div>Claude3OpusWeb前端开发中,目前有三个主流的框架:1.React:React是由Facebook开发的一款JavaScript库,用于构建用户界面。它采用组件化的开发模式,将界面拆分成多个独立且可复用的组件,使开发和维护更加高效。React的核心思想是虚拟DOM(VirtualDOM)和单向数据流,通过高效的DOMdiff算法进行页面更新,提供出色的性能和用户体验。2.Angular:</div> </li> <li><a href="/article/1885217365189259264.htm" title="VLC-Qt: Qt + libVLC 的开源库" target="_blank">VLC-Qt: Qt + libVLC 的开源库</a> <span class="text-muted">daqinzl</span> <a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E9%9F%B3%E9%A2%91/1.htm">视频音频</a><a class="tag" taget="_blank" href="/search/qt/1.htm">qt</a><a class="tag" taget="_blank" href="/search/libVLC/1.htm">libVLC</a><a class="tag" taget="_blank" href="/search/VLC-Qt/1.htm">VLC-Qt</a> <div>参考链接https://blog.csdn.net/u012532263/article/details/102737874</div> </li> <li><a href="/article/1885217366342692864.htm" title="在Ubuntu下编译VLC" target="_blank">在Ubuntu下编译VLC</a> <span class="text-muted">daqinzl</span> <a class="tag" taget="_blank" href="/search/%E8%A7%86%E9%A2%91%E9%9F%B3%E9%A2%91/1.htm">视频音频</a><a class="tag" taget="_blank" href="/search/vlc%E7%BC%96%E8%AF%91%E5%AE%89%E8%A3%85/1.htm">vlc编译安装</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a> <div>参考链接:https://blog.csdn.net/zyhse/article/details/113662686</div> </li> <li><a href="/article/1885217112604078080.htm" title="在WSL2的Ubuntu中安装和使用Docker/Podman" target="_blank">在WSL2的Ubuntu中安装和使用Docker/Podman</a> <span class="text-muted">baiyu33</span> <a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/docker/1.htm">docker</a><a class="tag" taget="_blank" href="/search/podman/1.htm">podman</a> <div>在WSL2的Ubuntu中安装和使用Docker/Podman0.目的当网络环境良好(例如在公司,能直接访问Google等)时,Docker/Podman安装和使用不是问题。当网络环境不佳(例如在家里),要把WSL2的Ubuntu安装好Docker,并顺利拉取Docker/Podman镜像,并且运行的镜像实例也需要把网络问题搞定,我踩了5个坑,记录如下。我使用WSL2,Ubuntu22.04。1.</div> </li> <li><a href="/article/1885216986179366912.htm" title="【前端】Electron入门开发教程,从介绍Electron到基础引用以及部分深度使用,附带常见的十个报错问题的解决方案和代码优化。" target="_blank">【前端】Electron入门开发教程,从介绍Electron到基础引用以及部分深度使用,附带常见的十个报错问题的解决方案和代码优化。</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/electron/1.htm">electron</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>Electron是一个使用JavaScript、HTML和CSS等Web技术创建跨平台桌面应用程序的框架。它结合了Chromium渲染引擎和Node.js运行时,允许开发者构建高质量的桌面应用。下面是一个简要的Electron开发教程,从基础到深入,并包括一些常见的报错问题及其解决方案。一、介绍ElectronElectron能够使用前端技术栈开发桌面应用,支持Windows、macOS和Linu</div> </li> <li><a href="/article/1885213581893496832.htm" title="AWS CloudFormation 模板架构项目教程" target="_blank">AWS CloudFormation 模板架构项目教程</a> <span class="text-muted">陶名战Blanche</span> <div>AWSCloudFormation模板架构项目教程cloudformation-template-schemaInlinesyntaxvalidation,documentationlinksandautocompletionforyourCloudFormationtemplates.项目地址:https://gitcode.com/gh_mirrors/cl/cloudformation-te</div> </li> <li><a href="/article/1885212573201133568.htm" title="cesium 源码修改 支持ArcGIS 服务属性过滤" target="_blank">cesium 源码修改 支持ArcGIS 服务属性过滤</a> <span class="text-muted">yanasdf789</span> <a class="tag" taget="_blank" href="/search/cesium/1.htm">cesium</a><a class="tag" taget="_blank" href="/search/javascript/1.htm">javascript</a> <div>@[TOC]#前言功能效果:在cesium中加载arcgis矢量服务,使其通过字段定义过滤图形,如objectid>100,在ArcGISforjs中可以有现成的定义参数definitionExpression,ceisumz必须修改源码#一、比对URLarcgisapiforjs请求:http://localhost:6080/arcgis/rest/services/02_01_2019_ot</div> </li> <li><a href="/article/1885211310254256128.htm" title="kubernetes建立容器以及可视化界面集群管理" target="_blank">kubernetes建立容器以及可视化界面集群管理</a> <span class="text-muted">weixin_53682254</span> <a class="tag" taget="_blank" href="/search/IPV6%E5%9C%A8%E5%AE%B9%E5%99%A8%E4%BA%91%E4%B8%AD%E7%9A%84%E9%83%A8%E7%BD%B2/1.htm">IPV6在容器云中的部署</a><a class="tag" taget="_blank" href="/search/kubernetes/1.htm">kubernetes</a><a class="tag" taget="_blank" href="/search/ubuntu/1.htm">ubuntu</a><a class="tag" taget="_blank" href="/search/%E5%AE%B9%E5%99%A8/1.htm">容器</a> <div>前言本文主要讲述在kubernetes上基于ipv4、ipv6双栈集群建立容器以及可视化界面的集群管理。本来我打算不用双栈节点部署pod,但是建立之后,发现我所使用的cni似乎不支持(我使用的是calico)纯ipv6的建立,使用如下命令查看时会发现一直处于ContainerCreating状态,可能由于该网络插件不支持的关系,之后的实验我将尝试使用各种不同的网络插件,查看它们的效果以及是否支持。</div> </li> <li><a href="/article/1885209923730599936.htm" title="Ardely暗区图像增强" target="_blank">Ardely暗区图像增强</a> <span class="text-muted">元气少女缘结神</span> <a class="tag" taget="_blank" href="/search/Image/1.htm">Image</a><a class="tag" taget="_blank" href="/search/Denoising/1.htm">Denoising</a><a class="tag" taget="_blank" href="/search/%E5%9B%BE%E5%83%8F%E5%A2%9E%E5%BC%BA/1.htm">图像增强</a> <div>因为要用到特别暗的图像,要分割出目标和背景,所以只有先增强,看到《一种基于Ardely分割算法的夜间图像增强方法》,但去找其引用文献的Ardely的博客却找不到了?本来想看其csdn博客步骤自己编的,但没找到,后来又看到http://blog.csdn.net/programman83/article/details/1349262点击打开链接所以直接用它的了。/*maintestforbmppa</div> </li> <li><a href="/article/1885209797012287488.htm" title="低代码产品表单渲染架构" target="_blank">低代码产品表单渲染架构</a> <span class="text-muted">露临霜</span> <a class="tag" taget="_blank" href="/search/%E4%BD%8E%E4%BB%A3%E7%A0%81/1.htm">低代码</a><a class="tag" taget="_blank" href="/search/%E4%BD%8E%E4%BB%A3%E7%A0%81/1.htm">低代码</a> <div>在React和Vue没有流行起来的时候,低代码产品的表单渲染设计通常会使用操作Dom的方式实现。下面是一个表单的例子:产品层用户通过打开表单,使用不同业务场景业务下的表单页面,中间的Render层就是技术实现。每一个不同业务的表单页面就是低代码产品中的一个元素。技术层渲染层的核心在于View和Controller,现代基于框架实现一般是MVVM的实现。上面是基于传统的前端框架实现(Jquery),</div> </li> <li><a href="/article/1885209797503021056.htm" title="生成树生成森林c语言中文网,生成树协议(STP)基本知识及实验(使用eNSP)" target="_blank">生成树生成森林c语言中文网,生成树协议(STP)基本知识及实验(使用eNSP)</a> <span class="text-muted">飞翔的十号</span> <a class="tag" taget="_blank" href="/search/%E7%94%9F%E6%88%90%E6%A0%91%E7%94%9F%E6%88%90%E6%A3%AE%E6%9E%97c%E8%AF%AD%E8%A8%80%E4%B8%AD%E6%96%87%E7%BD%91/1.htm">生成树生成森林c语言中文网</a> <div>1、基本知识--摘至《网络之路--交换专题》(1)生成树的作用:在链路层消除环路上可能出现的广播风暴。(2)生成树的工作由三部分组成:选举过程、拓扑计算、端口行为确定。选举过程:在二层网络中选举一个网桥作为根桥,用于指挥整网设备协同工作。根桥只是负责统一计算的规则。根桥统一网络中所有网桥的行为准则的原理:通过在某个恰当位置阻塞端口来阻止环路的发生。从一台网桥的角度来说,它通过这样的法则进行判断,如</div> </li> <li><a href="/article/3.htm" title="枚举的构造函数中抛出异常会怎样" target="_blank">枚举的构造函数中抛出异常会怎样</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/enum/1.htm">enum</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%8B/1.htm">单例</a> <div>首先从使用enum实现单例说起。 为什么要用enum来实现单例? 这篇文章( http://javarevisited.blogspot.sg/2012/07/why-enum-singleton-are-better-in-java.html)阐述了三个理由: 1.enum单例简单、容易,只需几行代码: public enum Singleton { INSTANCE;</div> </li> <li><a href="/article/130.htm" title="CMake 教程" target="_blank">CMake 教程</a> <span class="text-muted">aigo</span> <a class="tag" taget="_blank" href="/search/C%2B%2B/1.htm">C++</a> <div>转自:http://xiang.lf.blog.163.com/blog/static/127733322201481114456136/   CMake是一个跨平台的程序构建工具,比如起自己编写Makefile方便很多。 介绍:http://baike.baidu.com/view/1126160.htm 本文件不介绍CMake的基本语法,下面是篇不错的入门教程: http:</div> </li> <li><a href="/article/257.htm" title="cvc-complex-type.2.3: Element 'beans' cannot have character" target="_blank">cvc-complex-type.2.3: Element 'beans' cannot have character</a> <span class="text-muted">Cb123456</span> <a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/Webgis/1.htm">Webgis</a> <div>  cvc-complex-type.2.3: Element 'beans' cannot have character     Line 33 in XML document from ServletContext resource [/WEB-INF/backend-servlet.xml] is i</div> </li> <li><a href="/article/384.htm" title="jquery实例:随页面滚动条滚动而自动加载内容" target="_blank">jquery实例:随页面滚动条滚动而自动加载内容</a> <span class="text-muted">120153216</span> <a class="tag" taget="_blank" href="/search/jquery/1.htm">jquery</a> <div><script language="javascript"> $(function (){ var i = 4;$(window).bind("scroll", function (event){ //滚动条到网页头部的 高度,兼容ie,ff,chrome var top = document.documentElement.s</div> </li> <li><a href="/article/511.htm" title="将数据库中的数据转换成dbs文件" target="_blank">将数据库中的数据转换成dbs文件</a> <span class="text-muted">何必如此</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/dbs/1.htm">dbs</a> <div>旗正规则引擎通过数据库配置器(DataBuilder)来管理数据库,无论是Oracle,还是其他主流的数据都支持,操作方式是一样的。旗正规则引擎的数据库配置器是用于编辑数据库结构信息以及管理数据库表数据,并且可以执行SQL 语句,主要功能如下。 1)数据库生成表结构信息:         主要生成数据库配置文件(.conf文</div> </li> <li><a href="/article/638.htm" title="在IBATIS中配置SQL语句的IN方式" target="_blank">在IBATIS中配置SQL语句的IN方式</a> <span class="text-muted">357029540</span> <a class="tag" taget="_blank" href="/search/ibatis/1.htm">ibatis</a> <div>在使用IBATIS进行SQL语句配置查询时,我们一定会遇到通过IN查询的地方,在使用IN查询时我们可以有两种方式进行配置参数:String和List。具体使用方式如下: 1.String:定义一个String的参数userIds,把这个参数传入IBATIS的sql配置文件,sql语句就可以这样写: <select id="getForms" param</div> </li> <li><a href="/article/765.htm" title="Spring3 MVC 笔记(一)" target="_blank">Spring3 MVC 笔记(一)</a> <span class="text-muted">7454103</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/bean/1.htm">bean</a><a class="tag" taget="_blank" href="/search/REST/1.htm">REST</a><a class="tag" taget="_blank" href="/search/JSF/1.htm">JSF</a> <div>         自从 MVC 这个概念提出来之后 struts1.X  struts2.X   jsf 。。。。。 这个view 层的技术一个接一个! 都用过!不敢说哪个绝对的强悍! 要看业务,和整体的设计!      最近公司要求开发个新系统!</div> </li> <li><a href="/article/892.htm" title="Timer与Spring Quartz 定时执行程序" target="_blank">Timer与Spring Quartz 定时执行程序</a> <span class="text-muted">darkranger</span> <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/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/quartz/1.htm">quartz</a> <div>有时候需要定时触发某一项任务。其实在jdk1.3,java sdk就通过java.util.Timer提供相应的功能。一个简单的例子说明如何使用,很简单: 1、第一步,我们需要建立一项任务,我们的任务需要继承java.util.TimerTask package com.test; import java.text.SimpleDateFormat; import java.util.Date; </div> </li> <li><a href="/article/1019.htm" title="大端小端转换,le32_to_cpu 和cpu_to_le32" target="_blank">大端小端转换,le32_to_cpu 和cpu_to_le32</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/C%E8%AF%AD%E8%A8%80%E7%9B%B8%E5%85%B3/1.htm">C语言相关</a> <div>大端小端转换,le32_to_cpu 和cpu_to_le32  字节序 http://oss.org.cn/kernel-book/ldd3/ch11s04.html         小心不要假设字节序. PC 存储多字节值是低字节为先(小端为先, 因此是小端), 一些高级的平台以另一种方式(大端)</div> </li> <li><a href="/article/1146.htm" title="Nginx负载均衡配置实例详解" target="_blank">Nginx负载均衡配置实例详解</a> <span class="text-muted">avords</span> <div>[导读] 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。负载均衡先来简单了解一下什么是负载均衡,单从字面上的意思来理解就可以解 负载均衡是我们大流量网站要做的一个东西,下面我来给大家介绍在Nginx服务器上进行负载均衡配置方法,希望对有需要的同学有所帮助哦。 负载均衡 先来简单了解一下什么是负载均衡</div> </li> <li><a href="/article/1273.htm" title="乱说的" target="_blank">乱说的</a> <span class="text-muted">houxinyou</span> <a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E6%95%8F%E6%8D%B7%E5%BC%80%E5%8F%91/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> <div>从很久以前,大家就研究框架,开发方法,软件工程,好多!反正我是搞不明白! 这两天看好多人研究敏捷模型,瀑布模型!也没太搞明白. 不过感觉和程序开发语言差不多, 瀑布就是顺序,敏捷就是循环. 瀑布就是需求、分析、设计、编码、测试一步一步走下来。而敏捷就是按摸块或者说迭代做个循环,第个循环中也一样是需求、分析、设计、编码、测试一步一步走下来。 也可以把软件开发理</div> </li> <li><a href="/article/1400.htm" title="欣赏的价值——一个小故事" target="_blank">欣赏的价值——一个小故事</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%9C%89%E6%95%88%E8%BE%85%E5%AF%BC/1.htm">有效辅导</a><a class="tag" taget="_blank" href="/search/%E6%AC%A3%E8%B5%8F/1.htm">欣赏</a><a class="tag" taget="_blank" href="/search/%E6%AC%A3%E8%B5%8F%E7%9A%84%E4%BB%B7%E5%80%BC/1.htm">欣赏的价值</a> <div>  第一次参加家长会,幼儿园的老师说:"您的儿子有多动症,在板凳上连三分钟都坐不了,你最好带他去医院看一看。"  回家的路上,儿子问她老师都说了些什么,她鼻子一酸,差点流下泪来。因为全班30位小朋友,惟有他表现最差;惟有对他,老师表现出不屑,然而她还在告诉她的儿子:"老师表扬你了,说宝宝原来在板凳上坐不了一分钟,现在能坐三分钟。其他妈妈都非常羡慕妈妈,因为全班只有宝宝</div> </li> <li><a href="/article/1527.htm" title="包冲突问题的解决方法" target="_blank">包冲突问题的解决方法</a> <span class="text-muted">bingyingao</span> <a class="tag" taget="_blank" href="/search/eclipse/1.htm">eclipse</a><a class="tag" taget="_blank" href="/search/maven/1.htm">maven</a><a class="tag" taget="_blank" href="/search/exclusions/1.htm">exclusions</a><a class="tag" taget="_blank" href="/search/%E5%8C%85%E5%86%B2%E7%AA%81/1.htm">包冲突</a> <div>包冲突是开发过程中很常见的问题: 其表现有: 1.明明在eclipse中能够索引到某个类,运行时却报出找不到类。 2.明明在eclipse中能够索引到某个类的方法,运行时却报出找不到方法。 3.类及方法都有,以正确编译成了.class文件,在本机跑的好好的,发到测试或者正式环境就 抛如下异常: java.lang.NoClassDefFoundError: Could not in</div> </li> <li><a href="/article/1654.htm" title="【Spark七十五】Spark Streaming整合Flume-NG三之接入log4j" target="_blank">【Spark七十五】Spark Streaming整合Flume-NG三之接入log4j</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/Stream/1.htm">Stream</a> <div>先来一段废话: 实际工作中,业务系统的日志基本上是使用Log4j写入到日志文件中的,问题的关键之处在于业务日志的格式混乱,这给对日志文件中的日志进行统计分析带来了极大的困难,或者说,基本上无法进行分析,每个人写日志的习惯不同,导致日志行的格式五花八门,最后只能通过grep来查找特定的关键词缩小范围,但是在集群环境下,每个机器去grep一遍,分析一遍,这个效率如何可想之二,大好光阴都浪费在这上面了</div> </li> <li><a href="/article/1781.htm" title="sudoku solver in Haskell" target="_blank">sudoku solver in Haskell</a> <span class="text-muted">bookjovi</span> <a class="tag" taget="_blank" href="/search/sudoku/1.htm">sudoku</a><a class="tag" taget="_blank" href="/search/haskell/1.htm">haskell</a> <div>这几天没太多的事做,想着用函数式语言来写点实用的程序,像fib和prime之类的就不想提了(就一行代码的事),写什么程序呢?在网上闲逛时发现sudoku游戏,sudoku十几年前就知道了,学生生涯时也想过用C/Java来实现个智能求解,但到最后往往没写成,主要是用C/Java写的话会很麻烦。   现在写程序,本人总是有一种思维惯性,总是想把程序写的更紧凑,更精致,代码行数最少,所以现</div> </li> <li><a href="/article/1908.htm" title="java apache ftpClient" target="_blank">java apache ftpClient</a> <span class="text-muted">bro_feng</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>最近使用apache的ftpclient插件实现ftp下载,遇见几个问题,做如下总结。 1. 上传阻塞,一连串的上传,其中一个就阻塞了,或是用storeFile上传时返回false。查了点资料,说是FTP有主动模式和被动模式。将传出模式修改为被动模式ftp.enterLocalPassiveMode();然后就好了。 看了网上相关介绍,对主动模式和被动模式区别还是比较的模糊,不太了解被动模</div> </li> <li><a href="/article/2035.htm" title="读《研磨设计模式》-代码笔记-工厂方法模式" target="_blank">读《研磨设计模式》-代码笔记-工厂方法模式</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a> <div>声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ package design.pattern; /* * 工厂方法模式:使一个类的实例化延迟到子类 * 某次,我在工作不知不觉中就用到了工厂方法模式(称为模板方法模式更恰当。2012-10-29): * 有很多不同的产品,它</div> </li> <li><a href="/article/2162.htm" title="面试记录语" target="_blank">面试记录语</a> <span class="text-muted">chenyu19891124</span> <a class="tag" taget="_blank" href="/search/%E6%8B%9B%E8%81%98/1.htm">招聘</a> <div>或许真的在一个平台上成长成什么样,都必须靠自己去努力。有了好的平台让自己展示,就该好好努力。今天是自己单独一次去面试别人,感觉有点小紧张,说话有点打结。在面试完后写面试情况表,下笔真的好难,尤其是要对面试人的情况说明真的好难。 今天面试的是自己同事的同事,现在的这个同事要离职了,介绍了我现在这位同事以前的同事来面试。今天这位求职者面试的是配置管理,期初看了简历觉得应该很适合做配置管理,但是今天面</div> </li> <li><a href="/article/2289.htm" title="Fire Workflow 1.0正式版终于发布了" target="_blank">Fire Workflow 1.0正式版终于发布了</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/workflow/1.htm">workflow</a><a class="tag" taget="_blank" href="/search/Google/1.htm">Google</a> <div>Fire Workflow 是国内另外一款开源工作流,作者是著名的非也同志,哈哈.... 官方网站是 http://www.fireflow.org 经过大家努力,Fire Workflow 1.0正式版终于发布了 正式版主要变化: 1、增加IWorkItem.jumpToEx(...)方法,取消了当前环节和目标环节必须在同一条执行线的限制,使得自由流更加自由 2、增加IT</div> </li> <li><a href="/article/2416.htm" title="Python向脚本传参" target="_blank">Python向脚本传参</a> <span class="text-muted">daizj</span> <a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a><a class="tag" taget="_blank" href="/search/%E4%BC%A0%E5%8F%82/1.htm">传参</a> <div>如果想对python脚本传参数,python中对应的argc, argv(c语言的命令行参数)是什么呢? 需要模块:sys 参数个数:len(sys.argv) 脚本名:    sys.argv[0] 参数1:     sys.argv[1] 参数2:     sys.argv[</div> </li> <li><a href="/article/2543.htm" title="管理用户分组的命令gpasswd" target="_blank">管理用户分组的命令gpasswd</a> <span class="text-muted">dongwei_6688</span> <a class="tag" taget="_blank" href="/search/passwd/1.htm">passwd</a> <div>NAME: gpasswd - administer the /etc/group file SYNOPSIS: gpasswd group gpasswd -a user group gpasswd -d user group gpasswd -R group gpasswd -r group gpasswd [-A user,...] [-M user,...] g</div> </li> <li><a href="/article/2670.htm" title="郝斌老师数据结构课程笔记" target="_blank">郝斌老师数据结构课程笔记</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84%E4%B8%8E%E7%AE%97%E6%B3%95/1.htm">数据结构与算法</a> <div><<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<</div> </li> <li><a href="/article/2797.htm" title="yii2 cgridview加上选择框进行操作" target="_blank">yii2 cgridview加上选择框进行操作</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/GridView/1.htm">GridView</a> <div>页面代码 <?=Html::beginForm(['controller/bulk'],'post');?> <?=Html::dropDownList('action','',[''=>'Mark selected as: ','c'=>'Confirmed','nc'=>'No Confirmed'],['class'=>'dropdown',])</div> </li> <li><a href="/article/2924.htm" title="linux mysql" target="_blank">linux mysql</a> <span class="text-muted">fypop</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a> <div>enquiry mysql version in centos linux yum list installed | grep mysql yum -y remove mysql-libs.x86_64 enquiry mysql version in yum repositoryyum list | grep mysql oryum -y list mysql* install mysq</div> </li> <li><a href="/article/3051.htm" title="Scramble String" target="_blank">Scramble String</a> <span class="text-muted">hcx2013</span> <a class="tag" taget="_blank" href="/search/String/1.htm">String</a> <div>Given a string s1, we may represent it as a binary tree by partitioning it to two non-empty substrings recursively. Below is one possible representation of s1 = "great":</div> </li> <li><a href="/article/3178.htm" title="跟我学Shiro目录贴" target="_blank">跟我学Shiro目录贴</a> <span class="text-muted">jinnianshilongnian</span> <a class="tag" taget="_blank" href="/search/%E8%B7%9F%E6%88%91%E5%AD%A6shiro/1.htm">跟我学shiro</a> <div>历经三个月左右时间,《跟我学Shiro》系列教程已经完结,暂时没有需要补充的内容,因此生成PDF版供大家下载。最近项目比较紧,没有时间解答一些疑问,暂时无法回复一些问题,很抱歉,不过可以加群(334194438/348194195)一起讨论问题。     ----广告-----------------------------------------------------</div> </li> <li><a href="/article/3305.htm" title="nginx日志切割并使用flume-ng收集日志" target="_blank">nginx日志切割并使用flume-ng收集日志</a> <span class="text-muted">liyonghui160com</span> <div>     nginx的日志文件没有rotate功能。如果你不处理,日志文件将变得越来越大,还好我们可以写一个nginx日志切割脚本来自动切割日志文件。第一步就是重命名日志文件,不用担心重命名后nginx找不到日志文件而丢失日志。在你未重新打开原名字的日志文件前,nginx还是会向你重命名的文件写日志,linux是靠文件描述符而不是文件名定位文件。第二步向nginx主</div> </li> <li><a href="/article/3432.htm" title="Oracle死锁解决方法" target="_blank">Oracle死锁解决方法</a> <span class="text-muted">pda158</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a> <div> select p.spid,c.object_name,b.session_id,b.oracle_username,b.os_user_name from v$process p,v$session a, v$locked_object b,all_objects c where p.addr=a.paddr and a.process=b.process and c.object_id=b.</div> </li> <li><a href="/article/3559.htm" title="java之List排序" target="_blank">java之List排序</a> <span class="text-muted">shiguanghui</span> <a class="tag" taget="_blank" href="/search/list%E6%8E%92%E5%BA%8F/1.htm">list排序</a> <div>   在Java Collection Framework中定义的List实现有Vector,ArrayList和LinkedList。这些集合提供了对对象组的索引访问。他们提供了元素的添加与删除支持。然而,它们并没有内置的元素排序支持。   你能够使用java.util.Collections类中的sort()方法对List元素进行排序。你既可以给方法传递</div> </li> <li><a href="/article/3686.htm" title="servlet单例多线程" target="_blank">servlet单例多线程</a> <span class="text-muted">utopialxw</span> <a class="tag" taget="_blank" href="/search/%E5%8D%95%E4%BE%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/servlet/1.htm">servlet</a> <div>转自http://www.cnblogs.com/yjhrem/articles/3160864.html 和   http://blog.chinaunix.net/uid-7374279-id-3687149.html Servlet 单例多线程 Servlet如何处理多个请求访问?Servlet容器默认是采用单实例多线程的方式处理多个请求的:1.当web服务器启动的</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>