技术宅,fat-man

增加语言的了解程度可以避免写出愚蠢的代码

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

11 2013 档案

采访:Go语言编程
摘要:Go语言是由Google在2009年11月份公布的,它的目标是要应对软件开发所面临的最新挑战。Go语言特别被设计为快速(包括在编译时)、支持多核的语言,并且兼顾了动态语言的简单性和静态类型语言的安全性。Mark Summerfield最近出版了《Go语言编程》一书,目的是要帮助当前的程序员学习Go语言。InfoQ最近有幸和Mark一起讨论了Go语言和他的著作。InfoQ:你喜欢Go语言的哪些特点?Mark Summerfield:Go语言有很多特点我都非常喜欢,其中最主要的是:像闪电一样快的编译。这使得编辑/编译/运行的周期和Python的编辑/运行周期一样快。非常高级的并发。你可以很轻松地使 阅读全文

posted @ 2013-11-27 17:31 codestyle 阅读(381) 评论(0) 推荐(0) 编辑

如何阅读大型代码库?
摘要:http://blog.jobbole.com/51973/Casey问我:“对于新手,有什么有针对性的诀窍来阅读大型代码库吗?”碰巧,我认为这是一个非常好的问题。我觉得想要成为一个优秀的开发者,阅读代码库并弄清清楚内部是怎么回事的能力非常重要。在你的职业生涯中你会中途加入一个现有的项目并被要求迅速融入进去。或者,甚至更难,会有一个项目丢给你让你自己一个人搞清楚。最坏的情景就是你被带入一个项目,要你替换掉让工程运行失败的“那些肆无忌惮的*杂种”,并且让工程运行起来。不过更常见的情景是你被要求维护一个已经离职的员工写的代码库。最后,当然,如果你用了任何开源的项目,很大的可能是被要求“你可以扩展它 阅读全文

posted @ 2013-11-27 13:31 codestyle 阅读(290) 评论(0) 推荐(0) 编辑

发现一个时隐时现的bug!
摘要:在awk里可以这样使用正则:#截取 a.cn?fr=1211 中的1211if(match(url,/fr=[0-9]+/) > 1){ fr = substr(url,RSTRART + 3, RLENGTH - 3 )}#截取 a.cn?ct=test 中的testif(match(url,/ct=[a-zA-Z]+/) > 1){ fr = substr(url,RSTRART + 3, RLENGTH - 3)}这样就导致一个需求:复用这些相似的代码 (我终于也培养成了代码洁癖 T_T)那么最先想到的是写成函数,到处调用。首先是功能模块:# 文件: logic/pars.. 阅读全文

posted @ 2013-11-26 16:22 codestyle 阅读(351) 评论(0) 推荐(0) 编辑

写给开发者:记录日志的10个建议
摘要:http://blog.jobbole.com/52018/欢迎在新的一年来到我的博客。在一个巴黎devops maillist上回复了一个关于监控和日志监控之后,我想起了很久以前我的一个博客计划。尽管在写这篇博文的时候,我是在负责运维工作,不过本文主要是写给开发者的。对我来说,明白如何记录日志和记录什么,是软件工程师必须明了的最艰巨的任务之一。之所以这么说,是因为这项任务与预测(divination)类似,你不知道当你要调试的时候需要些什么信息……我希望这10个建议能帮助你更好地在应用程序中记录日志,让运维工程师们受益。:)1. 你不应自己写log绝对不要,即便是用printf或者是自己写入 阅读全文

posted @ 2013-11-26 15:11 codestyle 阅读(1072) 评论(0) 推荐(0) 编辑

教你一眼认出英语单词的意思
摘要:请大家想一想,英语是谁发明的?英国人呗!英国人认不认识汉语?不认识!那么英国人在学英语单词的时候需不需要记住单词的汉语意思?不需要,英国人的英语课本里根本就没有汉字,何谈记住单词的汉语意思?那么既然英国人学英语不需要记住(甚至根本就见不到)单词的汉语意思,那么中国人学英语为什么要去记住单词的汉语意思呢?这种做法大家不觉得奇怪吗? 然而由于中国人学英语时都在背单词的汉语意思,因此大家反而觉不出“背汉字”有什么奇怪的了。其实仔细想一想,这个行为真的很奇怪,奇怪的根源不在于行为本身,而在于中国人普遍不会直接识别英语单词的意思,因而只好靠汉语符号来机械地帮助记忆英语单词的意思,这样去学英语不仅多此.. 阅读全文

