2012年5月30日

用js实现md5加密

摘要: http://www.cnblogs.com/tuyile006/archive/2007/10/03/913399.html使用MD5加密的方法:下载md5.js文件,在网页中引用该文件:<script type="text/javascript" src="md5.js"></script>在你需要使用MD5加密的地方如此调用:<script type="text/javascript" > hash = hex_md5("input string");</script 阅读全文

posted @ 2012-05-30 12:41 亭子 阅读(469) 评论(0) 推荐(0) 编辑

2012年5月25日

单点登录

摘要: http://www.blogjava.net/xcp/archive/2010/04/13/318125.html摘要:单点登录(SSO)的技术被越来越广泛地运用到各个领域的软件系统当中。本文从业务的角度分析了单点登录的需求和应用领域;从技术本身的角度分析了单点登录技术的内部机制和实现手段,并且给出Web-SSO和桌面SSO的实现、源代码和详细讲解;还从安全和性能的角度对现有的实现技术进行进一步分析,指出相应的风险和需要改进的方面。本文除了从多个方面和角度给出了对单点登录(SSO)的全面分析,还并且讨论了如何将现有的应用和SSO服务结合起来,能够帮助应用架构师和系统分析人员从本质上认识单点登 阅读全文

posted @ 2012-05-25 18:39 亭子 阅读(850) 评论(0) 推荐(0) 编辑

2012年5月24日

一次典型的网络浏览过程(浏览器和服务器如何处理cookie)

摘要: 一次典型的网络浏览过程中浏览器如何识别和处理Cookie:浏览器对于Web服务器应答包头中Cookie的操作步骤:1. 从Web服务器的应答包头中提取所有的cookie。2. 解析这些cookie的组成部分(名称,值,路径等等)。3. 判定主机是否允许设置这些cookie。允许的话,则把这些Cookie存储在本地。浏览器对Web服务器请求包头中所有的Cookie进行筛选的步骤:1. 根据请求的URL和本地存储cookie的属性,判断那些Cookie能被发送给Web服务器。2. 对于多个cookie,判定发送的顺序。3. 把需要发送的Cookie加入到请求HTTP包头中一起发送。 阅读全文

posted @ 2012-05-24 15:53 亭子 阅读(387) 评论(0) 推荐(0) 编辑

html与socket(长短连接)

摘要: http://bbs.chinaunix.net/thread-709365-1-1.htmlhttp://topic.csdn.net/t/20040810/19/3261335.html通俗的说连接后不关就是长连接,呵呵.给你举个例子,作上网的代理:proxyclient <---> proxy <---> server比如c要访问sohu的serverp把s所有的网页内容全部给c后,关掉和c的链接.此时你可用选择不关闭p和s的链接.等另一个c也要访问sohu时,就可用直接使用刚才的长链接了.长连接就是客户端和服务器端建立了socket 连接以后,该连接在使用完毕以 阅读全文

posted @ 2012-05-24 10:40 亭子 阅读(2077) 评论(0) 推荐(1) 编辑

2012年5月22日

http请求及相应包全部内容

