??xml version="1.0" encoding="utf-8" standalone="yes"?>久久精品国产亚洲AV香蕉,亚洲国产无线乱码在线观看,亚洲成av人片在线观看天堂无码 http://m.tkk7.com/changedi/category/43860.html先知cd——热qzL一切艺术的开?/description>zh-cnWed, 25 Feb 2015 15:11:59 GMTWed, 25 Feb 2015 15:11:59 GMT602014ȝhttp://m.tkk7.com/changedi/archive/2015/02/25/423025.htmlchangedichangediWed, 25 Feb 2015 03:01:00 GMThttp://m.tkk7.com/changedi/archive/2015/02/25/423025.htmlhttp://m.tkk7.com/changedi/comments/423025.htmlhttp://m.tkk7.com/changedi/archive/2015/02/25/423025.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/423025.htmlhttp://m.tkk7.com/changedi/services/trackbacks/423025.html     今天是春节休假后W一天上班,着大家q在休假Q抽Iȝ一下过ȝ2014Qؓ自己苦逼的2014M句号Q迎接新?/span>2015.

        苦逼用来Ş容自己,是稍昑ց颇了Q?/span>2014虽然l历了两?/span>996的洗C|q初和年末)Q但是技术成长确实没有想象的多,工作四年来,两年旉用来?/span>web的后端开发,?/span>spring?/span>webx的源码,到慢慢深入到一些数据库中间件的使用ibatis?/span>tddlQ淘宝内部)、消息中间gmetaqQ淘宝内部)、服务框?/span>HSF和其他的整个后端相关的内容,大概理解了一遍所?/span>backend后,团队~前端的状况逼的自己开始做frontendQ?/span>jquery?/span>kissyQ?/span>brixQ,使用bootstrapQ开发自qZraphaeljs?/span>vnix数据l图框架{等Q对前端的正怸务开发也基本熟练。回?/span>2013q的ȝQ发现自己去q就开始有些负面情l了Q虽然接触了storm开发,正常旉?/span>hive?/span>odps?/span>sqlQ开发数据报表,但是q些工作对于技术的直接提升q不明显。在无线反作弊领域做两年了,整个反作弊的设计架构也从最开始的l计分析发展到机器学习后来又逐渐变ؓ混合模式Q也经历了三代的演变。乐观的审视自己q?/span>4q的蜕变Q技术上的提升最大还是在2-3q的时候,现在的很多认知提升,都慢慢的转到了架构设计和团队理Q慢慢的自己开始不断挑ZQ我一直不理解我这U变化的原因I竟是什么,开始不满团队的理模式Q经常设惛_果自己来qԌ哪些地方该优化该改进Q开始不满品的技术架构;开始不满团队成员的“不够优秀”?/span>

         回家q了个年Q胡吃v喝后Q自己开始熟悉原来n边的环境Q也开始能看到自己内心M。你要做成功一个事情,q是之前在阿里巴巴的一个承诺。其实这是很隄Q不仅是阉KQ你在哪家大公司都很难。那么发泄不满是最低效最没有品位的做法,你只能让w边的h知道你不满,但这重要吗?The thing is to acitvate them。一个卓的人,首先要能包容自己对n边的不满Q我们不乱发泄,我们沟通,我们。要做成一件成功的事,不是要和一个完的团队配合Q而是要能配合Z个完的团队。能容别人所不能容,能帮助别人成别人?/span>

        2014整个一q我自己ȝ是懒惰的一q_q一q_我没怎么读过书,没怎么xq新技术,没怎么写过有趣的代码,反而还l常玩手游,跟h诉苦_传播负能量。h生苦短,在即?/span>30岁的时候,我却开始纠l一些芝ȝ豆的事情Q工资高低啦Q晋升啦Q?/span>These all shit。新的一q_自己要有q大的目标,我一定要做成一个事情,而ؓ了这个目标,要持l学习、读书。记得小时候,每到寒暑假,都会把整个假期及未来学期的计划写清楚Q虽焉时很q稚Q计划L什么几点睡觉,几点起床Q读哪几本书之类Q但是这U习惯,在我们长大后却逐渐褪去了,我们成了没有目标的؜日子的؜子。想?/span>Fenng之前的一文章,讲大公司的؜子,q真别说Q大公司最多的是混子?/span>

        不要拘惔于要成ؓ什么样的hQ只要知道你要做成什么事够了,因ؓ只要你努力ؓq个目标奋斗Q你׃成ؓ一个能做成q个目标的h?/span>That's enough?/span>



changedi 2015-02-25 11:01 发表评论
]]>最q在看NFLhttp://m.tkk7.com/changedi/archive/2014/10/27/419100.htmlchangedichangediMon, 27 Oct 2014 09:27:00 GMThttp://m.tkk7.com/changedi/archive/2014/10/27/419100.htmlhttp://m.tkk7.com/changedi/comments/419100.htmlhttp://m.tkk7.com/changedi/archive/2014/10/27/419100.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/419100.htmlhttp://m.tkk7.com/changedi/services/trackbacks/419100.html最q有2个月攄Q没有沉淀一些技术上的内容,反而是调整一个工作状态,把更多的旉q原C生活和娱乐中。当Ӟq前来看,q种适当的放I收C奇效Q当时考虑业务的前景时非常的不明朗Q甚臛_数据质量本n的要求极度偏ȀQ导致对团队的成员有偏见。不q在适当的休息后Q这U感觉没有了Q取而代之的是清晰的业务方向和思\?/p>

Z么会q样Q我惌个和我最q痴qh榄球NFL有关Q怎么q个句式特别像广告呢Q。年初的񔼄全场录像把榄球运动拉入了我的视野Q随着2014-2015NFL新赛季的开始,我也开始关注NFLQ美式橄榄球是项非常的q动Qؓ什么这么说Q运动本w有几个特点非常吸引人:1Q高强度w体Ҏ——无疑这是一男人的q动Q比赛中最常见的就是n体接触?Q规则和体系非常合理Q橄榄球的进攻防守规则是非常合理的,q攻l司职攻城略圎ͼ而防守组负责守卫家园Q这个对于原始的战争游戏模拟的非常到位?Q策略和战术要求极高Q橄榄球q攻和防守战术非常多样化Q进ȝ可以采用地面冲球和传球,传球的话又可以分q距R中距离和近距离传球Q传球的对象Q也可以是外接或者跑卫,外接的跑动\U쀦…说不完啊?Q数据拟合准,当然q是让我最痴迷NFL的原因,式榄球把数据q用C极致Q对于球员的指标衡量非常的准Ş象?/p>

