- 博客(111)
- 资源 (6)
- 问答 (1)
- 收藏
- 关注
原创 Linux线程私有数据
[size=medium] 线程私有数据的使用场景是:某个函数在第一次被调用的时候,分配内存block,在以后每次调用的时候,都是用第一次所分配的内存block,无需再次分配。可以用线程私有数据来存储这个内存block。 在多线程环境下,如果不使用线程私有数据,由于函数只分配了一个block,所以各个线程在block上必然会有竞争。如果每个线程对这个block的...
2014-04-29 12:06:34
293
1
原创 使用Tornado和Redis构建简易聊天室
[size=medium] Tornado是一个异步Python框架,最初由FriendFeed发起并开源,目前由Facebook维护,非常适合实时做Web应用。 Redis是一个NoSQL数据库,常用于做缓存系统,这里主要用到了它的Pub/Sub功能。即当一个用户发送一条消息时,所有的用户都会收到消息。 关于什么是Ajax长轮询(Comet)不再介绍 我是...
2013-06-29 19:37:10
538
Solr4.2.1中文分词
默认的Solr没有中文分词功能,而Paoding则是能兼容Lucene的中文分词工具,但是目前Paoding的版本只能兼容lucene3。还好有大神已经给出了解决方法,参考:http://www.oschina.net/code/snippet_259382_14635,此方法兼容到Solr4.2.1。 但是直接使用的时候,会报NullPointer异常,需要修改一下文件,去...
2013-04-29 20:20:45
237
原创 WebAppContext(嵌入Jetty学习三)
先来看一下在Jetty里,什么是Context。在Jetty里Context是包含了在某一特定URL或Virtual Host下的一组Handler的Handler。可以这样理解,Context本身也是一种Handler,它里面包含了许多的Handler,这些Handler都只能处理某个特定URL下的请求。Jetty里的Context有ContextHandler,ServletCon...
2013-04-02 12:57:48
453
使用Handler(嵌入Jetty学习二)
一个Jetty Server可以看成由一下几部分组成,其中Connector负责接收客户端的HTTP请求,请求的处理是由Handler来完成的。在上一个例子中HelloHandler的作用就是处理用户请求,并输出结果。 Handler在Jetty中是一个非常重要的东西,Jetty内部实现了一些Handler,可以分为一下几类: 1.协调Han...
2013-04-01 13:33:44
208
创建一个简单的Server(嵌入Jetty学习一)
Jetty的口号是:“不要把你的程序放到Jetty里,而是把Jetty部署到你的程序里”,也就是说可以把war包放到Jetty里(就像tomcat一样),也可以把Jetty当成程序的一个HTTP模块。 嵌入Jetty的使用方法是这样的,可以在maven中添加depency,然后就可以在Java程序中使用Jetty创建Web Server了,目前最新的Jetty版本是Jetty...
2013-04-01 12:41:21
359
原创 Apache Hadoop 版本
由于Hadoop版本混乱多变,因此,Hadoop的版本选择问题一直令很多初级用户苦恼。本文总结了Apache Hadoop和Cloudera Hadoop的版本衍化过程,并给出了选择Hadoop版本的一些建议。1. Apache Hadoop1.1 Apache版本衍化截至目前(2012年12月23日),Apache Hadoop版本分为两代,我们将第一代Hadoop称为Hado...
2013-01-10 22:41:55
525
原创 使用automake
转载过来,自己加工了一点点,留着参考吧:)使用automake主要会用到aclocal、autoscan、autoconf、autoheader和automake这几个命令。首先简略的说一下用automake生成makefile的步骤:(1)创建源代码文件,使用”autoscan”生成configure.scan文件,将其重命名为configure.ac,并做适当修改,然后使用”acl...
2012-11-22 16:06:33
156
make笔记
Makefile中一个项由以下结构所组成:target: dependency_files command比如,有两个文件hello.c,hello.h,创建的目标体为hello.o,执行命令是gcc -c hello.c,Makefile就可以这样写:hello.o: hello.c hello.h gcc -c hello.c 一个稍微复杂一点...
2012-11-22 15:49:51
194
GDB 笔记
通过gcc编译时必须使用-g选项才能使用gdb调试gcc -g hello.c -o hellogdb的选项是非常多的,在gdb里,把命令按类划分,可以通过help xxx来查看相应的帮助gdb>help #显示全部帮助的类gdb>help running #显示运行的帮助gdb>help breakpoints #查看断点相关的命令使用示例:...
2012-11-22 13:44:01
241
GCC笔记
GCC 编译流程: GCC在编译C/C++程序时,会经过一下4步1.预处理gcc -E hello.c -o hello.i 2.编译gcc -S hello.i -o hello.s 3.汇编gcc -c hello.s -o hello.o 4.链接gcc hello.o -o hello 一步到位方法:gcc hello.c...
2012-11-22 11:15:29
200
Android Notification的使用
[size=medium] Android 4.1 (Jelly Bean) 增强了通知功能,在AndroidManifest.xml中可以为Activity添加属性[color=red]android:parentActivityName="MainActivity"[/color],实现点击通知打开ResultActivity时,再按返回键,回到MainActivity,而不是回...
2012-10-20 19:28:37
179
原创 推荐系统分享
这个资料分享主要分享的都是非学术的Paper,都来自商业公司,Google, YouTube, Amazon, LinkedIn等等。我个人非常喜欢这些文章,基本上,这些文章描述的都是在系统中的实际能工作的东西。这个是Google的一篇论文http://t.cn/zl0zxPZ这个里面有很多有意思的想法。推荐的结果是三个算法的融合,即MinHash, PLSI, c...
2012-10-15 17:04:44
235
原创 Python 新手学习列表
1. Python输出 http://www.pythonclub.org/python-basic/print 2.Python 输入 http://www.pythonclub.org/python-basic/raw-input ,http://www.pythonclub.org/python-basic/input 3.Python 动态类型 & 强类型 http...
2012-10-13 18:21:50
154
Apache Thrift 学习第二篇(安装&试用)
[size=medium] 这一篇,我们来试着安装Thrift,并运行Thrift自带的例子,以对Thrift有个感性的认识。[/size][size=large][b]一、下载[/b][/size][size=medium] 从官网下载最新版:[url]http://thrift.apache.org/[/url],在写这篇博客的时候,最新版稳定版是0.8.0。官网给...
2012-10-12 20:25:05
242
原创 Apache Thrift 学习第一篇(架构&介绍)
Thrift 是什么? Thrift源于大名鼎鼎的facebook之手,在2007年facebook提交Apache基金会将Thrift作为一个开源项目,对于当时的facebook来说创造thrift是为了解决facebook系统中各系统间大数据量的传 输通信以及系统之间语言环境不同需要跨平台的特性。所以thrift可以支持多种程序语言,例如: C++, C#, Coc...
2012-10-12 20:13:46
191
原创 Android事件处理第一节(View对Touch事件的处理)
[size=medium] 在Android里Touch是很常用的事件,尤其实在自定义控件中,要实现一些动态的效果,往往要对Touch进行处理。Android中主要有3个地方可以处理Touch事件: 一、在View里,有两个回调函数[/size][code="java"]public boolean dispatchTouchEvent(MotionEven...
2012-10-09 14:42:07
161
Android实现一个简单的画板
[size=medium]思路: 自定义CustomView,重写onTouch(),和onDraw()。在onTouch中识别触屏事件,并记录触屏发生的位置。为了在ACTION_DOWN发生后能够接收到后续的触屏事件,我们需要让onTouch()返回true。 在onDraw()中,将上一次触屏的Point和这一次触屏发生的Point,连成一条直线。因为inv...
2012-10-08 17:01:48
558
1
原创 Android实现文字倒影
[size=medium]思路:自定义控件ReflectTextView继承TextView,重写onDraw()方法,在onDraw()中得到canvas,将其转化为Bitmap,再创建Bitmap的倒影,最后将Bitmap倒影重绘到canvas上。需要注意的是:要在onMeasure()中将高度增加为原来的2倍。而且只能支持文本长度为一行的情况。[/size][img]http...
2012-10-08 16:34:22
414
Android获取屏幕尺寸
[code="java"] DisplayMetrics packageMetrics = getResources().getDisplayMetrics(); int windowWidth = packageMetrics.widthPixels; int windowHeight = packageMetrics.heightPix...
2012-10-08 14:10:23
167
原创 短信拦截
[size=medium]最近写一个应用(A),需要拦截短信分析。一般是这样实现的:注册一个接受短信Intent-Filter,获取短信广播,分析短信内容然后相应处理。对特定短信终止广播继续(abort方法),阻止其进入收件箱。大致就是这么一个过程。但上述方式,在QQ通讯录/360/飞信存在的情况下,拦截短信失败~也就是说它们抢先拿到了收短信的广播,并将其中断了。那么如何解...
2012-09-25 20:40:33
187
原创 关于 SVN 目录结构
Subversion有一个很标准的目录结构,是这样的。比如项目是proj,svn地址为svn://proj/,那么标准的svn布局是 svn://proj/ | +-trunk +-branches +-tags 这 是一个标准的布局,trunk为主开发目录,branches为分支开发目录,tags为tag存档目录(不允许修改)。但是具体这几个目录应...
2012-09-10 15:42:35
137
Android Scroller简单用法
[size=medium] Android里Scroller类是为了实现View平滑滚动的一个Helper类。通常在自定义的View时使用,在View中定义一个私有成员mScroller = new Scroller(context)。设置mScroller滚动的位置时,并不会导致View的滚动,通常是用mScroller记录/计算View滚动的位置,再重写View的computeS...
2012-08-01 16:35:30
286
Android 使用WebView.loadData中文乱码解决办法
[size=medium]博主在使用WebView的loadData方法时发现会乱码,比如:[/size][code="java"]public static final String source = "This is a 中文 test";mWebView.loadData(source, "text/html", "utf-8");[/code] [...
2012-07-19 15:09:32
227
HttpOnly简介
[size=medium] HttpOnly Cookie是一种特殊的Cookie,就是在普通的Cookie后面添加一个字段HTTPOnly,例如:[/size][code="HTTP"]Set-Cookie: RMID=732423sdfs73242; expires=Fri, 31-Dec-2010 23:59:59 GMT; path=/; domain=.example....
2012-07-16 21:16:13
393
原创 Git分支管理策略
如果你严肃对待编程,就必定会使用"版本管理系统"(Version Control System)。眼下最流行的"版本管理系统",非Git莫属。相比同类软件,Git有很多优点。其中很显著的一点,就是版本的分支(branch)和合并(merge)十分方便。有些传统的版本管理软件,分支操作实际上会生成一份现有代码的物理拷贝,而Git只生成一个指向当前版本(又称"快照")的指针,因此非常快...
2012-07-12 23:53:42
132
Android HttpClient基本使用方法
这里只介绍如何使用HttpClient发起GET或者POST请求 GET 方式 //先将参数放入List,再对参数进行URL编码List<BasicNameValuePair> params = new LinkedList<BasicNameValuePair>();params.add(new BasicNameValuePair("...
2012-07-05 14:15:49
146
原创 Nodejs为代理npm设置代理
为npm设在代理npm config set proxy="http://192.168.1.1:8080" 为npm默认选择http方式,不选用httpsnpm config set registry http://registry.npmjs.org
2012-06-24 20:51:01
528
原创 CSS 背景全攻略
原文链接:Backgrounds In CSS: Everything You Need To Know译文链接:css 背景全攻略转载请保留版权以及链接——————————————————————————————背景(background)是css中一个重要的的部分,也是需要知道的css的基础知识之一。这篇文章将会涉及css背景(background)的基本用法,包括诸如 ...
2012-06-18 09:47:16
234
原创 征服高级CSS选择器
CSS是对网页设计师可用的最强大的工具之一。使用它我们可以在几分钟内改变一个网站的界面,而不用改变页面的标签。但是尽管事实上,我们每个人也都意识到了它是有用的,CSS 选择器远未发挥它们的潜力,有的时候我们还趋向于使用过多的和无用的class、id、div、span等把我们的HTML搞的很凌乱。 避免让这些“瘟疫”在你的标签中传播并保持其简洁和语义化的最佳方式,就是使用更复杂的CSS...
2012-06-18 09:01:54
203
原创 CSS简写指南
高效的css写法中的一条就是使用简写。通过简写可以让你的CSS文件更小,更易读。而了解CSS属性简写也是前端开发工程师的基本功之一。今天我们系统地总结一下CSS属性的缩写。色彩缩写色彩的缩写最简单,在色彩值用16进制的时候,如果每种颜色的值相同,就可以写成一个:1color:#113366可以简写为1color...
2012-06-18 08:44:50
228
原创 CSS Overflow 属性
根据CSS的盒模型概念,页面中的每个元素,都是一个矩形的盒子。这些盒子的大小、位置和行为都可以用CSS来控制。对于行为,我的意思是当盒子内外的内容改变的时候,它如何处理。比如,如果你没有设置一个盒子的高度,该盒子的高度将会根据它容纳内容的需要而增长。但是当你给一个盒子指定了一个高度或宽度而里面的内容超出的时候会发生什么?这就是该添加CSS的overflow属性的时候了,它允许你设定该种情况下...
2012-06-18 08:36:15
148
原创 关于浮动的前世今生
什么是浮动?浮动是 css 的定位属性。我们可以看一下印刷设计来了解它的起源和作用。印刷布局中,文本可以按照需要围绕图片。一般把这种方式称为“文本环绕”。这是一个例子:在排版软件里面,存放文字的盒子可以被设置为允许图文混排,或者无视它。无视图文混排将会允许文字出现在图片的上面,就像它甚至不会在那里一样。这就是图片是否是页面流的一部分的区别。网页设计与此非常类似。在网页设计...
2012-06-18 08:28:00
168
原创 ubuntu 下搭建node.js + express web开发框架
ubuntu 下搭建node.js + express web开发框架本文主要对前人所写文章的总结,包括自己在安装nodejs 和express过程中遇到的问题。以备后用,同时能让正在学习node的人少走一些弯路。1.安装环境,由于对linux是菜鸟级别,所以在虚拟机上安装的一个ubuntu11.10 随便玩玩,虚拟机的安装这里就不多说了。2.node.js安装: 第一步,安...
2012-06-17 09:31:25
240
原创 Android Tricks
[size=medium]下面是总结了开发中遇到的一些小问题,解决方法很简单,持续更新1、TextView将Html文档显示在TextView中textView.setAutoLinkMask(Linkify.ALL);textView.setText(Html.fromHtml("http://ipjmc.iteye.com ..."));2.EditText...
2012-05-01 10:25:36
156
原创 SVN 常用命令
命令行 Subversion 入门如果您参与的项目正在使用 Subversion 进行版本控制,您将需要使用 Subversion 访问和更改项目源文件。您可以点击项目的左侧导航窗格上的“Subversion”链接,在线浏览源代码以查看该项目的目录结构和文件。“Subversion”页面显示三个子目录:branches/、tags/、trunk/ 和一个自述文件。自述文件可以使您对 ...
2012-04-12 11:15:37
175
原创 Activity和Task的设计思路和方法
Activity和 Task是 Android Application Framework架构中最基础的应用,开发者必须清楚它们的用法和一些开发技巧。本文用大量的篇幅并通过引用实例的方式一步步深入全面讲解它们的基础原理(underlying principles)和架构(mechanisms),例如Navigation Multitasking、activity re-use、in...
2012-03-29 20:20:57
182
原创 Window Manager
[size=medium]Android的窗口机制基于WindowManager,可以通过它进行窗口控制,添加view到屏幕,或从屏幕删除view。使用时注意控制窗口显示与销毁。 简单的demo代码:1、显示窗口[/size][code="java"]WindowManager mWm = (WindowManager)getSystemService(Context.WINDOW...
2012-03-22 23:51:14
150
原创 显示PopupWindow
[size=medium] PopupWindow可以实现浮层效果,而且可以自定义显示位置,出现和退出时的动画,比如新浪微博顶部栏的微博分组就是用PopupWindow实现的。 一、实例化PopupWindow,这里用R.layout.group_list填充mPopupWindow,并指定宽高。[/size] [code="java"]mPopupLay...
2012-03-16 10:04:16
208
原创 横空出世,席卷互联网--评微软等公司数据结构+算法面试100题
作者:July。时间:2010年10月-11月。版权所有,侵权必究。出处:http://blog.youkuaiyun.com/v_JULY_v。说明:本文原题为:“横空出世,席卷Csdn [评微软等公司数据结构+算法面试100题]”,但后来此微软100题(加上后续的80道,共计180道面试题)已成一系列,被网络上大量疯狂转载,因此特改为上述题目。----------------------------...
2012-03-13 23:18:11
148
Computational Geometry.pdf
2010-06-18
Algorithms and Complexity.pdf
2010-06-18
Combinatoric and graph.pdf
2010-06-18
CursorAdapter 还是 BaseAdapter
2011-11-15
TA创建的收藏夹 TA关注的收藏夹
TA关注的人