你的位置: 句子 > 工作总结 > 导航 > 程序员年终工作总结(十三篇)

程序员年终工作总结

发表时间:2023-12-17

程序员年终工作总结(十三篇)。

通过对过去一年的工作进行回顾总结能够更好地实现个人成长,总结工作经验抓住个人提升的机缘。怡心句子网的编辑为您整理了一篇优质的“程序员年终工作总结”文章,请注意这些信息仅供参考并非完全准确或权威!

程序员年终工作总结【篇1】

马上到年末了,自己也对今年做了一下总结,自己有哪些优点,有哪些还需要加强。每当我想到今年比较满意的地方,对比之前,就会有这样一个思考:如果以前的我要是知道这些该多。在这里给大家分享一下经验,让新人少走一些弯路。

一、提问的技巧

作为一个新人来说,不懂就要问!这里我要说两点:

1、如果是单纯技术上的问题,如果可以google到的,我认为就可以自己消化掉!问的问题一定要先google,然后带着自己的想法,去问一些有经验的人,收获会更大!

举个例子:曾经的我,埋头写代码,那时候很怕上司知道自己不会这,不会那!所以拼命的掩盖自己不会的东西,自己查资料,下班了问同学,上论坛发问。但是由于逻辑和现实需求不一样,所以结果并不理想!如果那个时候,我把自己不理解的地方和上司谈,也许会很快的就能完成这个任务,而不是返工。

2、如何提问?问谁?

很多新人不知道如何提问,也不知道问谁。我的建议是,先把你要问的问题梳理好,最好可以有电子版或者打印版的整理,方便其他同事查看和解答。然后就是提出的问题,要让回答的人感兴趣,这样他不但会给你解答问题,还有可能将问题延伸,让你学到更多的知识。对于如何让回答的人感兴趣,就是仁者见仁,智者见智了!看个人发挥了!

对于问谁,我觉得你不了解其他同事的时候,要先问你的上司,当你了解了你的同事每个人擅长的领域之后,就应该把自己的问题归类,然后问最擅长的人。这样会事半功倍!

二、任务分解

不知道大家做事都是怎样一个逻辑,当年的我做事就是一团糟。当我拿到一个日志分析的任务的时候,就想着做,埋头苦干,但是自己越做,脑子越浑,完全找不到头绪。后来,上司找到我,给我做出了任务分解,我按照任务分解来做,清晰了很多。直到现在,我还保持着做任务分解的习惯。

其实做任务分解可以帮助你更深入的了解你要做的事情,任务分解包括一个事情,你需要分几个步骤去做,每个步骤要做到什么样子,什么程度,多长时间做完。几个步骤为一个里程碑。如果具体做的时候发现一个步骤的事情做起来超过了一个星期,我觉得这属于任务分解的不够细,需要将这个任务再次分解,让你的工作更透明,更有效率。可以使用一些任务分解工作,将自己的工作路线和步骤明确,要善用工具。

三、主动汇报,主动沟通

曾经的我就是埋头苦干,但是从不汇报进度,其实这样是不好的。后来我的领导找到我,问我的进度,才发现意见有所分歧,理解有差距。索性只能重新来过。

新人一定要注意这个事情,有情况,有成果,有可展示的东西就一定要及时的主动汇报这个事情的进度,做成果展示,在对事情有不理解的时候也需要主动的沟通,使之和所有参与人员的意见一致再去做,保证你做的事情的正确性和有效性。

记住一句话:当领导找到你问进度的时候,你是被动的!

上面几点,看似简单,做起来很难!到现在任务分解和提问很多职场新人是不具备的,需要慢慢磨练,但是我们相信,只要有良好的态度,良好的习惯,工作一定会慢慢越来越好!相信自己的明年会越来越好!

程序员年终工作总结【篇2】

还是10个小时就变成20——年了,回首这一年的工作,有硕果累累的喜悦,有工作当中的艰辛,也有遇到困难和挫折时的惆怅。在项目可开发的过程中,难题一个接一个的出现,自信心不止一次的受到过打击,虽然自己早就知道,要做到符合公司的要求,做一名合格的程序员,这些是远远不够的。每天我都会不断勉励自己,好好学,以后会好的。在此同时,公司也给了我很多学习的机会,这是我对以后的编程之路又有了信心。在担任公司程序员一职已经有一年多的时间,在这一年时间里,我学到了很多东西。每个人都是在不断的总结中成长,不断的是审视中完善自己。在这一年里自己也是在总结、审视中脚踏实地完成好自己的本职工作,现将这一年的工作总结如下:

思想方面

严格按照一个程序员应有的素养来约束自己,爱岗敬业,具有强烈的责任岗和事业心,积极主动认真的学习专业知识,工作态度端正,听从公司的安排,积极配合客户完善数字化校园系统。

工作方面

热爱自己的本职工作,能够正确认真的对待每一项工作,工作投入,热心为大家服务,认真遵守劳动纪律,按时上下班,有效利用工作时间,坚守岗位,需要加班完成工作的要按时加班加点,保证工作能够按时完成。在这一年多的时间里面,我本着把工作做的更好这样一个目标,主动了解公司的开发项目流程,请教他们开发技术上的问题。

程序员年终工作总结【篇3】

我于20__年x月x日成为本公司技术部的一名程序员,一年转眼就过去了。这段我人生中弥足珍贵的经历,给我留下了精彩而美好的回忆。在这段时间里您们给予了我足够的关怀、支持和帮助,让我充分感受到了领导们“海纳百川”的胸襟,在对您们肃然起敬的同时,也为我有机会成为影响力在线的一员而惊喜万分。这段时间,在领导和同事们的关怀和指导下,我通过不懈努力,各方面均取得一定的进步,现将我的工作情况做如下汇报:

1、学无止镜,时代的发展瞬息万变,各种学科知识日新月异。我将坚持不懈地努力学习各种技术知识,并用于指导实践。

2、“业精于勤而荒于嬉”,在以后的工作中不断学习知识,通过多看、多学、多练来不断的提高自己的各项技能。

3、不断锻炼自己的胆识和毅力,提高自己解决实际问题的能力,并在工作过程中慢慢克服急躁情绪,积极、热情、细致地的对待每一项工作。

4、努力提高自己的日常交际能力。

时光流转间,我已到公司工作一年。非常感谢公司领导对我的信任,给予我体现自我、提高自我的机会。这一年的工作经历,使我的工作能力得到了由校园步入社会后幅度的提高。

在此,在对一年的工作情况及心得体会做一汇报后,今后我会以炙热的工作热情继续投入到今后的工作当中,以自己踏实努力的工作,报公司知遇之恩!

程序员年终工作总结【篇4】

时间转眼到了年底,回顾这过去的一年我感觉自己还是有很多进步的,在工作方面我也是深刻的体会到了这一点,我觉得这对我自身能力而言也是一个很不错的提高,现阶段的工作当中我也愿意让自己去做好分内的职责,对于过去的一年还是有很多准备的,我也需要总结一下工作。

首先我一样这些是我应该要有的态度,这对我个人而言也是很有帮助的,我也是感觉在这一点什么我可以有更多的提高,我也坚信不管是做什么事情有都应该要认真,在这一年来的工作当中我觉得自己的进步是看得见的,我希望能够在接下来的工作当中能够做的更好一点,这是毋庸置疑的,我也会更加深入的去了解一下这些,每天认真完成好自己的业务能力,在这个过程当中我是非常清楚这些的,在这一年到头之际,我应该要有一个好的判断,未来的工作当中,我会坚持去做好这一点,做技术工作是需要有足够的抗压能力的,现在回想起来我还是认真做的不错的。

来到公司已经有一段时间了,我清楚的了解到了自己在能力上面还是稍有欠缺,这让我清楚的意识到了这一点,回顾这过去的一年我是清楚的认识到了这一点,这方面我是很有信心的,未来的还会有更多职责是应该要做好的,这一年来我也是完成了两个项目,我觉得自己的表现还是不错的,我是认真的关注好自己分内的事情,在这两次项目当中我也是学习到了很多,我深刻的意识到了这一点,当然以后还会有一些事情值得我去做好的,这个过程当中我是做的足够认真的,这一年来有很多的事情还是值得我去钻研的,和周围的同事身上也学习到了很多,这对我个人而言是一次很稳定的提高。