比v招_那样的攻M防MQ它昑־安全了很多;比v|球、乒乓球q样的球c运动,q当的刺激荷尔蒙;比v球和篮球这L行q动Q橄榄球的规则和完整的体pM及无可出其右的策略性,是最吸引人的。当然球的力在于团队配合可以打得非常_ֽQ同时个雄的出现也可以拯救世界,但是球里衡量运动员l合素质的指标体pd在是不够好。我个h认ؓ像橄榄球和棒球(NFL和MLBQ是最好的数据决策q动体系Q好W的是这都是国Zؓ之疯狂的q动Q而在世界上其他国家却知之甚少?/p>

l合榄球运动和数据体系构徏Q确实给了数据从业h员很大灵感,玩NFL Fantasy的玩安知道每周的Pick’Em可以来预比赛,要知道一?5场比赛完全猜对的人非帔R常多Qؓ什么?因ؓ数据ȝ形象且透明Q也是_我们做预,不在于算法有多牛|而在于指标是否够好Q模型是否够清晰的能刻M务本w。这是我一直在做数据挖掘强调的Q但是仍然有太多太多的hU结在算法中不能自拔……NFL有一套自qrating法来评估球员的素质Q当然这在FM游戏里也有,但是我个为NFL的计更合理Q因为橄榄球q动目标性非常强Q没有像球那样q多的回传和l织Q橄榄球单箭头的向前是最好的U束条gQ这为数据可操作性提供了基本保障Q我个h是这么认为的。另外NFL联盟的运作也cM一个数据体p,联盟U定工资帽,不会出现q分的强弱队之分Q一个队伍都是明星大牌,工资帽不允许啊,所以NFL?2支球队,大体水^相当Q当然有弱队和强队,q里说的大体相当是指在一场NFL比赛预测中,没有那么明显的胜负趋势,优势微弱=属性连l、分布完)。另外不同的战术相生相克Q在Z随时可以通过暂停来及时调_q是步快跑实时q算的等h喻,球比赛一开场就臛_t?5分钟Q这是典型的批处理,教练有个意图都是大声喊,也不见得球员遵@Q但是橄榄球完全不同,每次d基本都是战术的完整体现。说h_因ؓ球球是连l比赛,而棒球和榄球则是分档进攻,q其中的区别体现在数据的可分析性以及一ơ操作的影响性分析上Q其实是很明昄。球的q箋比赛Q导致我们在分析一ơ进ȝ成功因素Ӟ需要考虑的变量非常的多,因ؓ旉H口太大—?5分钟Q而橄榄球是阶D|的Q一ơ成功的推进Q一定是l历一个开?传球或跑球这L程Q这明显是规格化的物,谁告诉你球q球一定要是本方守门员大脚开球到前锋门呢?所以对于橄榄球q种阶段性运动,一ơ分析可以根据本w的q攻和防守阶D被拆成很多的细片,在细片上完成分析Q这也符合分析的规律——样本干净且完整。这有点像分布式计算Q橄榄球天生分布式,而球只能一把搞到内存里做完全分析…?/p>

胡ؕ扯了一通NFL的东西,式榄球运动是Ҏ度体现智慧的q动Q结合数据去玩FantasyQ更觉得其乐无穷?/p>

回头有空Q再详细举例NFL的数据故事。没准也q聊聊手游和数据的事?/p>

