- 博客(33)
- 资源 (4)
- 收藏
- 关注
原创 Jira每次登录显示验证码
背景:在Jira的生产环境中,由于各种原因,不能直接设置密码策略(比如,用户来自LDAP),存在不少用户的密码设置过于简单,容易导致机器人的攻击,带来安全隐患。另外,由于历史诸如Remote API调用的原因,Jira也不提供登录页面直接提供验证码的功能,这使得安全隐患进一步暴露。本文尝试对Jira源码进行一定的修改,使得用户首次登录时强行出现验证码。当然也可以通过扩展Jira的安全验
2016-03-11 14:22:49
6518
原创 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
1123
原创 j2EE架构的批判及随想(Web开发的困境)
Web系统开发的复杂性在企业级的应用系统开发领域,J2EE架构现在已经被普遍接受了。虽然它并未完全兑现刚刚出现时的种种美好许诺,跨平台,分布式,易于开发维护等等,但J2EE的广泛普及,已经是一个不争的事实。虽然J2EE已经非常普及,但从技术上来讲,它本身还是存在很多缺陷的,比较突出的缺点,就是开发效率低,维护更加复杂,许多项目组都陷入其中不可自拔。自互联网出现以来,企业应用系统的架
2013-03-13 10:18:56
2082
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
5982
原创 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
1503
原创 struts2 表单的多重递交(Annotation方式)
struts2 表单的多重递交(Annotation方式)假设一个form表单有几个操作(update,delete,create etc.),可以通过method的方式递交到action。网上有很多资料,讲述了通过xml配置的方式实现多重递交的目的。本文通过另一种方式,即annotation的方式递交。form表单:
2012-11-29 13:27:10
1321
原创 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
1680
原创 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
2942
原创 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
3546
原创 一种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
1062
原创 搭建一个小型的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
2371
原创 搭建一个小型的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
3818
原创 搭建一个小型的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
3059
原创 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
2729
原创 利用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
3552
原创 利用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
4388
原创 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
1820
原创 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
1615
转载 Oracle用户、权限、角色管理
Oracle 权限设置一、权限分类:系统权限:系统规定用户使用数据库的权限。(系统权限是对用户而言)。实体权限:某种权限用户对其它用户的表或视图的存取权限。(是针对表或视图而言的)。 二、系统权限管理:1、系统权限分类:DBA: 拥有全部特权,是系统最高权限,只有DBA才可以创建数据库结构。RESOURCE:拥有Resource权限的用户只可以创建实体,不可以创建数
2012-07-26 20:43:08
1259
原创 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
2328
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
2610
转载 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
1374
转载 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
1004
原创 VOIP电话系统的开发思路
Asterisk,pjsip等开源项目的发展为开发VOIP电话系统提供了便捷和廉价的途径。本人基于VOIP项目实践的经验,从技术上对VOIP电话系统的开发思路进行总结,希望对大家开发VOIP电话系统有所帮助。以下是总体思路:利用Asterisk作为VOIP电话的服务器,pjsip作为客户端,UI端通过socket(java,C,vc,etc)和pjsip进行通讯。结构图如下
2012-07-11 11:52:59
2839
原创 集成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
2231
转载 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
622
原创 Android中的延迟加载系列5 (综合案例 含完整代码及工程下载)
本文给出Android延迟加载综合案例,描述ListView和ImageView的分页延迟加载,已经若干有用的封装技术,来结束本系列文章。本文将在ListView延迟加载示例工程的基础上进行修改,加入图片延迟加载的功能。在行布局中加入图片,<RelativeLayout android:id="@+android:id/iconpref" xmlns:android="htt
2012-07-06 09:46:19
2295
原创 Android中的延迟加载系列4(ImageView)
在Android应用程序的开发中,从网络或者服务器上取得图片,往往需要花费一定的时间,占用一定的用户带宽,当页面有大量的图片时,如果不采取延迟加载的方法,则客户端需要等到所有的图片都获取之后,才可以呈现完整界面,这就可能导致界面反应不流畅,影响用户体验。图片延迟加载的原理其实非常简单,有两种思路:第一种思路是后台启动Thread下载图片,下载完成后,通过Message Hand
2012-07-06 09:09:33
3147
原创 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
2005
1
原创 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
1540
原创 Android中的延迟加载系列(ListView 1)
在Java语言开发中,大家对延迟加载并不陌生,比如Hibernate开发中就大量用到了延迟加载的技术。延迟加载在Android中同样适用,其基本思想是:只有在必要的时候,才去加载数据项。本系列文章将对Android中常用的延迟加载进行简要的总结,并给出示例代码,以帮助读者的理解。由于时间的限制,本系列文章只讲解Android中的ListView和ImageView,其它涉及的组件较为类似,因此
2012-07-02 18:18:12
2985
原创 页面(Activity)之间的平滑跳转及封装
Android应用开发中,往往包括多个界面(Activity),共同构成一个应用程序。然而,页面之间经常需要跳转,在跳转的过程中有以下几个常见的问题:1、跳转的界面,即第二个Activity的执行将消耗一定的系统资源和时间,在这之前页面不会显示(黑屏)。对于资源消耗少的页面尚可接受,但是对于大量资源消耗而导致的长时间黑屏,将大大降低用户的友好性。2、为了增加用户的友好性,一种可行的
2012-07-02 16:48:16
3016
ListView延迟加载
2012-07-02
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人