代码改变世界

随笔分类 -  平时小记

tsd-提升IDE对JavaScript智能感知的能力

2015-07-26 07:09 by 破狼, 11511 阅读, 收藏, 编辑
摘要: 在编写前端JavaScript代码时,最痛苦的莫过于代码的智能感知(Intelli Sense)。追其根源,是因为JavaScript是一门弱类型的动态语言。对于弱类型的动态语言来说,智能感知就是IDE工具的一个“软肋”。IntelliJ等IDE所用智能感知方式,是一种折中的方式:全文搜索,然后展示... 阅读全文

Ng Http Request/response格式转换

2014-09-03 08:19 by 破狼, 5019 阅读, 收藏, 编辑
摘要: angular作为Single Page Application推荐的交互方式当然是基于json的ajax调用。但今天要说的是当你不幸工作在一个遗留或者不可控制的服务上,而这服务是基于非json提交方式(或许是常规表单(form)提交,或者其他自定义数据格式),那么我们只能改变ng内部$http默认... 阅读全文

自定义项目脚手架- Maven Archetypes

2014-03-17 20:14 by 破狼, 27903 阅读, 收藏, 编辑
摘要: 在上篇Intellij修改archetype Plugin配置 中我们已经简单介绍了关于archetype的作用。简单来说maven archetype插件就是创建项目的脚手架,你可以通过命令行或者IDE集成简化项目创建的工作。例如:org.apache.maven.archetypes:maven-archetype-quickstartorg.apache.maven.archetypes:maven-archetype-siteorg.apache.maven.archetypes:maven-archetype-webapp以及spring或者第三方提供了一些archetype plu 阅读全文

Intellij修改archetype Plugin配置

2014-03-16 09:26 by 破狼, 8953 阅读, 收藏, 编辑
摘要: Maven archetype plugin为我们提供了方便的创建 project功能,Archtype指我们项目的骨架,作为项目的脚手架。 如fornt end的yo之类。我们能够通过简单的一行控制台command line创建你所需要的项目结构:mvn archetype:generate -DarchetypeGroupId= -DarchetypeArtifactId= -DarchetypeVersion= -DgroupId= -DartifactId=常用的Maven archetype plugin有:org.apache.maven.archetypes:maven... 阅读全文

记录maven java.lang.String cannot be cast to XX error

2013-09-10 21:47 by 破狼, 4042 阅读, 收藏, 编辑
摘要: 在项目开发中自定义了一个maven plugin,在本地能够很好的工作,但是在ci server上却无法正常工作报错为:----------------------------------------------------- at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:225) at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153) ... 阅读全文

angularjs 过滤器filter

2012-10-31 23:36 by 破狼, 43549 阅读, 收藏, 编辑
摘要: 在前面介绍angularjs已经很多了,中途由于工作和一切生活琐事,暂停了很久。今天在这里将继续angularjs讲解,这节我们来看看angularjs的过滤去filter。 在我们开发中经常需要在页面显示给用户的信息需要一定处理格式化,才能显示给用户。比如时间本地化,或者yyyy-MM-dd HH:mm:ss格式,数字精度格式化,本地化,人名格式化等等。在angularjs中为我们提供了叫filter的指令,让我们能够很轻易就能做到着一些列的功能,angularjs内部为我们提供了number等很多内置的filter。并且我们能够很轻易的自定义自己的领域filter。 如下实例:html:. 阅读全文

Aspect Oriented Programming杂谈

2012-10-28 16:45 by 破狼, 4723 阅读, 收藏, 编辑
摘要: 至今Aspect Oriented Programming已经被开发人员所熟知,其简写AOP,译为面向方面编程(也有称面向切面编程)。其产生于90年代Xerox PARC实验室编程范式。被称为oop的延续,oop主要针对业务处理过程的领域问题抽象封装,形成领域对象,更好的描述自然领域问题。而aop主要处理业务处理过程中处理逻辑步骤分离,减少业务逻辑的耦合性,是的我们的开发人员在开发过程中只需关心领域的核心实际逻辑。在结构化编程(SP)中提出了SOC(分离关注点),并一直被称为是面对复杂软件最行之有效的方法之一,并被努力应用于不同的软件实践,比如表现层模式MVC,MVP,PM,面向服务编程SO. 阅读全文

angularjs表达式-Expression

2012-09-14 00:28 by 破狼, 25659 阅读, 收藏, 编辑
摘要: 紧接上节谈到再谈angularjs DI(Dependency Injection),在这里介绍关于angularjs的表达式expression。expression指的是javascript的一小片段代码,通常用于绑定(binding)例如:{{ expression }}。在angularjs中是通过$parse service解析。 $parse用法: $parse(expression); 参数:javascript代码片段。 返回值:{function(context, locals)},表达式编译结果: context:嵌入表达式执行的作用于scope。 locals:... 阅读全文

