摘要: 前言 最近总是有一种感觉,对于知识没有积淀,很多时候都是忘记了哪里就去查一下,比如JS这种语言,很是浪费时间,如果能够把这些知识形成知识体系塞进大脑,做到即用即取就好了,那么就可以借助思维导图来帮助我们完成这项工作。所谓温故而知新,今天把JavaScript相关的知识整理下(图片来自网络)。 Jav 阅读全文
posted @ 2018-04-24 15:51 悠扬的牧笛 阅读(927) 评论(0) 推荐(1) 编辑
摘要: 概述 贪婪与非贪婪模式影响的是被量词修饰的子表达式的匹配行为,贪婪模式在整个表达式匹配成功的前提下,尽可能多地匹配,而非贪婪模式在整个表达式匹配成功的前提下,尽可能少地匹配。非贪婪模式只被部分NFA引擎(确定性有穷自动机)所支持。 属于贪婪模式的量词,也叫做匹配优先量词,包括: 从正则语法的角度来讲 阅读全文
posted @ 2018-04-19 18:41 悠扬的牧笛 阅读(512) 评论(0) 推荐(0) 编辑
摘要: 一、何为Attribute 下面是微软官方对Attribute的解释: 公共语言运行时允许你添加类似关键字的描述声明,叫做Attributes,它对程序中的元素进行标注,如类型、字段、方法和属性等。Attributes和Microsoft .NET Framework文件的元数据保存在一起,可以用来 阅读全文
posted @ 2017-11-16 09:41 悠扬的牧笛 阅读(1113) 评论(1) 推荐(2) 编辑
摘要: 想要了解.Net Core的意义,就必须要了解拥有很长历史的.Net Framework,.Net Framework1.0于2002年发布。从那开始,每隔两年就会有一个主版本推出。伴随着Visual Studio 2013我们发布了C#5.0和.Net Framework4.5 。.Net Fra 阅读全文
posted @ 2017-11-07 08:01 悠扬的牧笛 阅读(2028) 评论(2) 推荐(5) 编辑
摘要: 一、前言 在我们的日常工作中,使用foreach循环对集合进行迭代操作,是最常用的操作之一。有时我们会遇到这样的需求,在遍历迭代元素集合的过程中,根据需求去筛选修改元素,于是就顺手使用foreach进行迭代并修改,当然编译的时候会报错,提示我们在迭代的过程重视不允许对元素进行修改的,此时我们关心的是 阅读全文
posted @ 2017-02-08 08:46 悠扬的牧笛 阅读(851) 评论(1) 推荐(1) 编辑
摘要: 【总结】数据库索引的实现原理 一、概述 数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询、更新数据库表中数据。索引的实现通常使用B树及其变种B+树。在数据之外,数据库系统还维护着满足特定查找算法的数据结构,这些数据结构以某种方式引用(指向)数据,这样就可以在这些数据结构上实现高级查找算法。这种数据结构,就是索引。 阅读全文
posted @ 2017-02-07 11:27 悠扬的牧笛 阅读(1592) 评论(3) 推荐(11) 编辑
摘要: 【实践】基于接口的插件机制 一、前言 插件,意味着可扩展,且宿主程序不依赖于插件,即插即用。这种软件设计方式可以使我们的应用程序最大化地获得可扩展性、适应性和稳定性,而且便于软件的维护和升级。在什么场景下使用插件呢?例如在本篇文章中,我个人有一个小需求就是希望记事本带行号,于是我自己写了一个极简易的编辑器(CodeEditor 阅读全文
posted @ 2017-01-18 09:03 悠扬的牧笛 阅读(7831) 评论(45) 推荐(45) 编辑
摘要: 一、前言 单例模式的应用场景十分清晰,就是一句话,在整个的软件运行周期内,对于某个类只能允许有零个或一个实例。单例模式应用十分广泛,比如我们电脑上的任务管理器就是一个单例模式,无论开多少个任务管理器,你会发现只有一个窗口,这就是典型的单例模式的应用;还有,网站的访问次数统计,如果不采用单例模式会很难 阅读全文
posted @ 2017-01-10 08:27 悠扬的牧笛 阅读(545) 评论(0) 推荐(0) 编辑
摘要: 前言 在单线程中设置窗体某个控件的值很简单的事,只需要设置控件文本的值就可以了,但是有的业务场景很是复杂,界面上的控件也很多,这种情况下当数据量比较多的时候,在单线程中更新UI不可避免地会发生假死或卡顿现象,用户体验十分不爽,所以必须采用多线程来处理数据和UI。但是如果直接添加一个线程来更新控件信息 阅读全文
posted @ 2017-01-08 23:29 悠扬的牧笛 阅读(665) 评论(1) 推荐(1) 编辑
摘要: RouteData解析过程 在ASP.NET MVC中,服务器收到来自客户端的请求后,会经过一些列的处理拿到请求的数据,比如在Pipeline 管线事件中,通过订阅适当的事件,将HttpContext作为参数传入HttpContextWrapper进行封装,然后取得当前路由集合的数据RouteDat 阅读全文
posted @ 2016-12-16 23:02 悠扬的牧笛 阅读(2703) 评论(1) 推荐(1) 编辑
摘要: 开发背景 最近在使用微软的Office Project 2010 进行项目管理,看到排的满满的计划任务,一个个地被执行完毕,还是很有成就感的。其实,不光是在工作中可以使用Project进行项目进度控制,同样可以把这款软件应用在日常的生活中,比如为阅读某本书排一个计划,而任务单元就是本书的目录,当然粒 阅读全文
posted @ 2016-12-12 09:12 悠扬的牧笛 阅读(2118) 评论(0) 推荐(1) 编辑
摘要: 什么是接口 接口是面向对象JavaScript程序员的工具箱中最有用的工具之一。在设计模式中提出的可重用的面向对象设计的原则之一就是“针对接口编程而不是实现编程”,即我们所说的面向接口编程,这个概念的重要性可见一斑。但问题在于,在JavaScript的世界中,没有内置的创建或实现接口的方法,也没有可 阅读全文
posted @ 2016-09-23 08:55 悠扬的牧笛 阅读(8869) 评论(4) 推荐(2) 编辑
摘要: JavaScript的灵活性 JavaScript是目前最流行、应用最广泛的语言之一,它是一种极富表现力的语言,它具有C家族语言所罕见的特性。这种语言允许我们使用各种方式来完成同一个任务或者功能,还允许我们在面向对象编程的过程使用函数式编程中的概念来丰富其实现方式。这种语言允许我们采用多种不同的编程 阅读全文
posted @ 2016-09-18 09:42 悠扬的牧笛 阅读(1617) 评论(1) 推荐(7) 编辑
摘要: Javascript的数据类型 Number String Boolean Undefined Null Object 如下图,其中Number、String、Boolean、Undefined、Null是原始类型,Object是对象类型,Object中可以包含Array、Function等类型。 阅读全文
posted @ 2016-09-08 22:05 悠扬的牧笛 阅读(505) 评论(0) 推荐(0) 编辑
摘要: 关于Memcached Memcached是一个自由开源的,高性能,分布式内存对象缓存系统。 Memcached是一种基于内存的Key-Value存储,用来存储小块的任意数据(字符串、对象)。这些数据可以是数据库调用、API调用或者是页面渲染的结果。 Memcached简洁而强大。它的简洁设计便于快 阅读全文
posted @ 2016-08-18 22:31 悠扬的牧笛 阅读(2737) 评论(2) 推荐(5) 编辑
摘要: 前言 关于设计模式的文章,园子里实在是太多太多,而且讲解的也非常精彩,那为什么我还要在这里记录下这篇文章?本文以实际项目应用“自己动手写工具--XSmartNote”为切入点,来讲述策略模式的应用。很多初学者都有一种感觉,就是在看设计模式相关文章的时候,都看得懂,而且小Demo也是手到擒来,但是就是 阅读全文
posted @ 2016-06-01 09:03 悠扬的牧笛 阅读(8806) 评论(5) 推荐(7) 编辑
摘要: 一、前面的话 在上一篇博文自己动手写工具 XSmartNote [Beta 3.0]中,用到了若干个自定义控件,其中包含用于显示Note内容的简单的Label扩展控件,用于展示标签内容的label扩展控件,还有包含自定义事件的含checkbox的控件。自定义控件的好处就是其灵活程度很高,不但可以扩展 阅读全文
posted @ 2016-05-24 15:52 悠扬的牧笛 阅读(1030) 评论(4) 推荐(1) 编辑
摘要: 一、前面的话 在动笔之前,一直很纠结到底要不要继续完成这个工具,因为上次给它码代码还是一年多之前的事情,参考自己动手写工具 XSmartNote [Beta 2.0],这篇博文里,很多园友提出了宝贵的意见。最后决定吸收园友的建议把这个工具重构一下。首先给它换了个名 称,XSmartNote。因为各种 阅读全文
posted @ 2016-05-23 08:50 悠扬的牧笛 阅读(1656) 评论(4) 推荐(3) 编辑
摘要: 前言 一直想用WebBrowser做一些好玩的东西,比如抓取分析感兴趣的网站页面、自动点击提交页面等,所以最近在研究WebBrowser。WebBrowser的功能十分强大,就是一个微型的Browser,不过它也有自己的一些不足,为了下次避免再次出现这个坑,特在此总结一下。 故障描述 本打算用Web 阅读全文
posted @ 2016-02-23 16:57 悠扬的牧笛 阅读(889) 评论(3) 推荐(1) 编辑
摘要: 前言 最近工作不是很忙,抽出时间来看看C#中基础的东西,也算是“温故而知新”了,于是就看到了泛型这块儿,看了园子里其他园友的文章,讲的都很到位。这篇文章本着简单、容易理解为前提,记录下我自己对泛型的认识,方便以后查看。 泛型是什么 泛型是一种开放式类型,它的出现保证了我们可以创建类型安全的集合。 泛 阅读全文
posted @ 2016-02-19 11:28 悠扬的牧笛 阅读(1812) 评论(0) 推荐(4) 编辑