当前位置: 首页 > news >正文

服务器搭建网站数据库/爱链网买链接

服务器搭建网站数据库,爱链网买链接,办公内网网站建设标准,合肥中小型企业网站建设方案模板C17引入了std::filesystem库(文件系统库, filesystem library),相关类及函数的声明在头文件filesystem中,命名空间为std::filesystem。 1.path类:文件路径相关操作,如指定的路径是否存在等,其介绍参见:http…

      C++17引入了std::filesystem库(文件系统库, filesystem library),相关类及函数的声明在头文件filesystem中,命名空间为std::filesystem。

      1.path类:文件路径相关操作,如指定的路径是否存在等,其介绍参见:https://blog.csdn.net/fengbingchun/article/details/133217504
      2.directory_entry类:获取文件属性等,如指定文件是否是常规文件,还包括文件大小、文件最后修改时间,其介绍参见:https://blog.csdn.net/fengbingchun/article/details/133430293
      3.directory_iterator类:遍历目录,获取目录文件,不包括子目录,其介绍参见:https://blog.csdn.net/fengbingchun/article/details/133437356
      4.recursive_directory_iterator类:遍历目录,获取目录文件,包括子目录,其介绍参见:https://blog.csdn.net/fengbingchun/article/details/133437356
      5.filesystem_error类:异常类,继承自std::system_error,继承关系如下图所示:

      (1).path1, path2:返回存储在异常对象中的path;
      (2).what: 返回解释性字符串;
      (3).code: 返回错误码。

      测试代码如下所示:

int test_filesystem_filesystem_error()
{// path1, path2, whtat// creates a unique filename that does not name a currently existing fileconst fs::path oldp{ std::tmpnam(nullptr) }, newp{ std::tmpnam(nullptr) };/* windows:what():  rename: 系统找不到指定的文件。: "C:\Users\f06190\AppData\Local\Temp\sf2w.0", "C:\Users\f06190\AppData\Local\Temp\sf2w.1"path1(): "C:\\Users\\f06190\\AppData\\Local\\Temp\\sf2w.0"path2(): "C:\\Users\\f06190\\AppData\\Local\\Temp\\sf2w.1" *//* linuxwhat():  filesystem error: cannot rename: No such file or directory [/tmp/filezJrUkO] [/tmp/filey7tqKV]path1(): "/tmp/filezJrUkO"path2(): "/tmp/filey7tqKV" */try {fs::rename(oldp, newp); // throws since oldp does not exist} catch (fs::filesystem_error const& ex) {std::cout << "what():  " << ex.what() << '\n'<< "path1(): " << ex.path1() << '\n'<< "path2(): " << ex.path2() << '\n';}return 0;
}

      6.file_status类:获取或设置有关文件类型(type)和权限(permissions)的信息
      (1).type: 获取或设置文件类型信息;
      (2).permissions: 获取或设置文件权限信息。

      测试代码如下所示:

void demo_status(const fs::path& p, fs::file_status s)
{std::cout << p;switch (s.type()) {case fs::file_type::none:std::cout << " has `not-evaluated-yet` type";break;case fs::file_type::not_found:std::cout << " does not exist";break;case fs::file_type::regular:std::cout << " is a regular file";break;case fs::file_type::directory:std::cout << " is a directory";break;case fs::file_type::symlink:std::cout << " is a symlink";break;case fs::file_type::block:std::cout << " is a block device";break;case fs::file_type::character:std::cout << " is a character device";break;case fs::file_type::fifo:std::cout << " is a named IPC pipe";break;case fs::file_type::socket:std::cout << " is a named IPC socket";break;case fs::file_type::unknown:std::cout << " has `unknown` type";break;default:std::cout << " has `implementation-defined` type";break;}std::cout << '\n';
}void demo_perms(fs::perms p)
{using fs::perms;auto show = [=](char op, perms perm) {std::cout << (perms::none == (perm & p) ? '-' : op);};show('r', perms::owner_read);show('w', perms::owner_write);show('x', perms::owner_exec);show('r', perms::group_read);show('w', perms::group_write);show('x', perms::group_exec);show('r', perms::others_read);show('w', perms::others_write);show('x', perms::others_exec);std::cout << '\n';
}int test_filesystem_file_status()
{
#ifdef _MSC_VERconst std::string path{ "../../../testdata/list.txt" };
#elseconst std::string path{ "../../testdata/list.txt" };
#endif// 1. type// windows: "../../../testdata/list.txt" is a regular file// linux: "../../testdata/list.txt" is a regular filedemo_status(path, fs::status(path));// 2. permissionsdemo_perms(fs::status(path).permissions()); // rwxrwxrwxreturn 0;
}

      7.space_info结构体:获取有关文件系统上的空闲(free)和可用空间(available space)的信息

