1. 分布式文件系统应用场景互联网海量非结构化数据的存储需求电商网站:海量商品图片视频网站:海量视频文件网盘:海量文件社交网站:海量图片1.1 Minio 介绍Minio 是一个基于 Apache License v2.0 开源协议的对象存储服务。它兼容 AWS S3 云存储服务接口,非常适合存储大容量非结构化的数据,如图片、视频、日志文件、备份数据等,而一 ......
20
0
0
2025-04-09
深入浅出Tomcat网络通信的高并发处理机制随着互联网应用的快速发展,Web服务器面临的访问压力日益增大,如何高效处理高并发的网络请求成为关键Tomcat作为Java世界中最受欢迎的Web容器之一,可以灵活选择不同的IO模型来处理网络通信,确保面对高并发的网络请求时能够快速处理我们说到Tomcat中通过Connector来处理网络通信,其中Connector ......
31
0
0
2025-04-04
在绝大多数业务场景中,分布式数据库并非必需。事实上,约80%的应用程序都可以在单机环境下高效运行。对于绝大多数企业而言,数据库的数据量通常不会达到 TB 级别。在现代应用开发中,json 已成为数据交换和存储的常见格式。尽管 MongoDB 因其天然支持 json 而备受推崇,但 MySQL 也提供了强大的 json 数据类型支持,能够高效地处理 json ......
39
0
0
2025-04-03
引言异步编程是现代软件开发中不可或缺的一部分,尤其是在处理 I/O 操作、网络请求、用户界面响应等需要高并发场景时。C++ 作为一门底层语言,为开发者提供了多种异步编程的工具和方法。本文将系统地探讨 C++ 异步编程的发展历程,从早期的回调方法,到 std::future 和 std::promise,再到现代的协程(coroutines),全面解析各个阶段 ......
27
0
0
2025-04-02
1.获取库的.dll和.lib(或.a)在资源管理器中找到对应库的.dll和.lib(或.a)如果第三方库不是Qt生成的:通常比较规范的第三方库,有lib和include两个文件夹。lib文件夹就是包含的库文件。include则包含头文件。如果第三方库是Qt生成的:(通过Qt创建库的方法请见另一篇文章)第三方库的构建时可以选择构建套件(Kit):使用的MSV ......
26
0
0
2025-04-02
Go gorm这篇文章主要先简单总结一下gorm的crud,什么是orm在学习gorm之前,先了解一下什么是orm在后端开发上,通常都要与资料库做操作(新增、修改、删除、查找),后端会撰写 SQL 语句,并且透过一些工具或套件(例如:pymysql)向 SQL 资料库来做沟通。而撰写原生 SQL 的缺点为:不可维护性:代码难阅读且不易维护。不可重用性:通常不 ......
38
0
0
2025-03-15
Go命令行操作这篇文章主要是简单总结一下go语言常用的命令go build(编译命令) // 编译,生成可执行文件 go build xxx.go ​ // 运行可执行文件,windows上会加上exe,linux没有后缀 ./可执行文件 ​ // go build+文件列表,会生成多个可执行文件 go build xxx.go ......
57
0
0
2025-03-01
前言在最近字节的面试中,面试管问了一个问题:你所知道的,MySQL都支持哪些锁?当时回答的不是特别好,因此写下这篇文章做个记录。方便自己复盘以及帮助各正在面试的小伙伴们。乐观锁乐观锁是一种并发控制机制,它假设在事务提交之前没有其他事务会修改相同的数据。对数据的操作是保持乐观态度的,因此被称为乐观锁。乐观锁通过记录版本号或者时间戳来判断数据是否被修改。回顾以前 ......
54
0
0
2025-03-01
Linux权限管理01. 文件访问者的分类在Linux系统中,用户(User)按照不同的角色和权限分为几个主要类型:超级用户(root):'root’用户可以被看作是系统管理员,拥有对系统的完全控制权。'root’用户能够执行所有命令并访问系统上的所有文件。由于这个权限级别的强大(和潜在的危险),不建议常规使用。系统用户(System Users):系统用户 ......
39
0
0
2025-02-27
善为理者,举其纲,疏其网。1、vim介绍如果我面想要在Linux上编写代码的话,我就需要vim来帮助我们编写代码。但是vim并不像是在Windows上的vs集成软件把所有的东西都集成起来但是呢,如果不进行配置的话,vim和其他是相互独立的,vim就是写代码的编辑器,编译代码就是gcc/g++的编译器,调试代码就有gdb的调试器。自动化构建就有make和mak ......
62
0
0
2025-02-27
Linux操作系统的权限1、几个常用的热键介绍1、1、[Tab]键为了方便能够快速的输入指令,通常利用[Tab]来帮助我们。[Tab]键的作用是具有命令补全和档案补齐的功能。通常为了输入一个指令,我能快要输完的时候按下[Tab],能够快速补齐,能够减少一点时间吧,起始也能够利用[Tab]来帮助我们查看符合那几个开头的指令能有哪些。1、2、[ctrl]-c将当 ......
58
0
0
2025-02-27
😏1. node-media-server介绍node-media-server 是一个基于 Node.js 的流媒体服务器,它提供了构建和管理实时音视频流媒体应用程序所需的功能。它是一个开源项目,具有灵活性和可扩展性,适用于各种流媒体应用场景。以下是一些 node-media-server 的特点和功能:1.RTMP支持:node-media-server ......
62
0
0
2025-02-25
大家好,我是码农先森。Http 模块的注册初始化这次我们分析的就是 Swoole 官网的这段代码,看似简单,实则不简单。在 Swoole 源码文件 swoole_http_server.c 中有这样一个函数 php_swoole_http_server_minit。这个函数是专门用来注册及初始化 Http Server 模块的,如果不预先注册,那么在 PHP ......
55
0
0
2025-02-16
为什么会然想到写这么一个大杂烩的博文呢,必须要从笔者几年前的一次面试说起当时的我年轻气盛,在简历上放了自己的博客地址,而面试官应该是翻了我的博客,好几道面试题都是围绕着我的博文来提问其中一个问题,直接使得空气静止了五分钟,然后面试官结束了这次面试,那就是:如何手写一个简易的Promise对象?在这里,我也先挖个坑,给你们五分钟思考并自己回答一下这个问题~ ( ......
66
0
0
2025-02-05
在大多数的Linux和Unix系统、及其他类Unix系统中,Shell是用户与操作系统内核交互的主要方式。作为一种强大的命令行解释器,它也支持编程功能,用户可以写脚本来处理各种任务。无论是新手还是专业人士,掌握Shell命令都是必不可少的技能。本文逐个解读和展示Shell脚本中最常用的100个命令,并为每个命令提供实际的例子。文件操作命令以下是在Linux系 ......
66
0
0
2025-02-02