引用 官方文档
一、基本
1、介绍
liquid 代码可以被分类为对象,标签和过滤代码
对象 对象表示页面中将要显示的内容,对象和变量使用双花括号表示
上面的实例中,liquid指向对象 page.title
, 对象中包含文本为 Introduction
标签
标签创建模板的逻辑和控制流,标签使用花括号和百分号表示 标签的使用不会产生其他的文本,即说明在页面中不显示liquid逻辑代码的条件下,我们可以分配变量,创建条件和循环
存在三种类型的标签,控制流标签,迭代型标签,变量赋值型标签
过滤 使用过滤代码可以变更liquid对象的输出内容,过滤包含在一个输出代码,中间使用 |
分隔
2、运算
liquid包含了多种逻辑运算符和比较运算符
下面为简单实例和包含多个运算符的例子
包含符号 contains
使用contains
可以查询一个字符串中是否存在某个子串
使用contains
也可以查询一个字符串数组中,是否包含某个子串
contains
只可以查询字符串,不可以查询一个对象列表中,是否存在某个对象
3、真实和虚拟
程序中,在条件语句中,任何返回值为true
的对象称为真实,同时,任何在条件语句中,返回值为false
的对象称为虚拟,对象的类型可以分为真实和虚拟两类 真实 liquid中的所有值都是真实的,除了nil
和false
下面的列子中,虽然字符串Tobi
不是布尔型变量,但是在条件语句中,其值为真实的
所有的字符串,即使是空字符串,都是真实的,下面例子中,如果settings.fp_heading
为空,将产生空的HTML标签
虚拟 liquid虚拟值包含 nil
和false
概要 下面的表格表明liquid中的真实和虚拟
4、类型
liquid对象包含了6种类型: 字符串, 数值, 布尔, Nil
,数组 使用assign
和capture
标签初始化liquid变量
字符串string
使用单引号或者双引号声明一个字符串
数值Number 数值类型包含了整型和浮点型数值
布尔型Boolean 布尔型非true
即false
, 当声明一个布尔型变量时候,不需要引用符号
Nil Nil
是一个特别的空值,当liquid 代码没有结果时候,将会返回nil
,nil
不是一个字符串类型 在条件语句的if 块中,nil
会被看成为虚拟的,在其他liquid标签查询时候,将nil
当成虚拟声明
下面的例子中,如果user
不存在(实际上,user
返回nil
),问候的语句将不会输出 标签或者输出值如果返回nil
,页面中不会输出内容
数组 数组可以包含任何类型的变量的列表 使用迭代类型标签可以遍历一个数组
可以使用[ ]
访问到数组中的任意一个元素,第一个元素的下标是0
初始化数组 liquid语言中无法独立生成一个数组,但是可以使用过滤符号split
将一个字符串切分成一个数组
5、变化
liquid是一种灵活安全的语言,可以在不同环境中,比如shopify商店和jekyll 网站中使用。随着时间的变化,Shopify 和 Jekyll 都增加了一些独有的对象,标签和过滤,所以现在最常见的liquid语言分为Liquid,Shopify Liquid 和 Jekyll Liquid
6、空白的使用
在liquid语言中,可以使用连字符-
结合{%
标签,剥离标签左右的空白 通常,即使liquid代码不会输出文本,当渲染模板中的Html时候,仍然会输出空白行
下面例子中,输出tomato之前会有一个空行
但是如果在liquid语句中添加连字符,可以删除空白行
如果不希望任何liquid语句在渲染后,出现空白行,可以在任何liquid语句中添加连字符
二、标签
1、控制流
控制流标签通过改变程序逻辑,可以改变文本的输出 if
只有当条件语句结果是true
的时候,才会执行if
块中的代码
unless
可以看成是
if
的对立,只有当后面的条件为
false
时候,才会执行
unless
块的代码
上面的代码可以表述为
更多的判断条件可以使用elsif
,else
,或者可以使用case/when
来实现开关式条件语句
2、迭代
迭代标签可以将代码循环执行 for
,break
,continue
limit
可以控制迭代循环特定次数
offset
可以指定迭代循环的索引初始值
循环范围 定义循环范围,可以使用变量或者固定值定义
reversed
可以逆向循环,注意将其和过滤符号reverse
区分
循环会按照序列访问一组字符串或者输出值,但是每一个出现cycle
,调用周期中,会输出作为参数传递的一个字符串,只有在循环块中才能使用cycle
cycle
的使用场景 区分多行中的奇数和偶数行 在最后的产品缩略图应用特殊类于一行中
cycle
接收一个称为
cycle group
的参数,一个模板中需要多个循环块,如果没有为循环组提供名称,
则假设具有相同参数的多个调用是一个组
tablerow tablerow
可以生成一个表格中的一行,但是必须包含在标签中
1行6列
tablerow
中使用cols
可以定义表格的列
3行2列
同样,使用limit
可以指定循环的次数,offset
可以指定开始循环的索引值
3、变量
变量标签能创建新的liquid变量 assign
可以创建一个新的变量,使用"
可以将创建变量保存为一个字符串
capture
可以创建一个字符串变量,值为标签中间字符
increment
标签可以创建一个数值型变量,每一次声明将会增加变量值,初始值是0 increment
声明的变量和assign
,capture
声明的变量不会产生冲突
decrement
的用法同increment
,只是其初始值是-1
三、过滤筛选
abs
返回数值的绝对值,但一个字符串中只包含数值时候,abs
依然起作用
append
将会连接两个字符串并且返回连接后的字符串,连接的两个字符串可以是变量
capitalize
将字符串中第一个字母大写,字符串中包含多个单词,只会将第一个单词首字母大写
ceil
将会取接近比当前数值大或者等于当前数值的整数,在
ceil
之前,会先将前面的表达式取值
compact
可以将数组的空值删除,下面的实例中,我们将site.pages
中所有具有特定的分类的page
map成一个数组,然后使用compact
将数组的空值删除
date
筛选器可以格式化一个时间,语法同strftime
,参数是字符串时候,会先将字符串转化成日期类型, 可以使用now
获取当前时间,today
获取当前日期
当前值是指模板最近一次生成页面的时间,不是涉及到缓存或者静态站点中将页面呈现给用户的时间
default
允许我们指定当返回值为nil
, false
或者空时候,默认呈现的内容
divided_by
可以执行除法运算,参数如果是整数,将会得到小于等于商的最大整数, 参数如果是浮点型小数,将会进行浮点型运算 times
表示乘法,一个整型乘以1.0
将得到浮点型
plus
加法运算
minus
可以进行减法运算
modulo
取余运算
downcase
将字符串中每一个字符小写
escape
将一个字符串转义,如此,字符串可以在url中使用
escape_once
不会将已经存在的转义字符,进行转义
first
将会返回数组中的第一个元素
last
返回数组中的最后一个元素
floor
返回一个不大于参数的最大整数
join
将一个数组中各个元素结合成一个字符串
lstrip
将字符串开始和结尾处的所有空白删除,字符串之间的空白不会被删除
map
根据一个数组对象中元素的属性,重新生成一个数组
下面的例子中,假设对象
site.pages
中包含了所有的网站源数据,使用
map
可以得到所有页面中的分类信息的一个数组
newline_to_br
将每一个行中\n
转化成HTML中的
prepend
在字符串的开端添加特定的字符串
你可能感兴趣的:(Liquid语法)
HarmonyNext实战案例:基于ArkTS的高性能音视频处理应用开发
harmonyos-next
HarmonyNext实战案例:基于ArkTS的高性能音视频处理应用开发引言在HarmonyNext生态系统中,ArkTS作为新一代的编程语言,为开发者提供了强大的工具来构建高性能、跨平台的应用。本文将深入探讨如何使用ArkTS12+语法开发一个高性能的音视频处理应用,涵盖从基础概念到高级技巧的全面讲解。通过本案例,您将学习到如何利用HarmonyNext的特性,结合ArkTS的强大功能,实现复杂
《颠覆认知,我用大模型+Redis实现SQL智能补全,开发效率暴涨500%》
煜bart
mysql AI编程 人工智能 redis
一、前言:当SQL补全遇到大模型(插入传统SQL补全工具与ChatGPT对比图)你是否还在为这些场景抓狂?-凌晨3点记不清HiveQL的窗口函数语法-面对新接触的ClickHouse方言不知所措-团队新人总把STR_TO_DATE写成DATE_FORMAT传统IDE的SQL补全就像"人工智障",直到我把大模型装进Redis…##二、效果展示:智能补全的降维打击(GIF动图展示输入SELECT*FR
ES6 解构赋值详解
修己xj
web es6 javascript es6
ES6是JavaScript语言的一次重大更新,引入了许多新特性和语法改进,其中解构赋值是一个非常实用和灵活的语法特性。它可以让我们从数组或对象中提取值,并赋给对应的变量,让代码变得更加简洁和易读。本文将深入探讨ES6解构赋值的语法、用法及其在实际开发中的应用。数组解构赋值数组解构赋值允许我们通过类似模式匹配的方式,从数组中提取值并赋给变量,即只要等会两边的变量模式相同,左边的变量就会被赋予对应的
有趣的学习Python-第八篇:Python的“魔法盾牌”:错误与异常处理
王盼达
有趣的学习Python 学习 python 开发语言
在Python的魔法世界里,即使是经验丰富的魔法师也可能遇到一些“魔法失误”。这些失误分为两种:语法错误和异常。别担心,Python为你准备了一面强大的“魔法盾牌”,帮助你应对这些挑战。8.1语法错误:魔法咒语写错了语法错误就像是你在念魔法咒语时,不小心说错了单词。这是学习Python过程中最常见的问题。比如,你可能忘记在while循环后面加上冒号:whileTrueprint('Hellowor
ES6之解构
Hopebearer_
ES6 es6 前端 javascript 开发语言 ecmascript
文章目录ES6之解构一、数组解构1.基本解构2.部分解构3.默认值4.剩余参数5.嵌套解构6.交换变量二、对象解构1.基本解构2.重命名3.默认值4.剩余参数三、函数参数结构1.数组参数解构2.对象参数解构3.默认值四、注意事项1.解构顺序2.undefined情况3.剩余元素4.对象的方法解构ES6之解构解构是JavaScript(ES6及以后版本)中一种非常强大的语法特性,它允许我们按照一定模
ES6语法详解
八月五
前端 前端 es6
ES的全称是ECMAScript,它是由ECMA国际标准化组织,制定的一项脚本语言的标准化规范。ES6实际上是一个泛指,泛指ES2015及后续的版本。目录1.let关键字和const关键字let关键字const关键字2.解构赋值数组解构赋值对象解构赋值解构赋值用于传参3.字符串新增特性模板字符串字符串实例新增方法4.数值新增特性新增二进制和八进制表示方法Number构造函数本身新增方法和属性安全整
ES6解构赋值详解
漫天转悠
ES6 es6 前端 ecmascript
ES6解构赋值详解ES6解构赋值是JavaScript语言的一项强大特性,它允许从数组或对象中提取数据,并将其赋值给变量。这一特性不仅简化了代码,提高了可读性,还增强了代码的灵活性。本文将详细介绍ES6解构赋值的基本概念、语法、应用场景以及一些高级用法。1.基本概念解构赋值是对赋值运算符的扩展。它允许按照一定的模式,从数组或对象中提取值,并赋值给变量。这种语法使得从复杂数据结构中提取数据变得更加简
ES6解构语法详解
勇敢小陈
javascript vue.js 前端 es6
ES6的解构语法简化了我们开发过程中复杂的取值过程,可能你在a.b.c.d的时候别人早就把值一开始就取出来了,使代码更加简洁。下面开始进行语法的详解。一、单层解构单层解构constearth={people:'人类',animal:'动物'}const{people,animal}=earthconsole.log(people,animal);//人类动物单层解构并更改变量名称consteart
Vue初体验
码上跑步
vue.js 前端
Vue基础Vue是什么?Vue是javascript的渐进式框架。Vue初识Vue工作时必须要创建一个Vue的实例,并且传入一个配置对象。root容器里的代码是符合html的语法但是新添加了一些Vue语法,在这些地方Vue会自动进行解析。root容器里的代码称为Vue模版。Vue实例和容器是一一对应的。在实际开发中只有一个Vue,配合组件使用。在vue里的插值{{}}内部只要写js表达式就能正常解
Oracle创建表空间、删除、状态、重命名、修改、增加、移动
水煮白菜王
Oracle oracle 数据库
目录Oracle基本学习笔记创建表空间1.表空间创建格式3.表空间状态属性4.重命名表空间5.修改表空间数据文件的大小6.删除表空间的数据文件7.修改表空间中数据文件的状态8.表空间中数据文件的移动Oracle基本学习笔记创建表空间需要使用CREATETABLESPACE语句。其基本语法如下:CREATE[TEMPORARYIUNDO]TABLESPACEtablespacename[DATAFI
linux: make & autoconf & automake & autoreconf & aclocal
mzhan017
gcc linux build
文章目录参考make首先需要写一个makefileMakefile包含的内容targetvariable两步走语法\规则定义操作隐式规则先决条件order-onlyforceFORCE变量变量的高级功能陷阱建议使用变量时,加括号/大括号变量的替换$$@$indentationmaybenon-portableautoconfM4shautomakeconfigure参考http://savanna
HarmonyNext实战案例:基于ArkTS的高性能分布式机器学习应用开发
harmonyos-next
HarmonyNext实战案例:基于ArkTS的高性能分布式机器学习应用开发引言在HarmonyNext生态系统中,分布式机器学习是其核心特性之一。通过分布式机器学习,开发者可以充分利用多设备的计算资源,实现复杂模型的训练与推理。本文将深入探讨如何使用ArkTS12+语法开发一个高性能的分布式机器学习应用,涵盖从基础概念到高级技巧的全面讲解。通过本案例,您将学习到如何利用HarmonyNext的分
如何在 Dockerfile 中使用 if-else 条件表达式 ?
docker
Docker是容器化应用程序的必要工具,使它们可移植和隔离。Dockerfile是Docker生态系统中的一个关键组件,它允许开发人员指定他们的应用程序应该如何被容器化。通常在Dockerfiles中需要条件逻辑,就像您在编程脚本中发现的那样。但是Dockerfile语法不直接支持if-else条件表达式。在本文中,我们将探讨如何在Dockerfiles中有效地使用条件逻辑,特别是使用外部参数。A
HarmonyNext实战案例:基于ArkTS的实时多人协作白板应用开发
harmonyos-next
HarmonyNext实战案例:基于ArkTS的实时多人协作白板应用开发引言在HarmonyNext生态系统中,实时多人协作是其核心特性之一。通过实时多人协作,开发者可以构建高效、互动的应用场景,例如实时白板、协同编辑等。本文将深入探讨如何使用ArkTS12+语法开发一个实时多人协作白板应用,涵盖从基础概念到高级技巧的全面讲解。通过本案例,您将学习到如何利用HarmonyNext的实时通信特性,结
HarmonyNext实战案例:基于ArkTS的高性能图像处理应用开发
harmonyos-next
HarmonyNext实战案例:基于ArkTS的高性能图像处理应用开发引言在HarmonyNext生态系统中,ArkTS作为新一代的编程语言,为开发者提供了强大的工具来构建高性能、跨平台的应用。本文将深入探讨如何使用ArkTS12+语法开发一个高性能的图像处理应用,涵盖从基础概念到高级技巧的全面讲解。通过本案例,您将学习到如何利用HarmonyNext的特性,结合ArkTS的强大功能,实现复杂的图
Linux egrep 命令使用详解
linux
简介egrep(扩展GREP)命令是grep的一个变体,支持扩展正则表达式。它在功能上等同于grep-E。基础语法egrep[OPTIONS]PATTERN[FILE...]或grep-E[OPTIONS]PATTERN[FILE...]示例用法在文件中查找包含“error”的所有行egrep"error"logfile.txt大小写不敏感搜索egrep-i"error"logfile.txt使用
python中常用的内置模块举例(入门级整理)
qq_恰同学少年
python
python对于初学者可以说是十分友好的一门编程语言,不仅语法简单,而且它自身还包含了十分丰富的第三方模块,我仅就将我自己常用的一些内置模块(自带的,无需安装)做一下简单的总结和介绍:1.turtleturtle,是python中比较好玩一个模块,它有一个专有名称“海龟作图”,光看名字就应该能够猜到它是用来干嘛的,没错,就是来画图的,它可以通过某些语句来控制一个点在白板上的运动轨迹,它在白板上走过
Python 变量起名全攻略:新手避坑与大神指南
科雷learning
学习AI python编程 python 开发语言
学习AI科雷learning2025年03月10日22:19江苏一、引言:变量起名的“玄学”难题在Python编程的世界里,变量命名看似简单,实则暗藏玄机,常常让新手们踩坑不断。本文将带你深入了解Python变量命名规则,助你从新手小白变身命名大神。二、基础规则:保命口诀要牢记小白的困惑小白:(举着写满报错的代码)大神快看!我就写了个3D效果=True,Python竟然说我语法错误?专家的解答专家
react 和 reflux
yunhai.du
Java开发 react
目录一、介绍:二、特征:三、组成:四、react的基本概念:五、JSX语法:六、生命周期:七、简单的使用:一、介绍:react:最早来源于FaceBook,后来因为其独特的设计思想和惊人的性能被广大用户喜欢,现在是最受欢迎的前端框架之一。reflux:React的设计目的是管理视图层,所以对于大型应用来说,我们还需要数据层面的复用。所以facebook设计了flux架构,并官方发布了dispath
Java 基础核心总结
仅此而已丶
Java基础教程系列 开发语言 java
目录前言介绍1、基本语法2、面向对象编程3、异常处理4、集合框架5、IO流6、多线程专栏地址前言Java是一种广泛使用的程序设计语言,具有跨平台、面向对象、安全性高、灵活性强等特点,广泛应用于企业级应用程序和移动应用程序等领域。在学习Java语言时,需要掌握一些基础核心知识,本文将为您总结Java基础核心知识点,以便于您的学习和参考。介绍Java基础核心知识点包括基本语法、面向对象编程、异常处理、
SassScript:Sass中的编程特性详解
love729234ming
日常分享 sass 前端 css
Sass(SyntacticallyAwesomeStylesheets)是一种强大的CSS预处理器,它允许开发者使用类似于编程语言的语法来编写CSS,然后通过编译生成标准的CSS代码。SassScript是Sass中的编程特性集合,它包含了变量、嵌套规则、混合、函数以及控制指令等,极大地提高了CSS的开发效率和可维护性。1.变量SassScript中的变量允许开发者在样式表中存储和重复使用值。变
java基础知识点详解一:Java概述及三种技术架构
我是老实人辶
java 程序员 架构
Java语言是一门随时代快速发展的计算机语言程序,其深刻展示了程序编写的精髓,加上其简明严谨的结构及简洁的语法编写为其将来的发展及维护提供了保障。由于提供了网络应用的支持和多媒体的存取,会推动Internet和企业网络的Web的应用java概述:1991年Sun公司的JamesGosling等人开始开发名称为Oak的语言,希望用于控制嵌入在有线电视交换盒、PDA等的微处理器;1994年将Oak语言
Easy-ES(用Mybatis-Plus语法来操作ElasticSearch)
充满希望的程序员
elasticsearch mybatis 大数据 搜索引擎
简介Easy-Es(简称EE)是一款基于ElasticSearch(简称Es)官方提供的RestHighLevelClient打造的ORM开发框架,在RestHighLevelClient的基础上,只做增强不做改变,为简化开发、提高效率而生,如果有用过Mybatis-Plus(简称MP),那么基本可以零学习成本直接上手EE,EE是MP的Es平替版,在有些方面甚至比MP更简单,同时也融入了更多Es独
Vue懒加载
充气大锤
前端性能优化 vue.js 前端 javascript 学习 笔记 前端框架 性能优化
一、什么是懒加载在Vue中实现懒加载(LazyLoading)通常是为了优化应用的性能,尤其是在加载大型应用或组件时。懒加载可以帮助减少初始加载时间,只在用户需要时才加载特定的代码块或组件。二、懒加载的几种方式方法1:使用动态导入(DynamicImports)你可以使用JavaScript的动态导入语法来懒加载组件。例如,如果你想懒加载一个名为MyComponent的组件,你可以这样做://在组
第二章:标签大狂欢:从基础到变形
我自纵横2023
HTML教程 前端 html xml
第二章:标签大狂欢:从基础到变形2.1文本标签的魔法咒语一、专治「文字乱跑症」的标签想象一下,你刚写了一段优美的文字,结果浏览器像个熊孩子一样把它们堆成一团——这时候就需要标签施展「定身咒」了!作用:把文字关进段落牢房,强制换行并保持间距。语法:这是一段被温柔包裹的文字搞笑案例:程序员的浪漫:你是我永不溢出的栈,是我命中注定的异常捕获。(悄悄说:是换行符,但才是段落的正确打开方式哦!)二、标题标签
Python基础之字符串、数字类型和列表(二)
Hao想睡觉
python 开发语言
Python基础之字符串、数字类型和列表(二)文章目录Python基础之字符串、数字类型和列表(二)1、常见的字符串API2、数字类型2.1整数(int)2.2浮点数(float)2.3布尔类型(bool)2.4复数类型(complex)3、列表3.1、列表创建3.2、列表运算3.3列表索引(访问)习题1、常见的字符串API方法的调用语法对象.方法名(参数)是"的"的意思常见API详见文档示例te
DeepSeek Coder 的依赖解析方法具体是如何实现的?
百态老人
人工智能 大数据 笔记
DeepSeekCoder的依赖解析方法主要通过以下步骤实现:数据收集与过滤首先,从GitHub等平台收集代码数据,并使用规则过滤掉不符合要求的代码。例如,过滤掉语法错误、可读性差或模块化低的代码,以确保数据的质量和多样性。解析文件依赖关系在这一阶段,系统会分析同一项目中代码文件之间的依赖关系。具体来说,通过一种基于拓扑排序的算法来识别这些依赖关系。这种方法不同于传统的从入度为零的节点开始的排序,
Python编程常用的36个经典案例
编程阿布
python windows 开发语言
Python的简洁和强大使其成为许多开发者的首选语言。本文将介绍36个常用的Python经典代码案例。这些示例覆盖了基础语法、常见任务、以及一些高级功能。1.列表推导式fizz_buzz_list=["FizzBuzz"ifi%15==0else"Fizz"ifi%3==0else"Buzz"ifi%5==0elseiforiinrange(1,101)]print(fizz_buzz_list)
JavaSE第五天——基础语法
2301_76231794
JavaSE java 开发语言
一、多变量类型和作用域1、变量变量是用来存储数据的容器。每个变量都有一个特定的类型,该类型决定了变量可以存储什么类型的数据变量的使用必须遵循“先声明,后使用”的原则。变量的声明包括指定变量的名称和类型,而变量的初始化则是为变量分配内存空间并设置初始值变量类型可以分为两大类:基本类型(PrimitiveTypes)和引用类型(ReferenceTypes)2、变量的作用域类变量(静态变量):作用域为
Java编程中的分支结构:if-else、switch-case详解与实战应用
学习编程的小羊
java java python 开发语言
在Java编程中,分支结构是控制程序流程的重要工具,它允许程序根据不同的条件执行不同的代码块。Java提供了两种主要的分支结构:if-else和switch-case。本文将详细介绍这两种结构的工作原理、语法规则以及实战应用,帮助读者更好地理解和使用它们。一、if-else分支结构if-else结构是Java中最基本的分支结构,它根据指定的条件表达式来决定执行哪个代码块。if-else结构的语法如
Hadoop(一)
朱辉辉33
hadoop linux
今天在诺基亚第一天开始培训大数据,因为之前没接触过Linux,所以这次一起学了,任务量还是蛮大的。
首先下载安装了Xshell软件,然后公司给了账号密码连接上了河南郑州那边的服务器,接下来开始按照给的资料学习,全英文的,头也不讲解,说锻炼我们的学习能力,然后就开始跌跌撞撞的自学。这里写部分已经运行成功的代码吧.
在hdfs下,运行hadoop fs -mkdir /u
maven An error occurred while filtering resources
blackproof
maven 报错
转:http://stackoverflow.com/questions/18145774/eclipse-an-error-occurred-while-filtering-resources
maven报错:
maven An error occurred while filtering resources
Maven -> Update Proje
jdk常用故障排查命令
daysinsun
jvm
linux下常见定位命令:
1、jps 输出Java进程
-q 只输出进程ID的名称,省略主类的名称;
-m 输出进程启动时传递给main函数的参数;
&nb
java 位移运算与乘法运算
周凡杨
java 位移 运算 乘法
对于 JAVA 编程中,适当的采用位移运算,会减少代码的运行时间,提高项目的运行效率。这个可以从一道面试题说起:
问题:
用最有效率的方法算出2 乘以8 等於几?”
答案:2 << 3
由此就引发了我的思考,为什么位移运算会比乘法运算更快呢?其实简单的想想,计算机的内存是用由 0 和 1 组成的二
java中的枚举(enmu)
g21121
java
从jdk1.5开始,java增加了enum(枚举)这个类型,但是大家在平时运用中还是比较少用到枚举的,而且很多人和我一样对枚举一知半解,下面就跟大家一起学习下enmu枚举。先看一个最简单的枚举类型,一个返回类型的枚举:
public enum ResultType {
/**
* 成功
*/
SUCCESS,
/**
* 失败
*/
FAIL,
MQ初级学习
510888780
activemq
1.下载ActiveMQ
去官方网站下载:http://activemq.apache.org/
2.运行ActiveMQ
解压缩apache-activemq-5.9.0-bin.zip到C盘,然后双击apache-activemq-5.9.0-\bin\activemq-admin.bat运行ActiveMQ程序。
启动ActiveMQ以后,登陆:http://localhos
Spring_Transactional_Propagation
布衣凌宇
spring transactional
//事务传播属性
@Transactional(propagation=Propagation.REQUIRED)//如果有事务,那么加入事务,没有的话新创建一个
@Transactional(propagation=Propagation.NOT_SUPPORTED)//这个方法不开启事务
@Transactional(propagation=Propagation.REQUIREDS_N
我的spring学习笔记12-idref与ref的区别
aijuans
spring
idref用来将容器内其他bean的id传给<constructor-arg>/<property>元素,同时提供错误验证功能。例如:
<bean id ="theTargetBean" class="..." />
<bean id ="theClientBean" class=&quo
Jqplot之折线图
antlove
js jquery Web timeseries jqplot
timeseriesChart.html
<script type="text/javascript" src="jslib/jquery.min.js"></script>
<script type="text/javascript" src="jslib/excanvas.min.js&
JDBC中事务处理应用
百合不是茶
java JDBC编程 事务控制语句
解释事务的概念; 事务控制是sql语句中的核心之一;事务控制的作用就是保证数据的正常执行与异常之后可以恢复
事务常用命令:
Commit提交
[转]ConcurrentHashMap Collections.synchronizedMap和Hashtable讨论
bijian1013
java 多线程 线程安全 HashMap
在Java类库中出现的第一个关联的集合类是Hashtable,它是JDK1.0的一部分。 Hashtable提供了一种易于使用的、线程安全的、关联的map功能,这当然也是方便的。然而,线程安全性是凭代价换来的――Hashtable的所有方法都是同步的。此时,无竞争的同步会导致可观的性能代价。Hashtable的后继者HashMap是作为JDK1.2中的集合框架的一部分出现的,它通过提供一个不同步的
ng-if与ng-show、ng-hide指令的区别和注意事项
bijian1013
JavaScript AngularJS
angularJS中的ng-show、ng-hide、ng-if指令都可以用来控制dom元素的显示或隐藏。ng-show和ng-hide根据所给表达式的值来显示或隐藏HTML元素。当赋值给ng-show指令的值为false时元素会被隐藏,值为true时元素会显示。ng-hide功能类似,使用方式相反。元素的显示或
【持久化框架MyBatis3七】MyBatis3定义typeHandler
bit1129
TypeHandler
什么是typeHandler?
typeHandler用于将某个类型的数据映射到表的某一列上,以完成MyBatis列跟某个属性的映射
内置typeHandler
MyBatis内置了很多typeHandler,这写typeHandler通过org.apache.ibatis.type.TypeHandlerRegistry进行注册,比如对于日期型数据的typeHandler,
上传下载文件rz,sz命令
bitcarter
linux命令rz
刚开始使用rz上传和sz下载命令:
因为我们是通过secureCRT终端工具进行使用的所以会有上传下载这样的需求:
我遇到的问题:
sz下载A文件10M左右,没有问题
但是将这个文件A再传到另一天服务器上时就出现传不上去,甚至出现乱码,死掉现象,具体问题
解决方法:
上传命令改为;rz -ybe
下载命令改为:sz -be filename
如果还是有问题:
那就是文
通过ngx-lua来统计nginx上的虚拟主机性能数据
ronin47
ngx-lua 统计 解禁ip
介绍
以前我们为nginx做统计,都是通过对日志的分析来完成.比较麻烦,现在基于ngx_lua插件,开发了实时统计站点状态的脚本,解放生产力.项目主页: https://github.com/skyeydemon/ngx-lua-stats 功能
支持分不同虚拟主机统计, 同一个虚拟主机下可以分不同的location统计.
可以统计与query-times request-time
java-68-把数组排成最小的数。一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的。例如输入数组{32, 321},则输出32132
bylijinnan
java
import java.util.Arrays;
import java.util.Comparator;
public class MinNumFromIntArray {
/**
* Q68输入一个正整数数组,将它们连接起来排成一个数,输出能排出的所有数字中最小的一个。
* 例如输入数组{32, 321},则输出这两个能排成的最小数字32132。请给出解决问题
Oracle基本操作
ccii
Oracle SQL总结 Oracle SQL语法 Oracle基本操作 Oracle SQL
一、表操作
1. 常用数据类型
NUMBER(p,s):可变长度的数字。p表示整数加小数的最大位数,s为最大小数位数。支持最大精度为38位
NVARCHAR2(size):变长字符串,最大长度为4000字节(以字符数为单位)
VARCHAR2(size):变长字符串,最大长度为4000字节(以字节数为单位)
CHAR(size):定长字符串,最大长度为2000字节,最小为1字节,默认
[强人工智能]实现强人工智能的路线图
comsci
人工智能
1:创建一个用于记录拓扑网络连接的矩阵数据表
2:自动构造或者人工复制一个包含10万个连接(1000*1000)的流程图
3:将这个流程图导入到矩阵数据表中
4:在矩阵的每个有意义的节点中嵌入一段简单的
给Tomcat,Apache配置gzip压缩(HTTP压缩)功能
cwqcwqmax9
apache
背景:
HTTP 压缩可以大大提高浏览网站的速度,它的原理是,在客户端请求网页后,从服务器端将网页文件压缩,再下载到客户端,由客户端的浏览器负责解压缩并浏览。相对于普通的浏览过程HTML ,CSS,Javascript , Text ,它可以节省40%左右的流量。更为重要的是,它可以对动态生成的,包括CGI、PHP , JSP , ASP , Servlet,SHTML等输出的网页也能进行压缩,
SpringMVC and Struts2
dashuaifu
struts2 springMVC
SpringMVC VS Struts2
1:
spring3开发效率高于struts
2:
spring3 mvc可以认为已经100%零配置
3:
struts2是类级别的拦截, 一个类对应一个request上下文,
springmvc是方法级别的拦截,一个方法对应一个request上下文,而方法同时又跟一个url对应
所以说从架构本身上 spring3 mvc就容易实现r
windows常用命令行命令
dcj3sjt126com
windows cmd command
在windows系统中,点击开始-运行,可以直接输入命令行,快速打开一些原本需要多次点击图标才能打开的界面,如常用的输入cmd打开dos命令行,输入taskmgr打开任务管理器。此处列出了网上搜集到的一些常用命令。winver 检查windows版本 wmimgmt.msc 打开windows管理体系结构(wmi) wupdmgr windows更新程序 wscrip
再看知名应用背后的第三方开源项目
dcj3sjt126com
ios
知名应用程序的设计和技术一直都是开发者需要学习的,同样这些应用所使用的开源框架也是不可忽视的一部分。此前《
iOS第三方开源库的吐槽和备忘》中作者ibireme列举了国内多款知名应用所使用的开源框架,并对其中一些框架进行了分析,同样国外开发者
@iOSCowboy也在博客中给我们列出了国外多款知名应用使用的开源框架。另外txx's blog中详细介绍了
Facebook Paper使用的第三
Objective-c单例模式的正确写法
jsntghf
单例 ios iPhone
一般情况下,可能我们写的单例模式是这样的:
#import <Foundation/Foundation.h>
@interface Downloader : NSObject
+ (instancetype)sharedDownloader;
@end
#import "Downloader.h"
@implementation
jquery easyui datagrid 加载成功,选中某一行
hae
jquery easyui datagrid 数据加载
1.首先你需要设置datagrid的onLoadSuccess
$(
'#dg'
).datagrid({onLoadSuccess :
function
(data){
$(
'#dg'
).datagrid(
'selectRow'
,3);
}});
2.onL
jQuery用户数字打分评价效果
ini
JavaScript html jquery Web css
效果体验:http://hovertree.com/texiao/jquery/5.htmHTML文件代码:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>jQuery用户数字打分评分代码 - HoverTree</
mybatis的paramType
kerryg
DAO sql
MyBatis传多个参数:
1、采用#{0},#{1}获得参数:
Dao层函数方法:
public User selectUser(String name,String area);
对应的Mapper.xml
<select id="selectUser" result
centos 7安装mysql5.5
MrLee23
centos
首先centos7 已经不支持mysql,因为收费了你懂得,所以内部集成了mariadb,而安装mysql的话会和mariadb的文件冲突,所以需要先卸载掉mariadb,以下为卸载mariadb,安装mysql的步骤。
#列出所有被安装的rpm package rpm -qa | grep mariadb
#卸载
rpm -e mariadb-libs-5.
利用thrift来实现消息群发
qifeifei
thrift
Thrift项目一般用来做内部项目接偶用的,还有能跨不同语言的功能,非常方便,一般前端系统和后台server线上都是3个节点,然后前端通过获取client来访问后台server,那么如果是多太server,就是有一个负载均衡的方法,然后最后访问其中一个节点。那么换个思路,能不能发送给所有节点的server呢,如果能就
实现一个sizeof获取Java对象大小
teasp
java HotSpot 内存 对象大小 sizeof
由于Java的设计者不想让程序员管理和了解内存的使用,我们想要知道一个对象在内存中的大小变得比较困难了。本文提供了可以获取对象的大小的方法,但是由于各个虚拟机在内存使用上可能存在不同,因此该方法不能在各虚拟机上都适用,而是仅在hotspot 32位虚拟机上,或者其它内存管理方式与hotspot 32位虚拟机相同的虚拟机上 适用。
SVN错误及处理
xiangqian0505
SVN提交文件时服务器强行关闭
在SVN服务控制台打开资源库“SVN无法读取current” ---摘自网络 写道 SVN无法读取current修复方法 Can't read file : End of file found
文件:repository/db/txn_current、repository/db/current
其中current记录当前最新版本号,txn_current记录版本库中版本