struct space_info {std::uintmax_t capacity; // 总大小,以字节为单位std::uintmax_t free; // 可用空间,以字节为单位std::uintmax_t available; // 非特权进程可用的可用空间(可能等于或小于可用空间)
};
float get_file_size(std::uintmax_t size, std::string& suffix)
{float s1 = size / 1024. / 1024 / 1024;float s2 = size / 1024. / 1024;float s3 = size / 1024.;if (s1 > 1) {suffix = " GB";return s1;}if (s2 > 1) {suffix = " MB";return s2;}if (s3 > 1) {suffix = " KB";return s3;}suffix = " Bytes";return size;
}int test_filesystem_space_info()
{fs::space_info info = fs::space(fs::current_path());std::cout << "current path: " << fs::current_path() << "  ";// windows: current path: "E:\\GitCode\\Messy_Test\\prj\\x86_x64_vc12\\CppBaseTest"   size: 311.00 GB   size: 189.23 GB   size: 189.23 GB// linux: current path: "/home/spring/GitCode/Messy_Test/prj/linux_cmake_CppBaseTest"   size: 311.00 GB   size: 189.23 GB   size: 189.23 GBfor (auto x : { info.capacity, info.free, info.available }) {std::string suffix;auto value = get_file_size(static_cast<std::intmax_t>(x), suffix);std::cout << " size: " << std::fixed << std::setprecision(2) << value << suffix << "  ";}std::cout << std::endl;return 0;
}

      8.file_type枚举类:文件的类型

enum class file_type {none = /* unspecified */,not_found = /* unspecified */,regular = /* unspecified */,directory = /* unspecified */,symlink = /* unspecified */,block = /* unspecified */,character = /* unspecified */,fifo = /* unspecified */,socket = /* unspecified */,unknown = /* unspecified */,/* implementation-defined */
};

      9.perms枚举类:文件访问权限,如下图所示

      10.perm_options枚举类:控制函数std::filesystem::permissions()行为的可用选项,如下图所示:

enum class perm_options {replace = /* unspecified */,add = /* unspecified */,remove = /* unspecified */,nofollow = /* unspecified */
};

      11.非成员函数:
      (1).absolute:返回绝对路径;
      (2).canonical, weakly_canonical: 将指定路径转换为规范绝对路径(canonical absolute path),指定的路径必须存在;
      (3).relative, proximate: 返回相对路径;
      (4).copy: 拷贝文件或目录,会生成新的文件或目录,from指定的文件或目录必须存在,to指定的文件或目录必须不存在;
      (5).copy_file: 拷贝文件,会生成新的文件,from指定的文件必须存在,to指定的文件必须不存在;若发生错误,则返回false;
      (6).copy_symlink:拷贝符号链接;
      (7).create_directory, create_directories: 创建新目录,使用create_directory时要求父目录必须已存在,即create_directory不支持多级创建,而create_directories没有这些限制;
      (8).create_hard_link:创建硬链接;
      (9).create_symlink, create_directory_symlink: 创建符号链接;
      (10).current_path: 获取当前工作目录
      (11).exists: 检查指定的文件或目录是否存在
      (12).equivalent: 检查两个路径是否是相同的;
      (13).file_size: 获取文件大小
      (14).hard_link_count: 获取指定路径硬链接数;
      (15).last_write_time: 获取或设置指定路径最后一次修改时间
      (16).permissions: 修改文件访问权限;
      (17).read_symlink: 获取符号链接的target;
      (18).remove, remove_all:删除文件或空目录;remove_all可递归地删除文件或目录及其所有内容并返回已删除的文件和目录的数量;
      (19).rename: 重命名文件或目录
      (20).resize_file: 更改常规文件大小;
      (21).space: 获取指定的路径的可用空间
      (22).status, symlink_status: 获取文件属性,如指定路径是否是常规文件、是否是目录等;
      (23).temp_directory_path: 返回适合临时文件的目录
      std::error_code类是与平台相关的错误码。std::filesystem中的所有函数都有一个对应非抛出异常的对等接口

      测试代码如下所示:

