南京哪个网站做物业贷vue.js做静态网站

news/2025/9/22 21:37:58/文章来源:
南京哪个网站做物业贷,vue.js做静态网站,好的响应式网站有哪些,360检测网站开发语言的工具#x1f3c6;作者#xff1a;科技、互联网行业优质创作者 #x1f3c6;专注领域#xff1a;.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 #x1f3c6;欢迎关注我#xff08;Net数字智慧化基地#xff09;#xff0c;里面… 作者科技、互联网行业优质创作者 专注领域.Net技术、软件架构、人工智能、数字化转型、DeveloperSharp、微服务、工业互联网、智能制造 欢迎关注我Net数字智慧化基地里面有很多高价值技术文章是你刻苦努力也积累不到的经验能助你快速成长。升职涨薪 框架介绍 依照惯例首先介绍本期主角:ShardingCore 一款ef-core下高性能、轻量级针对分表分库读写分离的解决方案具有零依赖、零学习成本、零业务代码入侵 dotnet下唯一一款全自动分表,多字段分表框架,拥有高性能,零依赖、零学习成本、零业务代码入侵,并且支持读写分离动态分表分库,同一种路由可以完全自定义的新星组件框架。 项目地址 githubhttps://github.com/dotnetcore/sharding-core giteehttps://gitee.com/dotnetchina/sharding-core 背景 在大数据量下针对app端的瀑布流页面分页的优化实战,有大量的数据,前端需要以瀑布流的形式展示出来,我们最简单的就是以用户发布的文章为例,假设我们有大量的文章帖子被,需求需要按帖子的发布时间倒序展示给用户看,那么在手机端我们一般都是以下拉刷新,上拉加载的形式去展示,那么我们一般会有以下集中写法。 常规分页操作 select count(*) from article select * from article order by publish_time desc limit 0,20这个操作是一般我们的常规分页操作,先进行total然后进行分页获取,这种做法的好处是支持任意规则的分页,缺点就是需要查询两次,一次count一次limit当然后期数据量实在太大可以只需要第一次count,但是也有一个问题就是如果数据量一直在变化会出现下一次分页中还会有上一次的部分数据,因为数据在不断地新增,你的分页没跟上发布的速度那么就会有这个情况发送. 瀑布流分页 除了上述常规分页操作外,我们针对特定顺序的分页也可以进行特定的分页方式来实现高性能,因为基于大前提我们是大数量下的瀑布流,我们的文章假设是以雪花id作为主键,那么我们的分页可以这么写 select * from article where idlast_id order by publish_time desc limit 0,20首先我们来分析一下,这个语句是利用了插入的数据分布是顺序和你需要查询的排序一直来实现的,又因为id不会重复并且雪花id的顺序和时间是一致的都是同向的所以可以利用这种方式来进行排序,limit每次不需要跳过任何数目,直接获取需要的数目即可,只需要传递上一次的查询结果的id即可这个方式弥补了上述常规分页带来的问题,并且拥有非常高的性能,但是缺点也显而易见,不支持跳页,不支持任意排序,所以这个方式目前来说非常适合前端app的瀑布流排序。 分片下的实现 首先分片下需要实现这个功能我们需要有id支持分片,并且publish_time按时间分表,两者缺一不可。 原理 假设文章表article我们是以publish_time作为分片字段假设按天分表,那么我们会拥有如下的表 article_20220101、article_20220102、article_20220103、article_20220104、article_20220105、article_20220106...... 雪花id辅助分片 因为雪花id可以反解析出时间,所以我们对雪花id的,,,,,contains的操作都是可以进行辅助分片进行缩小分片范围 假设我们的雪花id解析出来是2021-01-05 11:11:11,那么针对这个雪花id的小于操作我们可以等价于x 2021-01-05 11:11:11,那么如果我问你这下我们需要查询的表有哪些,很明显 [article_20220101、article_20220102、article_20220103、article_20220104、article_20220105]除了20220106外我们都需要查询。 union all分片模式 如果你使用union all的分片模式那么通常会将20220101-20220105的所有的表进行union all然后机械能过滤,那么优点可想而知简单,连接数消耗仅1个,sql语句支持的多,缺点也显而易见优化起来后期是个很大的问题,并且跨库下的使用有问题 select * from  (select * from article_20220101 union all select * from article_20220102 union all select * from article_20220103....) twhere idlast_id order by publish_time desc limit 0,20流式分片,顺序查询 如果你是流式分片模式进行聚合通常我们会将20220101-20220105的所有的表进行并行的分别查询,然后针对每个查询的结果集进行优先级队列的排序后获取,优点:语句简单便于优化,性能可控,支持分库,缺点:实现复杂,连接数消耗多 select * from article_20220101 where idlast_id order by publish_time desc limit 0,20 select * from article_20220102where idlast_id order by publish_time desc limit 0,20 select * from article_20220103 where idlast_id order by publish_time desc limit 0,20 ......流式分片下的优化 目前 ShardingCore采用的是流式聚合union all,当且仅当用户手动3调用UseUnionAllMerge时会将分片sql转成union all 聚合。 针对上述瀑布流的分页ShardingCore是这么操作的 确定分片表的顺序,也就是因为分片字段是publish_time,又因为排序字段是publish_time所以分片表其实是有顺序的,也就是[article_20220105、article_20220104、article_20220103、article_20220102、article_20220101], 因为我们是开启n个并发线程所以这个排序可能没有意义,但是如果我们是仅开启设置单个连接并发的时候,程序将现在通过idlast_id进行表筛选之后依次从大到小进行获取直到满足skiptake也就是02020条数据后,进行直接抛弃剩余查询返回结果,那么本次查询基本上就是和单表查询一样,因为基本上最多跨两张表基本可以满足要求(具体场景不一定) 说明:假设last_id反解析出来的结果是2022-01-04 05:05:05那么可以基本上排除article_20220105,判断并发连接数如果是1那么直接查询article_20220104,如果不满足继续查询article_20220103,直到查询结果为20条如果并发连接数是2那么查询[article_20220104、article_20220103]如果不满足继续下面两张表直到获取到结果为20条数据,所以我们可以很清晰的了解其工作原理并且来优化 说明 通过上述优化可以保证流式聚合查询在顺序查询下的高性能O(1) 通过上述优化可以保证客户端分片拥有最小化连接数控制 设置合理的主键可以有效的解决我们在大数据分片下的性能优化 实践 ShardingCore目前针对分片查询进行了不断地优化和尽可能的无业务代码入侵来实现高性能分片查询聚合。 接下来我将为大家展示一款dotnet下唯一一款全自动路由、多字段分片、无代码入侵、高性能顺序查询的框架在传统数据库领域下的分片功能,如果你使用过我相信你一定会爱上他。 第一步 安装依赖 # ShardingCore核心框架 版本6.4.2.4 PM Install-Package ShardingCore # 数据库驱动这边选择的是mysql的社区驱动 efcore6最新版本即可 PM Install-Package Pomelo.EntityFrameworkCore.MySql第二步 添加对象和上下文 有很多朋友问我一定需要使用fluentapi来使用ShardingCore吗,只是个人喜好,这边我才用dbsetattribute来实现 //文章表 [Table(nameof(Article))] public class Article {[MaxLength(128)][Key]public string Id { get; set; }[MaxLength(128)][Required]public string Title { get; set; }[MaxLength(256)][Required]public string Content { get; set; }public DateTime PublishTime { get; set; } } context public class MyDbContext:AbstractShardingDbContext,IShardingTableDbContext {public MyDbContext(DbContextOptionsMyDbContext options) : base(options){ 添加会导致efcore 的model提前加载的方法如Database.xxxx}public IRouteTail RouteTail { get; set; }public DbSetArticle Articles { get; set; } }第三步 添加文章路由 public class ArticleRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRouteArticle {public override void Configure(EntityMetadataTableBuilderArticle builder){builder.ShardingProperty(o  o.PublishTime);}public override bool AutoCreateTableByTime(){return true;}public override DateTime GetBeginTime(){return new DateTime(2022, 3, 1);} }到目前为止基本上Article已经支持了按天分表 第四步 添加查询配置,让框架知道我们是顺序分表且定义分表的顺序 public class TailDayReverseComparer : IComparerstring {public int Compare(string? x, string? y){//程序默认使用的是正序也就是按时间正序排序我们需要使用倒序所以直接调用原生的比较器然后乘以负一即可return Comparerstring.Default.Compare(x, y) * -1;} } //当前查询满足的复核条件必须是单个分片对象的查询,可以join普通非分片表 public class ArticleEntityQueryConfiguration:IEntityQueryConfigurationArticle {public void Configure(EntityQueryBuilderArticle builder){//设置默认的框架针对Article的排序顺序,这边设置的是倒序builder.ShardingTailComparer(new TailDayReverseComparer());如下设置和上述是一样的效果让框架真对Article的后缀排序使用倒序//builder.ShardingTailComparer(Comparerstring.Default, false);//简单解释一下下面这个配置的意思//第一个参数表名Article的哪个属性是顺序排序和Tail按天排序是一样的这边使用了PublishTime//第二个参数表示对属性PublishTime asc时是否和上述配置的ShardingTailComparer一致,true表示一致,很明显这边是相反的因为默认已经设置了tail排序是倒序//第三个参数表示是否是Article属性才可以,这边设置的是名称一样也可以,因为考虑到匿名对象的selectbuilder.AddOrder(o  o.PublishTime, false,SeqOrderMatchEnum.Owner|SeqOrderMatchEnum.Named);//这边为了演示使用的id是简单的时间格式化所以和时间的配置一样builder.AddOrder(o  o.Id, false,SeqOrderMatchEnum.Owner|SeqOrderMatchEnum.Named);//这边设置如果本次查询默认没有带上述配置的order的时候才用何种排序手段//第一个参数表示是否和ShardingTailComparer配置的一样,目前配置的是倒序,也就是从最近时间开始查询,如果是false就是从最早的时间开始查询//后面配置的是熔断器,也就是复核熔断条件的比如FirstOrDefault只需要满足一个就可以熔断builder.AddDefaultSequenceQueryTrip(true, CircuitBreakerMethodNameEnum.Enumerator, CircuitBreakerMethodNameEnum.FirstOrDefault);//这边配置的是当使用顺序查询配置的时候默认开启的连接数限制是多少,startup一开始可以设置一个默认是当前cpu的线程数,这边优化到只需要一个线程即可,当然如果跨表那么就是串行执行builder.AddConnectionsLimit(1, LimitMethodNameEnum.Enumerator, LimitMethodNameEnum.FirstOrDefault);} }第五步 添加配置到路由 public class ArticleRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRouteArticle {//省略.....public override IEntityQueryConfigurationArticle CreateEntityQueryConfiguration(){return new ArticleEntityQueryConfiguration();} }第六步 startup配置 var builder  WebApplication.CreateBuilder(args);// Add services to the container. ILoggerFactory efLogger  LoggerFactory.Create(builder  {builder.AddFilter((category, level)  category  DbLoggerCategory.Database.Command.Name  level  LogLevel.Information).AddConsole(); }); builder.Services.AddControllers(); builder.Services.AddShardingDbContextMyDbContext().AddEntityConfig(o {o.CreateShardingTableOnStart  true;o.EnsureCreatedWithOutShardingTable  true;o.AddShardingTableRouteArticleRoute();}).AddConfig(o {o.ConfigId  c1;o.UseShardingQuery((conStr, b) {b.UseMySql(conStr, new MySqlServerVersion(new Version())).UseLoggerFactory(efLogger);});o.UseShardingTransaction((conn, b) {b.UseMySql(conn, new MySqlServerVersion(new Version())).UseLoggerFactory(efLogger);});o.AddDefaultDataSource(ds0, server127.0.0.1;port3306;databaseShardingWaterfallDB;useridroot;passwordroot;);o.ReplaceTableEnsureManager(sp  new MySqlTableEnsureManagerMyDbContext());}).EnsureConfig();var app  builder.Build();app.Services.GetRequiredServiceIShardingBootstrapper().Start(); using (var scope  app.Services.CreateScope()) {var myDbContext  scope.ServiceProvider.GetRequiredServiceMyDbContext();if (!myDbContext.Articles.Any()){ListArticle articles  new ListArticle();var beginTime  new DateTime(2022, 3, 1, 1, 1,1);for (int i  0; i  70; i){var article  new Article();article.Id  beginTime.ToString(yyyyMMddHHmmss);article.Title  标题  i;article.Content  内容  i;article.PublishTime  beginTime;articles.Add(article);beginTime beginTime.AddHours(2).AddMinutes(3).AddSeconds(4);}myDbContext.AddRange(articles);myDbContext.SaveChanges();} } app.MapControllers();app.Run();第七步 编写查询表达式 public async TaskIActionResult Waterfall([FromQuery] string lastId,[FromQuery]int take) {Console.WriteLine($-----------开始查询,lastId:[{lastId}],take:[{take}]-----------);var list  await _myDbContext.Articles.WhereIf(o  String.Compare(o.Id, lastId)  0,!string.IsNullOrWhiteSpace(lastId)).Take(take)..OrderByDescending(o  o.PublishTime)ToListAsync();return Ok(list); }运行程序 因为07表是没有的所以这次查询会查询07和06表,之后我们进行下一次分页传入上次id 因为没有对Article.Id进行分片路由的规则编写所以没办法进行对id的过滤,那么接下来我们配置Id的分片规则 首先针对ArticleRoute进行代码编写 public class ArticleRoute:AbstractSimpleShardingDayKeyDateTimeVirtualTableRouteArticle {public override void Configure(EntityMetadataTableBuilderArticle builder){builder.ShardingProperty(o  o.PublishTime);builder.ShardingExtraProperty(o  o.Id);}public override bool AutoCreateTableByTime(){return true;}public override DateTime GetBeginTime(){return new DateTime(2022, 3, 1);}public override IEntityQueryConfigurationArticle CreateEntityQueryConfiguration(){return new ArticleEntityQueryConfiguration();}public override ExpressionFuncstring, bool GetExtraRouteFilter(object shardingKey, ShardingOperatorEnum shardingOperator, string shardingPropertyName){switch (shardingPropertyName){case nameof(Article.Id): return GetArticleIdRouteFilter(shardingKey, shardingOperator);}return base.GetExtraRouteFilter(shardingKey, shardingOperator, shardingPropertyName);}/// summary/// 文章id的路由/// /summary/// param nameshardingKey/param/// param nameshardingOperator/param/// returns/returnsprivate ExpressionFuncstring, bool GetArticleIdRouteFilter(object shardingKey,ShardingOperatorEnum shardingOperator){//将分表字段转成订单编号var id  shardingKey?.ToString() ?? string.Empty;//判断订单编号是否是我们符合的格式if (!CheckArticleId(id, out var orderTime)){//如果格式不一样就直接返回false那么本次查询因为是and链接的所以本次查询不会经过任何路由,可以有效的防止恶意攻击return tail  false;}//当前时间的tailvar currentTail  TimeFormatToTail(orderTime);//因为是按月分表所以获取下个月的时间判断id是否是在临界点创建的//var nextMonthFirstDay  ShardingCoreHelper.GetNextMonthFirstDay(DateTime.Now);//这个是错误的var nextMonthFirstDay  ShardingCoreHelper.GetNextMonthFirstDay(orderTime);if (orderTime.AddSeconds(10)  nextMonthFirstDay){var nextTail  TimeFormatToTail(nextMonthFirstDay);return DoArticleIdFilter(shardingOperator, orderTime, currentTail, nextTail);}//因为是按月分表所以获取这个月月初的时间判断id是否是在临界点创建的//if (orderTime.AddSeconds(-10)  ShardingCoreHelper.GetCurrentMonthFirstDay(DateTime.Now))//这个是错误的if (orderTime.AddSeconds(-10)  ShardingCoreHelper.GetCurrentMonthFirstDay(orderTime)){//上个月tailvar previewTail  TimeFormatToTail(orderTime.AddSeconds(-10));return DoArticleIdFilter(shardingOperator, orderTime, previewTail, currentTail);}return DoArticleIdFilter(shardingOperator, orderTime, currentTail, currentTail);}private ExpressionFuncstring, bool DoArticleIdFilter(ShardingOperatorEnum shardingOperator, DateTime shardingKey, string minTail, string maxTail){switch (shardingOperator){case ShardingOperatorEnum.GreaterThan:case ShardingOperatorEnum.GreaterThanOrEqual:{return tail  String.Compare(tail, minTail, StringComparison.Ordinal)  0;}case ShardingOperatorEnum.LessThan:{var currentMonth  ShardingCoreHelper.GetCurrentMonthFirstDay(shardingKey);//处于临界值 oo.time  [2021-01-01 00:00:00] 尾巴20210101不应该被返回if (currentMonth  shardingKey)return tail  String.Compare(tail, maxTail, StringComparison.Ordinal)  0;return tail  String.Compare(tail, maxTail, StringComparison.Ordinal)  0;}case ShardingOperatorEnum.LessThanOrEqual:return tail  String.Compare(tail, maxTail, StringComparison.Ordinal)  0;case ShardingOperatorEnum.Equal:{var isSame  minTail  maxTail;if (isSame){return tail  tail  minTail;}else{return tail  tail  minTail || tail  maxTail;}}default:{return tail  true;}}}private bool CheckArticleId(string orderNo, out DateTime orderTime){//yyyyMMddHHmmssif (orderNo.Length  14){if (DateTime.TryParseExact(orderNo, yyyyMMddHHmmss, CultureInfo.InvariantCulture,DateTimeStyles.None, out var parseDateTime)){orderTime  parseDateTime;return true;}}orderTime  DateTime.MinValue;return false;} }完整路由针对Id进行多字段分片并且支持大于小于排序 以上是多字段分片的优化,详情博客可以点击这边 .Net下你不得不看的分表分库解决方案-多字段分片 然后我们继续查询看看结果 第三页也是如此 DEMOhttps://github.com/xuejmnet/ShardingWaterfallApp 总结 当前框架虽然是一个很年轻的框架,但是我相信我对其在分片领域的性能优化应该在.net现有的所有框架下找不出第二个,并且框架整个也支持union all聚合,可以满足列入groupfirst的特殊语句的查询,又有很高的性能,一个不但是全自动分片而且还是高性能框架拥有非常多的特性性能,目标是榨干客户端分片的最后一点性能。 最后 身位一个dotnet程序员我相信在之前我们的分片选择方案除了mycat和shardingsphere-proxy外没有一个很好的分片选择,但是我相信通过ShardingCore 的原理解析,你不但可以了解到大数据下分片的知识点,更加可以参与到其中或者自行实现一个,我相信只有了解了分片的原理dotnet才会有更好的人才和未来,我们不但需要优雅的封装,更需要原理的是对原理了解。 我相信未来dotnet的生态会慢慢起来配上这近乎完美的语法 欢迎关注我Net数字智慧化基地里面有很多高价值技术文章是你刻苦努力也积累不到的经验能助你快速成长。升职涨薪 点击下方卡片关注公众号 回复面试获取C#/.NET/.NET Core面试宝典 回复C#领取零基础学习C#编程 回复NET领取.NET零基础入门到实战 回复Linux领取Linux从入门到精通 回复wpf领取高薪热门【WPF上位机工业互联网】从零手写实战 回复Modbus领取初识C#上位机Modbus通信 回复PLC领取C#语言与西门子PLC的通信实操 回复blazor领取blazor从入门到实战 回复TypeScript领取前端热门TypeScript系统教程 回复vue领取vue前端从入门到精通 回复23P领取C#实现23种常见设计模式 回复MongoDB领取MongoDB实战 回复Trans领取分布式事务 回复Lock领取分布式锁实践 回复Docker领取微服务Docker综合实战 回复K8s领取K8s部署微服务 回复加群进.NET技术社区交流群

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

