自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(35)
  • 资源 (12)
  • 收藏
  • 关注

原创 c# 模仿 vue 实现 winform 的数据模型双向绑定 --升级版(动态代理版)

早先写了这样一篇文章 :https://blog.csdn.net/mengtoumingren/article/details/78680208  ,讲了自己模仿vue 实现winform上实现数据与ui双向绑定功能,但是当时一来做完没有再花心思,二来当时能力与知识层面还不足,直到前段时间才知道 动态代理类库 Castle ClassProxy 模式(其它动态代理类库则不得而知了),对于标识为 ...

2018-08-29 22:11:19 1667 2

原创 c# 模仿 vue 实现 winform 的数据模型双向绑定

前前前段时间面试遭拒,当时面试关问自己的一些东西确实不懂,其中就包括vue(其实有看过相关文章和文档,秉着 如果只是用轮子的话,需要时间和文档就够了,事实上只是使用的话,按规范来就行了)。但是自己怎么能轻易停留在用呢,于是在花了点时间,直接搜索vue绑定原理,详细看了两篇文章 http://m.jb51.net/article/107927.htmhttp://www.cnblog

2017-11-30 21:19:31 6126

原创 一种处理前端图片跨域问题的方法

提供一个代理接口,接口返回可跨域 的头部,前端对于跨域的图片将url作为参数传递到代理接口,代理接口根据传递的url 直接下载资源,以解决前端图片跨域问题。

2022-06-19 20:22:06 1115

原创 开源工作流引擎(含流程设计器)

工作流引擎源码该流程引擎完全开源免费,致力于打造与平台组织架构无关、高扩展的工作流引擎。通过自定义用户选择器和条件处理器实现既有业务的组织架构关联和审批过程处理。使用介绍直接从git下载源码编译。建议以分布式子系统或者微服务形式部署。项目自带流程编辑器,以及 简单的流程模拟功能.后台结构介绍WorkFlowCore是整个引擎的核心,核心通过抽象,允许 部分功能通过外部扩展WorkFlowCore.Framework是抽象的其中一个扩展,默认实现了以json文件为持久化的仓储

2021-04-09 16:12:21 9821

原创 基于 canvas 的手写板 js 封装

代码封装基于https://blog.csdn.net/javabaidu/article/details/84600901进行了类封装,并且调整了笔尖的位置 (function (window) { function WriteBoard(container) { this.canvas = {}; this.board = {}; this.mousePress = false; this.la..

2021-02-26 11:30:43 356 1

原创 js计算列表数据合并行

