理解同步、异步、阻塞、非阻塞的概念。
Linux下的五种I/O模型:
1)阻塞I/O(blockingI/O)
2)非阻塞I/O(nonblockingI/O)
3)I/O复用(select、poll、epoll)(I/Omultiplexing)
4)信号驱动I/O(signaldrivenI/O(SIGIO))
5)异步I/O(asynchronousI/O(thePOSIXaio_functions))
前4种都是同步,只有最后一种才是异步IO。
不要去做技术上的高手,除非你的目标如此。虽然本文是关于提高软件开发知识的建议,做技术的高手是我一向都不赞同的。你可以提高自己的专业知识,但能胜任工作即止。提高软件知识和技术只是问题的表面,本质是要提高自己认识问题、分析问题、解决问题的思想高度。软件专业知识的很多方法和原理,可以很容易地延伸、应用到生活的其它方面。在能胜任工作的基础上,立即去涉猎其它领域的专业知识,丰富自己的知识体系、提高自己的综合素质,尤其是那些目标不在技术方面的朋友。
美食和地图相对应
驾校管理系统幼儿园家校互通平台基于WebSocket的跨界应用通信框架辽宁本科教学网
调试能力推荐阅读《软件调试》、《格蠹汇编:软件调试案例集锦》。重构能力推荐阅读《重构,改善既有的代码设计》架构能力推荐《架构之美》
幸运的是我个人的兴趣和工作有一定的重叠性,让我发现了一些很有趣的现象。这两年,观察了不少身边的程序技术人员,有的人感觉很有天赋,有的人感觉很努力但是总是不得门径,于是我自己思考了这个问题,是什么原因照成了这个差别?我自己得出的结论是动手能力,但是动手能力貌似更像是一种结果而不是原因,但是就如上面所说的动手就是尝试,尝试就能加深理解,所以动手能力可以加深技术人员对知识和技能的理解。但是又是什么原因促使的动手能力的发展呢,似乎是一种心理预期造成的,动手能力弱的人动手是为了解决问题,而动手能力强的人动手是为了投石探路,两者有着完全不同的心理预期,前者预期得到正确答案,后者预期验证自己的想法,前者在遭受失败后会承受更多的失望和打击,甚至更多的对耐心的消磨,后者在遭受失败后剪除错误解的路径,是一种正向的收获。我身边优秀的技术人员,往往都有一个口头禅:写个小例子试试呗或者换个方法试试。这种尝试方式让他们更加理解问题本身以及让他们靠近解决方案。而那些不得路径的技术人员则总是企图动手后马上达到自己预期的结果。
软件工程师不能只会开发软件,应该要成为这个业务领域的专家。除了可以激励你,使你更加热爱工作,更重要的是,接触这些边缘技术和方法能让你更有深度、更加优秀、更具智慧,以及更具创造力。聪明的生意人在碰到难题时,会向身边的专业软件师寻求帮助。那么,你怎么才能成为这些生意人遇到困难时首先想到的“英雄”呢?答案就是——能够解决一切可能出现的难题。
要想在公司中成为佼佼者,就必须要懂得如何将自己融入这门生意,然后创造利润。要评定自身的表现,就要看你能给你的老板创造多少商业价值。
一个人正吸着雪茄,吐着烟圈。他女朋友生气了发飙道,“你没看见包装盒上的警告么?吸烟有害健康!”那人回答道:“我是程序员。我们不关心警告,只关心错误。”栈和队列的区别是啥?吃多了拉就是队列;吃多了吐就是栈
学会总结不要自我设限胆大长期规划精通一门业务和技术
按年来划分,精通一门,然后称为业务和方案解决专家
这个阶段很多现在远程工作的朋友都经历过,就是要去不断的游击,寻找最适合自己的项目,当你坚持过几个月之后,就会发现自己的技术水平也提升了,这时你再去面试,能够展现出相当于1到2年RubyonRails工作经验的技术水平的话,还愁找不到合适的远程工作吗?汽车兵,2年义务兵+3年一级士官。这是一个与绝大多数科班程序员所不同的人生道路,甚至很多人根本无法将这两个职业联系到一起去,所以这不同的经历也塑造了我与绝大多数程序员不同的性格、思想和处事方法。“当你决定出发,最大的困难已不复存在!”
对于工作,什么叫稳定?稳定不是你在一个公司一呆就是10年,而是你今天从公司离职,明天就能找到新工作。六七十岁的自己,在自家的小庭院晒着太阳,一群子孙围着转,喝着老伴沏的茶,时不时有灵感check自己维护了大半辈子github里的代码,哪又是怎样的一种风情呢?
研究生应用
10月雁荡山2人5日游,花费2k。11月昆山旅游被偷了朋友的单反相机,赔5k。12月租房地板漏水,赔偿楼下1k。
2013.1.4
往往没前途的人才会谈前途,整天生怕别人不知道似的;真正有前途的人是从不妄谈,从不空谈
我在2011年4月毕业加入腾讯,任前端开发,四次考核中拿到三次S;上个月转为后台开发。在此之前有两份外企实习经历,做过公关(设计制作对外宣传手册,把老美的软文翻译成中文)、运维(管理内部机房,自动化部署)、用户体验设计师(nas系统的webportal设计)、内部云平台开发(基于vmware、xen、hyper-v建立公司内部云)。有效沟通。个人觉得核心的点:表述清楚,确保他人理解,得到他人反馈。提问前最需要做的,是最大限度的去理解现状。
生活职责范围
--Acontentedmindisthegreatestblessingamancanenjoyinthisworld.知足是人生在世最大的幸事。-Youneverachieverealsuccessunlessyoulikewhatyouaredoing.只有热爱你正在做的事情,你才会取得真正的成功。
--Whenyoufeeltired,it’sprobablybecauseyou’rewalkingupanupwardsslopeinyourlife.Keepgoing,andyou’llsoonrealisethatyou’vereachednewheights.感觉累的时候,也许你正处于人生的上坡路。坚持走下去,你就会发现到达了人生的另一个高度。--Ifapersonknowswhatthey’vegottolivefor,theycanendurewhateverlifethrowsintheirway.如果一个人知道他为什么而活,就可以忍受生活扔给他的一切。
一定要自信。面试的时候千万要自信,你畏畏缩缩,人家一看就知道你是一个没有激情,对工作没有热情的人,这样的人谁要?所以在面试的时候你应该坚信这份工作就是为我而准备的,我是最适合这个岗位的。同时如果红光满面,激情四射的话,面试官认为你是一个对工作、生活充满热情,满怀希望的人。
老板招了4、5个程序员、几个美工,每天忙忙碌碌赶着做项目,我刚到公司才一个多星期,就被迫不情愿的和其它的程序员一起加班,如果说加班到十一二点也还说的过去,但竟然为了追求速度,老板和经理施压,就像是'潜规则',你可以不遵守,但你也不大可能再混的下去了;我们把被子和洗漱的东西搬到公司,晚上加班到凌晨3、4点,中间如果实在太困了只能睡一会儿,这样高强度加班了至少半个月;我来回忆描述下当时加班的状况,让大家看看这所谓非自愿强迫式的加班是多么的有效率吧。
我们学习一个新东西,大致要经历这样的阶段:what(它是什么)→how(如何使用)→why(为什么要这么使用,深入了解),所以我们对技术的掌握应该不要只满足或停留于how的阶段,应该努力弄清楚why!
看完游戏引擎的书之后,把irrlicht引擎的代码看了一遍,然后自己山寨了一个3d渲染的场景管理器,还有个朴素的渲染引擎。
给自己的游戏引擎写了个基于脚本语言的解释器,为此看了不少编译原理和虚拟机的书,了解了程序究竟是什么东西,这是我觉得收益很大的一件事情。
我把学习的方向分为三类:
为了工作,满足当前工作所必备的知识
拓展视野,与当前工作无关的知识(广度)
学习(1)之后只是个熟练工,2和3才是提升自己的途径,伴随着知识储备的提升,接触新事物时更容易找到相似的知识加以类比,加快理解,也更容易掌握本质。如果每天都在纠结“到底学什么”,那么只能说明还是学的太少了。(真正没什么可学的大牛们应该不会读到这里吧……)
他曾经骑着摩托车穿越了整个加拿大,还游历了澳大利亚。和他们相处让我发现,原来信任和感情可以建立的如此之快,你唯一要做的就是用心去交流,告诉别人你真实的想法和倾听别人真实的想法。
《中国合伙人》当中所呈现的创业动力就是“人前显贵”,创业者通过来自于他人的认可获得成就感,这种动机带有一种类似“复仇”的快感:昨天你对我爱理不理,今天我让你高攀不起!不得不承认这是一种让人非常畅快淋漓的感觉。
“人前显贵”和“自我实现”的根本区别就在于衡量一个人的价值标准不同,前者的标准来自于世俗社会,而后者的标准则是由自己给自己制订。绝大多数人都无法挣脱世俗这道枷锁,这对于初阶创业者是一种动力,而对高阶创业者则是一种束缚。
目前来看,互联网婚恋网站主要是有以下几种运营模式:
1、世纪佳缘目前属于自动搜索在线联系模式:用户首先自己搜索,然后再通过线上进行联系。
2、百合网采用O2O(线上实名注册+线下红娘)模式,搭配独有的“心灵匹配测评系统”。
5、红娘网怎是更偏重于线下活动,举办一些线下相亲、电视相亲的全国海选、旅游相亲和企业联谊等活动来进行运作。