- 博客(77)
- 收藏
- 关注
原创 C#更新Nginx SSL证书
现在免费的SSL证书三个月就到期了,为了方便写了一个更新SSL证书的程序,把程序和xxx_nginx.zip的证书放在同一目录下,先解压ssl文件,然后上传到服务器,最后复制到nginx的路径下。一台服务器有多个ssl证书,最好ssl有效期控制在同一天这样方便更新,只需要将多个ssl压缩包和程序放在一起即可。update_ssl.sh 代码如下。
2025-03-25 13:47:43
370
原创 ASP.NET Core 使用 MongoDB
通过以上步骤,即可在 ASP.NET Core 中高效集成 MongoDB,实现灵活的数据存储方案。根据业务需求扩展仓储模式或直接使用。在 ASP.NET Core 中使用 MongoDB 可以通过官方驱动。
2025-03-17 10:04:14
713
原创 Linux部署nodejs服务
安装 Node.js 和 npm。创建一个 Node.js 项目并编写服务代码。使用pm2来管理 Node.js 服务。配置 Nginx 作为反向代理以处理生产环境中的流量。注意:该内容由由AIGC提供。
2025-02-17 11:16:50
462
原创 Linux部署python服务
创建虚拟环境:为每个 Python 项目创建一个虚拟环境,避免不同项目之间的依赖冲突。安装依赖:在虚拟环境中使用安装项目所需的依赖库。使用systemd或Supervisor管理程序systemd提供了强大的服务管理功能,适合用于与操作系统紧密集成的长时间运行程序。Supervisor提供了简单易用的进程管理功能,适合需要快速配置和管理的应用程序。如果你有更多的需求或问题,随时告诉我!注意:该内容由由AIGC提供。
2025-01-17 09:39:53
1097
原创 音视频文件提供流式传输之HTTP Live Streaming (HLS)
HLS 是一个强大的流媒体协议,适用于音视频文件的流式传输。它通过将音视频内容切割成多个小。
2025-01-16 09:50:55
1407
原创 音视频文件提供流式传输之HTTP Range 请求
在 Web 开发中,正确返回音频和视频流给前端的方式是确保服务器端以流的形式发送媒体文件,而不是将整个文件加载到内存中,然后再传输。这种做法可以提高性能,避免内存溢出,尤其是在处理大文件时。对于音频和视频流的处理,最常见的技术是 HTTP 流式传输(HTTP Streaming) Range 请求。这些方法允许客户端(浏览器或播放器)按需请求并接收音频和视频的部分内容,而不是一次性加载整个文件。要在后端处理包含Range头的请求,首先需要理解Range请求头是如何工作的。客户端通过Range。
2025-01-14 09:26:23
923
原创 python venv的pyvenv.cfg
一开始是好奇为什么全局python解释器没法用虚拟环境的库,或者反过来说虚拟环境为什么没法使用全局python安装的库,后面才发现pyvenv.cfg这个配置文件才是重点,这个配置文件标明是否使用全局环境的库,以及python的路径和版本pyvenv.cfg是 Python 虚拟环境中的一个配置文件,位于虚拟环境根目录,用于存储虚拟环境的相关配置信息。它是虚拟环境的核心文件之一,Python 解释器启动时会读取这个文件来加载虚拟环境的相关配置。pyvenv.cfg假设虚拟环境目录为venv典型的。
2025-01-13 09:38:44
485
原创 python激活虚拟环境(venv)
激活虚拟环境的核心是通过调整终端的环境变量来切换到隔离的 Python 环境,从而使用虚拟环境中的依赖和工具,而不影响系统全局环境。
2025-01-10 10:27:56
812
原创 python创建venv的作用
它是现代Python项目管理的基础,帮助开发者高效管理项目依赖和环境,避免“依赖地狱”问题。,以便在不同项目之间独立管理依赖和Python版本,避免冲突和影响系统全局环境。是开发Python项目的重要工具,提供了。:该内容由由AIGC提供。(虚拟环境)主要作用是。
2025-01-09 09:45:37
562
原创 C#中的浮点型传统舍入和银行家舍入
C#的小数舍入提供了五种规则,常用的就是AwayFromZero和Toeven,这里主要介绍这两个枚举值,其他三个了解一下一般规则有印象就好,用的不多。
2025-01-08 09:23:54
581
原创 C#通过外部进程调用Python
Whisper 是由 OpenAI 开发的一种自动语音识别(ASR,Automatic Speech Recognition)系统,能够将语音转换成文字。Whisper 不仅能够识别标准的语音输入,还能够处理各种噪声、口音、方言以及多种语言的语音输入。通过外部进程调用Python需要注意一个路径的问题,如果Python代码里面使用了相对路径,工作目录会指向到C#程序的而不是Python的代码,这个时候的相对路径会有问题,解决办法,1、Python不使用相对路径,使用绝对路径。
2025-01-07 09:30:21
435
原创 MySQL的for update skip locked
最近有一个功能要是音频转文字以及翻译,该任务不仅耗时还消耗硬件,在硬件能够支持的情况下可以启动多台电脑一起处理任务加快速度,启动多个程序会出现处理同一个任务的问题,也就是并发的问题,趁机了解了一下mysql的。是一个强大的功能,通常用于解决并发环境中的任务分配问题,确保每个任务只被一个进程处理。它允许查询未被锁定的记录,并跳过那些已经被其他事务锁定的记录。此查询会锁定一行记录,如果该记录已被其他事务锁定,则跳过该记录,返回未被锁定的记录。这种方法非常适用于任务队列场景,可以避免任务被多个进程同时处理。
2025-01-06 09:36:36
514
原创 MySQL数据库索引
在 MySQL 中,索引是一种非常重要的数据库优化工具。合理使用索引可以大大提高查询速度,但也需要注意避免过多索引带来的性能问题。在设计索引时,应该综合考虑查询频率、表的大小以及应用场景等因素。是用于加速数据库查询操作的结构,它通过提供一个高效的查找路径来使得查询更加高效。数据库索引是基于某些字段或组合字段创建的数据结构,可以帮助 MySQL 更快地找到数据,减少扫描的行数。合理的索引设计对于 MySQL 的性能至关重要。通过分析查询模式,选择合适的索引,可以有效提升数据库的查询效率。在 MySQL 中,
2024-12-31 10:25:15
900
原创 MySQL的事务
MySQL 的是一组操作的集合,这些操作作为一个单一的单元执行,要么全部成功,要么全部失败。事务在保证数据一致性和完整性方面发挥着重要作用,尤其在并发环境下确保数据的安全性和准确性。MySQL 提供了几种基本的事务控制语句,用于管理事务的开始、提交和回滚。或COMMIT;ROLLBACK;和MySQL 在事务处理中使用了不同类型的锁来保证数据一致性和并发控制。假设有两个账户表accounts,我们要在一个事务中完成资金的转移。如果在这个过程中发生任何错误,可以使用ROLLBACK回滚事务,撤销所有的修改。
2024-12-30 09:36:39
999
原创 Application Binary Interface(ABI)
是指应用程序在二进制级别上的调用约定和数据布局规则。它决定了一个程序如何与操作系统、库或其他程序的二进制部分交互。ABI 是在编译后的程序之间的接口,而不是在源码层面的接口。,它规范了如何正确地调用函数、传递参数和处理数据,使得程序、库和系统可以无缝协作。规定在不同模块或库之间如何传递和处理异常,特别是跨语言的异常。因此,C++ 函数如果需要被其他语言或工具调用,就必须使用。决定编译后的函数或变量符号在二进制文件中的命名规则。以禁用名称修饰,从而遵循 C 的 ABI。文件)在加载和调用时的接口规则。
2024-12-24 10:49:43
496
原创 关于C语言库的调用
这些特性使得 C++ 的编译器需要对函数和符号进行名称修饰(Name Mangling),并且不同编译器的。通过遵循 C 的 ABI,C++ 函数可以被多种语言安全调用,而其他语言无需了解 C++ 的复杂性。这样一来,其他语言(如 Python、C#、Java)只需要支持。,但 C++ 库需要转换为 C 格式后才能被调用,这主要与。,无需理解 C++ 的复杂特性即可调用这些函数。为了弥补这些问题,一些工具(如。)可以自动生成跨语言绑定代码。:该内容由由AIGC提供。
2024-12-23 10:11:01
902
原创 Visual Studio 、 MSBuild 、 Roslyn 、 .NET Runtime、SDK Tools之间的关系
这些组件协同工作,帮助开发者编写、构建、调试和运行 .NET 应用程序。:该内容由由AIGC提供。
2024-12-20 09:46:50
716
原创 SDK Tools是什么?
SDK Tools 是一组用于支持应用程序开发的工具,它们通过命令行提供了多种功能,帮助开发者进行项目创建、构建、管理、测试、调试、部署等任务。在 .NET SDK 中,SDK Tools 包括了常用的 .NET CLI、MSBuild、NuGet 包管理工具、性能分析工具和测试工具等,是开发、构建和部署 .NET 应用程序的关键工具。(SDK)中的一部分,包含了一组用于开发、构建、测试、调试和部署应用程序的命令行工具、脚本和其他支持工具。:该内容由由AIGC提供。
2024-12-19 10:04:49
513
原创 .NET Runtime 是什么?
是运行 .NET 应用程序的核心组件。它提供了应用程序运行所需的底层支持,比如内存管理、类型系统、垃圾回收、线程管理等。所有基于 .NET 平台的应用程序(如 ASP.NET Core、WinForms、WPF 等)都依赖于 .NET Runtime 的支持。.NET Runtime 是托管代码执行的核心,支持跨平台开发,并提供高性能和灵活性,适合多种开发场景。:该内容由由AIGC提供。
2024-12-18 10:03:22
2444
原创 MSBuild 是什么?
MSBuild (Microsoft Build Engine) 是微软推出的一个构建工具,主要用于构建和管理 .NET 项目。它是 Visual Studio 的构建引擎,但也是独立的命令行工具。MSBuild 能够将项目文件(如 和 )中的配置解析为实际的构建步骤,并最终生成输出(如 、 等)。项目构建:依赖管理:任务和目标管理:多平台支持:并行构建:可扩展性:项目文件(Project File):任务(Task):目标(Target):属性(Property):Item(项):解析项目文件:构建依赖
2024-12-17 10:03:28
875
原创 Roslyn 是什么?
Roslyn 是 .NET 生态中不可或缺的组件,为 C# 和 VB 提供了编译、分析和代码操作的核心功能,同时也是 Visual Studio 和 MSBuild 构建过程中的基础工具。它不仅是一个传统的编译器,还提供了丰富的。,供开发者对代码进行分析、生成、重构等操作。是 .NET 平台的开源编译器平台,支持。:该内容由由AIGC提供。
2024-12-17 10:01:24
1209
原创 .Net SDK
(.NET 软件开发工具包)是一个为开发 .NET 应用程序而设计的工具集合,它包括了编译、构建、调试、测试和发布 .NET 应用程序所需的所有必要工具和库。它是开发 .NET 应用程序的核心工具集,支持多种平台,包括 Windows、Linux 和 macOS。.NET SDK 是一个包含多种工具、库和运行时的集合,旨在为 .NET 应用程序的开发提供全面支持。这些组件共同作用,帮助开发者高效地创建、构建、测试、发布和运行 .NET 应用程序。:该内容由由AIGC提供。
2024-12-13 09:18:44
1136
原创 C++和C#的 Native AOT区别
C++的原生编译完全独立,不依赖运行时,代码直接转化为机器码,控制力强,性能高,但开发难度较大,且缺乏内建的动态特性支持。C# 的 Native AOT生成的程序虽然不依赖传统的 .NET 运行时,但仍可能嵌入一些运行时组件,并且它的内存管理、垃圾回收等机制仍然受到一定支持。它能够提供快速的启动时间和平台适配性,但可能不如 C++ 在动态特性和底层控制方面那么灵活。
2024-12-12 09:18:08
1416
原创 .NET MAUI开发的安卓、iOS软件和Java开发的安卓和Swift开发的iOS的区别
NET MAUI使用C#,通过.NET 运行时和AOT编译,提供跨平台开发。使用Java语言,编译为Java 字节码,运行时依赖ART虚拟机来执行, ART 提供了 AOT 编译。使用Swift语言,直接编译为机器码,运行时没有虚拟机的开销,提供较高的性能和更紧密的与操作系统的集成。注意:该内容由由AIGC提供。
2024-12-11 09:56:35
1166
1
原创 .NET for Android/iOS如何调用jar、dylib和framework等包
在中调用文件,主要通过来实现。文件是 Java 库,通过绑定可以将 Java 方法映射为 C# 方法,以便在 Xamarin.Android 中调用。
2024-12-10 10:20:13
1150
原创 .NET for Android/iOS应用的如何在各自的系统运行
应用能够在 Android 和 iOS 上运行,并且支持对原生功能和 UI 的访问。通过这些技术,开发者可以用 C# 开发跨平台应用,同时充分利用平台特性。与 Android 不同,iOS 对动态编译有严格的限制,因此必须使用。在 Android 设备上执行。
2024-12-09 09:30:48
1243
原创 .NET MAUI与.NET for Android/IOS的关系
根据MAUI的设计,就算是Visual Studio没有.NET for Android/iOS项目模板提供,.NET for Android/iOS底层也是少不了的,当然了Visual Studio提供了.NET for Android/iOS的模板,直接开发安卓和IOS也是可以的,也有益于那些熟悉用Java开发安卓和swift开发ios应用的开发人员。这里比较奇怪的是.Net for Android,MAUI不是可以开发多个平台嘛,为什么还有保留一个单独开发安卓的项目。更新完打开以后看到如下界面。
2024-12-06 09:39:03
1406
原创 操作系统发展史
芯片技术从真空管到量子计算,发展历程反映了从简单的信号处理到高密度计算的进步。未来芯片将朝着更高效、更智能、更能适应多场景的方向发展,继续引领科技变革。注意:该内容由AIGC生成。
2024-12-05 09:38:39
598
原创 芯片发展史
芯片技术从真空管到量子计算,发展历程反映了从简单的信号处理到高密度计算的进步。未来芯片将朝着更高效、更智能、更能适应多场景的方向发展,继续引领科技变革。注意:该内容由AIGC生成。
2024-12-04 09:53:31
871
原创 计算机的发展史
从最早的机械计算到如今的高性能计算机,计算机技术已经经历了从单一功能到多功能、从巨型设备到便捷移动设备的演变。计算机不仅仅改变了人们的工作和生活方式,也深刻影响了社会的发展与全球化进程。随着新技术的不断涌现,计算机的发展史仍在继续。注意:该内容由AIGC生成。
2024-12-03 09:29:51
1707
原创 无线通信之移动网络中设备与基站之间的关系
在移动网络中,设备(如手机、笔记本电脑等)与基站之间的关系是通信的核心。基站通过无线信号与设备建立连接,处理通信请求并将数据转发到核心网络或其他设备。
2024-12-02 09:26:21
1053
原创 微控制器的发展史
微控制器(Microcontroller, MCU)自其诞生以来,经历了数十年的技术革新,不断推动现代电子设备的智能化与小型化。
2024-11-29 09:36:33
520
原创 集成电路的设计以及嵌入式开发
集成电路设计和嵌入式开发是现代电子技术的基石。集成电路设计注重硬件的功能实现和电路布局,而嵌入式开发则专注于通过软件与硬件的协作,实现特定的应用功能。随着技术的不断进步,这两个领域的融合日益加深,共同推动着智能设备、自动化控制以及物联网等技术的快速发展。注意:该内容由AIGC生成。
2024-11-28 09:32:11
844
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人