udev

udev udev 是Linux kernel的设备管理器, 2012年4月,udev被合并至systemd。 https://linux.cn/article-13691-1.html https://www.jianshu.com/p/f9385d5703a7

2013-02-19 · 1 min · 7 words · -

shell map

shell map Map定义 在使用map时,需要先声明,否则结果可能与预期不同,array 可以不声明 方式1: declare -A myMap myMap["my03"]="03" 方式2: declare -A myMap=(["my01"]="01" ["my02"]="02") myMap["my03"]="03" myMap["my04"]="04" Map初始化: 与array类似,可以使用括号直接初始化,也可以通过添加的方式来初始化数据,与array不同的是,括号直接初始化时使用的为一个键值对,添加元素时,下标可以不是整数 myMap[“my03”]=“03” myMap[“my04”]=“04” 输出Map所有的key、value、长度: 复制代码 输出所有的key #若未使用declare声明map,则此处将输出0,与预期输出不符,此处输出语句格式比arry多了一个! echo ${!myMap[@]} #2)输出所有value #与array输出格式相同 echo ${myMap[@]} #3)输出map长度 #与array输出格式相同 echo ${#myMap[@]} 复制代码 Map遍历: 复制代码 #1)遍历,根据key找到对应的value for key in ${!myMap[*]};do echo $key echo ${myMap[$key]} done #2)遍历所有的key for key in ${!myMap[@]};do echo $key echo ${myMap[$key]} done #3)遍历所有的value for val in ${myMap[@]};do echo $val done 复制代码 Map测试: 复制代码 [root@cdh-143 shell-test]# more map-test.sh #!/bin/sh ...

2013-02-19 · 1 min · 176 words · -

PriorityBlockingQueue

PriorityBlockingQueue 这就是带优先级的无界阻塞队列,每次出队都返回优先级最高或者最低的元素(这里规则可以自己制定),内部是使用平衡二叉树实现的,遍历不保证有序; https://www.cnblogs.com/wyq1995/p/12289462.html

2013-02-19 · 1 min · 3 words · -

GDebi

GDebi GDebi is a tool that can install .deb packages. It is available with a graphical interface, but also has a command line option.

2013-02-18 · 1 min · 24 words · -

Regsvr32

Regsvr32 Regsvr32命令的作用是将动态链接库文件注册为注册表中的命令组成。WInXP系统的regsvr32.exe在windowssystem32文件夹下;2000系统的regsvr32.exe在winntsystem32文件夹下。 Regsvr 32命令是Windows中控件文件(如扩展名为DLL、OCX、CPL的文件)的注册和反注册工具。命令格式 Regsvr32 [/s] [/n] [/i[:cmdline]] dllname /u 卸载安装的控件,卸载服务器注册; /s 注册成功后不显示操作成功信息框; /i 调用DllInstall函数并把可选参数[cmdline]传给它,当使用/u时用来卸载DLL; /n 不调用DllRegisterServer,该参数必须和/i一起使用。 简单实例 要手工注册"E:\CPCW.dll",只需在"开始→运行"中键入"Regsvr32 E:\CPCW.dll",单击"确定"按钮后会弹出提示信息"DllRegisterServer in CPCW.dll succeeded",说明组件注册成功;如果要卸载此组件,在"开始→运行"中键入"Regsvr32 /u E:\CPCW.dll"即可。 格式: regsvr32 [/s] [/n] [/i[:cmdline]] DLLname 使用参数—解除服务器注册 使用参数[/s]—无声;不显示消息框 使用参数—调用DllInstall,给其传递一个可选[cmdline];跟/u参数一起使用时卸载DLL。 使用参数[/n]—不用调用DLLRegisterServer。这个参数必须跟/i一起使用。 实例1: IE无法打开新窗口 regsvr32 actxprxy.dll regsvr32 shdocvw.dll 重启后如果还不能解决 regsvr32 mshtml.dll regsvr32 urlmon.dll regsvr32 msjava.dll regsvr32 browseui.dll regsvr32 oleaut32.dll regsvr32 shell32.dll 实例2: IE无法保存HTML格式文件 regsvr32 inetcomm.dll 实例3: MSN无法登陆 regsvr32 softpub.dll 实例4: windows默认的文件关联混乱 regsvr32 /i shdocvw.dll regsvr32 /i shell.dll ...

