详解玩转直播系列之消息模块演进
目录一、背景二、直播消息业务2.1、主播与用户2.2、房间号2.3、消息类型划分2.4、消息优先级三、消息技术点3.1、消息架构模型3.2、短轮询 VS 长链接3.2.1、短轮询3.2.2、长连接3.2.3、直播间IM消息分发3.3、消息丢弃四、写在最后一、背景即时消息(IM)系统是直播系统重要的组成部分,一个稳定的,有容错...
2024-01-10使用 jQuery Pjax 做全站异步加载遇到的坑
使用一段时间的 jQuery Pjax 后发现这个插件贼好用,避免了不必要的 HTTP 请求,提供了完善的回调函数,又不会使原有的网页 JS 代码无法执行,只需要稍微改造下即可,这里分享下使用 jQuery Pjax 做全站异步加载遇到的坑。原有网页 JS 无法运行这个问题稍微想一下就能明白了,使用 AJAX 的方式加载网...
2024-01-10macOS 下的 MySQL 8.0.17 安装与简易配置教程图解
如果我写的这篇你看不懂,可能网上也没有你能看懂的教程了虽然这篇针对的是8.0.x版本,但是关于MySQL配置之类的方法还是通用的环境信息与适用范围#环境信息环境/软件版本macOSmacOS MojaveMySQLMySQL 8.0.17适用范围环境/软件版本macOSmacOS大概都行吧MySQL8.0.x第零步,清除之...
2024-01-10MySQL常见内存不足启动失败的完美解决方法
1.启动MySQL时一直不成功,查看错误日志 /var/log/mysql/error.log 2.主要的错误信息有如下几条:[ERROR] InnoDB: mmap(136151040 bytes) failed; errno 12[ERROR] InnoDB: Cannot allocate memory for the buffer pool[ERROR] InnoDB: Plugin initialization aborted with error Generic error[ERROR] Plu...
2024-01-10JS实现jQuery的append功能
目录Show Me The Code测试下效果效果PS另一种方法Show Me The CodeHTMLElement.prototype.appendHTML = function(html) { let divTemp = document.createElement("div"); let nodes = null; let fragment = document.createDocumentFragment(); divTemp.innerHTML = html; nodes = divTemp.c...
2024-01-10解析Java线程编程中的线程安全与synchronized的使用
一.什么时候会出现线程安全问题? 在单线程中不会出现线程安全问题,而在多线程编程中,有可能会出现同时访问同一个资源的情况,这种资源可以是各种类型的的资源:一个变量、一个对象、一个文件、一个数据库表等,而当多个线程同时访问同一个资源的时候,就会存在一个问题: 由于...
2024-01-10java制作仿微信录制小视频控件
本文为用 MediaRecorder 录制小视频的控件,可以设置视频录制的时间、空间大小、初始时是否打开摄像头等。 此控件为组合控件,继承自 LinearLayout ,为防止出错,需实现 android.media.MediaRecorder.OnErrorListener 接口。小视频录制界面MovieRecorderView.javaimport java.io.File;import java.io.IOException;import java.util.Timer;imp...
2024-01-10java实现无符号数转换、字符串补齐、md5、uuid、随机数示例
import java.security.MessageDigest;import java.security.NoSuchAlgorithmException;import java.util.Random;import java.util.UUID;/* * 杂项(无符号数转换,字符串补齐,md5,uuid,随机数) */public class SundryTest { //转成无符号数 public static Number toUnsignedNumber(Number num){ if(nu...
2024-01-10Java进阶教程之IO基础
计算机最重要的功能是处理数据。一个有用的计算机语言需要拥有良好的IO功能,以便让未处理的数据流入程序,让已处理的数据流出。与其他语言相比,Java的IO功能显得复杂。在其他语言中,许多IO功能(比如读取文件),是被封装好的,可以用一两行程序实现。在Java中,程序员往往需要多个层次的装...
2024-01-10Java到底是不是一种纯面向对象语言?
在我刚开始学习 Java 的前面几年,我从书本里知道了 Java 是遵循 “面向对象编程范式(Object Oriented Programming paradigm)”的。在Java世界内一切都是对象,甚至包括字符串(String)这些都是对象(在 C 语言中,字符串是字符数组),那时候,我认为 Java是一种面向对象的语言。 但是在后来,我在互...
2024-01-10Java程序员必看--扩展鼠标右键菜单功能
环境: Windows XP/2003 修改注册表的工具:Registry Workshop 2.31 简体中文版 Windows下开发的Java程序员在开发的时候常常会有两种烦恼: 其一:要在DOS下进入一个目录来运行一些命令,比如java、javac、ant,从命令行窗口进入一些目录是windows下的标准操作,可是经常操作这些无聊的命令...
2024-01-10Java Swing APIs可插拔式外观风格特性应用
Java Swing 应用编程接口提供了可插拔式外观风格(PLAF)的特性,它允许Swing 图形用户接口(GUI)小应用根据编程人员定制的外观风格设置来改变界面外观风格。 几乎所有现代用户接口框架都结合了视图和控制,无论它们是基于SmallTalk、C++或Java。 Swing将每个组件的视图和控制封装到一个称为UI委托...
2024-01-10如何使用PassportEye库使用Python从护照图像中检索机器可读区域
本文概述要求1.安装PassportEye2.从CLI使用PassportEye3.使用python API机器可读护照(MRP)是一种机器可读旅行证件(MRTD), 其身份页面上的数据以光学字符识别格式编码。它可以具有2行或3行机器可读数据。此方法允许处理根据ICAO文件9303(由国际标准化组织和国际电工委员会以ISO / IEC 7501-1认可)编写的MRZ。某些...
2024-01-10Linux 内核 TCP MSS 机制详细分析
作者:Hcamael@知道创宇 404 实验室时间:2019 年 6 月 26 日英文版本:https://paper.seebug.org/967/前言上周Linux内核修复了4个CVE漏洞[1],其中的CVE-2019-11477感觉是一个很厉害的Dos漏洞,不过因为有其他事打断,所以进展的速度比较慢,这期间网上已经有相关的分析文章了。[2][3]而我在尝试复现CVE-2019-11477漏洞...
2024-01-10nodejs express 导出 csv 慢
问题描述使用 express 的 res.write 来写 csv 数据,数据已经从数据库读出来了(用的是 mongodb 可读流),但是 chrome 卡在即将开始下载一分半之后才开始有数据下载下来,会是什么原因。相关代码stream.on('data', data => { let finalData = processData(data); let _data = JsonToArray(finalData, fields).join(','); // console.log...
2024-01-10c++隐式的类类型转换问题
这是书中的一道题目,为什么就combine2不能转换,而combine1和3就没问题?#include <string>using namespace std;class Sales_data {public: Sales_data() = default; Sales_data(const string& str) :data(str) {} Sales_data &combine1(Sales_data a) {} Sales_data &combine2(Sales_data&...
2024-01-10c++程序出现exit code -1073740940 (0xC0000374)
一道动态规划的算法题.dp是我用new关键字分配的一个整形数组用来记录转移量,在程序51行使用"delete []dp;"去释放内存出现exit code -1073740940 (0xC0000374)的错误,用的是gnu++11#include <iostream>#include <vector>using namespace std;vector<int> get_divisor(int num){ vector<int> vec; for (int i = 2; i < num; ++...
2024-01-10ios 自定义UIPageControl选中 非选中的相对位置问题
.h文件import <UIKit/UIKit.h>@interface MyPageControl : UIPageControl@end.m文件import "MyPageControl.h"import "UIView+Layout.h"@implementation MyPageControl-(id) initWithFrame:(CGRect)frame{self = [super initWithFrame:frame];return self;}-(void) updateDots{for ...
2024-01-10请教一下新浪微博的个人主页实现思路
这个页面的特点:1、下拉的时候,上面的view可以拉伸2、"主页"、“微博”、“相册” 三个按钮监听了三个tableview的切换事件3、上拉到顶部的时候,三个按钮的分页工具栏停留在顶部,类似于tableview的SectionHeadview 效果我用real看了下新浪微博的这个界面,发现这个界面都是在一个UItableviewCOntroller里...
2024-01-10