前言

很抱歉上周没有更新电台,原因是因为上周工作日的时候一直都在整理一些技术点,如果你对我整理的这些技术点总结感兴趣的话,可以到我的 blog ( pjhubs.com )上阅读,上周三的时候和创业的小伙伴们开了最新的需求确认会,周末在沉迷于我新开的个人项目 PFollow 中,这周也是忙成狗,在实习公司的新版本开始迭代了,昨天才缓过来居然已经是周四了,这一次的产品版本迭代改动挺大的,直接改掉两个入口,所以我也就趁着这个机会重构了一波,之前的首页代码实在是太乱了,乱到我无法保证按照之前的写法下个接手的同学能不能看懂哈哈。总的来说,这这两种收获都挺大的吧,再一次狠狠的打了自己的脸,“这特么是我当初自己写的代码吗?”

选择之前经历过的事情

当时处在大一快结束时期的我真的非常迷茫,我都不知道自己到底适合做什么,不过好在当时加入的社团 ifLab 可以说是救了我一命。每周固定一次的小组活动,学长们讲完东西后就要检查上周布置的任务,或者当场就要完成小练习。

我当然完全不适应这种学习风格,可以说是适应得一塌糊涂,记得非常清楚的一点是有一周的活动是应该可以归类到逻辑练习上吧,学长当时让我写一个打印“多边形”星星(*)的程序,比如镂空的正方形、三角形、五角星行等等,当时好不容易完成了一个,也就是打印镂空的正方形,一到镂空的三角形就懵了,那时候还比较早,C 语言都没学多少,整个人比较懒散吧,再加上当时实验室的环境太嘈杂了,各种因素下来,两个小时活动时间我如坐针毡,脑子都不转了。刚好,这个时候进来了一个学长(称之为 Z 学长吧),Z 学长非常好奇我在干什么,我说出了我的疑惑后,他用了一种比较嘲讽的语气说,“嗨~打星星啊,还以为什么呢”。我靠,当时我就炸了,心里贼憋得慌,不过到现在我也能理解了,不是一个层面的人当然聊不到一块儿去,而且各自说的话很有可能会被别人 get 不到点上从而引起误会,Z 学长可是有奥赛背景的,所以还能好奇我在干什么已经很不容易了。

但是那天晚上真的给了我一个非常大的触动,也就是从那时起我下定决心,如果我以后能够成长起来,一定不要像这个 Z 学长一样。当然,到了现如今我的态度是什么样,有没有成长起来只能从别人的口中才知道啦哈哈。

在后续的几次活动中,我也慢慢的找到了适合自己的学习方式,我一定不能在嘈杂的环境、人多的地方和还被别人盯着看的环境下学习或者工作,因为实在是太操蛋了。所以当时我一旦开始做点什么东西都会挑个角落呆着,做出点什么好玩的事情就可以兴奋地手舞足蹈,因为搞不定某一个问题还会疯狂揪头发,然后看着一根根的头发掉落哈哈哈。

还记得当时给了我一个很大动力的事情,同样也是社团的一次活动,带我的学长给我留了一个练习——四则运算计算器,士别三日当刮目相待嘛,一回到宿舍后坐在床边“啪啪啪”的就写完了,学长当时就给了我一个大大的鼓励,别提有多开心了,尤其还是这种“长辈般”的鼓励,也可以认为是自己的成长被别人认可的那种快感吧。也就是从那个时候开始呢,我又给自己加了一条,如果以后我能够成长起来,一定要多给新同学鼓励,因为这种鼓励真的很重要,不管做的东西有多简单,毕竟当时我的那个破四则运算器给这个大三的学长看过后发出的鼓励,我现在是能理解其实那就是一个单纯的鼓励而已,其实有一堆边界条件没处理好哈哈。