posted @ 2013-11-25 16:58 codestyle 阅读(380) 评论(0) 推荐(0) 编辑

为什么我要使用一个20年前的IBM老键盘
摘要:为什么我要使用一个20年前的IBM老键盘发表在心得体会|3条评论几天前,我在网上发了一张图片,想炫耀了一下我的新MacBook Pro笔记本强悍的多屏功能。没人感兴趣。但图上的那个老键盘却得到了不少人的评论。很多人问:为什么我会使用一个老的掉牙的键盘?少说也有10年了,那时我去参加一个计算机博览会,这种博览会通常会展示一些你以前从未听说的很酷的硬件或一些非常新奇的东西。在这个地方我却发现有个人在卖大量的老的二手键盘。我想买一些经典IBM配件也许是件很酷的事,所以就买了一个。不久,我当时拥有的3台PC机上自带便宜的键盘开始显得有些脏。于是我就换上了这个IBM Model M键盘,你知道这个键盘有 阅读全文

posted @ 2013-11-25 15:32 codestyle 阅读(961) 评论(0) 推荐(0) 编辑

有了screen,妈妈再也不用担心我的学习啦
摘要:创建一个srceenscreen -S test1从screen离开crtl+a d (左手按住crtl和a 然后右手按d)查看当前有多少screenscreen -ls回到screenscreen -r test1退出screenexit 阅读全文

posted @ 2013-11-22 16:32 codestyle 阅读(131) 评论(0) 推荐(0) 编辑

一次优秀的代码提交应该包含什么?
摘要:http://kb.cnblogs.com/page/181762/英文原文:What's in a Good Commit?译者:@neevek 首先我们来听一个令人恶心的例子。 你看到问题 F00-123被解决了。这是关于一个你自己很熟悉的子系统的 Bug,所以直觉告诉你造成这个 Bug 最可能的原因。为了证实你的怀疑,你决定看看这个 bug 是怎么被解决的。你花了很长时间搜索了整个版本历史,直到把这个 bugfix 的范围缩小到了 4 个连续的提交,它们分别的提交信息是:dao 小调整(dao tweaks)、moar、Fixes, 还有删除一些调试信息(remove debug 阅读全文

posted @ 2013-11-20 19:09 codestyle 阅读(460) 评论(0) 推荐(1) 编辑

awk的思维导图
摘要: 阅读全文

posted @ 2013-11-19 11:43 codestyle 阅读(399) 评论(0) 推荐(0) 编辑

你需要的不是重构,而是理清业务逻辑
摘要:最近我遇到了一位以前公司的同事。他提到了数年前我在那个公司曾经开发过的项目。他说这个项目现在已经变成了“职业杀手”。基本上,任何接触过这个 “职业杀手”项目的人最终都会离开这个公司。如果公司想让名下的程序员人数>0,唯一的办法就是花数月时间完全重构这个系统。对于这事我有两点要说。首先,在我离开这个公司前,这个系统的单元测试覆盖率已经达到了85%,所以,不要责备我。第二,这么大规模的重构?肯定会出问题。每 一个系统里都至少有一个成为人民公敌、让所有人害怕的组件。它承载了太多的任务,它拥有太多状态,太多的其它组件调用它。当时间到了偿还技术债务的时候, 人人都会把目光投向这个组件。然而,如果你 阅读全文

posted @ 2013-11-18 17:13 codestyle 阅读(268) 评论(2) 推荐(0) 编辑

Dropbox可伸缩性设计最佳实践分享
摘要:http://www.infoq.com/cn/news/2012/11/dropbox-scale-bestpracticeDropbox的运维工程师Rajiv,跟大家分享了可伸缩性设计的最佳实践第一讲。众所周知,Dropbox是一款非常易用的网络存储云端产品,现已达到40,000,000的用户。令人惊奇的是,Dropbox公司对于服务器集群的运维人员投入在一到三个人。Rajiv就系统的可伸缩性设计,尤其在资源有限、流量快速增长的情况下,将最佳实践分享给大家。Run with extra load(通过额外加载发现系统故障)在生产环境最常用的一个技巧就是,人为制造一些额外的数据进行加载。举个 阅读全文