2013-02-18 · 1 min · 139 words · -

OLAP, OLTP

OLAP, OLTP http://www.cnblogs.com/beyondstorm/archive/2006/08/12/475011.html OLAP和OLTP的区别(基础知识) 联机分析处理 (OLAP) 的概念最早是由关系数据库之父E.F.Codd于1993年提出的,他同时提出了关于OLAP的12条准则。OLAP的提出引起了很大的反响,OLAP作为一类产品同联机事务处理 (OLTP) 明显区分开来。 当今的数据处理大致可以分成两大类: 联机事务处理OLTP (on-line transaction processing) 、联机分析处理OLAP (On-Line Analytical Processing) 。OLTP是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易。OLAP是数据仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。下表列出了OLTP与OLAP之间的比较。 OLTP OLAP 用户 操作人员,低层管理人员 决策人员,高级管理人员 功能 日常操作处理 分析决策 DB 设计 面向应用 面向主题 数据 当前的, 最新的细节的, 二维的分立的 历史的, 聚集的, 多维的集成的, 统一的 存取 读/写数十条记录 读上百万条记录 工作单位 简单的事务 复杂的查询 用户数 上千个 上百个 DB 大小 100MB-GB 100GB-TB

2013-02-17 · 1 min · 52 words · -

迭代长度

迭代长度 http://space.itpub.net/13633641/viewspace-312630 很多教材上都有关于这个问题的解答。迭代长度通常建议为 2-6 周,这是一个经验数值。到底选择几周为一次迭代,这个问题其实不太难,因为你只有 1、2、3、4、5、6 这 6 个数字需要选择。 我们太极敏捷派的建议是这样的: 如何确定迭代长度,有这样几个关键点需要权衡。 第一,我们希望每次迭代开发,可以获得实质性的进展,完成足够的开发任务,所以对于普通项目 1 周的迭代长度就显得有点短,做不了几天的开发就要 close,不合算。 第二,迭代任务 (包括模块集成、系统测试、评审等等) 的完成,应该比较顺畅 (streamlined) 、从容或者适度紧张,没有非常紧迫、仓促的感觉。如果在某次迭代开发中,需要砍掉很多完成不了的任务,感到进度很紧张,那么很可能说明迭代的长度设置太短了,在下一轮的开发中应该增加迭代的长度。 第三,总体上我们希望迭代越短越好,它有个下限,短于这个下限就可能得不偿失。那么,迭代时间为什么不能过长?它的上限是多少呢?迭代的主要目的是为了及时获得各方面反馈,确认已开发的内容是正确和可靠的,从而减少风险,保证开发能够始终稳步地前进。显然迭代过长,很长时间不对已开发的系统部分进行验证、反馈,随之而累积的各种风险就可能增加。如果超过一个半月 (6 周) 以上,还都拿不出一些可以执行、验证和 demo 的软件程序,那么这样的项目开发显然不能说是高效的。 从 2 到 6 周,建议选择偶数 2、4、6 周作为迭代长度,排除奇数 3、5 周。执行周计划周总结和月计划月总结是国内很多企业比较普遍的做法,显然设置迭代长度为半个月、一个月或一个半月,就能与之相合拍,更自然和便于管理。设想,当您做月度总结的时候,只完成了 1 又 1/3 的迭代,会是什么感觉? 迭代长度通常还与整个项目的工期 (或复杂度、规模) 有关。如果项目的工期在 1 年以上,那么 1 个月或 1.5 个月的迭代长度就是比较合适的。假设 2 周就要完成一次迭代,持续干上一年,大家会不会感到太累、太频繁?如果整个项目工期小于 3 个月,那么 2 周迭代甚至 1 周迭代,就是非常合适的。对于进度这么紧的项目,可能每周都是非常宝贵的。 通常,张恂会向客户推荐采取 2 周或 4 周作为迭代长度的首选,3 周、5 周和 6 周作为备选,往往大项目、比较复杂的项目才会采用 6 周,6 周以上基本不考虑。2 周通常适合各方面很成熟的开发团队。如果一个传统瀑布团队,要尝试着转向迭代开发方式,从 4 周的迭代开始学习、积累经验,然后逐步缩短迭代长度,是比较稳妥的。 ...

