自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(33)
  • 资源 (4)
  • 收藏
  • 关注

原创 Jira每次登录显示验证码

背景:在Jira的生产环境中,由于各种原因,不能直接设置密码策略(比如,用户来自LDAP),存在不少用户的密码设置过于简单,容易导致机器人的攻击,带来安全隐患。另外,由于历史诸如Remote API调用的原因,Jira也不提供登录页面直接提供验证码的功能,这使得安全隐患进一步暴露。本文尝试对Jira源码进行一定的修改,使得用户首次登录时强行出现验证码。当然也可以通过扩展Jira的安全验

2016-03-11 14:22:49 6275

原创 Spring中整合xmpp实例

spring integration xmpp

2013-09-06 23:25:07 4286

原创 java 对象锁示例

import java.util.ArrayList;import java.util.List;public class Testing {        private List list = new ArrayList();     public class cThread extends Thread{        public void run(){

2013-03-28 11:31:31 1081

原创 j2EE架构的批判及随想(Web开发的困境)

Web系统开发的复杂性在企业级的应用系统开发领域,J2EE架构现在已经被普遍接受了。虽然它并未完全兑现刚刚出现时的种种美好许诺,跨平台,分布式,易于开发维护等等,但J2EE的广泛普及,已经是一个不争的事实。虽然J2EE已经非常普及,但从技术上来讲,它本身还是存在很多缺陷的,比较突出的缺点,就是开发效率低,维护更加复杂,许多项目组都陷入其中不可自拔。自互联网出现以来,企业应用系统的架

2013-03-13 10:18:56 1958 2

原创 Android 串行接口(serial port)编程

本例子来自实际的出租车项目,背景:客户下载Android/iOS客户端订车系统,出租车司机的Driver系统接受订单后,驾驶至目的地,客户上车,计价器off/on,客户下车。Android程序需要读取计价器的off/on状态,进行后继处理。解决方案:利用开源的android-serialport-api项目(http://code.google.com/p/android-seri

2013-03-12 12:20:04 5761 1

原创 displaytag按需分页的包装及实例

displaytag1.1之后支持按需进行分页查询,在其官方网站有如下描述:Displaytag 1.1 offers two alternative ways for working with partial lists:the first one uses the valuelist pattern, and requires that the object that you

2012-12-28 08:35:06 1455

原创 struts2 表单的多重递交(Annotation方式)

struts2 表单的多重递交(Annotation方式)假设一个form表单有几个操作(update,delete,create etc.),可以通过method的方式递交到action。网上有很多资料,讲述了通过xml配置的方式实现多重递交的目的。本文通过另一种方式,即annotation的方式递交。form表单:

2012-11-29 13:27:10 1284

原创 struts2中表现层的数据展现(bean,list,iterator,format,etc)

假定在Action中通过get/set了绑定了一个ModelAndView 的bean,用于渲染页面的数据。在实际的开发中,这个bean可能包含了各种页面需要的信息,因此会相当复杂。设定:bean mvpublic class CompanyMV { private Company company; private List cities; private List cu

2012-11-29 12:03:36 1646

原创 SSH2环境搭建的asm和cglib包冲突的解决

在搭建ssh2的开发环境时,经常会遇到包冲突的问题,原因是struts, hibernate 和spring 引入了各自的开发包,这些开发包有些互相冲突,导致了各个版本的集成,常常不是一番风顺。其中asm 和 cglib 的冲突在使用annotation时经常出现,我使用的环境是struts2.3.4 + hibernate 4 + spring 3.1, 全部通过Annotation

2012-11-20 11:11:06 2886

原创 Mysql中判断一个点是否落在多边形内。

关于地理空间数据,经常需要处理两个空间数据的关联关系。有很多种方法可以处理,通过编写程序算法,或者是调用数据库中对应的function。在mysql数据库中,http://dev.mysql.com/doc/refman/5.1/en/functions-for-testing-spatial-relations-between-geometric-objects.html做了详细的介绍,但是它并

2012-11-05 13:15:34 3494

原创 一种jquery的菜单风格

截图如下,完整代码 Menu Fader from CSS-Tricks <!--@import url(http://fonts.googleapis.com/css?family=Lobster);#nav{position:relative; margin:0 0 0 10px; padding:0; font-family:'Lobst

2012-10-26 16:30:39 1035

原创 搭建一个小型的asterisk电话系统 (五、增加efax功能)

一、安装依赖包(libtiff & spandsp)$ sudo apt-get install libtiff4 libtiff4-dev$ mkdir ~/src/asterisk-complete/thirdparty$ cd ~/src/asterisk-complete/thirdparty$ wget http://www.soft-switch.org/downloa

2012-08-23 21:24:30 2307

原创 搭建一个小型的asterisk电话系统 (四、增加voicemail功能)

一,建表1.1 voicemailVoicemail表定义了voicemail的用户列表,采用动态加载的功能,这样方便更新。voicemail的表结构如下:CREATE TABLE `voicemail` ( `uniqueid` int(11) NOT NULL AUTO_INCREMENT, `customer_id` int(11) NOT NULL DEFAULT

2012-08-18 21:00:25 3705

原创 搭建一个小型的asterisk电话系统 (三、添加cdr记录,扩展账单系统)

如果没有配置好Asterisk的odbc和Mysql环境,请参考"利用Digium卡搭建一个小型的asterisk电话系统 (二、添加Mysql支持) " Digium卡不是必须的。一、建表建立cdr表,用于存储通话记录,如下表。CREATE TABLE `cdr` ( `id` int(11) NOT NULL AUTO_INCREMENT, `uniquei

2012-08-18 13:28:29 2929

原创 Linux(Debian)下内外网网卡静态IP地址的设定

单网卡的设置vim /etc/network/interfaces修改如下:# This file describes the network interfaces available on your system# and how to activate them. For more information, see interfaces(5).# The loopback n

2012-08-18 07:44:53 2661

原创 利用Digium卡搭建一个小型的asterisk电话系统 (二、添加Mysql支持)

在本文中,我们准备对上文搭建好的小型的asterisk电话系统添加动态的odbc支持,这样就可以动态地添加和注册。一、安装Mysql和配置环境1.1安装Mysql$ sudo apt-get install mysql-server设置root的password1.2 配置Mysql配置并确认安全$ sudo /usr/bin/mysql_s

2012-08-12 10:55:43 3397

原创 利用Digium卡搭建一个小型的asterisk电话系统

环境: Linux(Debian 6), Asterisk1.8硬件:586旧式电脑一台,TMP100 Digium卡一张(4口FSO),来自PSTN的电话线一根一、配置环境1.1 安装sudo,参见debian下开启sudo 如果是Ubuntu或者Readhat,则可以跳过1.2 更新资源列表,vi /etc/apt/sources.list在文件末尾加入

2012-08-11 16:11:58 4229

原创 debian下开启sudo

sodu可以在Ubuntu下很方便的使用,但是在debian下,需要经过安装之后才可以。步骤如下,1) 切换到root2)apt-get intall sudocd /etcchmod u+w sudoersvi sudoers在行root    ALL=(ALL) ALL下加入username ALL=(ALL) NOPASSWD: ALL比如

2012-08-10 15:22:10 1750

原创 Linux下启动Oracle11g数据库监听问题的解决

安装环境:ORACLE_HOME = /home/oracle/oracle/product/11.2.0/db_1ORACLE_HOME/network/admin/listener.ora文件如下:# listener.ora Network Configuration File: /home/oracle/oracle/product/11.2.0/db_1/netw

2012-07-27 14:52:49 1576

转载 Oracle用户、权限、角色管理

Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数

2012-07-26 20:43:08 1225

原创 Debian 6 (squeeze) Oracle 11g R2安装

本文不需要安装Debian的桌面环境,具体的安装步骤如下:1,修改/etc/apt/source.list,加入:deb http://ftp.sjtu.edu.cn/debian/ squeeze main non-free contribdeb http://ftp.sjtu.edu.cn/debian/ squeeze-proposed-updates main non-

2012-07-26 19:55:19 2262 1

原创 google checkout android/java 编程

Google Checkout服务类似易趣的贝宝(PayPal),网上零售商将Checkout系统整合到自己的支付平台,在线购买者可以通过它实现安全付款。完成每次支付后,Google Checkout向商家收取0.20美元的手续费以及交易商品价格2%的费用。目前,美国超过90%的零售商注册了google checkout服务,包括DVD Empire, Jockey, Starbuck’s, Le

2012-07-24 16:10:52 2519

转载 Install Oracle Database XE on Debian Sarge

What is Oracle Database XE ?Oracle Database 10g ExpressEdition (Oracle Database XE) is an entry-level, small-footprint database based on the Oracle Database 10g Release 2 code base that’s fr

2012-07-23 09:12:47 1328

转载 Debian5 下安装 Asterisk 1.6

安装Debian 5.refer to :http://mikeoverip.wordpress.com/2009/03/11/debian-5-lenny-step-by-step-installation-with-screenshots/安装Asterisk1.6login is as root.apt-get installssh然后可以通过SSH远程登

2012-07-11 11:54:54 967

原创 VOIP电话系统的开发思路

Asterisk,pjsip等开源项目的发展为开发VOIP电话系统提供了便捷和廉价的途径。本人基于VOIP项目实践的经验,从技术上对VOIP电话系统的开发思路进行总结,希望对大家开发VOIP电话系统有所帮助。以下是总体思路:利用Asterisk作为VOIP电话的服务器,pjsip作为客户端,UI端通过socket(java,C,vc,etc)和pjsip进行通讯。结构图如下

2012-07-11 11:52:59 2738

原创 集成IPP的pjsip在Linux下的static linking编译

在Linux下用gcc编译pjsip并不是一件太困难的事情,但是如果要用Intel所提供的IPP开发包进行g729的流压缩处理,则可能会有一定问题。http://trac.pjsip.org/repos/wiki/Intel_IPP_Codecs提供了大致指导,但是它是基于IPP5的,而且对static linking的描述在IPP6下是行不通的,需要做一定的更改。本人正好有一个项目:在lin

2012-07-11 11:48:58 2135

转载 mysql 常用命令

ysqlapt-get install mysql-server/etc/init.d/mysql stop/etc/init.d/mysql startmysql -u root -p1、MySQL常用命令create database name; 创建数据库use databasename; 选择数据库drop database na

2012-07-11 11:46:18 598

原创 Android中的延迟加载系列5 (综合案例 含完整代码及工程下载)

本文给出Android延迟加载综合案例,描述ListView和ImageView的分页延迟加载,已经若干有用的封装技术,来结束本系列文章。本文将在ListView延迟加载示例工程的基础上进行修改,加入图片延迟加载的功能。在行布局中加入图片,<RelativeLayout android:id="@+android:id/iconpref" xmlns:android="htt

2012-07-06 09:46:19 2234

原创 Android中的延迟加载系列4(ImageView)

在Android应用程序的开发中,从网络或者服务器上取得图片,往往需要花费一定的时间,占用一定的用户带宽,当页面有大量的图片时,如果不采取延迟加载的方法,则客户端需要等到所有的图片都获取之后,才可以呈现完整界面,这就可能导致界面反应不流畅,影响用户体验。图片延迟加载的原理其实非常简单,有两种思路:第一种思路是后台启动Thread下载图片,下载完成后,通过Message Hand

2012-07-06 09:09:33 3015 1

原创 Android中的延迟加载系列(ListView 3 含完整代码及工程下载)

本节通过一个完整的项目工程,来结束对ListView延迟加载的描述。此项目工程的目的是:数据一共有50行,每一次取得20行显示,在加载下一页时提示正在加载。下面是具体的步骤。1、建立ListView布局文件empty_list.xml<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android

2012-07-02 21:19:33 1949 2

原创 Android中的延迟加载系列(ListView 2)

上一节讲述了Listview延迟加载的封装,本节将讲述如何在Activity中进行调用。首先定义一个ListView布局<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/linearLayoutWhole" android:layout_width="f

2012-07-02 20:43:12 1479

原创 Android中的延迟加载系列(ListView 1)

在Java语言开发中,大家对延迟加载并不陌生,比如Hibernate开发中就大量用到了延迟加载的技术。延迟加载在Android中同样适用,其基本思想是:只有在必要的时候,才去加载数据项。本系列文章将对Android中常用的延迟加载进行简要的总结,并给出示例代码,以帮助读者的理解。由于时间的限制,本系列文章只讲解Android中的ListView和ImageView,其它涉及的组件较为类似,因此

2012-07-02 18:18:12 2897 2

原创 页面(Activity)之间的平滑跳转及封装

Android应用开发中,往往包括多个界面(Activity),共同构成一个应用程序。然而,页面之间经常需要跳转,在跳转的过程中有以下几个常见的问题:1、跳转的界面,即第二个Activity的执行将消耗一定的系统资源和时间,在这之前页面不会显示(黑屏)。对于资源消耗少的页面尚可接受,但是对于大量资源消耗而导致的长时间黑屏,将大大降低用户的友好性。2、为了增加用户的友好性,一种可行的

2012-07-02 16:48:16 2925

android serial port

Android 串行接口(serial port)编程实例,来自出租车系统。此代码仅供学习之用。

2013-03-12

cglib-2.2.3.jar

SSH2环境搭建asm和cglib的包冲突,使用cglib-2.2.3.jar

2012-11-20

Android延迟加载综合案例

Android延迟加载综合案例,关于ListView和ImageView的分页延迟加载,已经若干有用的封装技术。

2012-07-06

ListView延迟加载

ListView 延迟加载 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); new LongOperation(this,new Excution(){ @Override public void longExcute(){ lazyData = new LazyListData<Row>(UIData.getTotalRows(), UIData.getListRows(0,LazyAdapter.PAGE_SIZE_LAZY-1)); SystemClock.sleep(3000);//休息3秒,模拟网络延迟 } @Override public void uiUpdate(){ setContentView(R.layout.empty_list); setListAdapter(new LazyAdapter<Row>( LazyLoadingActivity.this, R.layout.row,//list中的行布局 lazyData.getListData(),//得到数据 lazyData.getTotalRows(),//得到总行数 new LazyLoading(){ @Override public void cacheNextPageData(int startIndex, int endIndex) {//加载下一页 Log.d(TAG,"cacheNextPageData() startIndex="+startIndex+", endIndex="+endIndex); List<Row> nextList = UIData.getListRows(startIndex,endIndex); lazyData.getListData().addAll(nextList); SystemClock.sleep(3000);//休息3秒,模拟网络延迟 } @Override public void updateItemView(View convertView, Object bean) {//更新每一行 updateItem(convertView, (Row) bean); } } )); } }).execute(new String[]{}); }

2012-07-02

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除