自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(643)
  • 收藏
  • 关注

原创 《App Store创赢艺术》读后感

当然,指望凭借一本书就可以学会如何在苹果的App Store中赚得盆满钵满,显然是不切实际的想法。不过这本书倒是可以让你一窥苹果App Store的发展现状,市场营销的策略,策划和执行层面的流程,无论是对于开发人员,策划,还是市场营销人员,都是不无裨益的。社交网络的流行,免费增值模式的大行其道,以及苹果公司自身的产品演进,包括iPhone,iPad等多个产品线的持续发展,都给广大策划和开发人员提供

2013-02-21 14:14:46 3670

原创 go-home(一款针对12306的火车票订票软件)源码分析

项目地址:http://code.google.com/p/go-home/,源代码svn地址: http://go-home.googlecode.com/svn/trunk/去年出的一款比较老的订票软件,现在可能已经失效了,只是拿来学习下基本的订票流程,方便对其他订票脚本的研究。基本流程图:1,获取图片验证码提交请求给https://dynamic.12306.cn/otsweb/passCo

2012-12-28 21:36:42 7971 2

原创 一个简单的MongoDB操作类

import java.net.UnknownHostException;import java.util.Map;import java.util.concurrent.ConcurrentHashMap;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.mongodb.BasicDBObject;

2012-12-27 16:59:21 6756

原创 Solr Cache使用介绍及分析

本文将介绍Solr查询中涉及到的Cache使用及相关的实现。Solr查询的核心类就是SolrIndexSearcher,每个core通常在同一时刻只由当前的SolrIndexSearcher供上层的handler使用(当切换SolrIndexSearcher时可能会有两个同时提供服务),而Solr的各种Cache是依附于SolrIndexSearcher的,SolrIndexSearcher在则C

2012-08-17 11:03:33 4689

原创 技术宅---我的网上抢火车票攻略

写在前面     写这篇文章的起因是今天在12306上买火车票时,被这牛逼的网站给震撼到了,靠,牛叉得让人无语的用户体验啊。就讲讲我是如何利用一个小工具做辅助,幸运地抢到了回家的卧铺票的。希望能给有需要的兄弟们做个参考。    回顾下我今天网上购票的全过程,总结起来有四个难关,第一是登陆,第二是预定,第三是提交订单,第四是支付。本文的目的主要是为了在第一和第二关提供一些帮助。准备工作:

2012-01-07 13:16:32 9895 9

原创 每日学习笔记(23)

