`
xusulong
  • 浏览: 80955 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论
文章列表
      晚上18:30开始的宣讲会,我在18:10分的时候才知道,因为看见JLH的同学赶过来,硕士阿里有实习生招聘,于是匆匆赶往实验室,扫了下实习的岗位,更新了简历,迅速准备好,杀到就业指导中心(南园西侧)。       ...
前些日子琢磨着想搭建一个搜索引擎,自己写成本有点高,虽然以前写过爬虫,但是索引排序估计要烦得多 nutch   是一个开源的、Java 实现的搜索引擎。它提供了我们运行自己的搜索引擎所需的全部工具。是一个应用程序,可以以 Lucene 为基础实现搜索引擎应用。 选定nutch之后,开始着手学习使用nutch,英文水平还不够,只能看看nutch的简单的tutorial,但是真正当教程,我还是选择了中文,可以让第一个搜索跑起来之后再选择学习英文的文档,以便更深的理解。 我选择的教程是 nutch入门学习  准备工作: 我的系统是Ubuntu 9.10,java -versio ...
第57条:只针对异常的情况才使用异常 异常应该只用于异常的情况下,不该用于正常的控制流 // Horrible abuse of exceptions. Don't ever do this! try { int i = 0; while(true) range[i++].climb(); } catch(ArrayIndexOutOfBoundsException e) { }   设计良好的API不应该强迫它的客户端为了正常的控制流而使用异常,可以提供状态测试(hashNext())或者可识别的返回值(return nul ...
第45条:将局部变量的作用域最小化 要使局部变量的作用域最小化,最有力的方法就是在第一次使用它的地方声明 几乎每个局部变量的声明都应该保护一个初始化表达式 例外,try-catch,因为初始化会被抛异常,那么在try外声明,在内部初始化 使方法小而集中,使得一个操作相关的变量不会被另一个操作的代码操作 第46条:for-each循环优先于传统的for循环 迭代器和索引变量更容易出错 for的for(int i = 0; i < a.lenght; i ++) 每次a.length都执行,性能低,容易忘记 例外 过滤:遍历删除部分元素,用remo ...
第38条:检查参数的有效性 当编写方法或者构造器的时候,应该考虑它的参数有哪些限制。应该把这些限制写到文档中,并且在每个方法的开头处,通过显示的检查来实施这些限制。即应该在发生错误之后尽快检测出错误 ,可 ...
第30条:用enum代替int常量 枚举类型对比int枚举,String枚举等 易读(不同枚举可以包含同名等) 更加安全(不同枚举值不可以互操作) 功能更加强大(可以添加任意的方法和域,并实现任意接口,为了将数据与枚举常量关联起来,得声明实例域,并编写一个带有数据并将数据保存在域中的构造器) 可以将数据与枚举常量关联起来,得声明实例域,并编写一个带有数据并将数据保存在域中的构造器   可以将不同行为与每个枚举常量关联起来,特定于常量的类主体   如果多个枚举常量同时共享相同的行为,则考虑策略枚举,而不是switch   枚举中的switch语句适合于给外部的枚举类型增加 ...
该章23-29条主要讲述使用泛型对编程的安全性所带来的好处以及可以使API得到更广泛的应用。 23条:不要在新代码中使用原生态类型 使用原生态类型如list,你不能确定该对象里面的元素到底是什么type,会发生ClassCastException的错 ...
  Symmetry—The second requirement says that any two objects must agree on whether they are equal. Unlike the first requirement, it’s not hard to imagine vio- lating this one unintentionally. For example, consider the following class, which implements a case-insensitive string. The case of the ...
这是我在做rdf的sentence时候遇到的问题,本来以为是个很复杂的问题,最后才发现是一个不起眼的地方酿成的大错。 此问题可以简单示例成如下问题: 找到ArrayList a = {"a", "*", "*", "b", "*", "*", "c"}中为"*"的那些元素,并且将这些元素删除 开始的时候不假思索就写下了下面的代码 错误的写法 public static void guardProblem(ArrayList ...

主定理

主定理
问题描述: 算法导论 习题 5.4-1 一个房间必须有要有多少人,才能让某人和你生日相同的概率至少为1/2?必须要有多少人,才能让至少两个人生日为7月4日的概率大于1/2? 分析和解决: 其实这个问题并不难,然而一开始我大意了,于是就出错了,于是决定仔细分析,写下来。首先假设不考虑闰年。 对于第一个问题: 假如从正面出发,就需要考虑有多少人和你同生日,很复杂,反过来考虑;用p(k)表示有k人与你生日相同,则p(0)表示没有人和你相同,那么问题就是1-p(0) >= 1/2,而p(0) = (364/365)^n ,因为你的生日是确定的 对于第二个问题: 分析类似于第一个,7 ...
http://www.searchtools.com/info/classifiers.html Taxonomies, Categorization, Classification, Categories, and Directories for Searching     The terms taxonomy , ontology , directory , cataloging , categorization and classification are often confused and used interchangeably. Th ...
    前一段时间实现了一个系统     http://iws.seu.edu.cn/services/digo/ 主要致力于对象搜索,让用户能快速找到他想要的那个对象,而不是同名的另一个对象 搜索的第一个界面,会返回四个聚类,每个类有一些属性,属性值对,用来向用户说明该聚类中描述的一些对象相关的数据,以便用户判断他要找的对象在那个类中。     对聚类可以进一步划分,可以选择一个或多个用户认为可能保护他要找的对象的类,然后点击continue,这个操作的含义是对选择的几个聚类划分成新的4个类,如果选择的是4个类,或者选择的几个类已经不可划分,那么continue将是灰化的,这时候用 ...
        由于我做的系统,有一个页面需要从后台返回很多数据,这样处理起来就会很耗时间,最后会导致浏览器死掉,或者跳出脚本忙,停止调试还是继续之类的字样。 后来到网上搜了下,解决办法大抵就是让自己的代码一次执行的时候执行一小块,不要执行的太多或者循环嵌套比较深,同时还可以借助于setTimeout来让代码间隔执行。   针对我的代码,开始在each里面,我设置了个setTimeout的函数,结果发现根本不起作用阿,各个each中的元素还是几乎同步进行。后来有个哥们提示我each是并行的 ,异步的,需要改成for,这种同步的才能真正实现效果,于是我用类似于以下的代码来实现了js分块 ...
在做字符转义的时候遇到的问题,本来我是这样的代码 for(var i = 0; i < input.lenght; i ++) { var c = input[i]; var output = "" switch(c) ...... return output; }   在ff下面运行良好,没有任何问题,可是到了ie下面就是出错,后来搜了半天,一开始还以为是其他部分代码的问题,后来调试的时候,直接return input,就没有问题,于是知道了是这段代码的问题,然后又搜了下,定位到了input[i]这里 ...
Global site tag (gtag.js) - Google Analytics