posted @ 2013-11-18 17:02 codestyle 阅读(284) 评论(0) 推荐(0) 编辑

软件开发实践的24条军规
摘要:http://jianjiaosun.blog.163.com/blog/static/13612448620136212242300/本文的这些最佳实践、开发准则都是伟大的程序员的经验总结。Tim Oxley从互联网中搜集了这些最佳实践,并放在了Github上,以供他人查看和补充。希望这些最佳实践能够为你的开发工作带来一些帮助。本文的这些最佳编程实践、开发准则都是伟大的程序员的经验总结。Tim Oxley从互联网中搜集了这些最佳实践,并放在了Github上,以供他人查看和补充。希望这些最佳实践能够为你的开发工作带来一些帮助。1.不要构建大型应用构建大型应用的秘诀就是“不要构建大型应用”,也就 阅读全文

posted @ 2013-11-18 16:56 codestyle 阅读(356) 评论(0) 推荐(0) 编辑

最精彩的英语学习经验总结:俺的英语之路
摘要:http://kb.cnblogs.com/page/193364/各位为英语而郁闷的兄弟姐妹们: 自从考完GRE和TOEFL以后,心有所感,本想写点心得,但是因为太懒没写成。今日风雨如晦,心中又有所感,于是一舒笔墨,写下我学英语的方法。俺知道有很多兄弟姐妹们和曾经的我一样因为英语而郁闷,小小心得,也算造福后人,为自己积累一点功德~~ 方法之前,先说说俺学英语的历史: 开篇:俺的英语之路 我大概从小学二年级开始学英语,当时在老爸的逼迫之下每天傍晚六点准时坐在电视机前,和“少儿家庭英语”里面那个奇丑无比的老太婆读一些奇无智商的单词句子。有一天放学和同学捉蝴蝶捉得忘了时间,错过了“老太婆”... 阅读全文

posted @ 2013-11-18 16:30 codestyle 阅读(392) 评论(0) 推荐(0) 编辑

Facebook和Google如何激发工程师的创造力
摘要:http://taiwen.lofter.com/post/664ff_ad8a15今天终于“朝圣”了两个伟大的公司——Facebook和Google,对创造力和驱动力的来源有了更多的理解,尤其是对于典型的知识型工作者——软件工程师,如何激发和维持他们的内心激情。简单来说,就是充分满足物质需求,然后将能去掉的条条框框都拿掉,让这些聪明的人自行其是,自己管理自己或者向上管理。然后你就得到了。这儿还是要提到一个大前提:就是与你一起共事的人都是素质很高的,能够自驱动,愿意实现自我价值的兄弟们。否则,后果自负。工程师要生活,要满足基本需求:那就给出超出其期望值的待遇,让其衣食无忧,不再为是自己单独租房 阅读全文

posted @ 2013-11-18 14:38 codestyle 阅读(314) 评论(0) 推荐(0) 编辑

十种更好的表达“你的代码写的很烂”的方法
摘要:如果你有一个同事,他写的程序与其说是代码,不如说更像希腊神话中女妖美杜莎的头发,你当然不能熟视无睹,你应该做出一些反应,但你可选的合适的反应方式并没有多少:自己默默的帮他整理清楚、向上级抱怨、向其他同事背后唠叨此事、闷在心里直到憋不住,或者这最大胆的方法:走上去直接对烂程序员说他的代码很烂。事实上,这最大胆的方法其实也是最好的方法。大多时候,你可以做的巧妙些,从而避免由此引起的感情伤害或引发咆哮比赛。就像一句古话:只要方式正确,你可以向一个人说任何话。当然,找到这正确的方式并不是轻而易举的事情。为了方法大家行事,下面是10种让你的表达更具技巧性的好方法。开门见山:告诉他你看不懂他写的代码,并追 阅读全文

posted @ 2013-11-18 09:45 codestyle 阅读(307) 评论(0) 推荐(0) 编辑