changedi 2014-10-27 17:27 发表评论
]]>
Z么加?/title><link>http://m.tkk7.com/changedi/archive/2014/02/15/409886.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Sat, 15 Feb 2014 03:36:00 GMT</pubDate><guid>http://m.tkk7.com/changedi/archive/2014/02/15/409886.html</guid><wfw:comment>http://m.tkk7.com/changedi/comments/409886.html</wfw:comment><comments>http://m.tkk7.com/changedi/archive/2014/02/15/409886.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/changedi/comments/commentRss/409886.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/changedi/services/trackbacks/409886.html</trackback:ping><description><![CDATA[      当一个项目成功上U时Q项目经理会做一番汇总,提到整个目l历中各U感人情节,感谢abcdefg然后感谢大家加班加点的努?#8230;… <br /><br />      故事Lq样重复上演Q然后一个非常现实的情况是现有的U营企业的加班现状?br /><br />      首先需要澄清一点的是这里讨论的加班是不带薪的加班(包含不调休等其他直接利益Q?当雇佣制存在ӞZ׃“上班”来代表自q工作Q有人出钱,有h出力Q出q人雇佣出力的人,大家Z各自的目的持l这U关pR尤其是U营企业存在Ӟq种雇䄦关系更ؓ明显——老板׃班,因ؓ公司是自qQ员工(雇䄦工hQؓ自己上班——赚取工钱Q劳动报酬)来养家糊口过日子。虽焉是ؓ自己上班Q但是有个概忉|老板的自?公司集体Q员工的自己=员工自己Q家庭)。也是_在这个前提下Q两Un份的Z班的目的是不一L。但是我们知道,雇䄦关系的确立需要一个约定,一般就是我们的力_合同Q或者其他劳动规定)。如同其他社会现象一P工作也有个社会通用U定Q比如定点上下班。而加班就是在q个雇䄦关系和通用U定之上衍生出来的现象?br /><br />      企业理人员明白q种工作目的带来的媄响,于是U定如果有加班,则给予更多奖励。于是加班这一现象也就正常了?但是在正怸必须有异常的陪伴Q那是现在的多数私企做的事情:加班没有报酬。面对这U状冉|Q有的管理h员会对你_加班虽然没有加班费,但是你不是没有收LQ加班属于额外的付出Q付Z有回报的Q你的能力会提升Q同时年底可能会有其他的比如q终奖啊晋升啊等{优?#8230;…当说U话Ӟ如果你信了,那说明你q年轻,Ҏ被忽悠。事实是需要仔l揣摩的Q第一点,加班Z什么?如果是你承诺3天做完的z,到日子没交差Q那加班搞太正常了,q个不是要讨论的Q如果你完全自愿在公司加班学习,那也不要讨论Q学习哪里都一栗但是有U加班是所谓的制度或者是强制执行的,目l理Z让项目顺利执行完Q那q个需要讨Z下了。加班本w成Z一U常态,然后又对你承诺是个h提升的前提,那这个就是自相矛盄了。所有h都休息,你加班,q叫提升Q所有h都加班,你也加班Q这׃是提升了。如果是短期内项目冲刺,q个加班不叫加班?br /><br />      注意我说的是常态,是说公司管理h员把加班作ؓ一w期事业来q行了~~~q时候其实是你步入到一个低能效倒退的节奏里M?亲nl历告诉我,常态的加班带来的后果;W一、低效,员工的工作效率会有个曲线发展Q刚开始加班会体现出干的活也多Q这时候一切都很美好,但是旉一长,你会发现Q原?时工作的内容,攑ֈ12时q是q些z,原地不动了~~再过D|_׃长期的加班,体力意志力以及心智都不是正常发展Q所以效率会再降一个档Q?时的工作,12时加班只能完成一半,而剩下一半不是故意消极怠工是员工d自己的事情。于是结果就是本来可以正常发展的业务慢慢走向M。第二条后果、员工的全方位亏损,企业发展良好与否Q员工是其组成基本,大家都知道招一个h然后到培训他可以完成特定工作q都是有很大成本的,如果q个员工不断成长Q那q些成本是值得的,如果q个员工各方面不断的退步,甚至像一颗老鼠屎,那么不好意思,企业q一锅大汤是肯定要毁了,长期的高强度加班带来的h的n体和_损失我就不多讲了Q体验过的都知道。第三条后果是Q企业的名声不好Q面对同LZQ多Ch会选择正常的企业,而一个d班的公司是不会有人选择的? <br /><br />      最后ȝ一下,加班是现代企业竞争的常态,但是长期高强度加班不能成Z个企业的常态,说v来这话有点绕。说白了要不要加班就是在考验理者,正所谓张弛有度,如何调节Q不是放一句狠话:天天加班周末不休~~p打|竞争Ҏ的,真奇怪ؓ什么有的所谓的高层领导那么naive<img src ="http://m.tkk7.com/changedi/aggbug/409886.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/changedi/" target="_blank">changedi</a> 2014-02-15 11:36 <a href="http://m.tkk7.com/changedi/archive/2014/02/15/409886.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>q去的一q?/title><link>http://m.tkk7.com/changedi/archive/2014/02/07/409578.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Fri, 07 Feb 2014 07:35:00 GMT</pubDate><guid>http://m.tkk7.com/changedi/archive/2014/02/07/409578.html</guid><wfw:comment>http://m.tkk7.com/changedi/comments/409578.html</wfw:comment><comments>http://m.tkk7.com/changedi/archive/2014/02/07/409578.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://m.tkk7.com/changedi/comments/commentRss/409578.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/changedi/services/trackbacks/409578.html</trackback:ping><description><![CDATA[<p>    公司上班W一天,在一U?#8220;节后l合?#8221;的气氛下写下q篇一直拖着的ȝ?/p> <p>    2013已经成了历史的一个数字,在各U数据ȝ、趋势图表、红包鞭炮、酒席宴请I漫的后春节状态下Q终于回到公司,坐在清冷的办公室Q冲一杯咖啡,键盘和聊天声中,开始静静的回忆q去的一q?/p> <p>    3q一个坎儿,也许不假Q?013是我最频繁惌vx、{行、辞职的一q_Z么?我把它归|于3q这个坎ѝ工?q整了,在一家公司,一个部门,做着很多cM的事情,有这些想?#8230;…正常。先插一D|事,从年前到家到q后的各c聚会,ȝh比上班还累,天天吃肉喝酒Q处处谈论着本不感兴却不得不谈的现实,开始总跟人抱怨在外地工作辛苦Q天天加班拼命,上班路堵不方便,生活成本高,周六日没休息{等。后来所见所惻I看着各有各的辛苦Q各有各的烦|明白抱怨解决不了问题,抱怨只会让大家知道你在外面L很苦而已……徒劳的。回到正题,ȝ2013Q先谈积极的Q生zMQ孩子健h长,父母健康q_Q房子按期装修,一切都正常q{按部qQ只是花钱如水Q年底؜?的开始,不过q是很欣慎ͼ一切蛮利的。ȝL谈工作更多,那我也就更多的说说工作?/p> <p>    工作好像不那么顺利了Q进入了一个很奇怪的循环Q也许别Z觉得Q但是我自己把现在的状态称作一U尴的境地。这一q_在互联网技术这个圈子里Q我试?U岗位,2013之前Q我是一个专职的Java开发工E师Q我x的是服务端应用的架构设计、代码质量、ƈ发和可扩展,但是?013q底Q我感觉自己成了一个时下流行的ASE——全栈工程师(All Stack EngineerQ,q种转变是因为团队缺?#8220;资源”而被逼出来的Q年初品改版,全站大换血Q没前端资源Q没办法Q在借了个前端做?周demo和组件的前提下,我带着一个开发兄?#8220;成ؓ”了前端,写jsQ写cssQ后来css变成了lessQjs也需要自己做前端lgQ?个月后,我们真的成ؓ了前端,q时候的我,开始关注数据可视化lgQ了解d3和raphaelQ,前端模块化(seajsQ,前端开发模?前端OOP)和架构等Q看两遍犀牛书已经满不了我的需求,更多的js书籍q入了我的reading list。项目在快速的q代后进入稳定,新的需求也可以快速的被完成(因ؓ我们俩已l算是前端熟手了Q,而后开发h员补充一倍,机器扩容Q一切看上去都开始正常。这时一个新的数据项目v步,再次面“资源”紧张Q不q这ơ缺的不是software engineerQ而是data algorithm engineer。于是我也重复了q次紧张Q进入到数据开发的角色中。数据开发其实是个有意思的角色Q关注点主要是写sqlQ但是在大数据背景下Qhadoop要非常熟悉,要理解整个生态,数据开发不是单U的ETLQ写写hive或者pig的qlQ而是在结合业务的前提下设计出的数据架构,数据架构看上d虚,但是其作用不亚于软g开发中的架构设计。从某种角度Ԍ在大数据背景下,好的数据架构起到的作用更大,直观上讲能节省大量的成本。本来数据这块角色可以分很细的,但是同样׃“资源”的问题,我承担了全部的工作,当然学习h阶段得到了不同事的帮助Q同时也得感谢公司的大数据^台的单易用让大数据这U比较有技术含量的东西可以L的被工程师用。ȝ来说Q?013后半q进入到数据领域Q开始各U数据开发尝试。这一切看上去q挺不错的,但其实麻烦在于业务,业务发展q于变动和快速,D工程师做东西都是填补型甚x一ơ性品,比如前后端开发成了copy&pasteQ数据开发Zcopy&paste型的ETLQ结构层ơ不清晰Q毫无架构可a。在短时间内开发高质量产品本来是个悖论Q又l历长期的加班和强制性的公司政策Q这是在束缚创造力和打压创新精?#8230;…</p> <p>     于是Q作Z个ASEQ我们可能热衷于一切可能改变世界的技术,但是产品落地一定依托于某些业务Q而业务往往是关键点Q所以,真正的@环悖论是我们在不断的重复p|的业务,而技术的轮子由成功的业务驱动Q于是周而复始,D别h的成功,而无能ؓ力改变自己,q应该算是某cdE师的悲哀吧,我们可以L的实现各U算法,可以写大量的Java来实现控制业务逻辑Q迅速的l织面html+css+js来可视化Q可以熟l的写成MR或者hive sql在大数据q_下查找数据,甚至可以L的把q一切全部一肩扛P但是~~~我们改变不了产品p|的命q?#8230;…</p> <p>    In my opinionQ我们不应该仅仅是ؓ了公司的股票和工资在做事Q不能只是因Zơ涨薪、一ơ红包、一ơ配股而努力,既然选择了,那么q是一份事?#8212;—a career not only a job?q前我放弃导师的博士学位邀U,q入大公司成Z一名普通工E师Q?q后Q是否要攑ּ大公司的庸碌而重拾自我?忙碌q后、重新思考,如果q仅仅是工作Q那么趁着q不老,q寻自己的梦惛_?/p> <p>    写q么多吧Qȝq东西写hL个关注点Q洋z洒z的Q哦对了Q最q流行的文体是北上广q竟给了你什么?好吧Q我不在以上四地Q但是就杭州来说Q我q?q_没想清楚杭州I竟l了我什么。但是我心中有个{案Q你不在q些地方存在q,你永q不知道{案?/p><img src ="http://m.tkk7.com/changedi/aggbug/409578.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/changedi/" target="_blank">changedi</a> 2014-02-07 15:35 <a href="http://m.tkk7.com/changedi/archive/2014/02/07/409578.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>User-Agent(UA)的二三事http://m.tkk7.com/changedi/archive/2012/03/13/USER_AGENT.htmlchangedichangediTue, 13 Mar 2012 10:27:00 GMThttp://m.tkk7.com/changedi/archive/2012/03/13/USER_AGENT.htmlhttp://m.tkk7.com/changedi/comments/371820.htmlhttp://m.tkk7.com/changedi/archive/2012/03/13/USER_AGENT.html#Feedback1http://m.tkk7.com/changedi/comments/commentRss/371820.htmlhttp://m.tkk7.com/changedi/services/trackbacks/371820.html阅读全文

