编程技术

设计模式之模板方法模式

一.模式概述模板方法(TemplateMethod)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用模板模式.所谓的模板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的模板模式."更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.

系统 2019-08-29 22:51:31 2517

编程技术

KindEditor 编辑器

KindEditor是一套开源的HTML可视化编辑器,主要用于让用户在网站上获得所见即所得编辑效果,兼容IE、Firefox、Chrome、Safari、Opera等主流浏览器。KindEditor使用JavaScript编写,可以无缝的于Java、.NET、PHP、ASP等程序接合。主要特点1.体积小,加载速度快,但功能十分丰富。2.内置自定义range,完美地支持span标记。3.基于插件的方式设计,所有功能都是插件,增加自定义和扩展功能非常简单。4.

系统 2019-08-29 22:44:18 2517

Java

java.util.concurrent介绍

本文由cnblogs博主Caoer(草儿)原创,此处为转载。原文出处为http://www.cnblogs.com/sarafill/archive/2011/05/18/2049461.html如原创作者认为本文侵权,请通知本博。java.util.concurrent包含许多线程安全、测试良好、高性能的并发构建块。不客气地说,创建java.util.concurrent的目的就是要实现Collection框架对数据结构所执行的并发操作。通过提供一组可靠

系统 2019-08-29 22:16:17 2517

编程技术

论坛无限分类的实现原理(zt)

在MYSQL中,数据表大致上是CREATETABLETable_Types(idINTEGERNOTNULLAUTO_INCREMENT,parent_idINTEGER,nodeVARCHAR(255),PRIMARYKEY(id))如上图,紫色的是数据记录的ID号,框内的数字是每条记录的node字段,记录了该记录的父ID和父ID的父ID和...这样,假如我们要在ID为7的记录下,插入一条新ID为13的记录,新记录的node就是1,2,7,13要找一个节

系统 2019-08-29 22:15:57 2517

编程技术

第十七章 OAuth2集成——《跟我学Shiro》

目录贴:跟我学Shiro目录贴目前很多开放平台如新浪微博开放平台都在使用提供开放API接口供开发者使用,随之带来了第三方应用要到开放平台进行授权的问题,OAuth就是干这个的,OAuth2是OAuth协议的下一个版本,相比OAuth1,OAuth2整个授权流程更简单安全了,但不兼容OAuth1,具体可以到OAuth2官网http://oauth.net/2/查看,OAuth2协议规范可以参考http://tools.ietf.org/html/rfc674

系统 2019-08-29 22:00:42 2517

Java

将BIRT整合到自己的Java项目中(二)

关于编写viewer,关键在于使用ReportEngineAPI,这个在birt官方文档上有很详细的描述。这里将几个主要环节总结一下:启动ReportEngine这里需要注意启动ReportEngine的开销问题和图片链的协议的问题。使用IReportEngineFactory比每次new一个出来性能方面要好很多。使用HTMLEmitterConfig可以使得生成的HTML报表中的图片的src指向一个web资源而非file资源。publicIReportE

系统 2019-08-12 09:30:39 2517

编程技术

按自己理解设计搜索引擎数据

最近想研究一下搜索引擎,看资料前,前几晚趟在床上初步琢磨了一下;其实自己以前也有些零星的想法,先把自己的初步方案记录下来。再和Lucence等对比一下,检验一下自己的想法。主要是搜索引擎的基本架构和数据模型。1.基本架构按照使用这么多年Yahoo,Baidu的经验,SearchEngine要做的事儿就是:输入几个关键字,查询出很多的网址列表。列表一般按匹配度,网址的跳转频率等排序,也要简单列出该网页的前几十个字作为摘要。所以查询模块是最外层的,也是第一个模

系统 2019-08-12 09:30:17 2517

Android

android程序开源源码贡献

