E-COM-NET

  • 首页
  • 在线工具
  • Layui镜像站
  • SUI文档
  • 联系我们
爱学习的潇潇
爱学习的潇潇

使用websocket开发智能聊天机器人

  • 软件测试
  • 自动化测试
  • 技术分享
  • websocket
  • 机器人
  • 网络协议
  • 软件测试
  • 程序人生

今天我们学习websocket技术。

websocket简介

我们知道HTTP协议是:请求->响应,如果没有响应就一直等着,直到超时;但是有时候后台的处理需要很长时间才能给到结果,比如30分钟,那HTTP的请求不可能等这么久,所以,可以通过 Ajax 轮询来解决。那就是每间隔一段时间就请求一次。

使用websocket开发智能聊天机器人_第1张图片

这种传统的模式带来很明显的缺点,即浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。

HTML5 定义的 WebSocket 协议,能更好的节省服务器资源和带宽,并且能够更实时地进行通讯。

使用websocket开发智能聊天机器人_第2张图片

浏览器通过 JavaScript 向服务器发出建立 WebSocket 连接的请求,连接建立以后,客户端和服务器端就可以通过 TCP 连接直接交换数据。

好了,WebSocket就是为了解决这个问题的,感兴趣去看其他资料!

智能聊天机器人

我一开始只是为了学习WebSocket找个例子,不少例子使用了聊天功能。我稍加改进就变成了智能聊天功能了。

使用websocket开发智能聊天机器人_第3张图片

通过异步sanic异步框架实现Web功能。官方文档里面给个WebSocket使用的例子。

https://sanic.readthedocs.io/en/latest/sanic/websocket.html

snaic部分核心代码如下:

import sanic
import httpx
from sanic import Sanic
from sanic.response import json
from sanic.websocket import WebSocketProtocol
from sanic.exceptions import NotFound
from sanic.response import html
from jinja2 import Environment, PackageLoader


env = Environment(loader=PackageLoader('app', 'templates'))

app = Sanic(__name__)


@app.route('/')
async def index(request):
    """
    聊天页面
    """
    template = env.get_template('index.html')
    html_content = template.render(title='聊天机器人')
    return html(html_content)


@app.websocket('/chat')
async def chat(request, ws):
    """
    处理聊天信息,并返回消息
    """
    while True:
        user_msg = await ws.recv()
        print('Received: ' + user_msg)
        intelligence_data = {"key": "free", "appid": 0, "msg": user_msg}
        r = httpx.get("http://api.qingyunke.com/api.php", params=intelligence_data)
        chat_msg = r.json()["content"]
        print('Sending: ' + chat_msg)
        await ws.send(chat_msg)


if __name__ == "__main__":
    app.error_handler.add(
        NotFound,
        lambda r, e: sanic.response.empty(status=404)
    )
    app.run(host="192.168.0.7", port=8000, protocol=WebSocketProtocol, debug=True)
  • index() 函数,返回聊天页面。这里用到了jinja2 模板渲染库。
  • chat() 函数,通过webSocket实现消息的接收、处理和返回。

智能聊天是怎么做到的,这里要感谢 青云客网络,他们提供了免费的接口。(我当时也只是抱着试试看的态度,没想到,duang~! )

user_msg = "你好!"
intelligence_data = {"key": "free", "appid": 0, "msg": user_msg}
r = httpx.get("http://api.qingyunke.com/api.php", params=intelligence_data)
chat_msg = r.json()["content"]
print(chat_msg)

是不是超简单。

再来看前端代码,主要部分:

  

这里使用到了 bootstrap 前端框架,主要 调用部分在:

var Socket = new WebSocket(url, [protocol] );
  • Socket.send(msg): 使用连接发送数据。
  • Socket.onmessage: 客户端接收服务端数据时触发。

我知道,你迫不及待想要完整的代码了:

GitHub - defnngj/learning-API-test: learning API test

正在做测试的朋友可以进来交流,群里给大家整理了大量学习资料和面试题项目简历等等....