当然在这过去的一年当中,我也是有一些做的不够好的地方,这给我的感觉是很不好的,我能够清楚的意识到这些,我觉得在工作方面自己做的不够细心,所以出现了一些不该有的问题,相信新的一年我可以纠正好这一点,这也是作为一名程序员应该要有的态度,也感激过去一年来自己的进步,我始终相信,我可以有更多的成长空间,虽然偶尔在工作方面我会出现一些问题但我还是希望可以做的更加细心一点,在这方面,我对自己还是很有信心的,新的一年我也一定会更加的努力。

程序员年终工作总结【篇5】

一、计算机

这些只是提高班必须要学习的技术,可是米老师说过,这些东西只要给够你时间,总能学会。大家都在学,掌握是迟早的事,只不过时间有长有短。看到自己的学习历程,也感觉到自己的这一年没有白费。虽然现在自己的进度不快,学习的时候老是爱钻牛角尖,查起资料,深究起问题来没完没了。所以学习的效率也不会太高,学习的时候经常停下来思考问题,但经常跑偏。“盲人摸象”、“囫囵吞枣”老是做不好,师傅也老说我,不要学的太过仔细,学到不到黄河不死心的地步。

学习原本就是需要交互的,不是一个简单的线性学习。也就是说,很多时候一个新的知识不是学习了就能真正的理解了,这时候可以暂时的放下来,继续后面相关知识的学习,通过进一步的学习,才能对以前的知识有了深入和深刻的理解。虽然这个思想在刚进入提高班的时候就知道了,思想上移,可行动却没跟上,以后还要继续改进,落实到行动上才可以。

二、英语

对于英语的学习可以说是走走停停,磕磕绊绊。说白了还是意志不坚定,“坚持”这两个字谈何容易。回顾以前自己的英语总结,真是感受颇深啊。每一篇都在反思自己的懈怠,说好下个月要改进学习方式,改变学习方法,坚持每天学英语。可是每次都是坚持了没几天就又懈怠了。每每到了月末就会感觉没有东西可写,这里也就不在过多介绍了。只有在暑假、寒假、十月一这样比较长的假期才能坚持每天的英语学习。

自己分析了一下原因,感觉自己学习英语时是靠兴趣来学的,每次拿到一个新的材料的时候,就会感到很有趣,一看就刹不住闸。可是看过一遍以后,要是再看第二遍、第三遍就开始看不下去了。如何培养自己持续学英语的兴趣着实重要。就最近学习的Paul叔材料以及以前学过一遍的赖世雄英语来说,最开始听,跟着读,感觉很有意思,尤其整个屋子一起读,那种感觉,你要是不读出声来都不好意思。可是听了三遍Paul材料以后就开始不愿意再去听了,可以说是没有兴趣了吧。

英语的学习是持久的,和计算机相比之下,确实英语的学习更难。但是如何能提升自己的感觉尤其重要,还要继续探索才行。

三、自考

今年是我第一次参加自学考试,听师哥师姐说,自学考试就跟你的期末考试差不多,突击学习几天就能过。这个道理我们都懂,但那不是米老师的根本意思,老师是希望通过这个自学考试来锻炼我们的时间管理和学习方法。考试那都只是顺便的事,只要好好利用二八定理,就可以让你的学习更加的轻松。

我最开始由于担心时间不够,就只报了两门自学考试科目。虽然最后都过了,但是也有考前紧张突击的体会,并没有严格按照三步走的战略来学习课本。我感觉最后能够通过是团队的力量,最后临考的那段时间,我们小组每天晚上会讨论问题,讲课,猜题等。对我们的考试很有帮助,但是这些东西要是提前做的话就不用那么的着急了。通过自学考试,也让我体会到了团队的力量是无穷的,知识是通过交流和分享来获得的。而不是一个人在那里埋头苦学,那会一点效率也没有。

思想上移

米老师的思想有很多,以前也有师哥专门总结过那些经典的话,做成了米老师语录。我们也在提高班待了有一年多了,这些思想早已潜移默化到我们的脑子里,当然,这些也只是第一步:接受。至于能不能用到生活中去改变,还要看自己。

说道这些思想,我感觉最重要的就是——积极主动。也是高效人士七个习惯里面排第一位的。首先我承认,自己性格内向,很少积极主动。这种现状一直维持到20年的暑假。之前的一年里,没有担任过任何职位,也没有进过委员会,没有主动找过老师,更没有主动上台发过言。真正开始改变我的要从作品展开始说起,作品展期间,我们的作品很荣幸的被选上,在学府展示以前是长达一个星期的彩排。那段日子过得很漫长,可以说是这一段时间的磨练将我的勇气和自信激发了出来。

后来暑假结束时,米老师说我不够积极主动,也是那时,我加入了机房委员会。然后被分到了服务器部门管理五楼机房。在刚开学的那段时间,感觉自己不能胜任机房管理的工作,自己的技术和能力都远不及那些早就加入机房的人。可是师姐的一番话,让我又重新振作起来。她说技术不是最重要的,不会咱可以学,如何管理成员,如何为人处事才是最重要的。即使你会的东西再多,如果你不能很好的让大家信服你,帮助你,是什么事情也做不成的。就这样,随着经验的积累,现在已经对机房的工作轻车熟路,也算是比较核心的机房管理成员了吧。

当然,这只是积极主动的一个表现而已,这也告诉我们,思想上移固然很重要,只有落实到行动中去才能真正体现出来。

总结:

20xx年已经过去,留下的是满满的成长和收获,当然也有着遗憾和失落。生活就是如此,没有苦恼,没有困难,哪来的快乐和喜悦。最让人开心莫过于解决问题,克服难题后的欣喜和激动。让我们保留下那瞬间的美好,迎接新的一年把。奋斗的日子还很长,还有很多的挑战在等着我们,保持一颗积极向上的心,培养解决问题的能力。相信所有的问题都会迎刃而解。

程序员年终工作总结【篇6】

在过去的一年中,我担任公司开发部的一名程序员,主要从事着__项目的开发工作,这一年来我低调努力工作着,不求闪亮显眼和光芒四射,只为平静和淡定;这一年中所做的成绩如下:

1.独立开发方面

2.团队开发方面

餐饮行业项目,在团队开发项目中直接参与了__餐饮有限公司总部的信息综合管理平台项目,主要负责的系统有:房屋租赁合同管理系统。短信收发管理系统。会员管理系统。基础信息管理系统和人事管理系统的部分功能模块。系统应用后,__在管理全国各门店房屋租赁合同上,一定程度上提高了管理效率,并且及时有效提供了相应预警信息;短信收发系统方便了总部及时传递各项信息;会员系统更好的管理全国各门店的会员信息;人事系统在管理中减少工作量等。

3.项目管理方面

4.总结不足

驻__总部做项目时,由于团队内部某些原因,加之外面的其他因素,一定程度上影响了工作效率、影响开发进度和影响最终软件质量;这是包括我在内项目组中的每个成员都必须检讨的地方。

通过总结一年来的工作,尽管有了一定的进步和成绩,但在一些方面还存在不足,个别工作做得还不够完善。在今后的工作中,我将努力找出工作中的不足,以便在日后的工作中加以克服。自我不断的学习吸收新技术,认真学习好规范规程及有关文件资料,并且及时的把新技术应用在实际的项目中,进一步提高项目的技术含量。

程序员年终工作总结【篇7】

我是一个喜欢总结和反省的人,但有时这恰恰也是我的弱点,一个人思考得太多太重,有时会阻碍前进的步伐,虽然看起来很稳很理性,但没有速度没有高利益,这是程序员创业者的一个重大不足。

学会感恩与珍惜

但庆幸的是我们坚持下来了,十年如一日,石头那样地坚硬,小草那样地顽强,很多人经常觉得很奇怪,一家基本上没有销售员的纯技术型公司也能在中国大地上生存,真是莫大的笑话,我们靠的是一行行的代码换取一碗碗的米饭,偶尔饭里有点菜甚至是肉,令人相当地兴奋,我并不嫉妒或羡慕别人的山珍海味,那是因为别人比我有能力,所以TA们就应该吃着龙虾鲍鱼,我吃着自已辛苦换来的米饭,幸福感也是很高的,尽管老大不小了,可我依然是有梦想的,并且充满了狼性,但光有梦想与狼性是不够的,还要有能力与执行力,我一直在努力,期望有一日可以变得更好更强。

