Herbert
This user hasn't shared any biographical information
Homepage: http://www.shishuo.com/
Posts by Herbert
20110709技术嘉年华论坛笔记
Jul 13th
我听到的第一场是《用户行为分析》
@吴英杰大概内容如下:
1、用户行为分析可以通过服务器端收集信息和客户端收集信息, 服务器端有分析日志为主,而客户端收集有浏览器插件(百度流氓插件)和Javascript为主。
2、淘宝最近启动了一个项目,叫“淘宝显微镜”,此项目是一个类似Google分析,百度点击的一个项目。
在做这个“淘宝显微镜”碰到的问题有
1、坐标校准的问题;
2、数据怎么发送到问题;new Image();
3、常见问题:
1》 浮动层重叠问题
2》 数据未发送,页面已经跳转的问题
4、数据体现
1》 点击图
2》 热感图
5、展望和改进
1》 更直观,能够理解数据,提交有用的数据
2》 更具体,细节决定成败
3》 更及时,“天下武功,无坚不摧,唯快不破”
@周峰
可视化的用户行为分析,显微镜项目刚刚起步
用户群: 设计师,产品经理,运营经理
@刘平川
点击分析,悬停分析,轨迹分析
绘图选型: Flash,php clickheart,canvas(html5)
百度选择的是canvas
分析采集时间和数据
采集频率:400MS~500MS
采集大小:<2K 数据筛选:
数据坐标:相对坐标,绝对坐标,重要的是确定原点位置,也可以使用栅格化确定位置;
PS: 可以总结为百度在分析用户行为的时候,使用了图论的知识点;
听了两天,其实比较累了,其他的场次讲的太快,只顾听和拍照了,笔记做不过来。看来大家还是等PPT发布吧。
【网易(杭州)招聘】-JAVA开发工程师
Jun 8th
公司简介:
网易是中国领先的互联网技术公司,为用户提供免费邮箱、游戏、搜索引擎服务,开设新闻、娱乐、体育等30多个内容频道,及博客、视频、论坛等互动交流。
职位描述:
- 负责大型Web产品的设计和开发。主要包括Web应用的服务端架构设计和编码开发;
- 改善大型web平台系统的易用性,提升用户使用体验;
- 为快速发展的技术部和各业务部门开发高质量的软件应用与工具。
任职资格:
- 本科及以上学历,计算机,软件工程及相关专业;
- 熟悉软件工程,面向对象的程序设计方法;
- 熟练掌握java技术,对于面向对象模型和设计模式有比较清晰的认识,熟悉Spring、Struts等开源框架;
- 熟悉MySQL/Oracle数据库,熟悉关系数据库应用设计开发;
- 熟悉Linux/Unix平台,熟悉Apache、Tomcat、Resin;
- 精通Internet基本协议(如TCP/IP、HTTP、SMTP、FTP等)内容及相关应用;
- 具有较强的编程能力,能够完成较复杂的交互流程设计和实现,具备良好的编程习惯,能够编写高质量技术文档;
- 有在大型IT公司开发团队工作经验者优先;
- 需要较强的逻辑分析、数据分析能力、问题排查能力,工作主动,学习能力强,具备丰富想象力和创造力;
- 面对挫折时保持情绪的稳定,在比较艰苦的情况下或巨大的压力下坚持工作;
- 主动提出自己的观点和意见,主动去发现可能存在的问题并设法解决。
月薪:面议
学历:本科
工作年限:1年以上
联系方式:gangzhao#corp.netease.com,期待你的加入,网聚你的力量。
JAVA GMT 时间
May 4th
GMT 格林尼治标准时间是指位于伦敦郊区的皇家格林尼治天文台的标准时间,因为本初子午线被定义在通过那里的经线。 理论上来说,格林尼治标准时间的正午是指当太阳横穿格林尼治子午线时的时间。由于地球在它的椭圆轨道里的运动速度不均匀,这个时刻可能和实际的太阳时相差16分钟。 地球每天的自转是有些不规则的,而且正在缓慢减速。所以,格林尼治时间已经不再被作为标准时间使用。现在的标准时间——协调世界时(UTC)——由原子钟提供。 自1924年2月5日开始,格林尼治天文台每隔一小时会向全世界发放调时信息。
下面就提供一下Java GMT时间的实现方法,对于GMT时间的用户,主要是用于COOKIE的过期时间计算。
/**
* 得到GMT时间字符串
*
* @param time
* 增加的时间毫秒数
* @return
*/
private static String getGMTDateStr(long time) {
Date d = new Date(System.currentTimeMillis() + time);
SimpleDateFormat dateFormat = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z", Locale.ENGLISH);
dateFormat.setTimeZone(new SimpleTimeZone(0, "GMT"));
return dateFormat.format(d);
}
前端||后端
Dec 23rd
在第五届D2论坛上,嘉宾们在讨论什么是前端?感觉讨论的不够具体,对于一些刚涉足开发的朋友们来说,什么叫前端和后端?什么叫前台和后台?都是比较迷惑的,我也曾经也很疑惑。现在也不能说是很清楚了,只不过按照自己的理解,也算是个通俗的理解吧。
1、前台和后台
前台和后台一般是从用户的角度来划分,比如网站的管理者使用的管理系统的平台叫做后台,把普通用户浏览或者操作的界面叫做前台。不过现在这样划分就有点不清晰了,现在的系统越来越复杂,即使普通用户也是有用户管理后台,对于管理员,也可以通过前台来管理信息。所以,目前很少以前台和后台来划分系统了。
2、前端和后端
至于前端和后端,我想还是比较清晰的容易划分的。
一般来说,你写的代码是放在Apache里,还是放到Tomcat里,就知道你是哪个端了?Apache是前端,Tomcat或者Resin是后端。不过搞不清楚,那就是云端了,哈哈,扯淡了下~~
如果是的工作是写CSS,HTML,JAVASCRIPT都可以说是前端,其它的就可以叫后端了。不过后端还有分层,比如叫底层开发,底层怎么理解呢?就是直接用服务器语言,或者脚本写代码的人。其实,底层开发这个概念也是模糊的,要看具体的应用划分了。
纯属YY,如有异议,都表赞同
Android平台开发概述
Dec 12th
如何从一个Java EE开发人员,转向到Android平台开发呢?其实很容易,这一点从我身上得到了验证,但是要做好,还是有一定难度的。
首先是下载Android SDK,地址是:http://developer.android.com/sdk/ (可能需要通过特殊方式访问),再启动我们的利器Eclipse,然后安装插件,在线安装的地址是:https://dl-ssl.google.com/android/eclipse/,配置好Android SDK的路径。
我只是简单的带过了配置过程,如果还有不明白的,需要详细的配置过程可以参考这个网址:http://news.congci.com/news/windows7-android-eclipse-adt
接下来的就可以创建一个Hello的工程,启动模拟器,开始我们快乐而苦闷的Android开发之旅了。我们先来了解几个概念。
1、Dalvik Virtual Machine
Dalvik虚拟机可以说是对应于Java虚拟机,但是二者之间是不同的。“JVM是一种堆栈机器,而Dalvik虚拟机则是基于寄存器的,一般而言,基于栈的机器需要更多指令,而基于寄存器的机器指令更大。”
2、Intent
这个对刚接触这个概念的人来说,有点抽象。不过我们可以做个设想,就是所有的程序都可以通过URL(Uniform Resource Locator,统一资源定位符)或者URI(Uniform Resource Identifier,统一资源表识符)来访问,对,在Android平台就是这样来实现了,当然现在有些其它平台也是这样设计的。
thunder://QUFodHRwOi8vd3d3LjE1My54ZG93(迅雷的下载地址)
qqdl://aHR0cDovL3d3dy4xNTMueGRvd25zLmN(QQ下载)
flashget://W0ZMQVNIR0VUXWh0dHA6Ly93d3c(Flashget下载)
http://www.herbertyang.com(网址)
我想此刻你可以理解到这样的请求已经在我们周围发生了,我们在大胆的想下云操作系统是否也可以这样实现呢?如果没错的话,以后就是浏览器的时代,当然浏览器的理解只是这个时代的范畴。
3、Activity
这个概念还好理解,Android的Activity与用户界面屏幕之间多为一对一的关系,Android应用程序包括多个Activity,Activity之间可以相互携带数据切换。
4、View
View可以理解成控件,常用的控件有:TextView, EditView, ListView, ImageView, TabHost, ViewGroup 等等。
当然还包括控件的布局View
- RelativeLayout:相对布局
- LinearLayout:线性布局
- FrameLayout:框架布局
- AbsoluteLayout: 绝对布局
学过Java SE的界面设计的话,这些应该比较好理解,只不过现在是把布局的Code写到了XML里面。
如何协作开发?
虽然到此还不能熟练的进行开发,不过这只是一个时间问题了。下面我们来讲解下如何进行协作开发,这个也是探索的最宝贵的经验。
我们还得讨论到三层架构,这个是我们分工协作的关键,也是我们能够井然有序的基本前提:
- 表现层:1、用户界面,2、交互
- 业务层:逻辑
- 数据层:1、访问SQLite/XML 2、Contacts 3、Web API 4、LBS
是的,和传统的Web开发模式是一样的。
参考文献
Ubuntu系统内核出错后修复
Dec 11th
这样的情况一般发生在系统升级时,编译了新的内核时出错导致的。
我由于一时手贱,在升级内核的时候,关闭了机器,导致系统无法系统,这时该怎么办能,想了好些办法,都由于种种原因失败了,不过最后更改了内核后,成功启动。
1、如果你启动系统时,可以看到GRUB的内核列表,选择一个老一点的列表进入系统,然后重新升级系统可以搞定。
2、如果1方法无效,此时需要LiveCD(安装光盘)
- 光盘启动系统
- 提升权限 “sudo -i”
- 使用查看磁盘“ fdisk -l”命令,得到root 和 boot的磁盘。(我自己的电脑把boot分区独立了出来)
- 挂靠磁盘
mkdir /mnt/newroot mount /dev/sda1/ /mnt/newroot mount /dev/sda5/ /mnt/newroot/boot chroot /mnt/newroot
- 最后,更改启动内核
update-initramfs -u -k 2.6.32-25-generic
OK,重启就可以进入系统了。

