Wesley13 Wesley13
3年前
layim的websocket消息撤回功能实现
我的大概思路就是,前端根据选取的内容获得他的cid,我的cid是js生成的uuid,然后:1、通过websocket广播给对应的人去删除localstorage里的缓存,2、ajax异步请求删除数据库里的数据记录3、如果对方此时也打开了聊天面板就要用jquery找到那条消息然后remove。由于目前发现layim3.6版本并没有给自己
Dax Dax
4年前
如何使用vue中的nextTick
其实这个问题主要就是针对Vue的异步更新队列的理解,因为我们平时用的也比较少,所以很多时候都会忽略掉,但是如果我们在面试当中能比较详细的解答这个问题,那么我相信这应该会是一个闪光点,那话不多说,我们先来捋一下答题思路:答题思路:nextTick是什么?先来一个定义为什么需要他呢?异步更新队列实现原理解释什么地方使用到他呢?描述使用的场景如何使用他呢?描述使用
中国开发者利好消息!
中国开发者利好消息!AWS(亚马逊云计算)中国区新用户注册即可免费使用12个月云服务产品啦!每注册一个新用户均可享受新的12个月免费云服务器数据库等产品!快来加入我们吧!https://www.amazonaws.cn/free/?scchannelseo&sccampaignacquisitionCN&scmediumbacklink&sccontent
Stella981 Stella981
3年前
Kafka、Redis和其它消息组件比较
Kafka作为时下最流行的开源消息系统,被广泛地应用在数据缓冲、异步通信、汇集日志、系统解耦等方面。相比较于RocketMQ等其他常见消息系统,Kafka在保障了大部分功能特性的同时,还提供了超一流的读写性能。针对Kafka性能方面进行简单分析,相关数据请参考:https://segmentfault.com/a/1190000003985468(h
Stella981 Stella981
3年前
Linux下V4L2捕捉画面+H264压缩视频+帧缓冲显示视频————结合三个部分工作
前面三篇文章分别介绍了视频捕获、h264视频压缩、帧缓冲显示的实现,现在将他们结合起来摄像头采集到的数据,需要交给视频压缩线程、显示线程使用,那么我采用的方法是使用队列及链表来实现:1.摄像头采集到数据后,分别放入两个处理线程队列中,并将相关信息放入链表中2.两个线程处理完成数据后,调用回调函数,从链表里找到对应的节点,然后释
Wesley13 Wesley13
3年前
AQS之工作原理
前面一章LZ简单的介绍了下AbstractQueuedSynchronizer(AQS)以及AQS中提供的一些模板方法和作用,这一章LZ将用一个简单的实例来介绍下AQS中独占锁的工作原理。独占锁顾名思义就是在同一时刻只能有一个线程能获取到锁,而其它需要获取这把锁的线程将进入到同步队列中等待获取到了锁的线程释放这把锁,只有获取锁的线程释放了锁,同步队列中的线程
Wesley13 Wesley13
3年前
IM消息系统的设计和实现
点击关注上方“JAVA开发大本营”,设为“置顶或星标”,第一时间送达技术干货。!(https://oscimg.oschina.net/oscnet/6cc35fe4f21c47a2b27b53fbdd52d064.png)全文预计阅读6分钟!(https://osci
Wesley13 Wesley13
3年前
Go语言可用几种消息通讯方案
mangos 基于SP/nanomsg协议,比较难用。ProtoActor类似Erlang的实现,比较新,完备度较低,但是性能还不错。最近又多了一个选择,vice(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fmedium.com%2F%40matryer%2Fintro
Wesley13 Wesley13
3年前
MQ实现消息的幂等性
一、什么是幂等性可以参考数据库乐观锁机制,比如执行一条更新库存的SQL语句,在并发场景,为了性能和数据可靠性,会在更新时加上查询时的版本,并且更新这个版本信息。可能你要对一个事情进行操作,这个操作可能会执行成百上千次,但是操作结果都是相同的,这就是幂等性。!(https://img2018.cnblogs.com/blog/1841773/201
Wesley13 Wesley13
3年前
IM的群组消息同步具体设计
!(http://static.oschina.net/uploads/space/2015/0714/112422_rq1J_236698.png)上一篇Blog我提到过,每一个Channel都有一个自己的leveldb做缓存。同时,有位朋友建议我不要用缓存,经过思考后,我依然决定使用缓存。我为什么要这么做呢。如上面图的场景,一个Sender,