你可能感兴趣的:(软件测试,自动化测试,技术分享,websocket,机器人,网络协议,软件测试,程序人生)

  • Pktgen-DPDK:开源网络测试工具的深度解析与应用 艾古力斯
    本文还有配套的精品资源,点击获取简介:Pktgen-DPDK是基于DPDK的高性能流量生成工具,适用于网络性能测试、硬件验证及协议栈开发。它支持多种网络协议,能够模拟高吞吐量的数据包发送。本项目通过利用DPDK的高速数据包处理能力,允许用户自定义数据包内容,并实现高效的数据包管理与传输。文章将指导如何安装DPDK、编译Pktgen、配置工具以及使用方法,最终帮助开发者和网络管理员深入理解并优化网络
  • 14.tornado操作之应用Websocket协议实现聊天室功能 孤寒者 Tornado框架从入门到实战websockettornado聊天室功能实现python
    目录:每篇前言:1.什么是WebSocket(1)定义(2)优点(3)和HTTP对比(4)适用场景2.WebSocket关键方法3.本tornado项目中使用WebSocket(1)准备一个聊天室的页面:第一步:编写视图:第二步:编写接口:(app.py中加入以下接口!)第三步:编写前端页面:测试接口——响应OK!(2)使用WebSocket:(3)聊天室的聊天功能的最终实现:第一步:战前准备第二
  • webSocket双向通信 @泽栖 websocket网络协议网络
    webSocket基础使用webSocket小说明:作用浏览器与服务器全双工通信——浏览器和服务器只需要完成一次握手,两者之间就可以创建持久性的连接,并进行双向数据传输。WebSocket与HTTP最大的区别HTTP通信是单向的,基于请求响应模式WebSocket支持双向通信。实现长连接适用场景:消息通信,视频弹幕,实时信息,等双向通信的使用需求使用:引入maven依赖org.springfram
  • 未来战士(3)新成员加入 先祖stone
    巨型机器人发射激光的地方已报废,落下一堆碎片。未来战士们大喜!突然,杰克从里面咆哮道:“这还没完!”,立即按下蓝色按钮,巨型机器人的腰部打开两扇门,突然弹出巨多的导弹,杰克在里面大声说道:“让爷来教训你!”说罢,导弹一起朝王铭锐的黄色摩托射去。连星皓掏出闪电侠芯片,一口吃到嘴里。啪的一声,他便有了闪电般的速度。在导弹飞在空中的那一瞬间,他掏出火焰神锯,把导弹锯了个粉碎!杰克生气了。他按下暴走模式,
  • ChatGPT还不能写小说吗? 刘若愚
    最近,ChatGPT大热,据说可以写论文,编故事,好像无所不能。于是,我给它出了个题目:写一篇5万字的科幻小说。人物:刘若愚,化学家;刘子琪,大律师;仔仔,刘子琪的宠物猫;周金凝,医生;刘泽余,大侦探;赵政淇,程序猿;杰夫(Jeff)机器人它给我的回答是:我很抱歉,我是一个AI语言模型,无法写出如此长篇的小说。但我可以为您提供一些写作灵感和指导:确定故事背景和时间线:在科幻小说中,背景和时间线非常
  • 使用Spring Boot构建响应式应用 微赚淘客系统@聚娃科技 springboot后端java
    使用SpringBoot构建响应式应用大家好,我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编,也是冬天不穿秋裤,天冷也要风度的程序猿!今天我们将探讨如何利用SpringBoot构建响应式应用,以适应现代应用程序对高并发和低延迟的需求。一、什么是响应式应用?响应式应用是一种通过异步编程模型来处理并发请求和数据流的应用程序设计方式。它能够更有效地利用计算资源,提供更快的响应时间和更高
  • MutationObserver接口性能分析与优化:DOM监控利器背后的性能陷阱与内存危机 coding随想 JavaScriptjavascript前端开发语言
    一、DOM的“哨兵”:MutationObserver的崛起在Web开发的江湖中,MutationObserver是一个低调却强大的角色。它像一位忠诚的哨兵,时刻监控着DOM树的风吹草动——属性变化、子节点增删、文本内容更新……开发者们用它来实现动态内容监听、表单验证、甚至自动化测试。然而,这位“哨兵”的背后,却隐藏着不容忽视的性能陷阱和内存危机。1.1MutationObserver的诞生背景在
  • DHCP & DNS
    DHCP&DNS前言众所周知DHCP是一个很常见的服务或者是一个很普遍的服务就像我现在有时候懒得写前言一样很普遍的事情那么DNS简称为域名解析协议www.baidu.com我们常知道的就是通过DNS域名解析访问的但DNS也不是随便做的‍DHCP介绍DHCP(DynamicHostConfigurationProtocol,动态主机配置协议)是一种网络协议,用于自动为网络中的设备分配IP地址、子网掩
  • 软件测试的分类
    测试阶段划分冒烟测试:在正式开始测试之前,我们会对测试版本进行冒烟测试,如果测试版本的主流程可以通过没有被阻塞或者出现宕机等重大问题就可以进行正式的测试工作了单元测试:最微小规模的测试,测试对象是某个功能或代码,一般是由程序员来做集成测试:是指一个应用系统的内部的各个部件的联合测试,以决定他们是否能在一起共同工作且没有冲突部件可以是代码块、独立的应用、网络上的客户端或服务器程序一般来说接口测试属于
  • 【分享】软件测试(功能、接口、性能、自动化)详解 南瓜_c889
    一、软件测试功能测试测试用例编写是软件测试的基本技能;也有很多人认为测试用例是软件测试的核心;软件测试中最重要的是设计和生成有效的测试用例;测试用例是测试工作的指导,是软件测试的必须遵守的准则。黑盒测试常见测试用例编写方法1、等价类选取少数有代表性的数据,这一类数据等价于这一类的其它值;找出最小的子集,可以发现最多的错误;特性:必须设计的用例;涵盖了大部分情况;2、边界值所谓边界条件,是指输入和输
  • 星宸科技SSU9386荣获2024年度AI创新产品奖,彰显AI芯实力 Comake Online 人工智能科技
    8月27日,由elexcon2024深圳国际电子展携手电子发烧友网联合发起的“2024年度市场卓越表现奖”颁奖典礼在深圳会展中心(福田)举行。星宸科技自主研发的“AllinOne”AI芯片SSU9386凭借其创新的设计理念、卓越的性能表现以及在智能机器人市场的出色表现,荣获2024年度AI创新产品奖。2024年度市场卓越创新奖共设置五大奖项,旨在通过业界共同推荐,评选出元器件行业内市场表现优秀,具
  • 代码审计与web安全选择题1 m0_74726609 代码审计网络安全
    软件供应链安全的基础是()A.完善的需求分析B.源代码安全C.渗透测试D.软件测试参考答案:B保证源代码安全的主要措施包括()A.开发工具和环境的安全B.代码安全C.渗透测试D.代码审计E.软件的说明文档完整参考答案:ABCD通过()技术,实现源代码在终端、网络及服务器存储场景下全周期的安全管理,防止内部代码有意、无意泄露、扩散出去。A.数据加B.数据脱C.数据安全隔离D.防火墙参考答案:C软件供
  • 第1章 机械少女来到地球 goldengray
    很多年之后,银依旧记得她诞生的那一天。那是一个盛夏的黄昏,夕阳斜斜地透过窗照进来,天地都被镀上一层梦幻般的玫瑰金,当今世界最优秀的青年科学家麦达教授所负责的科大Silver实验室自然也不例外。银就是在那里诞生的。麦达要研制一个机器人,并借助她来进行一些研究。按照麦达的设定,这个机器人外表与16岁的女孩无异,智商则要更高一些,尤其擅长理工类学科;最重要的是,她将完全听从他的命令。麦达给机器人起了个昵
  • 七年软件测试历程,回过头来,最能帮助我的还是这些..... 爱码小士
    改革开发四十周年,技术更新也是日新月异,发展迅速。软件测试行业也如此。现在人工智能测试挺火的,但是谈到软件测试,人脑还是最好的测试工具。当我们测试软件时,我们处理信息,解决问题,做出决策并创造新的想法。这些并不是AI测试能轻易替代的。作为测试人员,我们必须了解不同的思维类型,以便我们可以将它们与不同的情境联系起来。例如,当我们查看设计图时,我们需要进行分析。当我们想到场景时,我们需要以抽象的方式思
  • 智能云图库项目
    1、项目介绍平台基于SpringBoot+Redis+COS+AI绘图+RabbitMQ+WebSocket,支持图片上传、存储、协作编辑与智能分析。平台分为公共图库、私有图库和企业空间,支持多账号权限体系与实时协作。第一阶段,开发公共图库平台。实战SpringBoot图片素材网址的快速开发,重点学习文件存管业务的开发和优化技巧。第二阶段,对项目的C端功能进行扩展。用户可开通私有空间,并对空间图片
  • Python爬虫【三十五章】爬虫高阶:基于Docker集群的动态页面自动化采集系统实战 程序员_CLUB Python入门到进阶python爬虫docker
    目录一、技术演进与行业痛点二、核心技术栈深度解析2.1动态渲染三件套2.2Docker集群架构设计2.3自动化调度系统三、进阶实战案例3.1电商价格监控系统1.技术指标对比2.实现细节3.2新闻聚合平台1.WebSocket监控2.字体反爬破解四、性能优化与运维方案4.1资源消耗对比测试4.2集群运维体系五、总结与未来展望六、Python爬虫相关文章(推荐)一、技术演进与行业痛点在Web3.0时代
  • Python爬虫【三十四章】爬虫高阶:动态页面处理与Playwright增强控制深度解析 程序员_CLUB Python入门到进阶python爬虫开发语言
    目录一、技术演进背景与行业挑战二、核心技术栈深度解析2.1动态渲染双引擎架构2.2浏览器指纹伪装方案2.3BeautifulSoup集成实践三、进阶应用场景突破3.1电商价格监控系统3.1.1技术架构创新3.1.2实现效果3.2社交媒体舆情分析3.2.1无限滚动模拟3.2.2WebSocket监控3.2.3Canvas指纹防护四、性能优化与合规方案4.1资源消耗对比测试4.2反爬对抗升级方案五、总
  • Websocket使用简单示例 北海几经夏 前端websocket前端
    在前端开发中,WebSocket用于建立客户端与服务器的持久化双向通信连接,相比HTTP的单向请求响应模式,能更高效地实现实时数据交互(如聊天、实时通知、数据更新等场景)。基本步骤如下:1.建立WebSocket连接通过WebSocket构造函数创建连接,传入服务器WebSocket接口地址(协议为ws://或加密的wss://)://连接服务器WebSocket端点constsocket=new
  • MCP架构对比演示文档 it_czz 架构
    MCP架构对比演示文档1.核心架构对比1.1本系统:自包含式MCP架构外部客户端SpringBoot应用容器应用层业务层MCP实现层数据处理层浏览器客户端第三方MCP客户端RESTAPI客户端网段计算引擎地理位置APIOpenAI集成内置MCP服务器内置MCP客户端IP网段服务SpringAI服务RESTAPI接口MCPWebSocket接口图1.1本系统自包含式MCP架构说明:这个架构图展示了我
  • Selenium自动化测试如何结合代理IP解决IP限制? 爱睡觉的圈圈 代理服务seleniumtcp/ip测试工具python
    好的,作为一名熟悉IP代理产品和开发的资深程序员,很高兴与你分享如何在Selenium自动化测试中结合代理IP来解决IP限制的问题。IP限制是自动化测试(尤其是Web抓取或大规模UI测试)中常见的痛点。目标网站可能会因为检测到来自同一IP的大量快速请求而暂时或永久封禁该IP。使用代理IP可以有效地解决这个问题。下面我将详细介绍几种在Selenium中设置代理IP的方法,并提供代码示例和最佳实践。S
  • Spring Gateway转发websocket原理 李昂的数字之旅 SpringBootgatewaywebsocketspring网关
    SpringCloudGateway简称SpringGateway,它可以转发请求到后端微服务。SpringGateway除了转发HTTP请求,也支持websocket请求。我们看下它是怎么实现的吧。配置支持websocket转发支持websocket转发,需要用到spring-cloud-starter-gateway,不要搞错成spring-cloud-starter-gateway-web。
  • 薅羊毛群里面的一折大牌是不是真的? 高省爱氧惠
    当初真真实实加了很多群,进很多群之后发券的都是个机器人,毫无情感,沟通还不回答,想要找什么东西的粉丝优惠券的时候,去问群主,群主都不回答,或者回答的很敷衍,有些还很不耐烦,就这样进了又退,进了又退,找遍很多个群,终于找到一个很有耐心的小姐姐。最开始我想买一盘某朵眼影,因为当时产品才出来,很火,价格根本没降,一直涨,索性我就尝试着问这个群的群主小姐姐,结果小姐姐秒回我了,她还很复杂的给我讲,现在买这
  • Spring Cloud Gateway接入WebSocket:实现实时通信 三无少女指南 websocket网络协议网络
    在现代的微服务架构中,实时通信变得越来越重要。SpringCloudGateway作为SpringCloud生态中的API网关,提供了动态路由、监控、弹性、安全等功能。本文将介绍如何通过SpringCloudGateway接入WebSocket,实现服务之间的实时通信。为什么需要WebSocketWebSocket提供了全双工通信机制,允许服务器主动向客户端发送消息,这在需要实时数据推送的场景(如
  • 在 Spring Boot 中优化长轮询(Long Polling)连接频繁建立销毁问题 超级小忍 SpringBootspringboot后端java
    一、前言长轮询(LongPolling)是一种经典的HTTP轮询机制,它在不支持WebSocket或Server-SentEvents(SSE)的环境中,仍然是一种实现“伪实时”通信的有效方式。然而,长轮询的一个显著缺点是:每次请求都需要建立和销毁连接,频繁的HTTP请求会造成服务器资源的浪费。本文将结合SpringBoot,从异步处理、连接复用、客户端优化等角度出发,详细讲解如何优化长轮询机制,
  • LabVIEW汽车底盘系统测试
    在汽车研发制造流程里,底盘系统的性能与可靠性测试意义重大。其关乎车辆的操控稳定性、行驶安全性及乘坐舒适性。过往实车测试不仅成本高昂,还存在安全风险,且受天气、路况等外界因素制约。故而,搭建高精度、可模拟多样工况的底盘系统测试台架迫在眉睫,借助自动化测试技术,提升测试效率与精准度,为底盘系统的优化升级提供数据支撑。硬件选型数据采集设备选用一款具备高采样率、多通道同步采集功能的数据采集模块。高采样率确
  • Spring Boot 与 WebSocket:实时双向通信的实现!
    本文收录于《滚雪球学SpringBoot》,专门攻坚指数提升,2025年国内最系统+最强(更新中)。  本专栏致力打造最硬核SpringBoot从零基础到进阶系列学习内容,均为全网独家首发,打造精品专栏,专栏持续更新中…欢迎大家订阅持续学习。如果想快速定位学习,可以看这篇【SpringBoot教程导航帖】,你想学习的都被收集在内,快速投入学习!!两不误。演示环境说明:开发工具:IDEA2021.3
  • ROS2 TF 学习及实现(python & C++)
    ROS2TF学习及实现1.什么是tf?1.1tf的作用tf是ROS中用于坐标变换的工具包,可以让不同传感器、机器人部件之间的坐标系保持一致。它的主要任务是:发布不同坐标系之间的变换关系(Translation+Rotation)。订阅这些关系,并进行坐标点之间的变换。1.2tf2在ROS2中的更新ROS1中使用tf包。ROS2中使用tf2系列包(tf2_ros,tf2_geometry_msgs等
  • ChatGPT聊天机器人搭建全攻略汇总:精心整理 柚米汇
    一、ChatGPT接入微信:ChatGPT接入微信ChatGPT近期以强大的对话和信息整合能力风靡全网,可以写代码、改论文、讲故事,几乎无所不能,这让人不禁有个大胆的想法,能否用他的对话模型把我们的微信打造成一个智能机器人,可以在与好友对话中给出意想不到的回应,而且再也不用担心女朋友影响我们打游戏工作了。GitHub:https://github.com/zhayujie/chatgpt-on-w
  • 机器视觉Halcon
    介绍Halcon是由德国MVTecSoftwareGmbH公司开发的一款机器视觉软件,广泛应用于工业检测、医学成像、机器人引导、三维视觉等领域。它提供强大的图像处理和分析功能,支持快速开发高效的机器视觉应用。_____________________________________________________________________________Halcon主要特点1.强大的图像处理
  • 【OpenCV基础】凸包检测、Harris角点检测、Canny边缘检测
    :如果你也对机器人、人工智能感兴趣,看来我们志同道合✨:不妨浏览一下我的博客主页【https://blog.csdn.net/weixin_51244852】:文章若有幸对你有帮助,可点赞收藏⭐不迷路:内容若有错误,敬请留言指正!原创文,转载请注明出处文章目录一、凸包检测API1.drawContours2.convexHull全部代码-有滑动条效果展示部分代码-无滑动条二、Harris角点检测角
  • scala的option和some 矮蛋蛋 编程scala
    原文地址: http://blog.sina.com.cn/s/blog_68af3f090100qkt8.html 对于学习 Scala 的 Java™ 开发人员来说,对象是一个比较自然、简单的入口点。在 本系列 前几期文章中,我介绍了 Scala 中一些面向对象的编程方法,这些方法实际上与 Java 编程的区别不是很大。我还向您展示了 Scala 如何重新应用传统的面向对象概念,找到其缺点
  • NullPointerException Cb123456 androidBaseAdapter
        java.lang.NullPointerException: Attempt to invoke virtual method 'int android.view.View.getImportantForAccessibility()' on a null object reference     出现以上异常.然后就在baidu上
  • PHP使用文件和目录 天子之骄 php文件和目录读取和写入php验证文件php锁定文件
    PHP使用文件和目录 1.使用include()包含文件 (1):使用include()从一个被包含文档返回一个值 (2):在控制结构中使用include()   include_once()函数需要一个包含文件的路径,此外,第一次调用它的情况和include()一样,如果在脚本执行中再次对同一个文件调用,那么这个文件不会再次包含。   在php.ini文件中设置
  • SQL SELECT DISTINCT 语句 何必如此 sql
    SELECT DISTINCT 语句用于返回唯一不同的值。 SQL SELECT DISTINCT 语句 在表中,一个列可能会包含多个重复值,有时您也许希望仅仅列出不同(distinct)的值。 DISTINCT 关键词用于返回唯一不同的值。 SQL SELECT DISTINCT 语法 SELECT DISTINCT column_name,column_name F
  • java冒泡排序 3213213333332132 java冒泡排序
    package com.algorithm; /** * @Description 冒泡 * @author FuJianyong * 2015-1-22上午09:58:39 */ public class MaoPao { public static void main(String[] args) { int[] mao = {17,50,26,18,9,10
  • struts2.18 +json,struts2-json-plugin-2.1.8.1.jar配置及问题! 7454103 DAOspringAjaxjsonqq
    struts2.18  出来有段时间了! (貌似是 稳定版)   闲时研究下下!  貌似 sruts2 搭配 json 做 ajax 很吃香!   实践了下下! 不当之处请绕过! 呵呵   网上一大堆 struts2+json  不过大多的json 插件 都是 jsonplugin.34.jar   strut
  • struts2 数据标签说明 darkranger jspbeanstrutsservletScheme
    数据标签主要用于提供各种数据访问相关的功能,包括显示一个Action里的属性,以及生成国际化输出等功能 数据标签主要包括: action :该标签用于在JSP页面中直接调用一个Action,通过指定executeResult参数,还可将该Action的处理结果包含到本页面来。 bean :该标签用于创建一个javabean实例。如果指定了id属性,则可以将创建的javabean实例放入Sta
  • 链表.简单的链表节点构建 aijuans 编程技巧
    /*编程环境WIN-TC*/ #include "stdio.h" #include "conio.h" #define NODE(name, key_word, help) \  Node name[1]={{NULL, NULL, NULL, key_word, help}} typedef struct node {  &nbs
  • tomcat下jndi的三种配置方式 avords tomcat
    jndi(Java Naming and Directory Interface,Java命名和目录接口)是一组在Java应用中访问命名和目录服务的API。命名服务将名称和对象联系起来,使得我们可以用名称 访问对象。目录服务是一种命名服务,在这种服务里,对象不但有名称,还有属性。          tomcat配置
  • 关于敏捷的一些想法 houxinyou 敏捷
    从网上看到这样一句话:“敏捷开发的最重要目标就是:满足用户多变的需求,说白了就是最大程度的让客户满意。” 感觉表达的不太清楚。 感觉容易被人误解的地方主要在“用户多变的需求”上。 第一种多变,实际上就是没有从根本上了解了用户的需求。用户的需求实际是稳定的,只是比较多,也比较混乱,用户一般只能了解自己的那一小部分,所以没有用户能清楚的表达出整体需求。而由于各种条件的,用户表达自己那一部分时也有
  • 富养还是穷养,决定孩子的一生 bijian1013 教育人生
    是什么决定孩子未来物质能否丰盛?为什么说寒门很难出贵子,三代才能出贵族?真的是父母必须有钱,才能大概率保证孩子未来富有吗?-----作者:@李雪爱与自由 事实并非由物质决定,而是由心灵决定。一朋友富有而且修养气质很好,兄弟姐妹也都如此。她的童年时代,物质上大家都很贫乏,但妈妈总是保持生活中的美感,时不时给孩子们带回一些美好小玩意,从来不对孩子传递生活艰辛、金钱来之不易、要懂得珍惜
  • oracle 日期时间格式转化 征客丶 oracle
    oracle 系统时间有 SYSDATE 与 SYSTIMESTAMP; SYSDATE:不支持毫秒,取的是系统时间; SYSTIMESTAMP:支持毫秒,日期,时间是给时区转换的,秒和毫秒是取的系统的。 日期转字符窜: 一、不取毫秒: TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS') 简要说明, YYYY 年 MM   月
  • 【Scala六】分析Spark源代码总结的Scala语法四 bit1129 scala
    1. apply语法   FileShuffleBlockManager中定义的类ShuffleFileGroup,定义:   private class ShuffleFileGroup(val shuffleId: Int, val fileId: Int, val files: Array[File]) { ... def apply(bucketId
  • Erlang中有意思的bug bookjovi erlang
      代码中常有一些很搞笑的bug,如下面的一行代码被调用两次(Erlang beam) commit f667e4a47b07b07ed035073b94d699ff5fe0ba9b Author: Jovi Zhang <[email protected]> Date: Fri Dec 2 16:19:22 2011 +0100 erts:
  • 移位打印10进制数转16进制-2008-08-18 ljy325 java基础
    /** * Description 移位打印10进制的16进制形式 * Creation Date 15-08-2008 9:00 * @author 卢俊宇 * @version 1.0 * */ public class PrintHex { // 备选字符 static final char di
  • 读《研磨设计模式》-代码笔记-组合模式 bylijinnan java设计模式
    声明: 本文只为方便我个人查阅和理解,详细的分析以及源代码请移步 原作者的博客http://chjavach.iteye.com/ import java.util.ArrayList; import java.util.List; abstract class Component { public abstract void printStruct(Str
  • 利用cmd命令将.class文件打包成jar chenyu19891124 cmdjar
    cmd命令打jar是如下实现: 在运行里输入cmd,利用cmd命令进入到本地的工作盘符。(如我的是D盘下的文件有此路径 D:\workspace\prpall\WEB-INF\classes) 现在是想把D:\workspace\prpall\WEB-INF\classes路径下所有的文件打包成prpall.jar。然后继续如下操作: cd D: 回车 cd workspace/prpal
  • [原创]JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明 comsci eclipse设计模式算法工作swing
                           JWFD v0.96 工作流系统二次开发包 for Eclipse 简要说明     &nb
  • SecureCRT右键粘贴的设置 daizj secureCRT右键粘贴
    一般都习惯鼠标右键自动粘贴的功能,对于SecureCRT6.7.5 ,这个功能也已经是默认配置了。 老版本的SecureCRT其实也有这个功能,只是不是默认设置,很多人不知道罢了。 菜单: Options->Global Options ...->Terminal 右边有个Mouse的选项块。 Copy on Select Paste on Right/Middle
  • Linux 软链接和硬链接 dongwei_6688 linux
    1.Linux链接概念Linux链接分两种,一种被称为硬链接(Hard Link),另一种被称为符号链接(Symbolic Link)。默认情况下,ln命令产生硬链接。 【硬连接】硬连接指通过索引节点来进行连接。在Linux的文件系统中,保存在磁盘分区中的文件不管是什么类型都给它分配一个编号,称为索引节点号(Inode Index)。在Linux中,多个文件名指向同一索引节点是存在的。一般这种连
  • DIV底部自适应 dcj3sjt126com JavaScript
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml&q
  • Centos6.5使用yum安装mysql——快速上手必备 dcj3sjt126com mysql
    第1步、yum安装mysql [root@stonex ~]#  yum -y install mysql-server 安装结果: Installed:     mysql-server.x86_64 0:5.1.73-3.el6_5                   &nb
  • 如何调试JDK源码 frank1234 jdk
    相信各位小伙伴们跟我一样,想通过JDK源码来学习Java,比如collections包,java.util.concurrent包。 可惜的是sun提供的jdk并不能查看运行中的局部变量,需要重新编译一下rt.jar。 下面是编译jdk的具体步骤:         1.把C:\java\jdk1.6.0_26\sr
  • Maximal Rectangle hcx2013 max
    Given a 2D binary matrix filled with 0's and 1's, find the largest rectangle containing all ones and return its area.   public class Solution { public int maximalRectangle(char[][] matrix)
  • Spring MVC测试框架详解——服务端测试 jinnianshilongnian spring mvc test
    随着RESTful Web Service的流行,测试对外的Service是否满足期望也变的必要的。从Spring 3.2开始Spring了Spring Web测试框架,如果版本低于3.2,请使用spring-test-mvc项目(合并到spring3.2中了)。   Spring MVC测试框架提供了对服务器端和客户端(基于RestTemplate的客户端)提供了支持。 &nbs
  • Linux64位操作系统(CentOS6.6)上如何编译hadoop2.4.0 liyong0802 hadoop
    一、准备编译软件   1.在官网下载jdk1.7、maven3.2.1、ant1.9.4,解压设置好环境变量就可以用。     环境变量设置如下:   (1)执行vim /etc/profile (2)在文件尾部加入: export JAVA_HOME=/home/spark/jdk1.7 export MAVEN_HOME=/ho
  • StatusBar 字体白色 pangyulei status
    [[UIApplication sharedApplication] setStatusBarStyle:UIStatusBarStyleLightContent]; /*you'll also need to set UIViewControllerBasedStatusBarAppearance to NO in the plist file if you use this method
  • 如何分析Java虚拟机死锁 sesame javathreadoracle虚拟机jdbc
    英文资料: Thread Dump and Concurrency Locks   Thread dumps are very useful for diagnosing synchronization related problems such as deadlocks on object monitors. Ctrl-\ on Solaris/Linux or Ctrl-B
  • 位运算简介及实用技巧(一):基础篇 tw_wangzhengquan 位运算
    http://www.matrix67.com/blog/archives/263    去年年底写的关于位运算的日志是这个Blog里少数大受欢迎的文章之一,很多人都希望我能不断完善那篇文章。后来我看到了不少其它的资料,学习到了更多关于位运算的知识,有了重新整理位运算技巧的想法。从今天起我就开始写这一系列位运算讲解文章,与其说是原来那篇文章的follow-up,不如说是一个r
  • jsearch的索引文件结构 yangshangchuan 搜索引擎jsearch全文检索信息检索word分词
    jsearch是一个高性能的全文检索工具包,基于倒排索引,基于java8,类似于lucene,但更轻量级。   jsearch的索引文件结构定义如下:     1、一个词的索引由=分割的三部分组成:        第一部分是词        第二部分是这个词在多少
按字母分类: ABCDEFGHIJKLMNOPQRSTUVWXYZ其他
首页 - 关于我们 - 站内搜索 - Sitemap - 侵权投诉
版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.