当时大一上的时候加了好几个技术社团,而且各个技术社团主攻的技术道路完全不一样,还记得当时加了“七星社”,宣讲的时候我就对“七星社”抱有强大的意愿,整个高三我都在心里偷偷梦着自己以后能够成为一名很厉害的“白帽子”,所以“七星社”也是一个我非常喜欢社团(现在也是),“七星社”主要是主攻网络安全方向的内容,不得不说这个社团的所有同学都非常的友善,如果真的要算起来的话,我觉得 “ifLab” 的同学们都是“奇葩”,当然这个奇葩指的是有点像“技术怪才”般的奇葩,同学们的能力确实不错,但是当时给我的感觉 “ifLab” 的这群人好奇怪。反观“七星社”的同学简直不要太有爱,就是那种开源社区般的温暖,每个学长都是暖暖的、非常有耐心的教你技术。不过当时我的兴趣点发生了变化,“七星社”的活动只参加过三次,不过也就是这三次活动学习到的内容一直影响到了我现在,比如牛逼哄哄的 kali 一直到现在我都有在时不时的玩玩 CTF 而打开它。

平心而论,我觉得 CTF 比 ACM 好玩多了,当时我也有练习过一段时间的 ACM ,跟我校当时的 ACM 队长也聊了很多,也曾经放下狂言我一定会努力刷题的,事情发展到最后当然就是又无情的“啪啪啪”直打脸。为什么我不喜欢干巴巴的刷题主要原因有以下几点:

  1. ACM 从我开始练习到弃坑,我始终觉得它都是把数学题换了一种方式,非常讨厌;
  2. ACM 让我感觉到离我当时决定选择计算机专业的初衷差别甚大,因为我当时之所以选择了计算机专业存粹是因为我想要做东西,做自己喜欢的东西,而 ACM 疯狂的刷题对于当时的我来说,做不到这一点;
  3. ACM 让我得不到快感。虽然看着屏幕上显示出困扰了自己良久的题目终于 Accept ,但是这个过程给我带来的刺激还是不够。

所以我放弃了 ACM 的方向,本来我就是一个非常讨厌解决这种“浮在半空”中的问题,比如,“给定一个字符串,请输入该字符串中的最长回文子串”等,这种问题对于当时的我来说毫无意义,当然对于现在来说肯定有意义,毕竟这就是面试中很可能会问到的问题。我当时就觉得花费大量的时间去解决这种问题不是我想要的,如果我当时能够早点知道 CTF ,估计我现在的发展方向就很有可能不是这样了,因为 CTF 的很多问题就是实际过程中的子集,当然我这么说可能会有很多 ACMer 会不认同我的观点了,不过没关系,这都是我当时个人不成熟的想法。

但是我还是非常推荐,如果你也对整天刷算法题感到无奈,不妨去试试 CTF ,真的非常非常有趣,而且一套题下来带给你的成长远远大于 ACM 一场比赛下来的收获(别喷我,我说的是事实)

过了一段时间后,社团的活动都慢慢的步入白热化阶段,很多坚持不下来的或者认为自己不适合这个社团技术方向的同学就慢慢的退出了,我也慢慢的把重心转移到了唯一一个技术社团上,也就是 ifLab ,因为在这个社团中我能够学到一些当时认为能够快速验证我的想法的东西,比如 iOS 和 Web 开发。

当时我的想法非常存粹,我想做一个跑在手机上的软件,但是摆在我面前有一座大山——我没有 iPhone ,而且估计在未来至少一年的事件内也不会有,有些同学会问,“不是有安卓嘛?用安卓机开发其实也行的呀”,哈哈,这就涉及到了个人品味问题了,说实话当收到我自己的 Mac 那天起,我就想着在 apple 的生态里做点事情了。