changedi 2012-03-13 18:27 发表评论
]]>
2011的过d2012的到来~http://m.tkk7.com/changedi/archive/2012/01/17/368630.htmlchangedichangediTue, 17 Jan 2012 01:13:00 GMThttp://m.tkk7.com/changedi/archive/2012/01/17/368630.htmlhttp://m.tkk7.com/changedi/comments/368630.htmlhttp://m.tkk7.com/changedi/archive/2012/01/17/368630.html#Feedback1http://m.tkk7.com/changedi/comments/commentRss/368630.htmlhttp://m.tkk7.com/changedi/services/trackbacks/368630.html安g是能发生天翻地覆的变化的地方。结婚生子,可能是下一步最重要的事情了。年底ȝQ列Z很多在技术上2012惌做的事情Q想要积累的东西。这一切希望都能实玎ͼ当然对应付出的就是自己双倍的努力?br />
q去~~
以ؓ隐瞒是是世界上最隄事情Q因为,q表明说的和想的Q或者是做的和想的不一Pq是一U被q的“表里不一”?br />回家的第一天,pC最熟悉的兄弟们Q聊hQ大家ȝ2011是不心的一q_发生了很多事情,大家各种不顺Q一个兄弟离婚了Q一个兄弟失业了。当然有两个喜得贵子Q算是好事。生zd是这P人可能会意外生病Q不好的信息可能会突然到来,5q前的一句话可能到现在才会带来伤害~~{等{等。当我们遇到挫折Ӟ需要什么?困境的最大威力不是困境本w,而是它所散发出的那种悲哀和伤感,q些负面的东西会让一个h失去信心逐渐l望。而我们要战胜它最重要的事情就是保持斗志ƈ充满信心?br />胡言p一通,我也不知道自己在说什么~~可能是一些休息的不适带来了一些伤感?br />乱~~
一点光~~
展望2012吧,在农历春节后Q就要l奋斗了?012Q我要做几g事:
1Q工作加倍努力,把ȝ中写到的都实现?br />2Q结婚生子,q是最重要的一件私事了?br />3Qؓ父母Qؓ家h做更多?br />4Q多一些时间思考?img src ="http://m.tkk7.com/changedi/aggbug/368630.html" width = "1" height = "1" />

changedi 2012-01-17 09:13 发表评论
]]>
工作半年的心得ȝhttp://m.tkk7.com/changedi/archive/2011/08/20/356924.htmlchangedichangediFri, 19 Aug 2011 23:46:00 GMThttp://m.tkk7.com/changedi/archive/2011/08/20/356924.htmlhttp://m.tkk7.com/changedi/comments/356924.htmlhttp://m.tkk7.com/changedi/archive/2011/08/20/356924.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/356924.htmlhttp://m.tkk7.com/changedi/services/trackbacks/356924.html
1. 日常开?br />作ؓ互联|技术从业h员,日常开发就是我们的本职工作。在熟悉了一个公司的开发流E和使用的开发技术后Q就开始进入一个貌似是d@环的开发过E。其实从态度上来Ԍ在完成了3-5个日帔R目流E后Q可能觉得一些枯燥。像一个也是Ch的同事和我抱怨,现在的开发好无聊。其实怎么讲呢Q萌生这L心态是很正常的。每ơ都做一L事,重复力_是程序员的大忌。然而我们真的是在做重复的事情么Q世界上有两件事是最的Q一是创造,一是欣赏。基本每个大公司都有自己的框Ӟ自己的技术体p,学会使用只是一个皮毛,了解原理深入源码会发现艺术感的美妙。ؓ什么设计成q样l我们带来了思考,不要抱怨一个框架的好坏Q觉得好用,哪里好用Q找出来Qȝ好;觉得烂,OKQ哪里烂Q从作者的角度去考虑Q他q样设计在权衡了哪些优缺点后才这栯计。我们看各种书和文章Q知道了jee开发框架的各种优缺点,知道了设计模式的各种指标和应用。但是ؓ什么这栯计?有h讲设计模式根本不发明,只是日常思维的ȝ。是Q那Z么我们ȝ不出来?GOF可以呢Q日常开发,分两个角度看Q你的态度军_一切,只是一味的做,那必然无,不断的去挖掘开发用到的技术的内涵Q你会觉得,让日常来的更猛烈些吧~
谈完了态度Q谈谈纯技术上的点。就web开发框架来_最初掌握的一定是其基本框Ӟ像spring的管理bean的IOC容器QAOPQ对ORM及service的支持等{。会用这些东西后Q就开始考虑程用到的各个部分ؓ什么这栯计。比如就拿spring的IOCԌbean的加载,注册Q及整个的管理机Ӟ熟悉Q源码阅读,q都是必备的工作。像我们使用webxQ与springcMQ那么它的各套流E是什么?我们开始加载配|,那么好吧Qservice是什么时候来的,都是哪些serviceQ在哪里配置。加载pipeline的时候,每一个valve的invokeҎ都做了什么。模板加载时候的具体定位怎么样~~{等q些程都要清楚明白q且知道源码。ؓ什么干q些Q一是你知道的越多,你似乎越牛|其实关键是你知道了原理,在问题发生的时候,定位问题的时间就短Q解决问题就快?br />2.试
不是写好单元试OK的~~做过开发自的同学都知道测试的辛苦Q前些日子做一个功能日常的自测Q我光测试̎号就领了11个,账号之间关系复杂Q各U好友、关注等{。时不时q需要在U怸以网l示意图的Ş式记录̎号之间的关系。测试是很辛苦的Q关键是Z覆盖的全Q我们必L重复力_和大规模覆盖的决心和耐心。可能更多的是耐心吧~
自测不是所有h都做的,更多的是开发完成后交给试人员Q别的公司我不清楚,我公司的试有时候有些兼职品的感觉Q会提出各种功能上的改进。其实这也对Q本着让品更好的原则Q每一个h的每一个徏设性徏议,我们都要接受。于是开发h员在q时到了考验耐心的时候。虚心听别h的徏议,然后军_是否改进Q测试的时候就像考试时做查,做题的感觉和查题目的感觉是不一L。耐心是坚韧的表现Q去提高自己q一块的能力?br />3.优化
工作虽然没多久,但ȝ的优化有两种Q一U叫性能上优化,那是坚定了品\U后Q不断的完善。另一U叫推翻重做Q鄙视)?br />性能优化书籍一大把Q我的优化经验也的可怜,目前只是做了代码重构Q通过减少服务调用和优化存储数据结构来提升了大?0-50%的性能。还有一个补充就是界面优化Q当然这多数是交l前端开发h员做的事情了Q但l过一D前端打杂后Q发C个了解前端技术的开发是多么的游刃有余(有点自大了)

先就ȝq么多吧。半q来q是有不浪Ҏ间的情况存在Q下半年努力~~fighting


changedi 2011-08-20 07:46 发表评论
]]>
手机wap面前端的一点体?/title><link>http://m.tkk7.com/changedi/archive/2011/06/07/351837.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Tue, 07 Jun 2011 01:03:00 GMT</pubDate><guid>http://m.tkk7.com/changedi/archive/2011/06/07/351837.html</guid><wfw:comment>http://m.tkk7.com/changedi/comments/351837.html</wfw:comment><comments>http://m.tkk7.com/changedi/archive/2011/06/07/351837.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://m.tkk7.com/changedi/comments/commentRss/351837.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/changedi/services/trackbacks/351837.html</trackback:ping><description><![CDATA[<p>手机端的html面像回到了最早的U文本时代~~</p> <p>没有JSQ只有单U的div+css~Ҏ上手Q但是也有很多限制。不在技术上Q更多的是一些适合手机屏幕的适配~</p> <p>Udq_有多U,iOS, Android, WP7, Sybian …</p> <p>Ud览器就更多Q我的Android手机中装?0ƾ浏览器Q分别是Q原生google的,qqQUCQv豚,firefoxQoperaQ天天,goQskyfire和x览器GL?/p> <p>那么我们需要的适配多少呢?{案?q_数去乘以q_版本号再乘以览器种cd乘以览器版本号~~无穷无尽?/p> <p>一些徏议:仅限中低端适配</p> <p>1. 量采用div+cssl构Q因为有些浏览器在有些^C的显C是不支持table的?/p> <p>2. css不要用floatQ不要用q多的伪cdabsolute之类的position相关的东ѝ?/p> <p>3. form表单不要使用type为file的input?/p> <p>4. 每行设计的时候最好数数pixel的个敎ͼ很容易计的Q?/p> <p>5. 被迫使用表格的话Q那么请C不要用rowspan或是colspanQ部分android和sybianpȝ不支持?/p> <p>6. 看一些已有的大型站点的手机wap站前端,d习他们的标签设计Q毕竟小团队或者个人开发资源有限,无法l计和适配多种手机?/p> <p>7. 别搞wap啦,做好webapp和nativeQ改行html5 + css3吧~~</p> <p>另外对于触摸屏的出现Q在head中的meta多了很多的设定,比如viewport{?/p> <p>下面贴一些html和css的小tipQ希望有用?/p> <p>1. 览器是忽视所有文档中的tabQ回车和I格的?<p>2. ..?lt;a>的\径中代表上目录 <p>3. 所有的路径分隔W都? <p>4. Block型元素前后都有换行,inline型元素则没有Qblock型有<h1-h6>Q?lt;p>, <blockquote>Qinline型有<a>,<em>,<img>,<q>{?<p>5. Css的最q原则就是如果有多条css属性匹配,那么按顺序执行渲染,所有的conflict都被最后的规则解决?<p>6. Css的字体大font-size指的是字体的高度Q就是从最下端到最上端的距R如果单位不是px而是%Q那么指的是相比其他字体的大倍数。如果父标签?0pxQ那么子标签应用?或者em的就是父标签的倍数关系?<p>7. Line-height其实是行间距 <p>8. Html中每个元素可以被理解Z个boxQ而padding是指元素内容与box的边界之间的内间距?<p>9. 一个图理解q些间距问题Q?<p><a href="http://m.tkk7.com/images/blogjava_net/changedi/Windows-Live-Writer/wap_7257/clip_image001_2.jpg"><img style="border: 0px currentColor; padding-top: 0px; padding-right: 0px; padding-left: 0px; display: inline;background-image: none;" title="clip_image001" border="0" alt="clip_image001" src="http://m.tkk7.com/images/blogjava_net/changedi/Windows-Live-Writer/wap_7257/clip_image001_thumb.jpg" width="244" height="234" /></a> <p>10. Id属性是用来定义严格的单一元素的。你可以有很多个元素有相同的class属性,但是id只能有一个?<p>11. Width属性只声明内容区域的宽度。Width的默认是auto?<p>12. 默认的padding?px <p>13. 用空格分开的css表示的是父子关系Q比如div h2{}pCdiv下的h2如何如何。这U父子关pL相对的,不是直接关系Q只要h2嵌套在div中就可以。直接的父子关系需要div > h2{}来指定?<p>14. Padding和margin的省略写法:padding: a b c d是按照上右下左的时针顺序设定的?<p>15. Css优先U用三位数排列法:000Q是否有idQ有则在W一位加1Q是否有class或者伪c,有则在第二个数加cL伪类的个敎ͼ是否有元素名Q有则在W三位加元素数?<p>16. 在flow中需要注意的一ҎQ水q的两个元素的margin是二者之和,而垂直的情况则是二者中大的margin作ؓ间隔。换句话_inline元素之间的margin是二者之和,而block元素之间的margin是二者中的较大者?<p>17. Float会将元素剥离出页面的flowQ页面其他block元素会在它之下,但是inline元素会自动和float元素的边界分R?<p>18. 表格单元g间的距离叫做border-spacing? </p> <img src ="http://m.tkk7.com/changedi/aggbug/351837.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/changedi/" target="_blank">changedi</a> 2011-06-07 09:03 <a href="http://m.tkk7.com/changedi/archive/2011/06/07/351837.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>工作3个月结http://m.tkk7.com/changedi/archive/2011/05/14/350238.htmlchangedichangediSat, 14 May 2011 06:01:00 GMThttp://m.tkk7.com/changedi/archive/2011/05/14/350238.htmlhttp://m.tkk7.com/changedi/comments/350238.htmlhttp://m.tkk7.com/changedi/archive/2011/05/14/350238.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/350238.htmlhttp://m.tkk7.com/changedi/services/trackbacks/350238.html又一D|间没有写日志了。工作也3个月了,随着杭州的天气进入初夏的“微热”Q工作也开展的有声有色了。学习不断深入,对于工作中遇到的问题也有了自q理解Q感觉有学习不完的东西~~

