.NET 开发人员实用NuGet 包,加快开发速度

面向.NET开发人员的10大NuGet包,以下是一些能够增强您的开发工具包的流行和实用的NuGet软件包:

一、Entity Framework Core

        Entity Framework Core (EF Core) 是一个开源的、轻量级的、可扩展的、跨平台的对象关系映射(ORM)框架,它是Entity Framework的最新版本,旨在用于.NET Core应用程序,但也可以在.NET Framework 4.5+应用程序中使用。

EF Core 的主要特点包括:

  1. 跨平台支持:EF Core 支持多种操作系统,包括Windows、Linux和macOS,使其可以在不同的开发环境中使用。

  2. 轻量级和可扩展:EF Core 设计为轻量级,同时提供了可扩展性,允许开发者根据需要添加功能。

  3. Code-First 和 Database-First 方法:EF Core 支持Code-First和Database-First两种开发方法,主要针对Code-First方法,并提供有限的Database-First支持。

  4. 强大的查询能力:EF Core 使用LINQ to Entities进行查询,允许开发者编写强类型查询,同时利用LINQ的强大功能。

  5. 迁移支持:EF Core 支持迁移,使得数据库模式的版本控制和更新变得简单。

  6. 社区和文档:EF Core 拥有活跃的社区和官方文档支持,开发者可以在EF Core 官方文档中找到详细的使用指南和最佳实践。

二、Newtonsoft.Json处理库

Newtonsoft.Json,也称为Json.NET,是一个在.NET中广泛使用的JSON处理库,用于.NET应用程序中的JSON序列化和反序列化。以下是它的一些主要特点和功能:

  1. 强大的序列化与反序列化能力:Newtonsoft.Json提供了简单易用的API来序列化.NET对象到JSON字符串,以及将JSON字符串反序列化回.NET对象。

  2. 自定义转换器:它支持自定义转换器,允许开发者定义如何序列化和反序列化特定的对象类型。

  3. 处理null值和默认值:通过JsonSerializerSettings,可以控制序列化和反序列化过程中对null值和默认值的处理。

  4. 处理循环引用:Newtonsoft.Json能够处理对象中的循环引用,这是在序列化复杂对象图时非常有用的功能。

  5. 支持.NET多个版本:从.NET Framework 2.0到.NET Standard 2.0,以及.NET 6.0,Newtonsoft.Json提供了广泛的.NET版本支持。

  6. 广泛的社区和文档:作为一个流行的库,Newtonsoft.Json拥有一个活跃的社区和丰富的文档资源,方便开发者学习和解决问题。

  7. 处理JSON数组:它能够轻松地将JSON数组序列化和反序列化为C#中的集合类型,如List<T>或数组。

  8. 广泛的使用:许多.NET项目依赖于Newtonsoft.Json,包括一些知名的GitHub项目,如PowerToys、PowerShell和ASP.NET Core等。

  9. 灵活的配置:通过配置JsonSerializerSettings,可以细粒度地控制JSON序列化和反序列化的行为,例如忽略null值和默认值。

  10. 易于使用:Newtonsoft.Json的API设计直观,使得处理JSON数据变得简单快捷。

Newtonsoft.Json因其强大的功能和灵活性,在.NET开发者中非常受欢迎,是处理JSON数据的优选库之

 

三、AutoMapper对象映射库

