自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

踏雁寻花

分享心得,共同成长。。。

  • 博客(195)
  • 资源 (4)
  • 收藏
  • 关注

原创 聚合类新闻客户端的改进

zaker和鲜果是最早的聚合类新闻产品,前几年发展很快,迅速占领了市场,但近两年发展变得缓慢,而今日头条自发布以来才两年,用户量就迅速超过了zaker和鲜果,使用起来非常简单,左右滑动切换频道,上下滑动浏览新闻,点击进入新闻详情页,而zaker和鲜果则不同,界面清新,拥有独特的页面布局,但对于首次使用的用户,门槛较高,这将直接影响用户量。

2014-11-14 00:52:47 4055

原创 聚合类新闻客户端初体验

初体验的产品:今日头条(ios3.6)、百度新闻(ios4.4.0)、ZAKER(ios4.4.5)、鲜果(ios3.8.7)、中搜搜悦(ios4.0.1)、Flipboard(ios2.3.9)

2014-11-13 00:38:22 4402

原创 聚合类新闻客户端产品功能点详情分析

我把鲜果和Zaker标记了特色功能,其实这四款产品中除了今日头条都存在订阅媒体的功能,但百度新闻并没有把这个放在重要的位置,只有当你进行搜索的时候才能够找到想要订阅的媒体,毕竟百度的资源太丰富,这么多的内容也放不下,相比之下,鲜果、ZAKER则在这一部分做的很到位。

2014-11-12 23:43:05 4449

原创 聚合类新闻客户端产品分析

每个产品都有不同的特色: 今日头条,注重精准化推荐,注重社交分享,培养用户参与线上活动。 百度新闻,海量数据内容,为用户提供更多的信息。 鲜果,个性化订阅,给用户更多的选择权。 ZAKER,为用户提供在线杂志阅读的感觉,享受每一篇新闻,同时为用户提供社交的机会。

2014-11-11 14:08:41 4169

原创 原创意:背对背一起做产品

发现-呈现-实现为了实现背对背一起做产品。它可以帮助有创意的人以及找项目的人一起实现产品,帮助有需求的人以及找需求的人一起开发项目。实现 发布-组队-开发-测试-完成-维护的一整套流程。

2014-11-06 20:18:19 1574

转载 《精益创业》- 天下大事必作于细,天下难事必作于易

今天就说说比邻这款APP,知道这款社交软件已经很久了,直到上周参加了一个线下沙龙分享活动才在自己的手机上安装,不过使用的过程还真是曲折,目前比邻的版本是3.0.6,不知以前的版本是否存在一些bug,不过可以确定此版本是存在很多bug的,如,在使用手机号码注册之后,登录时需要填写个人信息,当选择性别时,会出现白框,什么都不显示,无法进行任何操作,之后退出重新登录,试了很多次依旧不行,然后就卸载了,这

2014-11-06 20:15:33 1928

原创 苹果,你是要闹哪样? - 苹果发布会所感

昨晚没有观看直播,据说直播还出了点儿问题,有国外的网友居然看到了中文直播,纷纷在twitter上吐槽。关于iPhone 6、iPhone 6 Plus、Apple Watch的特性,我就不多说了,发布会上已经说的很明白了。在这里我主要挑选几个点大家一起分析分析:1、iPhone 6 中后摄像头凸起,可能会出现磨损的现象,而且手机也很难放平稳。iPhone 6中因为加入了光学防抖功能,不得不在苹

2014-09-10 15:54:31 853

原创 《启示录》总结4 - 产品

1、苹果公司的借鉴     1)、硬件为软件服务     2)、软件为用户体验服务     3)、用户体验为情感服务     4)、产品为真正的需求服务2、如何在成熟的市场抢占一席之地?     1)、对目标市场了如指掌,对现有产品的缺陷洞若观火。     2)、跟踪最新的技术趋势。新技术层出不穷,让之前无法实现的方案变得可能。优秀的产品经理应该抓住现有技术