国外儿童社区网站模板网站建设的费用

演示站点: https://ai.uaai.cn 对话模块 官方论坛: www.jingyuai.com 京娱AI 一、AI技术创业在线辅导业务有哪些机会? 人工智能(AI)技术作为当今科技创新的前沿领域,为创业者提供了广阔的机会和挑战。随着…

东莞网站建设做网站dw可以做视频网站么

原文地址:http://www.goodfav.com/zh/app-development-tutorials-3559.html 移动应用程序开发是大企业和创意的个人和小团队开发,是一个有很多商业机会的领域之一。它可能需要多次尝试设计来实施一个出类拔萃的应用程序,但是,如果…

自媒体图片素材网站系统开发过程

我试图从Mathematica中获取一张图片.我尝试评估一些使用包中的方法生成图形的Mathematica代码.如果我将代码粘贴到Mathematica Notebook,则会正确生成图形.所以我的问题:如何将这些图形转换为Java ???这是我的示例代码:ml MathLinkFactory.createKer…

阿里云做的网站怎么样宁波网站建设公司哪里有

在Vue中,防抖和节流是两种常用的优化技术,用于限制事件的触发频率,以提高页面性能。 防抖(Debounce)是指在事件被触发后,等待一段时间后再执行回调函数。如果在这段等待时间内,事件又被触发&am…

