摘要:
前情提要 同程艺龙基础架构部推出的数据获取组件DAL.Connection,我们要做到在切换连接配置时清空数据库连接池, 这就涉及到切换连接的时候,触发变更通知。 .NET 如何清空连接池? 面试官:实现一个带值变更通知能力的Dictionary 仔细阅读《面试官:实现一个带值变更通知能力的Dict 阅读全文
摘要:
C# 值类型作为函数形参,形参被修改,不影响原值。 这是我们在初始学习编程时需要记住的内容,我们也是一直这样践行的。 先说结论:这是不准确的。 为什么提出这样看似很浅显的问题,是因为有次我在使用ArraySegment<byte>值类型时,有感而发。 这是一个托管的值类型,表示array的一个片断, 阅读全文
摘要:
早先提及了端点路由app.UseEndpoints, 端点路由强调的是端点和 路由,其核心目的是将 请求落地点与路由寻址方式解耦。 这里面有几个容易混淆的函数 MapControllerRoute MapDefaultControllerRoute MapControllers 有什么不同?什么时候 阅读全文
摘要:
同程艺龙数据获取组件 , 与DBA的撕逼 阅读全文
摘要:
如题, 你知道字典KEY对应的Value什么时候被覆盖了吗?今天我们聊这个刚性需求。 前文提要: 数据获取组件维护了业务方所有(在用)的连接对象,DBA能在后台无侵入的切换备份库。 上文中:DBA在为某个配置字符串切换新的连接信息时,SDK利用ClearPool(DBConnection conn) 阅读全文
摘要:
有小伙伴问我每天忽悠的TPL是什么?☹️ 这次站位高一点,严肃讲一讲。 引言 俗话说,不想开飞机的程序员不是一名好爸爸;作为微软技术栈的老鸟,一直将代码整洁之道奉为经典, 优秀的程序员将优雅、高性能的代码看成自己的脸面。 今天探讨下我对.NET并行编程库Task Parallel Library的理 阅读全文
摘要:
- 共享内存 - Actor并发编程模型 - 202309反省: 求素数和不适合体现Actor模型 吃点好的,很有必要。今天介绍常见的两种并发模型: 共享内存&Actor ## 共享内存编程模型 面向对象编程中,万物都是对象,数据+行为=对象; 多核时代,可并行多个线程,但是受限于资源对象,线程之间 阅读全文
摘要:
打不死我的,只会让我更加强大。 阅读全文
摘要:
今天来聊一聊面试八股文:布隆过滤器。 说道布隆过滤器,就免不了说到缓存穿透。 缓存穿透 在高并发下,查询一个并不存在的值时,缓存不会被命中,导致大量请求直接落到数据库。 数据库的响应能力肯定没有缓存大,出线这样的情况,一般是黑客攻击,拖慢了系统的响应速度。 头脑风暴 朴素的分析思路: 在缓存前加一道 阅读全文
摘要:
前面聊了布隆过滤器,回归认识一下位图BitMap,阅读前文的同学应该发现了布隆过滤器本身就是基于位图,是位图的一种改进。 位图 先看一个问题, 假如有1千万个整数,整数范围在1到1亿之间,如何快速确定某个整数是否在这个1千万个整数中呢? 乍一看是一个查找问题,循环、二分查找都是常规思路。 一个好的答 阅读全文