我不知道园子里到底有多少人喜欢使用NVelocity这个模板引擎,其实说实话,如果现在让我选,我对Razor的喜好要比NVelocity或者T4等等的模板引擎更多一些,当然了,个人看法而已.只是我在公司基本上每天都在和NVelocity打交道,环境逼迫,只好试图来改变环境能死得更从容一些. 本系列的主要目的是写一个VS插件: 1.能在应用环境(第一节会构建一个模拟场景)下支持NVelocity语法的智能提示 2.给予喜欢NVelocity和在网上找不到VS SDK资料的人更多的灵感,为NVelo…
VS Extension+NVelocity系列(二)——让VS支持 NVelocity的智能提示(上)   一.基础概念 应该庆幸的是,VS的插件是靠着MEF实现而不是MAF,这让你所做的工作减轻了许多.如果在这之前,您已经了解了MEF的原理,我想对于VS插件的编写,您应该是很容易就能理解的.看看几个VS2010 SDK提供的例子,您就能熟练的编写了. 不过我还是简单的介绍一下MEF几个特点,目前来说,只要您了解这几个特点就足够了: 组合容器 部件 目录 使用特性导入.导出 这是一张博主 周金…
  怎么使用eclise 抽取方法,请看  利用eclipse 抽取代码片段为方法   抽取完成之后,还需要 ① 将Collection.class换成  target.getClass(),target是Object的,可以来代理所有的对象 ② Proxy.newProxyInstance(target.getClass().getClassLoader(), target.getClass().getInterfaces(), new InvocationHander(){     invo…
建议144:一个方法只做一件事 “单一职责原则”(SRP)要求每一个类型只负责一件事情.我们将此概念扩展到方法上,就变成了:一个方法只做一件事. 回顾上一建议的代码,LocalInit和RemoteInit方法是两件事情,但是在同一抽象层次上,在类型这个层次对外又可以将其归并为“初始化”这一件事情上.所以,“同一件事”要看抽象所处的地位. 转自:<编写高质量代码改善C#程序的157个建议>陆敏技…
1. 引言 之前一篇文章<Logstash 介绍及linux下部署>,我们实现了logstash的安装以及简单的控制台标准输入输出测试,那么logstash能不能做更多的事情呢?答案是肯定的,logstash就是为了处理日志数据而生的.一个最直接的应用是,我们从事web开发,将应用放到apache中,apache会生成大量的访问日志,那么如何实现对大量访问日志的搜集.处理.分析呢?logstash里面各种优秀的插件可以帮我们做这些事情. 2. logstash插件管理 在logstash的目录…
转自:  http://www.cnblogs.com/marcowei/p/3841342.html 安装 ubuntu14.04 之后要做的一些事 前言: 用 ubuntu14.04 也有一段时间了,感觉与之前版本相比还是在挺多方面有了改进.但刚装完还是有一些小问题需要自己动手解决.鉴于网上的内容太过零碎,有些方案也太过老旧,因此在这里为大家总结一些个人使用的优化方式跟配置方案,希望可以为刚接触 ubuntu 14.04 的朋友提供一些帮助 :) 也欢迎大家补充 :) 一. 输入法配置 ub…
******************************* Forms组件 *************************************************** Forms组件在程序中做了哪些事? 校验数据.渲染标签.展示信息 Forms组件可以做的事情的详细步骤: 1.用户请求数据的验证 2.自动生成错误信息 3.打包用户提交的正确信息 4.如果其中有一个错误了,其他的正确,保留上次输入的内容,保证输入框中的数据不会清空 5.自动创建input标签并可以设置样式 form…
SpringApplication.run一共做了两件事,分别是 创建SpringApplication对象 利用创建好的SpringApplication对象,调用run方法论 结论: 面试官: 我看到你简历上写着熟悉SpringBoot,那你讲一下,SpringApplication.run都做了些什么? 肥朝公众号粉丝: SpringApplication.run一共做了两件事,一件是创建SpringApplication对象,在该对象初始化时,找到配置的事件监听器,并保存起来.第二件事就…
一.定义 我们知道,我们的插件是服务于NVelocity的,在你的项目当中,对于NVelocity的模板应当有一个统一的文件扩展名,以便于VS在打开指定扩展名的文件后,就能起到具体的作用. 如果我没有记错,Castle Monorail MVC 的NVelocity模板一律为.vm文件,本例也以.vm为准. 在项目上新建一个NVDefinition类,内容如下 internal static class NVDefinition { public const string ContentType…
一.基础概念 应该庆幸的是,VS的插件是靠着MEF实现而不是MAF,这让你所做的工作减轻了许多.如果在这之前,您已经了解了MEF的原理,我想对于VS插件的编写,您应该是很容易就能理解的.看看几个VS2010 SDK提供的例子,您就能熟练的编写了. 不过我还是简单的介绍一下MEF几个特点,目前来说,只要您了解这几个特点就足够了: 组合容器 部件 目录 使用特性导入.导出 这是一张博主 周金根 介绍MEF的图: 其中,CompositionContainer就是组合容器,Part就是部件,而VS插件…