int test_filesystem_non_member_functions()
{const fs::path p1 = "../funset.cpp";
#ifdef _MSC_VERconst fs::path p2{ "../../../testdata/list.txt" }, p3{ "../../../testdata/list_copy.txt" }, p4{ "E:\\yulong.mp4" }, p5{ "../../../testdata/list_new.txt" };
#elseconst fs::path p2{ "../../testdata/list.txt" }, p3{ "../../testdata/list_copy.txt" }, p4{ "./build/CppBaseTest" }, p5{"../../testdata/list_new.txt"};
#endif// windows: current path is "E:\\GitCode\\Messy_Test\\prj\\x86_x64_vc12\\CppBaseTest"// linux: current path is "/home/spring/GitCode/Messy_Test/prj/linux_cmake_CppBaseTest"std::cout << "current path is " << fs::current_path() << '\n';// 1. absolute// windows: absolute path for "../funset.cpp" is "E:\\GitCode\\Messy_Test\\prj\\x86_x64_vc12\\funset.cpp"// linux: absolute path for "../funset.cpp" is "/home/spring/GitCode/Messy_Test/prj/linux_cmake_CppBaseTest/../funset.cpp"std::cout << "absolute path for " << p1 << " is " << fs::absolute(p1) << '\n';// 2. canonical, weakly_canonical/* windows:canonical path: "E:\\GitCode\\Messy_Test\\testdata\\list.txt"weakly canonical path: "E:\\GitCode\\Messy_Test\\testdata\\list.txt" *//* linux:canonical path: "/home/spring/GitCode/Messy_Test/testdata/list.txt"weakly canonical path: "/home/spring/GitCode/Messy_Test/testdata/list.txt" */std::cout << "canonical path: " << fs::canonical(p2) << "\n";std::cout << "weakly canonical path: " << fs::weakly_canonical(p2) << "\n";// 3. relative, proximatestd::cout << "relative path: " << fs::relative("/a/b/c", "/a/b")<< ", proximat path: " << fs::proximate("/a/b/c", "/a/b") << "\n";	// relative path: "c", proximat path: "c"// 4. copy, exists, removeif (fs::exists(p3))fs::remove(p3);fs::copy(p2, p3);// 5. copy_fileif (fs::exists(p3))fs::remove(p3);fs::copy_file(p2, p3);// 6. create_directory, create_directoriesfs::create_directory("./a");fs::create_directories("./b/c/d");// 7. equivalentif (fs::equivalent(".", fs::current_path()))std::cout << "they are equal" << "\n";// 8. file_sizestd::string suffix;auto value = get_file_size(static_cast<std::intmax_t>(fs::file_size(p4)), suffix);// windows: size: 1.35 GB; linux: size: 7.61 MBstd::cout << "size: " << std::fixed << std::setprecision(2) << value << suffix << "\n";// 9. last_write_time// windows: last write time: 2023-08-19 22:42:56// linux: last write time: 2023-10-03 12:32:49std::cout << "last write time: " << to_time_t(last_write_time(p4)) << std::endl;// 10. permissions// windows: rwxrwxrwx r-xr-xr-x// linux:   rw-rw-r-- -w-r-----demo_perms(fs::status(p3).permissions());
#ifdef _MSC_VERfs::permissions(p3, fs::perms::none);
#elsefs::permissions(p3, fs::perms::owner_write | fs::perms::group_read);
#endifdemo_perms(fs::status(p3).permissions());// 11. renameif (fs::exists(p5))fs::remove(p5);fs::rename(p3, p5);// 12. resize_file// linux: size: 187.00 Bytes  size: 64.00 KBvalue = get_file_size(static_cast<std::intmax_t>(fs::file_size(p5)), suffix);std::cout << "size: " << std::fixed << std::setprecision(2) << value << suffix << "\n";
#ifdef __linux__fs::resize_file(p5, 64 * 1024); // resize to 64 KB, windows crashvalue = get_file_size(static_cast<std::intmax_t>(fs::file_size(p5)), suffix);std::cout << "size: " << std::fixed << std::setprecision(2) << value << suffix << "\n";
#endif// 13. temp_directory_path// windows: temp directory is: "C:\\Users\\f06190\\AppData\\Local\\Temp\\"// linux: temp directory is: "/tmp"std::cout << "temp directory is: " << fs::temp_directory_path() << "\n";// std::error_codestd::error_code ec;fs::copy_file("xxx", "yyy", ec); // does not throw// windows: error code: 2,系统找不到指定的文件。// linux: error code: 2,No such file or directorystd::cout << "error code: " << ec.value() << "," << ec.message() << "\n";try {fs::copy_file("xxx", "yyy");} catch (fs::filesystem_error const& ex) {std::cout << "what():  " << ex.what() << '\n'<< "path1(): " << ex.path1() << '\n'<< "path2(): " << ex.path2() << '\n'<< "code().value():    " << ex.code().value() << '\n'<< "code().message():  " << ex.code().message() << '\n'<< "code().category(): " << ex.code().category().name() << '\n';}return 0;
}

      执行结果如下图所示:

      12.文件类型:
      (1).is_block_file: 检查给定的文件或路径是否是块设备;
      (2).is_character_file: 检查给定的文件或路径是否是字符设备;
      (3).is_directory: 检查给定的文件或路径是否是目录
      (4).is_empty: 检查给定的文件或路径是否是空文件或空目录
      (5).is_fifo: 检查给定的文件或路径是否是命名管道;
      (6).is_other: 检查给定的文件或路径是否是其它文件;
      (7).is_regular_file: 检查给定的文件或路径是否是常规文件
      (8).is_socket: 检查给定的文件或路径是否是套接字;
      (9).is_symlink: 检查给定的文件或路径是否是符号链接;
      (10).status_known: 检查给定的文件是否已知。

      测试代码如下所示:

