随笔-9  评论-17  文章-0  trackbacks-0
  2012年3月24日
提升技术的关键
问:很想成为技术高手,最重要的,是不是要看大量书,做很多项目?
答:我看很多人买了一堆书,做了无数的项目,还是技术平平,因为买了书没读,后五年做项目,是在前三年水平循环。
能力提升靠学习,学习的持久动力来源于兴趣。
有兴趣,买书后会看、会思考;做项目时会总结。
有兴趣,就会勤奋、专注、有耐心。
有兴趣,就会不断总结方法。而方法,是提升学习效率和工作效率的关键。
所以,兴趣最关键。

关于阅读量
问:很多技术高手都看书近百本,我如何做到?
答:你知道他们花了多少年吗?可能是10年,平均一年才10本,这个你能够做到吧?

关于表达能力
问:我感觉自己和同事交流时,总表达不清自己的观点,我怎样提升自己的口才?
答:这个和口才没多大关系,深刻理解了问题的本质,表达自然会流畅。

关于技术大牛
问:我知道很多技术大牛,想很快赶上他们,怎么做?
答:你知道他们一般多大年龄?可能35吧。你现在23岁,耐心积累和等待吧。

关于浮躁
问:我最近看什么都没耐心,看东西也总是似懂非懂,是不是我太浮躁了?
答:人的心态,都会经历一个过程:宁静、浮躁再到宁静静,你现在处于浮躁期很正常。
你上学时,一学期啥都不做,只学10本书,自然心很静。现在,要看的东西很多,你驾驭不了,自然会无所适从。坚持几年,各知识点都梳理差不多,学习方法也成熟了,你自然会静下来。

关于遗忘
问:我现在学什么都容易忘记,很有挫败感,究竟怎么了?
答:打个比方,你将200颗五颜六色的玻璃珠丢到桶里,你要随便找出某一颗,是不是很难?如果按颜色穿成20串呢?如果再用一根横线,将20串再串起来呢?是不是再找起来很容易。
学习有个过程,从点到线到网,你现在处于点的积累阶段。积累一定程度,要串起来就很快,那时,你会有顿悟和触类旁通的感觉。
耐心等待吧。

关于学习的梯度
问:我想成为技术大牛,但我感觉业务很重要,以后还想搞管理,我该怎么做?
答:你现在才大学毕业一年,忘记业务和管理吧,专心搞技术。
如果你现在就专注业务,你会发现技术只是一种工具。
如果你现在就专注管理,你会发现,原来技术可以请人做,原来领导只关注进度和预算,于是你的技术可能会踌躇不前。
技术需要一种偏执和狂热,它是你以后转向业务和管理的基础,敲门砖。

关于科班出生
问:我是大专毕业,总感觉自己不如那些本科生,我考个本科证如何?
答:举个例子吧,我是学化学的,当年暑假,自学计算机网络和TCP/IP时,每天学习和实践不下10小时,40天,共400小时。
计算机科班的,18次课,课外18小时,加起来50多小时,就说这一门,他们怎么和我比?
另外,我所有计算机课都是自学,毕业后养成了自学的习惯和方法,后劲比一般人足。
所以,把你那宝贵的考证时间,用来做点实事吧。

关于技术含量
问:我现在做外包项目,没啥技术含量,学不到东西,咋办?
答:最没技术含量的,是做对日外包的Coding,jsp命名都是101.jsp、215.jsp,方法名也替你写好了。
但我见过从中走出的大牛,别人一周花3天干完活,其它时间研究日本人写的框架和设计文档。
软件开发这行很特殊,没有人可以限制你腾飞的冲动。

关于技术更新速度
问:IT技术变化太快,半年不学习就更不上时代了,好累啊。
答:当你学习EJB/RMI、CORBA、DCOM、SOAP/REST、DWR/JsonRPC时,你有没有发现,它们都根源于古老的RPC,对Windows RPC漏洞不陌生吧?把RPC原理彻底搞懂,这些技术就学起来很快。


关于阅读框架源码
问:我看很多框架动辄上10万行代码,我看一点,实在看不懂就放弃了,你当时是怎么看的?
答:不要先钻进代码堆,而是了解设计。比如,struts核心是Command模式,JBPM思想是Graph Oriented Programming,两个框架的内核都不到2000行,几个核心类搞懂了,其它类都是顺藤摸瓜。
提示:了解设计,先研究包结构,如继承关系。

关于面试
问:我想进重技术的公司,面试官会怎么考察我?
答:兴趣+悟性+基础
你是很阳光的小帅哥,团队协作啥的不会卡到你。

