Web Analytics
yangyang

码农兼一个普普通通小青年

All Posts


使TextBox的TextChanged事件延迟触发

Winform里面的TextBox有TextChange事件,当TextBox的值发生改变时就会触发,在进行一些诸如对用户的输入进行即时校验时可能会用到。但是这个事件再某些情况下触发的过于频繁,会造成一些资源的浪费。我们不需要用户没键入一次就触发一个事件,而是需要等待用户“停止”输入时再进行触发,一般有两种解决方法,一种是使用焦点里开TextBox时,在相应的事件里处理,另外就是定时器方案,给事件触发一个延时,即在限定的时间范围内,只触发一次。本文提供了延迟触发TextChanged事件的几种实现。 …




使用ASP.NET Core来编写RESTfull WebService应用:基础内容

这里还是基于对Pro ASP.NET Core 3.0的学习,练习一下在Visual Studio Code如何创建ASP.NET Core应用。 并使用EntityFrameworkCore来添加种子数据和访问数据库,最后编写了一个简单的请求管道处理程序来处理请求,然后在这个基础上使用EndPoint来手动实现了一个简单的Restfull WebService,最后演示了如何使用Controller来简化WebService的实现。 …

WebService RESTfull

Visual Studio Code基本用法

最近在跟着《Pro ASP.NET Core 3》这本书复习一下相关技术,因为之前看过一遍这本书的上一个版本,当时是《Pro ASP.NET Core 2》,练习过程中就直接使用Visual Studio Code作为开发工具了。    总体感受用下来,跟宇宙第一编辑器Visual Studio相比,Visual Studio Code的缺点还是很多的。 Visual Studio Code在自动化方面,比如创建项目模板,脚手架代码的功能基本没有,需要自己手动从头开始写代码。类似一个高级一些的记事本; 在代码智能感知提示,重构,单元测试方面跟Visual Studio相比,还是弱很多; 在代码的静态编译,拼写错误提示方面基本没有,需要等到编译时才能发现。 大部分都需要手动写代码和手动进行测试,连项目之间的相互引用关系,也需要通过敲命令来实现。     但相比Visual Studio, …

Visual Studio Code

《枪炮、病菌与钢铁》阅读笔记

《枪炮、病菌与钢铁》这本书我大概花了几个星期才看完,虽然这本书的翻译有些地方读起来别扭,明明都是中文,但就是有些句子读一遍看不懂,这可能是由于英语和中文在表达方式上的差异,直接硬翻没问题,但是可能不太符合中文的阅读习惯,这就是翻译的“信达雅”问题。我不能苛求太多,不能要求翻译者既英语好,而且相关领域知识也丰富,还要求他中文也好。这本书读起来有些地方很费力枯燥,需要十分有耐心,毕竟将近500页,但是书中的一些观点仍然会让人忍不住拍大腿。跟许多好的电视剧或者电影一样,不能一上来就直接把高潮推给你,那样过后就会索然无味,也不能一个接一个的高潮,不给一点时间休息,那样读者、观众会很辛苦。要给受众一些延迟满足,要一层一层细心铺垫,然后逐步推向高潮。这本书也一样,在一些枯燥的文字之后会有一些非常鲜明的观点。这些观点和意见非常值得思考。另外这本书的写作方法也很好,他会给你提出问题,为什么会是这样,而不是 …


从单元测试来对代码逻辑进行改进

这个例子来源于Pro ASP.NET Core 3这一本书,书中介绍了对ASP.NET Core程序进行单元测试的方法,其中有一例,在对购物车逻辑模块进行功能开发的时候,发现单元测试很“吃力”,后面得到了如何对其进行优化,从而大大简化了单元测试的方法。所以这里记录一下。 购物车的实现     这里只是一个简单的购物车实现,用户在挑选物品放进购物车的时候,将数据临时存放在了Session中(缺点是如果服务器重启,数据会丢失,这里不讨论)。购物车的模型Cart如下: public class Cart { public List<CartLine> Lines { get; set; } = new List<CartLine>(); public virtual void AddItem(Product product, int quantity) { …

UnitTest SRP

周幽王与西周灭亡

​    西周的最后一个国王是周幽王,但西周的灭亡,一般会从倒数第三位的周厉王开始谈起。周厉王和周幽王成了后世昏君、暴君、亡国之君的代名词。骂皇帝,最严重的的指控是比作“桀纣”(jié zhòu),其次就是“幽历之君”,“杀戮无辜曰厉”。     周厉王时期,连年战乱,百姓苦不堪言。同时,周厉王喜欢聚敛,垄断社会财富及资源。为压制国人不满,周厉王派人监控舆论,有妄议天子的人就杀掉。又有贤良的臣子再次劝谏厉王,强调言论自由和广开言路。“防民之口、甚于防川”就是从这里来的(跟“水能载舟,亦可赛艇亦能覆舟”差不多意思)。     但厉王不听,三年之后,爆发叛乱,厉王被迫逃出京城,渡过黄河,到达彘(今山西霍县),十四年后死在哪里。厉王死后,其子姬静即位,是为周宣王,“善闻周达曰宣”。周宣王迁都镐(hào)京,位四十六年,励精图治,政通人和,诸侯来朝。     周宣王死后,局面急转直下。其子姬宫涅( …


解决OneNote无法登录的问题

本人Windows 10系统,使用的是OneNote 2013,感觉在国内使用微软的服务经常会出现无法同步的问题,同步的问题大部分都是因为账户过期或者无法登录,今天我就碰上了。发现OneNote无法同步,提示需要登录。于是到OneNote->账户,注销当前账户,重新登录。     登录的时候就遇到了问题,在登录界面上输入用户名后,点击继续,原本是要跳转到输入密码的页面,但是出现了错误,页面根本无法加载: This site can’t be reachedlogin.live.com’s server IP address could not be found.      网上查找了一番,有的人说是先登录网页版的OneNote,于是打开网页版的OneNote,在输入用户名之后,跳转的页面仍然会出现无法加载,于是使用自带的页面上的网络诊断工具:     点击“Running …


让站点支持TLS 1.2

本博客源自Moonglade项目,原博主采用的是全套Azure部署模式(包括Azure App Service,Azure SQLServer等等),但是这需要钞能力才能完成。由于贫穷,本人购买的是一台云服务器,网站运行在IIS上,后台数据库使用的免费的SQLServer Express版本。     为了安全原因,将站点升级为了HTTPS,目前这个也很简单,在各大公有云网站都能申请免费期为1年的DV证书,申请次数目前也没有限制,1年到期之后,再次申请即可,当然也可以花钱购买证书,如果使用Azure,上面也有免费的证书,至于如何申请SSL证书,以及如何为站点配置证书以支持HTTPS,这里不展开,网上有很多相关教程。     但是HTTPS站点就一定是安全的吗?我们可以去https://www.ssllabs.com/ssltest/ 这个网站评估一下自身站点,我的站点评估结果是B,提示 …

TLS 1.2 SSL