AutoMapper 是一个.NET中的对象到对象映射库,它能够简化数据传输对象(DTO)与实体模型之间的映射过程,减少样板代码,提高开发效率。以下是AutoMapper的一些核心功能和用法:

  1. 对象映射:AutoMapper 允许开发者在不同类型之间轻松转换数据,通过约定优于配置的方式来简化映射过程。

  2. 自定义映射:如果目标类的属性名称与源类不完全相同,可以使用 ForMember 方法自定义映射。

  3. 嵌套对象映射:AutoMapper 支持嵌套对象的映射,可以方便地处理复杂的对象结构。

  4. 性能优化:AutoMapper 提供了优化的映射性能,适合在高性能要求的场景下使用。

  5. 集成依赖注入:AutoMapper 可以与.NET Core的依赖注入容器集成,方便在不同的服务和控制器中使用。

  6. 安装:通过NuGet包管理器安装AutoMapper:

    Install-Package AutoMapper

    或者使用.NET CLI:

    dotnet add package AutoMapper
  7. 创建映射配置:在使用AutoMapper之前,需要先配置映射。通常,在应用程序启动时配置一次:

    csharp

    using AutoMapper;public class Startup
    {public void ConfigureServices(IServiceCollection services){var config = new MapperConfiguration(cfg =>{cfg.CreateMap<Source, Destination>();});IMapper mapper = config.CreateMapper();services.AddSingleton(mapper);}
    }
  8. 定义源和目标类:定义源类和目标类,例如:

    csharp

    public class Source
    {public string Name { get; set; }public int Age { get; set; }
    }public class Destination
    {public string FullName { get; set; }public int Age { get; set; }
    }
  9. 执行映射:配置完成后,可以在代码中使用AutoMapper进行对象转换:

    csharp

    var source = new Source { Name = "John", Age = 30 };
    var destination = mapper.Map<Destination>(source);
  10. 高级特性:包括属性映射和嵌套映射等,例如:

    csharp

    cfg.CreateMap<Source, Destination>().ForMember(dest => dest.FullName, opt => opt.MapFrom(src => src.Name));

AutoMapper通过提供这些功能和用法,使得.NET开发者能够更加高效地处理对象之间的数据映射,减少重复代码,提高代码的可维护性和可读性

 

四、Dapper ORM(对象关系映射)工具

Dapper 是一个流行的.NET ORM(对象关系映射)工具,以其轻量级和高性能而闻名。以下是Dapper的一些关键功能和用法:

(一)功能

 

  1. CRUD操作:Dapper支持基本的创建、读取、更新和删除(CRUD)数据库操作。

    • 查询数据:使用Query方法执行查询并返回结果列表。

      csharp

      var students = db.Query<Student>(sql).ToList();
    • 插入数据:使用Execute方法执行插入操作。

      csharp

      var result = db.Execute(sql, new { Name = "John", Age = 22 });
    • 更新数据:使用Execute方法执行更新操作。

      csharp

      var result = db.Execute(sql, new { Name = "John", Age = 23, Id = 1 });
    • 删除数据:使用Execute方法执行删除操作。

      csharp

      var result = db.Execute(sql, new { Id = 1 });
  2. 存储过程:Dapper可以轻松调用存储过程。

    csharp

    var result = db.Query<Student>("GetStudentById", new { Id = 1 }, commandType: CommandType.StoredProcedure).FirstOrDefault();
  3. 高级功能

    • 多映射:支持多表查询并将结果映射到多个对象。

      csharp

      var students = db.Query<Student, Class, Student>(sql, (student, @class) => {student.Class = @class;return student;
      }, splitOn: "Id").Distinct().ToList();
    • 参数化查询:支持参数化查询,有效防止SQL注入。

      csharp复制

      var students = db.Query<Student>(sql, new { Age = 20 }).ToList();
    • 事务处理:支持数据库事务,确保数据操作的一致性。

         Dapper作为一个轻量级的ORM框架,在性能和易用性之间找到了平衡点。它适合于需要高效数据访问的应用场景,尤其是在已有数据库项目中快速集成和使用。Dapper的优势在于其高性能、简单易用和灵活性。它直接执行SQL查询,性能接近手写ADO.NET,且API简洁明了,易于上手。同时,Dapper不需要复杂的配置,适合快速集成和使用。然而,Dapper也有其局限性,它不支持复杂的对象关系映射,不提供LINQ支持,不适合复杂的业务逻辑处理场景。因此,在选择使用Dapper时,需要根据具体项目需求进行权衡

五、NLog日志记录类库

NLog是一个基于.NET平台编写的日志记录类库,它提供了丰富的日志路由和管理能力,帮助开发者生成和管理日志。以下是NLog的一些主要功能和用法:

