博客园 - 凌晨三点半
uuid:24b78886-0ed1-41c2-8670-e3f31dcf42c4;id=48167
2019-05-16T03:02:58Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
feed.cnblogs.com
https://www.cnblogs.com/vveiliang/p/10874324.html
Windbg断点调试.net程序 - 凌晨三点半
程序员都知道,在生产环境中,如果没有系统日志,对问题的分析将非常的困难。即使有日志,有时候也会因为日志记录的不全面,而导致问题不能分析清楚。其实,Windbg里面有Live Debug功能,正好可以借鉴应用。 本文介绍使用Windbg在.net程序中设置断点调试的方法。Windbg在Native C
2019-05-16T03:01:00Z
2019-05-16T03:01:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】程序员都知道,在生产环境中,如果没有系统日志,对问题的分析将非常的困难。即使有日志,有时候也会因为日志记录的不全面,而导致问题不能分析清楚。其实,Windbg里面有Live Debug功能,正好可以借鉴应用。 本文介绍使用Windbg在.net程序中设置断点调试的方法。Windbg在Native C <a href="https://www.cnblogs.com/vveiliang/p/10874324.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/9660928.html
VS2017无法发现单元测试,不能运行单元测试的解决方案 - 凌晨三点半
问题: 在VS2017中新建空的单元测试后,无法运行测试,即右键菜单的“运行测试”和“调试测试” 不能运行,在测试资源管理中也无法列出这个测试。解决方案:1.打开Packages.config文件,移除MSTest相关的两个nuget包引用。2.在Test项目中重新增加MSTest.TestAdapter和MSTest.TestFramework的引用即可,注意要选择匹配的版本。
2018-09-17T02:55:00Z
2018-09-17T02:55:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】问题: 在VS2017中新建空的单元测试后,无法运行测试,即右键菜单的“运行测试”和“调试测试” 不能运行,在测试资源管理中也无法列出这个测试。解决方案:1.打开Packages.config文件,移除MSTest相关的两个nuget包引用。2.在Test项目中重新增加MSTest.TestAdapter和MSTest.TestFramework的引用即可,注意要选择匹配的版本。 <a href="https://www.cnblogs.com/vveiliang/p/9660928.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/9187268.html
基于.net的Socket异步编程总结 - 凌晨三点半
最近在为公司的分布式服务框架做支持异步调用的开发,这种新特性的上线需要进行各种严格的测试。在并发性能测试时,性能一直非常差,而且非常的不稳定。经过不断的分析调优,发现Socket通信和多线程异步回调存在较为严重的性能问题。经过多方优化,性能终于达标。下面是原版本、支持异步最初版本和优化后版本的性能比
2018-06-15T06:50:00Z
2018-06-15T06:50:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】最近在为公司的分布式服务框架做支持异步调用的开发,这种新特性的上线需要进行各种严格的测试。在并发性能测试时,性能一直非常差,而且非常的不稳定。经过不断的分析调优,发现Socket通信和多线程异步回调存在较为严重的性能问题。经过多方优化,性能终于达标。下面是原版本、支持异步最初版本和优化后版本的性能比 <a href="https://www.cnblogs.com/vveiliang/p/9187268.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/9049393.html
基于.net的分布式系统限流组件 - 凌晨三点半
在互联网应用中,流量洪峰是常有的事情。在应对流量洪峰时,通用的处理模式一般有排队、限流,这样可以非常直接有效的保护系统,防止系统被打爆。另外,通过限流技术手段,可以让整个系统的运行更加平稳。今天要与大家分享一下限流算法和C#版本的组件。 一、令牌桶算法: 令牌桶算法的基本过程如下: 工作过程包括3个
2018-05-17T01:42:00Z
2018-05-17T01:42:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】在互联网应用中,流量洪峰是常有的事情。在应对流量洪峰时,通用的处理模式一般有排队、限流,这样可以非常直接有效的保护系统,防止系统被打爆。另外,通过限流技术手段,可以让整个系统的运行更加平稳。今天要与大家分享一下限流算法和C#版本的组件。 一、令牌桶算法: 令牌桶算法的基本过程如下: 工作过程包括3个 <a href="https://www.cnblogs.com/vveiliang/p/9049393.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/8522001.html
C# DataGridView绑定List对象时,利用BindingList来实现增删查改 - 凌晨三点半
当DataGridView的DataSource是DataTable的时候,DataTable的数据改变时,DataGridView的数据会随之改变,无需重新绑定到DataGridView。 当DataGridView的DataSource是泛型List,当List的数据改变时,则需要先将DataGridView的DataSource设置为new List(),再将改变后的List赋给...
2018-03-07T06:00:00Z
2018-03-07T06:00:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】当DataGridView的DataSource是DataTable的时候,DataTable的数据改变时,DataGridView的数据会随之改变,无需重新绑定到DataGridView。 当DataGridView的DataSource是泛型List,当List的数据改变时,则需要先将DataGridView的DataSource设置为new List(),再将改变后的List赋给... <a href="https://www.cnblogs.com/vveiliang/p/8522001.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/8093164.html
记一次高并发场景下.net监控程序数据上报的性能调优 - 凌晨三点半
最近在和小伙伴们做充电与通信程序的架构迁移。迁移前的架构是,通信程序负责接收来自充电集控设备的数据实时数据,通过Thrift调用后端的充电服务,充电服务收到响应后放到进程的Queue中,然后在管理线程的调度下,启动多线程进程数据处理。 随着业务规模的不断扩大和对系统可用性的逐步提高。现在这个架构存在
2017-12-23T04:48:00Z
2017-12-23T04:48:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】最近在和小伙伴们做充电与通信程序的架构迁移。迁移前的架构是,通信程序负责接收来自充电集控设备的数据实时数据,通过Thrift调用后端的充电服务,充电服务收到响应后放到进程的Queue中,然后在管理线程的调度下,启动多线程进程数据处理。 随着业务规模的不断扩大和对系统可用性的逐步提高。现在这个架构存在 <a href="https://www.cnblogs.com/vveiliang/p/8093164.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7943003.html
.net中ThreadPool与Task的认识总结 - 凌晨三点半
线程池和Task是多线程编程中两个经常使用的技术,大家在熟悉不过了。他们有什么关联关系?Task又是怎么工作的呢?估计很多时候会犯糊涂。通过翻阅资料,终于弄明白了,与大家分享一下。 工作线程与I/O线程 在ThreadPool中有这样一个方法: public static bool SetMaxTh
2017-12-01T08:12:00Z
2017-12-01T08:12:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】线程池和Task是多线程编程中两个经常使用的技术,大家在熟悉不过了。他们有什么关联关系?Task又是怎么工作的呢?估计很多时候会犯糊涂。通过翻阅资料,终于弄明白了,与大家分享一下。 工作线程与I/O线程 在ThreadPool中有这样一个方法: public static bool SetMaxTh <a href="https://www.cnblogs.com/vveiliang/p/7943003.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7883110.html
C# 排序技术研究与对比 - 凌晨三点半
一、 排序场景 一维数组排序 多维数组排序 集合排序,例如Dictionary ,List<T>, 自定义类集合排序等 DataTable排序 二、 排序实现和测试 1. 一维数组排序 元素之间是一维线性的关系,每个元素只有一个下标,在排序场景下,每个元素的数据类型是一致的。例如: A:调用Arra
2017-11-23T01:04:00Z
2017-11-23T01:04:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】一、 排序场景 一维数组排序 多维数组排序 集合排序,例如Dictionary ,List<T>, 自定义类集合排序等 DataTable排序 二、 排序实现和测试 1. 一维数组排序 元素之间是一维线性的关系,每个元素只有一个下标,在排序场景下,每个元素的数据类型是一致的。例如: A:调用Arra <a href="https://www.cnblogs.com/vveiliang/p/7883110.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7799068.html
基于.net的通用内存缓存模型组件 - 凌晨三点半
谈到缓存,我们自然而然就会想到缓存的好处,比如: 降低高并发数据读取的系统压力:静态数据访问、动态数据访问 存储预处理数据,提升系统响应速度和TPS 降低高并发数据写入的系统压力 提升系统可用性,后台宕机后,系统还存在可用的机会 缓存技术一直是优化程序性能的一个重要手段,在互联网技术体系中,也不例外
2017-11-08T00:46:00Z
2017-11-08T00:46:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】谈到缓存,我们自然而然就会想到缓存的好处,比如: 降低高并发数据读取的系统压力:静态数据访问、动态数据访问 存储预处理数据,提升系统响应速度和TPS 降低高并发数据写入的系统压力 提升系统可用性,后台宕机后,系统还存在可用的机会 缓存技术一直是优化程序性能的一个重要手段,在互联网技术体系中,也不例外 <a href="https://www.cnblogs.com/vveiliang/p/7799068.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7606873.html
Scala学习笔记:重要语法特性 - 凌晨三点半
1.变量声明Scala 有两种变量, val 和 var val的值声明后不可变,var可变val msg: String = "Hello yet again, world!"或者类型推断val msg = "Hello, world!"2.函数定义如果函数仅由一个句子组成,你可以可选地不写大括号。def max2(x: Int, y: Int) = if (x > y) x else y3....
2017-09-28T07:24:00Z
2017-09-28T07:24:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】1.变量声明Scala 有两种变量, val 和 var val的值声明后不可变,var可变val msg: String = "Hello yet again, world!"或者类型推断val msg = "Hello, world!"2.函数定义如果函数仅由一个句子组成,你可以可选地不写大括号。def max2(x: Int, y: Int) = if (x > y) x else y3.... <a href="https://www.cnblogs.com/vveiliang/p/7606873.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7597496.html
Http Header信息 - 凌晨三点半
REMOTE_ADDR – 访问客户端的 IP 地址 HTTP_VIA – 如果有该条信息, 就证明您使用了代理服务器,代理服务器的地址就是后面的数值。 HTTP_X_FORWARDED_FOR – 如果有该条信息, 也证明了您使用了代理服务器代理服务器的地址就是后面的数值。 HTTP_ACCEPT
2017-09-26T08:33:00Z
2017-09-26T08:33:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】REMOTE_ADDR – 访问客户端的 IP 地址 HTTP_VIA – 如果有该条信息, 就证明您使用了代理服务器,代理服务器的地址就是后面的数值。 HTTP_X_FORWARDED_FOR – 如果有该条信息, 也证明了您使用了代理服务器代理服务器的地址就是后面的数值。 HTTP_ACCEPT <a href="https://www.cnblogs.com/vveiliang/p/7597496.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7434735.html
.net core 2.0学习笔记(六):Remoting核心类库RealProxy迁移 - 凌晨三点半
在学习.net core的过程中,我们已经明确被告知,Remoting将不会被支持。官方的解释是,.net framework 类型包含了太多的Runtime的内容,是一个非常重量级的服务实现,已被确定为一项有问题的体系结构。说白了就是迁移的难度很大,.net core中直接不提供了。微软的建议是,
2017-08-28T00:58:00Z
2017-08-28T00:58:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】在学习.net core的过程中,我们已经明确被告知,Remoting将不会被支持。官方的解释是,.net framework 类型包含了太多的Runtime的内容,是一个非常重量级的服务实现,已被确定为一项有问题的体系结构。说白了就是迁移的难度很大,.net core中直接不提供了。微软的建议是, <a href="https://www.cnblogs.com/vveiliang/p/7434735.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7416370.html
.net core 2.0学习笔记(五):程序配置&ConfigurationManager - 凌晨三点半
配置组件是.net framework中非常常用的功能。在创建.net framework 工程时,系统不仅会自动生成app.config文件,而且还提供了非常强大的访问类库。但是这些好东西,在.net core 2.0中已经不复存在,至少说没有.net framework 中那么完美了。 在升级.
2017-08-23T00:46:00Z
2017-08-23T00:46:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】配置组件是.net framework中非常常用的功能。在创建.net framework 工程时,系统不仅会自动生成app.config文件,而且还提供了非常强大的访问类库。但是这些好东西,在.net core 2.0中已经不复存在,至少说没有.net framework 中那么完美了。 在升级. <a href="https://www.cnblogs.com/vveiliang/p/7416370.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7409825.html
.net core 2.0学习笔记(四):迁移.net framework 工程到.net core - 凌晨三点半
在迁移.net core的过程中,第一步就是要把.net framework 工程的目标框架改为.net core2.0,但是官网却没有提供转换工具,需要我们自己动手完成了。.net framework 工程迁移为.net core工程大体上有两种方案: 1.创建一个.net core的工程,然后把
2017-08-22T00:43:00Z
2017-08-22T00:43:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】在迁移.net core的过程中,第一步就是要把.net framework 工程的目标框架改为.net core2.0,但是官网却没有提供转换工具,需要我们自己动手完成了。.net framework 工程迁移为.net core工程大体上有两种方案: 1.创建一个.net core的工程,然后把 <a href="https://www.cnblogs.com/vveiliang/p/7409825.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7402409.html
.net core 2.0学习笔记(三):度量.net framework 迁移到.net core的工作量 - 凌晨三点半
把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾虑,为我们提前设计了一个工具:.NET Portability Analyzer。通过此工具我们
2017-08-21T00:30:00Z
2017-08-21T00:30:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】把现有的.net framework程序迁移到.net core上,是一个非常复杂的工作,特别是一些API在两个平台上还不能同时支持。两个类库的差异性,通过人工很难识别全。好在微软的工程师们考虑到了我们顾虑,为我们提前设计了一个工具:.NET Portability Analyzer。通过此工具我们 <a href="https://www.cnblogs.com/vveiliang/p/7402409.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7387648.html
.net core 2.0学习笔记(二):Hello World & 进阶 - 凌晨三点半
官网已经有一个.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但这个教程完全没有顾及全宇宙第一IDE的感受。今天就跟大家体验一下在VS2017上开发.net core程序吧。VS2017开发环境的搭建请参考:http://w
2017-08-18T00:47:00Z
2017-08-18T00:47:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】官网已经有一个.net core的入手教程(https://www.microsoft.com/net/core#windowscmd),但这个教程完全没有顾及全宇宙第一IDE的感受。今天就跟大家体验一下在VS2017上开发.net core程序吧。VS2017开发环境的搭建请参考:http://w <a href="https://www.cnblogs.com/vveiliang/p/7387648.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7380260.html
.net core 2.0学习笔记(一):开发运行环境搭建 - 凌晨三点半
期待已久的.net core 2.0终于发布了!大家等的花儿都谢了。 不过比预期提前了一个多月,这在微软历史上还真的不多见。按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧。下面就简单分享一下.net core2.0开发运行环境的搭建过程。.net core 理论知识在此就不赘
2017-08-17T02:28:00Z
2017-08-17T02:28:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】期待已久的.net core 2.0终于发布了!大家等的花儿都谢了。 不过比预期提前了一个多月,这在微软历史上还真的不多见。按照历史经验看,2.0版本应该比较靠谱,我猜这也是社区非常火爆的原因吧。下面就简单分享一下.net core2.0开发运行环境的搭建过程。.net core 理论知识在此就不赘 <a href="https://www.cnblogs.com/vveiliang/p/7380260.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7264397.html
基于.net的微服务架构下的开发测试环境运维实践 - 凌晨三点半
眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一。微服务、DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能。特来电云平台,通过近两年多的实践,发现完全不像大家说的那样简单,大家是报喜不报忧,实在是水太深,谁做谁知道。今天就与大家分享一下在微服务架构+
2017-07-31T09:51:00Z
2017-07-31T09:51:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】眼下,做互联网应用,最火的架构是微服务,最热的研发管理就是DevOps, 没有之一。微服务、DevOps已经被大量应用,它们已经像传说中的那样,可以无所不能。特来电云平台,通过近两年多的实践,发现完全不像大家说的那样简单,大家是报喜不报忧,实在是水太深,谁做谁知道。今天就与大家分享一下在微服务架构+ <a href="https://www.cnblogs.com/vveiliang/p/7264397.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7156847.html
物联网模式下的多活数据中心架构认识与实践 - 凌晨三点半
做互联网应用很重要的一点是要保证服务可用性,特别是某些业务更是需要7*24小时不间断的对外提供服务,任何停机、宕机都会引起大面积的用户不满。持续可用性是把业务服务化时一个需要考虑的重要指标,很多时候我们都会牺牲一些功能来换取可用性。如何保证服务的持续可用性,是每个互联网架构师一直坚持不懈追求的目标。
2017-07-12T10:07:00Z
2017-07-12T10:07:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】做互联网应用很重要的一点是要保证服务可用性,特别是某些业务更是需要7*24小时不间断的对外提供服务,任何停机、宕机都会引起大面积的用户不满。持续可用性是把业务服务化时一个需要考虑的重要指标,很多时候我们都会牺牲一些功能来换取可用性。如何保证服务的持续可用性,是每个互联网架构师一直坚持不懈追求的目标。 <a href="https://www.cnblogs.com/vveiliang/p/7156847.html" target="_blank">阅读全文</a>
https://www.cnblogs.com/vveiliang/p/7093733.html
基于TFS的.net技术路线的云平台DevOps实践 - 凌晨三点半
DevOps是近几年非常流行的系统研发管理模式,很多公司都或多或少在践行DevOps。那么,今天就说说特来电云平台在DevOps方面的实践吧。 说DevOps,不得不说DevOps的具体含义。那么,DevOps是什么呢?是开发+运维么?每个人都DevOps的理解都不尽相同,下面是一组对DevOps的
2017-06-29T04:02:00Z
2017-06-29T04:02:00Z
凌晨三点半
https://www.cnblogs.com/vveiliang/
【摘要】DevOps是近几年非常流行的系统研发管理模式,很多公司都或多或少在践行DevOps。那么,今天就说说特来电云平台在DevOps方面的实践吧。 说DevOps,不得不说DevOps的具体含义。那么,DevOps是什么呢?是开发+运维么?每个人都DevOps的理解都不尽相同,下面是一组对DevOps的 <a href="https://www.cnblogs.com/vveiliang/p/7093733.html" target="_blank">阅读全文</a>