创业多年以来,我是幸运的,遇见那么多的贵人,TA们指导我,帮助我,使我不断地成长与进步,遇见那么多优秀的人才,TA们在我最艰难的时候也都不会离开我,一直齐心协力共同渡过,我能做的就是在我能力范围之内对TA们好一些,保持一颗感恩的心,珍惜所拥有的一切,我努力让自已是一个对的人,不辜负大家的青春年华,希望就在前方,我们越来越靠近。

先借力再能力,先借船再造船

20xx年对于我以及我的企业最重大的事情就是引入了东华软件股份公司【股票代码002065】作为战略投资者,企业更名为东华发思特。东华软件是一家同时具有CMMI5、系统集成一级、国家甲级涉密认证的上市公司,员工规模超过8000人,600多项自主知识产权,是国家重点高新技术企业、国家规划布局内的重点软件企业,东华软件以应用软件开发、计算机信息系统集成及互联网+为主要业务,拥有50多家子公司与办事处,在医疗、气象、金融、农业、水利、大数据、智慧城市等数十个板块排在中国龙头地位。

东华软件具有强大的平台能力和丰富的资源储备,并且团队非常地务实与拼搏,和东华的董事长与副总裁聊一聊,你会被他们的务实、思维和能力所吸引。我相信东华发思特依托东华软件这个平台,一定能快速发展,提高市场能力,增强核心竞争,成为中国领先的智慧城市综合服务商。

我一直认为一个智慧的人,并非是因为他的能力超群,而是会借力,然后再快速提高自已的能力。我们周围经常有这样的创业者,自已能力不足,却要打造平台,不停地造船,一生都在造船,结果反复折腾,船没有造成,河也没有过,错失了大好时光。我承认自已能力有限,时间有限,我就是先借力,后能力,先借船,后造船。

变与应变,全在于你自已

过去一年是一个不停变化的年份,各种新技术层出不穷,国家提倡大众创业万众创新,云计算、大数据以及互联网+风声水起,技术改变了工作与生活,我们也在不断地改变自已,以应对周围所发生的变化。个人或企业的致命危机往往在于当技术或市场变化时没有及时调整,从而被用户或时代所抛弃,只有时代的企业,没有成功的企业,诺基亚不是失败了,而是被时代所抛弃了。

因此,作为时代的个人或企业,我们一定要顺势而为,对技术或市场的变化保持高度的关注和敏感的察觉,面对变化,我们要做的是应变,以其未来被逼着改变,不如现在直面和拥抱变化,动作要快,要有魄力。

个人或企业的应变能力全在于个人或企业家的理性修养,因此我们需要不断全方位地学习,才能掌握好趋势,掌握好时空,掌握好变化。

给自已与未来

很多时候我们都喜欢谈论未来,未来是什么?未来,我会在什么地方?遇到什么样的人?过什么样的生活?未来是未知数,未来是想出来的,真正的未来是当下的脚踏实地。

因此无论是现在还是未来,都要坚持梦想,并踏踏实实地做事,认认真真地做人,我认可的成功不是来自社会或别人的认可和评价,而是由自我满足带来的宁静平和的心态。如果在我力所能及的范围内,尽了最大的努力来改进现状,这就是我认为的'最大成功。

再见20xx,你好20xx!

程序员年终工作总结【篇8】

送走了圣诞的严寒,伴随着元旦的烟花,我们迎来了“末日”后的新纪元——XX。在这冰雪消退、即将春暖花开的时节,也是回首过去、展望未来,总结昨天、规划明天的最佳时刻。尽管来公司不到半年时间,但在这段时间里,学会很很多做人做事的原则和价值理念。现将XX年度工作总结如下:

一、学习wpf相关知识

这是刚进公司时的主要任务,从winfrom程序向wpf程序设计的转变,学习相关技术知识。主要完成任务,学习wpf的相关技术理念,绑定、依赖项属性、xaml界面描述语言等等。期间接触到了很多技术知识和论坛,帖吧等网络技术资料。开始学习和思考设计模式,尤其是mvvm设计模式,深入了解之后,使用了mvvmlight技术作为一般的程序开发架构。最后,在win8app程序中成功的应用。

二、win8metro版深圳移动执法信息系统的设计和开发

在之前windowsmobile版深圳移动执法系统的基础上,做成win8metro版本。由于win8app程序的sdk比较新,我们也是边做边学习。我的主要任务是最开始的搭建系统开发的基本架构,采用之前wpf积累下来的mvvmlight设计模式。

界面设计方面,以旧系统的基本界面为原型,利用win8新的一些特性和美化而成。

业务逻辑上,主要是根据周鹏给出的基本思路和唐里成设计好的基类和虚拟业务方法。

具体的功能模块上,完成后台任务的注册和轮询实现的通知,设置和共享超级菜单的使用等等。

随着win8的正式上市,我们小组不断的系统和详尽的学习win8的相关开发技术指南和技术点,应用在实际的项目中。

编程技术是死的,而业务是活的。c#每一次的迭代的变化总是有限的,即使是win8新的sdk,变化的总是很少的一部分。编程语言,可以通过不断的看书,追寻到不变的那一部分。对于,业务就不这么简单了。这也是现在主要存在的不足:

一、不清楚业务

没有跟过现场,做系统的时候,很多都是根据自己的想象和逻辑推理来完成流程和用例。这也是对系统完善性的最大限制和瓶颈所在。

对于上述问题,需要跟去过现场的同事经常的交流和沟通,虚心向他们请教。同时多做业务梳理,多看看旧系统的代码逻辑和业务处理技巧。

二、软件开发不够规范化

软件工程师,最大的挑战不是敲代码,而是设计。ooad才是软件工程师该做的,该努力的方向,当然也是不那么容易完成的。oop只是整个系统开发和设计中最重要的一部分,然而却不是决定性的,ood才是关键性、决定性的一部分。很显然,ood需要ooa的分析作为铺垫。

对于以上问题,在不断的学习面向对象分析与设计理论知识上,根据项目实际经验,不断的总结和应用,完善自己的知识体系和开发技能,做到一个真正的designer。

子在川上曰:“逝者如斯夫,不舍昼夜”。过往矣,不可追。把握当下,才能控住未来。把握当下,一切就还不晚。

XX新的四季周而复始,新的一年里,新的希望和期望。大概的计划如下:

一、继续完善win8app开发技术

我一迈出大学校门就直接跟进了,最新的技术win8app。最初的silverlight积累了不少基本的开发常识。xaml+c#,已经成为也只会成为我的方向和目标,坚持和忍耐,步步为营提升自己。

二、紧跟公司项目,积累业务处理能力和分析经验