建立一个网站大约要多少钱个人工作室和公司区别

前言 在上一篇文章中我们介绍了在计算机底层视角下的虚拟内存和操作系统在用户层所进行的各个分层,在这篇文章我们就要开始尝试书写多线程代码了,其实在c11后c就提供供了线程类给我们使用,c线程类其实主要是对c操作多线程的函数进行了封装,本质上其实是…

详细介绍:无公网 IP 访问群晖 NAS:神卓 N600 的安全解决方案(附其他方法风险对比)

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

网站开发与设计结课大作业汽车可以做哪些广告视频网站

一、命名空间概念1、命名空间(name space)名称空间是存放名字的地方。若变量x1,1存放在内存中,命名空间是存放名字x、x与1绑定关系的地方。2、名称空间加载顺序python test.py#1、python解释器先启动,因而首先加载的是:内置名称空…

2025.9.18 总结

T1 就是有一个 dp 是 f i 0/1 0/1 表示有 i 个数,异或和是不是 0,异或和是不是等于最后一个数,然后矩阵加速就没了。 T2 会发现这个东西你可以贪心维护,每次能阔就阔不能阔就退出。然后判一下相邻两个颜色块之间的…

越南文识别技术:将纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据

在数字化浪潮席卷全球的今天,如何将海量的纸质文档和信息快速、准确地转化为可编辑、可检索的数字数据,已成为一项关键挑战。光学字符识别(OCR)技术正是解决这一挑战的核心。作为OCR技术的一个重要分支,越南文识别…

