一些感悟
一些感悟,技术有关或无关
tangwing
三千年读史,不外功名利禄,九万里悟道,终归诗酒田园
展开
-
HeadFirst 设计模式阅读笔记(一)—— strategy
最近正是圣诞假期,利用空闲时间翻翻《HeadFirst 设计模式》。这本书编的很有意思,读起来并不枯燥。所有设计模式的示例代码可以在官方网站免费下载:http://wickedlysmart.com/get-code/,但是我觉得自己写写可能更好些。本系列笔记的目的不是把原书抄一遍,而是只摘录一些笔者认为重要的知识点,供以后查阅。希望详细学习的朋友们不妨去看看原书,确实比一般的技术书轻原创 2012-12-27 20:00:19 · 740 阅读 · 0 评论 -
HeadFirst 设计模式笔记(二)—— observer
观察者模式:定义了对象间的一对多依赖,当一个对象有新的消息,所有与之关联的对象都将得到通知。这是一个非常常用的模式,它能使我们的对象知悉现状。就像报社与订报人之间的关系:用户可以随时决定订阅或取消订阅。一旦用户订阅了报纸,那么新一期的报纸只要一出版就会被送上门。为了展示这个模式的应用,我们假设有两个类:Observer和Suject(被观察者,主题)。Subject中:原创 2012-12-29 17:08:23 · 536 阅读 · 0 评论 -
HeadFirst 设计模式笔记(四)—— 工厂模式
当我们使用“new”时我们就是在针对实现编程,这会使代码缺乏弹性。当然我们不可能避免在Java中使用new,真正需要考虑的是系统可能面对的“改变”。我们需要尽量隔离掉可能发生改变的部分。针对实现编程时,我们的代码中涉及到太多具体类,以后只要我们的系统需要改变,我们就不得不修改大量代码;而针对接口编程可以使得我们的代码更灵活,因为它涉及到的不是具体对象,而是一类对象。一个设计应该“对原创 2012-12-31 05:52:38 · 2218 阅读 · 0 评论 -
HeadFirst 设计模式笔记(三)—— decorator
装饰者模式:使用对象组合的方式在运行时给对象赋予新的功能(装饰),而不是滥用继承。举个例子就清晰了:java.io这个包中就应用了这一模式FilterInputStream是一个装饰者类,它和它的子类可以对InputStream的其他子类进行装饰。class java.io.InputStreamclass java.io.ByteArrayInputStr原创 2012-12-29 17:42:14 · 650 阅读 · 0 评论 -
HeadFirst 设计模式笔记(五)—— 单例模式
singleton pattern确保一个类只有一个实体,并提供一个全局访问点。这就是单例模式的功能。典型的实现:public class Singleton{private static Singleton uniqueS = null;private Singleton(){} //将构造函数设为私有public static Singleton getInst原创 2013-01-13 05:21:47 · 667 阅读 · 0 评论 -
HeadFirst 设计模式笔记(七)—— 适配器模式与外观模式
适配器模式(Adapter):可以想想现实生活中的转换插头。适配器是一个中间层,能将类的接口转换成想要的接口。这与前文中的装饰者模式有点像,不过装饰者模式是赋予接口新的功能,而适配器模式则把接口转换成需要的样子。我的理解比较简单:假设我们手头有两个接口A和B。有一个类C需要使用接口B的方法,但是在某些情况下接口A中的一些功能更适合C,此时我们定义一个适配器类,包含一个A的对象,并用它实现B的接口。原创 2013-01-15 18:05:59 · 645 阅读 · 0 评论 -
《关键对话》
这本书的作者是一位在一个咨询公司有着几十年经验的人。他在帮助各种公司解决效能问题时发现,效能的瓶颈往往不是出在战略选择等等显而易见的地方,而是出在人与人的沟通上。假如一个公司所有人都众志成城向着同一个目标前进,那么很多问题都迎刃而解了,问题就是,很多人走着走着,就偏离了共同的目标。这个偏离的时间点,就是需要关键对话的地方。构成关键对话的三个要素:事关重大 意见不一 情绪激烈导致对...原创 2019-01-09 17:30:13 · 438 阅读 · 0 评论 -
收藏 [推荐] 给浮躁的软件业同仁 [问题点数:40分,结帖人dove1980]
http://bbs.csdn.net/topics/380224093 中国有很多小朋友,他们18,9岁或21,2岁,通过自学也写了不少代码,他们有的代码写的很漂亮,一些技术细节相当出众,也很有钻研精神,但是他们被一些错误的认识和观点左右,缺乏对系统,对程序的整体理解能力,这些人,一个网上的朋友说得很好,他们实际fans,压根没有资格称为程序员,但是据我所知,不少小网络公司的C转载 2012-12-23 19:42:33 · 755 阅读 · 0 评论 -
转一张git和svn常用命令的对比图l
来自http://yehudakatz.com/2010/05/13/common-git-workflows/ComparisonHere’s a workflow comparison between git and subversion:OperationgitsvnClone a repositorygit clo转载 2012-08-31 18:16:21 · 1203 阅读 · 0 评论 -
实习笔记----脚本: SVN批量添加与删除
大家好,本文涉及到我在使用svn时遇到的一个实际问题:如何一次性完成涉及多文件的命令。一般来讲在svn版本控制下的文件操作如添加删除等需要使用svn add 和svn rm来执行以便使svn知道这些变动,但实际使用中往往版本文件夹就是Eclipse的项目文件夹,想删除添加文件直接在Eclipse里操作就好了何必跳转到命令行?【话说eclipse里好像有相关的功能但是我还没仔细看暂时忽略。。原创 2012-07-26 15:58:30 · 5547 阅读 · 2 评论 -
程序猿们请注意身体,同时紧跟时代的步伐——第九套广播体操...
中新网 体操视频:http://www.chinanews.com/shipin/2011/08-08/news42820.html不过不可否认,第八套才有极端的亲切感,那音乐,那忧郁的男声……http://v.youku.com/v_show/id_XMjA4NjAxNg==.html原创 2012-05-20 13:45:19 · 1614 阅读 · 0 评论 -
使用二分法定位运行时异常崩溃bug
本文并无奇特技术,只是一种方法论。最近用opengl做交通可视化模拟遇到一个蛋疼的bug。运行时屏幕上掠过n辆车以后必然崩溃,调试运行一切正常。最开始漫无目的地通过各种printf寻找异常点,但是十倍功半。后来简单动了动脑,开始有计划的找bug。分别在可疑函数的开头和末尾加入printf("entre myFunction");和printf("entre myFunction原创 2012-06-17 07:46:04 · 1540 阅读 · 1 评论 -
实习第七天——如何动态创建并添加View?
今天老大又不在,不过鸭梨依然很大。先把问题给大家描述一下:ofbiz是一个极为庞大的系统,集成了各种你能想到的企业管理工具。系统内部的信息传递主要是通过XML,所以他们要求服务器向Android客户端发送信息时也使用XML。我的任务是把XML中的信息转换成对应的Activity,也就是说动态地生成各种View并显示到手机屏幕上。但是习惯上Android程序总是提前在xml文件里定义好页原创 2012-07-04 03:16:07 · 1292 阅读 · 0 评论 -
实习第八天——轻松的一天
在开发的设计阶段费了不少脑细胞,突然意识到或许到了该看设计模式的时候。在Eclipse中输入syso然后按下Ctrl+空格就可以补全"System.out.println"了在Android中如果希望布局按照比例来需要使用layout_weight,但需要把layout_width设为 0dip。因为weight按比例分配的是剩余的空间。我所在的公司是搞开源软件的公司,所以我也就有了处理自己源码的原创 2012-07-05 02:41:17 · 594 阅读 · 0 评论 -
实习第四天——边学边做,手忙脚乱
眨眼间已经实习四天了,每天回到家里19点多,吃晚饭浏览一下常用的网站然后也就该睡觉了。早晨起来就要出发,每天都填的满满的。当初投简历的时候写上了一个关于Android的小项目——写一个Android程序来控制一个机械臂。后来就得到了这个实习机会,给ofbiz写客户端。其实对Android根本没什么深度了解,只能说碰过而已。如今真到公司里面,真有任务分配下来,感觉鸭梨还是很大的。没办法,边做原创 2012-06-29 04:16:55 · 2918 阅读 · 14 评论 -
实习第五天——老大不在,自学成才。今日的十八个收获
为了详细地记录一天中的各种小收获,我开始实时记笔记了。不过由于是在Ubuntu下的外文系统,所以不得不用英文了。The communication from Android device to localhost running on local machine. 这个问题至今还没彻底解决,就是说在真机测试的时候要如何让手机访问本地电脑上架设的web服务器。请大家指教。Want t原创 2012-06-30 05:46:29 · 2486 阅读 · 3 评论 -
Android实习第九至十八天——碎碎念汇总
在Linux环境需要在终端里执行后台程序只需在命令后加 &即可。(这是一个多么平易近人的开场白啊)为了使用Android中的ListView需要一个listAdapter来把数据绑定到它上面。如果只是显示一个文本列表只需使用一些Android提供的简单类即可,如SimpleListAdapter。如果list item是复合型的元素,则可继承BaseAdapter类,实现其中的方法原创 2012-07-20 03:48:09 · 1484 阅读 · 2 评论 -
实习笔记----用脚本实现文件夹双向同步(备份)
实际问题是这样的:我的workspace需要向两个svn地址提交,一个是公司的,一个是个人项目收藏的(开源软件公司所以代码公开的:)直接commit的话只能提交一个,所以我只能又拷贝了一个工作区,每次在主工作区有改动以后手动同步到第二个工作区然后提交;而且还不能直接全部复制并替换因为svn的隐藏文件夹内容是不同的。为此我发了两个帖并得到了一些启发,经过一下午的钻研,我这个linux新手总算写出了第原创 2012-07-26 21:29:24 · 1903 阅读 · 2 评论 -
四点小经验
1、软件开发中,不要养成靠调试器去发现错误的习性。编写代码时一定要检查再检查,在头脑中运行没有问题,再进行编译调试。2、在写比较语句时把常量写在前面,这样可以比较容易的发现把==写成=的错误。3、写程序前花上一个小时构思流程都是值得的,不要着急写代码4、不一定总要用字符串表达意思,可以用宏.原创 2010-04-28 15:47:00 · 685 阅读 · 0 评论