void demo_status2(const fs::path& p, fs::file_status s)
{std::cout << p;// alternative: switch(s.type()) { case fs::file_type::regular: ...}if (fs::is_regular_file(s))std::cout << " is a regular file\n";if (fs::is_directory(s))std::cout << " is a directory\n";if (fs::is_block_file(s))std::cout << " is a block device\n";if (fs::is_character_file(s))std::cout << " is a character device\n";if (fs::is_fifo(s))std::cout << " is a named IPC pipe\n";if (fs::is_socket(s))std::cout << " is a named IPC socket\n";if (fs::is_symlink(s))std::cout << " is a symlink\n";if (!fs::exists(s))std::cout << " does not exist\n";//if (fs::is_empty(p))//	std::cout << " is empty\n";if (fs::is_other(s)) // equivalent to exists(s) && !is_regular_file(s) && !is_directory(s) && !is_symlink(s)std::cout << " is other file\n";//if (fs::status_known(s)) // equivalent to s.type() != file_type::none//	std::cout << " is status known\n";
}int test_filesystem_file_types()
{demo_status2("/dev/null", fs::status("/dev/null"));demo_status2("/dev/sda", fs::status("/dev/sda"));demo_status2(fs::current_path(), fs::status(fs::current_path()));demo_status2("/xxx/yyy", fs::status("/xxx/yyy"));demo_status2("/usr/bin/g++", fs::status("usr/bin/g++"));demo_status2("../../../testdata/list.txt", fs::status("../../../testdata/list.txt"));demo_status2("../../testdata/list.txt", fs::status("../../testdata/list.txt"));demo_status2("/mnt", fs::status("/mnt"));return 0;
}

      GitHub:https://github.com/fengbingchun/Messy_Test