2013-02-17 · 1 min · 86 words · -

敏捷开发之稳定迭代周期

敏捷开发之稳定迭代周期 http://www.blogjava.net/josson/archive/2011/01/31/341341.html **1、什么是iteration和release? ** iteration和release是两个不同的概念,但在敏捷实践活动中,我们往往认识的比较模糊,一个Iteration就是一次release,其实不然。那么,具体有什么区别和联系呢? **Iteration (迭代) **: 在固定的周期内,经过需求分析、设计、实现、测试等活动,完成计划的的业务需求,迭代结束提供一个可工作的产品。计划的业务需求,可能是一个完整的User Story,也可能是一个Story中的若干task。 Release(发布): 经过一个或若干个iteration后,完成计划中的所有User Story,经过测试后才release,最终真正交付给客户使用。 在我们的实践活动中,一个User Story所需的工作量超过我们的有效资源,无法安排在一个iteration内。我们就会想当然的会去延长迭代周期,增加有效资源以适应所需工作量。殊不知,这更象是形式上的迭代开发,无异于瀑布式项目开发过程。 2、建立固定的迭代周期,保持稳定的开发节奏 Scurm方法也非常强调稳定的迭代节奏,一个稳定的迭代节奏就如同项目的的心跳。Simon Baker描述说: “就像心脏有规律地跳动来保持身体运行,固定的迭代长度提供了一个恒量,有助于建立开发和交付的节奏。根据我的经验,节奏是帮助取得不变的步幅的重要因素” (2004) 。对于敏捷开发的团队而言,稳定的迭代节奏可以让产品保持更稳定的交付。 3、如何保持稳定的开发节奏? 当一个迭代期内可提供的有效资源无法实现一个User Story时,我们如何按排呢? 在 谈迭代周期控制的困惑中已谈到,这里不在细述。 4、如何选择适合自己团队的迭代周期? 一般需要考虑以下因素: 、整个项目周期长度 (完成计划的商业需求所需时间) 较短的迭代周期将会有以下一些好处: 更频繁的向客户展示/交付可用的软件;更频繁的度量开发进度;更频繁的取得反馈并改进;一般大的项目最好有多次(3次或以上)获取反馈、修正的机会,根据项目周期调整迭代周期长度。 、不确定性的多少 不确定性有多种形式,客户到底想要的是什么?小组的工作效率,时间?技术门槛等都不存在不确定性,不确定性越多,迭代就应该越短。 、获得反馈的难易程度 指小组获取反馈数量、频度和及时性,视所处的环境不同,选择合适的迭代长度; 、优先级要以多久保持不变 开发小组承诺在一次迭代中完成一组特定的功能,重要的是不要改变他们的目标方向,优先级不会被改变的时间长度是选择迭代长度时需要考虑的因素。 、迭代的系统开销 每次迭代的成本 (时间) ,如迭代中进行的完整回归测试。最佳迭代周期的目标之一就是减少或近似消除每次迭代的系统开销。如每次回归时间成本很高,那决定周期长度时更倾向于长一些。 、团队成员的紧迫感 Niels Malotaux指出: “只要项目的结束日期还在遥远的将来,我们就不会感到任何压力,并从容不迫的工作。当结束日期逼近时,我们才会开始更努力的工作”。意思指项目开始大家比较放松,而越临近结束,工作越忙压力越大。因此,选择一个合适的迭代周期长度,让团队成员在整个迭代过程中感受到的压力更平均,不是给团队更多的压力,而是压力总量平均分布在迭代过程中。 每个团队根据所在环境和条件确定一个合适的迭代长度,一般建议2~4周。在我们的实践中,以2周一次迭代的频率,保持相对稳定的开发和交付的节奏。