首先说说工作的流E,对于新手上\Q莫名的技术蘪炸我觉得不可怕,掌握公司整个产品开发流E,知道d里找资源Q这个更重要一些。刚到这里,会感觉有很多东西要学Q于是也制定了一些计划,开始学习这Q学习那。但是实际工作过E中Q发现根本没有时_或者没有那么系l和完整的时间供你系l学习。时间都被打散成了碎片,要懂得利用碎片时间。这是另一个话题,但我的感觉就是一定要首先ҎE掌握清楚,知道一件事分几步,每一步在q什么。也是_在你知道具体怎么做之前,一定要知道是做什么,怎么个流E?/p>

清楚程后,那么开始实际上手吧Q没旉ȝ你全学会了,掌握了,“考试通过?#8221;才能d发~~q没有止境,而且不靠谱。合理的安排是在过E中学习Q利用时间片D去学习。我们现在Q在技术的h上,各种新鲜的东西层ZIP若是想一一学尽Q那么毫无意义,更是毫无可能。那么怎么学?一个工作流E中会遇到很多技术,q些技术都隶属于自己技术领域或者技术层面的一个特定点。那么好吧,在看着前h的结果去依葫芦画瓢的时候,ȝ解和思考这些技术细节所属的技术层面。然后去阅读Q去查找Q去弄明白这一个技术层面的概况。不需要去抠细节,q个阶段q不够。只是了解,知其Ӟ_了,因ؓ|马不是一天徏成的?/p>

清楚程Q又清楚了各个技术层面的M概况后,那就可以有多U选择了,Ҏ自己的业务需求去x一两个技术点Q或者是像之前一P再遍历一遍流E中的各个技术层面,然后深挖每一个~~很多大牛都介l自q学习l历的时候提到过“先深后广”的\子。这个是非常好的一个方法,在一两个点上逐渐深入Q慢慢成Z家的时候,再蟩出来涉别的领域Q那发现其实道是互通的~~

最后ȝ一下,也算是对现有程的一个回:首先是品经理设计一个品出来,功能和外观原型展C和描述出来Q我UC为模型。在q个模型出来后,要做一番评审,程中各个可能参加的人来提出和意见,其是要和开发h员交,讨论技术可行性。其ơ就是交个前端设计师L据外观原型设计具体的外观样式和demoQ品原型像一个框Ӟ先把地框住,外观demo像图U,得弄清楚要做成什么样子。当然外观demo的设计也要评审,主要是品和前端人员q行沟通,看是否符合原型设计。接下来是开发h员开发,在已有的框架和图U怸Q一步步ȝ加瓦Q将其实现。然后测试h员进入进行检查,像是验收一P我们现在都叫QAQ这点确实非常符合。在保证了质量后Q最后交付。整个流E每一轮都要评审,有h觉得评审是浪Ҏ_但是Q如果没有评审机Ӟ你就会发现生z越来越乱~~