计算各个列的合并数据,得到该数据后,再结合具体的前端框架调用进行合并。/** * 计算合并行 * @param rows */ function calculateMergeCells(rows) { if (rows.length == 0) return; //初始化合并原始数据 var initData = JSON.parse(JSON.stringif

2020-12-03 09:50:02 541

原创 记一次在 Ubuntu(docker)创建 mysql ,docker 安装 mssql

#安装 mysqlsudo apt-get install mysql-server#安装完后,重启下 mysql(可能自动启动不成功,登不进 mysql)service mysql restart#打开mysql 安装信息,查看默认密码cat /etc/mysql/debian.cnf#使用默认密码登录 mysqlmysql -uroot -p #在提示输入默认密码...

2020-04-17 15:27:00 198

原创 Jenkins + svn + curl 实现 asp.net 应用的自动发布

网上更多的是 Jenkins+git 的组合形式而 svn 相关的 post-commit 很多是通过执行 python 脚本或者java程序的。至于用 Jenkins 部署 asp.net 应用 的,更是少之又少这里分享下自己的实现方式,基本都是参考前人的各项经验1.首先 要有 Jenkins ,还没有的需要先下载了Jenkins 安装好 Subversion (svn...

2020-04-10 18:13:18 180

原创 c# XmlSerializer 序列化与反序列化CDATA 节点

今天是大年初一,先来无事,突然想起之前项目用到的东西,想起来要分享给大家,同时,过年好!首先这个实现的方式借鉴了 :https://blog.csdn.net/shuliuzh/article/details/49426711主要是适用了实现自己的IXmlSerializable,简化了些方式,通过反射自动包装处理数据。源码如下:public class MyXmlSeri...

2020-01-25 15:05:57 1211

原创 easyui 只选择年月

因项目需要,easyui 本身也没找到属性配置,所以自己实现,参考了https://blog.csdn.net/ytangdigl/article/details/73381958但这边做了简化改进,重点在于打开日历的时候,点击选择月份的标签,然后监听月份点击。<input id="PlanDate" class="easyui-datebox" style="wi...

2020-01-03 15:49:38 465 2

原创 web应用开发浅聊--从tcp到mvc

毕业到现在,在web开发这条路上,算起来也是走了三年多了。自己主要是做.net/c# 方向的web开发,一值以来,磕磕碰碰,在不断的挖坑填坑中成长。在web程序开发这件事上,有自己的感悟和理解。在我们学习web应用原理时,大部分的文章或者老师都会提到说,web请求基于 http通讯,浏览器向服务端发起请求,然后服务端响应数据,好一点的老师会通过 tcp 响应demo跟浏览器交互,模拟...

2019-10-26 16:52:57 427

原创 Docker 容器小白扫盲笔记

docker流行的时间已经很长了,然而自己一直都没有用到,本来以为这一次会在实际项目中用到,结果...不过用不用关系已经不大了,这个过程是自己的,学习到了就是自己的了。这里也不打算像其它文章一样讲那么多概念,直接粗暴一些。1.容器是什么东西?容器,其实就是虚拟机,只是共享硬件资源2.容器(虚拟机)中的镜像是什么?容器的镜像是个Linux系统镜像,而像 mysq、nginx等...

2019-10-19 22:25:55 169

原创 超简易的mvvm,一看就明白数据是如何跟dom打交道

之前面试过几个前端,问到vue数据绑定的原理时几乎都说了 拦截get set,但是数据怎么跟dom打交道却是说不清楚。心血来潮 ,写个小demo,使用的是遍历数据的方式。<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <meta na...

2019-09-29 09:45:14 300

原创 abp、dotnet core 之模块化编程有感

netcore 发展到现在已经到了 3.0 版本,而 abp 作为典型的 ddd框架模板,也已经在诸多项目中得到实践。说来惭愧,在.net 平台有做了差不多三年了,这两个好东西一个都没有好好学习理解过。正好前段时间决心学习 abp,对 abp 的模块概念有了了解,而最近一个偶然机会,使用 netcore 做个简单的项目,意外的发现abp和netcore 的模块设计思想是极其的相似!...

2019-05-26 17:02:54 1259

原创 Abp学习笔记---轻松搞懂模块

做.net开发的朋友或多或少都听说过这个框架,自己在差不多一年前也才开始听说,但是!!!之前也没太当回事,一来是工作项目上用不着,二来以为到时候需要用的时候再拿来用就好了。现在看来却是大错特错!近段时间,自己身边发生很多事,自然而然的,听到abp 的次数多了了起来,开始被问及 abp 相关的问题。自己也只能知道这个框架做了很多集成,同时基于 ddd 思想设计(坦白,目前的自己还只能套用 ddd...

2019-04-20 19:32:37 1745 1

原创 c#模拟列表对象延迟加载

本文模拟实现的不是精细到某个属性的延迟加载,仅 item级别的延迟加载。在如今的数据编程,或多或少都用过 orm 来进行数据库数据的操作,特别是 微软的 ef 也是深受欢迎。而 ef 中有个特性,即延迟加载。就是当你查询一个列表出来,在tolist之前或者是遍历之前,它的item数据还是不全面的,只有当你遍历到某个对象时,它才会去查出这个对象各个属性的值,这样有一个好处就是,单次查询的数据...

2019-04-16 16:40:17 290

原创 模拟 React使用效果写的组件开发框架

在上个月 20 号时写的 js模板引擎的一个开篇提到说是为了想模拟react 的一个东西出来,然后,总算弄了一个像个样子的来了。本来是想再写一个系列的文章来着,但是想想写出来的东西也没有什么,写法细节什么的,还有组件对象的管理也不是处理的很好,没有正确的销毁。但是,难得做出来的东西,总还是分享出来,所以,在这里分想一下简单的用法,然后源码放 码云 好了。因为还没有能力写jsx这种解析器,所...

2019-01-11 23:17:23 230

原创 js模板引擎渐进--后记

 至此,算是完成了一个系列了。本来是想写的更详细的,但是太详细每次说的东西就少的可怜。在学习的过程中,每次的改进改动博主都是复制一个新的文件进行,整个有二十多篇,中间有很多小细节的东西,集中在 each 和 处理 {} 输出这块,但是真正在写的时候,如果将每一个过程都写出来,怕是读者看着也会有些无聊,所以尽量缩减了。代码写道这里当然不能说完美了,毕竟很多是在理想的情况下进行的,还有...

2019-01-02 18:28:51 139

原创 js模板引擎渐进--代码改进封装(9)

到目前为止,一个 简单的模板引擎 差不多成型了,但目前还有几个较大的问题:1.代码复用。代码中有些地方还可以再精简一些2.多个 左花括号 { 和 多个 右花括号 } 的情况处理首先,对于第一个问题,我们可以翻开上一篇的代码,我们来改进一下:a.有两个地方对 bracecount 取余然后处理 { 或者 } ,两个地方除了处理的后面一个 记录新的 brace ...

2019-01-02 18:08:52 167

原创 js模板引擎渐进--处理需要输出 { 或者 } 的情况(8)

 到目前为止,我们前面写的 template 函数已经可以在大多数场景使用了。然而,有一种情况,我们也可能会常用----输出 {}。而从之前的代码我们知道,我们正是通过  {}  来区分 代码字符串和html内容字符串的, {}  的内容还可以根据一定的规则解析出 each/if/else  等指令,那假如,我们想要输出的 html 包含 {}  呢??这是一个棘手的问题,但,棘手归棘...

2019-01-02 16:15:38 210 2

原创 js模板引擎渐进--if/else(7)

 有了 each 的经验后,要实现 if/else 这种指令就简单了-------在  case '}' 处对 varcode 进行指令的判断即可。模板代码:  {if data.value==1} &lt;h3&gt;11111111111&lt;/h3&gt; {else-if data.value==2} ...

2019-01-02 14:32:50 1085

原创 js模板引擎渐进--each改进(6)

 上一篇,我们实现了简单的 each 渲染处理,以最简单的方式,但是在实际的使用中,我们的需求远远没有那么简单。这里我们对实际需求做出对应的调整,这是一个渐进的过程,经过一次次改进才能达到最终效果。1.解决多层嵌套问题:要解决多层嵌套问题,主要考虑 :a.遍历主体。 即我要遍历的数组是什么呢?在前一篇,我们直接写死 “data”,默认 data 就是数组,但是当要进行多层次嵌套...

2018-12-28 23:21:17 588

原创 js模板引擎渐进--each/for(5)

 之所以使用模板引擎主要是为了避免麻烦的字符串拼接,同时,还用在重复的列表处理中。笔者自己开始就是因为要处理列表数据才接触的js模板引擎。而处理列表数据,自然是少不了 for 循环,而for循环对应的处理指令在很多模板中,都以 each 来标识。这里我们也用each.通过前面几篇我们已经知道如何在模板中区分 代码内容和字符串内容,那在这里,我们只需要对 代码内容做进一步解析即可。前面我...

2018-12-27 23:23:20 838

原创 js模板引擎渐进--改进字符串拼接方式(4)

 在前面两张我们已经实现了模板 js 代码和 普通html字符串的拼接,没错就是 通过  +  号来进行拼接,这个少的话还没什么,要是多的话,这个有一定的性能问题,同时,这样拼接处理起来也复杂。看前面几篇很容易发现,我们本身最外层的 resultcode 就是以数组不断的push数据进来,然后最后通过 join来拼接的。 function Template2code(templat...

2018-12-24 21:38:47 330

原创 js模板引擎渐进--区别js代码和html字符串2(3)

 在前一篇我们已经成功的实现了最简单的function字符串的组合,这一篇我们在此基础上改进区分js代码和 非代码字符串的机制。在第一篇时,我们通过对 {} 进行简单的替换就实现了代码跟字符串的拼接,但是在后面的需求中,那样是远远不够的,比如我想得到 {} 内部的内容,然后对其中的内容进行进一步的解析。 模板代码:&lt;h3&gt;{data.value}&lt;/h3&gt...

2018-12-23 13:42:49 185

原创 js模板引擎渐进--生成最简单的function(2)

 上一节我们已经实现了最简单的 模板转 js 转换代码,那么这一节将在上一节的基础上包装成一个function,然后将这个function就可以在需要的时候调用即可进行数据的渲染。在此之前,再次提一下 eval这个全局函数,eval这个函数能将 js 字符串转成 js代码并执行它。但实际上我们并不一定要立即执行,为了能让 function字符串 转成代码又还不需要直接执行,这里需要多了...

2018-12-22 21:37:15 213

原创 js模板引擎渐进--区别js代码和html字符串(1)

 无规矩不成方圆,模板的解析也是如此,该怎么解析,这个规则还是由我们自己来决定的。通常(至少自己用过的)以 花括号  {}  作为区分代码区域和HTML字符串,代码部分将基本原样保留或者进一步加工,而html字符串将直接原样拼接。那么如何对一段字符串进行解析?笔者这里通过遍历一个个字符(其它模板引擎看见好多都是正则来处理的,奈何笔者正则转不过弯),通过对每一个字符进行判断处理。对于...

2018-12-20 23:33:06 290

原创 js模板引擎渐进--前言

   前些日子加班的厉害,为了不让加班的这段时间那么乏味,决定给自己加点油烟,便想到了去学习react,看了网上官网的基本教程,然后便想要改进自己的小小项目,使用react来写前端。按照官网的教程来操作,基本的正常用法很快就能上手了。期间,偶然在“极客时间”(非广告)看了一两个对react介绍的视频(其实视频是一套完整的教程,但是自己没有买,就随便看了前面两三个讲这个react的历...

2018-12-20 22:51:03 223

原创 .net c# 文件分片/断点续传之下载--客户端

断点续传客户端实现主要参考了以下文章:https://blog.csdn.net/binyao02123202/article/details/76599949客户端实现续传的主要是一下几点1.客户端的下载请求要包含“Range”头部2.客户端通过 response 回来的头部判断是否包含“Content-Range”,“Accept-Ranges”来确认服务端是否支持断点续传,如...

2018-07-22 19:24:17 3616 5

原创 .net c# 文件分片/断点续传之下载--服务端

说起这个断点续传,一开始只是为了实现 pdf.js 的快速预览!在pc 端谷歌chrome 和火狐浏览器可以通过以下用法实现 pdf.js 的快速预览,无需完整下载整个pdf. 主要参考了 这篇文章 https://blog.csdn.net/niedewang/article/details/79883828,但是这篇文章没有提到服务端怎么实现(如果文件路径是网站的路径,服务器会自动支持断点续传...

2018-07-22 18:20:36 2068

原创 js 请求异常重连或断线后联网重连机制(ajax)

    这个需求的应用场景是这样的,在开发一个基于h5的移动app 时,在请求api 时出现请求的异常或者是请求中途网络中断的情况,一旦出现问题则需要重新触发某个点击事件或者打开某个页面。于是就想,遇到异常情况我们能不能让请求自动重连,重新调用我们的数据。当然,一开始都是先看看网上的解决方案,但是找了好久没找到合适的(也可能是自己没找对关键词,当时搜索的是 “js断网重连机制”)。既然没有的话,就...

2018-05-13 09:53:41 5974

原创 NOPIExcel读写扩展

由于使用的习惯以及需求,对NOPI 中操作Excel 做了个简单的封装,简单快速的进行数据的导入导出。 话不多说,直接上源码。using NPOI.HSSF.UserModel;using NPOI.SS.UserModel;using NPOI.XSSF.UserModel;using System;using System.Collections.Generic;us

2018-01-21 13:17:23 302

原创 winform上视图模型双向绑定 TView 的使用

()#winform上视图模型双向绑定 TView 的使用TView 其实不是什么神秘的东西,而是上一篇文章 [ c# 模仿 vue 实现 winform 的数据模型双向绑定](http://blog.csdn.net/mengtoumingren/article/details/78680208) 实现的一个组件(我也不知道该不该叫组件)。在上一篇讲了实现的原理(回过头来看,讲的还是有点乱

2017-12-09 00:11:28 1256

原创 c# 中间件 的扩展模型(.net webapi/.net Core 的 MiddleWare 处理模型)

在学习 asp.net WebApi 或者asp.net Core 的时候,它们管道的处理模型跟 asp.net MVC/WebForm 的管道模型是不一样的。asp.net WebApi 或者asp.net Core 他们使用了一种叫做“中间件”的处理模型,相对于传统管道模型,剔除了很多非必要的处理,扩展行增强,根据需求进行各种拓展,有类似装饰器、aop的效果。然后笔者就想看着这样的一种...

2017-09-22 15:47:35 2088

原创 c#实现简单的注入容器,认识注入容器的基本原理

在学习了反射和注入的概念后,加上项目中也用到 比如 AutoFuc 还有 unity 等容器。就有点想写自己的容器的想法。然后 搜索了下 注入容器相关的文章,大多是多某个成熟的注入容器的代码进行解析,或者是对 注入概念的解析。成熟的框架考虑到方方面面,源码对于新手来说可能不是很好接收(虽然自己也并不是什么大神),而概念上 哪怕看的多也有可能不知道从何下手。注入其实主要就靠反射创建对象,只是

2017-09-21 16:41:42 3649

js模板引擎从无到有

记录一个js模板引擎从无到有一步步实现改进的过程,内容直接以一个个html文件直观呈现

2018-12-20

winform上的mvvm框架--升级版(动态代理)

模仿vue 实现的 在winform 上实现的数据模型双向绑定。升级版使用 castle 进行动态代理,较与旧版节省大量代码的书写,同时将核心抽出来,还能用到其它需要监听属性变化的地方

2018-08-29

纯 js 实现得 图片上传预览插件

原生 js 整合的一个图片上传预览控件,实现类似微信朋友圈选择删除图片的效果。不依赖任何其他js框架

2018-08-29

.net c# 断点续传的客户端(winform)和服务端(mvc/webapi)实现

本资源包含了断点续传功能的完整实现,包括客户端和服务端。服务端主要是实现支持断点续传,客户端其实就是一个下载器。

2018-07-22

winform上的mvvm框架

模仿vue 实现的 在winform 上实现的数据模型双向绑定

2017-12-09

c# 实现的简单的 注入容器

在学习 IOC 的时候根据自己的理解,实现的简单的注入容器,实现构造函数注入,属性注入,字段注入。代码比较简单 适合理解 注入容器原理

2017-09-21

注入容器学习

注入容器 MVC

2017-07-05

jq 图片上传预览插件

类似微信发动态的图片选择功能,点击图片图标选择图片,显示选择的图片缩略图,根据需要添加删除要上传的图片,暂不支持苹果浏览器

2016-11-30

自己学习写的 asp.net 分页控件源码

学习时写的一个分页控件,比较简单,可以参考参考

2016-02-28

自己写的asp.net分页控件

因需要,自己学了点服务器控件开发基础,开发了这个控件,顺便分享一下源码,大家相互学习

2016-02-28

基于tcplistener和tcpclient的一对多通讯原型

其实开始的资源也是从这里下的,不过作者做的功能比较多,我把它精炼了,适合新手入手

2015-04-25

基于socket的一对多通讯原型

这个借鉴论坛里的前辈做出来的简单例子,适合新手上手

2015-04-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除