(一)功能

  1. 多目标日志记录:NLog允许将日志记录到多个不同的目标,如控制台、文件、数据库等。

  2. 易于配置:NLog的配置文件简单,可以通过单个配置文件控制和管理整个日志记录过程。

  3. 模板支持:NLog支持为不同场景创建不同的日志模板,例如,可以为要记录的文件指定不同的名称。

  4. 扩展性:NLog支持缓冲、负载平衡、异步写入等多种日志处理场景。

  5. 自动重载配置:NLog支持配置文件的自动重载,无需重启程序即可应用新的配置。

  6. 内部日志系统:NLog提供了内部日志系统,可以记录NLog自身的运行情况。

(二)用法

  1. NuGet引入程序集:首先,通过NuGet包管理器安装NLog。

    Install-Package NLog
    Install-Package NLog.Config
  2. 代码实现:在代码中创建配置并使用NLog记录日志。

    csharp

    // 创建一个配置文件对象
    var config = new NLog.Config.LoggingConfiguration();
    // 创建日志写入目的地
    var logfile = new NLog.Targets.FileTarget("logfile") { FileName = $"logs/{DateTime.Now.ToString("yyyy-MM-dd")}.txt" };
    // 添加日志路由规则
    config.AddRule(LogLevel.Debug, LogLevel.Fatal, logfile);
    // 配置文件生效
    LogManager.Configuration = config;
    // 创建日志记录对象
    Logger logger = LogManager.GetCurrentClassLogger();
    // 打出日志
    logger.Debug("我打出了Nlog日志!");
  3. 文件配置:NLog支持通过配置文件进行设置,可以定义日志的输出目标(targets)和路由规则(rules)。

  4. 集成到ASP.NET Core:NLog可以集成到ASP.NET Core框架中,通过配置文件和程序设置来支持NLog日志记录。

  5. 关闭NLog:在应用程序关闭时,调用NLog.LogManager.Shutdown()来确保日志被刷新和关闭。

NLog因其强大的功能和灵活性,在.NET开发中被广泛使用,适用于从小型应用程序到大型和复杂的项目。通过NLog,开发者可以轻松地管理和记录日志,提高应用程序的可维护性和调试效率

 

六、Serilog日志记录库

Serilog 是一个功能强大且灵活的.NET日志记录库,以下是它的一些核心功能和用法:

(一)功能

  1. 结构化日志:Serilog 支持记录结构化日志,这意味着日志数据可以以结构化的方式存储和查询,便于分析。

  2. 可扩展性:Serilog 提供了大量的 sinks(输出目标),允许将日志输出到不同的目标,如控制台、文件、数据库、Elasticsearch 等。

  3. 简单易用:Serilog 的 API 设计简洁,易于集成和配置。

  4. 异步日志记录:Serilog 可以异步记录日志,这有助于提高应用程序的性能,减少因日志记录而引起的延迟。

  5. 多种输出目标:Serilog 支持多种输出目标,包括控制台、文件、数据库、第三方日志服务等。你可以将日志记录到不同的目标,以满足不同的需求。

  6. 过滤器和级别控制:Serilog 允许使用过滤器来选择哪些日志消息应该被记录,以及记录的级别。这有助于减少日志的噪音,并仅记录关键信息。

  7. 内建支持:Serilog 支持各种 .NET 技术栈,包括 ASP.NET Core、Entity Framework、Xamarin 和其他常见的 .NET 应用程序框架。

 

七、FluentValidation验证库

FluentValidation 是一个流行的.NET验证库,它使用流畅的接口和lambda表达式来构建强类型的验证规则。以下是FluentValidation的一些主要功能和用法:

(一)功能

  1. 构建强类型验证规则:FluentValidation允许开发者定义针对特定类型的验证规则,使得验证逻辑更加清晰和集中。

  2. 流畅的接口:提供了一个流畅的接口来链式调用各种验证规则,使得代码更加简洁和易于阅读。

  3. 支持条件验证:FluentValidation支持根据其他属性的值来条件性地验证某个属性,这样可以适应更多的业务逻辑验证场景。

  4. 嵌套实体验证:FluentValidation支持嵌套实体的验证,可以对复杂对象的属性进行验证。

  5. 组合验证规则:FluentValidation支持组合多个验证规则,以满足复杂的验证需求。

  6. 集成ASP.NET Core:FluentValidation可以与ASP.NET Core集成,提供模型验证功能。

