实现一个时间同步客户端NTPClock
由于计算机本地时间可能不准确,所以需要与授时服务器进行时间同步。Windows自带有定时同步功能,但是如前文所述,在某些情况下可能会失败。所以有必要开发一个工具能够定时同步、并且在同步失败后能够进行重试。 本文介绍了如何使用WPF开编写一个利用NTP协议进行时间同步的小工具。 …
由于计算机本地时间可能不准确,所以需要与授时服务器进行时间同步。Windows自带有定时同步功能,但是如前文所述,在某些情况下可能会失败。所以有必要开发一个工具能够定时同步、并且在同步失败后能够进行重试。 本文介绍了如何使用WPF开编写一个利用NTP协议进行时间同步的小工具。 …
本地计算机的时间随着时间的运行,可能会出现不准确的现象,这就需要隔一段时间通过互联网时间进行同步,Windows自带的同步机制是默认1周同步一次,可以通过修改注册表来实现修改频率。但Windows在进行时间同步时,可能会由于网络问题超时而同步失败,它没有提供重试机制以提供更多的选择。本文介绍了NTP协议以及在C#里面的实现,从而能够更加灵活的控制Windows系统时间与授时服务器的同步。 …
Windows上的ActiveMQ服务由于某种原因无法启动,通过看日志,发现是端口被占用,首先使用netstat -ano 查看占用该端口的进程,如果发现有占用,根据列出的pid,结束这个进程再启动试试,如果没有进程占用改端口,那么可能是由于“Internet Connection Sharing (ICS)服务”,可以尝试重启该服务,然后再启动ActiveMQ试试看。 …
今天吃了一个线上的bug,问题还比较严重,这里记录一下。我们的程序其中有一个定时操作,每天在某一时刻只执行一次操作,这个时间必须是准确的,但由于我们没有时间发生器等硬件设备,所以定时操作的时间是获取的计算机的本机时间,在程序运行之后,对计算机的本地时间进行了调整,从而导致了原有的仅执行一次的逻辑发生了变化,导致了重复执行。 …
Winform里面的TextBox有TextChange事件,当TextBox的值发生改变时就会触发,在进行一些诸如对用户的输入进行即时校验时可能会用到。但是这个事件再某些情况下触发的过于频繁,会造成一些资源的浪费。我们不需要用户没键入一次就触发一个事件,而是需要等待用户“停止”输入时再进行触发,一般有两种解决方法,一种是使用焦点里开TextBox时,在相应的事件里处理,另外就是定时器方案,给事件触发一个延时,即在限定的时间范围内,只触发一次。本文提供了延迟触发TextChanged事件的几种实现。 …
使用CCleaner对Windows操作系统的缓存文件进行清理之后,发现SQLServer Management Studio报错,这里提供了如何通过新建数字空文件夹解决这一诡异问题的解决方案。 …
本文演示了使用ASP.NET Core来编写web services中的一些进阶内容。这些内容包括,如何处理Entity Framework Core查询中的关联属性 ,如何支持HTTP PATCH方法,内容协调机制的工作原理,以及如何使用OpenAPI来描述web service,以及使用swagger来实现web services的文档化和自描述。 …
这里还是基于对Pro ASP.NET Core 3.0的学习,练习一下在Visual Studio Code如何创建ASP.NET Core应用。 并使用EntityFrameworkCore来添加种子数据和访问数据库,最后编写了一个简单的请求管道处理程序来处理请求,然后在这个基础上使用EndPoint来手动实现了一个简单的Restfull WebService,最后演示了如何使用Controller来简化WebService的实现。 …
最近在跟着《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, …
《枪炮、病菌与钢铁》这本书我大概花了几个星期才看完,虽然这本书的翻译有些地方读起来别扭,明明都是中文,但就是有些句子读一遍看不懂,这可能是由于英语和中文在表达方式上的差异,直接硬翻没问题,但是可能不太符合中文的阅读习惯,这就是翻译的“信达雅”问题。我不能苛求太多,不能要求翻译者既英语好,而且相关领域知识也丰富,还要求他中文也好。这本书读起来有些地方很费力枯燥,需要十分有耐心,毕竟将近500页,但是书中的一些观点仍然会让人忍不住拍大腿。跟许多好的电视剧或者电影一样,不能一上来就直接把高潮推给你,那样过后就会索然无味,也不能一个接一个的高潮,不给一点时间休息,那样读者、观众会很辛苦。要给受众一些延迟满足,要一层一层细心铺垫,然后逐步推向高潮。这本书也一样,在一些枯燥的文字之后会有一些非常鲜明的观点。这些观点和意见非常值得思考。另外这本书的写作方法也很好,他会给你提出问题,为什么会是这样,而不是 …