AndroidPDF阅读器http://sourceforge.net/projects/andpdf/files/个人记账工具OnMyMeanshttp://sourceforge.net/projects/onmymeans/developAndroid电池监控AndroidBatteryDoghttp://sourceforge.net/projects/andbatdog/RSS阅读软件AndroidRSShttp://code.google.co

系统 2019-08-12 09:29:57 2517

Java

查看tomcat启动文件都干点啥---Catalina.java

在前一章查看tomcat启动文件都干点啥---Bootstrap.java中我们得出结论,在Bootstrap中通过反射调用Catalina类中的getServer,start,stop,stopServer等方法,下面看一下Catalina类中给外部提供的公共方法:Start:其中Catalina类的入口当然是start方法.start方法实现了启动一个新的server事例的功能,看一下start方法的内容:1publicvoidstart(){23if

系统 2019-08-12 01:33:02 2517

Java

未来趋势分析:Linux有可能成为java OS

发布时间:2009.03.1704:48来源:赛迪网作者:fen【赛迪网-IT技术报道】Sun公司已经开放了对java技术的最后限制,并且鼓励在linux发行版中集成java平台和netbeans框架,在未来的时间内java很可能成为linux的内建功能。对java技术的实现,目前有三种方式:java虚拟机、java操作系统、java硬件系统(java卡),目前应用最广泛的是java虚拟机,但无疑用操作系统来实现java功能可以获得更高的性能。苹果的Mac

系统 2019-08-12 01:32:21 2517

Python

Python做的一个精简版学生信息管理系统【简单】【实用】

因为最近打算开发一个信息管理系统,有点复杂。作为初学者的我不是很懂。所以从简单的开始,先练练手。一步一步来,踏踏实实的走。千里之行始于足下。所以参考网上的一篇技术文章,稍微修改了一下,做了这个系统。文章链接:https://blog.csdn.net/xiao_huo_ban/article/details/79808778(本来想弄转载的,但是要原文作者允许太麻烦了)截图:废话不多说,上代码!代码:student_information.py#!/usr

系统 2019-09-27 17:56:19 2516

Python

Python依赖包整体迁移方法详解

1.新建site-packages目录,进入到site-packages目录下;2.在site-packages目录下执行pipfreeze>requirements.txt;3.查看requirements.txt,可以看到当前机器的python所有依赖包已生成列表​4.在当前目录下执行pipdownload-rrequirements.txt,可以看到pip开始下载依赖包列表中的所有依赖包​5.等待下载完成后,可以看到当前目录下已经有了依赖包文件​6.

系统 2019-09-27 17:56:10 2516

Python

python实现每次处理一个字符的三种方法

本文实例讲述了python每次处理一个字符的三种方法。分享给大家供大家参考。具体方法如下:a_string="abccdea"print'thefirst'forcina_string:printord(c)+1print"thesecond"result=[ord(c)+1forcina_string]printresultprint"thethrid"defdo_something(c):returnord(c)+1result=map(do_some

系统 2019-09-27 17:55:36 2516

Python

python 操作CDH的HDFS

环境:安装了pyenv,pippyenvglobal3.6.8pipinstallhdfspipinstallipython(个人喜欢使用pyenv的自动补全功能)安装完hdfs后建议重启,测试过程出现了hdfs模块找不到的情况注意:客户端分为Client和InsecureClient,Client需要验证权限In[1]:fromhdfsimportInsecureClientIn[2]:client_hdfs=InsecureClient('http:/

系统 2019-09-27 17:55:35 2516

Python

【Python基础学习】—时间转换函数

前言python的时间格式分为多种,几种格式之间的转换方法时常是我们遇到的而且是经常忘记的点,python不像php,时间字符串和datetime是一起的,只需要strtotime和date函数就可以相互转化。虽然网上已经有很多python时间转换的文章,但是由于作者本人经常做海外业务,需要各种时区之间的转换,所以这篇文章会对按时区转换各种时间格式做一个总结。转换方法图示(图片转自网络):一、字符串转时间戳1、默认:importtimedeftime_st

系统 2019-09-27 17:54:33 2516