后端
SpringBoot集成ffmpeg实现视频转码播放
背景
之前构建过文件预览服务,对于视频部分前端播放组件限制只能为mp4格式,为了支持更多视频格式决定对方案进行升级,由于视频格式较多,针对每一种格式定制选择播放器不太现实,决定对视频源统一转码,转码后的格式为mp4,兼容性稳定且前后端改造工作较小
配置
maven添加java-all-deps引用,该引用内置不同版本ffmpeg文件,为了避免打包后文件过大,排除不需要的平台兼容支持
单例模式你会几种写法?
这阵子在刷Spring的书籍。在看Spring的时候又经常会看到“单例”,“工厂”这些字样。
所以,就先来说说单例和工厂设计模式啦,这两种模式也是很常见的,我看很多面经都会遇到这两种模式~
本文主要讲解单例设计模式,如果有错的地方希望能多多包涵,并不吝在评论区指正!
一、单例模式概述
单例模式定义很简单:一个类中能创建一个实例,所以称之为单例!
那我们什么时候会用到单例模式呢??
那我们想想既然
【JavaScript快速排序算法】不同版本原理分析
说明
快速排序(QuickSort),又称分区交换排序(partition-exchange sort),简称快排。快排是一种通过基准划分区块,再不断交换左右项的排序方式,其采用了分治法,减少了交换的次数。它的基本思想是:通过一趟排序将要排序的数据分割成独立的两部分,其中一部分的所有数据都比另外一部分的所有数据都要小,然后再按此方法对这两部分数据分别进行快速排序,整个排序过程可以递归或迭代进行,以
从零开始学习 Go 语言:快速入门指南(完整版)
一、为什么选择 Go 语言?Go(又称 Golang)是 Google 开发的静态类型编程语言,于 2009 年正式发布,目前最新稳定版本为 Go 1.21。其设计初衷是为了解决当时大型分布式系统的开发痛点。主要优势详解:
高效性能:
直接编译为机器码,无需虚拟机
执行效率接近 C++,典型基准测试表现:
Go 1.21 比 Python 3.
SpringBoot 响应数据
SpringBoot可以很方便地响应数据。
内容协商:
根据客户端接收能力的不同,返回不同类型的媒体数据。
1.响应Json数据
在方法上加上@ResponseBody,便可以给前端返回json数据。如下:
2.响应XML数据
1.首先要引入xml依赖:
这时我们发现上一节返回的person变成了xml格式,这是因为网页可接受类型xml要优先于json,因
SpringBoot知识 day03
一、SpringBoot的配置文件
1.1 SpringBoot配置文件类型
1.1.1 SpringBoot配置文件类型和作用
SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,就可以使用 application.properties或者application.yml(application.yaml)进行配置。
说说 Redis 缓存穿透场景与相应的解决方法
Redis 缓存主要缓存穿透、缓存击穿与缓存雪崩异常场景,今天我们来讲讲缓存穿透。
1 场景描述
缓存穿透是指客户端请求一个缓存和数据库中都不存在的 key。由于缓存中不存在,所以请求会透过缓存查询数据库;由于数据库中也不存在,所以也没办法更新缓存。因此下一次同样的请求还是会打在数据库上。
好像缓存被穿透了一样,缓存形如虚设。所有的压力都在数据库之上,如果请求量巨大,可能造成数据库崩
Github千星项目之.Net(二)
01.react-native-windows
Star:15k
使用React构建Windows应用程序的框架。
React Native是Meta开发的一个框架,它使您能够使用基于JavaScript和React构建世界级的应用程序。React Native的重点是在您关心的所有平台上提高开发人员的效率—learn once,write anywhere。
此存储库添加了对Windows 1