2014-08-28 00:44:23 863

原创 《启示录》总结5 - 要点及反思

十大要点:1、产品管理的职责2、用户体验3、机会评估4、特约用户5、产品原则6、人物角色7、探索(定义)产品8、使用原型9、用户参与原型测试10、根据数据改进产品产品经理的反思清单1、产品能吸引目标消费者的关注吗?2、产品的设计是否人性化,是否易于操作?3、产品能在竞争中取胜吗?即使是面对未来风云变化的市场,依旧有取胜的把我吗

2014-08-28 00:43:35 1510

原创 《启示录》总结3 - 流程

1、评估产品机会回答十个问题:     1)、产品要解决什么问题?(产品价值)     2)、为谁解决这个问题?(目标市场)     3)、成功的机会有多大?(市场规模)     4)、怎样判断产品成功与否?(度量指标或收益指标)     5)、有哪些同类产品?(竞争格局)     6)、为什么我们最适合做这个产品?(竞争优势)     7)、时机合适吗?(市场时机

2014-08-28 00:43:16 894

原创 《启示录》总结2 - 人员

1、产品经理的主要职责:评估产品机会(product opportunity)、定义要开发的产品。2、交互设计师负责深入理解目标用户,设计有价值的、可用的功能,以及用户导航和产品使用流程。与产品经理合作,目标是确保产品具有可用性(用户明白如何使用)和价值(用户对产品的渴望程度)。3、产品管理与产品营销产品经理负责详细定义待开发的产品,让真实的用户测试产品。产品营销人员负责向外界宣传

2014-08-28 00:42:14 877

原创 《启示录》总结1 - 概述

好产品靠设计1、产品经理的任务是探索产品的价值、可用性、可行性。2、探索(定义)产品需要产品经理、交互设计师、软件架构师通力合作。3、开发人员不擅长用户体验设计,因为开发人员脑子里想的是实现模型,而用户看重的是产品的概念模型。4、用户体验设计是交互设计、视觉设计(对于硬件来说是工业设计)。5、功能(产品需求)和用户体验设计密不可分。6、产品创意必须尽早、反复的接受目标用户的

2014-08-28 00:40:02 1157

原创 经典死锁案例-哲学家就餐

经典案例:哲学家就餐。通过修改《Java编程思想4》一书中的案例,来做实验,

2014-08-19 23:14:30 6133

原创 美拍为何会这样火

这款产品能够这么火,总结几个原因如下:1、这款产品有点儿像视频版的糗百。糗百的定位是搞笑、糗事的分享,用户可以浏览笑话、搞笑图片;美拍的定位是潮、短视频分享,用户可以欣赏上面一些有意思的短视频,并且也可以将自己录制好并美化好的视频与大家分享;

2014-08-17 22:28:12 3652

原创 电商客户端竞品分析-手机淘宝、京东、唯品会、聚美优品

市场状况     艾瑞最新统计数据显示,2013年移动网购整体交易规模1676.4亿元,同比增幅高达165.4%,而同期PC端网购规模将近16000多亿元,同比增速35.7%。预计2017年市场规模将近万亿,增速39.4%。    图1 2011-2017年中国移动购物市场交易规模     2013年中国移动网购渗透率9.1%

2014-08-03 22:14:20 31032

翻译 Linux中10个有用的命令行补齐命令

在Linux系统中,输入一个命令,再按两次TAB键,就会列出所有以输入字符开头的可用命令。这并不新鲜,很可能你已经知道了这个。这个功能被称作命令补全。默认情况下,bash命令行可以自动补全文件或目录名称。不过,我们可以使bash命令行补全执行更多的操作,通过补全命令可以让它成就下一个辉煌。这个教程说明了我们是怎样使用可编程的命令行补全功能(programmable comp

2014-04-04 16:39:01 2330

翻译 使用Java处理大文件

我最近要处理一套存储历史实时数据的大文件fx market data,很快意识到,使用传统的InputStream不能够将它们读取到内存,因为每一个文件都超过了4G。甚至编辑器都不能够打开这些文件。在这种特殊情况下,我可以写一个简单的bash脚本将这些文件分成更小的文件块,然后再读取它。但是我不想这样做,因为二进制格式会使这个方法失效。处理这个问题的方式通常就是使用内存映射文件

2014-04-02 22:35:06 1927

翻译 Eclipse中的Java 8功能支持情况

我在Eclipse(Java development tools (JDT) )团队中从事 Java™ 8 研究的工作已经很久了。同时,他们也通过我们的 Bugzilla 工具跟踪了所有的工作。所有的Java8 的bug都是以[1.8]为前缀的,这样可以很容易的被发现。这里可以看到589个已经关闭的错误,我们团队已经有75%左右的bug修复。当然,仍然会有新的bug出现,但毫无

2014-03-29 15:52:25 3203

翻译 减少GC开销的5个编码技巧

在这篇文章中,我们来了解一下让代码变得高效的五种技巧,这些技巧可以使我们的垃圾收集器(GC)在分配内存以及释放内存上面,占用更少的CPU时间,减少GC的开销。当内存被回收的时候,GC处理很长时间经常会导致我们的代码中断(又叫做"stop the world")。背景     GC用来处理大量的短期的对象的分配(试想打开一个web页面,一旦页面被加载之后,被分配内存的大部分对象都会被

2014-03-21 23:57:03 3497

原创 红黑树插入操作分析及代码实现

首先说一下红黑树的五个性质:1、每个结点要么是红色的,要么是黑色的;2、根结点是黑色的;3、每个叶结点,即空结点(NIL)是黑色的;4、如果一个结点是红色的,那么它的两个子结点都是黑色的;5、对每个结点,从该结点到其子结点的所有路径上包含相同数目的黑结点。在对红黑树插入的时候,我们一般都会插入红色的结点,红黑树的插入主要有这几种情况:1、插入的是根结点;

2014-03-19 09:56:00 1714

翻译 Java8-本地缓存

这里我将会给大家演示用ConcurrentHashMap类和lambda表达式实现一个本地缓存。因为Map有一个新的方法可以在key为Null的时候自动计算一个新的value值。非常完美的实现cache。来看下代码:public static void main(String[] args) { for (int i = 0; i < 10; i++) System.o

2014-03-13 00:44:20 2709

翻译 超高速缓存的最佳实践

Performance Zone这个社区是由 New Relic 和 AppDynamics来维护的。这两个人都是APM社区的用户,APM社区有很多的知名的用户,并且能够为这些用户减少很多的成本。定制高速缓存解决方案是一件非常有趣的事情,它似乎是改善应用程序整体性能的最简单的方式。然而,超高速缓存是一项很大的技术难题,在实践之前需要注意几个事项。最佳范例1、key/value集

2014-03-12 22:56:32 2554

翻译 Java8:使用新JS解释器Nashorn编译Lambda表达式

在最近的一篇文章中,我了解了一下Java8和Scala是如何实现 Lambda 表达式的。正如我们所知道的,Java8不仅对javac编辑器做了很大改进,它还加入了一个全新的项目---Nashorn。这个新的解释器将会代替Java现有的Rhino解释器。据说它执行JavaScript的速度非常之快,就像世界上最快的跑车 V8s,所以,我觉得现在很有必要打开Nashorn源码,看看它是如

2014-03-11 18:07:55 13056 5

原创 notify和notifyAll的一段儿代码分析

当你Google”notify()和notifyAll()的区别”时,会有大片的结果弹出来,(这里先把jdk的javadoc文档那一段撇开不说),所有这些搜索结果归结为等待的线程被唤醒的数量:notify()是唤醒一个, 而notifyall()是唤醒全部.那他们的真正区别是什么呢?

2014-03-11 10:48:53 5142 1

转载 notify发生死锁的情景

jvm多个线程间的通信是通过 线程的锁、条件语句、以及wait()、notify()/notifyAll组成。下面来实现一个启用多个线程来循环的输出两个不同的语句:package com.tyxh.block;class OutTurn {    private boolean isSub = true;    private int count

2014-03-11 10:37:24 7426

转载 BlockingQueue深入分析

1.BlockingQueue定义的常用方法如下 抛出异常特殊值阻塞超时插入add(e)offer(e)put(e)offer(e,time,unit)移除remove()poll()take()poll(time,unit)检查element()peek()不可用不可用

2014-03-10 23:46:46 40007

转载 jquery $(document).ready() 与window.onload的区别

Jquery中$(document).ready()的作用类似于传统JavaScript中的window.onload方法,不过与window.onload方法还是有区别的。1.执行时间 window.onload必须等到页面内包括图片的所有元素加载完毕后才能执行 ;$(document).ready()是DOM结构绘制完毕后就执行,不必等到加载完毕。  2.编写个数不同

2014-03-07 22:40:14 920

翻译 使用JUnit测试预期异常

开发人员常常使用单元测试来验证的一段儿代码的操作,很多时候单元测试可以检查抛出预期异常( expected exceptions)的代码。在Java语言中,JUnit是一套标准的单元测试方案,它提供了很多验证抛出的异常的机制。本文就探讨一下他们的优点。我们拿下面的代码作为例子,写一个测试,确保canVote() 方法返回true或者false, 同时你也能写一个测试用来验证这个方法抛出的I

2014-03-05 21:35:14 34960 3

原创 Java多线程sleep(),join(),wait(),interrupt()

关于Java多线程知识可以看看《Thinking in Java 》中的多线程部分和《Java网络编程》中第5章多线程的部分以下是参考>的 1. sleep() & interrupt()     线程A正在使用sleep()暂停着 Thread.sleep(100000);     如果要取消他的等待状态,可以在正在执行的线程里(比如这

2014-03-05 10:02:05 8171 3

原创 算法:海量日志数据,提取出某日访问百度次数最多的那个IP

首先是这一天,并且是访问百度的日志中的IP取出来,逐个写入到一个大文件中。注意到IP是32位的,最多有个2^32个IP。同样可以采用映射的方法,比如模1000,把整个大文件映射为1000个小文件,再找出每个小文中出现频率最大的IP(可以采用hash_map进行频率统计,然后再找出频率最大的几个)及相应的频率。然后再在这1000个最大的IP中,找出那个频率最大的IP,即为所求。或者如下阐述(雪域

2014-03-05 10:00:58 12124 1

转载 关于hashcode 里面 使用31 系数的问题

首先我们来了解一下hashcode,什么是hashcode?有什么作用?hashcode其实就是散列码,hashcode使用高效率的哈希算法来定位查找对象!我们在使用容器来存储数据的时候会计算一串散列码,然后将数据放入容器。如:String s =“java”,那么计算机会先计算散列码,然后放入相应的数组中,数组的索引就是从散列码计算来的,然后再装入数组里的容器里,如Lis

2014-03-05 09:08:04 8943 2

原创 自定义tag标签-实现long类型转换成Date类型

数据库里存储的是bigint型的时间,entity实体中存放的是long类型的标签,现在想输出到jsp页面,由于使用的是jstl标签,而要显示的是可读的时间类型,找来找去有个 fmt:formatDate可以转化,但是只能将String类型的转成date型,long型则不可以,思考了好久,又不想破环jsp页面这种标签结构,参考网上jstl标签编写方法,如下:第一步 写一个类继承TagSuppo

2014-03-04 22:06:47 5904 1

转载 技术债务

是一个的隐喻,可以是在软件体系结构和软件开发中最终产生结果是差劲的代码。债务可以被认为是工作之前必须完成特定的工作。从演化代码开始,经常有需要对变化做出协调的,同时也包括其他部分的代码或文档,也被认为是在一些在未来必须支付的债务。它是:     在重构中 (消除重复/冗余代码),随着时间的推移让代码质量恶化。正如金融债务,这是在短期内容易做到的事情。然而随着时间推移,有趣的是你的支付是巨大

2014-03-04 00:00:52 1987

原创 利用反射访问私有属性、调用私有方法

访问私有属性的代码:package com.tyxh.create;public class Customer { private int a = 1; public int getA() { return a; } }package com.tyxh.create;import java.lang.reflec

2014-02-28 09:45:17 1344

原创 Java序列化几点注意事项

序列化保存的是对象的状态,而静态变量是类的状态。1、基本类型的数据可以直接序列化2、对象要被序列化,它的类必须要实现Serializable接口;如果一个类中有引用类型的实例变量,这个引用类型也要实现Serializable接口。3、可以用这个代码:ObjectOutputStream out  = new ObjectOutputStream(new FileOu

2014-02-28 09:25:49 7432

原创 克隆的理解

一、Cloneable 的用途 Cloneable和Serializable一样都是标记型接口,它们内部都没有方法和属性,implements Cloneable表示该对象能被克隆,能使用Object.clone()方法。如果没有implements Cloneable的类调用Object.clone()方法就会抛出CloneNotSupportedException。二、克隆

2014-02-28 08:59:13 1601

原创 表单提交get和post的区别

1、Get 是用来从服务器上获得数据,而 Post是用来向服务器上传递数据。2、Get 将表单中数据的按照 variable=value的形式,添加到action所指向的 URL后面,并且两者使用“?”连接,而各个变量之间使用 “&”连接;Post 是将表单中的数据放在 form的数据体中,按照变量和值相对应的方式,传递到 action所指向URL 。3、Get 是不安全的,因为在传输过程

2014-02-27 21:16:31 1562

原创 quartz任务并行

任务有并行和串行之分,并行是指:一个定时任务,当执行时间到了的时候,立刻执行此任务,不管当前这个任务是否在执行中;串行是指:一个定时任务,当执行时间到了的时候,需要等待当前任务执行完毕,再去执行下一个任务。quartz框架中防止任务并行可以有两种方案:1、如果是通过MethodInvokingJobDetailFactoryBean在运行中动态生成的Job,配置的xml文件有个co

2014-02-26 21:19:22 13415 5

转载 10个有关String的面试问题

下面是面试中最容易问到的有关String的问题。1. 如何比较两个字符串?使用“==”还是equals()方法?简单来讲,“==”测试的是两个对象的引用是否相同,而equals()比较的是两个字符串的值是否相等。除非你想检查的是两个字符串是否是同一个对象,否则你应该使用equals()来比较字符串。如果你知道interning的概念的话,那就更好了。2. 为什么针对安全保密高的信息

2014-02-25 23:01:58 1021

原创 JavaBean是什么

JavaBean是一种特殊的Java类,即:有默认构造方法,只有get和set方法的java类的对象。专业解释:软件组件就是指可以进行独立分离、易于重复使用的软件部分。JavaBean就是一种基于Java平台的软件组件思想,JavaBean也是一种独立于平台和结构的应用程序编程接口(API)。JavaBean保留了其他软件组件的技术精华,并添加了被其他软件组件技术忽略的技术特性,使得它

2014-02-24 21:36:17 13382 1

Java8中的java.util.Random类文章代码

Java8中的java.util.Random类 文章代码,不多解释啦,不需要你安装其它的jar包。

2014-02-22

JDK7源代码

java7源代码,我这个资源是在http://sourceforge.net/网址下载的,资源本人看过没问题,以后大家找源码资源,可以到这个网站

2014-02-19

铁路小助手

本软件主要是用于车票查询的移动软件,适用于安卓手机2.3.3平台以上,可以查询,添加,及查询时刻表等相关信息

2013-02-07

Windows 7 - 70个隐蔽功能

主要是关于win7的一些隐蔽功能和一些小技巧的总结

2011-12-10

空空如也

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

TA关注的人

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