2017-05-09 Eric Wang
Maven预设变量 使用过Maven的人应该都知道,我们在Maven项目中添加依赖的一般性做法。就是打开pom.xml文件,在节点下添加 xml org.apache.lucene lucene-core 5.5.0 包含坐标和版本号的内容,那么在Java类文件中,就可以引用Lucene包中的各种类了。但是要注意一点,这里面的版本号是以硬编码的形式存在,作为一个合格的软件开发者,要尽量在你的代码中避免硬编码的情况。为什么呢?比如我需要依赖其它的Lucene模块,那么pom.xml中添加内容如下: xml org.apache.lucene lucene-analyzers-commo 继续阅读 »
2017-08-25 Lanffy
PHP
在记MAC OS X 编译安装PHP7.0.16 中遇到的异常情况一文中,介绍了编译PHP7源码安装PHP的方式,其中的第四个步骤,命令如下: 继续阅读 »
2014-04-25 Xiaosong Gao
说明 类别名可以随便取。 类别是一个类,它是添加了新功能的现有类。 使用类别就是为了能够为现有类添加新的方法,不用继承该现有类,就可使用现有类的对象调用添加的方法了。 类别可以使类的实现分散在多个文件中。 类别中不能有变量,类别中没有放变量的位置。 如果类中的方法和类别中的方法名称相同,这将造成冲突,类别的方法将完全取代类的方法。 同一个类的不同类别声明了相同的方法,这将导致不稳定,哪个方法会被调用是不确定的。 不建议在类别中覆盖类中的方法,因为在类别中的方法不能调用superClass的方法(因为没有元数据支持)。 类别方法不能覆盖于同一个类的其它类别中的方法。因为无法预知他们的加载优先顺序,就可能在编译时出错。 对类库的类别方 继续阅读 »
2014-10-02 Lingxian Kong
本篇是纯粹的技术贴,废话不多说。 OpenStack Version: Juno stable 2014.2 消息处理 这里说的消息处理,不光指处理消息请求,也处理消息响应。Nova中对消息的过滤配置,都在api-paste.ini中: 图中如keystone一行中,就定义了消息处理的不同的filter,比如compute_req_id就是给收到的每条消息定义一个id号,标识消息的整个处理流程,也便于错误定位;再比如ratelimit限制了某个用户对某个资源操作的频率,防止对系统的恶意攻击;如果你要增加对消息的处理环节,很简单,找到比如compute_req_id这个filter的处理代码(也多看看其他filter), 继续阅读 »
2016-06-09 ruki
import的主要用于导入xmake的扩展类库以及一些自定义的类库模块,一般用于 自定义脚本(on_build, on_run ..)、插件开发、模板开发、平台扩展、自定义任务task等地方。 导入机制如下: 优先从当前脚本目录下导入 再从扩展类库中导入 导入的语法规则: 基于.的类库路径规则,例如: 导入core核心扩展模块 ```lua import("core.base.option") import("core.project") import("core.project.task") import("core") function main() -- 获取参数选项 继续阅读 »
2017-09-28 ruki
本文主要介绍下xmake的整体架构设计,以及源码结构的布局和模块划分。 如果你想深度使用xmake,开发xmake插件、工程自定义脚本或者想为xmake贡献一些代码和特性,可以通过此本的介绍,对xmake项目整体有个大概的了解。, 源码地址:Github 顶层目录结构 bash ./xmake/ ├── actions # 内建的一些基础task,用于基本的构建安装等操作 ├── core # xmake的核心模块,提供最底层的实现支持 ├── languages # 所有的语言相关特性支持和扩展,都在此目录下 ├── modules # 内置的扩展模块,可用`import`导入使用 ├── pack 继续阅读 »
2016-03-10 demon7452
Java学习笔记-Object类 Note:参阅书籍《Core Java,Volume I:Fundamentals》 Object类的说明 Object类是Java中所有类的最终祖先,在Java中每个类都是由它扩展而来; 如果没有明确的指出超类,Object就被认为是这个类的超类。class A extends Object是不必要的; 可以使用Object类型的变量引用任何类型的对象,Object obj = new A(); 在Java中,只有基本类型(primitive types)不是对象,例如:数值、字符和布尔类型的值都不是对象。所有的数组类型,不管是对象数组还是基本类型的数组都扩展于Object类。 继续阅读 »
2014-04-03 Lingxian Kong
本文主要讲AutoScaling,关于CloudFormation和Heat,之前的博客已经有讲过,本文不做赘述。 AutoScaling in AWS AutoScaling的概念最早出现在AWS,Auto Scaling 是一项 Web 服务,旨在根据用户定义的策略、时间表和运行状况检查启动或终止 EC2 实例。在典型的商业场景中,在 Web 应用程序开始获得更多流量时,您将添加更多的服务器或增加现有服务器的大小来应对额外负载。同样,当 Web 应用程序的流量开始减少时,您将终止未充分利用的服务器,或者减少现有服务器的大小。根据您的基础设施,每次进行垂直扩展时可能都会涉及更改服务器配置。如果使用水平扩展,您仅需根据应用程序的 继续阅读 »
2016-06-09 ruki
源码 更新内容 此版本重构了90%的代码 新特性 增加task任务机制,可运行自定义任务脚本 实现plugin扩展机制,可以很方便扩展实现自定义插件,目前已实现的一些内置插件 增加project文件导出插件(目前已支持makefile的生成,后续会支持:vs, xcode等工程的生成) 增加hello xmake插件(插件demo) 增加doxygen文档生成插件 增加自定义宏脚本插件(支持动态宏记录、宏回放、匿名宏、批量导入、导出等功能) 增加更多的类库用于插件化开发 实现异常捕获机制,简化上层调用逻辑 增加多个option进行宏绑定,实现配置一个参数,就可以同时对多个配置进行生效 增加显示全局构建进度 继续阅读 »
2017-08-05 ruki
此版本带来了大量新特性更新,具体详见:xmake v2.1.5版本新特性介绍。 更多使用说明,请阅读:文档手册。 项目源码:Github, Gitee. 新特性 #83: 添加 add_csnippet,add_cxxsnippet到option来检测一些编译器特性 #83: 添加用户扩展模块去探测程序,库文件以及其他主机环境 添加find_program, find_file, find_library, find_tool和find_package 等模块接口 添加net.*和devel.*扩展模块 添加val()接口去获取内置变量,例如:val("host"), val("env PATH"), val("shell 继续阅读 »