芥为之舟

基于反射实现简单的ORM

面向对象语言的一个优势在于抽象,将现实的业务需求抽象和构造成为程序的可用实体对象,使程序员在编程时候的思考方式更加贴近现实业务的运转方式。另一方面数据在使用过程中又经常会需要持久化,一般可以简单理解成将数据存储到数据库中。现在流行的关系数据库(NoSQL另做讨论)主要以表(具有行和列)为对外提供展示和保存数据的基础结构,行表述存储的数据量,列标识数据的模式(Schema)。如果使用面向对象语...

jQgrid 行内编辑

jQgrid是一个基于jQuery实现的表格插件,提供了十分丰富的API以供开发者使用,不过也由于版本更迭和本身支持的原因,在网络上查找一些相关资料的时候,总是会有许多种不同的解决方案。下面描述一个使用jQgrid3.8.2来实现的行内编辑功能。 下面为进行行内编辑的Grid代码,可用的编辑单元格为’useCount’和’loadRate’. 单元格光标移除之后,将数据保存到本地Table。...

记忆搜索

在递归调用中,可能会有一些数据会被重复计算。这时候可以考虑使用记忆化搜索或者动态规划将其中的一些值保存起来,避免后续的调用重复计算。例如在计算斐波那契和的时候,任何一个值在拓展后都可能被重复计算多次,并且每次的值都是一样的。因此采用这种方法可以进行优化。 //用于存储已经计算过的斐波那契数列 private static int[] mem; //一般版本 public static i...

Ruby的运行过程

Ruby是一门脚本语言,默认是按照语句出现的顺序进行执行,通过控制结构可以变化行为,比如循环等。 Ruby与C等编译语言相比,没有一个main方法可以作为执行的入口,而是接受一个待执行语句的脚本,然后从第一行代码执行到最后一行。Ruby解释器现在文件中扫描BEGIN语句,然后执行该语句所包含的代码,执行BEGIN代码块之后,会回到第一行代码开始顺序执行。 ...