2013-02-17 · 1 min · 47 words · -

Lua

Lua http://zh.wikipedia.org/zh-cn/Lua http://baike.baidu.com/view/416116.htm Lua ( /ˈluːə/ ) 程序设计语言是一个简洁、轻量、可扩展的脚本语言,是葡萄牙语中"Luna" (月亮) 的意思。 Lua 是一个动态弱类型语言,支援增量式垃圾收集策略。有内建的,与操作系统无关的协作式多线程 (coroutine) 支持 Lua的目标是成为一个很容易嵌入其它语言中使用的语言。大多数程序员也认为它的确做到了这一点。 很多应用程序使用Lua作为自己的嵌入式脚本语言,以此来实现可配置性、可扩展性。这其中包括大话西游II、仙境传说、魔兽世界、战锤40k、博德之门、轩辕剑外传汉之云、愤怒的小鸟等。 Lua是一种轻量语言,它的官方版本只包括一个精简的核心和最基本的库。这使得Lua体积小、启动速度快。它用标准C语言编写并以源 代码形式开放,编译后仅仅一百余K,可以很方便的嵌入别的程式里。和许多"大而全"的语言不一样,网路通讯、图形界面等都没有默认提供。但是Lua可以很 容易地被扩展: 由宿主语言 (通常是C或C++) 提供这些功能,Lua可以使用它们,就像是本来就内置的功能一样。事实上,现在已经有很多成熟的扩展模块可供选用。 Lua是一种多重编程范式的程式设计语言: 它只提供了很小的一个特性集合来满足不同编辑范式的需要,而不是为某种特定的编辑范式提供繁杂的特性支援。例如,Lua并不提供继承这个特性,但是你可以用元表来模拟它。诸如名字空间、类这些概念都没有在语言基本特性中实现,但是我们可以用表结构 (Lua唯一提供的复杂数据结构) 轻易模拟。Lua可以在运行时随时构造出一个函数,并把它看作一个对象 (正是所谓的first class function) ,这个特性可以很好的满足函数式编程的需要。这是提供了这些基本的元特性,我们可以任意的对语言进行自需的改造。 Lua 原生支援的数据类型非常之少,它只提供了数字 (缺省是双精度浮点数,可配置) 、布尔量、字符串、表、子程序、协程 (coroutine) 以及用户自定义数据这几种。但是其处理表和字符串的效率非常之高,加上元表的支援,我们可以高效的模拟出需要的复杂数据类型 (比如集合、数组等) 。

2013-02-13 · 1 min · 38 words · -

debian & SDL

‘debian & SDL’ http://www.upubuntu.com/2012/01/how-to-install-sdl-12-simple.html SDL (Simple DirectMedia Layer) is a multi-platform multimedia library used by many app/game developers in creating emulators, games, MPEG playback software, etc. Also, when installing some games or software requiring SDL under Ubuntu, you may get these errors while compiling them: configure: error: * SDL version 1.2.0 not found! ** configure: error: * SDL_image library not found! ** configure: error: * SDL_mixer library not found!** configure: error: * SDL_net library not found!** ...

2013-02-13 · 2 min · 275 words · -

SCons

SCons 一、概述 scons是一个Python写的自动化构建工具,和GNU make相比优点明显: 1、 移植性: python能运行的地方,就能运行scons 2、 扩展性: 理论上scons只是提供了python的类,scons使用者可以在这个类的基础上做所有python能做的事情。比如想把一个已经使用了Makefile大型工程切换到scons,就可以保留原来的Makefile,并用python解析Makefile中的编译选项、源/目标文件等,作为参数传递给scons,完成编译。 3、 智能: Scons继承了autoconf/automake的功能,自动解析系统的include路径、typedef等;“以全局的观点来看所有的依赖关系” 二、scons文件 scons中可能出现的文件: SConstruct,Sconstruct,sconstruct,SConscript scons将在当前目录以下次序 SConstruct,Sconstruct,sconstruct 来搜索配置文件,从读取的第一个文件中读取相关配置。 在配置文件SConstruct中可以使用函数SConscript()函数来定附属的配置文件。按惯例,这些附属配置文件被命名为"SConscript",当然也可以使用任意其它名字。 三、scons的命令行参数 执行SConstruct中脚本 ```bash scons ``` scons -c clean scons -Q 只显示编译信息,去除多余的打印信息 scons -Q -implicit-cache hello 保存依赖关系 -implicit-deps-changed 强制更新依赖关系 -implicit-deps-unchanged 强制使用原先的依赖关系,即使已经改变