1,从前端传过来的参数是"\u9676\u9676\u6D4B\u8BD5\u8D26\u53F701"这样的unicode编码,需要将其转换为中文字符串,发现java.util.Properties类中有一个loadConvert函数可以完成这件事,直接copy过来使用。public static String loadConvert(char[] in, int off, int len,

2011-11-17 12:15:43 2358

原创 一次内存泄露问题的排查

系统对外提供的Solr查询接口,在来自外部调用的压力加大之后,就会出现solr查询报Read Timed Out的异常,从表面现象上看是此时solr核压力过大,无法响应过多的查询请求。      但实际上此时并发查询压力并不是很大,那么为何solr核会无法及时响应查询请求呢?首先用top查看了下load average,也是很低,也佐证了系统本身压力并不大。      然后

2011-11-14 12:32:11 5211 1

原创 每日学习笔记(21)

1,今天收到报警信息,说应用所在机器的硬盘空间不足了,上去一看,居然发现国庆这几天的日志信息累计达到了260多G,可看了下应用下的日志,实际只有几十M而已,进一步check后发现是调用的第三方应用在另一个日志路径下打出大量的Debug信息,回查代码后才明白是Logback和Log

2011-10-12 19:50:39 2773

原创 每日学习笔记(20)

1, Solr合并索引数据有两种方法,第一种是1.4版本中引入的,通过CoreAdminHandler来实现,示例如下:http://localhost:8983/solr/admin/cores?action=mergeindexes&core=core0&indexDir

2011-09-28 15:02:12 2436

原创 每日学习笔记(19)

今天的工作需求如下:有一个生产者负责生成源数据,将数据插入到多个工作队列中,每个工作队列由一个线程池进行处理,即每个线程池中可以启动多个线程对与其对应的工作队列中的元素取出来进行处理。      我将业务需求抽象为一个“单生产者—多消费者集群”模型,写了一个模拟代码进行测

2011-08-23 23:00:13 2363 1

原创 使用JavaScript下进行iframe的DOM操作(考虑浏览器兼容性)

今天碰到一个浏览器兼容性的问题,是IE和Firefox下iframe DOM操作的差异。本文借IE和Firefox在iframe DOM操作的不同,进行分析说明JavaScript在DOM操作中两者的不同。IE和Firefox对iframe document对象的差异性在IE6、IE7中,我们可以使用 document.frames[ID].document 来访问iframe子窗

2011-07-01 16:38:00 3829

原创 每日学习笔记(16)

在看jdk里的collection framework这部分,小结一下: 1, Arrays.copyOf, System.arraycopy这两个方法用得非常多。2, 比较两个 Object是否相等if (o1==null ? o2 == null : o1.equals(o2))3, equals方法一般写法       Public Boolean equals(Ob

2011-07-01 16:37:00 3998

原创 每日学习笔记(17)

  由于以前没接触过Maven,上周第一次checkout项目代码学习时,看到项目的结构觉得挺奇怪的,src/main/java下放代码,src/main/resource下放配置文件,src/test/java下放单元测试文件,src/main/webapp下放web层的代码,今天看了 《Maven权威指南》后,才明白这是Maven的约定的代码结构,它的核心理念就是“约定优于配置”。  

2011-07-01 16:37:00 2359

原创 每日学习笔记(18)

1,iBatis源码中DefaultSqlSession.java,下面这个方法中匿名类的使用比较有意思,我对这个语法不熟悉,师兄说这是匿名类的初始化,private Object wrapCollection(final Object object) {    if (object instanceof List) {      return new HashMap() {{

2011-07-01 16:37:00 2240

原创 每日学习笔记(14)

1)今天在读《MySQL技术内幕InnoDB存储引擎》,作者在第四章讲到MySQL的分区时提到了一个问题,“对数据表分区真的会提高数据库的查询性能吗?”。对于OLAP的应用,分区的确可以很好地提高查询的性能,因为OLAP应用中大多数查询需要频繁地扫描一张很大的表。假设表中数据有1亿行,其中有一个时间戳属性列。你的查询需要从这张表中获取一年的数据。如果按数据戳进行分区,则只需要扫描相应的分区

2011-07-01 16:36:00 2142

原创 每日学习笔记(15)

今天接着读《MySQL技术内幕InnoDB存储引擎》的第5章关于索引这部分内容。什么时候使用B+树索引?并不是在所有的查询条件下出现的列都需要添加索引,作者指出当访问表中很少一部分行时,使用B+树索引才有意义。对于像性别,地区,类型等字段,它们的可取值范围很小,即所谓低选择性,比如Select * from student where sex=’M’,那么结果可能是该表50%的数据,此时添

2011-07-01 16:36:00 2076

原创 每日学习笔记(12)

一,源码编译openfetion0,将所需的依赖库都安装好1,安装CMake,版本2.8以上2,在openfetion目录下建立一个build目录3,cmake -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=debug4,进入build目录中进行编译:make    安装:make install5,安装完成后

2011-07-01 16:35:00 2443

原创 每日学习笔记(13)

1,ubuntu中mysql好久没用了,密码忘记了,首先停止mysql/etc/init.d/mysql stop然后以不检查权限的方式启动mysqlmysqld_safe --skip-grant-tables &然后root用户以空密码登录mysqlmysql -u root然后修改root用户密码:mysql> update mysql.user

2011-07-01 16:35:00 2105

原创 CodeIgniter剖析(1)

下载CodeIgniter1.7并解压缩后,将index.php和system目录拷贝到web服务器的根目录下,这样就完成了CodeIgniter的安装。         安装完后可以看下system目录下的结构。Application是你自己项目存放文件的目录(简单来说,控制器,模型和视图都在这里)。System目录下其他文件夹是CodeIgniter自身的代码,比较常用的有librar

2011-07-01 16:35:00 2544

原创 【分享】Firefox和Chrome扩展开发

今天在公司内部做的一个技术分享,内容涉及Firefox扩展开发,XPCOM组件,Chrome扩展开发,以及两者可扩展性的比较。      以下是讲稿的大纲:      1,Firefox扩展快速入门2,实例1:Hello World for firefox3,实例2:图片批量下载扩展4,XPCOM—跨平台的COM技术5,实例3:迅雷下载扩展6,Chrome扩展快速入

2011-07-01 16:34:00 2761

原创 【译】Withdrawal symptoms

<br /><br />Withdrawal symptoms <br />脱瘾症状<br />After the stimulus, the hangover<br />经济刺激计划之后所遗留下来的<br />Oct 7th 2010<br />《经济学人》2010-10-07<br /> <br />SOME Americans havealways taken the national debt personally. During the 1940 census (according tot

2010-10-28 17:11:00 752

原创 【译】How to grow

<br />Howto grow<br />如何增长<br />Withoutfaster growth the rich world’s economies will be stuck. But what can be done toachieve it? Our economics team sets out the options <br />若没有更快的增长,发达国家的经济将会停滞不前。但是怎样才能实现更快速的增长呢?我们的经济学家团队给出了一些选项。<br />   <br />Oct

2010-10-28 09:11:00 638

原创 【译】Smart-phone lawsuits

<br />Smart-phonelawsuits<br />智能手机诉讼<br /> <br />Thegreat patent battle<br />伟大的专利权战争<br /> <br />Nastylegal spats between tech giants may be here to stay<br />科技巨头之间令人生厌的口水仗将继续下去<br /> <br />Oct21st 2010<br />翻译:phinecos于2010-10-25<br /> <br />HI

2010-10-26 13:10:00 612

原创 【译】Drugs and security in North America

<br />Drugs andsecurity in North America<br />北美的毒品和安全<br /> <br />Mexican waves, Californian cool <br />墨西哥,飘摇,加州,酷!<br /> <br />Three things to stop the gangs:better police in Mexico,stricter gun laws in <br />America and legal pot in California<br

2010-10-21 23:12:00 595

原创 【译】Drugs and security in North America

<br />Drugs andsecurity in North America<br />北美的毒品和安全<br /> <br />Mexican waves, Californian cool <br />墨西哥,飘摇,加州,酷!<br /> <br />Three things to stop the gangs:better police in Mexico,stricter gun laws in <br />America and legal pot in California<br

2010-10-21 23:10:00 568

原创 【译】News Corporation's bid for BSkyB

<br />News Corporation's bid for BSkyB <br />新闻集团欲收购BSkyB<br /> <br />Clouding over the Sky <br />天空之上的云朵<br /> <br />The Murdochs should be allowed to acquire Britain’ssatellite broadcaster <br />默多克应当被允许收购英国的卫星广播服务商<br /> <br />Oct 14th 2010 <br />《经济学

2010-10-21 01:10:00 765

原创 【译】How to stop a currency war

<br />How tostop a currency war <br />Keep calm, don’t expect quickfixes and above all don’t unleash a trade fight with China <br />如何遏制一场货币战争    <br />-----保持镇定,不要期望迅速的解决之道,尤其不要与中国发动贸易战<br />Oct 14th 2010 <br />《经济学人》2010-10-14<br />IN RECENT weeks th

2010-10-20 13:10:00 657

原创 每日学习笔记(11)

<br />1,php中反射API应用的一个实例代码<?php<br />class Person<br />{<br />    public $name;<br />    function __construct($name) <br />    {<br />        $this->name = $name;<br />    }<br />}<br />interface IModule<br />{<br />    function execute();<br />}<br />clas

2010-09-30 11:10:00 519

原创 python邮件发送脚本

代码#!/usr/bin/python<br />#coding=utf-8<br /><br />#@author:dengyike<br />#@date:2010-09-28<br />#@version:1.0<br />#@description: auto sending email with attachment file<br /><br />import email<br />import mimetypes<br />from email.MIMEMultipart import MIM

2010-09-28 15:10:00 687

原创 每日学习笔记(10)

<br />记录下自己日常工作中经常使用的几个小工具类<br />1,python部分,一个日志类,一个数据库操作类。代码###################<br />#日志辅助类<br />#################<br />class Logger:<br />    LOG_DEBUG= "debug"<br />    LOG_DEBUG_FILE = "/tmp/debug.log"<br />    LOG_RELEASE = "release"<br />    LOG_RELE

2010-09-28 10:11:00 592

原创 Adobe Achemy入门指南(二)

<br />    在第一篇入门文章介绍了Achemy的基本知识,本文将介绍了了一个新的知识点,即如何从c代码中调用外部的actionscript3代码。<br />这在实际中有许多地方可以应用到。<br />    思路很简单:就是常用的回调的概念,我们在as3中调用c语言代码的时候,将自身实例对象作为参数传递给所调用的c函数,<br />    然后在c代码中就可以在需要的时候回调as3代码中所定义的回调函数。<br />    具体实例如下,功能非常简单,就是让c代码调用as3中的一个函数,打印"he

2010-09-21 21:10:00 630

原创 每日学习笔记(7)

<br />      本文是对Python自带的unittest框架学习笔记的入门篇,简单介绍PyUnit框架的基础知识。<br />待测试的目标类代码#!/usr/bin/python<br />#coding=utf-8<br /><br />class Widget:<br />    def __init__(self, size = (40,40)):<br />        self._size = size<br />    def getSize(self):<br />        

2010-08-19 16:08:00 1032

原创 每日学习笔记(6)

<br />今天在做的事情是将一个as3项目的部分代码移植到PHP中来,记录下移植过程中遇到的两个问题。<br />1,AS3中String类的charCodeAt函数是返回字符的unicode编码,而在PHP中并没有直接与之对应的库函数,可以用下面这个函数做替代:代码<?php<br />function uniord($str,$from_encoding=false){<br />        $from_encoding=$from_encoding ? $from_encoding : 'UTF

2010-07-08 19:08:00 749

原创 Adobe Achemy入门指南

<br />1,需要用到的开发工具有:1)Alchemy2)Cygwin 3)Flex SDK(3.2+) 4)Java(只需要JRE就够了) 5)Flex Builder<br />2,安装步骤:<br />      1)Alchemy解压缩到c:/alchemy下<br />      2)FlexSDK解压缩到c:/flex下<br />      3)Cygwin在”选择包“这一步时,确保选中下述三个包:<br />           a)Archive目录下的zip包<br />   

