首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

消息(小红点),前端 与 RabbitMQ 实时消息推送实践,贼简单~

前几天粉丝群里有个小伙伴问过:web 页面的消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。...之前在 《springboot + rabbitmq 做智能家居》 中说过可以用 rabbitmq 的 MQTT 协议做智能家居的指令推送,里边还提到过能用 MQTT 协议做 web 的消息推送,而消息...交换机信息 服务端消息发送 web 端实时消息推送一般都是单向的推送,前端接收服务端推送的消息显示即可,所以就只实现消息发送即可。...message=我是程序员内点事&topic=push_message_topic 模拟发送消息 再看一下前端订阅消息的效果,看到消息被实时推送到了前端,这里只做了消息数量统计,一般还会做消息详情列表...实时消息推送动图 总结 消息是一个十分常见的功能,不管是 web端还是移动端系统都是必备的模块,MQTT 协议只是其中的一种实现方式,还是有必要掌握一种方法。

2K10

什么是好的错误消息?

错误信息是我们在线日常生活的一部分。每次服务器故障或没有网络,或忘记在表格中添加一些信息,我们就会收到错误信息。"出错了" 是常见的做尘。但是什么出错了?发生了什么?...在介绍好的提示之前,我们先来看一下什么是不好的错误提示。 不好的错误提示 图片 Inappropriate tone 不恰当的语气: 想象一下,一个医生在做一个手术,然后突然说 "哎呀!...Technical jargon 专业术语: 程序员喜欢把一些专业术语用在错误提示里面。例如:你不能获取我的数据?我的凭证被拒绝了?...好的错误提示 图片 Say what happened and why: 说明出错的原因:让用户清楚的知道发生错误的原因,可以通过视觉和文字的结合来完成。解释用户为什么会出现这个错误。...即使是技术原因,也要说明是我们的原因,而不是用户操作错误。比如:「由于技术上的原因,暂时无法连接到你的账户」。 Provide reassurance 提供保证:比如「你的修改已被保存到草稿」。

1.5K30

消息(小红点),前端与 RabbitMQ实时消息推送实践,贼简单~

前几天粉丝群里有个小伙伴问过:web 页面的消息(小红点)怎么实现比较简单,刚好本周手头有类似的开发任务,索性就整理出来供小伙伴们参考,没准哪天就能用得上呢。...之前在 《springboot + rabbitmq 做智能家居》 中说过可以用 rabbitmq 的 MQTT 协议做智能家居的指令推送,里边还提到过能用 MQTT 协议做 web 的消息推送,而消息...[交换机信息] 服务端消息发送 web 端实时消息推送一般都是单向的推送,前端接收服务端推送的消息显示即可,所以就只实现消息发送即可。...message=我是程序员内点事&topic=push_message_topic [模拟发送消息] 再看一下前端订阅消息的效果,看到消息被实时推送到了前端,这里只做了消息数量统计,一般还会做消息详情列表...[实时消息推送动图] 总结 消息是一个十分常见的功能,不管是 web端还是移动端系统都是必备的模块,MQTT 协议只是其中的一种实现方式,还是有必要掌握一种方法。

2.8K109

laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作示例

