摘要:
有许多流行的`.NET`框架,大家都觉得挺“重”,认为很麻烦,重量级,不如其它“轻量级”框架,从而不愿意使用。面对形形色色的框架发愁,笔者也曾发愁。但我发现只要敢于尝试,这些框架都是“纸老虎”。就像“小马过河”一样,自己尝试一下,就会发现“原来河水既不像老牛说的那样浅,也不像松鼠说的那样深。” 阅读全文
摘要:
“算命”,是一种迷信,我父亲那一辈却执迷不悟,有时深陷其中,有时为求一“上上签”,甚至不惜重金,向“天神”保佑。我曾看到过有些算命网站,可以根据人的生辰八字,来求得这个人一生的财运、桃花运,如果第一卦算得不好,还可以向“天神”“请愿”(充钱),再算一卦,直到达到好运为止。
.NET也能写“算命”程序! 阅读全文
摘要:
今天我将分享一段简短的代码,爬出博客园前200页精华内容,然后通过**微小**的改动,将代码升级为多线程爬虫,让爬虫速度提升数倍;最后将对爬到了内容进行一些有趣的分析。希望通过这个简单的博客园爬虫,让大家多多享受写`.NET`/`C#`代码的乐趣😃 阅读全文
摘要:
导出Excel是.NET的常见需求,开源社区、市场上,都提供了不少各式各样的Excel操作相关包。本文,我将使用NPOI、EPPlus、OpenXML、Aspose.Cells四个市面上常见的库,各完成一个导出Excel示例。然后对其代码风格和性能做一个横向比较。最后我将说出我自己的感想。 阅读全文
摘要:
在演示Demo、数据库脱敏、性能测试中,有时需要生成大量随机数据。Bogus就是.NET中优秀的高性能、合理、支持多语言的随机数据生成库。
阅读全文
摘要:
正常Git仓库中应该尽量不包含数据库连接/AWS帐号/巨大二进制文件,否则一旦泄漏到Github,这些非常敏感信息会影响客户的信息安全已经公司的信誉。公司可能其它还有相关规定,如禁止私人邮件加入GIT仓库。如果违反这些规定,可能会面临辞退、高额罚款、或牢狱之灾等非常严厉的惩罚。
由于Git的正常操作流程,导致敏感信息一旦进入主分支,再怎么在新的Pull Request中删除,也无能为力了。其它人都能在历史记录中查询到历史记录中的配置。所以这要求对Git的签名和签入、推送要有高度的敬畏之心。
然而根据墨菲定律,可能发生的事情**一定会发生**。时不时,故意或失手,就会有人将这些信息写到了Git仓库中。如果代码还没有上传(git push),那可能还好说,只要将分支删除,然后重新写一下功能即可。但如果已经上传了,或功能太多太复制没办法及时删除,就会后悔莫及了。 阅读全文
摘要:
这是一个常见面试题,值类型和引用类型有何区别?为何这些区别对性能很关键?某些语言没有值类型,它有什么缺点呢? 阅读全文
摘要:
我的在前两篇文章(水印/验证码)中,我介绍了使用Direct2D给图片加水印/验证码,今天我将其进行了封装,发布了一个NuGet包:Sdcb.Imaging 阅读全文
摘要:
验证码是图片上写上几个字,然后对这几个字做特殊处理,如扭曲、旋转、修改文字位置,然后加入一些线条,或加入一些特殊效果,使这些在人类能正常识别的同时,机器却很难识别出来,以达到防爬虫、防机器人的效果。
验证码通常用于网站中,是防爬虫、防机器人侵入的好方法。以往.NET中创建验证码,通常会使用System.Drawing创建“正常”的验证码。
在前一往篇博客[.NET中生成水印更好的方法]中,提到了如何给图片加水印。本文将基于上篇博客进一步探索,使用Direct2D创建验证码。 阅读全文
摘要:
.NET中生成水印更好的方法 为了保护知识产权,防止资源被盗用,水印在博客、网店等场景中非常常见。 本文首先演示了基于 做正常操作。然后基于 /`WIC DirectWrite`,演示了一种全新、不同的“ 骚 ”操作。 方法1 给图片加水印 原生属于 的一部分,是Windows Only,但随着Nu 阅读全文