一个品的生q程Q就像盖一所房子Q这也是软g工程和徏{工E各个环节都非常怼的一炏V不同的地方在于Y件品在开发过E中的技术细节繁杂多变,各式各样。虽然我不懂建筑Q但是想必徏{应该不如Y件的复杂吧~

那么对于开发的技术来说。还是前面提到的思\Q先深后q,但是q个深和q的意义和界限没那么严格。不能一味的深钻一个而完全不其他,也不能全方位覆盖而一个都不深入。具体的度就p己把握了?/p>

q段旉比较忙,隑־一个周末的下午有空能写写文字ȝ?/p>

下面是自己前阶D做的工作的一个回了~

1Q刚来的ChQ不断学习(q是必须一直持l的事情Q无所谓新旧老少Q?/p>

2Q理解流E,认识同事Q交培训~~

3Q项目前端页面在各个览器上体验不一PL原因q解决之

4Q加入小目Q开始实战(项目主要是改善用户体验Q修改现有代码)

5Q小目2期,l箋优化

6Q研I型目Q后l可能应用,属于探烦创新

7Q前端页面设计及~码

8Q友情项目帮助,主要是后台开?/p>

 

其中??是同一个项目,但是明显在做4的时候,只是知其Ӟ完成功能OKQ到5的时候,新的dQ同L代码Q但是才意识到自己在之前目中的各种不熟悉和不深入,重新深入理解Q加׃不少认识Q学C很多东西。研I型的东西自己比较擅长,在时间比较充裕的情况下,很顺利的搞出demo。前端设计是自己很感兴趣的东西,也在很短旉完成了Q务,同时也体验了一把项目前端工E师的感觉。友情项目说实话q着很轻松,感觉也能学习新的东西?/p>

changedi 2011-05-14 14:01 发表评论
]]>
新的开始——纪念入职一?/title><link>http://m.tkk7.com/changedi/archive/2011/02/20/344689.html</link><dc:creator>changedi</dc:creator><author>changedi</author><pubDate>Sun, 20 Feb 2011 06:45:00 GMT</pubDate><guid>http://m.tkk7.com/changedi/archive/2011/02/20/344689.html</guid><wfw:comment>http://m.tkk7.com/changedi/comments/344689.html</wfw:comment><comments>http://m.tkk7.com/changedi/archive/2011/02/20/344689.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://m.tkk7.com/changedi/comments/commentRss/344689.html</wfw:commentRss><trackback:ping>http://m.tkk7.com/changedi/services/trackbacks/344689.html</trackback:ping><description><![CDATA[<p>忙碌的一周还有半天就l束了,孤独的我坐在I的公司大厅写完这一纪念博客~~<br /> <br /> 2011q??4日,q来了纪忉|义的一天,我开始了人生的第一份工作——淘宝(中国QY件有限公?Java开发工E师。原想的那䆾紧张和忐忑,在进入公司大楼的那一刻,比我到杭州的那一刻还来的放松Q一切都放下了,一切又都重新拿P我,加入q家公司了?br /> <br /> 随着Ch手箋的一点点的落实,我很快进入了自己的角Ԍ也不知道是刚开始工作的热情不减Q还是我已经习惯了研I生期间的那份勤勉。周六日也都C公司加班Q对于第一周刚工作的应届生来说Q我惌是一个好的开始?br /> <br /> 刚工作,对什么都有兴,但是却没那么多时间让我去发现Q去探烦Q去问~~因ؓ大多数时间我都用来学习技术。公司的很多制度、文化包括所谓的C会l验Q我都没有时间去了解Q刚来的W一周,完全C技术的温泉中不能自拔。也许还不够资格感叹什么,但是对于不追求那些Q华的自己Q我感觉Q这个offer的选择Q没有做错?br /> <br /> 很不习惯叫自pn边的人是同事Q但是我xq是很快的进入角色的那一cd。我不想证明什么,也不是要玩命的干什么。只是觉得h生的意义必须是不断的学习和奋斗。而我Q也在不断的努力的做到这一点~~~<br /> <br /> 刚来一周,真的q不以嗅出什么气呻I但是初到的那份新鲜还一直萦l在w边不退~~~高开低走不是我的风格Q写纪忉|的文字是Z鞭策自己不断的进步?br /> <br /> 像在微博上写过的,W一ơ的组会议Q让我很是兴奋,仿佛找了好久又找C熟悉的感觉一P产品创新和技术革斎ͼ是每个团队不断需要做到的。作为新人的我,更要加倍努力迅速融入团队,为团队A献力量的Ch才是合格的新人~~~<br /> <br /> 再来说说生活Q一个h的生z,L~点什么,一直以为独立的自己Q发现在生活的品味上却着实是个门外汉Q基本上没有x友在w边Q所有的东西我都是以温饱来衡量,可能q日子更像一个困R倒的I学生吧Q摆׃了自q学生w䆾了)<br /> <br /> 杭州的吃喝还是挺好的Q来q里Q至这些天的感觉让我ƈ不后悔,说明杭州q是蛮有_性的嘛。唯独适应不了的阴L冬天l于快过MQ一个新的春天,希望公司和我Q都能迎来更高发展的2011q?br /> <br /> 着g短期目标Q下周的规划是要做好一周的学习dQ毕竟新不断学习Q,q把已经发现的问题解xQ更多的M解公司(在闲暇时间和同事聊天中进行)……<br /> <br /> 当然q发C个小的问题是Q公司没有培训~~~Q不知道Z么,N需要我自己L名?Q第一周的旉大多数花在自q“望闻问切”了。好吧,没关p,自学也是咱擅长的事情~~keep moving<br /> <br /> 劳逸结合,张弛有度。周末需要休息,Ch也不例外Q学习了两天后,拿q最后的半天用来消遣自己Qn受生zd?br /> <br /> <br /> ?011q??0日,公司?/p> <img src ="http://m.tkk7.com/changedi/aggbug/344689.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://m.tkk7.com/changedi/" target="_blank">changedi</a> 2011-02-20 14:45 <a href="http://m.tkk7.com/changedi/archive/2011/02/20/344689.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>bye~~2010http://m.tkk7.com/changedi/archive/2011/01/02/342166.htmlchangedichangediSun, 02 Jan 2011 09:51:00 GMThttp://m.tkk7.com/changedi/archive/2011/01/02/342166.htmlhttp://m.tkk7.com/changedi/comments/342166.htmlhttp://m.tkk7.com/changedi/archive/2011/01/02/342166.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/342166.htmlhttp://m.tkk7.com/changedi/services/trackbacks/342166.html 现在?011q??日,年初,不过我写的是2010的ȝ?br />
2010伊始~~~
1-6?#8212;—
q程Q课题如火如荼的展开Q深q沉浸在图像检索和视觉设计的ؕ七八p杂文之中。搞搞课题,写写报告Q读M码,做做题目。就q样Q学校里最后的半年q去了?br /> 收获Q硕士毕业的主要问题解决了,实验做的差不多了Q新的idea搞出来了Qpaper心里有数了?br />
7-8?#8212;—
q程Q最后的一个暑假,研究生的暑假Q比较假Q老师接了个项目,帮导师干了些完全不擅长的事情Q嵌入式QDSPQPSD……好在我做法Q休假回来的火R上就接到了boss的电话~~~感慨学生的日子也不好q?br /> 收获Q干zȝq程中还是学C东西Q又把C好好拿v来搞了搞Q有I的时候准备了一些技术基知识Q准?月䆾开始的扑ַ作大潮~~~

9?#8212;—
q程Q好像很I的度q了Q每天必M求实、北邮h和水木,搞搞job infoQ看看campus招聘信息。读dU笔l面l,感慨北邮的同学们已经M自己心A的公司,一些M慕,一些期盹{?br /> 收获Q暂无,可能是那种期盼吧,q有一些找工作的初体验Q比如简历就被某公司hQ(据说是随机)虽然曄在该公司丑֊的编E挑战赛上取得过一点点成W~~~W了

10?#8212;—Q面l简版)
q程Q找工作最忙碌的一个月Q这个月里,基本是奔LQ笔试面试,q有各种和同学们的聊天,q有隐隐的对自己的规划。拿C非常心A的一个offerQ虽然待遇不是特别有竞争力,但是期权和那U小团队的挑战让我非常心动。H公司的offer不出意外的收刎ͼ也是非常看好Q虽然篏Q但是肯定能学到东西。在有这两个offer后,扑ַ作就L了一些了Q已l不再v投,而是有选择的参加?br /> 月底q来了自己最心A的T公司QB公司和TB。突然想刎ͼ半年前跟安Q自pL州发展,可能真的能实C?br /> q三个公司的序是这LQ先是T公司的笔试,|投了,却没有成功,当时好像览器有问题Q于是决定去霸王W。TJ地区400人左右的W试名单Q最?6入一面,我oq入围。一面后46->8Q??面,我又侥幸入围。当时以为,可以L圳了。结果最后发玎ͼq?个h中好像也没有q存Q或者至?人吧Q。Mq么大的淘汰率,觉得q是不太可以接受。T公司的缘分就止步于此了。在面T的时候,B的面试也如火如荼Q???面都L的搞定,最后进入等offer阶段。不得不_3ơ面试都非常开心,都有技术,都有探讨Q和谐而不׃辩,讨论而不q貌。我对B的感觉很好~~~~
TB的笔试面试可以不说了。MQ我们的~分从这一d始了~~~Q有旉写面l详l版本吧Q?br /> 收获Q最后果断的{了TBQ虽然待遇不如B~~但是也算达成了我的心愿~

11?#8212;—
q程Q签了TB我就没再扑ַ作了Q几个当初也认可的公司发来面试通知Q都婉拒了~~~正式q入论文写作阶段Q因为年底就毕业了。这个过E是很顺利的Q因为工作都是自׃q来一点点U篏的,全部q程和内定w很熟悉,只是一些文案工作了~~修改格式Q审阅内容,{待{辩。这个月q的匆匆又完整?br /> 收获Q毕业论文一~~

12?#8212;—
q程Q答辩,交接工作Q一些小聚,收拾东西Q然后准备离开待了6.5q的学校~~~
收获Q还是很怀늚~~TJUQ让我成熟的地方?br />

bye了,TJU
bye了,2010

懒惰的我先写到这里,师弟们叫吃饭了~~呵呵Q散伙送行Q一切都要结束,一切也都要开始?br />


changedi 2011-01-02 17:51 发表评论
]]>
无辜的世界杯月~~~http://m.tkk7.com/changedi/archive/2010/06/28/324659.htmlchangedichangediMon, 28 Jun 2010 04:19:00 GMThttp://m.tkk7.com/changedi/archive/2010/06/28/324659.htmlhttp://m.tkk7.com/changedi/comments/324659.htmlhttp://m.tkk7.com/changedi/archive/2010/06/28/324659.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/324659.htmlhttp://m.tkk7.com/changedi/services/trackbacks/324659.html 墨西哥h是无辜的Q阿根hZ是无辜的Q一Ҏ辜的受伤Q一Ҏ辜的获利Q一切取决于裁判……
当裁判都不公正的时候,哇,q一刻,我想那些L抱怨社会不公正的hQ大概可以歇息一会了?br />
世界杯的间隙搞搞NQ整整想法,写写代码Q画d?br /> {~U研的间隙,看看世界杯,聊聊球八卦Q追q球员动态?br />
太久不写C++代码Q现在的手生Q估计只限于L而写h费劲的阶D了?br />

btwQ最q看了Martin Fowler的《重构》和Brian Kernighan与Rob Pike的《程序设计实c,L匪浅Q都是些l验的ȝ?br /> 我发现计机相关的书c,不应该只写what to do和how to doQ而是多写写how to do better。介l技术的书,我L看对应的doc或者guideQ而真正花旉ȝ书,应该是那些经典的名著~~~

看完不公qx赛,而喜q队获胜的念?

changedi 2010-06-28 12:19 发表评论
]]>
从Ş式上写优U代码http://m.tkk7.com/changedi/archive/2010/04/19/318713.htmlchangedichangediMon, 19 Apr 2010 02:35:00 GMThttp://m.tkk7.com/changedi/archive/2010/04/19/318713.htmlhttp://m.tkk7.com/changedi/comments/318713.htmlhttp://m.tkk7.com/changedi/archive/2010/04/19/318713.html#Feedback0http://m.tkk7.com/changedi/comments/commentRss/318713.htmlhttp://m.tkk7.com/changedi/services/trackbacks/318713.html1.    优秀代码

什么样的代码是优秀的代码?q个概念目前q没有h能确切的定义。然而广大的E序设计人员普遍都认可的一pd标准基本上从各个层面提出了对优秀代码的要求。最q在诅R编E匠艺》,觉得文章都写的很Q相比之前读《卓有成效的E序员》,该作从代码本w讲qC~程“那些?#8221;。深受启发,写写dȝ?/span>

http://gxgonline.bokee.com/679308.html q里有一D?#8220;优秀代码标准”Q具体限于篇q不再赘q。只是从自己q个~程菜鸟的角度,去谈谈对~写优秀代码的理解。正如每个h心中都有一个衡量标准一P我对优秀代码也有一个衡量的标准Q结果正的QŞ式优的Q性能高效的,易重用和健壮。当然结果的正确性和E序本n的性能取决于算法设计,q是另一回事Q不是本文所讨论的问题,本文只讨Z代码的Ş式和l构有关的问题?/span>

2. ~写优秀代码

       优秀的代码首先具有优的样式Q我惌Ҏ所有编Eh员所p的。没有h愿意L涩难懂的代码Q相反,如果攑֜你面前的代码l构清晰Q样式优,那么ȝ序的人想必也ȝ心旷怡了。要C一点,代码写出来ƈ不是永远l自q的,而且ql自qQ也不是一直都能看的懂的。那么如何写出Ş式优的代码呢?W一点应该注意的是代码样式Q什么是好的样式Q一_传统Q简z?/span>

一致的代码主要指程序中代码~进要一_括号的位|要一?#8230;…其实不用l数Q所有的一切关于代码的东西Q都要一致。正像那些大师们说的Q?#8220;挑选一U适合你的风格Q然后坚持下?#8221;Q这是一致。那么好了,有哪些好的风格呢Q经典的括号位置?/span>K&R风格和悬挂式风格Q具体是什么样的,见下表:

?/span>1. 括号风格

K&R风格

void k_r_style() {
    
// Do something
}

 

悬挂式风?/span>

 

void exdented()
{
    
// Do something
}

 

另外一个要一致的东西是命名了,像文章由断落、章句和字词l成一P代码也由变量、函数、类型等{构成。合理一致的命名对于代码的样式同样重要?#8220;恰当地命名的关键是准理解你所命名的对象。只有这样你才能l它起一个有意义的名U。如果你不能为某个对象v一个号名字Q那么你׃会真的知道这个对象是什么或者这个对象真的有必要存在吗?”

接下来说说名字,名字首先得是描述性的Q单U的字母命名是我们编E最常用的,Z么如此,我把它归lؓ我们初学~程旉一点点的懒惎ͼ随便的定?/span>int a, int bq样的变量,完成着短小的程序。但是当E序渐渐的大hQ文件渐渐的多v来,q样的变量名字显得那么的渺小和苍白而最l毫无意义。所以如果无法描qC个对象,׃要ؓ它v名字。第二,技术上是正的Q关于这点,׃现在的编E工作大多是?/span>IDE下进行,因此q部分的查工作我们程序员都交l了IDEQ当然如果命名满了W一条——具有描q性——那么也基本不会q反技术规范了。第三,恰当的,恰当的命名体现在长度和格调上Q也怽Z个变量v了一个具有描q性的名字q且也是技术上正确的(且符合语a习惯Q,但是它却长达30个字W?/span>(theNumberOfImagesInMyComputer)或者只?/span>1个字W?/span>(a,b{等)Q这L做法是不好的。对于命名格调的理解Q我惌是一个文化背景的问题Q有的h很喜Ƣ用foo?/span>barq样的诡异名字,q样做其实违反了“传统”原则Q这个稍后会提到。关键需要记住的“了解你的语言的命名规则。但更重要的是看Q了解这U语a的习惯用法。公共命名约定是什么?应用q些语言习惯和约定?#8221;

~码要符合标准,q样׃与别人的一_同样也会与自pd的代码一致。这U纵向横向的一致往往从一个编E标准开始。当然编E标准的制定也应该是量W合传统Q这p到第二个问题了?/span>

不要L鲜的创造样式,而应该去遵@传统。这样可以确保别懂你的代码,同时不会让未来的自己和其他h犯晕。我理解的传l更像是一U大众化Q就像上面讲到命名时说的Q不要用诡异的名字,foo?/span>bar不是什么好的选择?/span>

z讲的更多是一U补充。假设你自己订立一个标准的话,你遵循了传统Q也一直坚持用它Q但是由于你的天才你把编E标准弄的过于复杂,q样可是苦了其他的程序员了。所以,能简z是量z,不要q求华而不实的代码样式。记得自׃前写代码Qd一些类g“a[index++] = some();”q样的代码。现在想惻Iq是Ҏ“a[index] = some(); index++;”q样更简z。简z不意味着代码行数,而是让h看着舒服?/span>

我认为,E序员写代码像作家写文章一P清新的结构,行云水的成文往往能o读者n临其境。而我们作者读代码的过E中Q也无不希望代码优美Q就像是在看优美的散文一栗其实说了这么多Q无论是~进或者括号位|更甚者是命名Q这都是在增强我们代码的可读性。当你读代码像读文章一P那时你就是一个专业程序员了,当你写代码能像写文章Ӟ那时你就是一个优UE序员了?/span>

当然代码的可L离不开注释Q注释本w不是代码,但是是优秀代码所必不可少的东ѝ?#8220;注释的目标读者是人,而不是计机?#8221;注释是一U内部的文档化机制。什么时候写注释呢?q个问题其实很好回答Q当你需要解释代码ؓ什么时Q去写注释。那么如何写呢?C几条法则Q确保遵循这些法则,那么你也能写出美妙的注释。第一Q不要描qC码,“一个事实——一个源_不要在注释中重复代码?#8221;因ؓ本n你是在解释ؓ什么而写代码Q这是一U目的解释,而不是过E描q。所以如果你有解释代码的注释习惯Q那么,摒弃它吧Q当然个别难以理解的法除外Q。第二,不要取代代码Q?#8220;当你发现自己在编写密密麻ȝ注释来解释你的代码时Q赶快停下来?#8221;注释的字C会太多,大量的注释看着也让人头痛。第三,保注释有用Q?#8220;想一想你在注释中写些什么,不要不动脑筋p入。写完之后要在代码的上下文中回顾一遍这些注释。它们是否包含了正确的信息?”保注释是有价值的Q是真的Q是Ҏ理解和清晰明了的Q不要用一些含混不清的俚语或个人幽默。最后,避免分心。注释中不应该包含那些陈q旧事,也不应该用各U?/span>ASCII囑Ş来美化,因ؓ字体宽度变化的多U编辑器可能让你q种化丑陋不堪。同时我也不是很支持在代码块的结“//end if(a<1)”q样的注释来解释。清晰的~进和括号已l可以解释一切了?/span>

说到底,清晰代码l构Q良好的~码风格和注释,都是在提高我们代码的可读性。而我们写q样代码的目标就是代码的自文档化。我们M在写完代码的时候,p大量的时间去写文档,q其实从架构层面来讲Q增大了耦合Q谁的耦合Q代码和文档的。代码一l改变,文档相应也要改变。这L复杂兌L耗费了编Eh员大量的_֊Q那么ؓ什么不d代码本n的Ş式上׃功夫呢?如果我们都能~写可以阅读的代码,人性化Q简单易懂,那么文档q需要吗Q就像我们看书籍作品Q很见哪本说q配着一部说明文档的?/span>

最后,再说一说代码的易用性和健壮性。除了美观可读这些外部特性外Q编写代码还应该h易用性和健壮性。?/span>Code Craft》里提倡用防御性编E,q给Z防M性编E的一些技巧。当然我q不是防御性编E的fansQ也不是契约式编E的d。只是从健壮性的角度看,防M性编E是必须的。然而过多的防M降低了代码的效率Q有时候甚x观Q这L代码也许佉K题复杂了。不怎么_代码的易用和健壮是经验积累的体现Q怎样写出q样的代码?好吧Q没有捷径,大量的编写代码ƈ阅读其他人写的优U的代码。渐渐的Q你会发玎ͼ你的代码也可以同L优秀?/span>

3.

       本文主要从代码的形式上讲qC~写优秀代码应该注意的一些细节。当Ӟ代码的核心——算法没有涉及。最后的一些关于代码健壮性的认识也是拙劣有余。作Z个编写代码爱好者,写出优秀的代码是我们q求的目标。培养良好的~程习惯Q掌握更多的~程技巧,不断的编写和阅读……一点心得,一Ҏȝ?/span>

4. 参考文献及推荐阅读

[1]http://gxgonline.bokee.com/679308.html

[2]~程匠艺, Pete. Goodliffe著,韩江、陈玉译

[3]如何~写优秀代码Q?/span>http://hi.baidu.com/08027/blog/item/bc30cefe78e1bf305d6008ef.html



changedi 2010-04-19 10:35 发表评论
]]>
վ֩ģ壺 18ֹۿ˽ӰԺ| 91avƵ| ޹ۺϾþ| һ| ѵվ߹ۿ| ޳߹ۿ| ƵѴȫϼ| 91԰Ƶ| 1024ƷƵר| ޾Ʒ123߹ۿ| ŮƵվ | ƵvƬwww| AVר߳| AVһ| ߹ۿ| avƷ| ѻɫַ| ŷպþþƷ| ۺ| ƷŮþþ| ޳˵Ӱվwww| 97߹ۿƵ| ɫɫBwwW| vƬ߹ۿƷ| һ˿wwwƵ߹ۿ һƵۿwww | Av츾߳30p| Ʒ10000| ղһ| ˬˬһ| 99þ99ȾƷѹۿ| ¶ɫ| Ƭ߹ۿ| aaaƬѿ| AV鶹Ʒ| ޹˾þһWWW| þþƷƵѲ| gayƬgvվ| ޾ƷƷ˿| èwww˳| һƵ| þþþ޾Ʒվ|