一次java程序的重构
摘要:// com口操作类package xyz.game;class ComOpera { public void openPort() throws Exception {...} // 打开com public void closeProt() {...} // 关闭com private String readMsg() {...} // 读取com消息 private void writeMsg(String msg) {...} // 写com消息 public boolean getComStatus() {...} private String u... 阅读全文

posted @ 2013-11-12 13:01 codestyle 阅读(1135) 评论(3) 推荐(0) 编辑

漂亮代码
摘要:http://blog.csdn.net/g9yuayon/article/details/1611451从Joe Marshall论证编程是艺术的文章上看到的。编程到底是不是艺术已经快变成继编程语言和Emacs vs Vi之后另一Flame War话题。有兴趣的可以去看reddit的讨论。有意思的是一段漂亮的代码,实现SICP上一坨练习题1.3:实现一个带三个参数的函数。这个函数返回三个参数中最大的两个参数的平方和。题目用来训练学生对条件分支的理解。常规的解法是(迎合一下各位老大,改成C了):int sum_square_largest(int x, int y, int z){ if... 阅读全文

posted @ 2013-11-11 18:39 codestyle 阅读(384) 评论(0) 推荐(0) 编辑

一段代码引发的思考
摘要:http://www.csdn.net/article/2013-11-08/2817433-code-made-me-cry摘要:作者Lukas Eder发表了一篇文章《code-made-me-cry》,引发了开发者们的广泛讨论及思考。在他看来,阻力最小的路径通常是一切错误的根源。因此,即便是为琐碎的应用编写10行代码也是值得的。作者Lukas Eder发表了一篇文章《code-made-me-cry》,引发了开发者们的广泛讨论及思考,我们一起来看下(以下是译文)。我的一位朋友告诉我,他最近遇到关于正在维护的遗留应用程序的一些问题。下面的这段代码就能说明我们正在讨论的内容:1234567S 阅读全文

posted @ 2013-11-11 15:38 codestyle 阅读(234) 评论(0) 推荐(0) 编辑

最难忘的Bug调试经历
摘要:摘要:目前,著名的社区问答网站Quora上出现一个很火的讨论:你调试过最难的Bug是什么?大家纷纷留言,把自己最痛苦的一次调试经验写下来。相信每位程序员都有过一段不堪回首地Bug调试经历,程序员一听到自己的程序有Bug,会有各种搞笑的反应,大家可以移步去看看“程序员遇到Bug后的30种常见反应”。目前,著名的社区问答网站Quora上出现一个很火的讨论:What's the hardest bug you've debugged?很多程序员在下面留言,把自己最痛苦或者最难忘的Bug调试经历分享给大家,笔者就所讨论的内容,整理了两位程序员的回答。不知大家是否有过同样的经历。Dave 阅读全文

posted @ 2013-11-07 14:18 codestyle 阅读(1006) 评论(0) 推荐(0) 编辑

Facebook 正式开源其大数据查询引擎 Presto
摘要:Facebook 正式宣布开源 Presto —— 数据查询引擎,可对250PB以上的数据进行快速地交互式分析。该项目始于 2012 年秋季开始开发,目前该项目已经在超过 1000 名 Facebook 雇员中使用,运行超过 30000 个查询,每日数据在 1PB 级别。Facebook 称 Presto 的性能比诸如 Hive 和 Map*Reduce 要好上 10 倍有多。Presto 当前支持 ANSI SQL 的大多数特效,包括联合查询、左右联接、子查询以及一些聚合和计算函数;支持近似截然不同的计数(DISTINCT COUNT)等。你可以通过下面地址了解该项目详情和获取代码:Docu 阅读全文

posted @ 2013-11-07 10:00 codestyle 阅读(375) 评论(0) 推荐(0) 编辑

15 个变量和方法命名的最佳实践
摘要:1、在每个代码范围内使用足够短和足够长的名称:例如循环计算器用一个字符就可以了,如i;条件和循环变量用一个单词,方法名1-2个单词,类名2-3个单词,全局变量3-4个单词组成2、为变量指定一些专门名称,不要使用例如 “value”, “equals”, “data” 这样的变量名3、变量名要使用有意义的名称,通过变量名能大概反映出其具体的用途4、不要在变量名前加前缀,例如 o_, obj_, m_ 之类5、服从公司命名规范,在命名时使用一致的做法,例如:txtUserName、lblUserName、cmbSchoolType, … 除非是大大降低了可读性6、服从编程语言本身的规范,不要使用不 阅读全文

