学习之路

  我们的学习观念很重要,良好的观念可以让你越学越带劲,反之可能会让负面情绪影响你的判断。看完《怎样完成自己的博士生涯》一文,觉得我们可以从作者(一名北大博士生)身上学到很多闪光点。非常感谢作者用心地分享,以下为总结:

1.了解一个领域后,你要判断这方向是否与你的性格相符。

2.一名优秀的学生是乐于并擅于分享的,尽力帮助别人。

3.有些技术细节没看懂,可找师长谈论,甚至直接发邮件给原作者。"别害怕和人交流,听君一席话,胜读十年书"。

4.不敢尝试比失败更可怕,求学过程给我们那么多时间,就是让你去犯错的,不断地从错误中学到东西。

5.找比你更懂的人交流(网络文献、资料),并把资源备份,不断从里面挖出细节。

6.要有自己的想法并付诸实践,不管成功与否,这个过程产生的效应对你今后都是有益的。

7.“交流比埋头苦干更重要”,拥有一个志同道合的圈子,会让你们的交流变得更有意义。

  作用:1.可以更容易地帮你解决难以察觉的问题,避免冥思苦想却总是陷入死胡同;

     2.多与人交流,哪怕有一句话被长久记入心中,也可能在未来的某一天给你带来效益。

8.“知识是学不完的,人的智慧毕竟有限,和其他人交流,就可能产生一加一大于二的效果。”

9.有些事你不去做就永远很难,不要抱怨你现在的忙碌。多参加一些交流会,多引导学弟学妹,拓展视野、提升自己的同时又可以相互学习。

10.“当你发现自己陷入痛苦和抑郁中,身心疲惫每况愈下时,停下手中的工作,改变自己的状态,去寻找帮助。”

11.取得成就不要骄傲,人要怀有紧迫感,才能逼着自己继续努力。许多名师都特别谦虚,他们时刻怀着向你、向世界学习的心。

12.谦虚让你待人友好,又对所有知识不含偏见。我们没有什么了不起的,不忘与人(师友)联系,虚心无偏见地做好自己。

推荐可看:http://blog.sciencenet.cn/blog-80023-893754.html

************************************************************************************************************************************

  现如今,我们每天都能接收到庞大的信息量,能观览这些“好文”貌似是幸福的,但量多并不能衡量我们学习上的提升,面对过于零碎不够系统的信息,我们该如何过滤掉“垃圾”信息?把有用的记录下来并加以概括,一则加深印象,及时吸收营养;二则方便日后温故知新;三则分享给周边的朋友,共同进步。督促自己的同时,又可以帮助别人,岂不美哉?

职业生涯规划:(software engineer)

“一个致力于不断学习的人不仅能让自己迈向成功,还能影响到周围的人,使他们一同迈向成功。”

  1.明确的职业目标

    想在软件开发领域获得真正的成功,就必须知道何去何从。现在,花些时间规划职业并确定最近目标,达成后,再选一新目标。可把目标写下来,放在每天可以看到的地方。

  2.重视“软技能”或非技术的东西

    编写代码不是工作的全部。我们需长期与人打交道,得学为人处世;软件开发需求不断更替,得学心态与注意力的调整;工作上有许多事处理,得对事情划分优先级;最重要的是身体锻炼。

  3.融入社区生活

    大牛们会在博客、论坛上写精辟的文章并解答大家的问题,融入社区可找到归属感不再孤独,也可帮助改进自身技能,向着更高方向发展。当你学会分享,把自己所知所想写出来的时候,就真正融入了社区生活。

  4.有专长

    术业有专攻。选择一项想要专攻的技能并努力磨练它,但在培养一技之长的早期最好不要放弃对其它技术的基本理解而一味专研某项技术。专长可满足更高级的需求,对业界认可你是很有帮助的。同时衡量好度,过度投入会浪费太多精力和时间,凡是七分即可。

  5.个人品牌价值

    在业界有良好声誉,就不用担心失业。可投资时间与精力来打造个人品牌,选择自己的专长或有深度了解的领域作为提高影响力的跳板,可通过创建对别人有帮助的文章,一步步把自己的名字做成行业的金字招牌。

    6.合理使用业余时间

    在工作之余,找些项目练手。一则有效改进专业技能;二则有助于新技术、技巧的学习。同时,不要忽视业余工作所带来的价值,它同样能让你充满乐趣。

  7.自我学习

    对于自我学习与成长,要有一个实际可行的计划。坚持每月读一本关于技能学习或职业发展的书,坚持每天阅读,积沙成塔。坚持下去,我们的人生境遇会发生很大改变。

 

推荐可看:http://blog.csdn.net/oexpress/article/details/45916071

************************************************************************************************************************************

20150602

嵌入式:C,汇编
web开发:绝大部分JavaScript、PHP(纯c开发)和少量ASP、JSP
高性能服务:高性能服务器和数据库,eg.Apache、Nginx、
Memcached、Redis(皆纯C开发)
分布式应用:Java、Python的天下
游戏服务器:c和lua脚本,c++做得很少
并行计算:Java、Go(c对接很方便)、Erlang
游戏引擎:c++和脚本
游戏逻辑:脚本
移动开发:Java、Obj-C/Swift
桌面开发:C++(减少趋势)、Qt+script、C#
操作系统:c的天下
虚拟技术:QEMU、KVM、Xen(皆纯C开发)
数据库:c的天下
编译器:c、c++并存
大数据:Java的天下
云存储:Java、Python包打天下(近年Go语言也参与了很多项目)