2013-02-12 · 1 min · 40 words · -

shiro tag

shiro tag <shiro:principal/> - Displays the user's principal or a property of the user's principal.

2013-02-03 · 1 min · 15 words · -

MySQL limit

MySQL limit SELECT * FROM table LIMIT [offset,] rows | rows OFFSET offset SELECT 语句返回指定的记录数 LIMIT 接受一个或两个数字参数。参数必须是整数常量。如果输入两个参数,第一个参数指定返回记录的偏移量,第二个参数指定返回记录行的最大数目。第一条记录行的偏移量是 0(不是 1): 为了与 PostgreSQL 兼容,MySQL 也支持语法: LIMIT # OFFSET #。 SELECT * FROM table LIMIT 2,1; //从第2条开始读,读取1条信息。 MySQL> SELECT * FROM table LIMIT 5,10; // 检索 6-15 行 //为了检索从某一个偏移量到记录集的结束所有的记录行,可以指定第二个参数为 -1: SELECT FROM table LIMIT 95,-1; // 检索记录行 96-last. //如果只给定一个参数,它表示返回最大的记录行数目: SELECT FROM table LIMIT 5; //检索前 5 个记录行 //换句话说,LIMIT n 等价于 LIMIT 0,n。 如果是oracle 可以用rownum实现相同的功能。 ...

2013-02-03 · 1 min · 72 words · -

spring MVC json

spring MVC json spring mvc 返回json格式数据的方式 http://blog.csdn.net/skmbw/article/details/12263253 <dependency> <groupId>org.codehaus.jackson</groupId> jackson-core-lgpl</artifactId> <version>1.9.11</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> jackson-mapper-lgpl</artifactId> <version>1.9.11</version> </dependency>

2013-02-02 · 1 min · 17 words · -

Underscore

Underscore Underscore 一个非常实用的JavaScript库,提供许多编程功能的支持,就像你期望 Prototype.js (或者 Ruby), 有这些功能且不扩展任何JavaScript的原生对象。 It’s the tie to go along with jQuery’s tux. Underscore提供60多个方法,即有普通的功能,例如: map, select, invoke — 也有更多特殊的编程辅助方法,例如: 函数绑定、javascript模板、绝对相等判断等待。 如果一些现代的浏览器提供了内置的 forEach, map, reduce, filter, every,some 和 indexOf方法,Underscore就委托给浏览器原生的方法。 Underscore提供完整的测试用例集供你精读。 你也可以阅读有注释的源代码。 项目代码放在GitHub上,你可以通过issues页、Freenode的#documentcloud频道、发送tweets给@documentcloud三个途径报告bug以及参与特性讨论。 Underscore是DocumentCloud的一个开源组件

2013-02-02 · 1 min · 35 words · -

Java方法返回多个值