(二)用法

  1. 安装FluentValidation:通过NuGet安装FluentValidation包。

    dotnet add package FluentValidation

    如果需要集成ASP.NET Core,还需要安装FluentValidation.AspNetCore包:

    dotnet add package FluentValidation.AspNetCore
  2. 定义验证规则:创建一个继承自AbstractValidator<T>的类,其中T是你需要验证的类型,并在构造函数中添加验证规则。

    csharp

    using FluentValidation;
    public class CustomerValidator : AbstractValidator<Customer>
    {public CustomerValidator(){RuleFor(customer => customer.Name).NotEmpty().Length(1, 100);RuleFor(customer => customer.Age).InclusiveBetween(18, 60);}
    }
  3. 执行验证:创建验证器的实例并使用它来验证对象。

    csharp

    var customer = new Customer { Name = "John Doe", Age = 25 };
    var validator = new CustomerValidator();
    var result = validator.Validate(customer);
    if (!result.IsValid)
    {foreach (var failure in result.Errors){Console.WriteLine("Property " + failure.PropertyName + " failed validation. Error was: " + failure.ErrorMessage);}
    }
  4. 集成到ASP.NET Core:在Startup.cs中配置FluentValidation,注册验证器。

    csharp

    public void ConfigureServices(IServiceCollection services)
    {services.AddControllers().AddFluentValidation(fv => fv.RegisterValidatorsFromAssemblyContaining<CustomerValidator>());
    }

FluentValidation因其强大的功能和易用性,在.NET项目中被广泛用于构建验证逻辑,特别是在需要复杂验证规则的场景中。

 

八、RestSharp客户端

RestSharp 是一个开源的、跨平台的、轻量级的.NET库,主要用于与RESTful Web服务进行交互,执行CRUD(创建、读取、更新和删除)操作。以下是RestSharp的一些主要功能和用法:

功能

  1. 发送HTTP请求:RestSharp支持发送GET、POST、PUT、DELETE等HTTP请求。
  2. 处理多种数据格式:RestSharp能够处理JSON、XML等数据格式。
  3. 自定义HTTP头部和请求体:RestSharp允许自定义HTTP头部和请求体,提供了灵活的配置选项。
  4. 异步请求:RestSharp支持异步请求,使得在处理长时间运行的HTTP调用时不会阻塞主线程。
  5. 自动反序列化:RestSharp可以自动将JSON响应反序列化为指定的C#对象。
  6. 认证支持:RestSharp支持多种认证机制,包括OAuth和Bearer Token。
  7. 超时设置:可以为请求设置超时,以确保应用在面对长时间无响应时能及时返回。
  8. 多部分请求:RestSharp提供了简便的方法来上传文件或发送多部分表单数据。

用法

  1. 安装RestSharp的Nuget包

    shell

    dotnet add package RestSharp

    或者通过IDE的NuGet包管理器进行安装。

  2. 实例化RestSharp客户端

    csharp

    var client = new RestClient("http://192.168.3.10:8085/api");
  3. 实例化请求

    csharp

    var request = new RestRequest("GetArea", Method.Post);
  4. 添加查询参数和请求体

    csharp

    request.AddParameter("query", "value");
    request.AddJsonBody(new { Name = "Example", Value = "123" });
  5. 执行请求并处理响应

    csharp

    var response = await client.ExecuteAsync(request);
    if (response.IsSuccessful)
    {Console.WriteLine(response.Content);
    }
    else
    {Console.WriteLine($"Error: {response.ErrorMessage}");
    }
  6. 自动反序列化响应数据

    csharp

    public class MyResponseType
    {public string Name { get; set; }public string Value { get; set; }
    }
    var request = new RestRequest("resource/1", Method.Get);
    var response = await client.ExecuteAsync<MyResponseType>(request);
    if (response.IsSuccessful)
    {var data = response.Data;Console.WriteLine(data.Name);
    }
  7. 设置认证和超时

    csharp

    client.AddDefaultHeader("Authorization", "Bearer YOUR_ACCESS_TOKEN");
    client.Timeout = 5000; // 以毫秒为单位
  8. 异步请求

    csharp

    var response = await client.ExecuteAsync(request);
  9. 多部分请求

    csharp

    var request = new RestRequest("upload", Method.Post);
    request.AddFile("file", filePath);
    request.AddParameter("param", "value");
    var response = await client.ExecuteAsync(request);

