Python爬虫: 抓取One网页上的每日一话和图

先说下需求:

最近打算搜集点源数据,丰富下生活。嗯,最近看到One这个APP蛮好的。每天想你推送一张图和一段话。很喜欢,简单不复杂。而我想要把所有的句子都保存下来,又不想要每个页面都去手动查看。因此,就有了Python。之前有点Python基础,不过没有深入。现在也没有深入,用哪学哪吧。
网站的内容是这样的,我想要图片和这段话:

Python爬虫: 抓取One网页上的每日一话和图_第1张图片
one

(一)
一台MAC电脑

(二)Python环境搭建(所有命令都是在terminal中输入的)

  • 安装homebrew:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 安装pip:这里我在terminal中输入python -v,homebrew会自动帮你升级Python到2.7.11版本的。2.7.11版本里自带了pip工具。
  • 安装virtualenv:
    pip install virtualenv
  • 安装request和beautifulsoup4:
    pip install requests beautifulsoup4
    参考这里

(三)分析
目的:找出三个内容所在的网页标签的位置,然后将它们提取出来。
网址:http://wufazhuce.com/one/1293
谷歌浏览器,右键->显示网页源代码,然后就会弹出一堆HTML的东西了。这样的:

Python爬虫: 抓取One网页上的每日一话和图_第2张图片
网页源文件

我想要的内容是这段话:“即使热恋者的情感是错觉、幻象或自恋行为,那又何妨,所谓人生就是一段不断追求情爱的路程。 by 森山大道”。它在图中画红线的地方。在标签里的中,之后会用到,先往下看。
图片的链接在哪里?显然不在中,往下找,然后就在中,发现2处和图片类似的链接。看图

Python爬虫: 抓取One网页上的每日一话和图_第3张图片
图片链接地址

哪个链接是呢,点击去,发现后一个链接,也就是67行这个img标签的链接是。
然后,我还想知道哪一天的图和文字。嗯,在回到标签里,很明显有个</code>,里面的东西就是我们要的。这样:<br> <code><title>VOL.1271 - 「ONE · 一个」
(四)python编码
想要抓取网页上的内容,又不想自己去解析HTML,只好求助万能的Google了。然后就找到了上面的链接。主要有两个工具:request加载网页,BeautifulSoup4解析HTML。

首先,抓取我们需要的哪三个内容:
进入python环境,然后敲入下面的代码:

import requests
import bs4
response = requests.get('http://wufazhuce.com/one/1295')
soup = bs4.BeautifulSoup(response.text,"html.parser")

这样,就可以将网页信息存储到soup中了。你可以敲入print soup试试。

接下来,我们获得VOL.1271 - 「ONE · 一个」中的数字1271。怎么获得呢,beautifulsoup4教程,提供了很好的方法,可以通过tag查找得到title的内容,然后截取字符串。termianl中输入:

soup.title.string[3:7]

