`
AngelAndAngel
  • 浏览: 234724 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论
文章列表
到年尾了,整理了一下我Evernote藏的各种文档,打算把ystyle(一款小的mvc框架)的开发文档发出来,觉得自己对mvc玩的太熟了的可以略过,觉得对mvc原理不是太清楚的是可以看看的。 下面不是打广告时间,但是做任何事情得有个目的,后面几篇文章的的目的是做这样一款MVC: 1,实现跳转常用配置 (xml) 2,实现请求属性自动注入,支持文件自动上传(注解,如@UploadFile) 3,实现各层级注入(@Autowired),业务层注解注入(@service),事务注解(@Transactional),自定义注解(包括各种自定义jdk动态代理注解,如@Proxy),单例注解(Sin ...
注解注入 我们知道,Spring只有一个角色:工厂。这个工厂可以生产出任何你想要的对象或依赖,并且在出厂前后可以无限制的增强功能。 Spring最基础的功能就是注入,其中注解注入的方式消除了文件配置的繁琐,让人爱不释手。我们做的这个小框架虽然没法完全依照 它的实现,但是我们可以发挥小而精的特色,做好同样的功能。 首先新建注入注解Autowired @Retention(RetentionPolicy.RUNTIME) @Target(ElementType.FIELD ) public @interface Autowired { /** * 注入依赖的类 必须 ...
  当表单提交的内容过多 ,让懒惰的程序员一个个getParameter()是很让人抓狂的,所以自动注入表单域是mvc不可或缺的功能,另外,文件上传也是一个特殊的表单域,你想看到程序员发觉上传只需要注入就能完成功能时的那种欣喜吗  ? 我们一起做做看。     我们依然从最简单的开始做,慢慢的润色。     注入表单的思路比较简单:     1,在form里面的name需要设置成诸如userinfo.username这类的,userinfo表示注入的目标对象,username表示userinfo对象的属性。这个对象必须是Action里面声明的     2,MainServlet在接收表单时,从g ...
     mvc框架最基础的功能就是跳转,struts2支持注解+xml配置跳转,我个人认为用注解来配置跳转不是一个好的做法,看似比较简单,但是action多了之后查找起来比较不方便,而且把配置信息放在类里面实际上跟解耦理念是相悖的(不过每个人有自己喜好),所以在这里我打算把跳转层设计成xml配置的,其他层设计成注解的。       配置跳转需要用到的知识有:反射,xml读取。反射是实现动态装配的基础,它使我们的程序更具动态性,可扩展性,几乎所有流行的框架都以它为基础实现。xml读取基本都会采用dom4j完成。       mvc实现跳转的过程:xml配置命名空间,Action处理类,请求的ac ...
今天在阿里云架了一个svn,打算放平时的代码片段,还是记下过程吧。 centos上安装:yum install subversion 安装成功    键入命令  svnserve --version 有版本信息则进行下一步 1,新建版本库目录  mkdir  -p /opt/svndata/repos 2,设置此目录为svn版本库  svnadmin create /opt/svndata/repos 3,修改svnserve.conf,把anon-access,auth-access,password-db,authz-db的注释去掉(注意前面不能有空格,下同),另外现在yum最新的sv ...
    弄了一个小的爬取流程框架,把之前工作中用到的一些小经验整合在这个框架里面,代码方面稍显简陋,但是易用性还可以,至少满足之前工作上遇到的各种状况,这段时间还是有点忙的,以后用到再改进吧 地址: http://code.google.com/p/ycrawl/
    Mahout有很多推荐的实现,各有特点,在这里一并记录。     GenericUserBasedRecommender: 基于用户的推荐,用户数量相对较少时速度较快。     GenericItemBasedRecommender:基于物品的推荐,物品数量较少时速度较快,外部提供了物品相似度数据后会更加有效率。     SlopeOneRecommender:基于slope-one算法(想想那个填空的表格吧)的推荐,在线推荐或更新比较快,需要先下大量的预处理运算。物品数量相对较少时使用比较合适。     SVDRecommender:效果不错,和slope-one一样,事先需要大量的预 ...
     在大规模检索中,我们怎样通过已经的词频得到词频的排序? 通俗点讲,就是当我知道“java”这个词的频率是x,那么"java"到底在排在第几位呢?       大规模数据中,有一个重要的法则叫“齐普夫法则”,它描述为第k个出现次数最多的词汇,它的词频与1/k成正比。这个法则的发现过程一点都不科学,齐普夫是这样干的:找到一本大部头的书籍,统计不同词汇出现的次数并排序,发觉词频的排序乘以出现的次数等于一个常数。然后这个常数乘以10,就得到了书籍的总词数。多么荒诞的事情啊,这比牛顿被苹果砸了更坑爹啊有木有。        但是,这个法则竟然是正确的(没什么道理啊,我想起了黄 ...
   最近做财务相关的积分规则,由于这个功能以后涉及到方方面面,所以想尽可能做的可维护,可扩展,平台其他人调用起来更加方便,联想到财务相关的功能会更多的规则配置,在这里打算用drools规则引擎来实现。    规则引擎说起来比较简单,当你的功能有很多未知条件需要判断或需要遵循很多业务规则时,就可以采用。    首先看看规则文件大大致样子,    rule "testDrools" when ...各种条件 then ...执行业务 end 看起来比较像if else,但是切忌,我们应该用一个业务人员的视角而不是一个程序员的视 ...
    昨天实现了一个基于贝叶斯定理的的文本分类,贝叶斯定理假设特征属性(在文本中就是词汇)对待分类项的影响都是独立的,道理比较简单,在中文分类系统中,分类的准确性与分词系统的好坏有很大的关系,这段代码也是试验不同分词系统才顺手写的一个。     试验数据用的sogou实验室的文本分类样本,一共分为9个类别,每个类别文件夹下大约有2000篇文章。由于文本数据量确实较大,所以得想办法让每次训练的结果都能保存起来,以便于下次直接使用,我这里使用序列化的方式保存在硬盘。   训练代码如下: /** * 训练器 * * @author duyf * */ class Tra ...
今天是8月15,抗战胜利纪念日 ,为什么腾讯新闻里面一个字都没有,再不宣传就被遗忘了。 勿忘国耻!
  这几个是我自写的常用的js组件,包含自动补全,js字典,table动态增减,使用比较方便,代码清晰,虽然本人js水平不高,但是这几个是在实际工作中用的较多的,可信赖。
   在介绍最小生成树算法(MST)之前,简单说一下平均链接算法(average-link)的实现过程,平均链接聚类算法和单链接类似,多了计算聚类之间距离矩阵的步骤    实现步骤如下:            1,将元素各成一组,把这些组放入容器H       2,循环元素距离数组,根据两层下标得到将要比较的两个元素A,B       3,在H中分别查找含有A,B的组AH,BH。假如AH不等于BH(也就是A,B不同组),  AH和BH的距离累加A,B的距离。       4,得到组间距离数组后,循环比较组间距离与阀值,小于阀值,则此两组合并成一组,合并之前把H中的两个作为比较的原始组删除。   ...
      聚类算法中基于链接的算法大致有三种:单链接算法(single link),平均链接算法(average link),最小生成数算法(minimum spanning tree)。现在实现单链接算法,其他算法以后再续吧。        单链接算法的过程是 首先生成各个元素的距离矩阵,根据距离和阀值的比对来控制生成的聚类个数,阀值越大,生成的聚类越少,直到同属一类。        下面例子实现了根据经纬度来实现城市的聚类。       package singlelink; import java.util.ArrayList; import java.util.H ...
   PageRank算法是Google的核心搜索算法,在所有链接型文档搜索中有极大用处,而且在我们的各种关联系统中都有好的用法,比如专家评分系统,微博搜索/排名,SNS系统等。    PageRank算法的依据或思想:     1,被重要的网页链接的越多(外链)  ,此网页就越重要     2,此网页对外的链接越少越重要     这两个依据不能是独立的,是需要一起考虑的。但是问题来了,我们怎样判断本网页的外链是很重要的呢?循环判断?那不死循环了?     解决办法是:给定阀值,让循环在此临界处停止。    首先,我们准备了7个测试网页,这几个网页的链接情况如下:       i\j test ...
Global site tag (gtag.js) - Google Analytics