温故而知新:后端通用查询方案的再思考
温故而知新:后端通用查询方案的再思考 本文探讨了后端通用查询方案的实现和优化。作者从 Gridify 库获得启发,提出了一种基于泛型和接口的查询方案,实现了灵活的分页和过滤功能。文章详细介绍了方案的实现细节,包括 QueryParameter 类的设计、IQueryableFilter 接口的应用,以及如何通过自定义 IModelBinder 来兼容不同的参数传递格式,改变 ASP.NET Core 默认的模型绑定行为。文章强调了在 AI 时代,程序员应该关注复杂问题的解决和生产关系的改善,而不仅仅是简单的代码生成。
温故而知新,再话 Python 动态导入
温故而知新,再话 Python 动态导入 本文回顾了 Python 中的动态导入机制,并通过作者开发基于 ChatGPT 的人工智能管家 Jarvis 的实践,探讨了如何利用动态导入实现插件化和按需加载模块。作者介绍了使用 importlib 模块和 __import__ 函数来动态导入模块的方法,并通过示例代码展示了如何根据不同条件导入不同的模块,以及如何通过动态导入解决环境差异带来的问题。文章还提到了作者对使用 virtualenv 管理 Python 版本和开发环境的体验。
温故而知新,由 ADO.NET 与 Dapper 所联想到的 这篇文章讨论了在维护一个"遗产项目"时遇到的困难,其中数据持久化层完全由 ADO.NET 手工构建,导致大量使用 DataTable 进行数据操作,与习惯使用 Entity Framework 的开发者产生不适。作者提到了 ADO.NET 的核心组件,介绍了 DbConnection、DbCommand、DbDataReader、DbDataAdapter、DataTable 和 DataSet 的作用。讨论了使用 ADO.NET 访问数据库的常用方法和设计理念。然后作者提到了希望改进这种情况,类似于 Dapper 的实现,引入了一个简化版的 DynamicRow 类来实现类似 DapperRow 的效果。最后,作者介绍了如何通过扩展方法实现类似 Dapper 的 Query 和 Execute 方法,以及简化版的参数化查询。整体文章展示了作者对 ADO.NET、Dapper 和 Dynamic 的思考,并提出了自己的改进方案。