相关文章:

C++17中头文件filesystem的使用

C17引入了std::filesystem库(文件系统库, filesystem library)&#xff0c;相关类及函数的声明在头文件filesystem中&#xff0c;命名空间为std::filesystem。 1.path类&#xff1a;文件路径相关操作&#xff0c;如指定的路径是否存在等&#xff0c;其介绍参见&#xff1a;http…...

「专题速递」数字人直播带货、传统行业数字化升级、远程协作中的低延时视频、地产物业中的通讯终端...

音视频技术作为企业数字化转型的核心要素之一&#xff0c;已在各行各业展现出广泛的应用和卓越的价值。实时通信、社交互动、高清视频等技术不仅令传统行业焕发新生&#xff0c;还为其在生产、管理、服务提供与维护等各个领域带来了巨大的助力&#xff0c;实现了生产效率和服务…...

PE格式之PE头部

1. PE头部总体组成 2. DOS MZ头 3. PE头 PE头由3部分组成: 下面分别: OptionalHeader比较大: 然后是节表, 节表有多个: PE文件头部就结束了, 最后就是节区了, 来看几段代码: ; main.asm .586 .model flat, stdcall option casemap:noneinclude windows.inc include ke…...

SLAM从入门到精通(用python实现机器人运动控制)

【 声明&#xff1a;版权所有&#xff0c;欢迎转载&#xff0c;请勿用于商业用途。 联系信箱&#xff1a;feixiaoxing 163.com】 在ROS下面&#xff0c;开发的方法很多&#xff0c;可以是c&#xff0c;可以是python。大部分接口操作类的应用&#xff0c;其实都可以用python来开…...

接口和抽象类有什么区别?

接口和抽象类都是用于实现抽象类型的机制: 抽象类:抽象类可以包含抽象方法(未实现的方法)和具体方法(已实现的方法)。抽象类可以有字段(成员变量),这些字段可以是具体的,也可以是抽象的。一个类只能继承一个抽象类,Java不支持多继承。抽象类可以拥有构造方法,用于初…...

基于springboot+vue的人事系统

目录 前言 一、技术栈 二、系统功能介绍 员工信息管理 考勤信息管理 考勤信息管理 下班记录管理 三、核心代码 1、登录模块 2、文件上传模块 3、代码封装 前言 随着信息技术在管理上越来越深入而广泛的应用&#xff0c;作为学校以及一些培训机构&#xff0c;都在用信息…...

记住这份软件测试八股文还怕不能拿offer?你值得拥有

前言 2023秋招即将来临&#xff0c;很多同学会问软件测试面试八股文有必要背吗&#xff1f; 我的回答是&#xff1a;很有必要。你可以讨厌这种模式&#xff0c;但你一定要去背&#xff0c;因为不背你就进不了大厂。 国内的互联网面试&#xff0c;恐怕是现存的、最接近科举考试…...

2023年,在CSDN拥有10000粉丝有多难?

该数据来源于粉丝数人数排行前5000名用户的关注用户列表中产生的&#xff0c;由于采集样本数有限&#xff0c;数据可能具有一定的误差&#xff0c;仅供参考&#xff0c;本次采样用户数大概在100万以上。 筛选条件人数粉丝人数大于50007519粉丝人数大于100003763粉丝人数大于500…...

C++ -- 学习系列 关联式容器 set 与 map

一 关联式容器是什么&#xff1f; c 中有两种容器类型&#xff1a;关联式容器与序列式容器&#xff08;顺序容器&#xff09; 关联式中的容器是按照关键字来存储与访问的&#xff0c;序列式容器&#xff08;顺序容器&#xff09;则是元素在容器中的相对位置来存储与访问的。…...

Day 04 python学习笔记

Python数据容器 元组 元组的声明 变量名称&#xff08;元素1&#xff0c;元素2&#xff0c;元素3&#xff0c;元素4…….&#xff09; &#xff08;元素类型可以不同&#xff09; eg: tuple_01 ("hello", 1, 2,-20,[11,22,33]) print(type(tuple_01))结果&#x…...

Moonbeam Ignite强势回归

