java技术圈 为您找到相关结果 100

模式匹配 · 傻瓜函数式编程 · 看云

## 模式匹配 模式匹配并不是什么新功能。而事实上它和函数式编程也没有什么太大的关系。它之所以常常被认为是FP的一个特性,是因为在函数式语言已经支持模式匹配很长一段时间后的今天,指令式语言是还没有这个功能。 还是直接用例子来看看什么是模式匹配吧,这是一个用Java写的Fibonacci函数: ~~~ int fib(int n) { if(n == 0) return 1; if(n == 1) return 1; return fib(n - 2) + fib(n - 1); } ~~~ 再看看用我们基于Java修改过的新语言写出来的Fibonacci函数,这种新语言就支持模式匹配: ~~~ int fib(0) { return 1; } int fib(1) { return 1; }...阅读全文

博文 2019-08-17 02:21:05 www.kancloud.cn

字节跳动不平凡的崛起之路

![在这里插入图片描述](https://img-blog.csdnimg.cn/2020061514414556.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 如何定义字节跳动这家公司?它是一家以娱乐为主的公司,还是一家以新闻资讯为主的公司?如何定义今日头条这款超级爆品?它是一个新闻媒体,还是一个移动互联网时代的资讯嫁接平台? 同样,如何定义创始人张一鸣,未来他会成为中国的传媒大亨,还是成为中国智能算法的第一人? 1、低调的独角兽 ...阅读全文

正则表达式中?=和?:和?!的理解_这个昵称没有被占用吧的博客

正则表达式 ?: 的理解 swinm的博客 07-24 563 ?: 是 不想被捕获的时候使用 比如 ([a-z][0-9])+ 这个正则表达式里 ( ) 里面的内容被捕获了, 反向引用的时候可以用上 。 一般正则替换的时候用的多 像UBB代码 但是 如果写成 (?:[a-z][0-9])+ 跟上面 正则表达式 整体匹配是一样的 就是 不会捕获 ( )里内容了。 也就是不能使用 反向引用 比如 PHP 手册里 有个 正则替换的函数 preg_replace 有的列子 $string = 'April 15, 2003'; $pattern = '/(... 欢迎查看正则表达式(?!), (?:), (?=)的区别(正则预查) gx_dmm的博客 08-24 599 正则表达式 (?!), (...阅读全文

博文 2022-07-21 06:13:57 CSDN博客_正则表达式?!

DASH 协议调研总结

本文是花椒前端团队总结文章,其中有一些图片是网上找的,如侵,请告知,马上处理什么是流媒体流媒体(streaming media)是指采用流式传输技术在网络上连续实时播放的媒体格式,如音频、视频或多媒体文件,采用流媒体技术使得数据包得以像流水一样发送, 如果没有流媒体技术, 那么我们就要像以前用迅雷下电影一样, 下载整个影片才能观看, 讲DASH之前先简单介绍一下常用的直播协议: HLS, RTMP, HDS协议. 因为DASH协议其实就是组合了以前的一些技术而发展出来的.1. RTMPRTMP(Real Time Messaging Protocol)实时消息传送协议是Adobe Systems公司为Flash播放器和服务器之间音频、视频和数据传输 开发的开放协议。是我们市面上绝大多数部分P...阅读全文

博文 2020-11-22 14:23:54 知乎

为什么华为、百度纷纷选择OKR,放弃KPI?

![image.png](https://img-blog.csdnimg.cn/20200430154149291.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzQxMTM3NDkz,size_16,color_FFFFFF,t_70) 近几年,OKR 这个词越来越流行了。 OKR由intel首创,在 Google 使用后被推广,接着华为、百度等国内知名公司也都积极引入。 2017年,华为内部的一次绩效满意度调查中显示:开展OKR的团队在绩效管理各维度的满意度全面高于采用传统绩效管理方法的团队。 带团队、打硬仗,你们公司的...阅读全文

博文 2020-04-30 08:19:35 CORNERSTONE

停班不停工,远程办公助力击穿疫情下企业困局

2020年的开局太不寻常,一场新冠疫情闹得大家都过不好年,这个春节假期对于我们来说可能是史上最长春节。除了待在家里不能出门外,对我们生活并没有其他的影响。但疫情对各大企业的影响可不是那么简单了。 因疫情原因,很多企业都延长了假期,同时也组织团队成员们开启了远程办公的模式。没办法,日子还是要过的,开工也是要开工的,市场可不会等一切恢复正常才开始运转。 但作为职场从业者,我们也要体谅一下企业家,这两年很多中小企业发展也不容易,就业市场去年就已经相当严峻,如果企业抗不下去,那么从业者也会遭遇职场寒冬。 有人说了,企业那么有钱,不就延期上班,有那么夸张么? 能这么问的,一定是对现金流没啥概念的,很多时候不是企业没钱,而是现金流扛不过去,资金链断...阅读全文

理解RTMP、HttpFlv和HLS的正确姿势

登录注册写文章首页下载APPIT技术抽奖理解RTMP、HttpFlv和HLS的正确姿势北塔资讯关注赞赏支持理解RTMP、HttpFlv和HLS的正确姿势 需求比协议重要,理解你的需求在前,选择应用的协议在后! 第一、是什么? 解释这个问题有很大的难度,你所处的角度不同,决定了所需答案的不同。不管怎么样,协议是为了解决问题而生的,它有着天然的指向性。同时,也有着它自身的局限。这三个协议的背后,有着一段凄美的爱情故事。我说说,你听听,在想当初…. 千禧年的钟声敲响了,人们迈进了一个新的世纪。当时的移动和联通还不能互发信息,手机是什么样咱们心里也多少有点儿数。就在这样的环境里,就在这样一个网络生存条件下,一小撮内心躁动的人开始不安了!它就是Macromedia。 Macromedia 对,就是它。...阅读全文

分布式一致性之两阶段提交协议、三阶提交协议

前言最近在学习一些分布式系统中的基础知识,看到了前人总结的非常好的博客。在作者申明可以转载的情况下,将它们转载到自己的专栏。既为了建立一个完整的知识体系,也为了更好的理解原文。接下来的篇幅末尾,会将参考的篇幅列举出来,感兴趣的可以读一下参考的博客。笔者是在前人博客的基础上,加上自己的理解和适当的配图,使得文章更易理解。原文内容随着大型网站的各种高并发访问、海量数据处理等场景越来越多,如何实现网站的高可用、易伸缩、可扩展、安全等目标就显得越来越重要。为了解决这样一系列问题,大型网站的架构也在不断发展。提高大型网站的高可用架构,不得不提的就是分布式。在分布式一致性一文中主要介绍了分布式系统中存在的一致性问题。本文将简单介绍如何有效的解决分布式的一致性问题,其中包括什么是分布式事务,二阶段提交和三...阅读全文

博文 2020-02-21 14:59:51 知乎

UML 各种图总结精华

UML(Unified Modeling Language)是一种统一建模语言,为面向对象开发系统的产品进行说明、可视化、和编制文档的一种标准语言。下面将对UML的九种图+包图的基本概念进行介绍以及各个图的使用场景。一、基本概念 如下图所示,UML图分为用例视图、设计视图、进程视图、实现视图和拓扑视图,又可以静动分为静态视图和动态视图。静态图分为:用例图,类图,对象图,包图,构件图,部署图。 动态图分为:状态图,活动图,协作图,序列图。 1、用例图(UseCase Diagrams): 用例图主要回答了两个问题:1、是谁用软件。2、软件的功能。从用户的角度描述了系统的功能,并指出各个功能的执行者,强调用户的使用者,系统为执行者完成哪些功能。 2、类图(Class Diagrams): 用户根...阅读全文

博文 2020-04-12 09:17:10 知乎

Windows线程管理和调度机制概述_m_buddy的博客

1. 线程管理 (1)线程,有时被称为轻量级进程,是程序执行流的最小单元。一个标准的线程由线程ID,当前指令指针,寄存器集合和堆栈组成。另外,线程是进程中的一个实体,是被系统独立调度和分派的基本单位,线程自己不拥有系统资源,只拥有一点在运行中必不可少的资源,但它可与同属一个进程的其它线程共享进程所拥有的全部资源。 (2)进程(Process)定义了一个执行环境,包括它自己私有的地址空间、一个句柄表,以及一个安全环境;线程(thread)则是一个控制流,有自己的调用栈(call stack),记录了执行的历史。每个进程都包含一个或多个线程,当进程被初始化创建时系统为该进程创建第一个线程;当最后一个线程结束时,进程也随之结束。 说道这里就需要说到线程的工作模式: 进程中的线程既可以在用户模式下运...阅读全文

博文 2020-07-14 02:25:32 CSDN博客_windows线程调度

GROUP BY

# GROUP BY # description GROUP BY GROUPING SETS | CUBE | ROLLUP 是对 GROUP BY 子句的扩展,它能够在一个 GROUP BY 子句中实现多个集合的分组的聚合。其结果等价于将多个相应 GROUP BY 子句进行 UNION 操作。 GROUP BY 子句是只含有一个元素的 GROUP BY GROUPING SETS 的特例。 例如,GROUPING SETS 语句: SELECT a, b, SUM( c ) FROM tab1 GROUP BY GROUPING SETS ( (a, b), (a), (b), ( ) ); 其查询结果等价于: SELECT a, b, SUM( c ) FROM tab1 GROUP ...阅读全文

博文 2021-04-17 06:03:08 Apache Doris

JAVA8 之 Lambda 表达式与方法引用(二) - 当年明月123

在上一章我们介绍了函数式编程的概念和函数式接口。Lambda 表达式就是函数式编程的具体体现,它需要借助函数式接口才能应用在 Java 语言中。 定义 在编程语言中,lambda 表达式是一种用于指定匿名函数或者闭包的运算符。Lambda 可以很清晰地表达一个匿名函数,可以被传递。有了 Lambda 表达式之后,Lambda 表达式为 Java 添加了缺失的函数式编程特性,使我们能将函数当作一等公民看待。 在将函数作为一等公民的语言中,Lambda 表达式的类型是函数。但在 Java 中,Lambda 表达式是对象,他们必须依附于一类特别的对象类型-函数式接口,因为 Java 要保持向后兼容。 Java 的 Lambda 表达式是一种匿名函数,它是没有声明的方法,即没有访问修饰符,返回值声明...阅读全文

博文 2020-06-09 10:50:30 博客园

SpringCloudAlibaba高并发仿斗鱼直播平台实战

## SpringCloudAlibaba高并发仿斗鱼直播平台实战 download:https://www.zxit666.com/6371/ Dubbo服务调用原理剖析 段落一:简介 Dubbo是一款高性能、轻量级的分布式服务框架,主要用于解决分布式应用中的服务调用和管理问题。它提供了多种通信协议和负载均衡策略,支持服务的注册与发现、远程调用和容错处理等功能。 段落二:服务注册与发现 在Dubbo中,服务注册与发现是实现服务调用的基础。当服务提供者启动时,它会将自己的地址信息注册到注册中心。而服务消费者则从注册中心获取提供者的地址,并建立与提供者的连接。Dubbo支持多种注册中心,如Zookeeper、Consul等,通过注册中心的协调,实现了服务的动态发现和路由。 段落三:远程调用 D...阅读全文

[完结26章]Java主流分布式解决方案多场景设计与实战

![1.png](http://static.itsharecircle.com/231221/550e98b48493de30d73d64caedef007f.png) java中常用的分布式方法有哪些呢? 分布式系统分布式存储:GFS,HDFS(HBase) 分布式计算系统: MapReduce 消息中间件: Kafka 分布式处理管理器: Zookeeper RocketMQ : 负载均衡技术 分布式缓存技术: Redis 分布式锁 分布式系统设计 分布式优化策略 众所周知,随着互联网数据井喷式的发展,分布式技术应运而生。分布式因其高性能、高可用、高扩展的特点,成为微服务项目的基石。本篇文章将针对分布式六大主流问题进行多方案对比解析,多场景实战讲解,让大家深度掌握分布式原理和实战。我将...阅读全文

博文 2023-12-21 15:24:24 udbmaidns

分布式理论

# 分布式理论 - BASEBASE是“Basically Available, Soft state, Eventually consistent(基本可用、软状态、最终一致性)”的首字母缩写。其中的软状态和最终一致性这两种技巧擅于对付存在分区的场合,并因此提高了可用性。@pdai分布式理论 - BASE什么是BASECAP 与 BASE 关系CAP 与 ACID 关系# 什么是BASEeBay 的架构师 Dan Pritchett 源于对大规模分布式系统的实践总结,在 ACM 上发表文章提出 BASE 理论,BASE 理论是对 CAP 理论的延伸,核心思想是即使无法做到强一致性(Strong Consistency,CAP 的一致性就是强一致性),但应用可以采用适合的方式达到最终一致性(...阅读全文

博文 2023-11-23 14:11:14 BASE | Java 全栈知识体系

C/C++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器

![1.png](http://static.itsharecircle.com/240219/68a1695cc864003a3d360c924918065a.png) 音视频技术涉及广泛。包括语音信号处理、数字图像处理、信息论、封装格式、编解码、流媒体协议、网络传输、渲染、算法等方面。在现实生活中,音视频也扮演着越来越重要的角色,比如 视频会议、直播、短视频、播放器、语音聊天 等。接下来将从几个维度进行介绍:简单理解音视频原理、音视频理论基础、音视频学习路线、媒体协议和音视频发展方向。 一、C++音视频需要掌握哪些技术 1、搞音视频必须有扎实的C/C++开发语言基础、 JNI基础,学会如何交叉编译 FFmpeg 等 C/C++库; 2、其次,我们需要阅读大量的音视频规范/协议文档(如H2...阅读全文

博文 2024-02-19 10:02:28 feilipu2023nui

还在为如何高效绘制时序图而苦恼?让PlantUML来拯救你!

作为一个软件攻城狮,在日常板砖中,经常会涉及到和其他模块的交互,为了理清这些交互关系,我们需要绘制各个模块间的时序交互图。以前绘制这些交互时序图,用的都是visio,实际使用下来感觉也不是很方便(可能我比较菜,不是visio大神),痛点如下:在绘制时序图时,我们经常会对各个模块的位置和交互的线序进行调整,用visio画图的话,调整模块位置和线序真是又酸又爽。2. 操作不够行云流水,一会儿拖个框,一会儿打个字,要是画图都能像打字一样方便该多好。3. OFFICE全家桶的启动速度你懂得。。。从学生时代我就一直在忍受visio带来的诟病,无奈毕业论文钦定要这玩意画图,不然我早就送他去。。。。。。直到工作后遇到这款神器!!!!!!PlantUML简介顺序图用例图类图对象图活动图组件图部署图状态图时序...阅读全文

博文 2023-05-05 08:35:08 知乎

基于Consul的服务发现 - prometheus

Consul是由HashiCorp开发的一个支持多数据中心的分布式服务发现和键值对存储服务的开源软件,被大量应用于基于微服务的软件架构当中。Consul初体验用户可以通过Consul官网https://www.consul.io/downloads.html下载对应操作系统版本的软件包。Consul与Prometheus同样使用Go语言进行开发,因此安装和部署的方式也极为简单,解压并将命令行工具放到系统PATH路径下即可。在本地可以使用开发者模式在本地快速启动一个单节点的Consul环境:$ consul agent -dev==> Starting Consul agent...==> Consul agent running! Version: 'v1.0.7' Node ID: 'd7...阅读全文

C/C++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器

![1.png](http://static.itsharecircle.com/240219/e8f8c36d2b18f9cb1229c509c6f766ca.png) 音视频涉及语音信号处理、数字图像处理、信息论、封装格式、编解码、流媒体协议、网络传输、渲染、算法等。在现实生活中,音视频扮演着越来越重要的角色,比如视频会议、直播、短视频、播放器、语音聊天等。因此,从事音视频是一件比较有意义的事情,机遇与挑战并存。 音频基础 音频包括:采样率、声道数与声道布局、采样格式、PCM与波形图、音质、音频编码格式、音频封装格式。 采样率 声道布局 采样格式 PCM与波形图 音质:音色、音调、音量 编码格式:mp3、aac、ac3、opus等 封装格式: mp3、m4a、flac、wav等 视频基础...阅读全文

博文 2024-02-19 14:38:57 uygbndjuygsn

CDN在互联网直播中的运用与性能优化

本文分享自天翼云开发者社区《CDN在互联网直播中的运用与性能优化》,作者:不知不觉随着互联网技术的不断发展,互联网直播已成为人们获取信息、娱乐、学习等多种需求的重要途径之一。然而,在直播过程中,由于网络延迟、卡顿等问题,观众的观看体验往往受到影响。为了解决这些问题,内容分发网络(CDN)技术被广泛应用于互联网直播领域,本文将探讨CDN在互联网直播中的运用与性能优化。一、CDN的基本概念CDN是一种分布式的内容分发网络,它通过在全球各地的节点部署缓存服务器,将网站的内容缓存到这些节点上,当用户访问网站时,CDN会根据用户的地理位置,选择距离用户最近的缓存节点来提供服务,从而减少网络延迟,提高用户访问速度。二、CDN在互联网直播中的应用1.直播流媒体传输在互联网直播中,直播流媒体传输是非常重要的...阅读全文

网络视频的防盗与破解

网络视频(Web 视频)是指利用 HTML5 技术在浏览器中播放的视频,这类视频资源通常可以被随意下载,某些行业(比如教培行业)如果希望保护自己的视频资源不被下载,就需要对视频做防盗链处理。 防盗链需要着重加强两个方面的安全性:网络传输和客户端。 网络传输安全网络传输层面能做的不多,HTTPS是必要的,除此之外的防护措施效果也有限。 验证 Referer防盗链最常规的手段是验证Referer,而伪造Referer几乎零成本,所以它只防君子不防小人,没用。 请求防重放盗链可以理解成一种对静态资源的“重放攻击”,所以可以用应对重放攻击的思路来改造静态资源请求,通过一个动态接口返回静态资源,并且加入变量让动态请求短时间内失效,比如随机数、时间戳、流水号等等。 这种方式可以做到让链接地址没有复用价值...阅读全文

博文 2024-03-29 16:54:25 前端路上

c/c++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器

c/c++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器 视频课程分享——c/c++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器,附源码。 容器/文件(Conainer/File):即特定格式的多媒体文件,比如mp4、flv、mkv等。 媒体流(Stream):表示时间轴上的一段连续数据,如一段声音数据、一段视频数据或一段字幕数据,可以是压缩的,也可以是非压缩的,压缩的数据需要关联特定的编解码器(有些码流音频他是纯PCM)。 数据帧/数据包(Frame/Packet):通常,一个媒体流是由大量的数据帧组成的,对于压缩数据,帧对应着编解码器的最小处理单元,分属于不同媒体流的数据帧交错存储于容器之中。 编解码器:编解码器是以帧为单...阅读全文

博文 2024-01-18 15:41:32 haoighd6668

【完结26章】Java主流分布式解决方案多场景设计与实战

【完结26章】Java主流分布式解决方案多场景设计与实战 给大家分享一套java课程——Java主流分布式解决方案多场景设计与实战,已完结26章,附源码+文档下载。 Ceph的核心组件包括Client客户端、MON监控服务、MDS元数据服务、OSD存储服务,各组件功能如下: Client客户端:负责存储协议的接入,节点负载均衡 MON监控服务:负责监控整个集群,维护集群的健康状态,维护展示集群状态的各种图表,如OSD Map、Monitor Map、PG Map和CRUSH Map MDS元数据服务:负责保存文件系统的元数据,管理目录结构 OSD存储服务:主要功能是存储数据、复制数据、平衡数据、恢复数据,以及与其它OSD间进行心跳检查等。一般情况下一块硬盘对应一个OSD。 分布式文件系统(D...阅读全文

博文 2023-12-22 11:30:36 woaiwodejia333

分布式系统中的分布式链路追踪与分布式调用链路

本文分享自天翼云开发者社区《分布式系统中的分布式链路追踪与分布式调用链路》,作者:c****w在分布式系统中,由于服务间的调用关系复杂,需要实现分布式链路追踪来跟踪请求在各个服务中的调用路径和时间消耗。这对问题排查和性能监控都很重要。常用的分布式链路追踪实现有基于日志的和基于分布式追踪系统的两种方式:基于日志的实现方式是在每个服务中记录自己的请求id和上下文信息,并在日志中打印出来。这样可以通过聚合各个服务的日志来还原整个请求链路。基于分布式追踪系统的实现方式是:使用开源Tracing系统,比如Zipkin。每个服务都需要集成Tracing客户端库。客户端在发起请求时,生成一个唯/一的TraceId并传递给下游服务。每个服务接收到请求都需要记录Span数据,包括操作名、时间戳等。所有Span...阅读全文

博文 2024-01-19 18:30:51 Tianyiyun

C/C++音视频实战-gb28181系列-pjsip-sip栈-h264安防流媒体服务器

![1.png](http://static.itsharecircle.com/240219/0c9285fea12eaf18e15af80a4df5d794.png) 很高兴给大家讲解关于C++音视频实战方面的知识,本文我将从零设计并开发可靠的高性能的音视频安防流媒体服务器,为大家提供安防流媒体领域的专业知识和实践经验。我将按照GB28181标准来完成监控设备之间的注册、保活、设备资源、 回放记录以及实时/回放流获取和推送。 文章涵盖了上下级的信令和流媒体两套服务器的开发。信令服务器负责处理设备之间的SIP信令交互和控制信息传输,而流媒体服务器则负责音视频实时流和回放流的传输以及视频编解码数据的处理。各个技术模块的处理包括都是按照解耦合思想进行开发,可兼容大家以后从事相关项目不同模块的搭...阅读全文

博文 2024-02-19 08:20:48 udbmaidns

CDN与云计算技术的结合:专业视角下的深度融合

本文分享自天翼云开发者社区《CDN与云计算技术的结合:专业视角下的深度融合》,作者:大利随着信息技术的不断发展,内容分发网络(CDN)与云计算技术作为两种重要的互联网基础设施,其结合已成为行业发展的重要趋势。CDN负责高效地分发和传输互联网内容,而云计算则提供强大的计算、存储和应用服务。当这两者结合时,能够为用户提供更加优质、高效的服务体验。本文将从专业的角度深入解析CDN与云计算技术的结合,探讨其优势、应用场景以及未来发展趋势。一、CDN与云计算技术结合的优势资源共享与池化:CDN与云计算的结合使得大量的计算资源和存储资源得以共享和池化,提高了资源的利用率。CDN节点可以作为云计算的一部分,提供计算和存储服务,而云计算平台也可以为CDN提供强大的计算能力和存储支持。弹性扩展与灵活性:云计算...阅读全文

视频直播场景下对象存储的应用

本文分享自天翼云开发者社区《视频直播场景下对象存储的应用》,作者:王****宇视频直播是当前比较火的互联网应用场景,越来越多的人通过直播进行娱乐和营销带货。国家规定,直播带货类需提供不低于3年的存档回看能力,而其他直播内容也需要提供不低于60天的视频保存能力。具体要求可参看:《互联网直播服务管理规定》:第十六条 互联网直播服务提供者应当记录互联网直播服务使用者发布内容和日志信息,保存六十日。《网络交易监督管理办法》:第二十条 通过网络社交、网络直播等网络服务开展网络交易活动的网络交易….网络直播服务提供者对网络交易活动的直播视频保存时间自直播结束之日起不少于三年。因此,直播服务提供商需要提供直播录制和归档能力,整个流程中,与存储相关的只有在录制时会把录制的视频保存在对象存储中通常业务逻辑:1...阅读全文

【完结18章】C++大型流媒体项目-从底层到应用层千万级直播系统实战

【完结18章】C++大型流媒体项目-从底层到应用层千万级直播系统实战 一、什么是流媒体。 流媒体是一种以流的形式在网络上进行数字媒体(音频、视频)传输的技术。 它将频、音视频之类的连续媒体经压缩编码、数据打包后按照一定的时间间隔要求连续地发送给接收方,接收方在后续数据不断到达的同时对接收到的数据进行重组、解码和播放。 如果你对流媒体感兴趣的话,可以看一下 Live555,一个更流行且更专业的流媒体库。 它支持了各种标准流媒体传输协议,如 RTP/RTCP、RTSP、SIP,实现了对多种音视频编码格式的音视频数据的流化、接收和处理等支持。播放 VLC 和 MPlayer 都是基于它来实现流媒体播放的功能,并且非常适合嵌入式领域。 二、流媒体特征 (1)内容主要是时间上连续的媒体数据(音频、视频...阅读全文

博文 2024-08-16 16:05:42 woaidaqipaiqiu1122

登上国际舞台!天翼云P4 EIP网关流量管理创新方案亮相CCGrid 2024!

5月8日,第24届IEEE/ACM集群、云和互联网计算国际研讨会(CCGrid 2024)在美国费城隆重举行。来自中国、美国、印度、法国等国家的学术及产业界代表齐聚一堂,围绕云计算相关议题进行深入探讨和交流,并带来最前沿的技术展示。天翼云云网产品事业部弹性网络产品线总监侯叶飞出席大会硬件系统和网络分论坛,对本次被CCGrid长文收录的论文《Towards Better QoS and Lower Costs of P4 EIP Gateway at the Edge》进行专业解析,并分享了天翼云在开放数据中心网络及可编程网关领域的创新与实践经验,再次彰显了天翼云的技术创新实力。​作为一种专为描述数据包处理的编程语言,P4允许云网络工程师对数据面网关的转发逻辑进行编程,具备较高的灵活性和可定制...阅读全文

博文 2024-05-31 10:24:16 Tianyiyun

上榜!天翼分布式云操作系统入选“科创中国”先导技术榜单!

在近日召开的第二十六届中国科协年会上,中国科协正式发布2023年“科创中国”系列榜单,榜单包括先导技术榜、新锐企业榜、融通创新组织榜、技术经理人先锋榜等。天翼云自主研发的天翼分布式云操作系统入选先导技术榜,充分展现了在科技创新方面的硬实力。​“科创中国”系列榜单由中国科协设立。2023年“科创中国”系列榜单聚焦“技术攻关+成果转化+组织赋能+人才支撑”全过程创新生态链,挖掘一批前沿技术成果、潜力型科创企业、产学研协同创新组织、技术转移转化人才,打造特色与引领兼备的榜单品牌。其中,先导技术榜遴选出具有产业先导意义和广阔市场前景的前沿技术。天翼分布式云操作系统的成功入选,代表了权威机构对天翼云科技创新能力的高度认可。天翼分布式云操作系统TeleCloudOS(简称:云操作系统)核心组件自研,突破...阅读全文

博文 2024-07-15 16:43:17 Tianyiyun

【完结14章】MQ大牛成长课--从0到1手写分布式消息队列中间件

【完结14章】MQ大牛成长课--从0到1手写分布式消息队列中间件 消息中间件是一种用于构建分布式系统的软件基础设施,提供了一种异步的,可靠的,可伸缩的消息传递机制。 提高系统性能首先考虑的是数据库的优化,但是数据库因为历史原因,横向扩展是一件非常复杂的工程,所有我们一般会尽量把流量都挡在数据库之前。 不管是无限的横向扩展服务器,还是纵向阻隔到达数据库的流量,都是这个思路。阻隔直达数据库的流量,缓存组件和消息组件是两大杀器。 什么是消息队列 消息队列(Message queue,简称MQ),是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。从字面理解就是一个保存消息的一个容器。 常见的消息队列 当前使用较多的消息队列有RabbitMQ、RocketM...阅读全文

博文 2024-09-24 14:57:24 woaidaqipaiqiu1122

redis渐进式rehash

本文分享自天翼云开发者社区《redis渐进式rehash》,作者:l****nRedis是k-v型数据库,其内部设计了一种dict类型的数据结构用来存储键值结构。dict 通常的存储结构是 Key-Value 形式的,通过 Hash 函数对 key 求 Hash 值来确定 Value 的位置,因此也叫 Hash 表,是一种用来解决算法中查找问题的数据结构,默认的算法复杂度接近 O(1)。使用哈希表总是会遇到哈希碰撞问题,dict使用拉链法将发生碰撞的元素组成链表,挂在发生碰撞的桶下,但是随着存储元素的不断增加,碰撞发生的几率也不断增大,一个桶下链接的链表长度越来越长,定位一个key的时间复杂度就无法保证了,redis作为内存数据库,本身追求的是更高的处理性能,线性增加的耗时无疑是不能接受的,...阅读全文

博文 2024-08-02 16:55:12 Tianyiyun

C++大型流媒体项目-从底层到应用层千万级直播系统实战(完结)

C++大型流媒体项目-从底层到应用层千万级直播系统实战(完结)​获课:jzit.top/5300/C++在大型流媒体项目中的应用是非常广泛的,尤其是在要求高性能、低延迟和高可靠性的场景下。成功开发和部署一个大型流媒体项目通常需要精心设计和技术选型。以下是一些关键的步骤和考虑因素,帮助你了解如何实现C++大型流媒体项目的成功:1.明确需求和目标在开始开发之前,必须明确项目的目标。流媒体项目通常包括直播、视频点播(VOD)、实时通信等不同类型的流媒体服务。明确需求有助于制定清晰的架构设计和技术选型。直播流媒体: 如实时视频、音频传输,通常要求低延迟。点播流媒体: 视频的按需播放,可以容忍较高的延迟,但需要良好的缓存和分发策略。实时通信: 例如视频会议、在线互动,这要求非常低的延迟和高可用性。2....阅读全文

干货|8000字长文,深度介绍Flink在字节跳动数据流的实践!

DataLeap 字节跳动数据流的业务背景 数据流处理的主要是埋点日志。埋点,也叫Event Tracking,是数据和业务之间的桥梁,是数据分析、推荐、运营的基石. 用户在使用App、小程序、Web等各种线上应用时产生的行为,主要通过埋点的形式进行采集上报,按不同的来源分为客户端埋点、Web端埋点、服务端埋点。 不同来源的埋点都通过数据流的日志采集服务接收到MQ,然后经过一系列的Flink实时ETL对埋点进行数据标准化、数据清洗、实时风控反作弊等处理,最终分发到下游,主要的下游包括ABTest、推荐、行为分析系统、实时数仓、离线数仓。 所以,如果用一句话来概括数据流主要业务,其实就是埋点的收集、清洗、分发。 目前在字节跳动,清洗和分发环节是基于Flink搭建的。 01 - 数据流业务规模 ...阅读全文

博文 2024-10-28 14:51:29 亿信华辰

音视频流媒体高级开发(FFmpeg6.0/WebRTC/RTMP/RTSP/编码解码)

xia仔ke:xingkeit.top/9538/ 引言 FFmpeg是一个强大的开源多媒体框架,能够录制、转换和流式传输音频和视频。由于其广泛的功能和灵活性,FFmpeg被广泛应用于视频处理、音频转换、流媒体传输等多个领域。尽管FFmpeg的命令行工具可能对初学者而言略显复杂,但通过对其命令的分类和查询,用户可以更有效地利用FFmpeg进行多媒体处理。本文将对FFmpeg命令进行分类,并介绍每一类命令的主要功能。 1. 输入和输出选项 FFmpeg的命令通常涉及对输入和输出文件的操作。输入和输出选项用于指定要处理的文件及其格式,主要包括以下几个方面: 输入文件:使用-i选项指定要处理的输入文件,可以是音频、视频或图像文件。 输出文件:在命令末尾指定输出文件的名称和格式,FFmpeg会根据文...阅读全文

博文 2025-01-22 22:01:20 lxy123456

分布式系统心跳机制(一)

本文分享自天翼云开发者社区《分布式系统心跳机制(一)》,作者:白杨分布式系统架构当前大部分分布式系统架构如下图:​有一个中心节点来存储集群元数据和管理work儿节点,中心节点采用主备模式来实现HA。当中心节点主故障后,备节点接管业务成为主节点。我们下面讨论的心跳机制就是基于这种分布式架构而设计的。心跳设计目标:1.master控制节点的切换,不可以影响server的心跳。2.server可以感知到master的每一次切换。3.master在任意场景下都不会丢失server故障的事件。4.心跳可以作为其它控制消息是否需要重试的依据。心跳Clien端设计:​a.worker2启动后只有master的列表,并不知道哪个是leader,因此先广播bootstrap信息。b.只有leader节点响应b...阅读全文

博文 2024-07-31 11:25:40 Tianyiyun

MQ大牛成长课–从0到1手写分布式消息队列中间件(完结)

MQ大牛成长课–从0到1手写分布式消息队列中间件(完结) 获课:www.bcwit.top/5291/ 获取ZY↑↑方打开链接↑↑ 如何吃透分布式MQ框架 要吃透分布式消息队列(MQ)框架,首先需要理解消息队列的基础概念、工作原理以及如何在分布式系统中应用它。以下是一个从基础到进阶的学习路线,可以帮助你全面掌握分布式消息队列框架。 1. 理解消息队列的基础概念 1.1 消息队列(MQ)的基本定义 消息队列(Message Queue, MQ)是一种进程间通信的中间件,它允许应用程序之间通过消息的形式交换信息。消息队列的核心是解耦系统间的依赖关系,使得生产者和消费者可以独立地运行。MQ系统通常支持异步通信,可以提高系统的性能和扩展性。 1.2 MQ的基本概念 生产者:产生消息的应用。 消费者:...阅读全文

「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战

「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战​获课:「完结18章」C++大型流媒体项目-从底层到应用层千万级直播系统实战获取ZY↑↑方打开链接↑↑C++通用基础函数库实现构建一个C++通用基础函数库是一个有助于提高代码复用性和开发效率的好方法。这个库可以包含一系列常用的数据结构、算法以及工具函数,以支持各种编程任务。以下是一些建议的模块和它们可能包含的功能:1. 数据结构智能指针:尽管C++11已经引入了std::shared_ptr, std::unique_ptr等,但你可以实现自己的版本来学习内存管理。容器类:如链表、栈、队列、哈希表等,这些可以基于STL(标准模板库)进行扩展或自定义实现。2. 算法排序算法:实现快速排序、归并排序、堆排序等多种排序算法,并考虑...阅读全文

博文 2024-12-22 15:31:51 khujnk

NestJS从拔高到精通,大型复杂业务架构落地实践

xia仔ke:itazs.fun/13402/ 一、NestJS 简介 NestJS 是一个基于 Node.js 的渐进式框架,用于构建高效、可维护和可扩展的服务器端应用程序。它结合了面向对象编程(OOP)、函数式编程(FP)和响应式编程(RP)的最佳特性,深受 Angular 开发者的喜爱,因为它的架构和概念与 Angular 有很多相似之处。 核心概念 模块(Modules):NestJS 应用程序是由模块构建的。模块是一个带有@Module()装饰器的类,这个装饰器提供了元数据,用于组织应用程序的结构。例如,一个典型的模块可能包含控制器(Controllers)、服务(Services)、提供者(Providers)等。模块可以导入其他模块,实现功能的复用和组合。 控制器(Contro...阅读全文

博文 2024-11-22 16:23:53 17603257127

C++大型流媒体项目-从底层到应用层千万级直播系统实战(完结)

xia仔ke:xingkeit.top/9593/ 引言 CentOS(Community ENTerprise Operating System)是一种基于Red Hat Enterprise Linux(RHEL)的开源Linux发行版,广泛应用于服务器环境。由于其稳定性、安全性和长生命周期,CentOS被许多企业和开发者所青睐。本文将探讨CentOS系统的安装过程,包括准备工作、安装步骤、配置与优化以及后续维护等方面。 1. CentOS概述 CentOS是一种社区驱动的Linux发行版,旨在提供一个免费的、企业级的操作系统。它与RHEL保持二进制兼容,但不提供官方支持。CentOS的发布周期通常与RHEL相匹配,确保用户能够获得与企业级版本相似的稳定性和安全性。因此,CentOS成为...阅读全文

博文 2025-01-22 22:19:56 www123456

音视频流媒体高级开发(FFmpeg6.0/WebRTC/RTMP/RTSP/编码解码)

音视频流媒体高级开发(FFmpeg6.0/WebRTC/RTMP/RTSP/编码解码)​xia仔ke:itazs.fun/5158/获取资源:上方URL获取资源构建一个支持多种协议(如FFmpeg、WebRTC、RTMP、RTSP)的流媒体系统,涉及到视频的编码、解码、传输和播放等多个方面。以下是一个详细的指南,帮助你理解并实现这些技术。1. FFmpeg1.1 简介FFmpeg 是一个开源的多媒体框架,可以用来记录、转换和流式传输音视频。它支持多种编解码器和协议,是处理音视频的首选工具。1.2 安装sh深色版本# 在Ubuntu上安装FFmpegsudo apt update sudo apt install ffmpeg 1.3 常用命令转码:将一个视频文件转码为另一种格式。sh深色版本...阅读全文

如何让JS代码变的安全?

本文分享自天翼云开发者社区《如何让JS代码变的安全?》,作者:温****双前端JS代码,直接暴露在浏览器中,任何访问者,都可以随意查看代码。这就导致代码可以被分析、复制、盗用等,进而引发安全问题,如被利用代码bug攻击、揭露功能逻辑、复制出雷同应用等等。对JS代码进行保护:混淆&加密,使代码不可读。即:它人依然可以看到代码,但看到的是加密的代码、无法理解代码,更无法修改。通过混淆加密,使代码变的难以阅读和理解。如果说混淆后机器能执行,人就能理解,只是需要的时间长短问题。这种极端的说法,从理论上来说没错,如果可以投入足够长的时间,程序员甚至可以直接用0101写代码。而从实际角度而言,一段代码如果保护后分析需要的时长,超过开发需要的时长,保护的目的就达到了,就会劝退99.9999%对它有想法的正...阅读全文

博文 2024-09-12 11:22:09 Tianyiyun

百万级高并发WebRTC流媒体服务器设计与开发(完结)

百万级高并发WebRTC流媒体服务器设计与开发(完结) 获课:xuelingit.xyz/1636/ 获取ZY↑↑方打开链接↑↑ 设计和开发一个百万级高并发的WebRTC流媒体服务器是一个挑战性极高的任务,涉及到多个方面的技术,包括实时传输、分布式架构、负载均衡、服务器性能优化等。下面我将从系统设计的角度,详细介绍如何进行高并发WebRTC流媒体服务器的设计与开发。 1. 需求分析与架构设计 流媒体类型: 首先需要明确支持的流媒体类型,包括视频、音频的实时传输,并确保其低延迟。 并发量: 根据百万级的并发量,服务器的负载需要非常高,因此需要考虑分布式架构来确保系统的可扩展性。 带宽与延迟要求: WebRTC要求低延迟(通常小于500ms),带宽使用高效,尤其是在面对多个并发流时,网络带宽的管...阅读全文

零基础,Scala系统入门与实战

获课: 97java. xyz/ 5005/ 获取ZY↑↑方打开链接↑↑ 标题:探索Scala系统:入门与实战的优势 导语:在众多编程语言中,Scala以其独特的魅力脱颖而出。作为一种多范式编程语言,Scala兼具面向对象和函数式编程的特点,为开发者带来了诸多便利。本文将带您了解Scala系统的入门与实战优势,助力您在编程领域更上一层楼。 一、Scala入门优势 易于上手 Scala基于Java虚拟机(JVM)运行,与Java有着良好的兼容性。对于有一定Java基础的开发者来说,学习Scala可谓是水到渠成。Scala语法简洁明了,易于理解,让初学者能够快速入门。 强大的类型系统 Scala拥有强大的类型系统,能够在编译阶段就发现许多潜在的错误,提高代码质量。此外,Scala的类型推断功能让...阅读全文

博文 2025-01-24 20:56:17 xxmmmy2

正则表达式中括号的几类作用

正则表达式中的括号(`()`)有多种作用,主要用于分组和捕获。以下是括号的主要作用及其详细解释: ### 1. 分组(Grouping) 括号可以用来将正则表达式的一部分括起来,形成一个子表达式。这有助于控制匹配的优先级和范围。 #### 示例 ```java String regex = "(ab)+"; ``` - `ab`作为一个整体被括起来,`+`表示匹配一个或多个`ab`。 ### 2. 捕获组(Capturing Groups) 括号可以用来捕获匹配的子表达式,以便在后续处理中使用。捕获组可以被提取和引用。 #### 示例 ```java String input = "The price is 123 dollars and the tax is 45 cents."; Str...阅读全文

博文 2024-12-10 10:20:03 zhidiantech

(完结16章)SpringBoot2 仿B站高性能前端+后端项目

(完结16章)SpringBoot2 仿B站高性能前端+后端项目​获课:(完结16章)SpringBoot2 仿B站高性能前端+后端项目获取ZY↑↑方打开链接↑↑SpringBoot2 实现B站核心功能(视频流、弹幕流)实现类似B站的核心功能,如视频流和弹幕流,是一个复杂且庞大的项目。虽然使用Spring Boot 2可以提供一个强大的后端框架,但实现这些功能还需要结合其他技术和工具。以下是一个简化的步骤指南,帮助你了解如何使用Spring Boot 2来实现这些核心功能的基本框架。1. 项目初始化首先,使用Spring Initializr或你喜欢的IDE创建一个Spring Boot项目,并添加必要的依赖,如Spring Web、Spring Data JPA(或你选择的数据库访问技术)...阅读全文

博文 2024-12-22 15:38:54 khujnk

服务网格的基本概念

本文分享自天翼云开发者社区《服务网格的基本概念》,作者:cate服务网格(Service Mesh)由服务治理创建并托管Istio的控制平面。具备简单、低成本、高可用、无需运维管理Istio控制平面的特点。SidecarSidecar模式是一种单节点、多容器的应用设计形式。Sidecar主张以额外的容器来扩展或增强主容器,而这个额外的容器被称为Sidecar容器。Istio网关(Gateway)作为 Istio 自定义资源之一,Istio 网关(Gateway)定义了在网格出入口操作的负载均衡器,用于接收传入或传出的 HTTP/TCP 连接。它描述了需要公开的一组端口、要使用的协议类型、负载均衡器的 SNI 配置等信息。Skywalking一款优秀的国产 APM 工具,包括了分布式追踪、性能...阅读全文

2024 鸿蒙零基础快速实战-仿抖音App开发( ArkTS版 )|完结

2024 鸿蒙零基础快速实战-仿抖音App开发( ArkTS版 )|完结鸿蒙零基础快速实战——仿抖音App开发随着鸿蒙操作系统的逐渐普及,越来越多的开发者开始探索如何在鸿蒙平台上开发应用。鸿蒙系统(HarmonyOS)由华为推出,旨在为多个终端设备提供统一的操作系统。作为一款面向智能手机、平板、智能穿戴设备等多种硬件的操作系统,鸿蒙提供了很多优秀的开发工具和API,帮助开发者实现更加高效的跨平台应用。本文将通过实战案例,帮助零基础的开发者快速上手鸿蒙开发,实战开发一个仿抖音(TikTok)App,主要包括视频播放、用户互动(点赞、评论)、视频上传等功能。通过这个项目,你将掌握鸿蒙开发的基本概念和实践技巧。一、项目需求分析我们的目标是开发一个仿抖音的应用,主要实现以下几个功能:视频播放:支持用...阅读全文

博文 2025-02-11 17:15:16 feng_yu123