- 博客(31)
- 收藏
- 关注
原创 如何通过台式机的无线网络共享让笔记本上网
在没有Wi-Fi路由器的情况下,你可以通过一台已连接无线网络的台式机,将网络共享给笔记本,让笔记本通过网线连接到台式机并实现上网。
2025-02-19 14:29:35
993
原创 在 Ubuntu 中安装 C++ 版本的 Protocol Buffers
在 Ubuntu 中安装 C++ 版本的 Protocol Buffers(Protobuf)有两种主要方法:以下是详细的步骤说明
2025-01-11 19:42:59
903
原创 在 Ubuntu 上安装和配置 Redis
除了命令行工具,你还可以在各种编程语言中使用 Redis 的 Pub/Sub 功能。例如,使用 Python 的。Redis 的发布-订阅功能允许消息在客户端之间实时传递。如果 Redis 配置了访问密码,连接时需要提供密码。你可以订阅多个频道或使用通配符模式。打开一个终端窗口,运行以下命令订阅一个频道(例如。打开另一个终端窗口,运行以下命令发布消息到。如果 Redis 正在运行,输出中会显示。Redis 的主要配置文件位于。使用你喜欢的文本编辑器(如。订阅终端将接收到相应的消息。你可以根据需要进行修改。
2025-01-10 20:29:19
596
原创 在 Ubuntu 上对 Nginx 进行源码编译的详细指南
连接应会被分配到后端的某一台服务器。你可以多次连接以确认负载均衡策略(如轮询)是否按预期工作。安装完成后,需要编辑 Nginx 的配置文件以设置 TCP 负载均衡。为了让 Nginx 在系统启动时自动运行,可以创建一个 systemd 服务文件。获取最新的稳定版本。)上运行,并且防火墙允许相应的流量。如果需要添加额外的第三方模块,可以使用。模块以支持 TCP 负载均衡。或其他工具测试负载均衡是否正常工作。保存并关闭文件(在 nano 中按。在编译 Nginx 时,需要启用。确保后端服务器在指定的端口(如。
2025-01-10 19:53:28
1139
原创 在 Ubuntu 服务器上添加和删除用户
添加用户:推荐使用adduser命令,因为它更简单且交互友好。删除用户deluser命令更适合日常使用,特别是当你需要删除用户的主目录时。确保在执行这些操作时具有足够的权限(通常需要使用sudo),并小心操作以避免误删重要用户或数据。
2024-12-25 20:41:04
1265
原创 在 Ubuntu 上安装与配置 Docker 的完整指南
Docker 是一种流行的容器化平台,广泛用于开发、部署和运行应用程序。本文将详细介绍如何在 Ubuntu 系统上卸载旧版本 Docker、安装最新版本 Docker 以及进行相关配置。无论您是 Docker 新手还是有经验的用户,这份指南都将帮助您顺利完成安装和配置过程。
2024-12-21 20:14:22
3344
4
原创 在 Ubuntu 上安装 MySQL 的详细指南
在Ubuntu环境中安装以及 MySQL 开发包(包括头文件和动态库文件),并处理最新版本MySQL初始自动生成的用户名和密码,可以通过官方的APT包管理器轻松完成。以下是详细的步骤指南,包括从官方仓库和MySQL官方仓库安装的两种方法,并介绍如何处理自动生成的初始用户名和密码,以及如何修改root初始密码。
2024-12-20 18:11:46
4965
1
原创 在 Ubuntu 上安装 Nginx 的详细指南
通过以上步骤,您已经成功在Ubuntu系统中从源码编译并安装了Nginx。源码安装提供了更高的灵活性,使您能够根据具体需求自定义Nginx的功能。请确保在生产环境中仔细测试配置,并定期维护Nginx以保持系统安全和稳定。
2024-12-20 17:14:15
4178
原创 在 Ubuntu 上安装 Muduo 网络库的详细指南
要在 Ubuntu 上安装 Muduo 网络库,可以按照以下步骤操作。Muduo 是一个用 C++ 编写的高性能网络库,适用于多线程服务器应用程序。
2024-12-20 14:29:43
762
原创 Windows 和 Ubuntu 系统下 Boost 库的构建指南
使用和b2工具来构建 Boost。可以使用 Visual Studio 或 MinGW 编译器。使用和b2工具来构建 Boost。使用 GCC 编译器。
2024-12-19 21:01:54
969
原创 Windows 中将某个安装文件安装到指定目录
msiexec:适用于.msi文件,可以通过INSTALLDIR设置安装目录。.exe文件:通过命令行参数(例如/D)指定安装目录,具体参数依据安装程序而定。Chocolatey:使用choco工具可以通过--params参数设置安装路径。PowerShell:可以通过执行并传递参数来设置安装目录。你可以根据具体的安装程序调整命令。如果需要更多帮助,提供安装包的类型和名称,我可以进一步帮助你。
2024-12-08 19:22:29
1950
原创 基于C++、MFC和Windows套接字实现的简单聊天室程序开发
本文介绍了如何使用Visual Studio 2022创建一个简单的聊天室程序,该程序由服务器端和客户端两个项目组成,均基于对话框的MFC应用程序。服务器端项目负责管理客户端的上线、离线状态,并转发客户端发送的信息。客户端项目则负责向服务器发送信息,并接收和显示来自服务器的信息。文章详细描述了服务器端和客户端项目的创建过程,包括对话框资源的编辑、控件的添加及其关联变量的设置,以及相关函数的编写和消息响应的处理。最终,聊天室程序具备了客户端登录、信息发送与接收、以及服务器端消息转发等功能,实现了一个基本的网络
2024-06-16 21:06:39
3841
6
原创 C++中的const和constexpr关键字详解:顶层与底层const以及常量表达式
本文详细介绍了C++11中的const和constexpr关键字,解释了顶层const(对象本身不可变)和底层const(对象所指向的值不可变)的区别,并通过多个例子展示了它们的应用。同时,本文深入探讨了constexpr关键字的用法,包括constexpr变量和函数的定义与注意事项,以及它们与const的区别,帮助读者更好地理解和使用这两个关键字以编写高效可靠的代码。
2024-06-10 17:31:28
723
原创 深入理解 C++ 的 deque 容器
本篇博客深入探讨了 C++ 中 deque 容器的内部实现和操作机制。deque(双端队列)与 vector 不同,它支持在两端快速插入和删除,而无需担心头部操作的低效问题。文章通过详细的示例和代码解释了 deque 的数据结构,包括其分段连续存储的特性、中控器的设计、迭代器的复杂性以及元素的操作方法。此外,还讨论了 deque 的内存管理策略和性能优化技巧,例如在排序时将 deque 转移到 vector。
2024-05-30 12:00:28
1362
原创 现代操作系统(第四版)课后习题-2.进程与线程
二、进程与线程1.图2.2中给出了三种进程状态。理论上,三个状态之间可以有六种转换,每种状态两个。但图中只给出了四种转换。其余两种转换是否可能发生?在讨论操作系统中进程状态转换的理论时,通常会有三种基本状态:就绪(Ready)、运行(Running)和阻塞(Blocked)状态。转换通常发生如下:就绤到运行:当调度器选择进程执行时,该进程从就绪状态转移到运行状态。运行到就绤:当进程的时间片用完或有更高优先级的进程需要运行时,当前运行的进程会被转移到就绪状态。运行到阻塞:如果进程等待某些事件(如输
2024-05-21 11:30:03
1913
1
原创 设计模式-8.组合模式(Composite)C++实现
组合模式是一种结构型设计模式,它允许你将对象组合成树形结构以表示部分-整体的层次结构。组合模式使得客户通过一个统一的接口可以对单个对象和组合对象进行一致的处理。
2024-05-20 20:22:57
393
1
原创 C++内存分配剖析
详细讨论了C++中高级内存管理技术,包括STL的allocator如何分离内存分配和对象构造。介绍了std::alloc负责内存配置与释放,而construct()与destroy()负责对象的构造与析构,使用"placement new"语法优化内存使用。进一步探讨了内存配置的基本操作和双层级配置器策略,用于有效管理小型区块以减少内存碎片。此外,也讨论了uninitialized_fill_n、uninitialized_copy和uninitialized_fill等函数,这些工具直接在未初始化的内存中
2024-05-19 17:42:04
1443
1
原创 设计模式-7.桥接(Bridge)C++实现
桥接模式是一种结构型设计模式,它将一个大类或一系列紧密相关的类分解成两个独立的层次结构——抽象和实现,使得这两个层次可以独立地扩展。桥接模式通过提供一个桥实现接口的方式来分离抽象部分和其实现部分,从而降低它们之间的耦合度。是一个扩展的抽象,提供了额外的功能,如静音。这种模式的优点在于,如果需要添加一个新的设备类型或控制方式,不需要修改现有的类,只需要扩展它们。这减少了维护成本,提高了系统的灵活性。
2024-05-19 09:29:24
718
1
原创 设计模式-6.适配器(Adapter)C++实现
适配器模式是一种结构型设计模式,它允许不兼容的接口之间进行交互。适配器充当两个不兼容的接口之间的桥梁,通过将一个类的接口转换成另一个类期望的接口来工作。
2024-05-18 08:53:50
534
原创 设计模式-5.单例(Singleton)C++实现
单例模式是一种创建型设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。这种模式确保全局有一个单一的实例,并且这个实例可以在整个程序中方便地访问。这种模式在需要控制资源访问或配置全局状态的场景中非常有用,但应谨慎使用,以避免过度依赖全局状态。
2024-05-17 09:08:55
461
1
原创 设计模式-4.原型模式(Prototype) C++实现
原型模式是一种创建型设计模式,它用于创建对象,通过复制一个已经存在的对象来创建新的对象,而不是通过实例化。原型模式允许你复制已有的对象,而无需使代码依赖它们所属的类。方法来获取克隆的对象。这种模式能够在运行时动态地添加或删除原型,同时避免了直接依赖具体类的实例化。
2024-05-16 10:14:36
686
原创 设计模式-3.工厂方法(Factory Method)C++实现
这个模式的关键在于将产品的创建过程封装在一个方法中,使得修改或扩展产品的创建过程不需要修改使用产品的代码。这样不仅可以减少系统中各部分之间的依赖关系,还可以提高系统的可维护性和可扩展性。工厂方法模式是一种创建型设计模式,它定义了一个用于创建对象的接口,但让子类决定要实例化的类是哪一个。工厂方法使一个类的实例化延迟到其子类。类的其他部分不需要知道具体的文档类型,从而使得系统更加灵活和可扩展。
2024-05-15 10:51:51
561
原创 设计模式-2.建造者(Builder) C++实现
建造者模式是一种创建型设计模式,它允许你将一个复杂对象的构建过程与其表示分离,使得同样的构建过程可以创建不同的表示。这种模式被用来构建一些复杂的对象,尤其是那些包含多个组成部分的对象。通过使用相同的构建过程可以生成不同的产品。类来获取一个完成的车辆对象,而无需知道具体的构建细节。这种方式特别有用于创建那些构造过程复杂的对象。以下是一个使用建造者模式的 C++ 实例,其中模拟构建一个简单的汽车对象,包括轮子、引擎和车身。
2024-05-14 11:03:52
435
1
原创 设计模式-1.抽象工厂(Abstract Factory) C++实现
抽象工厂模式是一种创建型设计模式,它提供了一个接口,用于创建一系列相关或相互依赖的对象,而无需指定它们具体的类。该模式允许客户端使用具体工厂的实例来创建其需要的产品对象,同时使客户端不依赖于具体产品的实现。
2024-05-13 09:52:39
615
1
原创 现代操作系统(第四版)课后习题-1.引论
在操作系统中,陷阱指令(也称为TRAP指令或系统调用指令)是一种特殊类型的指令,用于在用户程序和操作系统之间提供一种安全的交互机制。它允许用户程序请求操作系统提供的服务,如文件操作、网络通信或设备控制,而无需直接访问硬件或敏感数据。
2024-05-12 20:19:23
1427
1
原创 Ubuntu系统上快速安装Miniconda的步骤
在终端中,使用以下命令之一来下载Miniconda安装脚本。按照屏幕上的指示完成安装。这包括阅读许可协议、选择安装位置以及选择是否将Conda初始化到您的shell中。这些步骤将帮助您在Ubuntu系统上快速安装Miniconda,从而可以方便地管理Python环境和包。),选择适用于Linux的安装脚本。根据您的系统架构(例如,64位),选择正确的版本。访问Miniconda的官方网站下载页(打开Ubuntu的终端。
2024-04-27 19:09:27
9701
3
原创 Ubuntu安装深度学习模型驱动的快捷步骤
在 Ubuntu 服务器上安装 NVIDIA RTX 显卡的驱动程序以进行深度学习涉及一系列的步骤,这些步骤包括准备操作系统、安装合适的 NVIDIA 驱动程序,以及安装 CUDA 和 cuDNN 库。
2024-04-27 19:01:48
1146
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人