当时应该是十一月左右 iPhone 6s 和 iOS 9 都已经出来了,因为太想要一个台 iOS 设备了,整天有空就会上 Apple 中国看产品哈哈,无意记起来,高中有个死党买了台 iPod touch !完全符合当时我的需求,够便宜(1398)、够轻薄(因为没有通讯芯片,超薄)、完整的 iOS 系统,但是当时处在刚上大学两个多月的我来说,将近 1400 的钱是绝对拿不出的,我不想找家里拿钱,一是这存粹是我的个人兴趣爱好,还没到人生岔路口需要家里支持的情况;二是还没到弹尽粮绝的情况,已经成人了还是个大学生,不能遇到啥问题都依托家里人。但是当时我是真的超级想要,但是又不想找家里帮忙,在大概一周多的时间里都处在这种复杂的心理状况,最后居然把我逼出来了一个超酷炫的点子(因为我是实在是太想要一台了),我把自己的开的贴吧——“风暴眼工作室吧”作为 title ,附上之前自己通过模拟器完成的几个 demo 截图,就是当时的用 OC 写的一个计算器、拖拖看小游戏等,再放上一些话,形成了一份募资合同书哈哈哈,为了真的像那么一回事,还加上了甲方乙方等等一个合同书应该有的东西,当时自己想着最高筹资 2000 元,就彩印了 20 份合同书。在一堂英语课上,我翻遍了自己 QQ 好友列表,找出自己能够开口借 100 块的人,当然大部分都是高中同学还有个别是大学同学。就这样一次英语课通过我亲爱的高中同学们筹资到了 1100 元,我到现在都非常非常的感谢他们,在我最困难的时候,最拿不出钱支持自己的兴趣时,他们拿出了自己的生活费来赞助我了,现在想起来真的太感动了,因为我当时怕引起误会说用同学情谊来借钱,我就给这些借钱的同学发了一些避嫌的话,比如“如果不考虑我们的友谊,你愿意借 100 给我么?两个月后还你”等等之类的话,甚至当时找到的一个同学(我的老大),当时她这个月的生活费已经快没了,实在拿不出这 100 元,“我很想帮助你阿钧,但是我这个月生活费快不够了,下个月行不行?”,哇,你知道吗?我当时感动得都快哭了,后来还找了一些大学同学凑够了这 1300 元,我自己出了 100 才狠下心在官网上买了一台 16GB 的乞丐版 iPod touch 6 。趁着过年的时候用自己的红包钱全部还回给大家了,我真的非常非常感谢这群高中和大学同学们,可以说是你们提了我一把,让我走上了自己喜欢的路,真的非常谢谢你们在大家都比较困难,都是学生拿不出多余钱的情况下还能帮助我,名单我现在都记着呢,PFollow 上线后你们通通免费下载。

选择之后的一些事情

就这样,用同学们资助我的钱真正的全身心投入到了 iOS 开发这条路,可以说最开始我特别想做出一个能够跑在千千万万台设备中的软件,看他们使用我做的软件开心的样子就是促使我这么做的原因吧。不过当时也快过期末了,拿到设备后没有进行太多深入的学习,反而是当时在家过年时,用自己所学为数不多的一点点 iOS 开发知识硬是撸出了一个自动出题器,就是随机数一下出四则运算,还加了背景音乐 😀 。下学期开学后拿给带我的学长看,他一看就把 bug 测出来了,因为当时我用的是模态视图展示的方法,而且当时也只会用 StoryBoard 搭界面,出了一个特别搞笑的 bug ,因为我都是模态视图展示新页面,然后我做的这个出题器可以无限的以模态视图方式跳新页面,这样的话底层的视图还没被销毁,一层一层的视图以模态视图方式 show 出来,最终的效果就是交响乐了哈哈。

不过当时也给了我一个很大的提醒,开始反问自己,“为什么自己在做这个东西的时候没有考虑好这些情况?”,“为什么学长能够直接看出我做的东西里的 bug ?”等等这些为什么一直充斥在我的脑海中,在接下来的时间中呢,我也给自己定了几个小目标,不能看着别人前进,而是应该从自己本身出发,自己跟自己比较,因为自己没有经历过别人所经历过的事情,他在学习的过程中是怎么做的,那是因为他曾经的经历所决定的,不一定完全符合我的情况。所以,当时我就给自己傻乎乎的定了其中的一个目标是,我想日常在手机中使用的软件(当时还不知道应该叫 app)都是自己写的。现在想起来这件事实在是太尴尬了哈哈。

好啦,以上就是在大一时决定了自己的技术方向时考虑的一些事情,我们下期再见吧~