这两天在看内存管理相关的内容,算是技术学习方法的革新,以前学技术只是看博客,并没有输出多少博客或者代码,这样其实看完就忘了,没有多少进步。
记得看过轮子哥的文章,程序员类似于工匠,技能提升需要孰能生巧
其实内存管理,去年也有花一周学习过,实践总结的太少,过后就忘却了;现在再去学习时,已经有意识地写代码,去实践了。
1. 技能学习大概得几步:
- 掌握这个知识点怎么用,能够手写代码,了解使用场景
- 理解这个点原理是什么,能够有条理的说出底层原理
- 跟其他知识点有啥联系,能够统筹全局,遇到某场景选择合适的技术
目前基本能到第二步,既能够查出这个点怎么用,为啥这么用。
2. 选择重点内容学习:
基础知识必须得掌握,iOS其实就那么几个
- 内存管理,最最基础
- runtime
- runloop与多线程
- 网络
- UI部分渲染原理、事件传递与响应链条
3. 编程与情绪
个人觉得程序员pk的不是智商,大家智商相差无几,更重要的是情绪。
其实每天8+小时坐在工位,基本处于一人世界与世隔绝的状态,再加上从事着写代码这种结果最不稳定的工作,情绪很容易波动,会非常影响接下来的状态。
我总结了一些保持情绪稳定的方式,也可以理解成转移注意力的方式:
- 最好是能出去走走,透透气,如果能找到一个合适的小伙伴沟通发泄一下,就再好不过了
- 听首喜欢的歌,听有趣的音频节目(小品等)也不错
- 喝点水 咖啡或者果汁都不错,生活过得有味道一些
- 看会儿书偶尔也有用,小说类
- 写写文章、博客之类的,写其实是输出的过程,总是输入bug、知识点之类,输出点东西也可以切换大脑
- 还可以爬楼梯、做俯卧撑,加速血液循环也很好
- 什么也不做,发发呆也可以,总是很紧张,分秒必争的状态,很容易搞得头疼,来点儿放松的
- 朋友圈、微博、知乎等也还行,但是很容易被攻陷,看入迷就出不来了
4.解决问题
今天跟阿里工作的一学长解决问题的过程,也有一些新的感悟
- 编程提升主要的不是一大堆技术点累积,而是去培养解决问题的思路,无论写代码还是调bug,首先要做的就是理清思路,能把思路讲清楚了,代码并不难写
- 理清思路得过程其实就是按步骤分解问题,将问题分解为一个个点,单点去突破,这样就不至于太复杂,更容易理清楚
- 分解问题其实就是抽象过程,将具体场景抽象为单个技术点,这样就抓住问题的本质
代码写得越简单越清晰越好,这个其实不容易
一一
对于算法,不要想那么高大上,其实写一辈子代码可能也用不上多少高级算法,把常见算法掌握好就行了
4月8号补充
5.技术与交流
技术也要多交流,如果能找到志趣相投的伙伴一起打磨技术,是一件非常幸运的事情
能够将一个技术点表达清楚,是逻辑思维能力强的体现
网友评论