
日常心得
文章平均质量分 55
瘦弱的皮卡丘
2018
展开
-
MCP是什么?
两片非常好的文章,值得学习。原创 2025-04-21 21:53:53 · 228 阅读 · 0 评论 -
python使用pip下载包文件
会根据依赖关系的顺序安装这些文件,所以你不需要担心安装顺序的问题。文件,确保所有依赖项都正确安装。命令来下载包文件到指定目录。这将安装当前目录下所有的。原创 2025-03-20 14:31:59 · 411 阅读 · 0 评论 -
centos安装x264
【代码】centos安装x264。原创 2024-07-05 10:47:59 · 351 阅读 · 0 评论 -
Centos安装Python3、更新pip3源
【代码】Centos安装Python3、更新pip3源。原创 2024-05-28 17:12:47 · 740 阅读 · 0 评论 -
ERROR: npm v10.2.5 is known not to run on Node.js v12.22.12. This version of npm supports the follo
注意,在centos上nodejs不要升级至18版本以上,16版本的应该就够了,不然会报以下错误。,执行了系统提示的npm升级命令(万恶之源!1、安装nodejs的版本管理工具nvm。结果就是npm命令都执行不了了。3、升级nodejs。原创 2023-12-27 15:48:27 · 5465 阅读 · 0 评论 -
流媒体中relay和forword的区别
在流媒体中,"目标客户端"指的是接收和播放流媒体的最终用户设备或应用程序。这可以是一个电脑上的流媒体播放器、移动设备上的流媒体应用、智能电视在流媒体中,"目标客户端"指的是接收和播放流媒体的最终用户设备或应用程序。例如,当你在电脑上观看流媒体视频时,你的电脑就是目标客户端。Relay(中继):在中继传输中,流媒体服务器充当中介,将媒体流从源服务器接收并重新发送到目标客户端。在流媒体中,"relay"(中继)和 "forward"(转发)是两种常见的传输方式,用于将流媒体从一个源传递到目标接收器。原创 2023-11-09 18:48:14 · 1093 阅读 · 0 评论 -
#EXT-X-DISCONTINUITY
标签的具体行为和处理方式可能因播放器实现和媒体流的特定情况而有所不同。因此,对于特定的 HLS 播放器和媒体流,建议查阅相关文档或规范以获取更详细的信息。标签作为一个独立的行出现,用于指示媒体片段之间的不连续性。播放器在遇到该标签时,会在播放过程中处理不连续性,例如重新初始化媒体解码器或清空缓冲区。标签用于标识媒体片段之间的不连续性。当媒体流中发生某种变化,例如分辨率、编码格式、音频通道配置或其他关键参数的更改时,可以使用。当切片的预设时长和gop的时长不匹配时,最终的切片也会出现这样的问题。原创 2023-11-01 14:47:40 · 1913 阅读 · 0 评论 -
JavaScript和Node.js之间的区别是什么?
JavaScript的第一个版本在1995年推出,它是由Netscape的Brendan Eich开发的(当时称为LiveScript)。正如前面所讨论的,JavaScript是一种高级编程语言,具有通常编程语言所具有的所有功能。JavaScript是一种面向对象的编程语言,既可以在客户端使用,也可以在服务器端使用,开发人员不仅用它来创建网页,还可以用于游戏开发和移动应用开发。转载 2023-10-27 10:13:03 · 402 阅读 · 0 评论 -
npm start启动的是什么
具体来说,当在项目目录下执行 npm start 命令时,npm 将会在该项目的根目录下查找 package.json 文件,并查找其中的 "scripts" 对象中是否包含了名为 "start" 的属性。开发者可以在 package.json 文件中定义自己的脚本命令,例如 "dev"、"test" 等等,以实现不同的功能。npm start 命令是在一个 Node.js 项目中执行的一个自定义命令,用于启动该项目。在大多数情况下,"start" 属性的值是一个用于启动应用程序的命令。原创 2023-10-26 10:45:40 · 3972 阅读 · 0 评论 -
ffprobe -show_packets和-show_frames之间的区别
我们只查看视频的packets结果如下:可以看到,视频流的pts和dts并不同步,说明有B帧,dts递增,pts因为有B帧的原因所以非递增。所以,当使用show_packets分析视频流时,其实分析的是帧 frame,这里无论I帧,P帧还是B帧都还没有被解码。原创 2023-07-31 15:50:16 · 831 阅读 · 0 评论 -
linux下生成https证书
linux下生成https证书。转载 2023-07-25 14:32:59 · 4783 阅读 · 0 评论 -
g++: internal compiler error: Killed (program cc1plus)
编译时一直报错 "g++: internal compiler error: Killed (program cc1plus)"原因,服务器交换空间不足,即swap,可用top命令查看。原创 2023-06-15 15:09:21 · 1092 阅读 · 0 评论 -
centos升级gcc
升级前可先把旧的gcc卸载(其实不卸载也行)原创 2023-05-24 16:06:25 · 241 阅读 · 0 评论 -
centos安装cgdb
的cgdb,不然会报错“cgdb requires gdb 7.12 or later”。其他:编译时指定c99编译器。原创 2023-05-09 15:25:08 · 971 阅读 · 1 评论 -
电脑的的load是什么意思?
服务器的load是什么意思?原创 2022-11-06 20:51:31 · 2230 阅读 · 0 评论 -
数字签名和数字证书的区别
鲍勃有两把钥匙,一把是公钥,另一把是私钥。鲍勃把公钥送给他的朋友们----帕蒂、道格、苏珊----每人一把。苏珊要给鲍勃写一封保密的信。她写完后用鲍勃的公钥加密,就可以达到保密的效果。鲍勃收信后,用私钥解密,就看到了信件内容。这里要强调的是,只要鲍勃的私钥不泄露,这封信就是安全的,即使落在别人手里,也无法解密。鲍勃给苏珊回信,决定采用"数字签名"。他写完后先用Hash函数,生成信件的摘要(digest)。然后,鲍勃使用私钥,对这个摘要加密,生成"数字签名"(s...原创 2022-03-18 12:28:47 · 1313 阅读 · 0 评论 -
按下开机键后,电脑都干了些什么?
① 第一步,开机直接访问BIOS ROM的0xFFFF0。开机以后,CS寄存器置为0xFFFF,IP寄存器置为0x0000。这样一来,CPU就会要求访问地址为0xFFFF0的这个地方。这个地址实际上不是内存的地址,它被地址控制器(实际上是南桥北桥)映射到 BIOS ROM里,而这个地址的ROM中存放着一条跳转指令。② 第二步,访问BIOS ROM中的初始化程序。0xFFFF0中这条跳转指令,跳转至BIOS ROM的某个地址。从这开始是一段ch,把这段程序复制到内存...原创 2022-03-12 09:37:20 · 1032 阅读 · 0 评论 -
32位和64位到底有什么区别?
目录从代码到到可执行文件从可执行文件到进程CPU位数的含义系统和软件的位数的含义程序数值int32和int64的含义系统位数会限制内存吗?总结关于32位和64位,这个概念一直让人比较懵。在买电脑的时候,我们看到过32位和64位CPU。下软件的时候,我们也看到过32位或64位的软件。就连装虚拟机的时候,我们也看过32位和64位的系统。在写代码的时候,我们的数值,也可以定义为int32或者int64。我们当然很清楚,装软件的时候,一般64位的系统就选64位的软原创 2022-03-09 11:31:05 · 21799 阅读 · 9 评论 -
常见智力题
假设某个地区有重男轻女的陋习,如果夫妻生下的是女孩就会继续生孩子;如果生下的是男孩,就不再继续生育。像这样持续下去,这个地区最终的男女比例将会是多少? 首先告诉大家答案是1:1。假设一个地区有n对年轻夫妻准备生育:如果生男孩和生女孩的几率各占50%,那么第一批新生儿当中,将会有n/2是男孩,n/2是女孩:按照当地习俗,生下男孩的家庭不再生孩子,生下女孩的家庭继续生。于是n/2的家庭会继续生育,在第二批新生儿当中,又新增加了n/4的男孩,n/4的女孩:...原创 2022-03-08 19:57:09 · 522 阅读 · 1 评论 -
高并发下如何保证接口的幂等性?(字节跳动三面原题)
前言接口幂等性问题,对于开发人员来说,是一个跟语言无关的公共问题。本文分享了一些解决这类问题非常实用的办法,绝大部分内容我在项目中实践过的,给有需要的小伙伴一个参考。不知道你有没有遇到过这些场景: 有时我们在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的数据,只是id不一样。 我们在项目中为了解决接口超时问题,通常会引入了重试机制。第一次请求接口超时了,请求方没能及时获取返回结果(此时有可能已经成功了),为了避免返回错误的结果(这种情况不可能直接返回失败原创 2022-03-08 11:01:17 · 236 阅读 · 0 评论 -
一致性哈希是什么,使用场景,以及它解决了什么问题?
目录如何分配请求?使用哈希算法有什么问题?使用一致性哈希算法有什么问题?如何通过虚拟节点提高均衡度?总结如何分配请求?大多数网站背后肯定不是只有一台服务器提供服务,因为单机的并发量和数据量都是有限的,所以都会用多台服务器构成集群来对外提供服务。但是问题来了,现在有那么多个节点(后面统称服务器为节点,因为少一个字),要如何分配客户端的请求呢?其实这个问题就是「负载均衡问题」。解决负载均衡问题的算法很多,不同的负载均衡算法,对应的就是不同的分配策略,适应的业务场景也不原创 2022-03-05 20:16:15 · 1924 阅读 · 1 评论 -
0LL或0x0UL是什么意思?
0LL是C和C ++中的常量。后缀LL表示常量的类型为long long。1ULL表示类型为unsigned long long的常数1。这种规则同样也适用于浮点数:1.0f表示类型为float的浮点数1.0。1.0 表示类型为double的浮点数1.0。1.0L表示类型为long double的浮点数1.0。使用于字符串和字符,但它们是前缀:'A'// of type 'char'L'A'// of type 'wchar_t'u'A'// of typ...原创 2022-01-17 10:47:24 · 13602 阅读 · 0 评论 -
什么是协程?
目录一、前言 二、从多进程,多线程角度来分析三、Goroutine 调度器的 GMP 模型的设计思想(1)Goroutine主要概念如下:(2)调度器的设计策略(3)Go 调度器调度场景过程全解析四、使用协程的注意事项一、前言 现在网上关于协程的博文已经不在少数了,但我通过阅读并没有觉得真正的了解什么是协程,所以我决定自己写一篇博客,来帮助大家了解并学习协程的运作方式。首先,我们从上下文切换的角度来分析进程,...原创 2022-01-11 16:36:47 · 22457 阅读 · 7 评论 -
什么是零拷贝(sendfile,mmap)
一、普通的文件拷贝 零拷贝的使用场景是从某台机器将一份数据(比如一个文件)通过网络传输到另外一台机器。 现在设想一下,我们要把设备A 上的一个文件通过socket发送到设备B,期间涉及到调用一次read()函数和write()函数。 当我们调用read()函数时:系统调用read导致了从用户空间到内核空间的上下文切换。接着,切换到内核态后,DMA(直接存储访问器)模块从磁盘中读取文件内容,并将其存储在内核空间的缓冲区内,完成了第1次复制。 数据...原创 2021-12-01 22:45:52 · 1777 阅读 · 0 评论 -
到底什么是IO多路复用?
目录阻塞IO非阻塞 IOselectepoll总结一下。阻塞IO服务端为了处理客户端的连接和请求的数据,写了如下代码。listenfd = socket(); // 打开一个网络通信端口bind(listenfd); // 绑定listen(listenfd); // 监听while(1) { connfd = accept(listenfd); // 阻塞建立连接 int n = read(connfd, buf); // 阻原创 2021-11-28 22:27:18 · 1791 阅读 · 3 评论 -
vector中push_back()和emplace_back()的区别
emplace_back() 和 push_back() 的区别,就在于底层实现的机制不同。push_back() 向容器尾部添加元素时,首先会创建这个元素,然后再将这个元素拷贝(调用拷贝构造函数)或者移动(调用移动构造函数)到容器中(如果是拷贝的话,事后会自行销毁先前创建的这个元素)。 而 emplace_back() 在实现时,则是直接在容器尾部创建这个元素,省去了拷贝或移动元素的过程。...原创 2021-11-26 22:39:51 · 630 阅读 · 0 评论 -
为什么空类的大小是1
我们可能都知道,C++中空类的大小是1。#include <iostream>class EmptyA {};int main() { std::cout << "sizeof EmptyA " << sizeof(EmptyA) << std::endl; return 0;};结果如下:sizeof EmptyA 1然而在C语言中空结构体的大小是0,空结构体大小是0我们貌似可以理解,但为什么到C++中,空类的大原创 2021-11-17 18:41:23 · 2733 阅读 · 1 评论 -
内存池的实现
一、内存池1、内存池的概念内存池(Memory Pool)是一种内存分配方式。通常我们习惯直接使用new、malloc等API申请内存,这样做的缺点在于所申请内存块的大小不定,当频繁使用时会造成大量的内存碎片并进而降低性能。 内存池则是在真正使用内存之前,预先申请分配一定数量、大小相等(一般情况下)的内存块留作备用。当有新的内存需求时,就从内存池中分出一部分内存块,若内存块不够再继续申请新的内存。这样做的一个显著优点是,使得内存分配效率得到提升。2、内存池的流程和设计1...原创 2021-11-07 14:38:55 · 313 阅读 · 0 评论 -
strcpy,memcpy以及mommove的实现
一、strcpy(只适用于字符串)strcpy在进行字符串拷贝时,会将'\0'字符一同拷贝过去。除了内存重叠,strcpy函数还有一个弊端:如果目的地址分配的长度小于源地址的要拷贝的数据的长度,那么会发生越界,就是说可能会把目的地址前或后的数据覆盖掉。//存在内存重叠问题char * strcpy(char *dst,const char *src){ assert(dst != NULL && src != NULL); char *ret = dst;原创 2021-10-25 20:31:41 · 335 阅读 · 0 评论 -
string和int的相互转换 | string转int | int转string | string反转 | string逆转 | string逆置
目录一.string转int1.stoi()2.stol()3.stoll()4.atoi()二.int转string三.string反转1.原地反转2.反转到别的字符串中一.string转int1.stoi()所需头文件#include<iostream>#include<string>使用方法string s = "123";int x = std::stoi(s);//返回值为int类型2.stol()原创 2021-04-02 15:20:53 · 351 阅读 · 0 评论 -
从输入URL到页面加载完成发生了什么?
从输入URL到页面加载完成发生了什么?笼统的说发生了以下这些步骤:浏览器的地址栏输入URL并按下回车。 浏览器查找当前URL是否存在缓存,并比较缓存是否过期。 DNS解析URL对应的IP。 根据IP建立TCP连接(三次握手)。 HTTP发起请求。 服务器处理请求,浏览器接收HTTP响应。 渲染页面,构建DOM树。 关闭TCP连接(四次挥手)。1.浏览器的地址栏输入URL并按下回车拓展内容:什么是URL? 我们常见的RUL是这样的:http://www.baidu.com。.原创 2021-01-31 16:41:18 · 799 阅读 · 0 评论 -
什么是强符合和弱符号以及extern的用法
一.什么是强符合和弱符号1.强符号在C语言中,函数和初始化的全局变量(包括显示初始化为0)是强符号2.弱符号在C语言中,未初始化的全局变量是弱符号。3.强符号与弱符号之间的关系同名的强符号只能有一个,否则编译器报"重复定义"错误。 允许一个强符号和多个弱符号,但定义会选择强符号的。 当有多个弱符号相同时,链接器选择最先出现那个,也就是与链接顺序有关。了解到这里我们来看第一个问题在c语言中为什么不将全局变量的定义放在头文件中这是因为你的头文件可能会被多个c文件包含,.原创 2021-01-24 14:16:17 · 2379 阅读 · 0 评论 -
为什么一个指针变量作为形参传递给一个函数后,在函数体内改变这个指针的指向,函数结束后这个指针的指向没有发生变化?
为什么一个指针变量作为形参传递给一个函数后,在函数体内改变这个指针的指向,但函数结束后这个指针的指向没有发生变化?现在有如下一段代码,其中指针p指向a,a的值为10,接着调用Fun函数,Fun函数的意图是将指针p指向空,如果调用成功,那么最后程序就会崩溃,无法打印指针p所指向内容的值,但运行后却发现,指针p所指向内容的值依旧为10,即Fun函数根本没有改变指针p的指向。#include<stdio.h>void Fun(int* p){ p = nullptr;}int.原创 2021-01-21 11:33:32 · 8164 阅读 · 6 评论 -
《网络程序设计》复习资料
原创 2021-01-05 17:48:33 · 354 阅读 · 0 评论 -
VS2019许可证过期,提示“无法下载许可证,请检查你的网络连接或代理设置“
解决办法1.点击红框2.改为系统Web,并点击确定3.再次点击登录,此时会打开浏览器,在浏览器登录Microsoft账户即可。原创 2020-12-05 11:42:53 · 13956 阅读 · 0 评论 -
rand()和srand()的使用方法和二者之间的关系
rand描述C 库函数int rand(void)返回一个范围在 0 到RAND_MAX之间的伪随机数。RAND_MAX 是一个常量,它的默认值在不同的实现中会有所不同,但是值至少是 32767。rand声明下面是 rand() 函数的声明。int rand(void)srand描述C 库函数void srand(unsigned int seed)播种由函数rand使用的随机数发生器。srand声明下面是 srand() 函数的声明。void s...原创 2020-12-02 17:56:35 · 2111 阅读 · 0 评论 -
VS 系统找不到指定的文件。解决办法,请测有效!
今天使用VS2019编写代码,最后执行程序时系统报错显示 "系统找不到指定的文件"。解决方法:在程序首行添加如下代码:#define _WINSOCK_DEPRECATED_NO_WARNINGS亲测有效。原创 2020-11-03 22:34:37 · 13249 阅读 · 16 评论 -
任务一:基于控制台的购书系统 java实验报告
目录一.实验目的及要求二.实验环境三、实验内容四、实验步骤五.调试过程及实验结果六.总结七.源程序清单任务一:基于控制台的购书系统任务目的理解和掌握面向对象的设计程序 会用类图进行面向对象设计 掌握封装的实现及好处 包和访问控制修饰符的使用任务描述输出所有图书的信息:包括每本书的编号、书名、单价、库存 顾客购买书:根据提示输入图书编号来购买书,并根据提示输入购买书的的数量 购买完毕后输出顾客的订单信息:包括订单号、订单明细、订单总额实施步骤 .原创 2020-10-29 21:03:33 · 11373 阅读 · 0 评论 -
C++ | 关于const的一些问题总结
今天在学习C++STL中内置迭代器的过程中,因为声明变量时没有加const关键字,引发了错误,所以想用这篇博客来专门记录平时可能用到的与const有关的问题。【问题1】平时在使用一个指针来指向一个常量时,可能引发的问题。#include<stdio.h>int main(){ const int a = 10; int* p = &a; re...原创 2020-03-06 12:19:22 · 391 阅读 · 0 评论 -
函数指针—没你想的那么难
https://www.runoob.com/w3cnote/cpp-func-pointer.html转载 2019-12-01 13:44:14 · 155 阅读 · 0 评论