摘要: HTTP请求格式当浏览器向Web服务器发出请求时,它向服务器传递了一个数据块,也就是请求信息,HTTP请求信息由3部分组成:l请求方法URI协议/版本l请求头(Request Header)l请求正文下面是一个HTTP请求的例子:GET/sample.jspHTTP/1.1Accept:image/gif.image/jpeg,*/*Accept-Language:zh-cnConnection:Keep-AliveHost:localhostUser-Agent:Mozila/4.0(compatible;MSIE5.01;Window NT5.0)Accept-Encoding:gzip, 阅读全文

posted @ 2012-05-22 16:45 亭子 阅读(822) 评论(0) 推荐(0) 编辑

Nodejs实践二三事

摘要: http://fengmk2.github.com/ppt/those-things-using-nodejs/#slide-0 阅读全文

posted @ 2012-05-22 14:19 亭子 阅读(193) 评论(0) 推荐(0) 编辑

http请求头详解

摘要: HTTP由两部分组成:请求和响应。当你在Web浏览器中输入一个URL时,浏览器将根据你的要求创建并发送请求,该请求包含所输入的URL以及一些与浏览器本身相关的信息。当服务器收到这个请求时将返回一个响应,该响应包括与该请求相关的信息以及位于指定URL(如果有的话)的数据。直到浏览器解析该响应并显示出网页(或其他资源)为止。HTTP请求HTTP请求的格式如下所示:<request-line><headers><blank line>[<request-body>]在HTTP请求中,第一行必须是一个请求行(request line),用来说明请求类型、 阅读全文

posted @ 2012-05-22 13:56 亭子 阅读(387) 评论(0) 推荐(0) 编辑

2012年5月17日

java回调函数实例

摘要: 可以举个现实生活中的例子:一读者想借《软件技术学习与实践》这本书,但这本书已被其他读者借走了。于是,读者与图书馆管理员间发生了以下对话:读者:“我把我的电话号码告诉你,等书一到就马上通知我。”管理员:“好的。另一读者把书还回来后,马上给您打电话,书我先帮您留着。”在上述这个场景中,读者就是“回调对象”,管理员就是“控制器对象”,读者的电话号码就是“回调对象的方法”。详细的实例如下:1、创建一个回调接口:1//回调接口2publicinterfaceICallBack3{4voidrun();5}2、创建回调接口的实现类:1classCallBackClassimplementsICallBac 阅读全文

posted @ 2012-05-17 20:51 亭子 阅读(570) 评论(0) 推荐(0) 编辑

[译]什么是Node?

摘要: Node不是万能药!但的确能解决一些关键问题。学习Node不是一件轻松事儿,但你所收到的回报是对得起你的付出的。因为当下Web应用开发中的诸多难题唯有JavaScript才能解决。目录1,专家们的警告!2,Node:几个小例子3,Node不是JavaScript,Node可以运行JavaScript4,和Node服务器的交互5,快速入门手册6,解释器之惑7,基于事件的Web应用8,Node的用武之地“你够酷吗?来用我吧!” Node.js 为最新潮的编程语言提供了一系列很酷的API和工具箱,它可以直接应用于传统的Rails、Ajax、Hadoop、甚至可以某种程度上用于iPhone开发和HTM 阅读全文

posted @ 2012-05-17 15:40 亭子 阅读(426) 评论(0) 推荐(0) 编辑

2012年5月16日

webkit体系结构与解析流程

摘要: 1.体系结构WebKit上层组织应用WebCore¨Page与外框相关的内容(Frame,Page,History,Focus,Window)¨Loader加载资源及Cache¨HTML-DOM HTML内容及解析¨DOM- DOM CORE内容¨XML- XML内容及解析¨Render-排版功能¨CSS-DOM CSS内容¨Binding-DOM与JavascriptCore绑定的功能¨Editing-所有与编辑相关的功能JavascriptCore-javascript引擎¨API-基本ja 阅读全文

posted @ 2012-05-16 15:44 亭子 阅读(255) 评论(0) 推荐(0) 编辑

js引擎分析

摘要: http://wenku.baidu.com/view/3de0ebd3195f312b3069a504.html 阅读全文

posted @ 2012-05-16 15:30 亭子 阅读(79) 评论(0) 推荐(0) 编辑

2012年5月15日

js的with语句使用方法

摘要: 1)简要说明with 语句可以方便地用来引用某个特定对象中已有的属性,但是不能用来给对象添加属性。要给对象创建新的属性,必须明确地引用该对象。2)语法格式with(object instance){//代码块}有时候,我在一个程序代码中,多次需要使用某对象的属性或方法,照以前的写法,都是通过:对象.属性或者对象.方法这样的方式来分别获得该对象的属性和方法,着实有点麻烦,学习了with语句后,可以通过类似如下的方式来实现:with(objInstance){var str = 属性1;.....} 去除了多次写对象名的麻烦。3)举例<script language="javasc 阅读全文

posted @ 2012-05-15 14:18 亭子 阅读(138) 评论(0) 推荐(0) 编辑

Javascript继承机制的设计思想(转)

摘要: 转自:http://www.ruanyifeng.com/blog/2011/06/designing_ideas_of_inheritance_mechanism_in_javascript.html我一直很难理解Javascript语言的继承机制。它没有"子类"和"父类"的概念,也没有"类"(class)和"实例"(instance)的区分,全靠一种很奇特的"原型链"(prototype chain)模式,来实现继承。我花了很多时间,学习这个部分,还做了很多笔记。但是都属于强行记忆,无法从根 阅读全文

posted @ 2012-05-15 09:43 亭子 阅读(151) 评论(0) 推荐(0) 编辑

2012年5月14日

Webkit for android

摘要: 一、WebKit简介WebKit是一个开源的浏览器网页排版引擎,包含WebCore排版引擎和JSCore引擎。WebCore和JSCore引擎来自于KDE项目的KHTML和KJS开源项目。Android平台的Web引擎框架采用了WebKit项目中的WebCore和JSCore部分,上层由Java语言封装,并且作为API提供给Android应用开发者,而底层使用WebKit核心库(WebCore和JSCore)进行网页排版。二、WebKit目录结构Android平台的WebKit模块分成Java和WebKit库两个部分,其目录结构如下表所示:WebKit模块目录结构Java层BrowserFra 阅读全文

posted @ 2012-05-14 20:30 亭子 阅读(299) 评论(1) 推荐(0) 编辑

Webkit与V8网站

摘要: http://www.grati.org/?cat=51 阅读全文

posted @ 2012-05-14 14:57 亭子 阅读(123) 评论(0) 推荐(0) 编辑

2012年5月11日

很好的介绍Activity启动与创建的文章(转)

摘要: http://lghjx.573114.com/Blog/Html/9CB8/146070.html 阅读全文

posted @ 2012-05-11 16:20 亭子 阅读(88) 评论(0) 推荐(0) 编辑

2012年5月10日

java设计模式之——代理模式

摘要: http://yangguangfu.iteye.com/blog/815787 阅读全文

posted @ 2012-05-10 14:26 亭子 阅读(119) 评论(0) 推荐(0) 编辑

2012年5月4日

学习android framework好博客

摘要: http://blog.csdn.net/maxleng/article/list?PageNumber=2http://blog.csdn.net/tyl_355402/article/details/7423356 阅读全文

posted @ 2012-05-04 13:17 亭子 阅读(149) 评论(0) 推荐(0) 编辑

2012年5月2日

基于WordNet词典的本体源

摘要: http://www.w3.org/TR/wordnet-rdf/ 阅读全文

posted @ 2012-05-02 14:06 亭子 阅读(164) 评论(0) 推荐(0) 编辑

Android 自定义View自定义属性的声明

摘要: android 中View对象的创建可以在代码中创建,也可以在布局文件中声明,在布局文件中声明时,可以对在布局文件中添加属性, 如:android:layout_width="fill_parent" 。属性包括两个部分:android和layout_width,android是命名空间,layout_width是属性名,我们可以在View上添 加任意不带前缀的属性如:<View android:layout_width="44dip" android:layout_height="0dip" anyproperty=" 阅读全文

posted @ 2012-05-02 10:31 亭子 阅读(318) 评论(0) 推荐(0) 编辑

2012年4月24日

rdf, rdfs, owl相关blog

摘要: http://hi.baidu.com/ferrior/blog/item/aba328fa81af669659ee9087.htmlhttp://littlecatphd.i.sohu.com/blog/view/38423786.htmhttp://zh.transwiki.org/cn/owlguide.htmhttp://zh.transwiki.org/cn/rdfprimer.htmhttp://www.ksl.stanford.edu/projects/wine/explanation.html都柏林核心http://www.ruanyifeng.com/blog/2007/03 阅读全文

posted @ 2012-04-24 17:32 亭子 阅读(147) 评论(0) 推荐(0) 编辑

2012年4月23日

返回零长度的数组或者集合,而不是null

摘要: 让我们先举坏例子:返回null的情况private final List<Cheese> cheesesInStock = ...;public Cheese[] getCheeses() { if(cheesesInStock.size() == 0) return null; ...}对于上面的例子,客户端程序处理时如下:Cheese[] cheeses = shop.getCheeses();if(Cheeses != null && Arrays.asList(cheeses).contains(Cheese.STILTON)) System.ou... 阅读全文

posted @ 2012-04-23 10:17 亭子 阅读(411) 评论(1) 推荐(1) 编辑

2012年4月20日

研究推理好博客

摘要: http://www.blogjava.net/Apple/archive/2005/06/15/6169.htmlhttp://ziapple.blog.51cto.com/271886/51873racer官网http://www.racer-systems.com/可以搜索有的本体https://mailman.stanford.edu/pipermail/protege-owl/2006-September/000137.html非常好的葡萄酒实例http://www.ksl.stanford.edu/people/dlm/webont/wineAgent/owl、rdfs、rdf所有 阅读全文

posted @ 2012-04-20 19:37 亭子 阅读(195) 评论(0) 推荐(0) 编辑

jni开发过程总结

摘要: 1、写一个带有本地方法的java类class HelloWorld { private native void print(); public static void main(String[] args) { new HelloWorld().print(); } static { System.loadLibrary("HelloWorld"); } }2、编译这个java类javac HelloWorld.java之后,会生成HelloWorld.class文件。3、创建本地方法头文件用javah工具创建一个JNI风... 阅读全文

posted @ 2012-04-20 15:50 亭子 阅读(172) 评论(0) 推荐(0) 编辑

2012年4月18日

装饰者模式之我见

摘要: 举个例子: 对于一个蛋糕店,可以有奶油蛋糕、巧克力蛋糕、冰激凌蛋糕、带卡片的巧克力蛋糕、带花的奶油蛋糕等等。 如果我们的设计是以蛋糕为基类,其他都是继承自这个基类,那么会写很多很多类,因为,用户可能想要带卡片的插花的冰激凌蛋糕等等。这样的设计显然不好。对于以上的情况,我们可以用设计者模式。我们以蛋糕为基本食品类,其他的奶油、巧克力、卡片、花等都是装饰品,当用户想要何种装饰,只要往蛋糕上面加装饰品即可。装饰者模式需要基本类和装饰类都实现同一个接口,以保证他们实现同样的方法。因为对于面向对象编程来说,主要是方法,我们用程序来模拟现实世界中的事物,也是以方法的形式。比如,对于蛋糕、奶油和巧克力等.. 阅读全文

posted @ 2012-04-18 22:44 亭子 阅读(175) 评论(0) 推荐(0) 编辑

读书笔记——遇到多个构造器时要考虑用Builder

摘要: 1、多个构造器的坏处 好多种参数,特别是参数特别多时,用户调用非常不方便,如果不对照文档,根本不知道哪个参数表示什么含义,对于同类型的参数,如果传参错误,编译时也检查不出来,只有运行时才会发现不对。总之,不方便用户调用。2、利用Java Bean的方式的坏处 对于多个参数,如果让用户调用时能够知道各个参数都是什么含义,可以采用Java Bean的方法,但是这种方式有严重的缺点,就是因为构造过程被分到几个调用中,因此可能处于不一致的状态,因此可能参数错误,而这种错误与包含错误代码大相径庭,调试起来非常困难。3、利用Builder 对于多种参数最好的解决办法就是利用Builder。 例子:... 阅读全文

posted @ 2012-04-18 10:44 亭子 阅读(352) 评论(0) 推荐(0) 编辑

2012年4月16日

建立语义网搜索

摘要: 建立语义网搜索步骤:1.使用protege建立知识本体2.使用jena作为推理工具,对本体进行推理和保存,形成本体库(可以存在于数据库中也可以以文件存在)3.使用Lucene对本体库进行建立索引,并进行检索4.搭建平台,对结果进行显示和输出一、Web本体语言指南(中文版) http://www.w3school.com.cn/rdf/ http://wenku.baidu.com/view/df34375d312b3169a451a4e1.html?from=related&hasrec=1二、使用protege生成owl文件 语义网的第一步是建立owl文件,可以用protege这个工 阅读全文

posted @ 2012-04-16 20:29 亭子 阅读(535) 评论(0) 推荐(0) 编辑

2012年4月13日

反编译apk到源代码方法

摘要: 反编译apk到源代码:1)将XXX.apk重命名为XXX.zip,然后解压,找到解压后的classes.dex文件;用dex2jar将classes.dex转化成classes_dex2jar.jar; 命令:./dex2jar.shclasses.dex用jd-gui打开classes_dex2jar.jar,可以看到源代码;2)用apktool将apk反编译成smali文件。 阅读全文

posted @ 2012-04-13 17:07 亭子 阅读(323) 评论(0) 推荐(0) 编辑

2012年3月31日

Synergy一套鼠标键盘共享多台机器

摘要: 安装ubuntu用新立德软件包查询synergy和quicksynergy,其中quicksynergy是synergy的图形配置界面。如果用ubuntu做主机的话,只需要安装好上面两个软件后,运行quicksynergy,它本身的名字就是命令。然后在上、下、左、右位置中的一个写上客户端的主机名。window下载安装Synergy后,打开界面,输入服务器的ip地址即可。更多详细步骤见下面配置链接。配置http://www.appinn.com/synergy/http://hi.baidu.com/stormsxf/blog/item/6bb7fb25bfeee86635a80f4b.html 阅读全文

posted @ 2012-03-31 15:25 亭子 阅读(170) 评论(0) 推荐(0) 编辑

运行android4.0需要的jar包

该文被密码保护。 阅读全文

posted @ 2012-03-31 11:23 亭子 阅读(1) 评论(0) 推荐(0) 编辑

2012年3月29日

让一个小图片重复出现,形成一张大图片

摘要: <?xml version="1.0" encoding="utf-8" ?> <bitmap xmlns:android="http://schemas.android.com/apk/res/android" android:src="@drawable/icon_name" android:tileMode="repeat" /> xml文件如上,放到drawable目录下,它就是一个组合图片。 阅读全文

posted @ 2012-03-29 17:39 亭子 阅读(277) 评论(0) 推荐(0) 编辑

通过addView加子View的注意事项

摘要: RelativeLayout rl = (RelativeLayout)findViewById(R.id.rl);TextView tv = (TextView)getInflater().inflate(R.layout.inset, null);rl.addView(tv); inflate一个layout,将其通过addView加入到另一个ViewGroup中,会出现子View的信息无效了。 为了解决这个问题,需要在inflate时就将子View的信息传入,如下所示:RelativeLayout rl = (RelativeLayout)findViewById(R.id.... 阅读全文

posted @ 2012-03-29 17:36 亭子 阅读(832) 评论(0) 推荐(0) 编辑

2012年3月20日

普通应用程序截获Home键

摘要: @Overridepublic void onAttachedToWindow() { super.onAttachedToWindow(); getWindow().setType(WindowManager.LayoutParams.TYPE_KEYGUARD);}用上面的代码就可以屏蔽Home键,这个时候不管长按还是短按Home键,对该应用程序都没有影响。并且,这个时候,onKeyDown方法可以截获Home键。public boolean onKeyDown(int keyCode, KeyEvent event) { if(keyCode ... 阅读全文

posted @ 2012-03-20 19:47 亭子 阅读(250) 评论(0) 推荐(0) 编辑

onNewIntent调用时机(转)

摘要: 在IntentActivity中重写下列方法:onCreate onStart onRestart onResume onPause onStop onDestroy onNewIntent一、其他应用发Intent,执行下列方法:I/@@@philn(12410): onCreateI/@@@philn(12410): onStartI/@@@philn(12410): onResume发Intent的方法:Uri uri = Uri.parse("philn://blog.163.com");Intent it = new Intent(Intent.ACTION_VI 阅读全文

posted @ 2012-03-20 16:13 亭子 阅读(205) 评论(0) 推荐(0) 编辑

2012年3月19日

正则表达式

摘要: 日期判断方法一:String str = "1983-07-27";String pat = "\\[1-9]{4}-\\[0-12]-\\[1-31]";Pattern p = Pattern.compile(pat);Matcher m = p.matcher(str);if(m.matches()){ System.out.println("日期格式合法");}else{ System.out.println("日期格式不合法");}方法二://String对正则的支持boolean temp = " 阅读全文

posted @ 2012-03-19 10:47 亭子 阅读(173) 评论(0) 推荐(0) 编辑

2012年3月14日

OutOfMemory Error

摘要: public static void getAllDataList(List<Data> dataList){ for(int i=0; i<dataList.size(); i++){ String term = dataList.get(i).getTerm() + " "; String type = dataList.get(i).getType() + " "; for(int j=i+1; j<dataList.size(); j++){ term = term +... 阅读全文

posted @ 2012-03-14 20:34 亭子 阅读(231) 评论(0) 推荐(0) 编辑

2012年3月13日

Java中HashMap遍历的两种方式

摘要: 第一种用entryset来进行遍历,效率高,以后一定要使用此种方式! Map map = new HashMap(); Iterator iter = map.entrySet().iterator(); while (iter.hasNext()) { Map.Entry entry = (Map.Entry) iter.next(); Object key = entry.getKey(); Object val = entry.getValue(); }第二种用keyset来进行遍历,效率低,以后尽量少使用! Map map = new HashMap(); ... 阅读全文

posted @ 2012-03-13 13:59 亭子 阅读(244) 评论(0) 推荐(0) 编辑

可优化的代码段

摘要: boolean haveApps = apps.contains(query);if(haveApps) app.add("apps");boolean haveBooks = books.contains(query);if(haveBooks) app.add("books");boolean haveMusic = music.contains(query);if(haveMusic) app.add("music");大家会如何优化上面的代码呢? 阅读全文

posted @ 2012-03-13 12:47 亭子 阅读(210) 评论(0) 推荐(0) 编辑

2012年3月12日

多线程信号量计数CountDownLatch

摘要: 定义通过这个类可以记录当前线程个数。全称import java.util.concurrent.CountDownLatch;实例主线程CountDownLatch threadSignal = new CountDownLatch(Common.PARTPOINT);for(int i=0; i < Common.PARTPOINT; i++){P2PointThread ppt = new P2PointThread(threadSignal, i); ppt.start();}try { logger.debug("开始等待"); threadSignal.aw 阅读全文

posted @ 2012-03-12 19:33 亭子 阅读(297) 评论(0) 推荐(0) 编辑

2012年3月9日

表、视图、索引的创建、修改、删除操作等

摘要: 一、表的创建1、创建表create if not exists table student(StuID integer);2、 创建带有缺省值的数据表:create table if not exists schoolTable(schID integer default 0, schName varchar default 'hz');3、if not exists 使用如果已经存在表名、视图名和索引名,那么本次创建操作将失败。加上"IF NOT EXISTS"从句,那么本次创建操作将不会有任何影响.create table if not exists s 阅读全文

posted @ 2012-03-09 18:11 亭子 阅读(504) 评论(0) 推荐(0) 编辑

导航