一切就交给时间,它会给我答案。
今天早上打算对这两天学习的Lucene以及Compass总结一下,想来想去,还是写个小项目来验证最好了。于是就有了今天的这篇文章。难易程度适合对于Compass或者Lucene刚入门的童鞋,大牛看到后望轻喷 :-) 项目预览 项目需求 项目目录 核心处理 发帖部分 查询部分 总结 项目预览 项目需求 这是一个小项目,唯一实现的就是发帖以及站内搜索功能。
要想使得一个搜索系统更加的完美,查询精确度和页面显示算是其中比较重要的两个方面。今天,我们就来谈谈怎么使得我们的搜索系统更加的完美。 关于分词 下载地址 配置 关于高亮 关于排序 原理 冗余字段 使用方式 测试排序 关于过滤 原理 冗余字段 如何使用 测试过滤 关于查询 总结 关于分词 分词的好坏直接关系到我们的查询系统的精准度。
经过了Compass 更智能的搜索引擎(1)–入门的学习,想必对于Compass的使用有了更深的认识了吧。下面谈点更加切合实际开发的东西。那就是CRUD. 面向对象的分页 dao层实现 代码释义 优点一 优点二 面向对象的分页 分页获得的一个个的页面本身就是一个对象,所以我这样设计页面Page.
经过了前面几篇文章的学习,我们基本上可以适用Lucene来开发我们的站内搜索应用了。但是观察一下目前的主流的搜索引擎,我们会发现查询结果会有高亮的显示效果。所以,今天我们就来学习一下,给Lucene添加以下高亮的显示效果。
看完前两篇博客之后,想必大家对于Lucene的使用都有了一个比较清晰的认识了。如果对Lucene的知识点还是有点模糊的话,个人建议还是先看看这两篇文章。 全文检索 Lucene(1) 全文检索 Lucene(2) 下面来谈一谈使用Lucene查询的分页机制。
接着全文检索Lucene (1) 。 下面我们来深入的研究一下,如何使用Lucene! 从全文检索Lucene (1)中我们可以看出,Lucene就好比一个双向的工作流,一方面是对索引库的维护,另一方面是对查询过程的支持。
Lucene是apache开源的一个全文检索框架,很是出名。今天先来分享一个类似于HelloWorld级别的使用。 工作流程 依赖 我们要想使用Lucene,那就得先引用人家的jar包了。
文件上传下载对于一个网站来说,重要性不言而喻。今天来分享一个JavaWeb方式实现的文件上传下载的小例子。 项目依赖 项目目录 工作流程 文件上传 表单处的设置 服务器端 上传功能的实现 uploadjsp messagejsp UploadHandleServ...
JQuery的Validation插件可以到http://plugins.jquery.com/上去下载。今天来分享一下,关于这个插件的使用。 简易使用 这第一种方式可谓是傻瓜式的使用,我们只需要按照validation定义好的规则就可以了。
网页选项卡可以较好的利用有限的页面来展示更多的元素,而使用JQuery来制作网页选项卡也是一件非常简单的事情。今天就来分享一个网页选项卡的制作小技巧。 引入所需库 选项卡原理 业务核心 完整小例子 引入所需库 这个知识点很基础,但是为了照顾fresh man ,我还是写一下吧。
对于JavaScript而言,进行表单数据的验证可谓是很有必要的,而且一般我们都会在网页上先进行一下表单验证,然后服务器端再次进行验证,来确保用户提交数据的准确性。下面就来分享一个JQuery实现的表单验证。
我们在编写网页的时候不可避免的会遇到输入框,那么怎么设计输入框才能更加优雅呢?不同的人会有不同的答案,下面分享一个比较不错的设计。 效果图 初始化效果 输入框获取鼠标焦点 密码框属性动态变化,实现密码特效 细节 这个效果主要是通过JQuery来实现,我的思路如下: 输入框获取鼠标焦点之前,显示原标签的value属性值;获取了鼠标焦点之后,如果当前value有值,那就清空,否则恢复;密码框特殊照顾,待会讲。
放暑假了,终于有时间能学点前端的东西了。JQuery就是我第一个选择,锋利的JQuery。这本书真的很好。下面以一个ToggleButton形式的小例子开场吧。 引入JQuery库 在网页上引用JQuery并不是一件难事,我们通常来说有两种方式。
今天隆重的推荐一个纯CSS实现的现代化具象派史诗级大作。 CSShake.一款能让你的网页元素舞动起来的神奇样式表。 样例Demo 说的再多不如来张图片给力,下面我强烈建议看到这篇文章的童鞋看看下面的这个网站csshake展示页面 怎么用 CSShake使用起来也是很简单的,我们既可以将源码下载下来,将这些样式文件添加到我们要进行添加样式的网页。
今天在观看孔浩教学视频的时候,学到了关于版本管理的比较基础的知识,于是拿来mark一下,以备今后复习之用。 外观 这里说的外观指的是软件开发过程中的版本信息,类似于 mysql-connector-java-5.1.7-bin.jar 都是三位数字来进行区分的,比较详细的后面还会带有里程碑 部分。
今天分享一下一个模板语言的使用,它就是Freemarker,有点类似与前些日子做Python的Django中的模板语言,其实原理上都是相似的。所以这里就不对那些基础性的语法类的直至进行讲解了,就拿几个实用的小例子来分析分析。
Lambda的出现就是为了增强Java面向过程编程的深度和灵活性。今天就来分享一下在Java中经常使用到的几个示例,通过对比分析,效果应该会更好。 – 1、实现Runnable线程案例 其存在的意义就是用Lambda来代替匿名类,如下: // before java 8...
今天来写点不一样的。如下图: 实现的效果就是原生的类似于导航形式的frameset. frameset 注意: 包含frameset的网页应该只是作为框架而存在,所以不能有body标签。
之前一直对apache的DbUtils很好奇,也很佩服其中的设计上的智慧。于是就自己模拟实现了一个更加简便的小框架。我们只需要在配置文件中写上数据库层面的连接信息,就可以随心所欲的实现自己的需求了。
前几天接触到了apache的一个小框架DbUtils,真的被其优雅的设计所震撼到了,尤其是其中的 MyBean mybean = QueryRunner.query(sqlConnection,sqlStatement,new BeanHandler(),params); 当时真的是感觉到很是神奇,仅仅是指定了一下那个Bean类的全名,就能从数据库结果集中自动的生成我们需要的Bean对象,真的是太优雅了。
今天分享一个比较好玩的博客系统拓展,非常的适合于Django等由模板语言开发的博客系统。那就是添加一些好玩的元素。比如访问人所在国家,博客的浏览总次数以及添加博客评论系统等等。 准备工作 flagcounter.com : 这是一个可以定制地图实现的网站,添加很少的代码就可以实现。
想必大家都用过apache 的DbUtils吧,这个简单的对JDBC的封装小框架真的是非常非常的适合新手的学习呢。逻辑上也不是很复杂,难度刚刚好。 下面我就模仿它来实现一个字符串的处理小框架。
今天看到了一个Python库,名为markdown。瞬间就给了我一个灵感,那就是制作一个将markdown文件转换成html文件的小工具。 我的实验环境 操作系统: Windows 7 64位 旗舰版 Python版本: 2.
Python真的是让人爱不释手啊,一直以来都不知道如何自动投票,然而今天有幸看到了PAM30,下面谈一谈我一个小案例吧。 准备 PAM30下载地址 编码前注意 由于一开始没有什么概念,还以为是个第三方的库,就尝试着使用pip安装,结果却是这样的。
相对于Java方式的聊天室,Python同样可以做得到。而且可以做的更加的优雅。想必少了那么多的各种流的Python Socket,你一定会喜欢的。 至于知识点相关的内容,这里就不多说了。
一直以来对optparser不是特别的理解,今天就狠下心,静下心研究了一下这个库。当然了,不敢说理解的很到位,但是足以应付正常的使用了。废话不多说,开始今天的分享吧。 简介 optparse模块主要用来为脚本传递命令参数功能. 引入 在IDE中引入optparser是很方便的。
apache-commons-email是对mail的一个封装,所以使用起来确实是很方便。特别的,官网上的tutorial也是极其的简单。但是我也仍然是遇到了没有解决的问题。 jar包的添加 mail.jar && activation apache-commons-email.jar 一开始我没有添加上面的mail.jar ,然后就导致在编码的过程中,各种报错。
听说Apache的DbUtils很好用,而且是对jdbc的简单的封装,所以可以和jdbc一起混搭,多以今天就来尝试一下,关于DbUtils 是如何使用的。 准备 数据库: MySQL 依赖: mysql-connector-java-5.
前两篇文章都是关于setProperty的,下面来说一个关于getProperty 的小案例。如下: MyClass.java package beanutils; public class MyClass { private String classnam...
一般来说,BeanUtils自带的Converter基本上可以满足我们在开发过程中的使用了,然而很多时候我们还是需要自定义一些转换器。 MyBean.java package beanutils; import java.
这里仅仅是为了记录一件十分奇怪的事情,在使用BeanUtils的过程中,所有的依赖包都添加了, common logging common collections ··· 在为boolean 这种基本的数据类型添加Property的时候,然而还是出现了: java.lang.ClassNotFoundException: org.apache.commons.collections.FastHashMap 然后我就开始了Bug寻找之路,如下。
很多时候我们不能一直守护在自己的电脑旁边,而且有些文件并不想让别人知道。那么这时候来个锁屏,是再合适不过的了。今天分享一个自制的锁屏工具,如下。 准备 操作系统 : 我这里是ElementaryOS虚拟机 + XShell 远程登录工具 Shell语言 : 我使用的是默认的Bash Shell 其他小工具 : fortune:系统随机的从语库中选出一句英文成语。
今天学到了一招,那就是使用脚本制作一款网页版相册浏览器。先上图吧。 必备基础 操作系统: 以linux为内核的操作系统都行 编程语言:Shell(bash)脚本,相关基础知识即可 下载工具:wget 图片处理工具: ImageMagicK, 解压缩工具 : rar ,bzip都行 额外技能:一些基本的Linux操作命令,如此即可。
wget 大法好啊,废话不多说,下面开始wget之旅吧。 下载限速 wget命令有一个内建的选项可以先顶下载任务占有的最大的带宽,从而保证其他应用程序的流畅运行。 具体使用--limit-rate 数字k(千字节)/m(兆字节) 举例: # 以20k速度下载一个iso文件 wget --limit-rate 20k http://example.com/file.iso 额外的,wget还可以指定最大下载配额(quota)一旦配额用尽,下载也就会随之停止。
相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 Shell:我用的系统默认的bash,(其实这个无所谓了) 基础: 了解关于shell脚本的基本的语法即可。
目前而言,编程语言真的是太多了。每一种都是一种智慧的结晶,但是每个都存在其缺点。网上经常能看到一些程序员争论“XX是世界上最好的语言”之类的话题。其实我们大可不必这样。语言本身只是一种工具,一种帮助我们实现自己功能的工具。
mkdocs是Python的一个对 Markdown 友好的文档生成器。,小巧精美。 MkDocs is a fast, simple and downright gorgeous static site generator that’s geared towards building project documentation.
关于存储过程的优点,本文不再阐述。这里只是对创建存储过程时可能遇到的问题做一下简单的分析。 必备基础 这里说的基础,是相关于如何创建一个存储过程的。 DELIMITER:分隔符,定界符。
异想天开的想记录一下自己每天的键盘键位走向,于是就在网上搜索了一下相关的实现,然后就发现了一个第三方的库pyHook.封装的很好,我们只需要傻瓜式的调用里面的API就可以了。 下面是我在使用pyHook 的过程中遇到的问题和经验总结。
破釜沉舟型 得过且过型 莫名追风型 囫囵吞枣型(有重复) 遇到一个问题,首先问下自己。真的解决不了吗?还是说自己的心根本没有静下来呢。其实我们大部分都是后者,那为什么不坐下来认真的思考思考呢?我觉的可能大部分人还是内心太浮躁。
作为一个整天与代码打交道的人,你真的会coding吗? 今天依旧来反思一下自身。 伊始 大一的时候,刚接触到了C语言,一门神奇的语言。老师就教导我们要多敲例子,照着书本敲就可以了。
不经意之间已经接触代码一年多了,回头看向大一那时候的自己,什么都不懂,但也能过得很开心。今天就写点东西,给未来的自己一个回忆。 编程伊始 大一下开始接触Java,到现在整整一年了。
这几天忙着使用Python+Django+sqlite 搭建自己的博客系统,但是单纯的使用H5的TextArea,简直太挫了有木有。所以,就想模仿一下人家内嵌到网页上的Markdown编辑器,从而让自己的博客系统更加美观一点。
跌跌撞撞,总算是建立起来了。回首走过的这么多坑,也真的是蛮不容易的。那么就写点东西,记录我是怎么搭建的吧。 准备工作 安装Node.js: 用于生成静态页面,我们需要到官网上去下载即可。
以前也只是知道数据库中有视图这么个概念,但是没有去深究,今天正好有时间,就来总结一下吧。 视图的定义 视图就是从一个或多个表中,导出来的表,是一个虚拟存在的表。视图就像一个窗口(数据展示的窗口),通过这个窗口,可以看到系统专门提供的数据(也可以查看到数据表的全部数据),使用视图就可以不用看到数据表中的所有数据,而是只想得到所需的数据。
今天看到了一篇非常好的博文,拿来和大家分享一下。 内容包括了: 用户注册时输入数据的校验 使用widget进行字段设置 实现自定义的校验规则 参考自下面的这篇文章 $(function () { $('pre.
昨天介绍了怎么使用Git Shell来commit我们的代码,但是这都是简单的操作,我们还没有使用到Github是怎么进行版本控制的呢。所以,今天就来介绍一下,怎么来做版本控制吧。
今天分享一下我的一些小经验,那就是向github提交我们的代码。之前一直是直接使用的浏览器完成的代码的下载任务,没有使用过客户端,为了让自己在工作之前熟练使用GitHub,所以就有了下面的这篇博文了。
今天分享一下Django实现的简单的文件上传的小例子。 步骤 创建Django项目,创建Django应用 设计模型 处理urls.py 以及views.py 设计模板,设计表单 运行项目,查看数据库 下面我们就一起来分别完成每一个小部分吧。
今天花了一些时间搭了一个博客系统,虽然并没有相关于界面的美化,但是发布是没问题的。 开发环境 操作系统:windows 7 64位 Django: 1.96 Python:2.7.11 IDE: PyCharm 2016.1 功能篇 既然是博客系统,发布的自然是博客了。