Java方法返回多个值 http://hi.baidu.com/xiaoyoue/item/7b905356a33d51948d12ed53 我最初学java用的教材就是《java编程思想》,觉得这本书很多知识讲的很细、很透彻,但对一些知识点不理解,有些是没有读懂,有些是觉得这些知识点 与主要内容不相关。当时项目紧,对这些不理解的知识就过去了,反正已经可以编程了。做了2年的java开发之后,重读这本书的,才发现这些不相关知识的内 在联系,如果当时理会了作者的意图,工作中将会少走很多的弯路。 我重读第12章时,想起自己解决一个问题走了很多的弯路,而在这章都做了详细的讨论与说明,把这个问题拿出来,按我走过的弯路,每一步都讨论一下,希望初学者少走些弯路。 问题一: 在写程序的时候,希望某个方法有两个返回值,如何处理? 讨 论一: 用过C语言的人都知道,其中一个可以通过返回值返回,另一个可以通过一个指针参数返回 (将一个指针变量传入函数,改变指针指向的内容,达到目的) 。 Java没有指针,如何达到这个目的?12章的一段话说的很明白: “事实上,Java中每个对象 (除基本数剧类型以外) 的标识符都属于指针的一种。但它们 的使用受到了严格的限制和规范…"。是否可以利用这点返回多个值?回答是肯定的,java.io.InputStream 类的read方法就是这么用的,参见public int read(byte[] b)。 收获一: java方法的参数传递方法有两 种: 1、按值传递: java的基本数据类型,都是采用的这种方式;2、按引用传递,其它类型的对象,都是传递引用 (句柄) 。传递引用的方式有一个问题,即 两个引用指向同一个对象,在函数中修改了一个对象,同时也修改了函数外的那个对象,即容易引起别名的副作用。 结论一: 在一些情况下,可以利用别名的副作用,达到返回多个返回值的目的。如java.io.InputStream类的read方法。 问题二: 根据结论一,对于自定义的一些类,一般可以作为输出参数,达到返回值的目的,但对于基本数据类型,如何解决呢? 讨 论二: 既然每一个数据基本类型都对应一个包装类,是否可以使用相应的包装类,来达到目的呢?实践发现,这些包装类的对象是没有办法修改的,都是只读类。这 些类的对象,一旦创建,便不能修改,不能使用包装类达到目的。这种情况下,发现用数组可以达到目的,可以创建一个基本类型数据的数组,作为参数传递到方法 中,在方法中改变数组内容,达到目的。 收获二: 发现有些类是只读类,这些类的对象一旦创建,就不能修改;基本数据类型的包装类都是只读 类。这些类实际上使用了《java与 模式》一书中提到的不变模式。不变模式的优点: 1、不变的对象比可变对象更加容易维护;2、线程安全。缺点: 一旦需要修改一个不变的对象,就必须创建一个 新的对象。一些关于String和StringBuffer的区别的讨论,无非就是String采用的是不变模式,而StringBuffer没有采用不 变模式,本质上就是不变模式的讨论而已。 结论二: 对于基本数剧类型作为方法的输出参数的变通手段: 采用基本数据类型的数组可以达到目的,对于基本数据类型的包装类,则达不到目的。 (为了将一个基本数据类型作为输出参数就创建一个数组,只是达到目的的一种方式,不值得推荐使用。) 问题三: 应用结论二,在RMI调用时,输出参数在方法调用时改变了,而在调用处却没有改变。为什么? 讨 论三: 我在写一个rmi服务接口时,采用以下的方法接口: byte[] getFaxByte(Fax fax, int[] page),其中 page作为输出参数,希望在调用时,函数改变page[0]的值,在函数调用过后,通过对page的引用得到修改后的值。在实践中我发现,rmi的服务 和调用在同一台机器上,可以得到正确结果,而rmi服务和调用不在同一台机器上,结果便不正确。 经过单步跟踪,发现了问题根源,原来是自己对rmi的原理不熟,没有理解rmi的基础。 收 获三: rmi是远程方法调用,本质上就是为了让一个JVM能够调用另外一个JVM的方法。Rmi的基本原理是利用stub和skel将远程对象伪装成自己 机器内的某个本地对象。容易忽略的一点: 远程接口的参数、返回参数必须实现Serializable接口;在远程调用时,将参数通过 Serializable传到远程的服务器上,而将远程的返回结果Serializable传回到调用的机器上。在这种情况下,由于参数在方法调用处和方 法的处理引用的不是同一个对象,因而便不会有结论一中提到的别名的副作用,在rmi调用,使用输出参数是不会成功的。 ...

2013-01-29 · 1 min · 100 words · -

java char[] 转 String

‘java char[] 转 String’ public class Test{ public static void main(String[] args){ char[] data={a,b,c}; String s=new String(data); System.out.println(s); char[] chars = s.toCharArray(); } }

2013-01-24 · 1 min · 24 words · -

Mybatis多参数查询映射