关于鉴别公司
问:如果重新找工作,我怎么识别公司,如何站住脚?
答:不管公司网站如何吹嘘自己,都无法隐藏其实力,魔鬼就在细节中。打个比方吧:如果简历上写着“精通Java,精通HTML”,这人一定很初级,因为一个技术高手绝不会将HTML写上。
关于站住脚,最重要是把自己定位好,而不决定于能力。比如HP上海,以你目前的能力,你就别选高级职位;另外,如果你的能力目前只适合做开发,那么就先别做平台研发,一步步来。

关于薪酬待遇
问:如果我换工作,我该怎么要价呢?
答:首先,毕业头几年,别关注薪酬,一般的公司即使你不提,也不会亏待你。
其次,找工作时,简历上明确标明薪水。一方面,不标明薪水,公司一般会认为这人特没自信;另一方面,公司会根据你的简历评估你的能力和薪资期望的匹配度,你的面试有效机会会更多。而且,面试成功几率更大,因为你要3k,面试官不会问你8k薪水的问题。

关于简历详细程度
问:我的简历是不是写得越详细越好?
答:如果人力资源一天要阅读200封简历,只分配了3小时,意味着一分钟看一封,那你觉得该怎么写?简明扼要,突出重点。
posted @ 2012-03-24 12:07 到最后 阅读(395) 评论(4) 编辑
摘要: 最近参与一电商项目,遇到一项目冲突的案例,感慨颇多,故借此谈一下项目的冲突管理。部门主管A:为人谦和,有威望项目经理B:为人直率,说话较直,脾气火爆项目成员C:脾气古怪,不合群,但心思缜密项目还在需求分析阶段,各需求还未明确。A信任C的心思缜密,希望其规划系统流程,C不负众望很快拿出了自己的方案,并以邮件方式发布给各项目成员,希望能集思广益。大家也积极响应,分别就方案提出了自己的想法,B却提出了不同的看法,自己设计了一套流程似乎与C的方案大相径庭(凭我对B的了解,其应该并无否定C的意思,只是表达的太直),为此C大为光火,认为A授权其制定方案就应该采纳其方案。B和C之间发生了冲突,项目组人员间的阅读全文
posted @ 2012-03-24 12:02 到最后 阅读(210) 评论(0) 编辑
  2012年2月20日
 

实际上这一节我并不只想介绍DDMS这个工具,而是想借此说一下日志(Log),凡是有过开发、维护系统经验的人都应该知道日志的重要性,不管你是以文本、数据库或者IDE自带的方式来存储日志,这都是很有必要的。一般情况下,日志是用来记录系统运行的异常信息,让我们在程序的非调试情况了解到异常的问题所在。

在开发的时候,有问题我们一般都会选择调试,当然这个事最直接、有效定位问题的方法,但是速度相对较慢,如果可以查看问题日志那就会快很多。

在系统维护的时候更是彰显日志的重要性了,因为此时系统已经运行在服务端,我们很难去调试,即使调试有时也无法还原、捕捉到当时的异常(测试环境与真实环境难免有差异),特别是一些我们认为很“灵异”的异常(经常维护系统的人就会了解),尤其是文件读写权限、Office的读写权限、网络异常、性能瓶颈等外部异常。这个时候我们就很有必要在有可能出现这些异常的地方try catch,一旦系统出现异常我们的第一反应就是查看日志文件,分析问题的所在,快速定位,及时处理。

上面稍微啰嗦了一下,接下来言归正传,来看看AndroidDDMS能给我们带来什么:

DDMS 的全称是Dalvik Debug Monitor Service,即Dalvik调试监控服务,是一个可视化的调试监控工具。它主要是对系统运行后台日志的监控,还有系统线程,模拟器状态的监控。此外,它还可以模拟收发短信,拨打电话和发送GPS位置信息等。

启动DDMS

1.eclipse界面的右上角,点击添加工具图标,选中DDMS确定,eclipse右上角就会出现DDMS图标,点击该图标开启DDMS

 

 DDMS各部分组成的功能简介

1.Devices    可以查看到所有与DDMS连 接的模拟器详细信息,以及每个模拟器正在运行的APP进程,每个进程最右边相对应的是与调试器链接的端口。

 

2.Emulator Control 可以实现对模拟器的控制,比如:接听电话,根据选项模拟各种不同网络情况,模拟接受SMS消息和发送虚拟地址坐标用于测试GPS功能等。

Telephony Status: 通过选项模拟语音质量以及信号连接模式。
Telephony Actions:
模拟电话接听和发送SMS到测试终端。
Location Control:
模拟地理坐标或者模拟动态的路线坐标变化并显示预设的地理标识,可以通过以下3种方式:

(1)Manual: 手动为终端发送二维经纬坐标。

(2)GPX: 通过GPX文件导入序列动态变化地理坐标,从而模拟行进中GPS变化的数值。

(3)KML:通过KML文件导入独特的地理标识,并以动态形式根据变化的地理坐标显示在测试终端。

  

