昨日在新生命团队钉钉群中,看到大石头老师分享了他们实现的 IndexOf 算法,据说可以做到 O(1),第一反应是几乎不可能,了解之后得知是使用了 Boyer Moore 字符串搜索算法,据说这种算法常用于 IDE 工具的查找,比 KMP 更快,所以有了对各种常用字符串查找算法做一下 Benchmark 的想法。

阅读全文 »

前几天的时候看到了 吕毅 大佬写的博客
为什么 C# 的 string.Empty 是一个静态只读字段,而不是一个常量呢?
非常感谢吕毅大佬的分享,在文章的末尾大佬提到了通过反射修改 String.Empty 的可能,于是我打算自己实践一下。

阅读全文 »

其实很早之前我就意识到,把博客的源码不加掩饰的直接托管在 Github 是一件颇为危险的事,配置文件中配置的各种平台的 key 随时有可能被窃取,只是一直懒得动手,今天得闲把整个流程捋顺了,遂记录一下。

阅读全文 »

在今天更新文章的时候,实验性的使用了按照更新时间排序,却发现所有文章的更新时间都是当天,推测是因为读取了文件的更新时间,而文件更新时间由于仓库刚刚新拉取而通通保持了当期时间,所以有了标题所示的需求。

阅读全文 »

GeoIP® 数据库&服务:业界领先的IP智能,MaxMind GeoIP2 服务能识别互联网用户的地点位置与其他特征,应用广泛,包括个性化定制内容、诈欺检测、广告定向、网站流量分析、执行规定、地理目标定位、地理围栏定位 (geo-fencing)以及数字版权管理。

阅读全文 »

瀑布开发模式

  瀑布模式是一种前几年在国内各大项目中比较流行的开发模式,特点是分阶段进行,每个阶段都很清晰,只有阶段对应的人员才会参与当前阶段的开发,每个阶段必须有产出物才可以开始下个阶段,整个周期较长,早期需求分析和设计的时间消耗较多,整个流程会尽量避免需求的改动,更适用于B端产品的开发。

阅读全文 »

  最近几年,相信大家都越来越多的在各种场合各种平台听到过了“云原生”这个词。
  比如,关于云原生应用的“Twelve-Factor App”理论,现在已经是基础设施的现象级容器技术,几乎已经等同于容器本身的 Docker,还有容器编排技术 Kubernetes,以及 Kubernetes 背后的 CNCF(云原生计算基金会)。
  那么,什么才是“云原生”呢?什么样的系统架构才能被称为云原生架构呢?

阅读全文 »

  前几天同事遇到了这个问题,没查到资料找到了我这位老司机,隐约记得. NET Framework 应该用别名解决的我给出了两个字的解决方案 “别名”,被告知别名在. NET Core 中是不能像. NET Framework 中那样设置的,连忙打开 VS 亲自尝试了一下,以下是他遇到问题的两个包:

1
2
PM> Install-Package StackExchange.Redis
PM> Install-Package StackExchange.Redis.StrongName

  随便按照文档的调用简单写了一句代码

1
ConnectionMultiplexer redis = ConnectionMultiplexer.Connect("localhost");

!!
居然出了问题!

  错误提示的大意为,StackExchange.Redis.dll 和 StackExchange.Redis.StrongName.dll 中都存在 StackExchange.Redis 命名空间,且命名空间下都有一个 ConnectionMultiplexer 类型,先不追究同事为何需要同时使用这样两个程序集,假设这是必要的,我们来尝试解决这个问题。

阅读全文 »

最近听闻数据结构与算法实践课的老师又出了和上年一样的选题,不禁想起了去年自己完成作业时的点点滴滴,遗憾当时没有写博客的习惯,之前的一些心得这一年实践的过去也逐渐淡忘了,突然就有了总结一下的想法,希望能有新的收获吧。

阅读全文 »