参与Moonbeam上最新的流动性计划 还记得新一轮的流动性激励计划吗&#xff1f;Moonbeam Ignite社区活动带着超过300万枚GLMR奖励来啦&#xff01;体验新项目&#xff0c;顺便薅一把GLMR羊毛。 本次Moonbeam Ignite活动的参与项目均为第二批Moonbeam生态系统Grant资助提案中获…...

【改造后序遍历算法】95. 不同的二叉搜索树 II

95. 不同的二叉搜索树 II 解题思路 遍历每一个节点查看以k为根节点的二叉搜索树储存所有左子树的根节点储存所有右子树的根节点将左子树和右子树组装起来 将根节点储存在向量中 /*** Definition for a binary tree node.* public class TreeNode {* int val;* TreeN…...

栈的基本操作(数据结构)

顺序栈的基本操作 #include <stdlib.h> #include <iostream> #include <stdio.h> #define MaxSize 10typedef struct{int data[MaxSize];int top; }SqStack;//初始化栈 void InitStack(SqStack &S){S.top -1; } //判断栈空 bool StackEmpty(SqStack S)…...

D. Jellyfish and Mex Codeforces Round 901 (Div. 2)

Problem - D - Codeforces 题目大意&#xff1a;有一个n个数的数组a&#xff0c;数m初始为0&#xff0c;每次操作可以删除任意一个数&#xff0c;然后m加上那个数&#xff0c;求n次操作和m的最小值 1<n<5000&#xff1b;0<a[i]<1e9 思路&#xff1a;可以发现&am…...

操作系统内存管理相关

1. 虚拟内存 1.1 什么是虚拟内存 虚拟内存是计算机系统内存管理的一种技术&#xff0c;我们可以手动设置自己电脑的虚拟内存。不要单纯认为虚拟内存只是“使用硬盘空间来扩展内存“的技术。虚拟内存的重要意义是它定义了一个连续的虚拟地址空间&#xff0c;并且 把内存扩展到硬…...

Sui流动性质押黑客松获胜者公布,助力资产再流通

Sui流动质押黑客松于日前结束Demo Day演示&#xff0c;其中有五个团队获奖、六个团队荣誉提名&#xff0c;共有超过30个项目获得参赛资格。此外&#xff0c;有两个团队赢得了Sui上DeFi协议提供的赏金。 本次黑客松的目的是挖掘并奖励将流动质押功能集成到其apps和产品中的开发…...

为什么在使用PageHelper插件时,指定的每页记录数大小失效?显示所有的记录数

1.问题现象&#xff1a; 这里指定每页显示5条&#xff0c;却把所有的记录数都显示出来了 2.分析&#xff1a; 之前是可以的&#xff0c;然后发现&#xff1a;PageHelper.startPage(pageNum,pageSize) 和执行sql的语句 顺序颠倒了&#xff0c;然后就出错了。 3.验证&#xf…...

XML文档基础

什么是XML XML (eXtensible Markup Language&#xff0c;可扩展标记语言) 是一种用于存储和传输数据的文本文件格式。用户可以按照XML规则自定义标记&#xff0c;XML 的设计目标是传输数据&#xff0c;而不是显示数据&#xff0c;因此它是一种通用的标记语言&#xff0c;可用于…...

软考知识汇总-软件工程

软件工程 1 能力成熟度模型&#xff08;CMM&#xff09;2 能力成熟度模型集成&#xff08;CMMI&#xff09;2.1阶段式模型2.2 连续式模型 3 软件过程模型 1 能力成熟度模型&#xff08;CMM&#xff09; 将软件工程成熟度分为5个级别 初始级&#xff1a;杂乱无章&#xff0c;很…...

力扣:119. 杨辉三角 II(Python3)

题目&#xff1a; 给定一个非负索引 rowIndex&#xff0c;返回「杨辉三角」的第 rowIndex 行。 在「杨辉三角」中&#xff0c;每个数是它左上方和右上方的数的和。 来源&#xff1a;力扣&#xff08;LeetCode&#xff09; 链接&#xff1a;力扣&#xff08;LeetCode&#xff09…...

指针笔试题(带解析版)

题目2&#xff1a; struct MyStruct {int num;char* pcname;short sdate;char cha[2];short sba[4]; }*p; //结构体大小为32字节 //p0x100000 int main() {p 0x100000;printf("%p\n", p 0x1);//p&#xff1a;结构体指针&#xff0c;1下一个结构体指针&#xff0c;…...

服务器搭建(TCP套接字)-libevent版(服务端)

Libevent 是一个开源的事件驱动库&#xff0c;用于开发高性能、并发的网络应用程序。它提供了跨平台的事件处理和网络编程功能&#xff0c;具有高性能、可扩展性和可移植性。下面详细讲解 Libevent 的主要组成部分和使用方法。 一、事件基础结构&#xff08;event_base&#x…...

斐波那契模型系列【动态规划】

动态规划步骤 1、状态表示 是什么&#xff1a;dp表&#xff08;可能是一维或二维数组&#xff09;里的值所表示的含义。 怎么来&#xff1a; 1、题目要求 2、经验题目要求 3、发现重复子问题 2、状态转移方程 dp[i]... 3、初始化 保证填表不越界 4、填表顺序 5、返回值 写代码时…...

【Java】微服务——Nacos注册中心

目录 1.Nacos快速入门1.1.服务注册到nacos1&#xff09;引入依赖2&#xff09;配置nacos地址3&#xff09;重启 2.服务分级存储模型2.1.给user-service配置集群2.2.同集群优先的负载均衡 3.权重配置4.环境隔离4.1.创建namespace4.2.给微服务配置namespace 5.Nacos与Eureka的区别…...

Redis Cluster Gossip Protocol: PING, PONG, MEET

返回目录 PING / PONG / MEET 的发送 过程 计算freshNodes。freshNodes表示在消息中能携带的&#xff0c;在cluster节点字典中的节点总数&#xff0c;但需要减去myself和对端节点&#xff0c;因为myself的信息会存储在消息头中。实际上&#xff0c;并非所有在cluster节点字典…...

httpserver 下载服务器demo 以及libevent版本的 httpserver

实现效果如下&#xff1a; 图片可以直接显示 cpp h 这些可以直接显示 其他的 则是提示是否要下载 单线程 还有bug 代码如下 先放上来 #include "httpserver.h" #include "stdio.h" #include <stdlib.h> #include <arpa/inet.h> #include…...

构建强大的RESTful API:@RestController与@Controller的对比与应用

构建强大的RESTful API&#xff1a;RestController与Controller的对比与应用 前言什么是RESTful APIRestController&#xff0c;Controller&#xff0c;ResponseBody1. Controller注解&#xff1a;2. RestController注解&#xff1a;3. ResponseBody注解&#xff1a; 示例非thy…...

【Java-LangChain:使用 ChatGPT API 搭建系统-10】评估(下)-当不存在一个简单的正确答案时

第十章&#xff0c;评估&#xff08;下&#xff09;-当不存在一个简单的正确答案时 在上一章中&#xff0c;了解了如何评估 LLM 模型在 有明确正确答案 的情况下的输出&#xff0c;我们可以编写一个函数来判断 LLM 输出是否正确地分类并列出产品。 然而&#xff0c;如果 LLM …...

【微服务的集成测试】python实现-附ChatGPT解析

1.题目 微服务的集成测试 知识点:深搜 时间限制: 1s 空间限制: 256MB 限定语言:不限 题目描述: 现在有n个容器服务,服务的启动可能有一定的依赖性 (有些服务启动没有依赖)其次服务自身启动加载会消耗一些时间。 给你一个 nxn 的二维矩阵 useTime,其中 useTime[i][i]=10 表示…...

Mesa新版来袭

Mesa 17.1.6 发布了&#xff0c;Mesa 是一个三维&#xff08;3D&#xff09;图形库的开源集合&#xff0c;其主要目标是在 Linux / UNIX 操作系统下实现各种 API&#xff08;应用程序编程接口&#xff09;和 OpenGL 规范。 它面向 3D 计算机图形&#xff0c;硬件加速 3D 渲染和…...