Velocity的能力远不止web站点开发这个领域,例如,它可以从模板(Template)产生SQL和PostScript、XML,
它也 可以被 当 作一个独立工具来产生源代码和报告,或者作为其他系统的集成组件使用。Velocity也可以为Turbine
Web开发架 构提供模板服 务 ( Template Service )。Velocity+Turbine提供一个模板服务的方式允许一个web应用以一个
真正的MVC模型 进行开发。
Velocity Template Language(VTL)
VTL使用 References 来在Web Site内嵌套动态内容,一个变量就是References的一种类型 。
VTL使用 Directives 来控制要显示的Java代码逻辑。
下面是一个VTL Statement的例子,它可以被嵌套到HTML代码中:
#set ( $a = “Velocity” );
和所有的VTL Statement一样,这个Statement以#字符开始 ,当一个在线用户请求页面时,Velocity
Templating Engine 将查询当前整个页面以便发现所有#字符,然后确定哪些是VTL Statement,哪些不需要VTL
作任何事情。
和其他References一样以$字符开始 ,而值总是以双引号封闭。Velocity中仅有String可以被赋值给变量 。
记住以下的规则:
使用$字符开始的References用于得到什么;使用#字符开始的Directives用于做些什么。
一旦某个变量被分配了一个值,那么你就可以在HTML文件的任何地方引用它。
为使包含VTL Directives的Statement更具可读性,尽量在新行开始每个VTL Statement,尽管不是必须这么作。
注释
单行注释: ## This is a single line comment. 多行注释: #* Thus begins a multi-line comment.
Online visitors won’t see this text because the Velocity Templating Engine will ignore it. *# 文档格式: #** This is a VTL comment block and may be used to store such information as the document author
and versioning information @version 5 @author *#
References
在VTL中有三种类型的References:变量(Variables)、属性(Properties)、方法(Methods) 。
前面提到Velocity中仅有String可以被赋值给变量,如果有一个对象$foo是一个Integer对象,那么Velocity将调
用 它的 toString()方法将这个对象转型为String类型,然后将其进行赋值。
(一)变量 格式同Java
(二)属性
例如 $customer.Address:
(1)查找Map对象customer中以address为Key的值;
(2)也可以表示调用customer对象的getAddress()方法。
当页面被请求时,Velocity将确定以上两种方式选用哪种,然后返回适当的值。
(三)方法 是一个由$开始 并跟随VTL标识符组成的References,一般还包括一个VTL方法体,如:
$person.setAttributes( [“Strange”, “Weird”, “Excited”] )
VTL属性可以作为VTL方法的缩写:
$customer.getAddress()与$customer.Address效果相同,不同点在于 能否指定一个参数列表 。
$data.getUser(“jon”) ## is the same as $data.User(“jon”) $data.getRequest().getServerName() ## is the same as $data.Request.ServerName ## is the same as ${data.Request.ServerName}
注意:VTL中不会将Reference解释为对象实例变量。 例如:$foo.Name将被解释为Foo对象的getName()
方法, 而不是Foo对象的Name实例变量。
References的正式格式 表达如下: ${ mudSlinger } 变量 ${ customer.Address } 属性 ${ purchase.getTotal() } 方法
Quiet reference notation
VTL支持静态引用符$! ,以避免呈现不存在的或者空的引用。
例如:
当页面表单被初始加载时,变量$email还没有值,这时需要能够显示一个空白文本来代替输出"$email"字符
串。 此时使用静态引用符$!比较合适:
##正式格式:
这样文本框的初始值就不会是email而是空值。
字面量
货币字符$:
在VTL中使用$2.5这样的货币标识能被正常识别,因为VTL中的Reference以一个大写或者小写的字母开始 。
转义(逃逸)字符"\":
例如:#set( $email = “foo” )
$email ——> foo \$email ——> $email \\$email ——> \foo \\\$email ——> \\$email
注意:VTL中未被定义的变量将被认为是一个字符串(即转义前后都相同)。
Directives
前面提到,使用$字符开始的References用于得到什么;使用#字符开始的Directives用于做些什么。
例如#字符后紧跟一个Directive:set 时,表达式使用括号封闭,其中将一个值赋值给变量。变量被列在左
边(LHS), 而值被 列在右边(RHS)。
LHS 必须是一个变量或者属性Reference。
RHS 可以是 References(变量、属性、方法)、String、Number、ArrayList、加减乘除算术表达式。
##ArrayList
#set ($monkey.Say = [“Not”, $my, “fault”])
##取值方法:
$monkey.Say.get(0)
注意:
(1)RHS是一个 null 时,VTL的处理将比较特殊:它将指向一个已经存在的 Reference。
#set ( $resut = $query.criteria(“name”))
The result of the first query is $result
#set ( $resut = $query.criteria(“address”))
The result of the second query is $result
## 如果$query.criteria(“name”)返回一个“bill”,
##而$query.criteria(“address”)返回的是null,
##则显示的结果如下:
The result of the first query is bill
The result of the second query is bill
由此延伸出的情况:
#set( $criteria = ["name", "address"])
#foreach( $criterion in $criteria )
#set( $result = $query.criteria($criterion))
#if($result)
Query was successful
#end
#end
## 在循环时第二次循环结果为false时,
## 此时程序将不能智能的根据 $result 值决定查询是否成功。在 $result 被#set后
##(added to the context),它不能被设置回null(removed from the context)。
## 打印的结果将显示两次查询结果都成功,但是实际上有一个查询失败。
解决方案:采用预先定义的方式
#set( $criteria = ["name", "address"])
#foreach( $criterion in $criteria )
#set( $result = false )
#set( $result = $query.criteria($criterion))
#if($result)
Query was successful
#end
#end
(2)单引号与双引号
变量或字符串封闭在双引号内能被正常解析,封闭在单引号内时将不被正常解析:
#set ($foo = “bar”)
$foo # bar
#set ($blar = ‘$foo’)
$blar # $foo
本特性可以通过修改velocity.properties文件来改变上面的特性是否有效:
设置 stringliterals.interpolate = false 即可。
#if/#elseif/#else条件语句 `
#if ($foo)
Velocity!
#end
在以下两种条件下成立:
(1) $foo 是一个boolean型的变量,且它的值为true
(2) $foo变量的值不为null
#if( $foo < 10 )
Go North
#elseif( $foo == 10 )
Go East
#elseif( $foo == 6 )
Go South
#else
Go West
#end
由于 Velocity Context仅仅能够包含对象,所以此处的数字或boolean等基本类型数据皆通过内省机制转成对应的包装类对象,
此外与Java不同的是,用“==”来比较两个是否相等,并且要求等号两边的值类型相同。
AND、OR和NOT逻辑运算符
AND ——> &&
OR ——> ||
NOT ——> !
Foreach循环
#foreach ($product in $allProducts)
$product
#end
## 每次循环$allProducts中的一个值都会赋给$product变量。$allProducts可以是一个Vector、Hashtable或者Array。
## 分配给$product的值是一个Java对象,并且可以通过变量被引用。例如:如果$product是一个Java的Product类,
## 并且这个Product的名字可以通过调用他的getName()方法得到。
如果$allProducts是一个Hashtable:
#foreach ($key in $allProducts.keySet())
Key: $key -> Value: $allProducts.get($key)
$velocityCount
#end
其中$velocityCount代表循环次数,是Velocity默认的名字,可以通过修改velocity.properties文件来设置;
默认情况下,计数从“1”开始,可以在velocity.properties设置从“1”还是从“0”开始:
directive.foreach.counter.name = velocityCount directive.foreach.counter.initial.value = 1
#include 1. 引入本地文件(不包含VTL);
2. 文件内容不经过template engine处理;
3. 出于安全性的考虑,引入的文件只能位于TEMPLATE_ROOT目录下;
4. 引入多个文件,可以用逗号分隔,括号内可以是文件名,但是更多的时候是使用变量。
#parse
1. 引入本地文件(包含VTL);
2. 引入的文件只能位于TEMPLATE_ROOT目录下 ;
3. 文件内容经过template engine处理;
4. 括号内只能引入单个文件;
5. 可以通过修改velocity.properties文件parse_direcive.maxdepth的值来控制一个模板包含的最多#parse的个
数( 默认值是10 )。
6. 支持递归调用,将引入的本地文件解析并执行。
#stop
停止执行模板引擎并返回,应用于Debug。
#macro
定义一段可重用的VTL。
#macro ( d )
#end
上述Velocimacro被定义为d,可以用如下方式调用它: #d()
被调用时,Velocity将用 替换为#d()。
每个Velocimacro可以拥有任意数量的参数――甚至0个参数,虽然定义时参数可以随意设置,
但是调用这个Velocimacro时必须指定正确的参数:
#macro ( tablerows $color $somelist )
#foreach ( $something in $somelist )
$something
#end
#end
#set ($greatlakes = [ “Superior”, “Michigan”, “Huron”, “Erie”, “Ontario” ])
#set ( $color = “blue” )
#tablerows( $color $greatlakes )
结果显示如下:
Superior
Michigan
Huron
Erie
Ontario
Velocimacros可以在Velocity模板内实现行内定义(inline),也就意味着和同一个Web Site内的其他Velocity
模板 不可以共享此定义。
而定义一个被所有模板共享的Velocimacro,则可以定义在一个Velocimacros模板库(模板库在
velocity.properties 中定义):
velocimacro.library=VM_global_library.vm
( 默认情况下velocity查找唯一的一个库 ,可以通过配置这个属性来指定自己的模板库,多个模板库用逗号隔开 )
Velocimacro 参数
可以是 References(变量、属性、方法)、String、Number、ArrayList、boolean值。
注意: 当References作为参数传递给Velocimacro时,是以名字的形式传递的。也意味着参数的值在每次
Velocimacro内执行时才会被产生。所以可以将一个方法调用作为参数 (实际传入的是方法名) 传递给Velocimacro,
而每次Velocimacro执行时该方法都会调用并产生不同的值 ,例如:
#macro (callme $a)
$a $a $a
#end
#callme($foo.bar())
执行的结果是:Reference $foo的bar()方法被执行三次。
如果不需要该特性可以通过以下方法:
#set ($myval = $foo.bar())
#callme ($myval)
velocity.properties中 常用属性配置:
#模板编码:
input.encoding=ISO-8859-1 //模板输入编码
output.encoding=ISO-8859-1 //模板输出编码
#foreach配置
directive.foreach.counter.name = velocityCount //计数器名称
directive.foreach.counter.initial.value = 1 //计数器初始值
directive.foreach.maxloops = -1 //最大循环次数,-1为默认不限制directive.foreach.iterator.name = velocityHasNex //迭代器名称
#set配置
directive.set.null.allowed = false //是否可设置空值
#include配置
directive.include.output.errormsg.start = //错误信息提示结束字符串
#parse配置
directive.parse.max.depth = 10 //解析深度
模板加载器配置
resource.loader = file //模板加载器类型,默认为文件,可定义多个
file.resource.loader.description = Velocity File Resource Loader //加载器描述
file.resource.loader.class = Velocity.Runtime.Resource.Loader.FileResourceLoader //加载器类名称
file.resource.loader.path = . //模板路径
file.resource.loader.cache = false //是否启用模板缓存
file.resource.loader.modificationCheckInterval = 2 //检查模板更改时间间隔
宏配置
velocimacro.permissions.allow.inline = true //是否可以行内定义
velocimacro.permissions.allow.inline.to.replace.global = false //是否可以用行内定义代替全局定义
velocimacro.permissions.allow.inline.local.scope = false //行内定义是否只用于局部
velocimacro.context.localscope = false //宏上下文是否只用于局部 任何在Velocimacro内通过#set()对context的修改被认为是针对此velocimacro的本地设置,而不会永久的影响内容。
velocimacro.max.depth = 20 //解析深度
velocimacro.arguments.strict = false //宏参数是否启用严格模式
velocimacro.library.autoreload=false // 控制Velocimacro库是否自动加载。当设置为ture时,对于一个Velocimacro的调用将自动检查原始库是否发生了变化,如果变化将重新加载它。这个属性使得你可以不用重新启动servlet容器而达到重新加载的效果,使用的前提就是resource loader缓存是off状态(file.resource.loader.cache = false)。
资源管理器配置
resource.manager.class = Velocity.Runtime.Resource.ResourceManagerImpl //管理器类名称
resource.manager.cache.class = Velocity.Runtime.Resource.ResourceCacheImpl //缓存器类名称
解析器池配置
parser.pool.class = Velocity.Runtime.ParserPoolImpl //解析池类名称
parser.pool.size = 40 //初始大小
Evaluate配置
directive.evaluate.context.class = Velocity.VelocityContext //上下问类名称
可插入introspector配置
runtime.introspector.uberspect = Velocity.Util.Introspection.UberspectImpl //默认introspector类名称
你可能感兴趣的:(Velocity)
【算法练习】IDEA集成leetcode插件实现快速刷
2401_84102892
2024年程序员学习 算法 intellij-idea leetcode
============点击右侧边leetcode->设置->配置地址、用户名、密码、存放目录、文件模板用户名要登录后在账号信息里看模板代码1.codefilename!velocityTool.camelC
根据xml模板导出excel
weixin_44877172
Java xml excel
依赖5.2.3org.apache.poipoi${poi.version}org.apache.poipoi-ooxml${poi.version}org.apache.poipoi-ooxml-lite${poi.version}org.apache.poipoi-scratchpad${poi.version}2.3org.apache.velocityvelocity-engine-cor
一种用于航天器姿态跟踪的新型角速度观测器(三)
beegreen
控制与信号处理 动态规划 数学建模
一种用于航天器姿态跟踪的新型角速度观测器(三)AnewangularvelocityobserverforattitudetrackingofspacecraftISATransactions130(2022)377–388DOI:10.1016/j.isatra.2022.03.025摘要:本文提出了一种基于收缩分析的新型航天器姿态跟踪角速度观测器。观测器在惯性参考系中通过估计惯性角动量来设计,
山东大学大数据管理与分析知识点总结
weixin_51565263
云计算 大数据 mapreduce 数据仓库
大数据概述大数据(bigdata),或称巨量资料,指的是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产大数据指不用随机分析法(抽样调查)这样的捷径,而采用所有数据进行分析处理大数据四个本质特征大量化(volume),快速化(velocity),多样化(variety),价值化(value);四个VVolume—数量大:数据每两年就增长一倍(大数据摩尔
大数据与AI:驱动未来智能社会的双引擎
yuhaoteng666
大数据 人工智能 智能社会 未来趋势 应用案例
一、大数据:AI的“燃料”二、AI:大数据的“引擎”三、大数据与AI的融合应用1.医疗健康:2.教育科技:3.智慧城市:4.智能制造:四、未来趋势与挑战结语一、大数据:AI的“燃料”大数据,指的是无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合。它具有“4V”特征:Volume(大量)、Velocity(高速)、Variety(多样)、Value(价值)。在AI领域,大数据为机器学
git基于idea的.gitignore文件内容,直接用就行
小白菜儿929
java git java
在gitee中直接生成的.gitignore文件不好用,没有对idea生成文件的忽略。分享一个可用.gitignore文件*.class*.log*.lock#packagefiles#*.jar*.war*.eartarget/#idea.idea/*.iml*velocity.log*###STS###.apt_generated.factorypath.springBeans###Intel
SpringBoot整合MyBatis-Plus代码生成器(新)
Java界第一深情
spring boot mybatis 后端
1.添加依赖坐标com.baomidoumybatis-plus-generator3.5.1org.apache.velocityvelocity-engine-core2.32.创建一个Generator类,并在该类的主方法中配置代码信息packagecom.example.generator;importcom.baomidou.mybatisplus.annotation.IdType;i
redis(二) NoSql入门和概述(中)
21号新秀_邓肯
2.3V+3高2.1)大数据时代的3V海量Volume多样Variety实时Velocity2.2)互联网需求的3高高并发高可扩高性能3.当下的NoSql经典应用3.1)当下的应用是sql和nosql一起使用3.2)阿里巴巴中文站商品信息如何存放3.2.1看看阿里巴巴中文网站首页以女装/女包包为例3.2.1.1架构发展历程1.演变过程image.png2.第五代image.png3.第五代架构使命
【Java】电子凭证-Java生成PDF
hkk666123
Java HTML 转 PDF htmlTOPDF
文章目录背景实现思路技术方案图TemplateEngines(模板引擎)`Thymeleaf``ApacheFreemarker``GroovyTemplates``velocity``HTMLTOPDF`技术各实现对比表WKhtmlTOpdfiTextPhantomJS技术核心:HTML生成PDF背景在某些业务场景中,需要提供相关的电子凭证,比如网银/支付宝中转账的电子回单,签约的电子合同等。方
java web 前端开发框架和流程
韩大帅666
前端 前端
1通常JavaWeb开发框架举个例子,对于广告系统的来说,我们先不管一些job,CACHE,config...这些优化,些框架和分层可以是这样的,MVC的技术选型:V:FreeMarkervsJSP/VelocityC:SpringMVCvsStruts/WebworkM:SPRING/JPA/HibernatevsiBatis2前端V的架构前端开发刚兴起的阶段,前端开发人员的工作经常穿插在后端开
面试:大数据和深度学习之间的关系是什么?
华农DrLai
大数据 深度学习 人工智能 机器学习
大数据与深度学习之间存在着紧密的相互关系,它们在当今技术发展中相辅相成。大数据的定义与特点:大数据指的是规模(数据量)、多样性(数据类型)和速度(数据生成及处理速度)都超出了传统数据处理软件和硬件能力范围的数据集。它具有四个主要特点,通常被称为4V:Volume(体量)、Velocity(速度)Variety(多样性)和Veracity(真实性)深度学习的概念深度学习是机器学习的一个子领域,它模拟
【激光SLAM】激光雷达数学模型和运动畸变去除
趴抖
激光SLAM SLAM 激光SLAM
目录概念介绍激光雷达传感器介绍测距原理三角测距飞行时间(TOF)激光雷达数学模型介绍光束模型(beammodel)似然场模型(likelihoodmodel)运动畸变介绍畸变去除纯估计方法(ICPVariants)ICP方法VICP(VelocityestimationICP)里程计辅助方法概念介绍激光雷达传感器介绍测距原理三角测距特点:中近距离精度较高,距离越近,精度越高价格便宜远距离精度较差易
使用python模拟流体力学N-S方程
环能jvav大师
python 开发语言
importmatplotlib.pyplotaspltimportnumpyasnpfromtqdmimporttqdmN_POINTS=41DOMAIN_SIZE=1.0N_ITERATONS=500TIME_STEP_LENGTH=0.001KINEMATIC_VISCOSITY=0.1DENSITY=1.0HORIZONTAL_VELOCITY_TOP=1.0N_PRESSURE_POIS
MP:java.lang.NoClassDefFoundError: org/apache/velocity/context/Context
TODOcode
搜狗截图20220117204725.png原因是缺少了依赖,解决方案如下:org.apache.velocityvelocity-engine-core2.0
速度规划:s形曲线应用(变速 停车)opencv c++显示(3)
大风吹~~~~~
速度规划 opencv c++ 人工智能 速度规划研究
理论篇先看该篇,这里沿用了里面的变量。应用推导篇分为变速和停车两部分(字迹潦草,可结合代码看)代码篇变速函数入口:velocityPlannervp;vp.SetParameters(0,1);停车函数入口:ParkingVelocityPlannervp;vp.SetDistance(1,0.4);头文件:SpeedPlan.h#ifndefSPEEDPLAN_H#defineSPEEDPLAN
mybatis-plus代码生成器(文章最后给出了官方参考文档)
网恋褙骗八万
Mybatis mybatis java 后端
目录1、引入依赖2、demo示例3、总结1、引入依赖此时引入了mybatis-plus的相关依赖和mysql数据库依赖3.0.52.08.0.18com.baomidoumybatis-plus-boot-starter${mybatis-plus.version}org.apache.velocityvelocity-engine-core${velocity.version}mysqlmysq
ITSM 全球巡演精彩回顾(一)
Atlassian
“对于那些时刻准备好要摇滚起来的(团队),我们向你们致敬。”这些可能不是AC/DC1981年热门歌曲的准确歌词,但它们确实符合11月10日Atlassian首次以ITSM为中心的虚拟会议的主题。HighVelocity:ITSMWorldTour是一场以音乐会为主题的活动,由“詹姆斯·科登深夜秀”(TheLate,LateShowwithJamesCorden)的音乐家和喜剧演员雷吉·瓦茨(Reg
java批量导出pdf文件_java导出pdf文件
我解决我的问题
java批量导出pdf文件
项目中导出pdf文件,需要3个jar包iText-2.1.7.jar,iTextAsian.jar,ReportExprotPlug0.1.jar。ReportInfoinfo=newReportInfo(ReportType.PDF,"pdf.pdf");//文件格式和文件名VelocityContextvc=newVelocityContext();//velocity模版vc.put("cl
代码生成器:使用 MyBatis-Plus Generator 进行代码生成
小何干Java
mybatis java tomcat
依赖导入:生成器com.baomidoumybatis-plus-generator3.4.1模版引擎:Velocity用作模板引擎,根据预定义的模板和传入的参数,生成最终的代码文件。org.apache.velocityvelocity-engine-core2.3provided生成器相当于你使用电脑更改你的打印文档,而模板引擎就好比打印机将你写好的代码模版打印出来,生成你的实体类entity
代码生成器(新):mybatis-plus-generator使用指南
ChinaDragonDreamer
# Java知识点 mybatis java
代码生成器(新)官网后端代码:点击查看LearnElementUiAndSpringBoot提醒:LearnElementUiAndSpringBoot下载完后,在运行调试Main.java里的main方法之前,除了utils包和Main.java文件,其他包需要先删除,否则会看不出自动生成的代码快速入门一、pom.xml添加依赖org.apache.velocityvelocity-engine
IDC和云计算是一样的吗?
牛二狗
首先,IDC和云计算是不同的。IDC是互联网数据中心,简称IDC机房。它是用来存放服务器的地方,也就是实体服务器的集群。它为ICP、企业、媒体和各类网站提供大规模、高质量、安全可靠的专业化服务器托管、空间租用、网络批发带宽以及ASP、EC等业务。IDC定义了大数据的四大特征——海量的数据规模(volume)、快速的数据流转和动态的数据体系(velocity)、多样的数据类型(variety)和巨大
Unity根据落点和抛物线运行时间,求初始力
ysn11111
unity 游戏引擎
抛物线运行时长为2秒:抛物线运行时长为4秒:原理就是:在竖直方向只受重力,做匀加速直线运动,水平不受力,做匀速直线运动。代码:publicvoidUpdate(){if(Input.GetKeyDown(KeyCode.Space)){Vector3moveDir=GetMoveDir(endTrans,moveTime);//ForceMode.VelocityChange代表着施加的力和速度大
解决老项目jecgg项目启动时报无法初始化velocity
枣泥馅
tomcat java
报错内容:org.apache.catalina.core.StandardContextlistenerStart严重:异常将上下文初始化事件发送到类的侦听器实例.[org.jeecgframework.web.system.listener.OnlineListener]org.springframework.beans.factory.BeanCreationException:Errorc
问题:Unity粒子系统(Particle System)移动时发射粒子(RateOverDistance)不起效
全新的饭
问题期望在人物移动时生成粒子,停止移动时不再生成期望的效果.gif查到Unity的粒子系统(ParticleSystem)中有属性RateOverDistance:根据移动距离发射粒子,不移动时不发射。恰好可满足当前需求实际使用时发现,不管怎么移动都不发射粒子,但RateOverTime(随时间推移发射粒子)的功能是正常的解决方案粒子系统有一属性:EmitterVelocity,它有2种模式Tra
漏洞分析|Atlassian Confluence 远程代码执行漏洞(CVE-2023-22527)
AttackSatelliteLab
atlassian 安全
1.漏洞描述AtlassianConfluence是一款由Atlassian开发的企业团队协作和知识管理软件,提供了一个集中化的平台,用于创建、组织和共享团队的文档、知识库、项目计划和协作内容。AtlassianConfluence的/template/aui/text-inline.vm接口处存在velocity模板注入,未经身份验证的攻击者可利用此漏洞构造恶意请求远程代码执行,可导致服务器失陷
大数据-Hadoop概论
Mr.史
Hadoop hadoop 大数据
文章目录大数据概论1、大数据概念2、大数据特点1、Volume(大量)2、Velocity(高速)3、Variety(多样)4、Value(低价值密度)3、大数据应用场景4、大数据部门业务流程分析5、大数据部门组织机构Hadoop1、Hadoop是什么?2、Hadoop发展史3、Hadoop三大发行版本1、ApacheHadoop2、ClouderaHadoop3、HortonworksHadoo
unity2D:角色左右移动、跳跃
Karon_NeverAlone
unity2D unity
移动1.获取左右移动信息Input.GetAxis("Horizontal");//返回值为-1~1Input.GetAxisRaw("Horizontal");//返回值为-1、0、12.修改刚体的velocity,如果是水平移动就修改x轴,相对应的,如果是前后移动就修改y轴_myrb.velocity=newVector2(_myhorizontalmove*Speed*Time.deltaT
Unity2D_角色移动&跳跃
Rainbow_1991
Unity2D unity
水平移动Rigidbody2D使用Unity自带的刚体组件,通过修改刚体物品中Rigidbody2D的属性velocity速度来实现物体移动声明Rigidbody2D属性,以及角色移动速度publicfloatplayerSpeed=5f;privateRigidbody2Drigidbody2D;在Start方法中将rigidbody2D绑定上物体的对应组件voidStart(){rigidbo
大数据处理技术考试题库(自主整理)
不会写代码!!
题库 人工智能 hadoop
解释大数据?((4V特性))大量、多样、高速、价值密度低(展开论述)(1)数据量大(Volume):大数据的起始计量单位至少是P(1000个T)、E(100万个T)或Z(10亿个T)。(2)类型繁多(Variety):有大量的结构化和非结构化数据(3)价值密度低(Value):信息感知无处不在,存在信息海量,但价值密度较低。(4)时效高(Velocity):从数据生成到消耗的时间窗口非常少,可用于
.NET平台常用的框架整理
走在路上的霍纳奇思
asp net core 学习之旅 .net asp.net 后端
.NET平台常用的框架整理分布式缓存框架MicrosoftVelocity:微软自家分布式缓存服务框架。Memcahed:一套分布式的高速缓存系统,目前被许多网站使用以提升网站的访问速度。Redis:是一个高性能的KV数据库。它的出现很大程度补偿了Memcached在某些方面的不足。EnyimMemcached:访问Memcached最优秀的.NET客户端,集成不错的分布式均衡算法。CacheMa
分享100个最新免费的高匿HTTP代理IP
mcj8089
代理IP 代理服务器 匿名代理 免费代理IP 最新代理IP
推荐两个代理IP网站:
1. 全网代理IP:http://proxy.goubanjia.com/
2. 敲代码免费IP:http://ip.qiaodm.com/
120.198.243.130:80,中国/广东省
58.251.78.71:8088,中国/广东省
183.207.228.22:83,中国/
mysql高级特性之数据分区
annan211
java 数据结构 mongodb 分区 mysql
mysql高级特性
1 以存储引擎的角度分析,分区表和物理表没有区别。是按照一定的规则将数据分别存储的逻辑设计。器底层是由多个物理字表组成。
2 分区的原理
分区表由多个相关的底层表实现,这些底层表也是由句柄对象表示,所以我们可以直接访问各个分区。存储引擎管理分区的各个底层
表和管理普通表一样(所有底层表都必须使用相同的存储引擎),分区表的索引只是
JS采用正则表达式简单获取URL地址栏参数
chiangfai
js 地址栏参数获取
GetUrlParam:function GetUrlParam(param){
var reg = new RegExp("(^|&)"+ param +"=([^&]*)(&|$)");
var r = window.location.search.substr(1).match(reg);
if(r!=null
怎样将数据表拷贝到powerdesigner (本地数据库表)
Array_06
powerDesigner
==================================================
1、打开PowerDesigner12,在菜单中按照如下方式进行操作
file->Reverse Engineer->DataBase
点击后,弹出 New Physical Data Model 的对话框
2、在General选项卡中
Model name:模板名字,自
logbackのhelloworld
飞翔的马甲
日志 logback
一、概述
1.日志是啥?
当我是个逗比的时候我是这么理解的:log.debug()代替了system.out.print();
当我项目工作时,以为是一堆得.log文件。
这两天项目发布新版本,比较轻松,决定好好地研究下日志以及logback。
传送门1:日志的作用与方法:
http://www.infoq.com/cn/articles/why-and-how-log
上面的作
新浪微博爬虫模拟登陆
随意而生
新浪微博
转载自:http://hi.baidu.com/erliang20088/item/251db4b040b8ce58ba0e1235
近来由于毕设需要,重新修改了新浪微博爬虫废了不少劲,希望下边的总结能够帮助后来的同学们。
现行版的模拟登陆与以前相比,最大的改动在于cookie获取时候的模拟url的请求
synchronized
香水浓
java thread
Java语言的关键字,可用来给对象和方法或者代码块加锁,当它锁定一个方法或者一个代码块的时候,同一时刻最多只有一个线程执行这段代码。当两个并发线程访问同一个对象object中的这个加锁同步代码块时,一个时间内只能有一个线程得到执行。另一个线程必须等待当前线程执行完这个代码块以后才能执行该代码块。然而,当一个线程访问object的一个加锁代码块时,另一个线程仍然
maven 简单实用教程
AdyZhang
maven
1. Maven介绍 1.1. 简介 java编写的用于构建系统的自动化工具。目前版本是2.0.9,注意maven2和maven1有很大区别,阅读第三方文档时需要区分版本。 1.2. Maven资源 见官方网站;The 5 minute test,官方简易入门文档;Getting Started Tutorial,官方入门文档;Build Coo
Android 通过 intent传值获得null
aijuans
android
我在通过intent 获得传递兑现过的时候报错,空指针,我是getMap方法进行传值,代码如下 1 2 3 4 5 6 7 8 9
public
void
getMap(View view){
Intent i =
apache 做代理 报如下错误:The proxy server received an invalid response from an upstream
baalwolf
response
网站配置是apache+tomcat,tomcat没有报错,apache报错是:
The proxy server received an invalid response from an upstream server. The proxy server could not handle the request GET /. Reason: Error reading fr
Tomcat6 内存和线程配置
BigBird2012
tomcat6
1、修改启动时内存参数、并指定JVM时区 (在windows server 2008 下时间少了8个小时)
在Tomcat上运行j2ee项目代码时,经常会出现内存溢出的情况,解决办法是在系统参数中增加系统参数:
window下, 在catalina.bat最前面
set JAVA_OPTS=-XX:PermSize=64M -XX:MaxPermSize=128m -Xms5
Karam与TDD
bijian1013
Karam TDD
一.TDD
测试驱动开发(Test-Driven Development,TDD)是一种敏捷(AGILE)开发方法论,它把开发流程倒转了过来,在进行代码实现之前,首先保证编写测试用例,从而用测试来驱动开发(而不是把测试作为一项验证工具来使用)。
TDD的原则很简单:
a.只有当某个
[Zookeeper学习笔记之七]Zookeeper源代码分析之Zookeeper.States
bit1129
zookeeper
public enum States {
CONNECTING, //Zookeeper服务器不可用,客户端处于尝试链接状态
ASSOCIATING, //???
CONNECTED, //链接建立,可以与Zookeeper服务器正常通信
CONNECTEDREADONLY, //处于只读状态的链接状态,只读模式可以在
【Scala十四】Scala核心八:闭包
bit1129
scala
Free variable A free variable of an expression is a variable that’s used inside the expression but not defined inside the expression. For instance, in the function literal expression (x: Int) => (x
android发送json并解析返回json
ronin47
android
package com.http.test;
import org.apache.http.HttpResponse;
import org.apache.http.HttpStatus;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import
一份IT实习生的总结
brotherlamp
PHP php资料 php教程 php培训 php视频
今天突然发现在不知不觉中自己已经实习了 3 个月了,现在可能不算是真正意义上的实习吧,因为现在自己才大三,在这边撸代码的同时还要考虑到学校的功课跟期末考试。让我震惊的是,我完全想不到在这 3 个月里我到底学到了什么,这是一件多么悲催的事情啊。同时我对我应该 get 到什么新技能也很迷茫。所以今晚还是总结下把,让自己在接下来的实习生活有更加明确的方向。最后感谢工作室给我们几个人这个机会让我们提前出来
据说是2012年10月人人网校招的一道笔试题-给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 将重物放到天平左侧,问在两边如何添加砝码
bylijinnan
java
public class ScalesBalance {
/**
* 题目:
* 给出一个重物重量为X,另外提供的小砝码重量分别为1,3,9。。。3^N。 (假设N无限大,但一种重量的砝码只有一个)
* 将重物放到天平左侧,问在两边如何添加砝码使两边平衡
*
* 分析:
* 三进制
* 我们约定括号表示里面的数是三进制,例如 47=(1202
dom4j最常用最简单的方法
chiangfai
dom4j
要使用dom4j读写XML文档,需要先下载dom4j包,dom4j官方网站在 http://www.dom4j.org/目前最新dom4j包下载地址:http://nchc.dl.sourceforge.net/sourceforge/dom4j/dom4j-1.6.1.zip
解开后有两个包,仅操作XML文档的话把dom4j-1.6.1.jar加入工程就可以了,如果需要使用XPath的话还需要
简单HBase笔记
chenchao051
hbase
一、Client-side write buffer 客户端缓存请求 描述:可以缓存客户端的请求,以此来减少RPC的次数,但是缓存只是被存在一个ArrayList中,所以多线程访问时不安全的。 可以使用getWriteBuffer()方法来取得客户端缓存中的数据。 默认关闭。 二、Scan的Caching 描述: next( )方法请求一行就要使用一次RPC,即使
mysqldump导出时出现when doing LOCK TABLES
daizj
mysql mysqdump 导数据
执行 mysqldump -uxxx -pxxx -hxxx -Pxxxx database tablename > tablename.sql
导出表时,会报
mysqldump: Got error: 1044: Access denied for user 'xxx'@'xxx' to database 'xxx' when doing LOCK TABLES
解决
CSS渲染原理
dcj3sjt126com
Web
从事Web前端开发的人都与CSS打交道很多,有的人也许不知道css是怎么去工作的,写出来的css浏览器是怎么样去解析的呢?当这个成为我们提高css水平的一个瓶颈时,是否应该多了解一下呢?
一、浏览器的发展与CSS
《阿甘正传》台词
dcj3sjt126com
Part Ⅰ:
《阿甘正传》Forrest Gump经典中英文对白
Forrest: Hello! My names Forrest. Forrest Gump. You wanna Chocolate? I could eat about a million and a half othese. My momma always said life was like a box ochocol
Java处理JSON
dyy_gusi
json
Json在数据传输中很好用,原因是JSON 比 XML 更小、更快,更易解析。
在Java程序中,如何使用处理JSON,现在有很多工具可以处理,比较流行常用的是google的gson和alibaba的fastjson,具体使用如下:
1、读取json然后处理
class ReadJSON
{
public static void main(String[] args)
win7下nginx和php的配置
geeksun
nginx
1. 安装包准备
nginx : 从nginx.org下载nginx-1.8.0.zip
php: 从php.net下载php-5.6.10-Win32-VC11-x64.zip, php是免安装文件。
RunHiddenConsole: 用于隐藏命令行窗口
2. 配置
# java用8080端口做应用服务器,nginx反向代理到这个端口即可
p
基于2.8版本redis配置文件中文解释
hongtoushizi
redis
转载自: http://wangwei007.blog.51cto.com/68019/1548167
在Redis中直接启动redis-server服务时, 采用的是默认的配置文件。采用redis-server xxx.conf 这样的方式可以按照指定的配置文件来运行Redis服务。下面是Redis2.8.9的配置文
第五章 常用Lua开发库3-模板渲染
jinnianshilongnian
nginx lua
动态web网页开发是Web开发中一个常见的场景,比如像京东商品详情页,其页面逻辑是非常复杂的,需要使用模板技术来实现。而Lua中也有许多模板引擎,如目前我在使用的lua-resty-template,可以渲染很复杂的页面,借助LuaJIT其性能也是可以接受的。
如果学习过JavaEE中的servlet和JSP的话,应该知道JSP模板最终会被翻译成Servlet来执行;而lua-r
JZSearch大数据搜索引擎
颠覆者
JavaScript
系统简介:
大数据的特点有四个层面:第一,数据体量巨大。从TB级别,跃升到PB级别;第二,数据类型繁多。网络日志、视频、图片、地理位置信息等等。第三,价值密度低。以视频为例,连续不间断监控过程中,可能有用的数据仅仅有一两秒。第四,处理速度快。最后这一点也是和传统的数据挖掘技术有着本质的不同。业界将其归纳为4个“V”——Volume,Variety,Value,Velocity。大数据搜索引
10招让你成为杰出的Java程序员
pda158
java 编程 框架
如果你是一个热衷于技术的
Java 程序员, 那么下面的 10 个要点可以让你在众多 Java 开发人员中脱颖而出。
1. 拥有扎实的基础和深刻理解 OO 原则 对于 Java 程序员,深刻理解 Object Oriented Programming(面向对象编程)这一概念是必须的。没有 OOPS 的坚实基础,就领会不了像 Java 这些面向对象编程语言
tomcat之oracle连接池配置
小网客
oracle
tomcat版本7.0
配置oracle连接池方式:
修改tomcat的server.xml配置文件:
<GlobalNamingResources>
<Resource name="utermdatasource" auth="Container"
type="javax.sql.DataSou
Oracle 分页算法汇总
vipbooks
oracle sql 算法 .net
这是我找到的一些关于Oracle分页的算法,大家那里还有没有其他好的算法没?我们大家一起分享一下!
-- Oracle 分页算法一
select * from (
select page.*,rownum rn from (select * from help) page
-- 20 = (currentPag