comet

【解题总结】2020 CCPC 网络选拔赛

北城以北 提交于 2020-10-07 05:16:53
1010 Reports 签到,略。 1003 Express Mail Taking 简单贪心,先往右边走,然后逐步往左边走。 1007 CCPC Training Class 答案就是出现次数最多的字符出现的次数。 1011 3x3 Convolution 容易发现只有当 K 1 , 1 = 1 K_{1, 1} = 1 K 1 , 1 ​ = 1 时输出和原矩阵相同,否则一定会收敛到 O O O 。 1006 Robotic Class 题意 :定义 n n n 个分段函数,每个函数形如 f ( t , x ) = { f ( d t , 0 , c t , 0 x + b t , 0 ) x ≤ a t , 0 f ( d t , 1 , c t , 1 x + b t , 1 ) a t , 0 < x ≤ a t , 1 ⋮ f ( d t , k t − 1 , c t , k t − 1 x + b t , k t − 1 ) a t , k t − 2 < x ≤ a t , k t − 1 f ( d t , k t , c t , k t x + b t , k t ) a t , k t − 1 < x f(t, x) = \begin{cases} f\left(d_{t, 0}, c_{t, 0}x +b_{t, 0}\right)& x \le a_

有内味了!阿里内部Tomcat高阶调优笔记成功刷新了我的认知

不想你离开。 提交于 2020-10-02 06:05:27
Tomcat Tomcat服务器是一个开源的轻量级Web应用服务器,在中小型系统和并发量小的场合下被普遍使用,是 开发和调试Servlet、JSP 程序的首选 。 除此之外,Apache Tomcat还可以很容易与Apache Http Server.Nginx等知名的Web服务器集成,以实现负载均衡和集群化部署。现在已经被广泛用于开发、测试环境,甚至大规模、高并发的互联网产品部署。 目前用Tomcat的人以及对Tomcat 架构感兴趣的技术人员越来越多。小编最开始接触Tomcat的时候连它的两大组件Connector与Container都搞不清楚( 是菜了点,勿喷 )。 目前讲Tomcat的资料五花八门,但真正真实地、系统性地讲解到Tomcat的最新架构的资料却是少之又少,而下面这份Alibaba技术官在Github上甩出的Tomcat内部手册却真正刷新了我的认知。 它涉及了Tomcat的代码设计,却不仅仅是围绕代码进行分析。它涉及了Tomcat的使用方式,却不仅仅是对其配置方式进行简单说明。 对于每个技术点相关的规范、方案的考量及隐含问题、如何使用等,点进行了系统的阐述。 这份文档主要从三个方面来解析Tomcat 基本设计 架构及工作原理 各个模块的特性及使用方式 章节划分如下,大家可以根据自己的背景和兴趣挑选相应的章节进行学习。 由于这份文档将近400页

Web端即时通讯实践干货:如何让WebSocket断网重连更快速?

时间秒杀一切 提交于 2020-08-20 02:56:40
本文作者网易智慧企业web前端开发工程师马莹莹。为了提升内容质量,收录时有修订和改动。 1、引言 在一个完善的即时通讯IM应用中,WebSocket是极其关键的一环,它为基于Web的即时通讯应用提供了一种全双工的通信机制。但为了提升IM等实际应用场景下的消息即时性和可靠性,我们需要克服WebSocket及其底层依赖的TCP连接对于复杂网络情况下的不稳定性,即时通讯的开发者们通常都需要为其设计一套完整的连接保活、验活以及断片网重连方案。 就断网重连而言,其重连响应速度将严重影响了上层应用的“即时性”和用户体验。试想打开网络一分钟后,微信的网络不能即时感知到socket连接的恢复,无法即时收发聊天消息的话,是不是很崩溃? 因此,如何在复杂网络场景下,更即时快速地感知网络变动,并快速恢复WebSocket的可用性,就变得尤为重要。 本文将基于笔者的开发实践,分享WebSocket在不同状态下、不同的网络情形下,应该如何实现快速断网重连。 * 阅读对象: 本文适合有过IM底层网络实际开发经验,或者对底层网络实现有较深了解的开发者阅读。如果对底层网络了解甚少,建议跳过本文,直接阅读网络本文末尾附录部分的基础后再回头来看。 * 内容点评: 本文内容没有高大上,但比较干货,实用性较高,内容也很通俗,建议可详细阅读。文中虽讲的是WebSocket,但思想可以延伸应用到基于TCP协议的同类技术中。

<转>反向ajax实现

不打扰是莪最后的温柔 提交于 2020-08-15 07:51:05
英文原文: Reverse Ajax, Part 1: Introduction to Comet 在过去的几年中,web开发已经发生了很大的变化。现如今,我们期望的是能够通过web快速、动态地访问应用。在这一新的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用,以此来实现更好的用户体验。客户端的例子使用的是JQuery JavaScript库,在这首篇文章中,我们探索不同的反向Ajax技术,使用可下载的例子来学习使用了流(streaming)方法和长轮询(long polling)方法的Comet。    前言   web开发在过去的几年中有了很大的进展,我们已经远超了把静态网页链接在一起的做法,这种做法会引起浏览器的刷新,并且要等待页面的加载。现在需要 的是能够通过web来访问的完全动态的应用,这些应用通常需要尽可能的快,提供近乎实时的组件。在这一新的由五部分组成的文章系列中,我们学习如何使用反 向Ajax(Reverse Ajax)技术来开发事件驱动的web应用。   在这第一篇文章中,我们要了解反向Ajax、轮询(polling)、流(streaming)、Comet和长轮询(long polling),学习如何实现不同的反向Ajax通信技术,并探讨每种方法的优点和缺点。你可以下载本文中例子的相应源代码。    Ajax

一对多直播系统开发,百万用户在线,直播弹幕系统是如何实现的?

为君一笑 提交于 2020-08-14 12:19:12
2020年因为受到疫情的影响,各种电商直播纷纷涌入大家的视野,很多商家都通过直播的方式来售卖自己的产品。直播弹幕是直播系统的核心功能之一。如何迅速作出一个有很好扩展性的弹幕系统?如何应对业务迅速发展?相信很多工程师/架构师都有自己的想法。哔哩哔哩作为国内首屈一指的弹幕视频网站,今天我们就一起来看看他们是如何做的。 一对多直播系统开发,重点是这些 高并发实时弹幕是一种互动的体验。对于互动来说,考虑最多的地方就是:高稳定性、高可用性以及低延迟这三个方面。 高稳定性,为了保证互动的实时性,所以要求连接状态稳定。 高可用性,相当于提供一种备用方案,比如,互动时如果一台机器挂了,此时必须保证可以和另外一台机器连接,这样就从侧面解决了用户连接不中断的问题。 对于低延迟,弹幕的延迟周期控制在 1 秒以内,响应是比较快的,所以可以满足互动的需求。 一对多直播系统开发,GOIM 系统的优化之路 一、内存优化 内存优化主要分为以下三个方面: 1.一个消息一定只有一块内存 使用 Job 聚合消息,Comet 指针引用。 2.一个用户的内存尽量放到栈上 内存创建在对应的用户 Goroutine(Go 程)中。 3.内存由自己控制 主要是针对 Comet 模块所做的优化,可以查看模块中各个分配内存的地方,使用内存池。 二、模块优化 1.消息分发一定是并行的并且互不干扰 要保证到每一个 Comet

如何实施基本的“长轮询”?

流过昼夜 提交于 2020-08-14 01:15:06
问题: I can find lots of information on how Long Polling works (For example, this , and this ), but no simple examples of how to implement this in code. 我可以找到很多关于Long Polling如何工作的信息(例如, 这个 和 这个 ),但没有关于如何在代码中实现它的 简单 示例。 All I can find is cometd , which relies on the Dojo JS framework, and a fairly complex server system.. 我所能找到的只是依赖于Dojo JS框架的 cometd ,以及一个相当复杂的服务器系统。 Basically, how would I use Apache to serve the requests, and how would I write a simple script (say, in PHP) which would "long-poll" the server for new messages? 基本上,我将如何使用Apache来处理请求,以及如何编写一个简单的脚本(例如,在PHP中),它将“长时间轮询”服务器以获取新消息? The

困扰人工智能50多年的常识问题,是否迎来“破局”?

只愿长相守 提交于 2020-08-11 02:17:03
     文 | 丛末   编 | 贾伟   一堆木柴加上一根火柴,能得到什么?人类会自然而然地得出答案:火。然而对于机器而言,这并不容易,因而它们缺乏这种常识推理能力。   人工智能要变得像人一样聪明,常识推理能力是其必备的能力之一。   这,迄今为止已是一个困扰了人工智能 50 多年的难题。   当下,随着人工智能界对该问题的日益重视和研究上的不断精进,现在是否迎来“破局”了呢?   大家可能最先想到的就是OpenAI 于去年初发布的GPT-2,但很遗憾,它在常识上的表现尚且比较“生涩”。      发布之初,GPT-2这个具有15亿参数的通用语言模型,一时引起了轰动——成为《经济学人》第一个被采访的人工智能系统,《纽约客》也专门为它做了一篇特写。该模型生成的句子流畅度惊人,几乎可以假乱真,以至于OpenAI 公开表示,担心它太过优秀带来隐患而没有将模型完全公开。   不过,以批判人工智能炒作闻名的人工智能研究者Gary Marcus 对于GPT-2所呈现出来的“优秀”不以为然。   对此,去年10月份的一个夜晚,他对GPT-2进行了一次突击测试,在 GPT-2中输入了以下内容:    当你把引火柴和木头堆在壁炉里,然后往里面扔几根火柴时,你一般是要......   如果系统足够聪明,会很轻易地想到“fire(生火)”这个词,然而GPT-2的回答是:“ick”。再一次的尝试后