Mryqu's Notes


  • 首页

  • 搜索
close

GoJS中的类

时间: 2015-04-09   |   分类: FrontEnd     |   阅读: 11 字 ~1分钟
GoJS中的类 GoJS API文档介绍了GoJS中的类,不过在调试GoJS时发现有3个类不是通过go对象访问的。此外有14个类有介绍,但没有显示在左侧导航栏里。GoJS的很多类、方法和属性名都是经过混淆的,不过起码这一层还是很好对上号的。 Diagram ClassesAdornmentAdornmentAnimationManager CommandHandlerCommandHandlerDiagramDiagramDiagramEventDiagramEventGraphObjectGraphObjectGroupGroupInputEventInputEventLayerLayerLinkLinkNodeNodeOverviewOverviewPalettePalettePanelPanelPartPartPicturePicturePlaceholderPlaceholderRowColumnDefinitionRowColumnDefinitionShapeShapeTextBlockTextBlockGeometry ClassesBrushBrushGeometryGeometryMarginMarginPathFigurePathFigurePathSegmentPathSegmentPointPointRectRectSizeSizeSpotSpotModel ClassesBindingBindingChangedEventChangedEventGraphLinksModelGraphLinksModelModelModelTransactionTransactionTreeModelTreeModelUndoManagerUndoManagerLayout ClassesCircularLayoutCircularLayoutCircularNetworkCircularVertexCircularEdgeForceDirectedLayoutForceDirectedLayoutForceDirectedNetworkForceDirectedVertexForceDirectedEdgeGridLayoutGridLayoutLayeredDigraphLayoutLayeredDigraphLayoutLayeredDigraphNetworkLayeredDigraphVertexLayeredDigraphEdgeLayoutLayoutLayoutNetworkLayoutNetworkLayoutVertexLayoutEdgeTreeLayoutTreeLayoutTreeNetworkTreeVertexTreeEdgeTool ClassesActionToolActionToolClickCreatingToolClickCreatingToolClickSelectingToolClickSelectingToolContextMenuToolContextMenuToolDraggingToolDraggingToolDragSelectingToolDragSelectingToolLinkingBaseToolLinkingBaseToolLinkingToolLinkingToolLinkReshapingToolLinkReshapingToolPanningToolPanningToolRelinkingToolRelinkingToolResizingToolResizingToolRotatingToolRotatingToolTextEditingToolTextEditingToolToolToolToolManagerToolManagerCollection ClassesIterableIteratorListListMapMapSetSet GoJS类图

图表工具JS库

时间: 2015-04-08   |   分类: FrontEnd     |   阅读: 31 字 ~1分钟
由于目前工作用到GoJS,所有也关注一下图表工具JS库。 10 JavaScript libraries to draw your own diagrams一文给出了10个JS库的功能分析和比较图表。 |库|许可|语言 / 基础架构|高/低级|内建编辑器|Github (04/02/2015) |—– |JointJS|MPL|HTMLJavascriptSVG|高|无|1388星265分支(fork) |Rappid|商业1 500,00 €|HTMLJavascriptSVG|高|有| |Mxgraph|商业4300.00 €|HTMLJavascriptSVG|高|有| |GoJS|商业$1,350.00|HTMLCanvasJavascript|高|有| |Raphael|MIT|HTMLJavascriptSVG|低|无|7105星1078分支(fork) |Draw2D|GPL2商业|HTMLJavascriptSVG|中|无| |D3|BSD|HTMLJavascriptSVG|低|无|36218星9142分支(fork) |FabricJS|MIT|HTMLCanvasjavasript|低|无|4127星705分支(fork) |paperJS|MIT|HTMLCanvasjavascript|低|无|4887星496分支(fork) |JsPlumb|MIT/GPL2|HTMLJavascript|中|无|2161星563分支(fork) 这里面D3在数据科学领域成绩比计突出,是数据可视化的一个重要工具。此外我在接触过的开源项目有几个用到了Raphael(包括Activiti)。其他库还没有接触过。 我为什么选择 D3.js一文中将D3和Raphael进行了对比。Raphael是一个矢量图的API,专注于对矢量图形的操作。D3是一个数据可视化展示的API,通过数据与图形进行绑定。 图表工具JS库除了上面帖子提及的外,还有很多。如果有机会的话,我会在GoJS之外更多关注D3和Raphael。

[Gradle] 设置项目属性的三种方式