RestSharp以其简单易用和功能丰富而受到开发者的欢迎,能够满足大多数与RESTful API交互的需求

 

九、Moq单元测试工具

Moq 是一个流行的 .NET 库,用于创建模拟对象(mocks),它在单元测试中非常有用,特别是在需要隔离依赖项和验证行为的场景中。以下是 Moq 的一些主要功能和用法:

功能

  1. 创建模拟对象:Moq 允许你创建模拟对象,这些对象可以模拟任何接口或抽象类的行为。

  2. 设置预期行为:你可以为模拟对象设置预期的行为,包括返回值、异常抛出等。

  3. 验证方法调用:Moq 可以验证模拟对象的方法是否被调用,以及调用的次数。

  4. 设置属性和字段:Moq 支持设置模拟对象的属性和字段的值。

  5. 延迟回调:Moq 支持为方法调用设置延迟回调,这在模拟异步操作时非常有用。

  6. 集成多种测试框架:Moq 可以与 xUnit、NUnit、 MSTest 等多种测试框架集成。

 Moq 的这些功能使其成为单元测试中不可或缺的工具,它帮助开发者编写更可靠、更易于维护的测试代码。通过模拟依赖项,Moq 允许开发者专注于测试的特定部分,而不必担心外部依赖项的复杂性。

十、xUnit单元测试框架

 

xUnit 是一个免费的、开源的、社区支持的单元测试框架,用于.NET框架。它是由开发者Jason Imison、Brad Wilson和其他人共同开发的,旨在提供一个简单、灵活且强大的测试框架。以下是xUnit的一些主要特点和用法:

(一)特点

  1. 无需继承特定类:xUnit允许你直接编写测试方法,无需从特定的测试框架类继承。

  2. 数据驱动测试:xUnit支持数据驱动测试,允许你为单个测试方法提供多个输入数据集。

  3. 理论(Theories):xUnit引入了理论(Theories),这是一种特殊类型的测试,可以针对不同的数据集进行参数化测试。

  4. 异步测试支持:xUnit提供了对异步测试的支持,使得测试异步代码变得简单。

  5. 拦截测试方法调用:xUnit允许你在测试方法执行前后插入自定义代码,这可以用来设置和清理测试环境。

  6. 可扩展性:xUnit允许通过插件和扩展来增加新功能。

  7. 跨平台支持:xUnit.net支持.NET Framework和.NET Core,可以在Windows、Linux和macOS上运行。