再谈angularjs DI(Dependency Injection)

2012-09-11 19:42 by 破狼, 11410 阅读, 收藏, 编辑
摘要: 在前面已经介绍了关于angularjs,以及扩展了一些jQuery ui的一些组件为angularjs的directive。在这里应进口007 在上篇留言我们来看看在angularjs中的DI特性。 DI:依赖注入,是一种软件设计模式,应DIP依赖倒置原则,描述组件之间高层组件不应该依赖于底层组件。依赖倒置是指实现和接口倒置,采用自顶向下的方式关注所需的底层组件接口,而不是其实现。其应用框架则为IOC,在.net中有很多我们熟悉的IOC框架,如Unity,Castle windsor,Ninject,Autofact等等,其常常分为构造注入,函数注入,属性注。同时在IOC和Service L. 阅读全文

AngularJS Slider指令(directive)扩展

2012-09-05 23:01 by 破狼, 7431 阅读, 收藏, 编辑
摘要: 继上一篇基于jQuery UI Autocomplete的AngularJS 指令(directive)扩展,在这里发布一个AngularJS的Slider扩展。如果你还不了解AngularJS话的情参见AngularJs - Javascript MVC 框架,Angular-Bootstrap和Compiler以及Google-AngularJS官方文档. 下面直接看代码演示吧,借助我们强大的jsfiddle:链接地址http://jsfiddle.net/whitewolf/vNfsm/20/embedded 这里借助于jsfiddle可能加载速度有点慢,请耐心等待。同时有什么问题请.. 阅读全文

基于jQuery UI Autocomplete的AngularJS 指令(directive)扩展

2012-09-02 10:38 by 破狼, 8183 阅读, 收藏, 编辑
摘要: 在前几篇随笔简单介绍了AngularJS,在AngularJS 指令(directive)是重要的概念,主要负责了很大部分的组建样式交互。在前面介绍过directive需要预先的模板编译在返回一个link的函数,注册行为事件交互等等。在这里不多说了,关于指令的介绍将在后续一并补上。在这里我们先看一个利用jQuery UI组件开发的AngularJS Autocomplete指令。代码:jsfiddle在线测试Directive:1varoldSuggest=jQuery.ui.autocomplete.prototype._suggest;2jQuery.ui.autocomplete.p.. 阅读全文

Angular-Bootstrap和Compiler

2012-08-13 23:50 by 破狼, 17567 阅读, 收藏, 编辑
摘要: 在上节简单介绍了Angular js框架,在这节将继续Angular的Bootstrap(引导)和Compiler(编译)机制。一:Bootstrap:Angular的初始化 1:Angular推荐的自动化初始如下:1<!doctypehtml>23<htmlxmlns:ng="http://angularjs.org"ng-app>45<body>67...89<scriptsrc="angular.js">1011</body>1213</html 利用ngapp标示你需要自动引导应用 阅读全文

AngularJs - Javascript MVC 框架

2012-08-12 23:25 by 破狼, 18974 阅读, 收藏, 编辑
摘要: 在6月google发布了AngularJs 1.0稳定版, 并宣称:AngularJS可以让你扩展HTML的语法,以便清晰、简洁地表示应用程序中的组件,并允许将标准的HTML作为你的模板语言,AngularJS可以通过双向数据绑定自动从拥有JavaScript对 象(模型)的UI(视图)中同步数据。 开始接触AngularJs是在4月份来到新项目组,这时AngularJs还处于0.8未稳定版,项目中已经开始使用了,并且这套框架应用到了项目整个UI端,服务端也是未稳定的web api,真心佩服团队的勇气,对于新技术的热情,幸好大家都能很好的驾驭,这是第一次尝试一个充满未稳定技术的项目。 回到正. 阅读全文

读代码整洁之道

2012-07-31 22:11 by 破狼, 12525 阅读, 收藏, 编辑
摘要: 现在的软件系统开发难度主要在于其复杂度和规模,客户需求也不再像Winston Royce瀑布模型期望那样在系统编码前完成所有的设计满足用户软件需求。在这个信息爆炸技术日新月异的时代,需求总是在不停的变化,随之在2001年业界17位大牛聚集在美国犹他州的滑雪胜地雪鸟(Snowbird)雪场,提出了“Agile”(敏捷)软件开发价值观,并在他们的努力推动下,开始在业界流行起来。在《代码整洁之道》(Clean Code),提出一种软件质量,可持续开发不仅在于项目架构设计,还与代码质量密切相关,代码的整洁度和质量成正比,一份整洁的代码在质量上是可靠的,为团队开发,后期维护,重构奠定了良好的基础。在这. 阅读全文

Less动态css-演讲稿(ppt)