2010-07-07 16:13:00 1206

原创 《Head First设计模式》读书笔记(二)

<br />对于观察者模式,PHP通过标准PHP库(SPL)提供了内建的支持,下面用SPL对昨天的观察者模式示例进行修改。代码<?php<br />    class WeatherData implements SplSubject<br />    {<br />        private $observers = null;<br />        private $temperature = 0;<br />        private $humidity = 0;<br />       

2010-07-07 10:13:00 641

原创 《Head First设计模式》读书笔记(一)

<br />      用php来实现书中的示例和习题,昨天完成策略模式和观察者模式,代码如下:代码<?php<br />    interface FlyBehavior<br />    {<br />        function fly();<br />    }<br />    interface QuackBehavior<br />    {<br />        function quack();<br />    }<br />    class FlyWithWings impl

2010-07-06 09:09:00 727

原创 每日学习笔记(5)

1,python的全局变量使用类似于php,但有一点值得注意,如果你的全局变量是List或Dictionary之类的,那它就默认是可以全局访问,并不需要加global关键字代码#!/usr/bin/python<br />#coding=utf-8<br /><br />import sys<br />reload(sys)<br />sys.setdefaultencoding('utf8')<br /><br />myDict = {}<br />myList = []<br />global_var 

2010-06-08 11:08:00 800

原创 5月读书小结

1,《可爱的Python》,难得的一本国人写的好书。这本书最有特色的一点就是以一个CD信息搜索程序作为载体,从最简单的需求入手,逐步深入下去,一点点对python脚本进行重构和改进。这个项目虽然很小,但却能体会到作者的整个思路过程,尤其是作者的思维过程的展现,很有实用价值。不过这个项目还应当更深入提升一些,应该将CD信息构造成倒排索引,再对搜索的关键字进行分词,然后进行搜索,如果像这样能与

2010-05-28 21:12:00 664

原创 使用C语言扩展Python(五)

上一篇中我们在python端的做法是每次读取一个数据块,然后将这个数据块传递进C扩展模块中去,但对于目标文件的数据写入是在C扩展模块中完成的,但其实可以更面向对象一点,不是吗?原来outfp是一个文件指针,不如改成一个从Python中传递一个文件对象到C模块里去,这个文件对象有自己的write方法,这样在C扩展模块中你就可以回调文件对象的write方法来完成数据的写入。 首先来看Pytho

2010-05-23 23:08:00 2951 4

原创 使用C语言扩展Python(四)

上一篇里的LAME项目已经展示了python如何与C语言交互,但程序仍不够理想,在python这一端仅仅是传递源文件和目标文件的路径,再调用C模块的encode方法来进行编码,但问题在于你无法控制encode函数,比如你想编码的源文件如果不是原始数据,而是wav文件或者其他格式呢?对于这个问题,有两种方法可以选择,一种模仿前面的C模块,在你的Python代码中读取数据,并将数据块逐个传递给

2010-05-23 00:08:00 1043

空空如也

空空如也

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

TA关注的人

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