我是 J_Knight_,熟悉个人人都应该知道我是一名刚工做满3年的非科班 iOS 开发者,并且一直坚持写技术博客快有2年半的时间了。html
其实从去年开始就一直想分享我写博客的心得,可是一直也没有找到合适的契机,恰好在今年年末前达成了掘金粉丝量过万
的小目标,索性就借着这个机会分享一下我本身关于写博客的一些收获,同时也算顺便作一个阶段性的总结。java
这篇文章分为三个部分:react
第一部分先简单介绍关于个人博客的一些数据:写博客的起始时间,使用的博客平台,博客内容等等。git
第二部分是本篇的重点,讲解的从博客中个人收获有哪些。程序员
第三部分罗列了几个常常从一些朋友(粉丝)中听到的关于写博客的问题以及个人回答。github
在第一部分首先看一下我写博客的几个阶段,而后在该部分结尾统计一下个人博客的一些数据。面试
我在就业以前,自学 iOS 的时候开始写博客(当时只是写一点学习笔记,质量很低),拿到第一份工做以后的半年多之后开始在简书写博客,再通过大概一年多之后由于一个“众所周知”的缘由从简书转到了掘金平台,再到后面也开始维护本身的我的博客和公众号。算法
从简书转战到掘金的缘由能够看我简书的最后一篇博客,简书我的主页地址以及其余主页地址在本篇结尾提供。编程
写博客的内容按照时间顺序大体分为六个阶段:设计模式
第一个阶段的写做内容集中在视频教程的学习笔记以及读书笔记以及一些关于iOS开发的比较小的知识点。在这段学习过程当中带给个人提高比较大的是《Effective Objective-C 2.0》和 《Objective-C 高级编程》这本书,以及一些关于程序员素质方面的书籍。有如下几篇博客:
《Effective Objective-C 2.0》总结:
《Objective-C 高级编程》总结:
读书笔记:
上面这些博客在掘金上发布的时间比在简书上面发布的时间晚,由于大概是在简书写做一年多以后才开始在掘金发布文章。
第二阶段的写做内容集中在 iOS 各大主流框架的源码解析,缘由是当时想经过看源码来提高业务水平。这阶段的源码解析一共有如下几篇博客:
后来还发布了两篇源码解析的文章,缘由是当时业务上要求封装一个网络框架和缓存库,因此就找了YTKNetwork
和YYCache
的源码来学习,博客地址:
经过学习YTKNetwork
,本身后来也封装了一个网络框架,开源在了个人GitHub仓库中:
很惭愧因为今年事情比较多,因此这个库从去年底发布以后就一直没有更新。可是优化的思路已经有了,明年能够逐步更新和维护。
第三阶段的写做内容集中在 React Native,缘由是当时公司任务上有 React Native 的开发任务,因此当时花了一些时间来学习。学习主要是经过一个慕课网上的实战项目React Native技术精讲与高质量上线APP开发来学习的,在学习过程当中参考课程的讲解,我本身将APP实现了一遍,放到了我我的的GitHub仓库中:GitHubPopular-SJ(已经得到该课程的慕课网老师的赞成)
并且后面本身也封装了一个纯 React Natice 的 UI 组件,一份代码同时支持 iOS 和 安卓,如今在个人 Github 上有开源:react-naive-highly-customizable-action-sheet
两篇博客的地址:
第四个阶段的写做内容集中在代码规范上面,缘由是当时有小团队了,感受须要有一些规范须要实践,因此就搜集了一些关于代码规范的书籍和博客,整理了一套本身的 iOS 开发代码规范。有如下两篇博客:
第五阶段的写做内容集中在数据结构和算法,缘由是想提高本身的基本素质。由于毕竟是非科班,因此这方面不能落下。通过一段时间的学习和总结以后,开启了数据结构&算法 in Swift
的系列:
原本打算把这个系列坚持写下去的,可是因为面试和新工做的关系,这个系列的第二篇的后面就没有更新了。
等如今连载的面向对象设计系列结束之后会继续更新这个系列。由于目前来看,面向对象设计方面的学习任务的优先级比较高,缘由会在下面说一下。
第六阶段的写做内容集中在面向对象设计方面。由于新公司的任务有很大一部分在SDK的维护和开发上面,因此这部分我想快速学习一下,这样对后面的工做会比较有帮助。有如下几篇博客:
这个系列的全部Demo和UML类图我也有在GitHub上维护:object-oriented-design
以上就是关于我博客的一些信息,下面统计一下我在各平台博客的一些数据:
平台 | 粉丝数 | 文章数 | 阅读数 | 喜欢数 | 阅读数/喜欢数 |
---|---|---|---|---|---|
掘金 | 10043 | 27 | 131393 | 4534 | 28.97 |
简书 | 4785 | 58 | 183642 | 3806 | 48.25 |
根据阅读数/喜欢数
这项数据能够大体看出在掘金上的博客质量是高于简书的。主要是由于在从简书迁移到掘金的时候是挑选了在简书上质量相对高的那部分文章;并且后面在掘金写的博客也逐步更加注重了质量。
关于写博客给我带来的收获,我以为由浅入深能够分为如下几点:
前三点是比较直观的,也是大多数人都比较容易看到的:
相对于前三点,第四第五点是相对来讲比较隐性的,但对我来讲倒是收获最大的两点。尤为是第五点,给我带来的”收益“远大于上面四点的总和。
关于第四点:由于我但愿本身写出来的东西能够很容易被其余人理解(包括我本身),因此写出来的东西我会不断推敲和修改。就是在这样长期反复的过程当中,我发现本身语言组织能力,描述事情的能力提高了不少,这些其实也是沟通能力的一部分,因此也对我平时在工做和生活中和他人的沟通有了比较大的帮助。
对于第五点我在这里着重说一下:在写博客的过程当中我养成了作事力求作到最好的品质。
一篇博客写出来,会花费博主的一些时间;看博客的人一样也是会花费一些时间。那么既然双方都在花时间,为何不让这些时间变得有意义呢?由于一篇博客能够写的很精彩,也能够写的很通常:写的精彩,实际上是共赢;而写的通常,其实你们都没啥太好的收获。
并且随着个人粉丝量的增多,我对本身的文章的要求就愈来愈高:不管是文章质量仍是给读者的阅读体验上我都会花费心思去琢磨:如何能够给读者高质量的知识,如何可让读者很容易吸取我所写的东西?由于可能后面能看到个人博客的人会愈来愈多,并且我身上的一些标签也不允许我对博客质量的疏忽。
就拿我最近分享的设计原则的这篇文章来讲:面向对象设计的六大设计原则(附 Demo & UML类图):
面向对象设计的设计原则其实网上和不少书籍都有说起,若是我本身来写的话我彻底能够随便摘录一些文字再本身改一改放上去就能够了。
因此,最开始我是想把这篇博客写成这样:只有6个原则的理论性知识。可是后来随着对本身的要求的不断提升,最后把博客写成了这样:6个原则的理论知识 + 12个Demo + 12个 UML 类图 + GitHub开源(object-oriented-design)。
本来这篇博客的排期只有<2个星期,可是实际上从开始学习到发布博客通过了4个星期。由于当时我还不会画 UML 类图,因而就花了一点时间学了一下。并且大多数Demo的场景是根据看过的示例触类旁通出来的,也花了一点时间,由于我以为只有本身想出来的才是本身的,本身理解好了,其余人看的也明白。
我相信我从此的博客也会按照这个方式去写:可能有一个最初的规划,可是由于不断迫使本身作到最好,会不断地把博客写到更高的水平。
其实我也不知道养成这个品质的缘由到底是哪个,能够说是为了粉丝量,提升影响力,也能够说是为了分享知识,也能够说是为了想本身学好,我以为可能每一个都有吧,可是这些能够概括总结出一个点来:那就是对我和对粉丝(读者)的负责。因此也能够说是这种对全部人的责任心养成了这个品质吧。
那么为何说这个品质是我最大的收获呢?由于这个品质不只仅影响了我写博客这单单一个方面,它还在影响这我工做、生活的方方面面,包括如今,也包括将来。
举一个生活中的例子: 有我微信的朋友都应该都知道我在减肥,由于我在9月中旬的时候立了一个Flag:每瘦5斤就会发一张当时显示当时体重的照片。如今是12月初,到如今通过了2个多月,这种照片我一共有4张了(包括第一张),也就是说我已经瘦了15斤了,并且还在变瘦,昨天称了一下,体重是73公斤,比最初的体重82公斤少了9公斤,也就是18斤。因此说再过一周我应该能够再发一张照片了,记念我瘦的第四个5斤。
看到我发了这几张照片以后,陆续有不少朋友问我是怎么减的。我在这里简单说一下:训练以无氧训练(举铁)结合 HIIT 运动的方式,时间比例大体为5:1(我几乎历来不跑步,由于跑步的减脂能力很低效)。工做日的午饭晚餐基本都是吃沙拉,但都是高蛋白高碳水的沙拉,沙拉酱只用油醋汁,由于普通的沙拉酱热量过高了。沙拉都是用的外卖订的。从9月中旬到如今一共吃了100+顿了,偶尔周末会吃一点油腻的东西。可是天天的早餐必定是吃牛奶和全麦面包,不会吃煎饼或者肉包那些带油的东西。
若是按照计划下个星期结束的时候我能够瘦到72公斤的话,那么从减肥开始到目前为止就是用了11个星期(不到3个月)瘦了20斤,平均每一个星期瘦了将近2斤,这个成绩应该算不错了。
由于我以为既然是花时间作这件事情,就要作到最好:从运动的强度以及饮食的搭配都要作到最好。
毕竟工做比较忙,也须要时间和精力;运动也须要尽全力去作,以最短的时间达到最好的成果,早日练出更好的体质,对后面的工做也有帮助。
其余的一些例子就不举了,总之我很高兴写博客带给个人这一个品质,这个收获也是我最想分享给你们的,而不是其余表面上的收获粉丝,影响力之类的,由于某个品质会影响作的有关的全部的事情。
在本篇最后,我来分享一下一些常常被朋友(或粉丝)常常问个人关于写博客的几个问题,以及个人回答是什么。
这个问题还有一个相似的问题就是“你是如何作到这么高产的?”
其实高产倒谈不上了,我只是一直在坚持写而已,并且今年的博客数量较前两年来说仍是比较少的。
关于这类问题个人回答有两点:
关于第一点:
这里说的花时间,是指时间的总量:由于写一篇高质量的博客所花费的总时间确实很长:为了可让读者有所收获,你须要从内容,措辞,配图,排版等多个方面下功夫,而这些地方都是须要花时间的。
由于若是你能够善于利用碎片时间,就能够把大量的大块时间分散掉,所以其实是节省了时间。并且个人博客基本都是来源于平时的学习,而平时的学习又是和工做相关的,因此边工做边学,其实博客也就完成三分之一了。
下面举一个我本身的例子:
其实个人大部分的博客的原型就是个人学习笔记。既然是学习笔记,那么就确定不是一鼓作气的,它须要不断地经过学习来积累,可能跨度上须要几个星期。好比看一本书的时候,看过的章节能够记一下笔记,可是不会天天花费大块时间来作这件事,坚持小步快跑,几个星期就能够搞定一本书(或者第三方框架的源码)的笔记。
笔记作好了以后,就能够添加一些内容,将它转化为博客。添加的内容多是配图,递进的语句,总结性的语句(这些也能够平时复习笔记的时候添加)。而这些操做能够不须要花费太多的精力来作,由于有关的内容已经经过笔记提炼一次了,你须要作的只是让笔记变得更加容易被其余人理解。
那么既然不须要花费太多精力来作,你就彻底能够利用碎片时间来作这些:好比排队,等电梯的时间,等地铁的时间,工做日的晚上休息时间,周末看完一场电影后的休息时间等等。 我为了能够随时复习和修改笔记,将笔记放在了有道笔记和evernote里面,因此即便在外面也能够不断修改和提炼笔记和博客。并且在平时走路的时候(确保周围环境安全的前提下)也会反复推敲本身写的东西,看是否能够写得更好等等。
我以为善于利用碎片时间是时间管理上很重要的一环,这一点在大学时读《暗时间》的时候对我就颇有启发,直到如今我对做者刘未鹏将人的大脑比做CPU的那段文字的印象仍然很是深入。
刘未鹏先生是一位优秀的软件工程师,这本书对我我的的影响很是大,也推荐你们来阅读。
说了这么多,其实上面的文字能够总结为两点:
这里首先须要澄清一个事实:
说实话我以为个人资质仍是很通常的,并且学习方法也不见得很高明。之因此会给其余人诸如这个问题的这种错觉是由于我在背后实际上是利用了大量的时间来学习,写博客的;也就是说在一样的时间内,我相信那些资质更好的人会比我学得更好。
为何说我有大量的时间来学习呢?
由于这3年来在休息的时间基本没有去远一些的地方玩过,也没有玩儿过什么游戏(吃鸡只玩儿过3局,LOL和农药没玩儿过),社交活动也不是不少,只是和特别熟的朋友以及家人聚过。所以虽然资质不及别人,可是学习的时间我相信仍是比一部分人多的。
上面说的是时间,至于学习方法,我能够简单介绍一下,由于其实原本我也没有过高深的技巧。
我我的使用的一个学习模型能够参考下图:
根据上图的流程指向你们应该知道各个节点之间的关系了,下面我分别介绍一下每一个节点都作什么:
选取学习主题
其实我我的以为选取学习主题对于每一个阶段学习的重要程度是很是大的,由于它会决定你在短时间以内的学习质量以及学习成果。
为何这么说呢?
所以,我认为在选取学习主题时:在优先级差很少的几个学习主题中选择的话,你须要选择一个相对于你如今的水平来讲“比较难学会”的主题来学习。比较难就是说不简单可是你仍是能够搞定的。这样一来,若是你完成了学习,不但能够在技术上有一小步的提高,还能够加强自信,带着这份自信进入下一轮学习。及时短期内完不成,你也能够慢慢来,由于毕竟对你来讲并非不可能,你不会轻易放弃。
收集多种高质量的资料
横当作岭侧成峰, 远近高低各不一样
在学习主题定下来以后,你就须要选取相关的学习资料了。我我的的习惯是选取多种,高质量的资料。好比在学习设计模式的时候,我会找到不少讲解的比较好的博客,教程以及经典书籍同时一块儿看:
由于不一样的人可能对同一个事物有不一样的见解,因此经过阅读,整理多我的对同一事件的描述可让本身更深入,更多角度地理解这个问题,而后再结合本身的理解,就会理解的很快,也比较透彻。
高质量这一块就不用多说了,选资料的时候确定是选那些权威,口碑佳的内容。
作笔记
好记性不如烂笔头
作笔记不只仅是为了记录知识,更重要的是知识信息的质量。由于已经记录下来了,后面能够反复查阅和琢磨,不断提升对知识的理解程度。
关于笔记的内容:
记笔记的时候不能一味地摘录和复制粘贴:虽然能够在开始的时候这样作,可是后面必定要加上本身的理解,并且这些本身的理解所占的比重应该在笔记里面愈来愈多才是,由于只有本身说的才是你本身的。
关于作笔记的方式:
作笔记的方式有不少种,我我的比较喜欢有云功能的笔记软件,好比有道笔记和evernote,这两个都支持多端。平时在外面也能够在手机上面修改和阅读。
复习,总结
温故而知新,能够为师矣
不少时候能够经过复习来体悟出更多的内容,并且复习也能够避免忘记知识,一箭双雕。复习的时候不管是否有新的想法,都要尝试本身是否还能够再总结出什么新的东西来,这也能够帮助本身对知识理解的更好。
就好比以前学设计模式的时候,当时以为本身对适配器模式比较了解了,可是当本身假想一个场景并实现的时候就以为本身对这些角色之间的关系理解的并非很透彻。因此只能不断去思考,动手去画图,才真正能够将一个假象的场景准确实践出来。
实践
实践是检验真理的惟一标准
“不知道本身不知道”是比较危险的一件事情,有的时候咱们可能会以为这个知识点彻底理解了,可是当到实际操做中可能会出现各类各样的问题。 所以,在理论学习以后,须要去用实践来验证咱们的理解是否正确。若是有这个条件最好,可是若是没有这个条件,咱们就须要建立条件去作。
反馈
不能只是实践就结束了,实践的结果要知道是对是错。并且不管对仍是错都要总结一下缘由是什么,还有什么能够改进的地方,总结以后放在笔记里面,造成一个循环。
这个问题多数来自于一些准备打算写博客或者是一些已经写博客可是感受写出来的博客受欢迎程度不如预期的朋友们。
若是将这个问题彻底展开来讲,我应该能够写出很是多的内容,可是由于这一部分不是本文章要分享的重点,因此就不彻底展开说了。
若是给我反馈表示感兴趣的朋友比较多的话,我后面就会专门写一篇文章分享一下,有这个意愿的朋友能够在下方留个言。
那么在本文中,关于这个问题我想说的是:文章的受欢迎程度很大程度上取决于你是否真的致力于把你的知识分享给别人。
有些人写博客是写给本身的,当作一种笔记来保存;有些人写博客的目的除了写给本身,还包括让别人去看本身的文章。而不管是写给本身仍是写给别人,一旦你的博客放在了公开的平台上面,其实就是在分享你的博客,你的知识。
所以,若是你写博客只是写给你本身的,你须要常常问本身:我真的理解本身写的东西么?
若是写博客还为了分享这第二个目的,你还须要常常问本身:读者看本身写的东西,会很容易理解么,真的会有收获么?
其实我上文中也已经说过,我把博客写好的的动力来源是对读者,对我本身负责。写出一篇对本身,对读者负责人的博客,是对双方都是有好处的。
有了这个中心思想之后,在行动上就会不断鞭策本身写出更好的文章,天然而然你博客的质量以及受欢迎程度就会愈来愈高。
除了内容的质量以外,其实博客的深度以及主题也影响着博客的受欢迎程度。“阳春白雪,下里巴人”你们应该都听过。即便是内容特别好,可是文章深度很是深,不多人能理解的话,可能受欢迎程度会很不如预期。可是这一点不与上面讨论的点冲突。
最后还有一点就是所谓的标题党:虽然内容比较差可是标题引人入胜的文章可能阅读量会很高,可是这并不表明它真的受欢迎。我我的并非很推崇这种方式,我仍是比较喜欢和文章内容很是契合,中规中矩的文章标题的,你们观察个人博客应该能够发现我博客标题的特色,通常是没有多余的字的。
OK,到这里个人全部心得就分享完了,但愿不管您看完这篇文章以后是打算写仍是不写博客都能会对您有所帮助。
我以为在文章结尾仍是要多啰嗦两句:我这里没有说只要作技术的人就必定要有技术博客,也不是呼吁全部作技术的人都去写技术博客。
由于每一个人的自身状况不一样,选择什么样的方式也是本身的自由。可是不管怎么样,咱们都但愿本身所在的(技术)环境能更好不是么?这也是我写这篇文章的核心目的。
下面是个人一些博客平台,GitHub,以及公众号的连接,想进一步了解我,或是想看个人技术博客的朋友能够从这些渠道进入。
特别须要说的是公众号里面除了会发一些技术文章之外,还会有一些我的思考和技术&非技术的读书笔记。
本篇已同步到个人我的博客:我从写技术博客中收获到了什么 - J_Knight_