2012-07-24 23:18 by 破狼, 1960 阅读, 收藏, 编辑
摘要: LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承, 运算, 函数,混合,守卫,命名空间,字串符插值。 LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, Firefox),也可以借助Node.js或者Rhino在服务端运行。 Less是一个JS库,所以他可以在客户端运行,相对Sass则必须在服务端借助Ruby运行(Sass和Less区别,可以参见LESS介绍,和与Sass的比较)。本演讲稿主要涉及Less程序式特性和Less常见使用方式: 变量 混合 嵌套规则 函数&运算 模式匹配和守卫(Guards ) 字符串插值 ... 阅读全文

表现层模式-MVC

2012-07-07 15:02 by 破狼, 9066 阅读, 收藏, 编辑
摘要: 在前面简述了从服务层到数据层参见架构设计目录。剩下了表现层,一个再好的中间层表现也必须有一个用户界面,提供和用户交互,将用户行为输入转化为系统操作,进入后台逻辑。在当下RAD(快速应用开发)工具的支持下,我们可以比较快速的完成UI设计,RAD追求所见即所得的快速反馈,快速应用。表现层也有一定其固定的逻辑(格式化,数据绑定,转化等等,称为UI逻辑)和界面展现。这里UI逻辑指的是所有用来处理数据显示在UI界面的逻辑和,将UI用户输入行为转化为中间层指令的逻辑,负责UI和中间层数据流和行为的转化。很多时候UI是最容易变化的以及最不易测试的逻辑(我一直相信,1:一段好的代码一定要易于测试。2:重构的. 阅读全文

分享一段PowerShell用户认证Function

2012-06-09 22:29 by 破狼, 2133 阅读, 收藏, 编辑
摘要: 在最近工作中遇到对用户验证,需要根据用户名和密码验证用户是否合法。在外文网站找到的这段代码,在这里分享给大家,如果你也需要用户验证的话,那么可以直接copy使用,现在没地方用,也可以收藏备用,1FunctionTest-UserCredential{23[CmdletBinding()][OutputType([System.Boolean])]45param(67[Parameter(Mandatory=$true)][ValidateNotNullOrEmpty()]89[System.String]$Username,1011121314[Parameter(Mandatory=$tr. 阅读全文

PowerShell强大管道

2012-06-09 15:34 by 破狼, 7581 阅读, 收藏, 编辑
摘要: PowerShell是在Window是的外壳语言,提供了多Windows的更多操作,让我们于windows的操作更简单方便,以及就是就是管理员的命令行更好的管理。PowerShell提供了与.net FCL(.net类库)的操作性,我们可以利用强大的.net FCL在PowerShell中。PowerShell提供强大的管道模型,管道指的是一个命令的输出可以利用操作符(|)方便的传递到下个命令作为输入。PowerShell不同传统管道模型的是它是一门基于对象的管道流,即在命令之间传递的对象不是简单的文本。下面我们就以本地文件操作来实践PowerShell的管道常见命令: 1:集合遍历Fo... 阅读全文

架构设计目录

2012-06-06 08:11 by 破狼, 5212 阅读, 收藏, 编辑
摘要: 架构引用维基百科:软件体系结构是构建计算机软件实践的基础。与建筑师设定建筑项目的设计原则和目标,作为绘图员画图的基础一样,一个软件架构师或者系统架构师陈述软件构架以作为满足不同客户需求的实际系统设计方案的基础。从和目的、主题、材料和结构的联系上来说,软件架构可以和建筑物的架构相比拟。一个软件架构师需要有广泛的软件理论知识和相应的经验来实施和管理软件产品的高级设计。软件架构师定义和设计软件的模块化,模块之间的交互,用户界面风格,对外接口方法,创新的设计特性,以及高层事物的对象操作、逻辑和流程。 软件架构师与客户商谈概念上的事情,与经理商谈广泛的设计问题,与软件工程师商谈创新的结构特性,与程序.. 阅读全文

架构设计-数据访问层简述

2012-06-05 00:13 by 破狼, 11669 阅读, 收藏, 编辑
摘要: 在前面简单描述了下服务层,SOA面向服务架构,架构设计-业务逻辑层,以及一些面面向设计原则理解和软件架构设计箴言。这篇博客我们将继续进入我们的下一层:数据访问层。无论你用的是什么开发模式或者是业务模式,到最后最必须具有持久化机制,持久化到持久化介质,并能对数据进行读取和写入CRUD。这就是数据访问层。你可能是利用xml等文件格式磁盘存储,常用的关系数据库存储,或者NoSql(not only sql)的内存存储或文档存储等等存储介质。而这里我只关心关系数据库存储。 数据层需要提供的职责有: 1:CRUD服务。作为唯一可以与存储介质交互的中间层出现,负责业务对象的增加,修改,删除,加载... 阅读全文