时间: 2015-04-07   |   分类: Tool   Gradle     |   阅读: 12 字 ~1分钟
命令行 gradle bootRun -PyquPropKey=yquPropValue build.properties yquPropKey=yquPropValue gradle.properties 添加ext块: ext { yquPropKey=yquPropValue }

Python: installing pymongo with Anaconda

时间: 2015-04-04   |   分类: Python     |   阅读: 590 字 ~3分钟
在Anaconda发行版Python上通过conda install pymongo安装MongoDBpython驱动,结果失败了,最终通过conda install -c https://conda.binstar.org/anaconda pymongo安装成功。 BinstarBinstar和Anaconda都是同一家的产品,是Continuum Analytics推出的一个包管理服务,托管公开的pip和conda。 安装记录如下: C:\tools\Anaconda>conda list # packages in environment at C:\tools\Anaconda: # _license 1.1 py27_0 anaconda 2.0.1 np18py27_0 argcomplete 0.6.7 py27_0 astropy 0.3.2 np18py27_0 atom 0.3.7 py27_0 backports.ssl-match-hostname 3.4.0.2 beautiful-soup 4.3.1 py27_0 beautifulsoup4 4.3.1 binstar 0.5.3 py27_0 bitarray 0.8.1 py27_1 blaze 0.5.0 np18py27_1 blz 0.6.2 np18py27_0 bokeh 0.4.4 np18py27_1 boto 2.28.0 py27_0 casuarius 1.1 py27_0 cdecimal 2.3 py27_1 chaco 4.4.1 np18py27_0 colorama 0.2.7 py27_0 conda 3.
阅读全文 »

[Hadoop] Windows平台编译Hadoop2.6.0笔记

时间: 2015-04-02   |   分类: BigData     |   阅读: 155 字 ~1分钟
环境 64位虚拟机及64位 Windows Server 2008 R2 所需工具 JDK7 Maven .NET Framework 4 Microsoft Windows SDK 7.1 安装前一定要先卸载比Microsoft Visual C++ 2010 x86Redistributable - 10.0.30319 更高的版本。 Microsoft Visual C++ 2010 Service Pack 1 Compiler Update for the Windows SDK 7.1 Cygwin (x64) Protocol Buffers 2.5.0 CMake 3.2.1 安装时选择添加CMake到所有用户的PATH环境变量。 hadoop-2.6.0源文件压缩包 解压至c:\hadoop-2.6.0-src 编译Hadoop2.6.0 进入Windows SDK 7.1 Command Prompt 在c:\执行buildHadoop.bat,其内容如下: setlocal set Platform=x64 set CYGWIN_ROOT=C:\cygwin64 set JAVA_HOME=C:\tools\Java\jdk7 set M2_HOME=C:\tools\apache-maven set MS_BUILD_PATH=C:\Windows\Microsoft.NET\Framework64\v4.0.30319 set MS_SDK=C:\Program Files\Microsoft SDKs\Windows\v7.1 set CMAKE_PATH=C:\tools\CMake set PROTOBUF_PATH=C:\tools\protoc-2.
阅读全文 »

粗览基于Eclipse RCP架构的Activiti Designer实现(图文版)

时间: 2015-03-31   |   分类: workflow     |   阅读: 1194 字 ~6分钟
org.activiti.designer.feature contains an Eclipse feature definition, which groups the variousprojects into the installable Activiti Designer feature. org.activiti.designer.eclipse plug-in contains the main extensions of Eclipse extension points and a lotof shared code for working with the model, saving resources andutilities. org.activiti.designer.eclipse.extension.ExportMarshallerextension-point Activiti Designer Export Marshaller: Use this extension point toprovide custom output marshallers when Activiti diagrams areexported. org.activiti.designer.eclipse.extension.ProcessValidatorextension-point Activiti Designer Process Validator: Use this extension point toprovide validation when Activiti diagrams are validated.
阅读全文 »

粗览基于Eclipse RCP架构的Activiti Designer实现(思维导图版)

时间: 2015-03-30   |   分类: workflow     |   阅读: 0 字 ~0分钟

函数式编程笔记

