eagleboost Blog

梦想做大侠

CompiledHashSet

Compiled HashSet   In the previous blog post “Compiled Dictionary” a basic implementation was provided, but one scenario was not addressed. For example, when the dictionary’s key is of ...

CompiledDictionary

Compiled Dictionary   I recently came across an excellent blog post Compiling a dictionary into a switch expression, where the author proposed an idea to improve the lookup speed of a D...

MongoDB BSON patch

Issue   Our project has been using MongoDB to store information such as user settings. For many years, we relied on MongoDB’s official .NET Driver, which involved creating a client inst...

Funari

————一种股票交易订单类型

  心血来潮想起一个股票交易中有趣的金融概念,就问了一下DeepSeek。 问:OrderType里的Funari什么意思? 答:   在金融交易的 OrderType(订单类型) 中,Funari 是一种特殊的订单类型,主要在日本和韩国的交易所中使用。它的核心特点是: 定义:Funari 订单是一种限价订单,但如果到市场收盘时仍有未成交的部分,剩余未成交的订单会自动转为市价订...

Executing Tasks Exclusively

——确保任务顺序执行

  优化项目中某项功能时我提出了一个需求,类似于访问WPF的界面控件需要在GUI线程上一样,我希望某些代码在后台线程执行,但同一时间只能干一件事,这样可以简化代码不需要显示使用锁。   ConcurrentExclusiveSchedulerPair有一个ExclusiveTaskScheduler看起来可以用。 Provides task schedulers that coord...

可疑的ArgumentException

  项目做得久了,千奇百怪的问题都会遇到。大多数问题一看就知道怎么回事,有些问题则很有迷惑性,甚至让人百思不得其解。   最近用户报告了一个错误,分析日志后发现往一个ObservableCollection<T>里面插入数据的时候抛出了System.ArgumentException,类似下面这样。看起来是内部出现了InvalidCast,问题是这里的xxx确实是yyy类型,不...

慎用隐式类型转换

  .Net允许用户自定义运算符operator来实现两个类型之间的转换以提高代码灵活性。自定义运算符分为显式和隐式两种。显式运算符需要在代码中明确地把目标类型写出来,隐式运算符则由编译器自动检测和推断类型再生成相应代码。   比如有下面这样一个类型,可用于根据string类型的id查找一个由泛型参数T指定的对象。 1 2 3 4 5 6 public sealed class Look...

一个AI能帮上忙的Bug

  去年底在处理项目中一个性能问题的时候碰到一个有意思的Bug。   一段代码大致如下,给定一个类型为Entity的元素以及相应的key,以及一个已排序并且可能有空位的数组array,从给定的下标index开始(该下标通过二分查找得到),先往头部遍历array,如果找到已存在的元素或者不存在但找到空位并添加成功则返回(状态为Success),否则跳出循环(状态为Break),再从下标开始往...

中英文效率比较的一个侧面

——从数字转换的效率和内存开销的角度

  中文和英文作为主流的两种语言,其实有不小的区别。可以比较的点很多,其中一种比较从信息论的角度用香农熵比较科学地给出了数学对比,即中文汉字比英文字母拥有更高的的香农熵,或者说信息容量,信息密度,因此表达同样的信息需要用到的中文字符更少。这比较符合人们的主观感受,比如同一本书的中文版往往比英文版更薄。   一个偶然的机会,我意识到可以从编写计算机程序的角度来做一个定量的比较,具体就是比较中...

ChatGPT-4

ChatGPT-4   之前对ChatGPT进行过两次测试,第一次是刚推出时进行的面试测试,纯粹从语言交流的角度来说其表现可以用惊艳来形容。第二次是用中英文数字转换为主题进行的编程测试,结论是ChatGPT并不真的会写代码。   前几天看了GPT-4 Developer Livestream,对ChatGPT又有了进一步的了解。   在视频的TaxGPT示例中,开发人员把计税的一大段规...