posted @ 2013-11-06 15:01 codestyle 阅读(522) 评论(0) 推荐(0) 编辑

趣文:程序员是诗人
摘要:4月15日在@程序员的那些事微博中发了@大同大宝童鞋改编的一首诗:年少不经事,埋头编程忙。指键铿锵落,不及细思量。bug千百个,comment无一行。休言敏捷易,做来断人肠。最初发微博时随口问了一句:还有其他猿媛要来写诗么? 后来有转发其中三条后(1、2、3),参与分享的程序员就更多了。@Dragon-kaizhong:年少太轻狂,误入IT行。白发森森立,两眼直茫茫。语言数十种,无一称擅长。三十而立时,无房单身郎@风流隐士: 世人皆说官人好,没关系,当不了。常加班,起不早,挣的不够去搓澡。BUG、CODE知多少,只是屏幕显人老@黄小非: 少时狂发编程想,无畏赴身IT行。纵使荣华未可近,我自co 阅读全文

posted @ 2013-11-06 14:59 codestyle 阅读(369) 评论(0) 推荐(0) 编辑

函数要多小才够好——谈小函数之道
摘要:http://blog.jobbole.com/31396/“设计良好的函数往往比较小,而过大函数的设计往往一塌糊涂,或者存在很大的优化空间。”也许你认为讨论函数的大小没有必要,原因是函数设计的本质是内聚,它的大小只是它的表现形式。而上面的原因有必要让我们讨论一下函数的大小问题。我对函数的核心思路:我提出代码最小处理单元的概念:一个基本操作(赋值,比较等),一个函数调用(包括调用后判断返回值进行判断)都看成一个最小处理单元。那么,一个函数,最小处理单元合理的个数范围在7以内。如果超过了7,你就要考虑把他们拆分成多个函数了(为什么是7?人同时能够处理的信息不超过7个)。最小数目没有限制,即便是只 阅读全文

posted @ 2013-11-06 14:50 codestyle 阅读(348) 评论(0) 推荐(0) 编辑

程序员最头疼的事:命名
摘要:http://kb.cnblogs.com/page/192017/作者: Phil Johnson来源: 伯乐在线发布时间: 2013-11-05 21:53阅读: 469 次推荐: 3原文链接[收藏] 原文链接:Don’t go into programming if you don’t have a good thesaurus 许多程序员认为编程时,如何命名不仅是他们面临的老大难问题,也是最重要的事情之一。 上周,我发起了一个“程序员编程中的老大难问题”的投票,主要是基于最近Quora上的跟帖讨论。根据大家的反响和投票结果,有一项投票遥遥领先,稳居第一——对于软件开发人员来说,最... 阅读全文

posted @ 2013-11-06 10:36 codestyle 阅读(416) 评论(0) 推荐(0) 编辑

丰田栽了的原因,嵌入式软件工程师都该看看
摘要:http://www.amobbs.com/thread-5557598-1-1.htmlhttp://geek.csdn.net/news/detail/3298【第一部分】背景简介前几年闹得沸沸扬扬的丰田刹不住事件最近又有新进展。十月底俄克拉荷马的一次庭审,2007年一辆2005年凯美瑞暴冲(Unintended Acceleration,UA)致一死一伤事件中丰田被判有责。引起广泛关注的是庭审中主要证人Michael Barr的证词让陪审团同意丰田的动力系统软件存在巨大漏洞可能导致此类事件。这是丰田在同类事件中第一次被判有责。庭审过后丰田马上同意支付300万美元进入调解程序。出于好奇,我 阅读全文

posted @ 2013-11-05 16:30 codestyle 阅读(240) 评论(0) 推荐(0) 编辑

一些我后写出来的awk脚本
摘要:mail.awkfunction mailByShell(receiver, sender, subject, content, __ARGVEND__, xhead, xfrom, xmime, xtype, xsubject, sendmail,command){ xhead = " /usr/bin/formail " xfrom = " -I \"From: " sender "\" " xto = " -I \"To: " receiver "\" &qu 阅读全文

posted @ 2013-11-05 11:05 codestyle 阅读(319) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示