时间: 2015-03-29   |   分类: Tech     |   阅读: 143 字 ~1分钟
澄清概念 面向对象编程(OOP)对应的是面向过程编程(POP)。其区别在于模块化和如何对事物进行抽象: POP中程序可被分解成函数,OOP中程序可被分解成对象; POP侧重于过程及其执行顺序,OOP侧重于数据而不是过程; POP自顶向下解决问题,OOP自底向上解决问题; POP可以自由地在函数之间传递数据,OOP中对象需要通过成员方法传递数据和彼此通信; OOP更容易添加新数据和函数,有POP所没有的(public、private、protected等)访问修饰符、数据隐藏、方法覆写等特性。 函数式编程(Functional Programming)对应的是命令式编程(Imperativeprogramming)。 普林斯顿的科学家阿隆左·丘奇(Alonzo Church)、阿兰·图灵(Alan Turing)、约翰·冯·诺依曼(Johnvon Neumann)和库尔特·冈特(KurtGodel)都对形式系统很感兴趣,致力于解决抽象的数学难题。这些难题的共同之处就是计算:如果计算机能有无限的计算能力,哪些问题可以被解决?哪些问题可以被自动解决?哪些问题依旧无法解决?为什么不能被解决?基于不同设计的各种计算机是否具有相同的计算能力? 阿隆左·丘奇提出了一个被称为lambda演算的形式系统。这个系统本质上是一种程序设计语言。它可以运行在具有无限计算能力的机器上。lambda演算由一些函数构成,这些函数的输入输出也是函数。函数用希腊字母lambda标识,因此整个形式系统也叫lambda。通过这一形式系统,阿隆左就可以对上述诸多问题进行推理并给出结论性的答案。在同一时间,阿兰·图灵也在进行着相似的工作。他提出了一个完全不同的形式系统(现在被称为图灵机),并使用这一系统得出了和阿隆左相似的结论。事后证明,图灵机和lambda的演算能力是等价的。 1949年,第一台电子计算机EDVAC被推出并获得了巨大的成功。这是冯·诺依曼架构的第一个具体实现,实际上也是图灵机的第一个实现。而与此同时,阿隆左·丘奇则没有那么幸运。直到二十世纪五十年代,一位MIT的教授JohnMcCarthy对阿隆左·丘奇的工作产生了兴趣。1958年,他发布了Lisp语言。Lisp的不同之处在于,它在冯·诺依曼计算机上实现了阿隆左·丘奇的lambda演算!很多计算机科学家开始意识到Lisp的表达能力。1973年,MIT人工智能实验室的一帮程序员开发了被称为Lisp机器的硬件,于是阿隆左的lambda演算系统终于在硬件上实现了!函数式编程更加现代一些的例子包括scheme、Haskell、Clean、Erlang和Miranda等。1980年代末期,集函数式编程研究成果于大成的Haskell发布。命令式编程是图灵机思想的一种实现,对应地函数式编程则是lambda演算思想的一种实现。但并非所有的lambda演算都被实现了,因为lambda演算原本不是为有物理限制的计算机设计的。 |特征|命令式编程|函数式编程 |—– |程序员关注点|任务(算法)如何被执行及状态变化如何被追踪|所要得到的信息及所需转换 |状态变化|很重要|不存在状态变化 |执行顺序|很重要|不是很重要 |基本流控制|循环、条件分支和函数调用|包括递归在内的函数调用 |基本操作单元|结构体或类的对象|作为头等对象的函数、数据集合 定义 在维基百科中,已经对函数式编程有了很详细的介绍,其定义如下: 函数式编程或称函数程序设计,又称泛函编程,是一种编程范型,它将电脑运算视为数学上的函数计算,并且避免使用程序状态以及易变对象。函数编程语言最重要的基础是λ演算(lambda calculus)。而且λ演算的函数可以接受函数当作输入(引数)和输出(传出值)。 概念 支持闭包和高阶函数 函数在函数式编程中是所谓的"头等公民",函数与其他数据类型一样处于平等地位,有时称为闭包或者仿函数(functor)对象。实质上,闭包是起函数的作用并可以像对象一样操作的对象。与此类似,函数式编程语言支持高阶函数。高阶函数可以用另一个函数(间接地,用一个表达式)作为其输入参数,在某些情况下,它甚至返回一个函数作为其输出参数。这两种结构结合在一起使得可以用优雅的方式进行模块化编程,这是使用函数式编程的最大好处。 纯函数 所谓“纯”函数式(或表达式)就是实现了lambda演算并且不包含与Church范式矛盾的特性,它没有(内存或I/O)副作用。 变量的不可变性:函数式编程的变量都是不可变的,函数保持独立,不能修改外部变量的值,所有功能就是返回一个新的值。在命令式编程中,变量往往用来保存"状态"(state),变量会影响函数的输出。在函数式编程中,不能修改变量,意味着状态不能保存在变量中。函数式编程使用函数参数保存状态,函数参数是影响函数返回值的唯一途径。如果一个编程语言中变量都是不可变的好处是: 可以去掉很多情况的锁操作, 并发处理速度会更快. 可以简化垃圾回收GC 函数的确定性或引用透明性(Referentialtransparency):指的是函数的运行不依赖于外部变量或"状态",只依赖于输入的参数,任何时候只要参数相同,引用函数所得到的返回值总是相同的。这使您可以从形式上推断程序行为,因为表达式的意义只取决于其子表达式而不是计算顺序或者其他表达式的副作用。这有助于验证正确性、简化算法,甚至有助于找出优化它的方法。 递归 函数式编程还有一个特点是用递归做为控制流程的机制。递归最大的好处就简化代码,他可以把一个复杂的问题用很简单的代码描述出来。注意:递归的精髓是描述问题,而这正是函数式编程的精髓。 懒惰计算 懒惰计算需要编译器的支持。表达式不是在绑定到变量时立即计算,而是在求值程序需要产生表达式的值时进行计算。延迟的计算使您可以编写可能潜在地生成无穷输出的函数。因为不会计算多于程序的其余部分所需要的值,所以不需要担心由无穷计算所导致的out-of-memory错误。一个懒惰计算的例子是生成无穷Fibonacci列表的函数,但是对第n个Fibonacci数的计算相当于只是从可能的无穷列表中提取一项。 C类和ML类的语言都是非懒惰的(饥饿求值),而Haskell和Miranda都是懒惰的。OCaml是缺省非懒惰,但是在需要的时候支持懒惰的风格。 模式匹配 模式匹配不是什么新特性。事实上它和函数式编程的关系不大。为什么总是把它当做函数式编程的一个特性呢?这是因为函数式语言已经支持模式匹配一段时间了,而现代命令式语言还不行。 用一个例子来进一步了解模式匹配。下面是Java实现的斐波那契函数: int fib(int n) { if(n == 0) return 1; if(n == 1) return 1; return fib(n - 2) + fib(n - 1); } 如果用我们上文构造的并且支持模式匹配的Java来写,实现如下 int fib(0) { return 1; } int fib(1) { return 1; } int fib(int n) { return fib(n - 2) + fib(n - 1); } 两者有什么区别?编译器为我们实现了分支。
阅读全文 »