title是tag值,string是tag=title的字符串的值,也就是之间的值,因为只有一个</code>tag,所以不用做判断,直接获取即可。</p> <p>接下来,获取一段话。</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 28px;"> <div class="image-view"> <img src="http://img.e-com-net.com/image/info10/b7745bb0dfd448b281f4198a6bf6cee7.jpg" width="650" height="24"> </div> </div> <div class="image-caption"> 要截取的内容 </div> </div> <p>这段话在<code><meta></code>中,而这里又有太多的<code><meta></code>了,怎么办。这里要用到select方法了,它可以查找所有的<code><meta></code>,并返回一个列表。还要用到get方法,get可以获得tag的属性,如tag: <code><meta attr='abc'></code> tag.get('attr')值等于abc。这里我们要获取的属性是name,通过name='description'来区分。</p> <pre><code class="python">for meta in soup.select('meta'): if meta.get('name') == 'description': print meta.get('content') </code></pre> <p>接下来,在两个img标签中,查找第2个img标签标定的链接。这里通过find_all方法,它可以查找所有的符合要求的标签。</p> <pre><code class="python">soup.find_all('img')[1]['src'] </code></pre> <p>这样,我们就把所需要的信息找出来了。</p> <div class="image-package"> <div class="image-container" style="max-width: 700px; max-height: 549px;"> <div class="image-view"> <a href="http://img.e-com-net.com/image/info10/13d061ab4a1f4286a37c56eddc238198.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info10/13d061ab4a1f4286a37c56eddc238198.jpg" width="650" height="468" alt="Python爬虫: 抓取One网页上的每日一话和图_第4张图片" style="border:1px solid black;"></a> </div> </div> <div class="image-caption"> 终端示例 </div> </div> <p>等等,之后我们还需要并发和保存文件。在此之前,先来看点别的。map函数有两个参数,一个是函数,一个是序列。将序列的每个值,作为参数传递给函数,返回一个列表。参考这里<br> 示例:</p> <pre><code class="python">def echoInfo(num): return num data = map(echoInfo, range(0,10)) print data </code></pre> <p>结果: <code>[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]</code><br> 然后并发, python可以跨平台使用,自身提供了多进程支持模块:multiprocessing。而pool可以用来创建大量的子进程。<br> 保存数据到文件。这里我们是吧数据解析后存储到字典中,然后序列化为JSON模型,最后保存到文件的。<br> 即:字典->JSON模型->存储到文件。<br> 字典->JSON模型,使用的是JSON模块的json.dumps方法,该方法有一个参数,参数为字典,返回值是JSON字符串。<br> JSON模型->文件,使用的是json.load方法,可以将JSON存储到文件中。</p> <p>全部的代码示例如下:</p> <pre><code class="python">import argparse import re from multiprocessing import Pool import requests import bs4 import time import json import io root_url = 'http://wufazhuce.com' def get_url(num): return root_url + '/one/' + str(num) def get_urls(num): urls = map(get_url, range(100,100+num)) return urls def get_data(url): dataList = {} response = requests.get(url) if response.status_code != 200: return {'noValue': 'noValue'} soup = bs4.BeautifulSoup(response.text,"html.parser") dataList["index"] = soup.title.string[4:7] for meta in soup.select('meta'): if meta.get('name') == 'description': dataList["content"] = meta.get('content') dataList["imgUrl"] = soup.find_all('img')[1]['src'] return dataList if __name__=='__main__': pool = Pool(4) dataList = [] urls = get_urls(10) start = time.time() dataList = pool.map(get_data, urls) end = time.time() print 'use: %.2f s' % (end - start) jsonData = json.dumps({'data':dataList}) with open('data.txt', 'w') as outfile: json.dump(jsonData, outfile) </code></pre> </article> </div> </div> </div> <!--PC和WAP自适应版--> <div id="SOHUCS" sid="1211999350218133504"></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">你可能感兴趣的:(Python爬虫: 抓取One网页上的每日一话和图)</h4> <div id="paradigm-article-related"> <div class="recommend-post mb30"> <ul class="widget-links"> <li><a href="/article/1946400241834061824.htm" title="AI应用服务" target="_blank">AI应用服务</a> <span class="text-muted">SUPER5266</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大模型--AI应用,该如何和前端交互,呈现llm模型答复内容呢?向LLM大模型提问后,系统得先识别问题,再从数据网络找信息,接着推理出正确结果,还得防止模型“胡编乱造”(控制模型幻想)。有时多个智能体(agent)要一起处理,结果还得融合。这些步骤都是异步进行的,没法像传统应用接口那样实时出结果。为减少大模型结果延迟、提升用户体验,我们提供以下方案。方案1、轮询后端pedding结果到db或其</div> </li> <li><a href="/article/1946400204030799872.htm" title="《流量池》读书笔记2-品牌是最稳定的流量池A" target="_blank">《流量池》读书笔记2-品牌是最稳定的流量池A</a> <span class="text-muted">萌梦萌萌</span> <div>在互联网已规模化的时代,传统主流媒体的品牌营销应结合精准导向的效果营销。让用户在接收到广告时,增加了一个闭环型动作—不仅能看到,还能立即在手机端点击购买,实现流量的即刻转化。品牌广告要增加购买变现的动作,要追求效果,而不能只以纯品牌为借口,不注重转化。从流量池的角度看,品牌不仅是心智占有和信任背书,而且品牌本身恰恰是巨大的流量池,通过关注和“粉丝”,获取源源不断的流量,也就是品牌即流量。让定位更有</div> </li> <li><a href="/article/1946400205293285376.htm" title="2019.4.10" target="_blank">2019.4.10</a> <span class="text-muted">汤圆皮皮虾</span> <div>忆江南江南好,风景旧曾谙。日出江花红胜火,春来江水绿如蓝。能不忆江南?今天带小朋友们一起走进江南水乡,领略江南水乡的美。江南,长江中下游以南,先秦时期,江南属汉地九州,被中原称为“吴越”。以才子佳人、富庶水乡、繁荣发达著称。今天汤圆老师先带小朋友们欣赏了几张江南的风景照,认识江南建筑,江南建筑是汉族传统民居建筑的重要组成部分,以木梁承重,以砖、石、土砌护墙;以堂屋为中心,以雕梁画栋和装饰屋顶、檐口</div> </li> <li><a href="/article/1946400206576742400.htm" title="摘抄" target="_blank">摘抄</a> <span class="text-muted">苍鹭先生</span> <div>河流在转弯的时候是有梦的它喊天空,把天空喊蓝了,也不答应我怀疑河流的那些弯是它自己喊出来的一条河流一旦有弯了就不停地做梦大鱼是大梦,小鱼是小梦涟漪一放松,就变成了蜻蜓河流在转弯的时候遇见蝴蝶一个人一扭头看到了自己的前生走在河的左边,也走在河的右边不能说出蝴蝶的性别,相对于天空它是女的;较之于大地,它又是男的河流转弯的时候遇见蝴蝶在天地之间不停地飞着越飞……越像一只蝴蝶倘若飞累了,整条河流都会因之而</div> </li> <li><a href="/article/1946400076968554496.htm" title="为何淘宝天猫商家都愿意亏本做优惠券直播营销活动?" target="_blank">为何淘宝天猫商家都愿意亏本做优惠券直播营销活动?</a> <span class="text-muted">氧惠评测</span> <div>一些卖家现在选择做亏本发放优惠券活动的原因可能有很多,以下是其中一些可能的因素:氧惠APP是与以往完全不同的抖客+淘客app!2024全新模式,我的直推也会放到你下面。主打:带货高补贴,深受各位带货团队长喜爱(训练营导师每天出单带货几万单)。注册即可享受高补贴+0撸+捡漏等带货新体验。送万元推广大礼包,教你如何1年做到百万团队。珊珊导师氧惠邀请码888999,注册送万元推广大礼包,教你如何1年做到</div> </li> <li><a href="/article/1946399948488634368.htm" title="闲不住" target="_blank">闲不住</a> <span class="text-muted">习习暖风</span> <div>昨天前天都锻炼了,强度比较大,今天刻意修整一天。中午给儿子买了爱吃的烤鸭,我也好久没吃了,痛痛快快吃一顿,还不解馋,晚上又吃一顿,好开心!我承认,在减肥这条路上我是持久不了,因为我不挑食,尤其喜欢汤汤水水啊肉啊之类。打开始锻炼的时候,我也没有控制饮食,总感觉吃的不开心,一天心里头都不得劲。这也有可能就是我体重稳稳地在53kg不动的原因了吧。虽然减肥的意念不强,但是运动锻炼可是认真的,都快上瘾了。晚</div> </li> <li><a href="/article/1946399949679816704.htm" title="对生命说是1226" target="_blank">对生命说是1226</a> <span class="text-muted">鲁伟竹原爱</span> <div>如何体验所谓不想要的情绪一一生气关于生气,让我回忆起十几年的事,很好的友人吧。曾经有人让我生气,让我怒不可遏的事,年轻气盛的我真想找他们取回公道,那时让我抑郁一段时间。后来她的气性太大,得了乳腺癌,我又很是同情她,我们之间的所有恩怨全部消化掉了,她的病让我一点不吃惊,因她的所做所为造成的。后期在医院陪她几天,发现她对我之前态度还是很愧疚,这段时间拉近我们的关系,发现原谅一个人,心情很是释然愉悦的!</div> </li> <li><a href="/article/1946399947372949504.htm" title="这孩子有被迫害妄想症吗?" target="_blank">这孩子有被迫害妄想症吗?</a> <span class="text-muted">魏文通</span> <div>第十八章:方楠的眼神一下子开始飘忽不定,冷白皮的小脸通红,真是好受......艹,想多了,方楠好像是个攻来着。真是白瞎了东方朔一个霸道总裁,居然是个受......总裁受和保镖攻,真是,多好的灵感,要不是怕主线剧情太散,还怕护着女主的人太少,所以硬生生的把人家弄成了单恋线。我真不是一个合格的亲妈,女主也真是太没用了。“虽然这件事情难以置信,但是你不用害羞,我都明白,喜欢一个人,自然是心底欢喜,但是又</div> </li> <li><a href="/article/1946399863897911296.htm" title="手撕Spring底层系列之:后置处理器“PostProcessor”" target="_blank">手撕Spring底层系列之:后置处理器“PostProcessor”</a> <span class="text-muted">Xxtaoaooo</span> <a class="tag" taget="_blank" href="/search/Spring%E5%BA%95%E5%B1%82%E7%B3%BB%E5%88%97/1.htm">Spring底层系列</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/%E5%90%8E%E7%AB%AF/1.htm">后端</a><a class="tag" taget="_blank" href="/search/Spring%E5%BA%95%E5%B1%82/1.htm">Spring底层</a><a class="tag" taget="_blank" href="/search/%E6%BA%90%E7%A0%81%E5%89%96%E6%9E%90/1.htm">源码剖析</a> <div>人们眼中的天才之所以卓越非凡,并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。————马尔科姆·格拉德威目录一、后置处理器的概念1.1核心定义1.2两大核心对比1.3设计价值二、Bean生命周期扩展时机2.1执行步骤与实例化体现三、内置后置处理器解析3.1五大核心处理器职责3.2AOP代理创建流程四、总结嗨,我是Xxtaoaooo!本系列将用源码解剖+拆分</div> </li> <li><a href="/article/1946399567167680512.htm" title="500元能购买什么配置的云服务器?阿里云500元以内的云服务器汇总" target="_blank">500元能购买什么配置的云服务器?阿里云500元以内的云服务器汇总</a> <span class="text-muted">阿里云最新优惠和活动汇总</span> <div>500元以内的预算可以买到阿里云的云服务器活动中的入门级云服务器以及部分配置比较低的企业级云服务器,个人新用户和企业新用户的购买价格还不完全一样,企业新用户的价格要略低于个人新用户,相对来说注册企业新用户购买阿里云服务器便宜,目前阿里云活动中价格在500元以内云服务器配置主要下面几款:1、500元以内的共享型实例云服务器500以内云服务器图.png如上图所示,目前500元预算可以买到6款共享型实例</div> </li> <li><a href="/article/1946399438620651520.htm" title="抖音变现赚钱的方式有哪些?" target="_blank">抖音变现赚钱的方式有哪些?</a> <span class="text-muted">RiceYY123</span> <div>很多小伙伴连自己的抖音账号都还没正确的运作好就开始想着变现。这就好比还未学会走路,就开始想着跑冠军,其实运营好抖音肯定是可以变现的,那抖音变现赚钱的方式有哪些?广告变现。账号内容垂直,粉丝精准高,尤其在美食、搞笑、生活、旅行、美妆等方面有品质的抖音达人,尤其受广告商们的喜爱。播主可以在自己的短视频中根据广告商的需求植入硬广或是软广,常常让刷抖音的观众欲罢不能。广告变现也是抖音官方认可和支持,并且官</div> </li> <li><a href="/article/1946399439929274368.htm" title="今天有点不开心" target="_blank">今天有点不开心</a> <span class="text-muted">北极星的光</span> <div>今天是我们广大妇女的传统节日,别人都在欢天喜地的过节日,晒礼品,而我什么都没有,男朋友就在他们家群里发了一句:祝两位女士妇女节快乐!想问一下有对象或者有老公的女同胞有没有收到礼物的吗?下午我有点不高兴,跟男朋友说起了这件事,我非常难受。他最后勉强发了1314元钱,我给退回了。最近我挺委屈的,想起在他家过年那几天,感觉很难受,很憋屈,一想起来就睡不着觉。以前他说他很有仪式感,承诺的工资上交给我,但是</div> </li> <li><a href="/article/1946399360115863552.htm" title="后端如何接收数据?详解8种HTTP请求方式及SpringBoot代码实现" target="_blank">后端如何接收数据?详解8种HTTP请求方式及SpringBoot代码实现</a> <span class="text-muted">Xxtaoaooo</span> <a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/spring/1.htm">spring</a><a class="tag" taget="_blank" href="/search/boot/1.htm">boot</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>人们眼中的天才之所以卓越非凡,并非天资超人一等而是付出了持续不断的努力。1万小时的锤炼是任何人从平凡变成超凡的必要条件。————马尔科姆·格拉德威尔目录一、RequestPayload(JSON/XML等结构化数据)二、QueryStringParameters(URL参数)三、FormData(表单数据)四、PathVariables(路径参数)五、Headers(请求头)六、Cookies七、</div> </li> <li><a href="/article/1946399233682763776.htm" title="AI Agent从零到精通:深度解析Workflow、Prompt、Multi-Agent Systems和RL Training" target="_blank">AI Agent从零到精通:深度解析Workflow、Prompt、Multi-Agent Systems和RL Training</a> <span class="text-muted">爱看烟花的码农</span> <a class="tag" taget="_blank" href="/search/AIGC/1.htm">AIGC</a><a class="tag" taget="_blank" href="/search/NLP/1.htm">NLP</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/prompt/1.htm">prompt</a> <div>1.AI智能体简介:从概念到应用1.1什么是AI智能体?AI智能体是一种自主智能体,能够根据用户输入的目标,自主规划、执行和优化任务,最终生成结果。它不同于传统聊天模型(如ChatGPT)的单次回答能力,而是能处理多步骤、工具依赖、动态调整的复杂任务。例如:任务:用户要求“撰写一篇关于AI伦理的文章”。智能体行为:搜索资料、整理信息、撰写草稿、校对优化,全程无需用户干预。制造业场景(ManuS):</div> </li> <li><a href="/article/1946398981546373120.htm" title="Leetcode3202. 找出有效子序列的最大长度 II" target="_blank">Leetcode3202. 找出有效子序列的最大长度 II</a> <span class="text-muted"></span> <div>EverydayaLeetcode题目来源:3202.找出有效子序列的最大长度II解法1:动态规划本题是选与不选的子序列问题,可以尝试给出这样的状态定义:dp[i][j]:以nums[i]结尾模k后值为j的最长子序列的长度。那么状态转移方程是怎样的呢?对于每一个i,遍历j(0&nums,intk){intn=nums.size();//dp[i][j]:以nums[i]结尾模k后值为j的最长子序列</div> </li> <li><a href="/article/1946398932653371392.htm" title="2019-6-29晨间日记" target="_blank">2019-6-29晨间日记</a> <span class="text-muted">御风_1319</span> <div>今天是什么日子起床:7.30就寝:24.35天气:晴心情:困倦相伴,无精打采纪念日:无任务清单昨日完成的任务,最重要的三件事:没有哦!反而忘记洗澡了!都说臭男人,可能就是说我这种人。改进:不要再得过且过啦习惯养成:每天坚持做一件事,日子久了,一定会有收获。比如写日记,增强执行力周目标·完成进度输了一万多!悔不当初!感觉人生毁了学习·信息·阅读在喜马拉雅有声平台听听书说说书,比如说牧尘客的《帝国吃相</div> </li> <li><a href="/article/1946398804215394304.htm" title="SDM(superviseddescentmethod)人脸特征点训练" target="_blank">SDM(superviseddescentmethod)人脸特征点训练</a> <span class="text-muted">ce0b74704937</span> <div>SDM方法是13年在文章《SupervisedDescentMethodanditsApplicationstoFaceAlignment》提出的,github上一个大牛根据文章《RandomCascaded-RegressionCopseforRobustFacialLandmarkDetection》的方法利用SDM的思想实现了人脸特征点检测的任务。SDM方法有点老,但是今天啥也不想干了,又有</div> </li> <li><a href="/article/1946398805473685504.htm" title="人到中年全靠忍" target="_blank">人到中年全靠忍</a> <span class="text-muted">泥称不昵</span> <div>发现最近自己的身体差了很多,是因为上半年打新冠疫苗,好几次公司组织了集体打疫苗,我都因为感冒服头孢,牙痛服抗生素等原因不能参与。拖到五月,把两针变成第三针,尽管不晓得这里面有什么区别,但多了很多麻烦是真的。夏天来临,一动就是汗水。我把原因归纳为天气,可天气似乎也不是好热,但我还是经常出汗,不晓得是不是更年期,或者体虚。早点起床看见深夜儿子发来的微信,要给老师发一条短信,声明出去学驾校,有什么事跟学</div> </li> <li><a href="/article/1946398476602503168.htm" title="Python - 数据分析三剑客之Pandas" target="_blank">Python - 数据分析三剑客之Pandas</a> <span class="text-muted">MinggeQingchun</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/Pandas/1.htm">Pandas</a> <div>阅读前可参考NumPy文章https://blog.csdn.net/MinggeQingchun/article/details/148253682https://blog.csdn.net/MinggeQingchun/article/details/148253682‌Pandas是Python中一个强大的开源数据分析库,专门用于处理结构化数据(如表格、时间序列等),其核心数据结构为Seri</div> </li> <li><a href="/article/1946398477617524736.htm" title="如何抉择HTTPS&Proxy?" target="_blank">如何抉择HTTPS&Proxy?</a> <span class="text-muted">彬彬醤</span> <a class="tag" taget="_blank" href="/search/https/1.htm">https</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C%E5%8D%8F%E8%AE%AE/1.htm">网络协议</a><a class="tag" taget="_blank" href="/search/http/1.htm">http</a><a class="tag" taget="_blank" href="/search/%E7%BD%91%E7%BB%9C/1.htm">网络</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</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/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a> <div>HTTPS(超文本传输安全协议)通过TLS/SSL加密保护数据传输,而Proxy(也就是我们常说的网络代理)作为网络中间节点转发请求,二者结合形成“加密传输+灵活转发”的双重保障。这种协同机制的核心价值在于:安全增强:HTTPS加密避免数据被窃听或篡改,代理隐藏真实IP降低直接攻击风险;访问控制:通过代理实现跨地域访问,同时HTTPS确保代理节点与客户端/目标服务器的通信安全。无论是企业跨境数据传</div> </li> <li><a href="/article/1946398350278455296.htm" title="【UVM基础】uvm_resource_db 使用介绍" target="_blank">【UVM基础】uvm_resource_db 使用介绍</a> <span class="text-muted">MoorePlus</span> <a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97IC%E9%AA%8C%E8%AF%81%E7%99%BE%E5%AE%9D%E7%AE%B1/1.htm">数字IC验证百宝箱</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97IC/1.htm">数字IC</a><a class="tag" taget="_blank" href="/search/%E8%8A%AF%E7%89%87%E9%AA%8C%E8%AF%81/1.htm">芯片验证</a><a class="tag" taget="_blank" href="/search/SV/1.htm">SV</a><a class="tag" taget="_blank" href="/search/UVM/1.htm">UVM</a> <div>文章目录介绍uvm_resource_db使用uvm_resource_db类声明:uvm_resource_db类方法uvm_resource_db::set方法uvm_resource_db::read_by_type方法介绍uvm_resource_db类为资源工具提供了一个方便的接口。在许多情况下,创建和设置资源或获取资源等基本操作可能需要使用uvm_resource_base或uvm_r</div> </li> <li><a href="/article/1946398223941824512.htm" title="基于按键开源MultiButton框架深入理解代码框架(三)(指针的深入理解与应用)" target="_blank">基于按键开源MultiButton框架深入理解代码框架(三)(指针的深入理解与应用)</a> <span class="text-muted">慈悲不渡自绝的人</span> <a class="tag" taget="_blank" href="/search/%E5%BC%80%E6%BA%90%E9%A1%B9%E7%9B%AE%E8%A7%A3%E8%AF%BB/1.htm">开源项目解读</a><a class="tag" taget="_blank" href="/search/c%E8%AF%AD%E8%A8%80/1.htm">c语言</a><a class="tag" taget="_blank" href="/search/arm%E5%BC%80%E5%8F%91/1.htm">arm开发</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/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/stm32/1.htm">stm32</a><a class="tag" taget="_blank" href="/search/51%E5%8D%95%E7%89%87%E6%9C%BA/1.htm">51单片机</a> <div>文章目录3、分析代码3.3按键的插入3.4按键的删除3.5继续分析状态机核心理解4、写在最后的总结5、思想感悟篇6、慈悲不渡自绝人3、分析代码3.3按键的插入//ButtonhandlelistheadstaticButton*head_handle=NULL;/***@briefStartthebuttonwork,addthehandleintoworklist*@paramhandle:ta</div> </li> <li><a href="/article/1946397916763582464.htm" title="2018-04-08" target="_blank">2018-04-08</a> <span class="text-muted">viper44</span> <div>科技就是将复杂的事情简单化,所以智能手机的出现显著降低了我们学习的难度,只要善于使用搜索引擎,几乎能够获得所有的知识,而我们利用这些工具的姿势,会反过来决定我们未来的走向,所以一定不能做伸手党,能查到东西尽量自己去搜索,网上有很多现成的成功,我们要善于搜索,把节约的时间拿去干别的事生活中会面临很多突发状况,要如何才能从容面对呢,培养急智的最简单的方法就是列举出所有可能出现的问题,并对它们制定一些相</div> </li> <li><a href="/article/1946397845439442944.htm" title="RabbitMQ深度解析:从核心概念到实战应用" target="_blank">RabbitMQ深度解析:从核心概念到实战应用</a> <span class="text-muted">JouJz</span> <a class="tag" taget="_blank" href="/search/rabbitmq/1.htm">rabbitmq</a><a class="tag" taget="_blank" href="/search/ruby/1.htm">ruby</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a> <div>RabbitMQ深度解析:从核心概念到实战应用引言:现代分布式系统的通信枢纽在当今复杂的分布式系统架构中,消息队列已成为不可或缺的基础组件。作为最受欢迎的开源消息代理之一,RabbitMQ以其可靠性、灵活性和跨平台能力赢得了广泛青睐。本文将全面剖析RabbitMQ的核心机制、工作模式及高级特性,帮助开发者掌握这一强大的异步通信工具。一、RabbitMQ核心概念解析1.1基本架构模型RabbitMQ</div> </li> <li><a href="/article/1946397845913399296.htm" title="Kafka深度解析:架构、原理与应用实践" target="_blank">Kafka深度解析:架构、原理与应用实践</a> <span class="text-muted">JouJz</span> <a class="tag" taget="_blank" href="/search/kafka/1.htm">kafka</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84/1.htm">架构</a><a class="tag" taget="_blank" href="/search/linq/1.htm">linq</a> <div>Kafka深度解析:架构、原理与应用实践引言在现代分布式系统架构中,消息队列作为系统解耦、异步通信的核心组件发挥着至关重要的作用。而在众多消息队列解决方案中,ApacheKafka凭借其卓越的性能、高吞吐量和可靠性,已成为企业级数据管道的首选技术。本文将深入剖析Kafka的核心架构、工作原理以及实践应用,帮助开发者全面掌握这一强大的分布式消息系统。一、Kafka概述与核心概念1.1Kafka的诞生</div> </li> <li><a href="/article/1946397789617451008.htm" title="是爱笑的女孩运气好,还是运气好的女孩才会笑?" target="_blank">是爱笑的女孩运气好,还是运气好的女孩才会笑?</a> <span class="text-muted">周小周鹅仔</span> <div>送孩子去游泳吧,看那些游泳运动员身材练的多好。送孩子去打篮球吧,打篮球能长高。送孩子...停!您怕是“误会”了游泳身材好和打篮球长的高这两件事,你以为游泳和打球可以练出身材、长高高。而真正的事实是,那些人因为身材好,在水里的阻力小,才会被选去游泳队。篮球运动员也是因为长得高,在比赛中会占据优势才会被选去篮球队。明白了吗?您倒果为因了,这带来的结果就是,您的预期只是妄念。这样说来,有这样一句话——“</div> </li> <li><a href="/article/1946397661049450496.htm" title="挑战一千天演讲打卡第148天" target="_blank">挑战一千天演讲打卡第148天</a> <span class="text-muted">果率陈菊芳</span> <div>哈喽大家好!我是你们的好朋友陈菊芳!今天是2021.09.15号是我挑战一千天演讲打卡第148!我们有时候是不是觉得说起来容易做起来难!如果我们觉得做起来很难,那么我们要对孩子有同理心,如果孩子形成了一些固有的思维,或者是一个习惯,改起来确实很不容易。我们作为成人,是不是比孩子们的意志力、自律、自控这方面好很多,可是我们仍然有很多在目标计划面前,我们也有很多失败的过程,也没有完成的经历。孩子现在面</div> </li> <li><a href="/article/1946396895798685696.htm" title="祈愿灯下的爱恋(第三十七章 挑战恶魔1)" target="_blank">祈愿灯下的爱恋(第三十七章 挑战恶魔1)</a> <span class="text-muted">如意2020</span> <div>花蕊回宿舍前先到超市买了几罐啤酒,而后坐在自己的床铺上喝了起来。尽管在顾老师家早早地吃过晚饭,可是她很想喝酒,也许醉了就不痛苦了。正在上网的何莲香好奇道:“花蕊,你怎么了?居然喝起酒来?是不是发生了什么?”花蕊摇头,叹了口气。何莲香不好再问继续上网。而在一旁刺十字绣的张燕斜眼看了一眼花蕊,却似笑非笑:“唉!人要是艳遇太多,当然会愁的,是不是呀?花美女!”沈小璐听见此话立刻放下书:“花大美女,他们都</div> </li> <li><a href="/article/1946396896989868032.htm" title="风水轮流转" target="_blank">风水轮流转</a> <span class="text-muted">可桐</span> <div>芸芸众生,各有命运。三十年河东,三十年河西。风水轮流转。今天你爱答不理的,明天你可能高攀不起。曾经风光无限春风得意的,如今可能跌落谷底失魂落魄。曾经帅气逼人英俊潇洒的,如今可能大腹便便头发稀疏。曾经默默无闻内向孤僻的,如今可能厚积薄发一飞冲天。你以为他过得很悲催,人家的幸福指数比你高还未必。你以为她过得风光无限,也许背地里是一地鸡毛蒜皮。有些人,你以为她修养很高,其实她可能瞧不起你也不一定。有些人</div> </li> <li><a href="/article/1946396838177337344.htm" title="2.3 前端-ts的接口以及自定义类型" target="_blank">2.3 前端-ts的接口以及自定义类型</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/%E5%89%8D%E7%AB%AF/1.htm">前端</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>接口接口定义:exportinterfacePerson{id:string,name:string,gender:number}接口引用:符号:意义是类型注解符号,声明变量类型,编译器可以进行类型检查。//导入的type前缀一定得加import{typePerson}from'...';letp:Person={id:'253465',name:'arfwf',gender:1};//或者复杂的</div> </li> <li><a href="/article/83.htm" title="java线程的无限循环和退出" target="_blank">java线程的无限循环和退出</a> <span class="text-muted">3213213333332132</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>最近想写一个游戏,然后碰到有关线程的问题,网上查了好多资料都没满足。 突然想起了前段时间看的有关线程的视频,于是信手拈来写了一个线程的代码片段。 希望帮助刚学java线程的童鞋 package thread; import java.text.SimpleDateFormat; import java.util.Calendar; import java.util.Date</div> </li> <li><a href="/article/210.htm" title="tomcat 容器" target="_blank">tomcat 容器</a> <span class="text-muted">BlueSkator</span> <a class="tag" taget="_blank" href="/search/tomcat/1.htm">tomcat</a><a class="tag" taget="_blank" href="/search/Web/1.htm">Web</a><a class="tag" taget="_blank" href="/search/servlet/1.htm">servlet</a> <div>Tomcat的组成部分 1、server A Server element represents the entire Catalina servlet container. (Singleton) 2、service service包括多个connector以及一个engine,其职责为处理由connector获得的客户请求。   3、connector 一个connector</div> </li> <li><a href="/article/337.htm" title="php递归,静态变量,匿名函数使用" target="_blank">php递归,静态变量,匿名函数使用</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a><a class="tag" taget="_blank" href="/search/%E9%80%92%E5%BD%92%E5%87%BD%E6%95%B0/1.htm">递归函数</a><a class="tag" taget="_blank" href="/search/%E5%8C%BF%E5%90%8D%E5%87%BD%E6%95%B0/1.htm">匿名函数</a><a class="tag" taget="_blank" href="/search/%E9%9D%99%E6%80%81%E5%8F%98%E9%87%8F/1.htm">静态变量</a><a class="tag" taget="_blank" href="/search/%E5%BC%95%E7%94%A8%E4%BC%A0%E5%8F%82/1.htm">引用传参</a> <div>  <!doctype html> <html lang="en"> <head> <meta charset="utf-8"> <title>Current To-Do List</title> </head> <body></div> </li> <li><a href="/article/464.htm" title="属性颜色字体变化" target="_blank">属性颜色字体变化</a> <span class="text-muted">周华华</span> <a class="tag" taget="_blank" href="/search/JavaScript/1.htm">JavaScript</a> <div>function changSize(className){ var diva=byId("fot") diva.className=className; } </script> <style type="text/css"> .max{ background: #900; color:#039; </div> </li> <li><a href="/article/591.htm" title="将properties内容放置到map中" target="_blank">将properties内容放置到map中</a> <span class="text-muted">g21121</span> <a class="tag" taget="_blank" href="/search/properties/1.htm">properties</a> <div>代码比较简单: private static Map<Object, Object> map; private static Properties p; static { //读取properties文件 InputStream is = XXX.class.getClassLoader().getResourceAsStream("xxx.properti</div> </li> <li><a href="/article/718.htm" title="[简单]拼接字符串" target="_blank">[简单]拼接字符串</a> <span class="text-muted">53873039oycg</span> <a class="tag" taget="_blank" href="/search/%E5%AD%97%E7%AC%A6%E4%B8%B2/1.htm">字符串</a> <div>         工作中遇到需要从Map里面取值拼接字符串的情况,自己写了个,不是很好,欢迎提出更优雅的写法,代码如下:           import java.util.HashMap; import java.uti</div> </li> <li><a href="/article/845.htm" title="Struts2学习" target="_blank">Struts2学习</a> <span class="text-muted">云端月影</span> <div>最近开始关注struts2的新特性,从这个版本开始,Struts开始使用convention-plugin代替codebehind-plugin来实现struts的零配置。 配置文件精简了,的确是简便了开发过程,但是,我们熟悉的配置突然disappear了,真是一下很不适应。跟着潮流走吧,看看该怎样来搞定convention-plugin。 使用Convention插件,你需要将其JAR文件放</div> </li> <li><a href="/article/972.htm" title="Java新手入门的30个基本概念二" target="_blank">Java新手入门的30个基本概念二</a> <span class="text-muted">aijuans</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%96%B0%E6%89%8B/1.htm">新手</a><a class="tag" taget="_blank" href="/search/java+%E5%85%A5%E9%97%A8/1.htm">java 入门</a> <div>基本概念:  1.OOP中唯一关系的是对象的接口是什么,就像计算机的销售商她不管电源内部结构是怎样的,他只关系能否给你提供电就行了,也就是只要知道can or not而不是how and why.所有的程序是由一定的属性和行为对象组成的,不同的对象的访问通过函数调用来完成,对象间所有的交流都是通过方法调用,通过对封装对象数据,很大限度上提高复用率。  2.OOP中最重要的思想是类,类是模板是蓝图,</div> </li> <li><a href="/article/1099.htm" title="jedis 简单使用" target="_blank">jedis 简单使用</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/redis/1.htm">redis</a><a class="tag" taget="_blank" href="/search/cache/1.htm">cache</a><a class="tag" taget="_blank" href="/search/command/1.htm">command</a><a class="tag" taget="_blank" href="/search/jedis/1.htm">jedis</a> <div>jedis.RedisOperationCollection.java package jedis; import org.apache.log4j.Logger; import redis.clients.jedis.Jedis; import java.util.List; import java.util.Map; import java.util.Set; pub</div> </li> <li><a href="/article/1226.htm" title="PL/SQL的函数和包体的基础" target="_blank">PL/SQL的函数和包体的基础</a> <span class="text-muted">百合不是茶</span> <a class="tag" taget="_blank" href="/search/PL%2FSQL%E7%BC%96%E7%A8%8B%E5%87%BD%E6%95%B0/1.htm">PL/SQL编程函数</a><a class="tag" taget="_blank" href="/search/%E5%8C%85%E4%BD%93%E6%98%BE%E7%A4%BA%E5%8C%85%E7%9A%84%E5%85%B7%E4%BD%93%E6%95%B0%E6%8D%AE/1.htm">包体显示包的具体数据</a><a class="tag" taget="_blank" href="/search/%E5%8C%85/1.htm">包</a> <div>由于明天举要上课,所以刚刚将代码敲了一遍PL/SQL的函数和包体的实现(单例模式过几天好好的总结下再发出来);以便明天能更好的学习PL/SQL的循环,今天太累了,所以早点睡觉,明天继续PL/SQL总有一天我会将你永远的记载在心里,,,   函数; 函数:PL/SQL中的函数相当于java中的方法;函数有返回值 定义函数的 --输入姓名找到该姓名的年薪 create or re</div> </li> <li><a href="/article/1353.htm" title="Mockito(二)--实例篇" target="_blank">Mockito(二)--实例篇</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/%E6%8C%81%E7%BB%AD%E9%9B%86%E6%88%90/1.htm">持续集成</a><a class="tag" taget="_blank" href="/search/mockito/1.htm">mockito</a><a class="tag" taget="_blank" href="/search/%E5%8D%95%E5%85%83%E6%B5%8B%E8%AF%95/1.htm">单元测试</a> <div>        学习了基本知识后,就可以实战了,Mockito的实际使用还是比较麻烦的。因为在实际使用中,最常遇到的就是需要模拟第三方类库的行为。         比如现在有一个类FTPFileTransfer,实现了向FTP传输文件的功能。这个类中使用了a</div> </li> <li><a href="/article/1480.htm" title="精通Oracle10编程SQL(7)编写控制结构" target="_blank">精通Oracle10编程SQL(7)编写控制结构</a> <span class="text-muted">bijian1013</span> <a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E5%BA%93/1.htm">数据库</a><a class="tag" taget="_blank" href="/search/plsql/1.htm">plsql</a> <div>/* *编写控制结构 */ --条件分支语句 --简单条件判断 DECLARE v_sal NUMBER(6,2); BEGIN select sal into v_sal from emp where lower(ename)=lower('&name'); if v_sal<2000 then update emp set</div> </li> <li><a href="/article/1607.htm" title="【Log4j二】Log4j属性文件配置详解" target="_blank">【Log4j二】Log4j属性文件配置详解</a> <span class="text-muted">bit1129</span> <a class="tag" taget="_blank" href="/search/log4j/1.htm">log4j</a> <div>如下是一个log4j.properties的配置   log4j.rootCategory=INFO, stdout , R log4j.appender.stdout=org.apache.log4j.ConsoleAppender log4j.appender.stdout.layout=org.apache.log4j.PatternLayout log4j.appe</div> </li> <li><a href="/article/1734.htm" title="java集合排序笔记" target="_blank">java集合排序笔记</a> <span class="text-muted">白糖_</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a> <div>public class CollectionDemo implements Serializable,Comparable<CollectionDemo>{ private static final long serialVersionUID = -2958090810811192128L; private int id; private String nam</div> </li> <li><a href="/article/1861.htm" title="java导致linux负载过高的定位方法" target="_blank">java导致linux负载过高的定位方法</a> <span class="text-muted">ronin47</span> <div>定位java进程ID 可以使用top或ps -ef |grep java ![图片描述][1] 根据进程ID找到最消耗资源的java pid 比如第一步找到的进程ID为5431 执行 top -p 5431 -H ![图片描述][2] 打印java栈信息 $ jstack -l 5431 > 5431.log 在栈信息中定位具体问题 将消耗资源的Java PID转</div> </li> <li><a href="/article/1988.htm" title="给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数" target="_blank">给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数</a> <span class="text-muted">bylijinnan</span> <a class="tag" taget="_blank" href="/search/%E5%87%BD%E6%95%B0/1.htm">函数</a> <div> import java.util.ArrayList; import java.util.List; import java.util.Random; public class RandNFromRand5 { /** 题目:给定能随机生成整数1到5的函数,写出能随机生成整数1到7的函数。 解法1: f(k) = (x0-1)*5^0+(x1-</div> </li> <li><a href="/article/2115.htm" title="PL/SQL Developer保存布局" target="_blank">PL/SQL Developer保存布局</a> <span class="text-muted">Kai_Ge</span> <div>      近日由于项目需要,数据库从DB2迁移到ORCAL,因此数据库连接客户端选择了PL/SQL Developer。由于软件运用不熟悉,造成了很多麻烦,最主要的就是进入后,左边列表有很多选项,自己删除了一些选项卡,布局很满意了,下次进入后又恢复了以前的布局,很是苦恼。在众多PL/SQL Developer使用技巧中找到如下这段:   &n</div> </li> <li><a href="/article/2242.htm" title="[未来战士计划]超能查派[剧透,慎入]" target="_blank">[未来战士计划]超能查派[剧透,慎入]</a> <span class="text-muted">comsci</span> <a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a> <div>       非常好看,超能查派,这部电影......为我们这些热爱人工智能的工程技术人员提供一些参考意见和思想........        虽然电影里面的人物形象不是非常的可爱....但是非常的贴近现实生活....    &nbs</div> </li> <li><a href="/article/2369.htm" title="Google Map API V2" target="_blank">Google Map API V2</a> <span class="text-muted">dai_lm</span> <a class="tag" taget="_blank" href="/search/google+map/1.htm">google map</a> <div>以后如果要开发包含google map的程序就更麻烦咯 http://www.cnblogs.com/mengdd/archive/2013/01/01/2841390.html 找到篇不错的文章,大家可以参考一下 http://blog.sina.com.cn/s/blog_c2839d410101jahv.html 1. 创建Android工程 由于v2的key需要G</div> </li> <li><a href="/article/2496.htm" title="java数据计算层的几种解决方法2" target="_blank">java数据计算层的几种解决方法2</a> <span class="text-muted">datamachine</span> <a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E9%9B%86%E7%AE%97%E5%99%A8/1.htm">集算器</a> <div>2、SQL     SQL/SP/JDBC在这里属于一类,这是老牌的数据计算层,性能和灵活性是它的优势。但随着新情况的不断出现,单纯用SQL已经难以满足需求,比如: JAVA开发规模的扩大,数据量的剧增,复杂计算问题的涌现。虽然SQL得高分的指标不多,但都是权重最高的。     成熟度:5星。最成熟的。   </div> </li> <li><a href="/article/2623.htm" title="Linux下Telnet的安装与运行" target="_blank">Linux下Telnet的安装与运行</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/linux/1.htm">linux</a><a class="tag" taget="_blank" href="/search/telnet/1.htm">telnet</a> <div> Linux下Telnet的安装与运行   linux默认是使用SSH服务的 而不安装telnet服务  如果要使用telnet 就必须先安装相应的软件包  即使安装了软件包 默认的设置telnet 服务也是不运行的 需要手工进行设置 如果是redhat9,则在第三张光盘中找到 telnet-server-0.17-25.i386.rpm </div> </li> <li><a href="/article/2750.htm" title="PHP中钩子函数的实现与认识" target="_blank">PHP中钩子函数的实现与认识</a> <span class="text-muted">dcj3sjt126com</span> <a class="tag" taget="_blank" href="/search/PHP/1.htm">PHP</a> <div>假如有这么一段程序: function fun(){ fun1(); fun2(); }   首先程序执行完fun1()之后执行fun2()然后fun()结束。   但是,假如我们想对函数做一些变化。比如说,fun是一个解析函数,我们希望后期可以提供丰富的解析函数,而究竟用哪个函数解析,我们希望在配置文件中配置。这个时候就可以发挥钩子的力量了。   我们可以在fu</div> </li> <li><a href="/article/2877.htm" title="EOS中的WorkSpace密码修改" target="_blank">EOS中的WorkSpace密码修改</a> <span class="text-muted">蕃薯耀</span> <a class="tag" taget="_blank" href="/search/%E4%BF%AE%E6%94%B9WorkSpace%E5%AF%86%E7%A0%81/1.htm">修改WorkSpace密码</a> <div>EOS中BPS的WorkSpace密码修改 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> 蕃薯耀 201</div> </li> <li><a href="/article/3004.htm" title="SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】" target="_blank">SpringMVC4零配置--SpringSecurity相关配置【SpringSecurityConfig】</a> <span class="text-muted">hanqunfeng</span> <a class="tag" taget="_blank" href="/search/SpringSecurity/1.htm">SpringSecurity</a> <div> SpringSecurity的配置相对来说有些复杂,如果是完整的bean配置,则需要配置大量的bean,所以xml配置时使用了命名空间来简化配置,同样,spring为我们提供了一个抽象类WebSecurityConfigurerAdapter和一个注解@EnableWebMvcSecurity,达到同样减少bean配置的目的,如下:   applicationContex</div> </li> <li><a href="/article/3131.htm" title="ie 9 kendo ui中ajax跨域的问题" target="_blank">ie 9 kendo ui中ajax跨域的问题</a> <span class="text-muted">jackyrong</span> <a class="tag" taget="_blank" href="/search/AJAX%E8%B7%A8%E5%9F%9F/1.htm">AJAX跨域</a> <div>这两天遇到个问题,kendo ui的datagrid,根据json去读取数据,然后前端通过kendo ui的datagrid去渲染,但很奇怪的是,在ie 10,ie 11,chrome,firefox等浏览器中,同样的程序, 浏览起来是没问题的,但把应用放到公网上的一台服务器, 却发现如下情况: 1) ie 9下,不能出现任何数据,但用IE 9浏览器浏览本机的应用,却没任何问题 </div> </li> <li><a href="/article/3258.htm" title="不要让别人笑你不能成为程序员" target="_blank">不要让别人笑你不能成为程序员</a> <span class="text-muted">lampcy</span> <a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B/1.htm">编程</a><a class="tag" taget="_blank" href="/search/%E7%A8%8B%E5%BA%8F%E5%91%98/1.htm">程序员</a> <div>在经历六个月的编程集训之后,我刚刚完成了我的第一次一对一的编码评估。但是事情并没有如我所想的那般顺利。 说实话,我感觉我的脑细胞像被轰炸过一样。 手慢慢地离开键盘,心里很压抑。不禁默默祈祷:一切都会进展顺利的,对吧?至少有些地方我的回答应该是没有遗漏的,是不是? 难道我选择编程真的是一个巨大的错误吗——我真的永远也成不了程序员吗? 我需要一点点安慰。在自我怀疑,不安全感和脆弱等等像龙卷风一</div> </li> <li><a href="/article/3385.htm" title="马皇后的贤德" target="_blank">马皇后的贤德</a> <span class="text-muted">nannan408</span> <div>   马皇后不怕朱元璋的坏脾气,并敢理直气壮地吹耳边风。众所周知,朱元璋不喜欢女人干政,他认为“后妃虽母仪天下,然不可使干政事”,因为“宠之太过,则骄恣犯分,上下失序”,因此还特地命人纂述《女诫》,以示警诫。但马皇后是个例外。   有一次,马皇后问朱元璋道:“如今天下老百姓安居乐业了吗?”朱元璋不高兴地回答:“这不是你应该问的。”马皇后振振有词地回敬道:“陛下是天下之父,</div> </li> <li><a href="/article/3512.htm" title="选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)" target="_blank">选择某个属性值最大的那条记录(不仅仅包含指定属性,而是想要什么属性都可以)</a> <span class="text-muted">Rainbow702</span> <a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/group+by/1.htm">group by</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E5%80%BC/1.htm">最大值</a><a class="tag" taget="_blank" href="/search/max/1.htm">max</a><a class="tag" taget="_blank" href="/search/%E6%9C%80%E5%A4%A7%E7%9A%84%E9%82%A3%E6%9D%A1%E8%AE%B0%E5%BD%95/1.htm">最大的那条记录</a> <div>好久好久不写SQL了,技能退化严重啊!!!   直入主题: 比如我有一张表,file_info, 它有两个属性(但实际不只,我这里只是作说明用): file_code, file_version 同一个code可能对应多个version 现在,我想针对每一个code,取得它相关的记录中,version 值 最大的那条记录, SQL如下: select * </div> </li> <li><a href="/article/3639.htm" title="VBScript脚本语言" target="_blank">VBScript脚本语言</a> <span class="text-muted">tntxia</span> <a class="tag" taget="_blank" href="/search/VBScript/1.htm">VBScript</a> <div>  VBScript 是基于VB的脚本语言。主要用于Asp和Excel的编程。   VB家族语言简介   Visual Basic 6.0           源于BASIC语言。           由微软公司开发的包含协助开发环境的事</div> </li> <li><a href="/article/3766.htm" title="java中枚举类型的使用" target="_blank">java中枚举类型的使用</a> <span class="text-muted">xiao1zhao2</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/%E6%9E%9A%E4%B8%BE/1.htm">枚举</a><a class="tag" taget="_blank" href="/search/1.5%E6%96%B0%E7%89%B9%E6%80%A7/1.htm">1.5新特性</a> <div>枚举类型是j2se在1.5引入的新的类型,通过关键字enum来定义,常用来存储一些常量.   1.定义一个简单的枚举类型 public enum Sex { MAN, WOMAN }   枚举类型本质是类,编译此段代码会生成.class文件.通过Sex.MAN来访问Sex中的成员,其返回值是Sex类型.   2.常用方法 静态的values()方</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>