Fork me on GitHub

2019年1月23日

摘要: 经典排序算法 — C# 版(上) 提起排序,与我们的息息相关,平时开发的代码少不了排序。 经典的排序算法又非常多,我们怎么评价一个排序算法的好坏呢? 其实可以这样想,要细致的比较排序算法好坏,那我们就从多方面尽可能详细的对比 一、效率方面 1、排序算法的执行效率:最好、最坏、平均 2、 我们之前舍弃 阅读全文
posted @ 2019-01-23 18:01 HackerVirus 阅读(279) 评论(0) 推荐(0)
摘要: SQL Server 维护计划(数据库备份) 公司的项目都需要定期备份,程序备份关掉iis站点复制文件就可以了,难受的地方就是数据库的备份了。服务器上装的大都是英文版,一看见英文,操作都变得小心翼翼起来,生怕哪里搞错,第二天就要被安排写辞职申请了。数据库备份先找到数据库文件位置,停掉sql,再把这个 阅读全文
posted @ 2019-01-23 14:46 HackerVirus 阅读(564) 评论(0) 推荐(0)

2019年1月22日

摘要: 【前言】 Roslyn 是微软公司开源的 .NET 编译器。 编译器支持 C# 和 Visual Basic 代码编译,并提供丰富的代码分析 API。 Roslyn不仅仅可以直接编译输出,难能可贵的就是上述描述中的开放了编译的API,使得代码脚本化成为了可能。 关于Roslyn,本文不做过多介绍,因 阅读全文
posted @ 2019-01-22 16:10 HackerVirus 阅读(2173) 评论(0) 推荐(1)
摘要: 此文源于前公司在迁移项目到.NET Core的过程中,希望使用Generic Host来管理定时任务程序时,没法部署到Windows服务的问题,而且官方也没给出解决方案,只能关注一下官方issue #809 等他们方解决了。 官方文档只提供了一个《在 Windows 服务中托管 ASP.NET Co 阅读全文
posted @ 2019-01-22 16:03 HackerVirus 阅读(701) 评论(0) 推荐(0)

2019年1月21日

摘要: 浅谈c#垃圾回收机制(GC) 写了一个window服务,循环更新sqlite记录,内存一点点稳步增长。三天后,内存溢出。于是,我从自己的代码入手,查找到底哪儿占用内存释放不掉,最终明确是调用servicestack.ormlite更新sqlite数据库造成的。至于是不是框架问题,可能性不大,因为本地 阅读全文
posted @ 2019-01-21 17:48 HackerVirus 阅读(1747) 评论(1) 推荐(2)
摘要: 【TCP协议】(3) TCP粘包黏包 【TCP协议】(3) TCP粘包黏包 有关TCP协议之前写过两篇博客: 1、【TCP协议】(1) TCP协议详解 2、【TCP协议】(2) TCP三次握手和四次挥手 一、TCP粘包、拆包图解 假设客户端分别发送了两个数据包D1和D2给服务端,由于服务端一次读取到 阅读全文
posted @ 2019-01-21 09:23 HackerVirus 阅读(1689) 评论(0) 推荐(0)

2019年1月18日

摘要: 无限扩容 前言 像我这样的菜鸟,总会有各种疑问,刚开始是对 JDK API 的疑问,对 NIO 的疑问,对 JVM 的疑问,当工作几年后,对服务的可用性,可扩展性也有了新的疑问,什么疑问呢?其实是老生常谈的话题:服务的扩容问题。 正常情况下的服务演化之路 让我们从最初开始。 当业务又越来越大,我们的 阅读全文
posted @ 2019-01-18 14:45 HackerVirus 阅读(843) 评论(0) 推荐(0)
摘要: 一道让你拍案叫绝的算法题 这是一道看完答案会觉得很简单,但做之前很难想到答案的题目!!! 不信? Let us go ! 题目描述 给定一个非空整数数组,除了某个元素只出现一次以外,其余每个元素均出现两次。找出那个只出现了一次的元素。 说明: 你的算法应该具有线性时间复杂度。 你可以不使用额外空间来 阅读全文
posted @ 2019-01-18 14:29 HackerVirus 阅读(504) 评论(0) 推荐(0)

2019年1月17日

摘要: jenkins自动化工具使用教程 自动化构建、测试、部署、代码检测越来越重要。主要有一下几点原因 企业做大,项目变多,多端支持(web,h5,小程序等) 微服务提倡高内聚低耦合,项目因拆分变多 DevOps自动化运维流行 集群化,高可用部署方案 避免人工操作出现的错误 集成管理系统,实现提交发布、发 阅读全文
posted @ 2019-01-17 09:59 HackerVirus 阅读(2324) 评论(0) 推荐(0)

2019年1月16日

摘要: 写业务代码最容易掉的10种坑 1、客户端的使用 我们在使用Redis、ElasticSearch、RabbitMQ、Mongodb等中间件或存储的时候肯定都会使用客户端包来和这些系统通讯,我们也会使用Http的一些客户端来发Http请求。在使用这些客户端包的时候,非常容易犯错的一个地方就是Clien 阅读全文
posted @ 2019-01-16 09:54 HackerVirus 阅读(671) 评论(0) 推荐(0)