【操作系统、编译原理、数据结构和算法等基础知识是深入理解和灵活应用c的前提】

推荐可看:http://www.open-open.com/news/view/aefa16

 

20150611

我们这个职业是青春饭?非也,以下是保值的几点看法:

应用开发门槛低?就纯技术而言,人的理解与把握程度能影响效率和质量。
【不可替代性】:切忌不求甚解、似懂非懂,对一门语言的特性体察入微,对一个框架机理与应用场景独特理解+实践经验。(一句话可能为一个项目节省几个月的时间)

【高难技术】:汇编、操作系统内核、驱动等门槛较高,惟其稀缺,所以保值。

【算法】:大部分程序员其实不懂算法,算法的重要性和价值不可估量。

【业务】:选择一个靠谱、前景好的行业,持续累积,对业务理解到位,积累深厚。

【产品意识与思维】:
商业意识(能不能卖出去,好不好卖)
用户意识(从用户的角度思考设计)
because大部分程序员是按产品经理和UI设计师的要求来实现产品。
创新意识(不一定是颠覆性,把不被重视的细节做得更好,另一种理念引入到产品,不一样的感受……)
团队意识(孤胆英雄单兵作战时代已经过去)

参考:http://blog.csdn.net/foruok/article/details/46407723

 

20150611

“技术出差错是必然的,无法避免,没有Bug的代码是不存在的。”
1.公司现状:类型与成熟度。初期-人和技术占主导,发展到一定程
度才注重管理和流程。
2.好的制度可确保问题及时发现,已发现错误也能很快排查、快速解
决。
三种方式:
1)良好的架构,需求分析之后制定整体技术方案,做好规
范,明确分工和时间节点。
2)统一编码规范,目录结构、代码命名、注释全部统一。
3)【互相】查看代码。
3.工作流程、激励机制、良好的公司文化、和谐的团队气氛、可掌控的团队成员心态。


1.“拥有专业知识、不断追求上游的人,必定是严格要求自己的人。”
2.公司初期,更关注核心功能。过多考虑安全性和管理流程,大大降低效率;
发展到一定规模,完整的数据可靠性机制保障和安全防御能力(对外防御攻击,对内解决技术问题,首先得解决人的问题)
3.人才-->砖头、钢筋或构件
技术-->房子的设计
管理和流程-->水泥或泥巴
越高质量的构件、越优秀的设计,对水泥依赖反而越低。
4.电商行业,技术团队往往是焦点最后一环。管理者更多的是管事,忽略关心。所以员工的管理和关怀很很重要。

参考:http://www.haokoo.com/internet/3739806.html

 

 

苹果为什么比安卓流畅?
1.优先级:IOS最先响应屏幕,接下去响应媒体,服务,核心架构。而Android最先响应应用,再者是框架,屏幕,核心架构。
IOS的屏幕优先级为1,Android屏幕优先级为3.
2.IOS基于CPU加速:IOS对图形的特效可以由CPU渲染,加速流畅。Android需要适应不同的手机硬件(because Android不像IOS一家独大,它的生态是百家争鸣),所以图形特效很多要依靠程序本身,而非CPU。
3.开发机制:Android用效率换取跨平台,它通过JAVA虚拟机执行,占用大量内存,再加上内存自动回收机制,卡顿现象频发。iOS经优化后,不需要虚拟机插手,不存在垃圾回收问题,执行效率自然很高。
4.安卓APP无法统一:iOS走封闭路线,每个APP都是被运行在iOS产品中,拥有很高的硬件利用率。(iOS的配件供应商就几家)Android的硬件、驱动不统一,开发出来的软件质量自然不高。
如果拿旗舰Android机+专为这款旗舰产品设计的游戏,来和苹果对比的话,真的难以遇到卡顿延迟的问题。

参考:http://mobile.zol.com.cn/336/3364911_all.html

 

150626
1.注重交际
好好保持与值得认识的业界知名人士和值得深交的朋友的联系。
你是否从来不曾“出类拔萃、鹤立鸡群”。
时机和运气固然重要,然而如何抓住机遇更值思考。
“虽然现在的你们还只有20多岁,没啥话语权,但是5到10年以后,
一切将发生翻天覆地的变化,也许某个你一直忽略的家伙突然一鸣惊
人了。如果你仅仅因为他们无趣而无视他们,那么以后他们手中掌握
的重要机会也会无视你。”
2.解决问题
本质就是运用学会的知识和以前积累的经验,解决未知的事物。
3.选择
做我所爱,爱我所做,并结合前景分析。
4.少有真正创新
虽然所谓的新产品有一些创新,但通常都是早先技术的结合。
5.莫看眼前,因小失大
“能否对我的职业生涯有所帮助?” ——最需要考虑的原因。eg.大
公司难从内部展示自己的能力,机会非常有限。
6.一周工作超过40小时
将时间投资到事业上。
7.编程不难
想编程只要阅读、集中、逻辑思维即可。
碰到合作项目,编程就会变复杂。
8.学会沟通

参考:http://www.codeceo.com/article/8-programmer-career-tips.html

posted @ 2015-05-26 10:04  Nanphonfy  阅读(453)  评论(2编辑  收藏  举报