#JAVA作业

1、什么样的方法应该用static修饰?不用static修饰的方法往往具有什么特性?Student的getName应该用static修饰吗? 答:用static修饰的方法多为工具类方法、工厂方法等不依赖对象状态的方法;不用static修饰的是实例方…

C#编程练习:使用队列存储消息,一次性存10条消息,每隔一段时间打印一条消息控制台打印消息时要有明显停顿感 - 详解

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

东莞网站建设企业做彩票网站犯法

1.1 屏蔽罩作用 1.1.1 屏蔽电子信号,防止外界的干扰或内部向外的辐射: 一般见于通信类电路PCB,主要一个无线通信产品上有的敏感器件、模拟、数字电路、DCDC电源电路,都需屏蔽隔离,是为了不影响其它电路,也有防止其它电…

天津河西做网站贵吗市场营销手段13种手段

RelativeLayout用到的一些重要的属性: 第一类:属性值为true或false android:layout_centerHrizontal 水平居中 android:layout_centerVertical 垂直居中 android:layout_centerInparent 相对于父元素完全居中 android:layout_alignParentBottom 贴紧父元素的下边…

中企动力中山分公司网站英文免费注册网站

bigKey的产生 1、使用String存储了大文件的二进制。 2、使用集合没有考虑到数据的规模,或者规模的增长。 3、哈希中冗余了大量键值对。 bigKey问题 1、操作大key时会阻塞线程:redis是单线程。 2、网络阻塞:在网络中占用大量网络流量。 …