3. LogCat 主要是显示日志信息,日志包括ERROR, WARN, INFO, DEBUG, VERBOSE5中类型,在代码中使用其首字母大写来代替:V为所有的信息DDebug信息Iinfo信息W为警告信息E为错误的信息。

 通常在代码中使用如下方法来记录日志:Log.v() Log.d() Log.i() Log.w() and Log.e(),具体的参数可以参考API.

我们在运行项目时可以通过这里监控到很多的系统日志,可以了解系统的运行状况。

 4.ThreadsHeapFile Exporler,最常用的就是File Exporler文件浏览器,通过File Exporler可以查看Android模拟器中的文件,可以很方便的导入/出文件。

 

 

posted @ 2012-02-20 00:02 到最后 阅读(266) 评论(0) 编辑
  2012年2月19日
摘要: 应用程序基本原理Android应用程序是由java编写的。Android SDK工具将代码连同所有数据和资源文件编译到个Android包中,一个.apk后缀名的档案文件。在一个.apk文件中的所有代码被认为是一个应用程序和用来安装应用程序的Android功能设备文件。每个应用程序一旦安装到一个设备中,它将处于自己的安全机制中:·Android操作系统是一个多用户的Linux系统,运行在其中的每个应用程序都是一个不同的用户。·系统会默认给每个应用程序分配一个唯一的Linux用户ID(这个ID只被系统使用而且应用程序并不知道)。系统给所有的文件设置了权限,所以只有被分配了权限的阅读全文
posted @ 2012-02-19 00:48 到最后 阅读(654) 评论(1) 编辑
  2012年2月14日

上一篇我已经将开发环境搭建好,现在开始真正的开发之旅。

第一个Android项目HelloAndroid。

 

1.新建一个Android项目,打开eclipse->file->New->AndroidProject

 

2.输入项目名称HelloAndroid

可选项有三个:1.在工作区创建新项目。2.从已有的源码中创建项目。3.从已有的例子(SDK自带的例子)中创建项目

 

 

3.选择要创建的Android版本

4.输入应用程序名称:HelloAndroid

包名:yi.test.demo(如果是企业级的一般使用公司的名称+项目名com.company.project)

其他的默认,点击Finish

 

 

5.查看HelloAndroid项目文件结构,主要解读几个重要的目录:

src目录下是供我们编辑的项目代码文件;

gen目录下有一个R.java文件,可以理解为整个项目资源的索引文件;

res目录下layout子目录存放项目界面布局XML配置文件,values子目录存放strings.xml,为项目字符串配置文件;


6.Manifest.xml项目清单文件,一个非常重要的配置文件,它包含了组成应用程序的每一个组件(活动、服务、内容提供器和广播接收器)的节点,并使用Intent过滤器和权限来确定这些组件之间以及这些组件和其他应用程序是如何交互的。里面包含的内容比较多,这里就不详细说明了,有兴趣的可以在百度中搜索。

 

6.strings.xml,这个比较容易理解,使用string节点保存字符串,程序中将通过节点的name属性访问相应的字符串,这样做的好处可以统一风格、字符串重用以及多语言版本开发。

7.main.xml,程序主界面配置文件,下图为可视化界面编程,可以实现控件的拖拉,跟.NET开发类似,也可以直接写XML节点进行编辑。

 

8.R.java,这个类文件中包含的是关于项目资源(图形、布局、字符串等)的索引(我是这么理解的),将所有资源使用整形常量来标示,项目代码中只需要通过调用这个类中的常量就能实现对资源的使用。一般不能修改

 

9.整个项目我没有做任何的代码修改(只拖了个控件),直接运行

 

10.我的第一个项目HelloAndroid就成功运行在Android虚拟机中了

 

这节就暂时讲到这里,很多地方都是我自己的理解,可能会有不对的地方,欢迎指教!

 

posted @ 2012-02-14 00:05 到最后 阅读(220) 评论(0) 编辑
  2012年2月9日

开始我的翻译之旅,英文能力有限,肯定有很多不对的地方,欢迎拍砖!

 

什么是Android?

Android是一个移动手机的软件栈,它包括一个操作系统、中间件和关键应用程序。Android SDK提供了利用java语言在android平台上开发应用程序的必要工具和APIs.

特征

·应用程序框架能够被重用和更换的组件

·Dalvik虚拟机优化移动设备

·集成浏览器基于开源的WebKit引擎

·最优化的图形库由传统的2D图形库组成;3D图形是基于OpenGL ES 1.0规范(可以选择硬件加速)

·SQLite提供了结构化数据存储