(二)用法

  1. 安装xUnit:通过NuGet安装xUnit和xUnit运行器。

    dotnet add package xUnit
    dotnet add package xUnit.runner.visualstudio
  2. 编写测试类和方法:创建一个类,包含用[Fact]属性标记的测试方法。

    csharp

    using Xunit;
    public class MathTests
    {[Fact]public void Add_WithTwoPositiveNumbers_ReturnsTheirSum(){// Arrangeint a = 1;int b = 2;int expected = 3;// Actint result = a + b;// AssertAssert.Equal(expected, result);}
    }
  3. 数据驱动测试:使用[Theory]InlineDataMemberData提供测试数据。

    csharp

    [Theory]
    [InlineData(1, 2, 3)]
    [InlineData(4, 5, 9)]
    public void Multiply_WithTwoNumbers_ReturnsProduct(int a, int b, int expected)
    {Assert.Equal(expected, a * b);
    }
  4. 异步测试:使用[Fact]async关键字编写异步测试。

    csharp

    [Fact]
    public async Task GetDataAsync_WithValidRequest_ReturnsData()
    {// Arrangevar service = new MyService();// Actvar result = await service.GetDataAsync();// AssertAssert.NotNull(result);
    }
  5. 运行测试:在Visual Studio中,你可以直接通过测试资源管理器运行测试。也可以使用命令行工具如dotnet test来运行测试。

  6. 集成到CI/CD:xUnit可以很容易地集成到持续集成/持续部署流程中。

xUnit的设计哲学是让测试编写变得简单直接,同时提供强大的功能来支持复杂的测试场景。它的简洁性和灵活性使得xUnit成为.NET开发者中最受欢迎的测试框架之一

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.xdnf.cn/news/9091.html

如若内容造成侵权/违法违规/事实不符,请联系一条长河网进行投诉反馈,一经查实,立即删除!

相关文章

AscendC从入门到精通系列(一)初步感知AscendC

1 什么是AscendC Ascend C是CANN针对算子开发场景推出的编程语言&#xff0c;原生支持C和C标准规范&#xff0c;兼具开发效率和运行性能。基于Ascend C编写的算子程序&#xff0c;通过编译器编译和运行时调度&#xff0c;运行在昇腾AI处理器上。使用Ascend C&#xff0c;开发者…

生物标记:BCN-PEG-FITC,环丙烷环辛炔聚乙二醇荧光素

在生物标记的舞台上&#xff0c;BCN-PEG-FITC凭借BCN基团的点击化学反应特性&#xff0c;犹如一位技艺高超的舞者&#xff0c;轻盈地在生物分子间穿梭&#xff0c;精准地与其他分子进行标记或探测。这种高特异性的反应&#xff0c;让我们能够更清晰地洞察生命的微观世界。而在分…

C++ 优先算法 —— 三数之和(双指针)

目录 题目&#xff1a;三数之和 1. 题目解析 2. 算法原理 ①. 暴力枚举 ②. 双指针算法 不漏的处理&#xff1a; 去重处理&#xff1a; 固定一个数 a 的优化&#xff1a; 3. 代码实现 Ⅰ. 暴力枚举&#xff08;会超时 O&#xff08;N&#xff09;&#xff09; Ⅱ.…

98_api_intro_websitetools_sslcertinfo

域名 SSL 证书信息解析 API 数据接口 网络工具&#xff0c;提供域名 SSL 证书信息解析&#xff0c;多信息查询&#xff0c;毫秒级响应。 1. 产品功能 提供域名 SSL 证书信息解析&#xff1b;最完整 SSL 属性信息解析&#xff1b;支持多种元素信息抽取&#xff0c;包括主题的可辨…

抓包工具WireShark使用记录

目录 网卡选择&#xff1a; 抓包流程&#xff1a; 捕获过滤器 常用捕获过滤器&#xff1a; 抓包数据的显示 显示过滤器&#xff1a; 常用的显示过滤器&#xff1a; 实际工作中&#xff0c;在平台对接&#xff0c;设备对接等常常需要调试接口&#xff0c;PostMan虽然可以进…

基于单片机的自动充电蓝牙智能台灯的设计

本设计以单片机为主要控制芯片&#xff0c;主要包括主控模块&#xff0c;显示模块&#xff0c;蓝牙模块&#xff0c;ADC转换信号模块&#xff0c;红外感应模块&#xff0c;光敏模块&#xff0c;充电模块等多功能设计。台灯分为自动模式与手动模式&#xff0c;自动模式开启时&am…

猎板 PCB 专业解读:HDI 技术叠构全解

在现代电子制造领域&#xff0c;HDI&#xff08;高密度互连&#xff09;技术占据着举足轻重的地位。其核心亮点在于极具创新性的叠构设计&#xff0c;这一设计使得电子产品在体积上得以大幅缩减&#xff0c;同时性能也获得显著提升。借助精密的盲埋孔连接工艺&#xff0c;HDI 显…

【卷积基础】CNN中一些常见卷积(1*1卷积、膨胀卷积、组卷积、深度可分离卷积)

文章目录 逐通道卷积&#xff08;Pointwise Convolution&#xff0c;1x1 卷积&#xff09;主要作用逐通道卷积的操作过程优势代码示例典型应用 膨胀卷积&#xff08;Dilated Convolution&#xff09;主要作用工作原理膨胀率 (dilation rate) 的定义代码实例膨胀卷积的优点 组卷…

王道考研之数据结构

数据结构系列 提示&#xff1a;这里可以添加系列文章的所有文章的目录&#xff0c;目录需要自己手动添加 数据结构 数据结构系列1.线性表1.1 线性表的定义和相关概念1.2 线性表的创销 增删查改 判空表长打印 2.顺序表2.1 顺序表定义和相关概念2.2 顺序表的静态实现2.3 顺序表的…

Scala 中 set 的实战应用 :图书管理系统

1. 创建书籍集合 首先&#xff0c;我们创建一个可变的书籍集合&#xff0c;用于存储图书馆中的书籍信息。在Scala中&#xff0c;mutable.Set可以用来创建一个可变的集合。 val books mutable.Set("朝花惜拾", "活着") 2. 添加书籍 我们可以使用操作符…

Python venv 虚拟环境 相关 Windows环境 2024 /11/9

Python venv 虚拟环境 相关 年纪大了,好些时候力不从心,这里记录一下,以防忘记! Windows环境 第一次使用 创建 venv myvenv是自定义名字 python -m venv myvenv 激活和启动 前面是路径这里关键词为 activate (激活) myvenv\Scripts\activate 验证是否创建成功 where pytho…

Linux:基于ncdu命令的存储容量自动扫描统计工具

一、背景 设备存储容量不够时&#xff0c;需要删除清理无用文件&#xff0c;若文件目录较多&#xff0c;逐个去统计每个文件目录的存储占用量&#xff0c;比较麻烦。ncdu命令有一个比较好的扫描和删除交互界面&#xff0c;基于ncdu命令写一个定时自动统计脚本&#xff0c;可以…

TSMI252012PMX-2R2MT电子元器件详解

TSMI252012PMX-2R2MT电子元器件详解 一、引言 TSMI252012PMX-2R2MT是一款由深圳市时源芯微科技有限公司&#xff08;TimeSource&#xff09;生产的功率电感器&#xff0c;其设计用于满足现代电子设备的高性能和高可靠性需求。作为电子元件的重要组成部分&#xff0c;功率电感…

Java | Leetcode Java题解之第551题学生出勤记录I

题目&#xff1a; 题解&#xff1a; class Solution {public boolean checkRecord(String s) {int absents 0, lates 0;int n s.length();for (int i 0; i < n; i) {char c s.charAt(i);if (c A) {absents;if (absents > 2) {return false;}}if (c L) {lates;if …

音视频入门基础:FLV专题(23)——FFmpeg源码中,获取FLV文件音频信息的实现(下)

音视频入门基础&#xff1a;FLV专题系列文章&#xff1a; 音视频入门基础&#xff1a;FLV专题&#xff08;1&#xff09;——FLV官方文档下载 音视频入门基础&#xff1a;FLV专题&#xff08;2&#xff09;——使用FFmpeg命令生成flv文件 音视频入门基础&#xff1a;FLV专题…

Python练习13

Python日常练习 题目&#xff1a; 请编写fun函数&#xff0c;其功能是打印杨辉三角形。杨辉三角行如图所示&#xff1a; 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 要求&#xff1a; 采用列表函数完成 -----------------------------------…

Redis - 持久化

Redis ⽀持RDB和AOF两种持久化机制&#xff0c;持久化功能有效地避免因进程退出造成数据丢失问题&#xff0c; 当下次重启时利⽤之前持久化的⽂件即可实现数据恢复。本章内容&#xff1a; 介绍RDB、AOF的配置和运⾏流程&#xff0c;以及控制持久化的命令&#xff0c;如bgsave和…

Vivado+Vscode联合打造verilog环境

一、Vivado下载安装 详细参考我另一篇文章&#xff1a; Vivado2022.2下载安装_fpga vivado下载-CSDN博客https://blog.csdn.net/weixin_61081689/article/details/143460790?spm1001.2014.3001.5501 二、Vscode下载安装 详细参考我另一篇文章&#xff1a; VscodeAnacond…

项目实战使用gitee

1.创建本地仓库 2.进行提交到本地仓库 创建仓库后在idea中会显示图标&#xff0c;点击绿色的√进行快速提交 3.绑定远程仓库 4.番外篇-创建gitee仓库 注意不要勾选其他

Golang | Leetcode Golang题解之第551题学生出勤记录I

题目&#xff1a; 题解&#xff1a; func checkRecord(s string) bool {absents, lates : 0, 0for _, ch : range s {if ch A {absentsif absents > 2 {return false}}if ch L {latesif lates > 3 {return false}} else {lates 0}}return true }