Activiti Designer开发环境配置

时间: 2015-03-27   |   分类: workflow     |   阅读: 185 字 ~1分钟
Download eclipse-modeling-juno-SR2-win32-x86_64.zip,eclipse-rcp-juno-SR2-win32-x86_64.zip and extract to the sameeclipse folder Use Eclipse juno instead of kepler which can easily consume your day!!! Add Eclipse Graphiti SDK 0.10.1 from update site http://archive.eclipse.org/graphiti/updates/0.10.1/ Add the following location as source code repository: https://github.com/Activiti/Activiti-Designer Import Maven project - Activiti Designer Open a console and navigate to the directory of your Eclipseworkspace and then into the org.activiti.designer.parent directory,which is of course the directory of the project with the same name.
阅读全文 »

[OpenUI5] set required field in form element

时间: 2015-03-19   |   分类: FrontEnd     |   阅读: 61 字 ~1分钟
对FormElement中的sap.m.Input设置了required属性,但是界面上的标签并没有显示星号*。 new FormElement({ label: "name", fields: [ new sap.m.Input({ id: sFormId+"-name", type: sap.m.InputType.Text, value: "{/name}", required: true, layoutData: new GridData({span: "L3 M5 S6"}) }) ] }) 通过阅读Q: UI5 Setting field as required得知,需要对label属性赋值一个带有required为true的Label控件。 new FormElement({ label: new sap.m.Label({ text:"name", required:true }), fields: [ new sap.m.Input({ id: sFormId+"-name", type: sap.m.InputType.Text, value: "{/name}", required: true, layoutData: new GridData({span: "L3 M5 S6"}) }) ] })
31 32 33 34 35 36 37 38 39

Programmer & Architect

662 日志
27 分类
1472 标签
RSS 订阅
GitHub Twitter FB Page
© 2009 - 2023 Mryqu's Notes
Powered by - Hugo v0.120.4
Theme by - NexT
0%