·媒体支持包括传统的音频,视频和图像格式(MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF

·GSM电话(硬件相关)

·蓝牙,EDGE,3GWIFI(硬件相关)

·摄像头,GPS,指南针和加速计(硬件相关)

·富开发环境包括一个模拟器,调试工具,内存与性能模型和一个Eclipse IDE插件

Android体系结构

以下图形展示了Android操作系统的主要组件。每个部分的更多详细情况将在后面涉及。

应用软件

Android携带了一组核心应用软件,包括一个邮件客户端,SMS程序,日历,地图,浏览器,通讯录等等。所有应用软件都是java语言编写的。

应用程序框架

Android提供了一个开放的开发平台,使开发者能够开发极为丰富和创新的应用软件。开发者可以自由利用硬件设备,存储单元信息,运行后台服务,设置报警,增加状态条提示等等很多很多。

开发者可以完全进入跟系统核心应用软件使用的相同框架APIs.这个应用程序框架被设计用于简化组件的重用。任意一个应用程序都可以发布自己的功能,而且其他程序也可以使用那些功能(必须符合框架的安全约束)。这个相同的机制允许用户替换这些组件。

所有应用程序是以一组服务与系统为基础的,包括:

·一组丰富可扩展的视图可以用来创建一个应用程序,包括lists,grids,text boxes,buttons,甚至一个内嵌的浏览器

·内容提供者可以使应用程序从其他的应用程序获取数据(例如联系簿),或者共享它们自己的数据

·一个资源管理器为获取非代码资源(例如局部字符串,图形和布局文件)提供了条件

·一个通知管理器可以使所有的应用程序在状态栏中显示自定义的通知

·一个活动管理器可以管理应用程序的生命周期和提供一个通用的导航回退功能

想了解更过详情和应用程序的演示,请查看记事本教程

 

程序库

Android包括一组应用于Android系统各种组件的C/C++程序库。这些功能均通过Android应用程序框架对开发者开放。一些核心的函数库如下:

·系统C程序库-一个BS-派生于标准C系统程序库,为嵌入基于Linux的设备

·媒体程序库-基于视频软件的OpenCORE;这些程序库不但支持多种流行音频和视频格式的回放和记录,而且支持静态图片文件,包括MPEG4, H.264, MP3, AAC, AMR, JPG, PNG

·界面管理器-管理从各种应用程序中访问显示子系统和紧密复合2D3D图层。

·LibWebCore-一个包含Android浏览器和内嵌网络视图的现代网络浏览器引擎

·SGL-基础2D图形引擎

·3D程序库-一个基于OpenGL ES 1.0 APIs的实现;这些程序库使用了3D硬件加速器(如果有这些)或者内置的高性能的3D软件光栅期

·FreeType-位图和矢量字体的渲染

·SQLite-一个可供所有应用程序使用的强大的轻量级关系数据库引擎

Android运行时

Android包括一组核心程序库,它提供了大多数功能可供java编程语言的核心程序库使用。

每个Android程序都通过Dalvik虚拟机的实例运行在自己的进程中。Dalvik可以被写入以便一个设备能有效的运行在多个虚拟机中。Dalvik虚拟机执行经过最小内存封装的Dalvik可执行格式(.dex)文件。虚拟机是寄存器,可以运行被java编译器编译的类,这些类已经被内置的dx 工具转换成了.dex格式。

Dalvik虚拟机依赖于Linux 内核的基础功能,例如线程和低级的内存管理。

Linux Kernel

Android依赖Linux 2.6版本的核心系统服务,例如安全性、内存管理、进程管理、网络栈和驱动模型。这个内核也在硬件和其他软件栈中充当了一个抽象层。

 

posted @ 2012-02-09 22:15 到最后 阅读(994) 评论(4) 编辑
  2012年2月8日
摘要: 初学Android,以便记录学习过程,增强学习效果。 1. 下载搭建android开发平台的必要工具1) Jdk1.6 -http://www.oracle.com/technetwork/java/javase/downloads/index.html2) Eclipse(Eclipse IDE for Java Developers),可以是其他版本 -http://www.eclipse.org/downloads/3) SDK -http://developer.android.com/sdk/index.html4) ADT -http://developer.android.com阅读全文
posted @ 2012-02-08 22:10 到最后 阅读(343) 评论(8) 编辑
  2009年12月2日
摘要: 今天同事在安装SqlServer2005时遇到“版本变更检查 (警告) ”问题导致安装失败,警告提示如下:- 版本变更检查 (警告) 消息 版本变更检查 若要将现有的 Microsoft SQL Server 2005 实例更改为 SQL Server 2005 的其他版本,必须从命令提示符下运行 SQL Server 2005 安装程序并包括 SKUUPGRADE=1 参...阅读全文
posted @ 2009-12-02 23:04 到最后 阅读(2578) 评论(0) 编辑
  2009年11月27日
摘要: 开博啦!希望通过博客能更好的跟各位博友交流和学习,还望多多赐教~谢过~~~阅读全文
posted @ 2009-11-27 19:36 到最后 阅读(14) 评论(0) 编辑
仅列出标题