NCC Weekly 是 .NET Core Community 社区打造的专栏,每周一期,周五放送,旨在介绍 NCC 社区以及成员项目的近况,以及社区关心的热点技术见闻与话题的分享。
#1
第 44 周,本周有好几个与节日相关的消息,周一是重阳节,周二是程序员节,周三发布了明年节假日安排,春节长假达到了 8 天之久、并囊括了情人节……对于明年的假日安排,你是否期待呢?
本周我们发布了 SmartSql 新版本通告,而后我们后台收到了一些用户留言,说 SmartSql 是开历史倒车等云云,在此我愿重复说我的原话,「不要因为 EFCore 养刁了习惯,就把 ORM 当成了理所应当」。SQL 能力,始终是软件工程师的基础能力;就像你学会了开车,难道就不该跑步了?难道跑步就是开历史倒车了?
.NET 技术栈下的优秀 ORM 非常多,无论是 EFCore、FreeSql 还是 SqlSugar,都能为开发者提供巨大便利,但 Raw SQL 始终没有远离我们;而以某种形式来管理 Raw SQL 片段,通过一系列策略来调度和复用语句片段,又有何问题?这种形式可以是 XML,可以是补充 SQL 子句片段(FreeSql & SqlSugar),也可以是任何其他形式。
ORM 不是银弹。ORM 不是一种强类型 SQL,而是用来解决阻抗失配的工具(ORM 的 O 是 Object 的 O,ORM 的 R 是 RDB 的 R),所以正确使用 ORM 的前提是 OOP,那么在将 Object 映射到 RDB 时会产生阻抗,这就是 ORM 的用武之地。
而除此之外,SQL 可以么?SPL 是不是有话要说?其他呢?Dapper 尚且未死,SmartSql 又何来的开历史倒车呢?
技术是人身体的外延,技术的发展是为人之身躯的解放,“是人们争取自由的一种武装” [毛,1941年1月]。一种技术是否被淘汰,不取决于是否有新的东西来替代它,而在于它作为一种生产资料,它的生产力是否满足社会需要。
毛泽东同志在 1963 年 12 月在一场关于新的科学技术发展十年规划的汇报会中指出,“科学技术这一仗,一定要打,而且必须打好。……建立这些上层建筑干什么呢?就是要搞生产。……目的就是解放生产力。现在生产关系是改变了,就要提高生产力。不搞科学技术,生产力无法提高。”
加诸礼崩乐坏的当下,“此消彼长”下的不讲“武德”让“持剑经商、持盾营商”及其所附带的诸多因素对“生产”产生了影响和扰动,让游戏规则变得更加复杂,让游戏场景变得更加多变,决策成本和风险成本也相应上升。这些技术外的要素,如今时刻影响着技术本身……
汽车淘汰了马车,使其边缘化为礼仪和旅游的保留项目;而电车的突飞猛进并未淘汰传统油车,而是进入新的“卢本伟之势”五五开。
为什么传闻中不少企业在技术选型时会过分偏袒 Java 呢 —— 又回到了生产效率和生产力的话题。不是 .NET 战五渣、生产效率低,而是因为企业为达其经营目的所作出的本能选择 —— 彼辈选择 .NET 似乎生产成本会“看上去”略略有点高(原因之一,懂的都懂)……而对于大厂而言,其实不在乎“转向 Java”或“抛弃 .NET”一说,大厂偏向于通过多种技术栈来实现其目的。这其中有诸多因素可谈,此处不作具体展开。事实上,能在当代印下足迹、榜上留名的技术,是不存在显著的能力上下之分的。
如今,包括 NCC 在内的众多社区与开源项目团队、作者们正在做的事,就是尽自己的绵薄之力,提高 .NET 的生产效率和生产力(提高生产效率不是指性能提高,而是提高生产力),降低 .NET 的生产成本,让企业在技术选型时,能多看 .NET 一眼。
这一眼,或许就是关键的一眼。
这一眼,事关兴与荣,也许更事关你我的饭碗。
愿与诸君共勉。
#2 NCC 社区动态
Util 发布 7.1.60
WTM 发布 6.4.6
BoostrapBlazor 发布 7.11.2
EntityFrameworkCore.KingbaseES 发布 6.0.22
FreeSql 发布预览版 3.2.802-preview20231024
BootstrapBlazor 发布测试版 7.11.3-beta01
Mocha 完成 MemoryBuffer 的设计,目前正在完善补充相关的单元测试。
#3 .NET 技术栈动态
桑小榆的 SQL 批量操作组件 MergeServer ✨ 增加对 PostgreSQL 的支持
This is a sql batch fucntion,help synchronize data in batches, thereby reducing losses. Now,we can support SQL Server batch operation, next time we will open PostgreSQL ,MySQL,and other ...
项目地址:https://github.com/sangxiaoyu/MergeServer
林小编写了基于 NPOI 的 Excel 表格数据互导工具 ExcelPatternTool ✨
与目前主流框架对比,ExcelPatternTool 着重单元格样式的控制,对于初始数据导入、报表导出等简单的 Excel 功能提升易用性。
功能
可设置列属性,包括样式,公式,注解;
可配置规则独立设置单元格样式;
可配置规则对 Excel 校验,包括数值校验和公式校验,内置 Lambda 表达式和正则表达式两个预设的校验器;
可扩展的接口封装和组件。
功能
提供独立 Excel 校验工具;
提供 Cli 版本和带 UI(WPF)版本的程序;
提供 ODBC 扩展;
基于 json 文件或类型 + 成员属性(Attribute)的配置方式。
项目地址:https://github.com/jevonsflash/ExcelPatternTool
Semantic Kernel dotnet 1.0 beta3 发布 ✨,详细可查看 SK 部落公众号的版本更新记录
项目地址:https://github.com/microsoft/semantic-kernel
感谢 Semantic Kernel 项目团队的辛苦付出,期待 SK .NET 1.0 正式版早日发布。
James Yeung 所主导的 AntDesign Blazor 0.16.0 发布 ❤️,详细可查看 Blazor 中文社区发布的版本更新记录
项目地址:https://github.com/ant-design-blazor/ant-design-blazor
开发团队寄语:我们坚持功能灵活和通用的原则,让每个组件适应更多实用的场景。并不希望深度绑定业务或者框架,由少数人掌握话语权。
Polly 发布 8.0.0 版本 ❤️,详细可查看团队发布页面
Polly 是一个 .NET 弹性和瞬态故障处理库,允许开发人员以流畅且线程安全的方式表达重试、断路器、超时、隔板隔离和回退等策略。
项目地址:https://github.com/App-vNext/Polly
孙凯旋的 SqlSugar 发布 5.1.4.112 版本 ❤️,添加对 Vastbase 数据库的支持,详细可查看团队发布页面
项目地址:https://github.com/DotNetNext/SqlSugar
百小僧的 Furion 发布 4.8.8.48 版本 ❤️,详细可查看团队版本更新记录
简介:先知系统,一个应用程序框架,您可以将它集成到任何 .NET/C# 应用程序中。
项目地址:https://github.com/MonkSoul/Furion
InCerryCS 发布本周的 .NET 周刊【10月第3期 2023-10-22】 @InCerry
#4 NCC 社区文章
孰优?Fluent Validation 与 Data Annotations @JuanEspaña
使用 OpenTelemetry 构建 .NET 应用可观测性(4):ASP.NET Core 应用中集成 OTel @EventHorizonCLI
#5 业界动态
微软 Teams 计划整合 Workflows,通过自动执行重复性任务,节省员工时间,最大限度地减少错误、提高工作效率。
微软还在 Teams Store 中开辟了专门的 Workflows 区域,列出了来自 Jira、Salesforce、Pipedrive、Bitbucket、Zendesk、Freshdesk 和 YouTube 等第三方公司的大量模板工具。
deepin 社区宣布 deepin WSL 已正式上架微软商店。WSL 是 Windows Subsystem for Linux 的缩写,它是一种可以让用户在 Windows 上运行 Linux 的技术。使用 WSL,可以轻松地在 Windows 和 Linux 之间切换和集成,使用开源的工具和环境来开发或测试 Linux 相关的项目,利用 Windows 的硬件支持和性能优化来运行 Linux 的应用程序,以及体验不同的 Linux 发行版。
语雀 10 月 23 日发生重大生产事故。语雀数据服务发生严重故障,造成大面积的服务中断,时间长达 8 小时。作为补偿,个人用户赠送 6 个月的会员服务;空间用户由于情况比较复杂,将单独制定赔偿方案。
首个软件专利获得者 Martin Goetz 去世,享年 93 岁。被誉为 “第三方软件之父” 的 Martin Goetz 于 10 月 10 日在马萨诸塞州布莱顿的家中因白血病去世,享年 93 岁。Martin Goetz 是一位美国软件工程师,商业软件行业发展的先驱;在 20 世纪 50 年代中期作为 Univac 大型机的程序员加入了计算机行业,于 1968 年获得世界上第一个软件专利。
微软CEO年度信全文:引领时代新潮流 My annual letter: Leading in a new era,指出微软的使命始终如一,那就是让地球上的所有人和组织,都能取得更大的成就。作为一家公司,微软相信,我们可以成为新一代技术的民主化力量,为每个国家、社区和个人带来机遇,并降低风险。阅读年度信全文(中文版)
欢迎给我们捐款
您的捐款将用于社区活动