随笔分类 -  .net&&c#

摘要:有句俗语:百姓日用而不知。我们c#程序员很喜欢,也非常习惯地用foreach。今天呢,我就带大家一起探索foreach,走,开始我们的旅程。 一、for语句用的好好的,为什么要提供一个foreach? for (var i = 0; i < 10; i++) { //to do sth } fore 阅读全文
posted @ 2022-09-13 17:56 micDavid 阅读(3146) 评论(33) 推荐(3) 编辑
摘要:前面一篇,带大家对加密算法进行了鸟瞰,本篇主要谈md5算法的实现。 MD5:Message-Digest Algorithm 5(信息摘要5),确保信息的完整性。其算法是1992年公开的,那时我才几岁,鉴于大家对md5都很熟悉,且程序中经常应用,我就不再介绍了。我简单的介绍下设计者。其人是罗纳德·李 阅读全文
posted @ 2021-06-28 19:21 micDavid 阅读(4364) 评论(0) 推荐(2) 编辑
摘要:做了zip压缩的功能后,突然对背后的原理和算法想了解下,于是学习总结如下: 具体的算法,可以先忽略,把每种算法的原理以及基本的数学知识先了解一遍,有兴趣的话,然后对每一种算法再详细学习和了解,甚至用程序去实现。 MD5 加密原理:以512位分组来处理输入的信息,且每一分组又被划分为16个32位子分组 阅读全文
posted @ 2021-06-25 19:33 micDavid 阅读(530) 评论(0) 推荐(0) 编辑
摘要:说起协议,我们对http协议比较熟悉,因为每天上网都离不开它。 http协议暂且不表,今天我介绍下modbus协议。modbus是一种应用层协议,它主要在工控场景下使用,比如PLC控制设备,上位机和PLC通过modbus协议通信。 1、modbus的概况 注意:数组长度只是个参考,后面会有详细说明。 阅读全文
posted @ 2021-06-21 19:10 micDavid 阅读(1754) 评论(1) 推荐(2) 编辑
摘要:单线程普通上传 1、用流打开文件 var item = new FileInfo(filePath); FileStream stream = item.OpenRead(); 2、读取到字节 var fs=stream; var transeBytesSize = fs.Length; var d 阅读全文
posted @ 2021-06-17 15:13 micDavid 阅读(576) 评论(0) 推荐(0) 编辑
摘要:一、流与缓存区 1.1 如何理解流? 流是一种连接,一种管道,它建立了与物理文件或网络相关联的机制,方便读写文件或者网络。当然还有其它类型的流。 1.2 流的操作 读取:将数据从流传输到缓存区,缓冲区就是内存中的一块区域,代码中常用byte数组。 写入:将数据从数据源传输到流中。 流用完后需要释放资 阅读全文
posted @ 2021-06-16 18:39 micDavid 阅读(698) 评论(1) 推荐(0) 编辑
摘要:一、什么是迭代器模式? 定义:提供一种顺序访问集合的方法,而不暴露集合内部的表示 顺序访问,one by one(挨个访问),不暴露集合内部表示,反映了面向对象程序中的封装性。可以这么理解,一组模特从后台出场,一个接着一个,但是先出场的模特,未必是站在最前面的模特。换句话说,对于观众,你不知道后台模 阅读全文
posted @ 2019-09-04 17:21 micDavid 阅读(388) 评论(0) 推荐(1) 编辑
摘要:一、背景 煤矿地磅产生了一系列数据: 我想从这些数据中,取出最能反映当前车辆重量的数据(有很多数据是车辆上磅过程中产生的数据)。我于是想到了聚类算法KMeans,该算法思想比较简单。 二、算法步骤 1、从样本中随机取出k个值,作为初始中心 2、以k个中心划分这些数据,分为k个组 3、重新计算出每个组 阅读全文
posted @ 2019-07-23 12:00 micDavid 阅读(1761) 评论(0) 推荐(0) 编辑
摘要:一、什么是委托呢? 听着名字挺抽象,确实不好理解。面试官最喜欢考察这个,而且更喜欢问:“委托和事件有何异同?”。如果对一些知识点没有想明白,那么很容易被绕进去。研究任何事物,我们不妨从它的定义开始,委托也不例外。那么先来看c#中的委托定义,先来个例子: 这个委托,看起来就是个方法签名,取包裹,需要验 阅读全文
posted @ 2019-07-17 16:15 micDavid 阅读(22458) 评论(1) 推荐(4) 编辑
摘要:1、c#垃圾回收机制 从以下方面入手展开: 1、压缩合并算法 2、代的机制 3、GC调用终结器 2、委托和事件 先说它的定义:委托的本质是类,类型安全的指针,然后从用途上考虑,事件是包装的委托,但事件不是委托 3、c#索引 问题:索引可以是字符串吗?如何定义? 可以从索引的本质出发,就是从编译后的I 阅读全文
posted @ 2019-03-04 22:39 micDavid 阅读(3496) 评论(0) 推荐(4) 编辑
摘要:写了一个window服务,循环更新sqlite记录,内存一点点稳步增长。三天后,内存溢出。于是,我从自己的代码入手,查找到底哪儿占用内存释放不掉,最终明确是调用servicestack.ormlite更新sqlite数据库造成的。至于是不是框架问题,可能性不大,因为本地模拟执行的代码没有任何问题。我 阅读全文
posted @ 2019-01-16 23:12 micDavid 阅读(8001) 评论(3) 推荐(2) 编辑
摘要:1、服务介绍 操作系统在启动的时候,会启动一些不需要用户交互的进程。这些进程被称为服务。当操作系统启动后它就自动被运行。 2、组成 服务程序、服务控制程序(SCP,service control program)和服务控制管理器(SCM,service control manager)组成了Wind 阅读全文
posted @ 2018-12-19 13:11 micDavid 阅读(3501) 评论(2) 推荐(3) 编辑
摘要:红花还得绿叶陪衬。vue前端开发离不开数据,这数据正来源于请求web api。为什么采用.net core web api呢?因为考虑到跨平台部署的问题。即使眼下部署到window平台,那以后也可以部署到Linux下。 .net core web api与mvc的web api类似。我把遇到的问题归 阅读全文
posted @ 2018-12-09 21:23 micDavid 阅读(1520) 评论(0) 推荐(1) 编辑
摘要:共享内存的疑惑 上一篇文章中”.net remoting和wcf自托管——一个bug引发的警示”,我稍微提了下c++的共享内存,当时我有一个推测,就是在客户端读取共享内存前,谁修改过共享内存。但是我经过了好多次调试,发现只有一次写内存,其它的都是读取内存,这个值是怎么变的呢?目前还不清楚。当共享内存 阅读全文
posted @ 2018-07-27 18:00 micDavid 阅读(406) 评论(0) 推荐(0) 编辑
摘要:一、解决问题,需要深入,并从细节入手,多从代码找原因,不能认为代码是死的,不会出错: 之前代码都运行良好,突然某一天,在我电脑上出问题了。出了问题,那就应该找出原因。其实这个问题,本身并不难,好歹给你报出了个错: net remoting在调用定义的接口时报错,无法加载类型,这错误是个什么样的错误, 阅读全文
posted @ 2018-07-26 18:09 micDavid 阅读(603) 评论(0) 推荐(1) 编辑
摘要:mvc的特点: 1、无控件,有HtmlHelper类,此类提供了各种生成html控件的方法。如果不能满足需要,就自定义扩展吧,比如说分页显示。HtmlHelper类提供了Partial(加载局部视图)、Raw(加载html字符串)和Action方法。 2、所有的请求指向Controller中的act 阅读全文
posted @ 2018-05-23 15:42 micDavid 阅读(159) 评论(0) 推荐(0) 编辑
摘要:长时间没有接触mvc,有点生疏了,这次mvc上传图片功能完成后,简单地总结下。 我围绕这三块介绍,首先是前台form表单: 1、form表单必须加enctype属性,它默认值:application/x-www-form-urlencoded,也是post提交数据的时候,我们经常指定的Content 阅读全文
posted @ 2018-05-21 15:29 micDavid 阅读(356) 评论(0) 推荐(0) 编辑
摘要:利用HttpClient进行Http请求,基于此,简单地封装了下: 有关更多的Http请求,请看这里:https://github.com/wangqiang3311/HttpRequestDemo 阅读全文
posted @ 2018-05-04 16:19 micDavid 阅读(37308) 评论(2) 推荐(5) 编辑
摘要:xml映射为object对象,同时object对象,以xml来表示: 这是公共的接口: 下面是自定义Object对象对接口的实现: 这是一个测试用例,程序从xml文件中读取测试用例,运行测试程序,完成后把结果保存到另外一个xml文件中,这个xml文件结构和测试用例的xml结构一样。我们看看如何读取测 阅读全文
posted @ 2018-05-04 15:36 micDavid 阅读(323) 评论(0) 推荐(0) 编辑
摘要:我们在用Http请求的时候,某些页面是ajax加载的,所以请求过来的页面数据不完整。也就是说ajax局部加载数据的地方,我们请求不到,这时候该怎么办呢? WebDriver+phantomjs 这两个组合在一起使用,可以完成此任务。分别简单介绍下,WebDriver是一个前端的自动化测试框架,pha 阅读全文
posted @ 2018-05-04 11:12 micDavid 阅读(801) 评论(0) 推荐(0) 编辑