建设网站租服务器腾讯企业邮箱怎么注册

近日,力软与重庆科技学院联合推出了为期两周的低代码应用开发培训课程,来自重庆科技学院相关专业的近百名师生参加了此次培训。 融合研学与实践,方能成为当代数字英才。本次培训全程采用线下模式,以“力软低代码平台”为软件开发…

绿色家园网站怎么做wordpress 密码更改

File: rust/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs rust/compiler/rustc_target/src/spec/x86_64_unknown_netbsd.rs 文件是 Rust 编译器针对 x86_64-unknown-netbsd 目标平台的配置文件。该文件定义了与该平台相关的特性、链接选项、目标特定的运行时支持以…

wordpress制作网站教程视频企业网站建设一般要素

文章目录 Git概述什么是GitGit历史Git是什么 为什么要使用Git什么是版本控制系统 Git和SVN对比SVN集中式SVN优缺点 Git分布式Git优缺点 Git工作流程四个工作区域工作流程 Git下载与安装下载window版下载64位软件包安装Git Git基础环境配置设置用户信息查看配置信息 文件的两种状…

一个空间两个php网站钉钉企业邮箱收费标准

一共8884张图片 xml .txt格式都有 Yolo可直接训练 已跑通 动作类别一共8类。 全部为教室监控真实照片,没有网络爬虫滥竽充数的图片,可直接用来训练。以上图片均一一手工标注,标签格式为VOC格式。适用于YOLO算法、SSD算法等各种目标检测算法…

用asp.net开发网站的优势微信如何建公众号怎么创建

刁钻的顾客 发布时间: 2017年7月3日 10:23 时间限制: 3000ms 内存限制: 128M 描述 XJTU校园内新开一家商店,可是来了一位刁钻的顾客要购买商品A和商品B。关于商品的质量,共有n个评分,每个评分即一个整数来表示该产品在某一方面的质量。商…

23

https://www.luogu.com.cn/problem/P9197 这题我为什么不会啊?? 套路地拆绝对值,从大到小往序列里面插数,\(dp_{i,j,k,0/1,0/1}\) 表示前 \(i\) 个数形成 \(j\) 个连续段,这 \(i\) 个数的贡献总和为 \(k\),是否填…