不知不觉中,已经从新人变成老鸟了,来公司的这段时间收获很多,认识了新的同事朋友和伙伴。也是时候,积累许多具体的业务能力和工作经验的`时候了。根据公司的具体需要,参与具体的项目。

完善自己,充满斗志,迎接新的挑战;发展自己,收获希望,看到不一样的阳光;激励自己,激情澎湃,缔造新的辉煌。望新的一年里,博安达能够芝麻开花——节节高,创造更过的环保系统,为中国的环保事业贡献我们薄弱而坚韧的力量。

程序员年终工作总结【篇9】

先自我简介一下,本人从事asp开发进一年,XX届毕业生,XX年11月开始上班,之前做asp,09年2月后开始做asp,由于公司转型,现在带十几个人在一起搞asp开发,主要是关于准金融行业的行业管理软件。年度总结在会议上也写了,但仅限于对于工作总结及20XX年工作计划,自我总结较少,因此今天专门做下自我的年度总结,主要从技术、管理、人生上面谈谈这一年的收获,前辈路过欢迎多多指正。

技术

我在学校里学的是电气自动化,程序基础仅限于C基础课程的一些知识,后来由VB、HTML转向asp,在asp上花费了不少时间,对asp比较熟悉,后来由于公司业务需要,将开发平台转向asp,开始对asp不是很感冒,以为就是asp的一点扩展(那时还不知道三层架构,数据数据访问全在页面里——!),后来招来几个北大青鸟的过来终于意识到asp的强大之处,经过个人的努力已经逐步掌握了asp,现在层次上只能讲个人觉得是入门而已,原因是多方面的,待会儿会讲到。

相信从面向过程转向面向对象的同学都有一种感觉:面向对象开始真的有点别扭,涉及到属性,尤其是类之间的各种关系,那时老想用面向过程传递参数多方面啊。于是老在想对象这种东西,从概念中跳中来,以自己的方式去理解才逐渐体会到页面对象的精华来,分层次展现、分级别访问、封装对象之间各种关系逐渐真正理解了,尤其是对象之间的关系,如对象a与对象b两者之间的关系,有些需要完全公开,有些需要隐藏,有些需要通过第三方传递,有些需要给自己的下级可见,有些需要让下级去完成具体操作——这不是现实的实际模型吗?应该这么理解,面向对象来源于现实,它不是一种凭空空想出来的理论,这些对象之间的关系可以将其还原为父子、夫妻、领导下属、同事、朋友之间的关系。相比之下,页面过程往往像是一股脑全部推给用户使用,其中的数据与数据访问方法层次不清晰,在模拟现实上它与面向对象相比更易于入门理解,实质上难于准确直接地表述。

面向对象上另一方面是它的设计模式,在之前的面向过程中对这个设计模式并没有清晰地提出来,面向过程优秀的代码要求高内聚低耦合,从个人的理解上,这仅是对软件开发方法“技”上理论总结;设计模式是达到了“道”的层次,因为它从更大的方向、更抽象的层次来去表述具体的代码模块之间的关系,可以认为设计模式是完全从实际的应用来不断总结得来的经验,之间并没有这种术语,但相信前人肯定也使用到这种思想,它从实际应用于来,当然要应用于实际工作中,认真思考不断总结每个人都会有自己的“设计模式”,可以借鉴前人的思想来去提升自己,不可去为“设计模式”而设计模式。

具体到asp的实现模型中,真正理解它的机制与方法也就不难理解,记住b/s中离不开post或get,所有的AutoPostBack、SelectedIndexChanged……都是去调用Form传值,加上runat=server的服务器控件打开它生成的源文件也是普通的HTML标签,微软的让软件开发更容易的思路是很好的,时代在前进,很多年前你使用C写出MIS证明你很牛,很多年之后你不在使用C去写“学生管理系统”、“图书馆管理系统”那只能说明你的脑子少一根筋,开发语言都有长处与不足的地方,因为它们适用的场合不同,类似不能拿匕首去跟炮弹比,也不能拿C与PHP比,程序员都有一种偏执的心理,但一点要记住,你面对的用户才有最终发言权,程序能不能满足需要,易用性、稳定性、成本才是应当首先放到重要位置来去谈的。

管理

最开始担任管理一职时开发团队加我在内只有四个人,那时只是抱着接受挑战的心理去做管理,加上我本人比较重感情,团队之间关系相处都不错,但严重的问题逐渐显露出来:工作的随意性、团队精神薄弱、工作方式蛮干,印象深刻的是有几个开始项目不能完工,于是最后天天加班,一直做到早上6点,睡一会7点半接着上班,几个同事都是年龄差不多的小伙子,干劲十足。后来随着时间的推进,问题越来越摆在眼前:项目迟迟不能完工,又由于公司待遇方面让新员工感觉不值得,于是形成了老板抱怨员工也抱怨的状况,我在中间两点都要去“消火”,这期间是我们部门相对最累的时间但也是相对感觉最充实的时候,后来,之前的员工跟我说“再也找不到那种感觉了”,这是我能想像的。这期间主要是老总对我十分信任,工作上主要是管理方法上对我指点了不少。后来我逐步体会到,管理应该是“大家定规则去遵守”,而不应该是“人管人”。

人管人很容易陷入一个误区:领导去时时刻刻关注每个员工,这样最后往往后造成员工对领导的敷衍了事,管理松了员工会责任下下降,管理紧了造成员工与领导关系紧张,另一方面领导时间精力有限必然耗费大量的精力在日常的监督中而不能投入到全局的管理中。

于是“定制度-定分工-定进度”,明确日常所有的规章制度,这期间除了公司主要的工作规章制度外其他的日常工作纪律、日常管理等规章制度都是我本人制订,然后征求大家意见最后去贯彻执行。中间也遇到了不少问题,比如开始我们内部是允许使用QQ的,后来员工用QQ闲聊的时间增多,大大影响了工作效率,最后决心禁止,开始阻力较大(貌似程序员都喜欢挂上几个QQ去到群里搞个群主,虽然群里大多都是菜鸟),最后多次开会,逐个谈话,阐明道理,形势逐渐好转。

项目分工上针对技术水平明确分工,制订项目开发计划,由于开始技术都不是很成熟,不少时间我这边强势要求,使用野蛮方法,完不成加班——我陪着加班,这段时间能感觉到员工对我稍有怨言但总体还是认可的。

这期间公司新招人员,人员的增多更使我意识到团队管理的重要性,这期间版本控制、编码规范、文档管理、Bug管理等诸多问题都得到一一解决,技术水平上主要是我个人利用空余时间学习新知识充电,然后展开各种培训,主要是photoshop、css、js、SQL等方面,培训一方面提升了员工的技术水平,一方面我本人在学习培训的过程中得到的最多,因为这个时候个人要求去思考的会更多,加上我本人对技术兴趣比较深厚,所以后期工作慢慢踏入良性循环。

待遇低、条件艰苦、工作时间长、工作压力大是团队中的难题,这方面公司在某些方面决策层有着严重的错误思想,造成技术人员对公司埋怨增多,在这方面我本人只能以劝架婆的身价去安慰身边的兄弟,因为我明白现在公司的问题与当前中国软件行业的通病一样,盲目追求利益化,不求质量,但求速度,整个社会风气造成软件行业良莠不齐发展,整个中国三四个人的开发团队组成的公司数不胜数,整个程序员阶层生存状况可想而知,疯狂加班、代码质量低下、维护成本大、稳定性差、用户体验差……。当然我们本身不能去逃避这个现状,对于个人来讲任何假大空的口号都是没有意义的,程序员作为技术人员最重要的是心态,以良好的心态去面对各种问题,发现问题、解决问题,发现问题抱怨是解决不了问题的(“IT民工”是我个人认为IT人最没有正确的自我定位的一个称谓,试想一个人连自己都看不起自己的职业,他能做好自己的工作吗?),最主要是解决问题。

我在面试员工时反复提到的三点是;工作态度、发展潜力、工作能力,由前向后排序,心态最重要,大公司大家都想削尖脑袋往里挤,但名额有限,所以广大的程序员同志绝大多数都集中在二流三流四流的软件公司,这个时候更应该做好个人职业定位。以我个人的经验,新员工选择一家公司往往最看重工资待遇跟发展潜力,程序员是一种不可以混日子的职业,工作能力很重要,但不是最主要的,工作态度是最重要的,工作态度往往跟个人的思想认识还有职业所在的环境有关,我个人的体会是绝不能太过于情绪化,情绪化无论是对工作还是对个人的发展都是不利的,就是说哪怕是明天你要辞职,你今天都要把今天要做的事情认真用心做好。

程序员年终工作总结【篇10】

在我进入公司的这八个月里,我陆续接触了公司的软件开发平台,一些已经完成的项目,美科斯OA系统,中邮物流管理系统,富阳供销社等。还有目前在进行2个物流公路港系统,对公路港的运营模式有了较深入的了解。对公路港系统也有了深入了解和研究,但还需要更进一步的理解。期间进行了长达2个多月的出差。在马上到项目进行出差期间,对公路港的运营模式和结合互联网+,打造全新的双线运营模式有了更深入理解和学习。对于我们自己的物流管理系统,信息交易系统、诚信系统进行实施安装和培训的过程中,学习到了很多东西,配合协调友商以及项目公司顺利的将各系统成功的运行起来。在于客户和友商的沟通过程中学习到了很多相关专业知识。在未进入公司之前,我从没有接触过信息系统及计算机硬件方面的东西,在公司给予的机会下我逐渐熟悉了解了一些相关的知识。在工作之余,我也在努力的学习,和同事及客户友商进行交流,学习先进的开发技术,请教别人相关开发技术问题。

存在问题

1.由于开始对公司开发平台不是很熟悉,所以在了解客户所要开发的功能及表单过程中多次出现因为需求的原因,而不断修改的情况。在与客户交流的时候,这个问题多次困扰着我,对方的需求不明,每次交流的过程中都在变更需求,从而导致了效率比较低的问题。

2.在工作过程中,用到很多我所不知道或很多我知道但不太熟悉的领域,在这个领域内,我需要不断的学习。

3. 工作的条理性不够清晰,要分清主次和轻重缓急;在开发时间很仓促的情况下,事情多了,就一定要有详实而主次分明的计划,哪些需要立即完成,哪些可以缓缓加班完成,在这方面还有很大的优化空间。

4.学习的知识不够广泛。对专业知识技能方面还需要努力的加强,这方面也是目前最欠缺,希望高总能给予指导和培养。一个项目中,涉及的技术往往有多种,知识多了,就会灵活变通,所以我会加强这方面的学习。

工作心得

1. 每一个项目在开始着手的第一步,一定要和客户把需求沟通清楚,只有了解了项目的需求,才有可能真正做好一个项目。我们需要向客户提出要求客户提供所有涉及该项目的资料,每次与客户见面都需要熟悉业务与程序的最少一至两个程序员随时记录需求。

2. 工作中,有一个无论是技术,还是经验都比较让人肯定的前辈带领,将任务详细化,详细到,每个页面、甚至是一个页面中的图片什么时候做好,做到什么程度,这样把工作进度有计划有方向的赞定下来,做事很有效率。所以希望高总多给予我们一些指导。

3. 每周的工作小结真的很重要,这让我们每天都有计划的知道自己干了什么,不是漫无目的的工作,所以我们应该养成,周记、月记、年记的工作习惯。

4. 工作并不是一成不变的,也许有一天你要去其他岗位帮忙,所以同事之间的技术要互相学习,也许有一天,公司需要你发挥其他的技能帮忙,所以互相学习也是很重要的。自己的工作不能仅仅局限于自己的业务范畴。

工作计划

1. 要提高工作的主动性,做事干脆果断,不拖泥带水。

2.工作要注重实效、注重结果,一切工作围绕着目标的完成。

3. 要提高大局观,是否能让其他人的工作更顺畅作为衡量工作的标尺。

4. 精细化工作方式的思考和实践。

5. 虚心请教比我做的优秀的其他同事,向他们学习技术或经验。 其实作为一个新员工,所有的地方都是需要学习的,多听、多看、多想、多做、多沟通,向每一个员工学习他们身上的优秀工作习惯,丰富的专业技能,配合着实际工作不断的进步,不论在什么环境下,我都相信这两点:一是三人行必有我师,二是天道酬勤。

在参加工作的这短短的八个月中,我深刻的体会到,把自己所有的精力都投入进去,技术工作都不可能做到完美程度,毕竟技术工作太繁杂,项目多而人手少,但多付出一些,工作就会优化一些,这就需要认认真真沉下心去做事情,职业做事,诚信待人。

程序员年终工作总结【篇11】

先自我简介一下,本人从事asp开发进一年,0xx届毕业生,08年11月开始上班,之前做asp,09年2月后开始做asp,由于公司转型,现在带十几个人在一起搞asp开发,主要是关于准金融行业的行业管理软件。年度总结在会议上也写了,但仅限于对于工作总结及20xx年工作计划,自我总结较少,因此今天专门做下自我的年度总结,主要从技术、管理、人生上面谈谈这一年的收获,前辈路过欢迎多多指正。

技术

我在学校里学的是电气自动化,程序基础仅限于c基础课程的一些知识,后来由vb、html转向asp,在asp上花费了不少时间,对asp比较熟悉,后来由于公司业务需要,将开发平台转向asp,开始对asp不是很感冒,以为就是asp的一点扩展(那时还不知道三层架构,数据数据访问全在页面里——!),后来招来几个北大青鸟的过来终于意识到asp的强大之处,经过个人的努力已经逐步掌握了asp,现在层次上只能讲个人觉得是入门而已,原因是多方面的,待会儿会讲到。

相信从面向过程转向面向对象的同学都有一种感觉:面向对象开始真的有点别扭,涉及到属性,尤其是类之间的各种关系,那时老想用面向过程传递参数多方面啊。于是老在想对象这种东西,从概念中跳中来,以自己的方式去理解才逐渐体会到页面对象的精华来,分层次展现、分级别访问、封装对象之间各种关系逐渐真正理解了,尤其是对象之间的关系,如对象a与对象b两者之间的关系,有些需要完全公开,有些需要隐藏,有些需要通过第三方传递,有些需要给自己的下级可见,有些需要让下级去完成具体操作——这不是现实的实际模型吗?应该这么理解,面向对象来源于现实,它不是一种凭空空想出来的理论,这些对象之间的关系可以将其还原为父子、夫妻、领导下属、同事、朋友之间的关系。LocalhOsT相比之下,页面过程往往像是一股脑全部推给用户使用,其中的数据与数据访问方法层次不清晰,在模拟现实上它与面向对象相比更易于入门理解,实质上难于准确直接地表述。

面向对象上另一方面是它的设计模式,在之前的面向过程中对这个设计模式并没有清晰地提出来,面向过程优秀的代码要求高内聚低耦合,从个人的理解上,这仅是对软件开发方法“技”上理论总结;设计模式是达到了“道”的层次,因为它从更大的方向、更抽象的层次来去表述具体的代码模块之间的关系,可以认为设计模式是完全从实际的应用来不断总结得来的经验,之间并没有这种术语,但相信前人肯定也使用到这种思想,它从实际应用于来,当然要应用于实际工作中,认真思考不断总结每个人都会有自己的“设计模式”,可以借鉴前人的思想来去提升自己,不可去为“设计模式”而设计模式。

具体到asp的实现模型中,真正理解它的机制与方法也就不难理解,记住b/s中离不开post或get,所有的autopostback、selectedindexchanged……都是去调用form传值,加上runat=server的服务器控件打开它生成的源文件也是普通的html标签,微软的让软件开发更容易的思路是很好的,时代在前进,很多年前你使用c写出mis证明你很牛,很多年之后你不在使用c去写“学生管理系统”、“图书馆管理系统”那只能说明你的脑子少一根筋,开发语言都有长处与不足的地方,因为它们适用的场合不同,类似不能拿匕首去跟炮弹比,也不能拿c与php比,程序员都有一种偏执的心理,但一点要记住,你面对的用户才有最终发言权,程序能不能满足需要,易用性、稳定性、成本才是应当首先放到重要位置来去谈的。

管理

最开始担任管理一职时开发团队加我在内只有四个人,那时只是抱着接受挑战的心理去做管理,加上我本人比较重感情,团队之间关系相处都不错,但严重的问题逐渐显露出来:工作的随意性、团队精神薄弱、工作方式蛮干,印象深刻的是有几个开始项目不能完工,于是最后天天加班,一直做到早上6点,睡一会7点半接着上班,几个同事都是年龄差不多的小伙子,干劲十足。后来随着时间的推进,问题越来越摆在眼前:项目迟迟不能完工,又由于公司待遇方面让新员工感觉不值得,于是形成了老板抱怨员工也抱怨的状况,我在中间两点都要去“消火”,这期间是我们部门相对最累的时间但也是相对感觉最充实的时候,后来,之前的员工跟我说“再也找不到那种感觉了”,这是我能想像的。这期间主要是老总对我十分信任,工作上主要是管理方法上对我指点了不少。后来我逐步体会到,管理应该是“大家定规则去遵守”,而不应该是“人管人”。

人管人很容易陷入一个误区:领导去时时刻刻关注每个员工,这样最后往往后造成员工对领导的敷衍了事,管理松了员工会责任下下降,管理紧了造成员工与领导关系紧张,另一方面领导时间精力有限必然耗费大量的精力在日常的监督中而不能投入到全局的管理中。

于是“定制度-定分工-定进度”,明确日常所有的规章制度,这期间除了公司主要的工作规章制度外其他的日常工作纪律、日常管理等规章制度都是我本人制订,然后征求大家意见最后去贯彻执行。中间也遇到了不少问题,比如开始我们内部是允许使用qq的,后来员工用qq闲聊的时间增多,大大影响了工作效率,最后决心禁止,开始阻力较大(貌似程序员都喜欢挂上几个qq去到群里搞个群主,虽然群里大多都是菜鸟),最后多次开会,逐个谈话,阐明道理,形势逐渐好转。

项目分工上针对技术水平明确分工,制订项目开发计划,由于开始技术都不是很成熟,不少时间我这边强势要求,使用野蛮方法,完不成加班——我陪着加班,这段时间能感觉到员工对我稍有怨言但总体还是认可的。

程序员年终工作总结【篇12】

数据存储(★★)

1、IOS中常用的数据存储方式有哪些?

答:1.数据存储有四种方案,NSUserDefault,KeyChain,File,其中File有三种方式:plist,Archiver,Stream 包括core Data和FMDB

2、说一说你对sqlite的认识

SQLite是目前主流的嵌入式关系型数据库,其最主要的特点就是轻量级、跨平台,当前很多嵌入式操作系统都将其作为数据库首选。虽然SQLite是一款轻型数据库,但是其功能也绝不亚于很多大型关系数据库。学习数据库就要学习其相关的定义、操作、查询语言,也就是大家日常说得SQL语句。和其他数据库相比,SQLite中的SQL语法并没有太大的差别,因此这里对于SQL语句的内容不会过多赘述,大家可以参考SQLite中其他SQL相关的内容,这里还是重点讲解iOS中如何使用SQLite构建应用程序。先看一下SQLite数据库的几个特点:

1.基于C语言开发的轻型数据库

2.在iOS中需要使用C语言语法进行数据库操作、访问(无法使用ObjC直接访问,因为libqlite3框架基于C语言编写)

中采用的是动态数据类型,即使创建时定义了一种类型,在实际操作时也可以存储其他类型,但是推荐建库时使用合适的类型(特别是应用需要考虑跨平台的情况时)

4.建立连接后通常不需要关闭连接(尽管可以手动关闭)

在iOS中操作SQLite数据库可以分为以下几步(注意先在项目中导入libsqlite3框架):

1.打开数据库,利用sqlite3_open()打开数据库会指定一个数据库文件保存路径,如果文件存在则直接打开,否则创建并打开。打开数据库会得到一个sqlite3类型的对象,后面需要借助这个对象进行其他操作。

2.执行SQL语句,执行SQL语句又包括有返回值的语句和无返回值语句。 3.对于无返回值的语句(如增加、删除、修改等)直接通过sqlite3_exec()函数执行;

4.对于有返回值的语句则首先通过sqlite3_prepare_v2()进行sql语句评估(语法检测),然后通过sqlite3_step()依次取出查询结果的每一行数据,对于每行数据都可以通过对应的sqlite3_column_类型()方法获得对应列的数据,如此反复循环直到遍历完成。当然,最后需要释放句柄。

3、说一说你对FMDB的认识

FMDB是一个处理数据存储的第三方框架,框架是对sqlite的封装,整个框架非常轻量级但又不失灵活性,而且更加面向对象。FMDB有如下几个特性:

既然是对于libsqlite3框架的封装,自然使用起来也是类似的,使用前也要打开一个数据库,这个数据库文件存在则直接打开否则会创建并打开。这里FMDB引入了一个MFDatabase对象来表示数据库,打开数据库和后面的数据库操作全部依

赖此对象。

2.对于数据库的操作跟前面KCDbManager的封装是类似的,在FMDB中FMDatabase类提供了两个方法executeUpdate:和executeQuery:分别用于执行无返回结果的查询和有返回结果的查询。当然这两个方法有很多的重载这里就不详细解释了。唯一需要指出的是,如果调用有格式化参数的sql语句时,格式化符号使用“?”而不是“%@”、等。

3.我们知道直接使用libsqlite3进行数据库操作其实是线程不安全的,如果遇到多个线程同时操作一个表的时候可能会发生意想不到的结果。为了解决这个问题建议在多线程中使用FMDatabaseQueue对象,相比FMDatabase而言,它是线程安全的。

4.将事务放到FMDB中去说并不是因为只有FMDB才支持事务,而是因为FMDB将其封装成了几个方法来调用,不用自己写对应的sql而已。其实在在使用libsqlite3操作数据库时也是原生支持事务的(因为这里的事务是基于数据库的,FMDB还是使用的SQLite数据库),只要在执行sql语句前加上“begin transaction;”执行完之后执行“commit transaction;”或者“rollback transaction;”进行提交或回滚即可。另外在Core Data中大家也可以发现,所有的增、删、改操作之后必须调用上下文的保存方法,其实本身就提供了事务的支持,只要不调用保存方法,之前所有的操作是不会提交的。在FMDB中FMDatabase有beginTransaction、commit、rollback三个方法进行开启事务、提交事务和回滚事务。

4、说一说你对Core Data的认识

Core Data使用起来相对直接使用SQLite3的API而言更加的面向对象,操作过

程通常分为以下几个步骤:

1.创建管理上下文

创建管理上下可以细分为:加载模型文件->指定数据存储路径->创建对应数据类型的存储->创建管理对象上下方并指定存储。

经过这几个步骤之后可以得到管理对象上下文NSManagedObjectContext,以后所有的数据操作都由此对象负责。同时如果是第一次创建上下文,Core Data会自动创建存储文件(例如这里使用SQLite3存储),并且根据模型对象创建对应的表结构。

2.查询数据

对于有条件的查询,在Core Data中是通过谓词来实现的。首先创建一个请求,然后设置请求条件,最后调用上下文执行请求的方法。

3.插入数据

插入数据需要调用实体描述对象NSEntityDescription返回一个实体对象,然后设置对象属性,最后保存当前上下文即可。这里需要注意,增、删、改操作完最后必须调用管理对象上下文的保存方法,否则操作不会执行。

4.删除数据

删除数据可以直接调用管理对象上下文的deleteObject方法,删除完保存上下文即可。注意,删除数据前必须先查询到对应对象。

5.修改数据

修改数据首先也是取出对应的实体对象,然后通过修改对象的属性,最后保存上下文。

5、OC中有哪些数据存储方式,各有什么区别? OC中有四种数据存储方式: 1).NSUserDefaults,用于存储配置信息 2).SQLite,用于存储查询需求较多的数据 3).CoreData,用于规划应用中的对象

4).使用基本对象类型定制的个性化缓存方案.NSUserDefaults:对象中储存了系统中用户的配置信息,开发者可以通过这个实例对象对这些已有的信息进行修改,也可以按照自己的需求创建新的配置项。SQLite擅长处理的数据类型其实与NSUserDefaults差不多,也是基础类型的小数据,只是从组织形式上不同。开发者可以以关系型数据库的方式组织数据,使用SQL DML来管理数据。一般来说应用中的格式化的文本类数据可以存放在数据库中,尤其是类似聊天记录、Timeline等这些具有条件查询和排序需求的数据。CoreData是一个管理方案,它的持久化可以通过SQLite、XML或二进制文件储存。它可以把整个应用中的对象建模并进行自动化的管理。从归档文件还原模型时CoreData并不是一次性把整个模型中的所有数据都载入内存,而是根据运行时状态,把被调用到的对象实例载入内存。框架会自动控制这个过程,从而达到控制内存消耗,避免浪费。无论从设计原理还是使用方法上看,CoreData都比较复杂。因此,如果仅仅是考虑缓存数据这个需求,CoreData绝对不是一个优选方案。CoreData的使用场景在于:整个应用使用CoreData规划,把应用内的数据通过CoreData建模,完全基于CoreData架构应用。使用基本对象类型定制的个性化缓存方案:从需求出发分析缓存数据有哪些要求:按Key查找,快速读取,写入不影响正常操作,不浪费内存,支持归档。这些都是基本需求,那么再进一步或许还需要固定缓存项数量,支持队列缓存,缓存过期等。

数据存储这一块,面试常问, 你常用哪一种数据存储?什么是序列化?sqlite是直接用它还是用封装了它的第三方库?尤其是会问sqlite和core data的区别?

5、IOS平台怎么做数据的持久化?coredata和sqlite有无必然联系?coredata是一个关系型数据库吗?

iOS中可以有四种持久化数据的方式: 属性列表、对象归档、SQLite3和Core Data coredata可以使你以图形界面的方式快速的定义app的数据模型,同时在你的代码中容易获取到它。coredata提供了基础结构去处理常用的功能,例如保存,恢复,撤销和重做,允许你在app中继续创建新的任务。在使用coredata的时候,你不用安装额外的数据库系统,因为coredata使用内置的sqlite数据库。coredata将你app的模型层放入到一组定义在内存中的数据对象。coredata会追踪这些对象的改变,同时可以根据需要做相应的改变,例如用户执行撤销命令。当coredata在对你app数据的改变进行保存的时候,core data会把这些数据归档,并永久性保存。mac os x中sqlite库,它是一个轻量级功能强大的关系数据引擎,也很容易嵌入到应用程序。可以在多个平台使用,sqlite是一个轻量级的嵌入式sql数据库编程。与coredata框架不同的是,sqlite是使用程序式的,sql的主要的API来直接操作数据表。Core Data不是一个关系型数据库,也不是关系型数据库管理系统(RDBMS)。虽然Core Dta支持SQLite作为一种存储类型, 但它不能使用任意的SQLite数据库。Core Data在使用的过程种自己创建这个数据库。Core Data支持对

一、对多的关系。

6、如果后期需要增加数据库中的字段怎么实现,如果不使用CoreData呢?

编写SQL语句来操作原来表中的字段 增加表字段

ALTER TABLE 表名 ADD COLUMN 字段名字段类型;? 删除表字段

ALTER TABLE 表名 DROP COLUMN 字段名;

.修改表字段

ALTER TABLE 表名 RENAME COLUMN 旧字段名 TO 新字段名;

7、SQLite数据存储是怎么用?

添加SQLite动态库:

导入主头文件:#import 利用C语言函数创建打开数据库,编写SQL语句

8、简单描述下客户端的缓存机制?

1>缓存可以分为:内存数据缓存、数据库缓存、文件缓存 2>每次想获取数据的时候 3>先检测内存中有无缓存

4>再检测本地有无缓存(数据库文件)5>最终发送网络请求

6>将服务器返回的网络数据进行缓存(内存、数据库、文件),以便下次读取

9、你实现过多线程的Core Data么?NSPersistentStoreCoordinator,NSManagedObjectContext和NSManagedObject中的哪些需要在线程中创建或者传递?你是用什么样的策略来实现的?

1>CoreData是对SQLite数据库的封装

2>CoreData中的NSManagedObjectContext在多线程中不安全

3>如果想要多线程访问CoreData的话,最好的方法是一个线程一个NSManagedObjectContext 4>每个NSManagedObjectContext对象实例都可以使用同一个NSPersistentStoreCoordinator实例,这是因为NSManagedObjectContext会在便用NSPersistentStoreCoordinator前上锁

10、core data数据迁移

博客地址: : 320x480、iPhone 4 640x960、iPad 768x1024。以前程序的启动画面(图片)只要准备一个 就可以了,但是现在变得复杂多了。下面就是 CocoaChina 会员做得总结

如果一个程序,既支持iPhone又支持iPad,那么它需要包含下面几个图片: iPad专用竖向启动画面 768x1024或者768x1004 iPad专用横向启动画面 1024x768或者1024x748 iPad专用竖向启动画面(Home按钮在屏幕上面),可省略 768x1024或者768x1004 iPad专用横向启动画面,可省略 1024x768或者1024x748 iPad专用横向启动画面,可省略 1024x768或者1024x748 iPhone默认启动图片,如果没有提供上面几个iPad专用启动图片,则在iPad上运行时也使用(不推荐)320x480或者320x460 Default@ iPhone4启动图片640x960或者640x920 为了在iPad上使用上述的启动画面,你还需要在中加入key: UISupportedInterfaceOrientations。同时,加入值UIInterfaceOrientationPortrait, UIInterfacOrientationPortraitUpsideDown, UIInterfaceOrientationLandscapeLeft, UIInterfaceOrientationLandscapeRight

17、ASIHTTPRequest实现断点下载

-(IBAction)URLFetchWithProgre:(id)sender { [startButton setTitle:@"Stop" forState:UIControlStateNormal];[startButton addTarget:self action:@selector(stopURLFetchWithProgre:)forControlEvents:UIControlEventTouchUpInside];NSString*tempFile = [[[[NSBundle mainBundle] bundlePath]stringByDeletingLastPathComponent]stringByAppendingPathComponent:@"MemexTrails_"];if([[NSFileManager defaultManager] fileExistsAtPath:tempFile]){ [[NSFileManager defaultManager] removeItemAtPath:tempFile error:nil];} [self resumeURLFetchWithProgre:self];}(IBAction)resumeURLFetchWithProgre:(id)sender { [resumeButton setEnabled:NO];[startButton setTitle:@"Start" forState:UIControlStateNormal];[startButton addTarget:self action:@selector(stopURLFetchWithProgre:)forControlEvents:UIControlEventTouchUpInside];[networkQueue cancelAllOperations];[networkQueue setShowAccurateProgre:YES];[networkQueue setDownloadProgreDelegate:progreIndicator];[networkQueue setDelegate:self];[networkQueue setRequestDidFinishSelector:@selector(URLFetchWithProgreComplete:)];ASIHTTPRequest*request=[[[ASIHTTPRequest alloc] initWithURL:[NSURLURLWithString:@" autorelease];[request setDownloadDestinationPath:[[[[NSBundle mainBundle] bundlePath] stringByDeletingLastPathComponent] stringByAppendingPathComponent:@"MemexTrails_"]];[request setTemporaryFileDownloadPath:[[[[NSBundle mainBundle] bundlePath]stringByDeletingLastPathComponent]stringByAppendingPathComponent:@"MemexTrails_"]];[request setAllowResumeForFileDownloads:YES];[networkQueue addOperation:request];

}(IBAction)throttleBandwidth:(id)sender { if([(UIButton *)sender state] ==YES){ [ASIHTTPRequest setMaxBandwidthPerSecond:ASIWWANBandwidthThrottleAmount];} else { [ASIHTTPRequest setMaxBandwidthPerSecond:];} }

18、Safari 启动本地app

在plist文件中加入URL types 结构如下图,在Safari中地址栏输入 设置的字符串,比如设置的是

QQ,地址栏输入 就可以起点本地应用。

19、拖到视频进度与滑动手势冲突解决办法

#pragma system */ } else if(floor(NSAppKitVersionNumber)

? ? } else { /* or later system */ } 跟以上一样在 中用定义了NSFoundationVersionNumber全局常量 小结:详解IOS SDK兼容性引导的内容介绍玩玩了,希望通过本文的学习能对你有所帮助!原文地址: 与 NSString 转换

1、将字符串 “Fri Nov 11 09:06:27 +0800 2011” 转换成Date: NSDateFormatter *format = [[NSDateFormatter alloc] init];NSLocale *enLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"en-US"];[format setLocale:enLocale];[enLocale release];[format setDateFormat:@"EEE MMM dd HH:mm: ZZZ yyyy"];NSDate *dateTime = [format dateFromString:meage];

将Date转换成字符串: NSDate *date = [NSDate date];NSString * dateString = [format stringFromDate:date];//字符串转换成NSDate 需要设置NSLocale 否则真机上会失败。

2、获取当前时间,转化成字符串

NSDateFormatter * formatter = [[NSDateFormatteralloc]init]; = NSDateFormatterMediumStyle; = NSDateFormatterMediumStyle; = [NSLocalecurrentLocale]; = [formatterstringFromDate:[NSDatedate]];

3、获取月、日、年、时、分、秒

NSDateFormatter *formatter =[[[NSDateFormatteralloc] init] autorelease]; = NSDateFormatterMediumStyle; = NSDateFormatterMediumStyle; = [NSLocalecurrentLocale];

NSDate *date = [NSDatedate];

[formatter setTimeStyle:NSDateFormatterMediumStyle];NSCalendar *calendar = [[[NSCalendaralloc] initWithCalendarIdentifier:NSGregorianCalendar]autorelease];NSDateComponents *comps = [[[NSDateComponentsalloc] init] autorelease];NSInteger unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit | NSWeekdayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;//int week=0;comps = [calendar components:unitFlags fromDate:date];int week = [comps weekday];int year=[comps year];int month = [comps month];int day = [comps day];[formatter setDateStyle:NSDateFormatterMediumStyle];// //This sets the label with the updated hour = [comps hour];int min = [comps minute];int sec = [comps second];

NSLog(@"day%d",day);NSLog(@"hour%d",hour);NSLog(@"min%d",min);NSLog(@"sec%d",sec);

27、数组中存储数据查询

NSMutableDictionary *userDic1 = [NSMutableDictionary dictionaryWithCapacity:10];NSMutableDictionary *userDic2 = [NSMutableDictionary dictionaryWithCapacity:10];[userDic1 setValue:@"Li" forKey:@"name"];

NSArray *userArray = [NSArray arrayWithObjects:userDic1,userDic2,nil];NSPredicate *namePredicate = [NSPredicate predicateWithFormat:@" contains[cd] %@ ",@"L"];

NSMutableArray *searchArray = [NSMutableArray arrayWithArray:[userArray filteredArrayUsingPredicate:namePredicate]];

NSLog(@"searchArray == %@",searchArray);

28、CoreText 总结

(1)NSAttributedString NSAttributedString 可以将一段文字中的部分文字设置单独的字体和颜色。与UITouch结合可以实现点击不同文字触发不同事件的交互功能。主要方法:

-(void)addAttribute:(NSString *)name value:(id)value range:(NSRange)range;可以设置某段文字的字体名称,颜色,下滑线等信息。

-(void)removeAttribute:(NSString *)name range:(NSRange)range;移除之前设置的字体属性值。

-(void)addAttributes:(NSDictionary *)attrs range:(NSRange)range;存储某段文字包含的信息(包括字体属性或其它,也可以存储一些自定义的信息)-(NSDictionary *)attributesAtIndex:(NSUInteger)location effectiveRange:(NSRangePointer)range;通过location来获取某段文字中之前存储的信息NSDictionary

//设置字体

CTFontRef aFont = CTFontCreateWithName((CFStringRef), , NULL);if(!aFont)return;CTFontRef newFont = CTFontCreateCopyWithSymbolicTraits(aFont, , NULL, kCTFontItalicTrait, kCTFontBoldTrait);//将默认黑体字设置为其它字体 [self removeAttribute:(NSString*)kCTFontAttributeName range:textRange];[self addAttribute:(NSString*)kCTFontAttributeName value:(id)newFont range:textRange];CFRelease(aFont);CFRelease(newFont);

//设置字体颜色

[self removeAttribute:(NSString*)kCTForegroundColorAttributeName range:textRange];[self addAttribute:(NSString*)kCTForegroundColorAttributeName value:(id) range:textRange];

//设置对齐 换行

CTTextAlignment coreTextAlign = kCTLeftTextAlignment;CTLineBreakMode coreTextLBMode = kCTLineBreakByCharWrapping;CTParagraphStyleSetting paraStyles[2] = { {.spec = kCTParagraphStyleSpecifierAlignment,.valueSize = sizeof(CTTextAlignment),.value =(const void*)&coreTextAlign}, {.spec = kCTParagraphStyleSpecifierLineBreakMode,.valueSize = sizeof(CTLineBreakMode),.value =(const void*)&coreTextLBMode}, };CTParagraphStyleRef aStyle = CTParagraphStyleCreate(paraStyles, 2);[self removeAttribute:(NSString*)kCTParagraphStyleAttributeName range:textRange];[self addAttribute:(NSString*)kCTParagraphStyleAttributeName value:(id)aStyle range:textRange];CFRelease(aStyle);

(2)Draw NSAttributedString

CGContextRef cgc = UIGraphicsGetCurrentContext();CGContextSaveGState(cgc);

//图像方向转换

CGContextConcatCTM(cgc, CGAffineTransformScale(CGAffineTransformMakeTranslation(0, ), ,-));

CTFramesetterRef framesetter = CTFramesetterCreateWithAttributedString((CFAttributedStringRef)weiBoText);

CGMutablePathRef path = CGPathCreateMutable();CGPathAddRect(path, NULL, drawingRect);textFrame = CTFramesetterCreateFrame(framesetter,CFRangeMake(0,0), path, NULL);CGPathRelease(path);CFRelease(framesetter);

CTFrameDraw(textFrame, cgc);CGContextRestoreGState(cgc);(3)图文混排

CTFrameRef textFrame // coreText 的 frame CTLineRef line // coreText 的 line CTRunRef run // line 中的部分文字 相关方法:

CFArrayRef CTFrameGetLines(CTFrameRef frame)//获取包含CTLineRef的数组 void CTFrameGetLineOrigins(CTFrameRef frame, CFRange range, CGPoint origins[])//获取所有CTLineRef的原点

CFRange CTLineGetStringRange(CTLineRef line)//获取line中文字在整段文字中的Range CFArrayRef CTLineGetGlyphRuns(CTLineRef line)//获取line中包含所有run的数组 CFRange CTRunGetStringRange(CTRunRef run)//获取run在整段文字中的Range CFIndex CTLineGetStringIndexForPosition(CTLineRef line, CGPoint position)//获取点击处position文字在整段文字中的index CGFloat CTLineGetOffsetForStringIndex(CTLineRef line, CFIndex charIndex, CGFloat* secondaryOffset)//获取整段文字中charIndex位置的字符相对line的原点的x值 主要步骤:

1)计算并存储文字中保含的所有表情文字及其Range 2)替换表情文字为指定宽度的NSAttributedString

= kCTRunDelegateVersion1; = ascentCallback; = descentCallback; = widthCallback; = deallocCallback;

CTRunDelegateRef runDelegate = CTRunDelegateCreate(&callbacks, NULL);NSDictionary *attrDictionaryDelegate = [NSDictionary dictionaryWithObjectsAndKeys:(id)runDelegate,(NSString*)kCTRunDelegateAttributeName, [UIColor clearColor].CGColor,(NSString*)kCTForegroundColorAttributeName, nil];

NSAttributedString *faceAttributedString = [[NSAttributedString alloc] initWithString:@"*" attributes:attrDictionaryDelegate];

[weiBoText replaceCharactersInRange:faceRange withAttributedString:faceAttributedString];[faceAttributedString release];3)根据保存的表情文字的Range计算表情图片的Frame textFrame 通过CTFrameGetLines 获取所有line的数组 lineArray 遍历lineArray中的line通过CTLineGetGlyphRuns获取line中包含run的数组 runArray 遍历runArray中的run 通过CTRunGetStringRange获取run的Range 判断表情文字的location是否在run的Range 如果在 通过CTLineGetOffsetForStringIndex获取x的值 y的值为line原点的值 4)Draw表情图片到计算获取到的Frame

(3)点击文字触发事件

主要步骤:

1)根据touch事件获取点point 2)textFrame 通过CTFrameGetLineOrigins获取所有line的原点 3)比较point和line原点的y值获取点击处于哪个line 4)line、point 通过CTLineGetStringIndexForPosition获取到点击字符在整段文字中的 index

5)NSAttributedString 通过index 用方法-(NSDictionary *)attributesAtIndex:(NSUInteger)location effectiveRange:(NSRangePointer)range 可以获取到点击到的NSAttributedString中存储的NSDictionary 6)通过NSDictionary中存储的信息判断点击的哪种文字类型分别处理

程序员年终工作总结【篇13】

通过今年的实践和学习,明年是一个新的开始,立足当前的优缺,肩负起一个软件工程师应有的工作和性质。希望为公司明年的发展尽最大的努力,也希望自己明年有更大的收获。明年计划在以下几方面有所突破,有所建树:

一、在编程语言掌握方面,达到本公司的编程思想—不被语言所束缚。在这方面伍经理是我的榜样,积极努力的提高自身的技术水平,真正做到不被语言所束缚。

二、数据库方面,在当前已有的基础上提升自己,明年自己给自己定的目标是,能非常合理的去使用数据库各类技术,掌握更多的数据库优化思想和技术点。有时间多向许总交流。

三、加强软件开发的辅助性知识使用和积累。针对当前软件开发中的一些情况,明年更加积极的学习Javascrip、Aja和Fle等技术。能辅助性的把软件做的更好。

四、工作质量上,现在编程我是属于会写会编和局部效率,并不是全局的效率,明年一定要做到,编一个高效率的代码。这就要综合上面的三点,才能使其达到全局的高效。

上一篇:小蜻蜓作文

下一篇:这微笑这鼓励作文

【程序员年终工作总结(十三篇)】相关推荐
程序员述职八篇

大家都有不同的个性,有个性的人会使用独属于自己的个性签名,个性的句子有很多种类别,你知道经典的个性句子有哪些吗?为了帮助大家,下面是由小编为大家整理的程序员述职八篇,仅供参考,欢迎大家阅读。来公司担负法度模范员一职已一年多光阴,在这20--年的光阴里,我学到了许多器械。每个人都是在总结中发展,在审视...

销售员个人年终工作总结(十三篇)

怡心句子网为您准备了多篇涉及“销售员个人年终工作总结”的文章,时光如流水般匆匆流逝,今年的工作已经结束。现在是时候总结一下我的经验和教训了,编写一份出色的工作总结对于提高我们的沟通和协调效能大有裨益。那么,我们应该从哪几个方面着手写岗位年度工作总结才更好呢?希望本文能给您带来一些惊喜收获!...