工作心得
文章平均质量分 73
m13666368773
这个作者很懒,什么都没留下…
展开
-
【毕业生】资历与跳槽
资历即是常说的论资排辈里面的“资”。刚毕业时,大多数人会对“论资排辈”这样的事情很反感,也就忽视了其背后的力量。而跳槽本身,对资历的损伤最大,如果没有可见的东西(职位提升,明显的收入增长等)做弥补,就会得不偿失。在进一步展开这个话题前,先来看两个小故事:故事1:在某个国内知名公司内,据说在一段时间内,Title没有工号作用大,工号10000内的人发起信来原创 2011-11-15 11:45:40 · 1156 阅读 · 0 评论 -
腾讯这家公司的核心竞争力是什么?为什么?
Andy Pan ,腾讯无线国际业务产品总监, 腾讯国际业务部...我决定在国外出差的最后一晚晚点休息,在酒店静静的认真的回答这个问题。我尽量客观的负责的回答,不愤青,不炫耀,不攻击,用朴实的语言。只代表我个人的思考,不代表公司。 腾讯最出名的是PC端的即时通信(IM),有一种普遍的认识是IM(用户关系链)是整个腾讯竞争力的基础,平台和核心。在PC互联网端的后续出现的很多产品,特别原创 2011-11-23 16:28:45 · 18033 阅读 · 1 评论 -
jsp网站访问次数统计的几种方法(比较简单的几种)
我采用的是jsp网页,但是不管采用什么语言,原理是一样的。最近在完善暑假做的一个简单年级网站,遇到很多问题。我想很多新手都会遇到这些问题,就把自己的心得体会分享给大家。因为我找到的解决方法,也是很多网友分享的。 第一种,单页面统计。就是说,只要点击这个页面就会统计一次。 java计数器程序片 第二中,是利用jsp的内原创 2011-11-30 14:22:10 · 11815 阅读 · 2 评论 -
如何让System.gc()更快的工作
最近在在翻看java的Garbage Collection,即大名鼎鼎的垃圾收集器GC的相关资料,整理了一下头绪,和朋友们共勉之。Java的GC机制大名远扬,它大幅提高了程序员开发效率,省去了在c#中要显式的释放每一块内存的麻烦。我们常听到的“内存泄漏”实际上就是指无用的内存没有被及时回收。例如你声明了一个变量,而该变量所在的主进程需要运行很长时间,那么就形成了局部上的“内存泄漏”。“内存泄漏原创 2011-12-03 10:26:30 · 1244 阅读 · 0 评论 -
IT男的魔都10年及N次面试 - 如何在500强升职顺便搞定漂亮MM
帖子出自:http://hi.csdn.net/hello_world2001为什么写这个东西? 可能年过30,从生理角度人就开始慢慢衰老,当看到一个个年轻人正在经历我当年经历过的那些事情,痛苦于同样的痛苦,迷茫于类似的迷茫,就想说些事情,算是给自己过去的一个总结,同时也希望自己能借此抛去以前的包袱。继续往前走的时候能轻装上阵。 从哪里开始呢?先总结下论坛里原创 2012-01-12 17:20:22 · 4904 阅读 · 4 评论 -
JAVA WEB 开发之牛人与能人
JAVA WEB 开发之牛人与能人引子 利润是一个企业的命根子。开源也好,节流也罢,都是为企业赢得更多的利润。当一个项目开发合同签定的时候,“开源”的工作已经做完了,剩下的,就是在开发阶段如何“节流”了。而在开发阶段,却有两种不同的“牛人”和“能人”的做法。牛人与能人 比方说做一个列表缓存。牛人看到需求,马上就动用设计模式了,设计单列模式,HashMap做存储,原创 2012-02-02 10:57:36 · 1953 阅读 · 0 评论 -
网站架构不得不谨慎的10个问题
这里的大型网站架构只包括高互动性高交互性的数据型大型网站,基于大家众所周知的原因,我们就不谈新闻类和一些依靠HTML静态化就可以实现的架构了,我们以高负载高数据交换高数据流动性的网站为例,比如海内,开心网等类似的web2.0系列架构。我们这里不讨论是PHP还是JSP或者.NET环境,我们从架构的方面去看问题,实现语言方面并不是问题,语言的优势在于实现而不是好坏,不论你选择任何语言,架构都是必须要面原创 2012-02-10 21:36:28 · 1262 阅读 · 0 评论 -
2012 年全球最佳 IT 十大认证
2012 年全球最佳 IT 十大认证IT 认证有诸多好处。它们可以充实您的简历,帮助您获得更高的薪水,还可以帮您保住工作。但是哪些 IT 认证才是最好的呢?技术专业人员对这个问题也有许多争议。许多人断定由厂商指定大纲是考核应试者技能的最好方法,而另一些人则建议将厂商中立的考试作为考核实际专业知识唯一有价值的方法。还有一些评论员认为最高水平的认证才是真正值得持有的认证-微软的原创 2012-04-05 00:30:28 · 2922 阅读 · 1 评论 -
淘宝的架构
淘宝的架构淘宝用的是JBoss,框架是iBATIS,缓存服务器是自己开发的,基本遵循SNA架构,水平扩展,数据库是Oracle,阿里集团的DBA几乎是国内最强悍的。目前淘宝的系统架构正在重构,计划用两到三年时间重写,目标有两个:1、水平扩展已经不满足需求了,还需要水平加垂直扩展 2、开放API,让店家可以把外部网站资源集成到淘宝,不必直接在淘宝开店淘宝首席架构师是原来JBoss的B原创 2012-04-06 09:13:12 · 6886 阅读 · 1 评论 -
什么时候用抽象类什么时候用接口 .
如果预计要创建组件的多个版本,则创建抽象类。抽象类提供简单易行的方法来控制组件版本。通过更新基类,所有继承类都随更改自动更新。另一方面,接口一旦创建就不能更改。如果需要接口的新版本,必须创建一个全新的接口。 如果创建的功能将在大范围的全异对象间使用,则使用接口。抽象类应主要用于关系密切的对象,而接口最适合为不相关的类提供通用功能。 如果要设计小而简练的功能块,则使用接口。如原创 2012-04-09 11:03:19 · 3520 阅读 · 1 评论 -
分析Spring的BeanFactory与ApplicationContext的getBean方法-----区别
最近做项目,做测试时,无意中遇到了一个问题:分别用BeanFactory和用ApplicationContext的getBean方法获取dataSource,用ApplicationContext获取成功,而用BeanFactory获取则报错 Java代码 public class DataSourceTest { public stat原创 2012-04-09 09:59:08 · 9107 阅读 · 1 评论 -
[观点]函数式编程初探
诞生50多年之后,函数式编程(functional programming)开始获得越来越多的关注。不仅最古老的函数式语言Lisp重获青春,而且新的函数式语言也层出不穷,比如Erlang、Clojure、Scala,、F#等等。目前最当红的Python、Ruby、Javascript,对函数式编程的支持都很强,就连老牌的面向对象的Java、面向过程的PHP,都忙不迭地加入对匿名函数的支持。越来越多原创 2012-04-10 15:55:33 · 1169 阅读 · 0 评论 -
让你编程得到升华:开发者需知的十个真理
【CSDN编译】编程是一种有益的体验方式,当遇到挑战时,我们会不断寻求新的解决方法。也许你会认为将毅力、直觉、适宜的工具三个组合在一起即可编写出优雅、完美的代码。然而,随之而来的拙劣的部署或另一种功能需求亦或者是沉重的依赖关系会产生不良的迭代更新,等等这些突发状况会摧毁了你最初的梦想。我们希望每次的努力付出能够有着深远的影响,希望我们的应用程序所依赖的服务器如同磐石一样,然而编程的获取方式原创 2012-04-10 15:56:06 · 1180 阅读 · 1 评论 -
重构36计(1-6)
重构,其实很简单,它的目的就是让程序变得更容易被理解,更具有可维护性,结构更合理。重构应该是我们平时写代码过程中必不可少的一部分,比如给函数起了一个更好的名字、把大函数拆分成几个小函数等都属于重构。重构的经典书籍包括Martin Flower的《重构-改善既有代码的设计》、Joshua Kerievsky的《重构与模式》,本系列的所谓36计是我多年来使用最为频繁的重构策略和编码准则,有自己总结的,原创 2012-04-18 09:38:32 · 2714 阅读 · 2 评论 -
自己写的简单通过js只提供另存为功能【避免直接打开后,文件被占用,其他用户更新不了文件信息】
function savepic(){ if(document.all.a1==null){ objIframe=document.createElement("IFRAME"); document.body.insertBefore(objIframe); objIframe.outerHTML= ""; re=setTimeout("sa原创 2012-04-26 16:30:18 · 7091 阅读 · 0 评论 -
重构36计(13-18)
第十三计:为集合类型的成员变量提供增删改查函数 对于集合类型的成员变量,直接提供一个函数将其暴露出去是不够妥当的,缺点包括以下几点: 1、添加集合元素时无法校验它的合法性,例如类型是否符合要求、该元素是否已存在等。 2、无法控制集合的容量,集合的容量可能是动态分配的。 所以,更好的做法是为集合类型的成员变量提供增删改查等函数,例如某个类中有名为userList的数组,则可以原创 2012-04-18 09:40:08 · 1848 阅读 · 5 评论 -
《代码整洁之道》简单总结
最近看了两本书《代码整洁之道》和《高效程序员的45个习惯敏捷开发修炼之道》的一些体会。希望能和各位前辈交流一下。个人认为遵守一下几点就能写出不错的程序。编码原则1.让代码比你来的时候更干净,每次签入的代码都比签出的时候干净。2.代码要清晰表达意图,用代码解释代码。3.代码要有层次感。4.类应该只有一个职责,一个修改原因,并与少数其他类一起协同达成期望的系统行为。5.异常原创 2012-04-16 10:22:30 · 4332 阅读 · 2 评论 -
高效程序员秘籍(2):使用GridMove快速将窗口以指定大小放到指定区域
在我们日常工作中,经常需要让多个应用程序窗口同时可见(并且相互不遮挡),例如在比较两个文档或者边看电子书边做笔记时,可以让它们水平方向上各占屏幕的一半。如果显示器比较大,我们可以把屏幕划分成几块,然后在各个区域放置需要同时可查阅的窗口,这样可以充分利用屏幕空间,而且同时可以干好几件事情。 不过,很多人都是通过手动拖拽来实现这一目的,首先要找到目标窗口,然后移动到指定位置,最后调整大小,过程比原创 2012-04-18 09:30:17 · 1526 阅读 · 1 评论 -
高效程序员秘籍(6):使用CLCL加快写代码的速度
经常看到论坛上有人抱怨日常的编程工作就是复制和粘贴,对此我也深有体会,尤其是利用类似SSH框架开发的项目,很大一部分代码都是通过复制粘帖然后再稍加修改完成的。但是Widows的剪贴板只能记录最近一次复制的内容,要想粘帖之前某次复制的内容,只能再次去目的地复制,看似简单的过程可能会占用不少时间,如果能省去这个步骤,也许就可以早点下班回家。有一类工具可以帮上忙,那就是剪贴板增强软件,比如本文要介绍的C原创 2012-04-18 09:33:28 · 2065 阅读 · 0 评论 -
高效程序员秘籍(7):使用Diagram Designer快速绘制流程图、UML等图形
目前比较流行的UML建模工具包括Visio、Rational Rose、PowerDesigner、EA等,基本上都是企业级的软件,功能强大,我只用过Visio,所以就不对它们的特点或者异同多加介绍。对于较正式的情况,例如图形会作为项目文档的一部分,建议使用以上列出的软件。当我们在工作中遇到较复杂的代码逻辑或者业务逻辑时,把它们以图形的形式展现出来更容易理解,对于这种情况,可以使用一个简单轻便的建原创 2012-04-18 09:33:57 · 3811 阅读 · 0 评论 -
高效程序员秘籍(8):养成使用网络笔记本、网络文件同步工具的习惯
随着越来越多实用软件的涌现,人们的工作和学习效率得到了很大的提高,当然,前提是我们主动去接受和学习它们的使用,并且改变已有的习惯。近一两年智能手机的快速普及,一批新的实用软件诞生了,已有的软件也纷纷推出了手机版本,使得这些软件变得更加实用,让我感受最深的两类软件是网络笔记本和网络文件同步工具,作为一名程序员,如果没有使用过它们,那真是.......,不知道该咋说。 做笔记是一种很好的习惯,好原创 2012-04-18 09:34:58 · 1145 阅读 · 0 评论 -
高效程序员秘籍(9):快速查找硬盘上的文件和目录
使用搜索引擎是程序员日常工作中必不可少的部分,绝大多数技术问题都能在网络上找到解答,但是我发现,对于硬盘上的文件,很多人的查找方法还是比较原始,完全是凭记忆去各个目录里找。我向同事索要安装包或者文档,要不就是不知道放在那里了,要不就是找半天。虽然Windows文件管理器有搜索功能,但是速度有点慢,而且不支持通配符和正则表达式。下面向大家介绍一款文件名搜索利器,它就是EveryThing,堪称神速!原创 2012-04-18 09:35:22 · 1493 阅读 · 0 评论 -
高效程序员秘籍(10):聚合个人全部邮箱
对于有很多个邮箱的人来说,查看是否有新邮件是件挺烦琐的事情,尤其是拥有各种不同网站的邮箱,需要分别登录各个邮箱进行。如果有可以集中查看所有邮箱中新邮件的方法就方便多了,下面就向大家介绍两种方法。 第一种方法是挑选一个邮箱作为聚合邮箱,用来接收其他邮箱的新邮件,也可以在该邮箱中以其他邮箱作为发送地址。建议把Gmail邮箱作为聚合邮箱,或者其他功能比较强大的Web邮箱,使用Web邮箱的好处是随时原创 2012-04-18 09:35:53 · 2142 阅读 · 1 评论 -
高效程序员秘籍(1):使用AutoHotKey快速切换窗口
当我们打开电脑做一些事后,任务栏中就会有若干已打开应用程序的窗口,在它们之间切换,绝大部分人使用下面两种方式: 1、使用Tab键 2、直接用鼠标在任务栏中找到目标窗口再点击 第一种方式效率更高一些,尤其是在当前窗口与上一个窗口切换的情况下,应该没有比使用Tab键更好的方法了。在我们工作的过程中,总会有那么几个固定使用的应用程序,比如IDE、浏览器、文本编辑器、邮箱客户端、原创 2012-04-18 09:29:55 · 3626 阅读 · 0 评论 -
高效程序员秘籍(4):使用Total Commander替换Windows资源管理器
最新的Web浏览器都有标签页特性,而Windows自带的资源管理器却没有,总是需要同时打开多个窗口,后来下载了一个插件叫 QTTabbar,可以让资源管理器具备标签页的特性,但总是出问题。除此以外,Windows资源管理器还有种种不足,此刻能想到的有以下几点: 1、不能设定经常使用的文件夹 2、拷贝文件的全路径不方便 3、使用起来不够快,快捷键太少 Total Comman原创 2012-04-18 09:31:02 · 4382 阅读 · 0 评论 -
高效程序员秘籍(3):使用MindManager进行可视化的思维管理
记得在使用MindManager之前,考虑问题的解决办法的过程经常会被各种事件打断,回过头来再继续时总会有些偏差,甚至忘记了之前想到的关键地方,所以,有时候也会一边想一边记,但总觉得这个过程不够高效,一段时间后,记录的内容连自己也看不懂,有的根本就找不到了,无形的价值随之流失。 其实我也一直在找可替代的方法,尤其是类似的软件,感觉都不太合适,大多数都是些类似便筏、网络笔记本的工具。无意中见到原创 2012-04-18 09:30:36 · 1283 阅读 · 1 评论 -
重构36计(7-12)
第七计:串联函数调用当一个类的大部分函数被较为频繁地调用,并且包含连续性地调用,那么可以考虑为这个类中那些没有返回值的函数增加返回值,即返回对象本身,这样就可以串联函数调用,使用起来较为方便,举个例子:// 表示用户的类public class User{ public void setName(String name); public void setAge(int原创 2012-04-18 09:39:22 · 2654 阅读 · 4 评论 -
用if、Exception还是assert?——看JavaEye论坛帖子:《面试题:用Exception异常还是if判断》的感想 .
今天在JavaEye上看到一个很火的帖子,题目是(面试):用Exception(异常)还是if判断http://www.javaeye.com/topic/745640。内容大概是:当参数不合法的时候,究竟是if else 判断后返回一个值还是直接来个Exception ?如果是 if else 的话,有什么好处?如果是 exception 的话,又有什么好处?或者是根据不同情况来原创 2012-04-19 01:20:45 · 2381 阅读 · 4 评论 -
重构36计(19-24)
第十九计:避免类的臃肿 在我接触过的大部分项目中,总会有一个“大胖子“类特别惹眼,一般来说,这“大胖子“实际上是整个系统的核心类之一,之所以“胖“,主要原因是很多人都会把自己需要的函数加到这个类中,却没有人主动请缨来为它“减肥“。可以通过以下几种方式来为它“瘦身”: 1、按照某种特性(如功能、类型等)将这个类拆分成多个类。 2、合并冗余函数,保持函数粒度的最小化。 3、去除原创 2012-04-19 01:21:03 · 7797 阅读 · 12 评论 -
算法系列15天速成——第九天 队列
五一回老家待了几天,昨天晚上回来看见有很多网友留言,谢谢支持,继续写点东东奉献给大家 可能大家都知道,线性表的变种非常非常多,比如今天讲的“队列”,灰常有意思啊。 一:概念 队列是一个”先进先出“的线性表,牛X的名字就是“First in First Out(FIFO)”, 生活中有很多这样的场景,比如读书的时候去食堂打饭时的”排队“。当然我们拒原创 2012-05-03 09:16:27 · 2497 阅读 · 2 评论 -
算法系列15天速成——第十四天 图【上】
今天来分享一下图,这是一种比较复杂的非线性数据结构,之所以复杂是因为他们的数据元素之间的关系是任意的,而不像树那样被几个性质定理框住了,元素之间的关系还是比较明显的,图的使用范围很广的,比如网络爬虫,求最短路径等等,不过大家也不要胆怯,越是复杂的东西越能体现我们码农的核心竞争力。 既然要学习图,得要遵守一下图的游戏规则。一: 概念 图是由原创 2012-05-03 09:50:08 · 3127 阅读 · 0 评论 -
算法系列15天速成——第十天 栈
今天跟大家聊聊栈,在程序设计中,栈的使用还是非常广泛的,比如有“括号匹配问题“,”html结构匹配问题“。所以说掌握了”栈“的使用,对我们学习算法还是很有帮助的。 一: 概念 栈,同样是一种特殊的线性表,是一种Last In First Out(LIFO)的形式,现实中有很多这样的例子, 比如:食堂中的一叠盘子,我们只能从顶端一个一个的取。 二:原创 2012-05-03 09:22:48 · 2309 阅读 · 0 评论 -
算法系列15天速成——第十一天 树操作(上)
最近项目赶的紧,歇了一个星期没写博客了,趁周末继续写这个系列。 先前我们讲的都是“线性结构”,他的特征就是“一个节点最多有一个”前驱“和一个”后继“。那么我们今天讲的树会是怎样的呢?我们可以对”线性结构“改造一下,变为”一个节点最多有一个"前驱“和”多个后继“。哈哈,这就是我们今天说的”树“。 一: 树 我们思维中的”树“就是一种枝繁叶茂的形象,那么数据原创 2012-05-03 09:35:18 · 3129 阅读 · 0 评论 -
算法系列15天速成——第十二天 树操作【中】
先前说了树的基本操作,我们采用的是二叉链表来保存树形结构,当然二叉有二叉的困扰之处,比如我想找到当前结点的“前驱”和“后继”,那么我们就必须要遍历一下树,然后才能定位到该“节点”的“前驱”和“后继”,每次定位都是O(n),这不是我们想看到的,那么有什么办法来解决呢? (1) 在节点域中增加二个指针域,分别保存“前驱”和“后继”,那么就是四叉链表了,哈哈,还是有点浪费空间啊。原创 2012-05-03 09:38:25 · 2325 阅读 · 0 评论 -
算法系列15天速成——第十三天 树操作【下】
今天说下最后一种树,大家可否知道,文件压缩程序里面的核心结构,核心算法是什么?或许你知道,他就运用了赫夫曼树。听说赫夫曼胜过了他的导师,被认为”青出于蓝而胜于蓝“,这句话也是我比较欣赏的,嘻嘻。 一 概念 了解”赫夫曼树“之前,几个必须要知道的专业名词可要熟练记住啊。 1: 结点的权 “权”就相当于“重要度”,我们形象的用一个具体的原创 2012-05-03 09:45:51 · 2443 阅读 · 0 评论 -
算法系列15天速成——第十五天 图【下】(大结局)
今天是大结局,说下“图”的最后一点东西,“最小生成树“和”最短路径“。 一: 最小生成树1. 概念 首先看如下图,不知道大家能总结点什么。 对于一个连通图G,如果其全部顶点和一部分边构成一个子图G1,当G1满足: ① 刚好将图中所有顶点连通。②顶点不存在回路。则称G1就是G的“生成树”。 其实一句话总结就是:生成树是将原图的全原创 2012-05-03 09:55:24 · 3248 阅读 · 3 评论 -
算法洗脑系列(8篇)——第六篇 回溯思想
记得广告中经常听到过,抱着试试看的态度买了3个疗程,效果不错........ 也经常听人说过什么车到山前必有路,船到桥头自然直。哈哈,这种思想就是回溯思想,也可称为试探思想。 一: 思想 有时我们要得到问题的解,先从其中某一种情况进行试探,在试探过程中,一旦发现原来的选择是错误的,那么就退回一步重新选择, 然后继续向前试探,反复这样的过程直到求出问题的解。原创 2012-05-03 15:01:19 · 2656 阅读 · 2 评论 -
算法洗脑系列(8篇)——第七篇 动态规划
今天跟大家分享下算法思想中比较难的一种"动态规划",动态规划给人像是作战时常用的“迂回战术”,或者说是游击战,在运动中寻找突破口。 一: 思想 首先要了解”动态规划“,必须先知道什么叫做”多阶段决策“,百科里面对这个问题解释的很全,我就load一段出来,大家得要好好品味,好好分析。 上面图中最后一句话就定义了动态规划是要干什么的问题。 二:使用规则原创 2012-05-03 15:02:05 · 2935 阅读 · 2 评论 -
重构36计(25-30)
第二十五计:函数体最多不超过100行 记得以前看过一个函数有9000多行,很壮观啊,从那以后看到长函数时也不奇怪了,我认为过长函数的主要缺点是:1、严重影响代码的阅读,使用到某个变量的地方可能间隔几百甚至上千行,如果if-else嵌套层次较多的话那就更噩梦了。2、不利于代码的重用,短小而独立的逻辑处理单元更容易被重用,而过长的代码段则需要经过进一步分解才行。我觉得函数最好不要超过原创 2012-04-20 15:07:29 · 2051 阅读 · 2 评论 -
算法洗脑系列(8篇)——第八篇 概率思想
今天写最后一篇来结束这个系列,我们知道很多算法解决问题的步骤都是固定的,而概率算法每一步的选择都是随机的,当在某些领域问题中通常比最优选择省时,所以就大大提高了算法的效率,降低了复杂度。 一:思想 这里主要讲一下“数值概率算法”,该算法常用于解决数值计算问题,并且往往只能求得问题的近似解,同一个问题同样的概率算法求解两次可能得到的结果大不一样,不过没关系,这种“近似解原创 2012-05-03 15:03:16 · 2662 阅读 · 0 评论