Mybatis多参数查询映射 http://fengfan876.iteye.com/blog/1473863 最近在做一个Mybatis的项目,由于是接触不久,虽然看了一下资料,但在实际开发中还是暴露了很多问题,其中最让我头疼的就是selete的parameterType问题,网上这类的帖子虽然有但是不全,很多情况下很难找到你想要的答案。 为此我对这个问题进行了总结,希望对像我这样的新手有一定的帮助。 (一) 单个参数 public List getXXBeanList(String xxCode); select 字段… from XXX where code = #{xxCode} 其中方法名和ID一致,#{}中的参数名与方法中的参数名一直, 我这里采用的是XXXBean是采用的短名字, select 后的字段列表要和bean中的属性名一致, 如果不一致的可以用 as 来补充。 (二) 多参数 public List getXXXBeanList(String xxId, String xxCode); select 字段… from XXX where id=#{0} code = #{1} 由于是多参数那么就不能使用parameterType, 改用#{index}是第几个就用第几个的索引,索引从0开始 ...

2013-01-24 · 1 min · 98 words · -

MyBatis动态传入表名,字段名的解决办法

MyBatis动态传入表名,字段名的解决办法 http://springsfeng.iteye.com/blog/1634234 参考: http://luoyu-ds.iteye.com/blog/1517607 如果要动态传入表名,字段名之类的参数替换SQL语句中的占位副,需要将SQL语句执行改成非预编译的,即: Xml代码 <img alt="收藏代码" src="http://springsfeng.iteye.com/images/icon_star.png" /> statementType="STATEMENT" > <![DATA[ updata user_info_t set ${field} = ${value} where id= ${id} ]]> </update> 同时参数Map中需做下面处理: Java代码 <img alt="收藏代码" src="http://springsfeng.iteye.com/images/icon_star.png" /> Map<String, Object> map = new HashMap<String, Object>(); map.put("field", Constant.ISSUED_PLAN_COLUMN_NAME.get(field)); map.put("value", "'"+value+"'"); map.put("id", id);

2013-01-24 · 1 min · 43 words · -

CSS继承性

CSS继承性 http://developer.51cto.com/art/201009/224897.htm 你对CSS继承性的概念和使用是否了解,这里和大家分享一下,CSS继承特性最典型的应用通常发挥在整个网页的样式预设,需要指定为其它样式的部份设定在个别元素里即可,同时CSS继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。 CSS继承性及其应用 所谓CSS继承性是指被包在内部的标签将拥有外部标签的样式性质。CSS继承特性最典型的应用通常发挥在整个网页的样式预设,需要指定为其它样式的部份设定在个别元素里即可。这项特性可以给网页设计者提供更理想的发挥空间。但同时继承也有很多规则,应用的时候容易让人迷惑,donger今天就专门和大家聊聊这方面的应用。 正文 CSS是层叠样式表 (CascadingStyleSheets) 的简称,它的规范代表了互联网历史上一个独特的发展阶段。现在对于从事网页制作的朋友来说,很少没有听说过CSS了吧,因为在制作网页过程中我们经常需要用到。 CSS允许我们为文档设置更为丰富且便于修改的外观,可以减轻网页设计者的工作负担。这里我们主要想和朋友们一起对CSS继承性和特殊性进行一点深入的探讨。 一、CSS继承性 CSS的一个主要特征就是继承,它是依赖于祖先-后代的关系的。CSS继承是一种机制,它允许样式不仅可以应用于某个特定的元素,还可以应用于它的后代。例如一个BODY定义了的颜色值也会应用到段落的文本中。 二、CSS继承的局限性 在CSS中,继承是一种非常自然的行为,我们甚至不需要考虑是否能够这样去做,但是继承也有其局限性。 首先,有些属性是不能继承的。这没有任何原因,只是因为它就是这么设置的。举个例子来说: border属性,大家都知道,border属性是用来设置元素的边框的,它就没有继承性。如下图所示,如果继承了边框属性,那么文档看起来就会很奇怪,除非采取另外的措施关掉边框的继承属性。

2013-01-24 · 1 min · 16 words · -