V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
iOS 开发实用技术导航
NSHipster 中文版
http://nshipster.cn/
cocos2d 开源 2D 游戏引擎
http://www.cocos2d-iphone.org/
CocoaPods
http://cocoapods.org/
Google Analytics for Mobile 统计解决方案
http://code.google.com/mobile/analytics/
WWDC
https://developer.apple.com/wwdc/
Design Guides and Resources
https://developer.apple.com/design/
Transcripts of WWDC sessions
http://asciiwwdc.com
Cocoa with Love
http://cocoawithlove.com/
Cocoa Dev Central
http://cocoadevcentral.com/
NSHipster
http://nshipster.com/
Style Guides
Google Objective-C Style Guide
NYTimes Objective-C Style Guide
Useful Tools and Services
Charles Web Debugging Proxy
Smore
cralison
V2EX  ›  iDev

技术学习总原则

  •  
  •   cralison · 2015-08-24 05:51:26 +08:00 · 1753 次点击
    这是一个创建于 3378 天前的主题,其中的信息可能已经有所发展或是发生改变。

    学更少,做更多。别再犹豫,去深钻!

    觉得我水平低,没时间听我废话的人,直接看 @xiaotie 兄的原博文:

    只学一点点:我的技术学习策略

    http://www.cnblogs.com/xiaotie/archive/2011/12/10/2283384.html

    支点:技术选择的精髓

    http://www.cnblogs.com/xiaotie/archive/2012/02/23/2364966.html

    裘千丈还是裘三尺——用挖矿的比喻说平台与门槛

    http://www.cnblogs.com/xiaotie/archive/2012/11/28/2792665.html

    像这样玩 C#

    http://www.cnblogs.com/xiaotie/archive/2012/06/12/2546009.html

    C# 指针之美

    http://www.cnblogs.com/xiaotie/archive/2012/07/06/2579853.html

    上帝的玩偶: haXe 语言

    http://www.cnblogs.com/xiaotie/archive/2012/04/19/2456447.html

    什么是闭包,我的理解

    http://www.cnblogs.com/xiaotie/archive/2011/08/03/2126145.html

    下面,我给大家叨叨:)

    如果做 10 件事,只需要学 1 个,或 2 、 3 个,是你在玩程序。

    如果做 10 件事,要学 10 个,甚至是 100 个,是程序在玩你。

    知道 A 做 1 最好, B 做 2 最好, C 做 3 最好,当然也是本事。

    知道怎么用 A 来把 1 、 2 、 3 的事都做了,是更大的本事。

    技术学习,是技术人生涯的泥潭。无数次,我们都听说, 30 岁后不能只干技术了, 35 岁后不能再碰技术了, 40 岁后没人要你做技术了。

    之所以业界这样的风气吹之不散,有它现实的一面。业界几大厂商,为保自己阵地,每年都推一大堆只有他们自家才会去推广的东西出来。

    技术人,有一个梦想,如果这帮混蛋能好好地统一定一套编程语言、一个 IDE 、一套类库、一个发布平台,这个世界就不会那么残酷了。这个梦想,也只能留到技术人加班到累趴在电脑前,睡梦中才有可能实现了。混蛋们,会永远这样混蛋下去。

    作为技术人,如果我们选择跟着群魔乱舞,只能比行业死得更快。而有些大牛同行,用一堆刚出来都还没放凉的东西,再组一堆新东西出来。这时候,我只想感慨:同是技术人,一人留一线,日后好想见。

    人的时间精力都有限,这堆东西,就像创业公司公司一样,能活个 2 、 3 年就已经算奇迹了。如果我们的时间精力都投放到这些“快消食品”,总有一天会把我们自己给吃垮的。

    这个年代,不会因为你少吃什么而饿死,只会因为你多吃什么而撑死。

    怎么办呢?

    技术不是技术,技术是解决问题的工具。

    技术不是技术,技术是解决思路的载体。

    技术不是技术,技术是快乐生活的助力。

    让我们回到技术的本质上:解决问题。

    回到问题本身,从问题重新出发。问:解决这个问题,用哪些最少的技术就可以了?

    不要提前完善解决方案,尽量少做,尽量只做刚刚好能解决问题的方案。因为,越完善就越复杂,越复杂就越难维护。一个刚好够用的方案,把问题解决了,它就是了了。如果用一个复杂的完善方案解决问题,因为复杂,它后面可能引发的需要你再发力气去照顾的问题,将会是无穷无尽、没完没了。

    了才是好,了才能好。

    我们应该针对问题的特殊性,把通用技术方案的那一大坨东西,分解开来,只取刚刚好能解决问题的最少部分。然后把它们打包好,成为自己的一个专用库。尽量争取,以后的日子再解决这个问题时,可以一行代码搞定。

    剥离众人的通用,打包需求的子集。

    这种“包一层”的行为,有什么意义呢?它的真正意义在于:世界没你想象得那么大,但又不是你想象得那么小。

    满足需求,不需要你想象得那么复杂,搞一堆最新最优技术,拿地图炮打蚊子。

    但是,在满足需求之后,我们还有事情可以做。就是优化。把需求实现的技术打包,把时间精力腾出来,好好去优化,把需求做得更深。

    打包一切,专注优化。

    我决定,以后所有第三方库,包一层再用。

    后记(下面以聊家常为主,没时间没兴趣的朋友请直接忽略):

    要不要把脚跨到算法去,周日,我和老婆有了一次非常痛苦的交流。

    主要的问题是,我没信心在算法界能赚到钱。而如果一件事赚不到钱,以目前我们对钱的需求,我很难说服自己花精力去做。

    根本的问题是,我不知道我应该怎么去搞算法。这比我 2013 年转 iOS 开发难太多了。

    同时呢,我又非常不甘心。半路出家,很多朋友并不认同我作为开发者的身份。我也不是需要别人的认同,我只是希望能得到更多的交流。如果我能在算法上站住脚跟,也许可以彻底扭转这种局面,我就可以得到更充分的交流机会。

    最后,受最近对“递减原则”思考的影响,我还是决定赌一把。

    事情决定了要做,后面就非常简单,只需把全部脑力对准“怎么做”就可以了。

    这也得出了一个我对自己的警告:永远走路,永不选路。

    等此路走不通了,再走另一条路,绝不浪费时间去选路。

    我唯一的优势只有一个,或者说只保一个:比先行者更有热情钻得更深。

    末了,对技术学习总原则,用我自己特殊的笔记方式“字阵”记录下来:少叠测时。

    laoyuan
        1
    laoyuan  
       2015-08-24 08:49:04 +08:00
    只取刚刚好能解决问题的最少部分。
    --------------------------------------------------------------------------------
    宇宙第一语言的作者老早就这么说过:

    Q :你会如何选择开发框架呢?
    A :一个框架都不要用。但是,我会从这些开发框架中,找出我需要的功能,拿出那个我需要的程式模组来用,或者参考其中的设计想法,而不是套用整个框架。
    lnkisi
        2
    lnkisi  
       2015-08-24 11:48:41 +08:00
    疯子,你好。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2948 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 11:05 · PVG 19:05 · LAX 03:05 · JFK 06:05
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.