本文实例讲述了laravel框架使用FormRequest进行表单验证,验证异常返回JSON操作.分享给大家供大家参考,具体如下: 通常在项目中,我们会对大量的前端提交过来的表单进行验证,如果不通过,则返回错误信息...但是返回的json格式并不是我们想要的,这个时候,我们就需要自定义返回错误结果。...先创建一个表单请求类: php artisan make:request TestRequest 然后在 rules() 和 messages() 方法里填写自已的验证规则和消息 <?...rules() { return [ 'name' = 'required', 'pwd' = 'required', ]; } /** * 验证消息...throw (new HttpResponseException(response()- json([ 'status_code' = 500, 'message' = '请求错误

3.3K41

群聊消息“已读”“读” 功能解决方案!

一朋友和我讨论他前段时间面试某大公司的一题目: 企业IM比如企业微信、钉钉里面的群消息的有个已读读的功能,发送者刚发出消息时,当前群里其他群成员都是读状态,陆陆续续有人看了这个消息,这时候消息的详情变成...x人已读,y人读,如下图所示,有具体的已读读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid...(uint64_t),应该如何保存这个消息对应的已读读详情呢?...仔细分析,按照目前的设计,每一条消息,已读读详情就要占用8B * 群成员数的内存,如果一个活跃的200人大群,每发一条消息,已读读就要1600B,如果平均每天消息量是1k,那每个这样的群,每天就要1.6MB...比如C退出群,发消息时maxid还是5,已读+读总人数应该是3(不包括发消息者本人),目前信息只有5个bit(0/1),识别不出来谁已经退出群聊了 退出群聊的成员如何处理?

3.1K10

面试题:群聊消息的已读读设计

一朋友和我讨论他前段时间面试某大公司的一题目 : 企业IM比如企业微信、钉钉里面的群消息的有个已读读的功能,发送者刚发出消息时,当前群里其他群成员都是读状态,陆陆续续有人看了这个消息,这时候消息的详情变成...x人已读,y人读,如下图所示,有具体的已读读列表(万恶的功能,看到同事or老板的消息不能假装没看到了),每条消息对应一个唯一的messageid(uint64_t),每个用户对应一个唯一的userid...(uint64_t),应该如何保存这个消息对应的已读读详情呢?...仔细分析,按照目前的设计,每一条消息,已读读详情就要占用8B * 群成员数的内存,如果一个活跃的200人大群,每发一条消息,已读读就要1600B,如果平均每天消息量是1k,那每个这样的群,每天就要1.6MB...比如C退出群,发消息时maxid还是5,已读+读总人数应该是3(不包括发消息者本人),目前信息只有5个bit(0/1),识别不出来谁已经退出群聊了 2、退出群聊的成员如何处理?

1.9K41

钉钉消息已读、读咋实现的嘞?

前言 一款app,消息页面有:钱包通知、最近访客等各种通知类别,每个类别可能有新的通知消息,实现已读、读功能,包括多少个读,这个是怎么实现的呢?...所有,判断有没有小红点,或者小红点的数字是多少,就是简单的获取你与虚拟人的对话的读的消息的数量。...“最近来访”标签 当有人访问你主页的时候,后端会以这个“最近来访”虚拟人的身份给你发一条消息,不过消息里还有一个特殊标记,标明了来源。我们除了要拉取总量,还有不同来源消息的数量。...当然,一个动作不一定只发一条消息,比如,图中下方有个金刚键"消息",它是所有消息的总和,所以,投递其他消息的时候,也要给它投递一次,不过它只展示一个读数字,所以这个消息只需要一个msg_id即可,不需要消息..."已读和读"。它包含两层意思,一个判否,即内容你是否读过,二是计数,即这个内容有多少人读过。 长尾原因 如果你用Redis存储,成本非常高,浪费非常严重。

41810

补习系列-springboot 参数校验详解

目标 对于几种常见的入参方式,了解如何进行校验以及该如何处理错误消息; 了解springboot 内置的参数异常类型,并能利用拦截器实现自定义处理; 能实现简单的自定义校验规则 一、PathVariable...校验异常 如果此时我们尝试通过非法参数进行访问时,比如提供非Email格式的 group 会得到以下错误: GET /validate/param?...四、RequestBody 校验 对于Json消息体输入,同样可以定义校验规则: @PostMapping("/json") @ResponseBody public JsonRequest json(...MissingServletRequestParameterException 参数缺失 TypeMismatchException 参数类型不匹配 如果希望对这些异常实现统一的捕获,并返回自定义的消息..., 并输出友好的提示消息,这对于一般情况来说已经足够。

2.5K10

如何编写有用的错误消息

用户需要在他们遇到问题时获得错误消息的帮助——所以这些消息最好是有用的。 因此,与其“编写”错误消息,不如考虑“构建”消息。...使用一系列问题和构建块构建你自己的错误消息 4让错误消息自行生成 一旦你有了一个定义好的结构,你就有了一个很好的公式 - 构建块组合来构建用户可能遇到的所有错误消息。...“无法连接”听起来不像“检测到互联网连接”那么机械,虽然它们说的是同样的事情。 你的产品还应该具有一致的个性或 声音。...将字段类型分组,定义最常见的错误,看看是否可以将字段标签插入可重用的响应来生成错误消息。...“输入姓名” 修剪不必要的词:“请”往往是累赘的单字 避免责怪用户:不要说“你没有输入你的电子邮件地址”,而是让他们“输入一个电子邮件地址” 7总结 错误消息可能写起来很让人头疼。

86210

宝塔面板phpMyAdmin授权访问漏洞是个低级错误吗?

周日晚,某群里突然发布了一则消息,宝塔面板的phpmyadmin存在授权访问漏洞的紧急漏洞预警,并给出了一大批存在漏洞的URL: ?...况且宝塔面板发展了这么久,积累了400万用户,体系安全性也相对比较成熟,如果存在这么低劣的错误或“后门”,也应该早就被发现了。...首先,宝塔面板绝对不是弱智,这个漏洞不是简简单单的放了一个授权的pma在外面忘记删。...这其实会打很多人脸,因为大部分人认为这只是个简单的phpmyadmin授权访问漏洞,并对宝塔进行了一顿diss,没有想到这后面其实是一个复杂的逻辑错误。...我有数年不再使用Linux面板了,这次也算重新体验了一下2020年的Linux面板,个人感觉宝塔看外在其实是一个比较注重安全的系统,比如自动生成的用户密码、用户名和密码的策略、默认的Php安全配置、自动的版本更新等等

1.4K40

网络通信之生成HTTP消息

浏览器解析URL 省略文件名的情况 HTTP 的基本思路 生成 HTTP 请求消息 发送请求后会收到响应 1. URL是个啥?...浏览器解析URL 浏览器要做的第一步工作就是对 URL 进行解析,从而生成发送给 Web 服务器的请求消息。...生成HTTP请求消息 对 URL 进行解析之后,浏览器确定了 Web 服务器和文件名,接下来就是根据这些信息来生成 HTTP 请求消息了。 请求消息格式 1. 请求行 请求消息的第一行称为请求行。...消息体 写完消息头之后,还需要添加一个「完全没有内容的空行」,然后写上需要发送的数据。这一部分称为消息体,也就是消息的主体。 6....之后的流程,可以参考页面是如何生成的(宏观角度) 后记 分享是一种态度,这篇文章,主要的篇幅来自于《网络是如何连接的》,算是一个自我学习过程中的一种记录和总结。主要是把自己认为重要的点,都罗列出来。

46020
领券