DiDi(十七)
2018-04-09
今天把小助手替换成了ONEAlertView,这是下次的分析😝。然后重点又再次分析了一遍ONEProgressHUD,有兴趣的同学可以看这篇文章。
2018-04-10
又开始练车了,太痛苦了,困得不行。科三第一次模拟器一点用处没有啊,就听教练讲啊讲啊讲,然后盯着所谓的模拟器,这模拟器简直了,只能摸,甚至都不能用,只能跟着视频YY。
中午到工位上喝了一大杯茉莉茶,瞬间回血,重新整理1.3.5需求,发现Native剩下的内容就只有:
- push改造。要做成动态配置,不过还是得到友盟后台去手工填单子,这两天再琢磨琢磨。
- 哈勃接入完善。哈勃今天下午终于给了最终版,数据都拉回来了,感觉非常的高大上啊!虽然跟滴滴出行主App中的体验还是有些差异化,不过至少这是我目前接手到的第一个build在主App上的数据平台。
- 消息。消息模块之前忘了加上下拉刷新了,导致产品再发App站内消息时根本收不到,kill完再进来就能收到了。emmm。
- 我-国际化、首页header动态URL改造。这部分工作主要是后台跟进。
其中还有个热修复需求,不过这个需求是后加的,优先级非常低。但是本着强迫症的心态,想把每个版本的JIRA都点绿了,再去调研了又一个滴滴内部强大的而且正在线上使用着的热修复库——DynamicCocoa!这个库前年说要开源来着,但是一再延期,下午再去翻的时候,已经凉了,整个库都删掉了。看来,他们是彻底想私有化了,根本就不想开源。
来来去去几回终于拿到了相关的wiki权限,进去一看,跟去年看的又不一样了,从文档上看使用起来非常轻量,不过就是打包再发包这个流程还是比较懵逼,可能得到后边再仔细琢磨琢磨。总结来看,DynamicCocoa这个热修复库是完全基于OC的,而且还是使用了Annotation进行标记,只需要在Patch的方法后或者新类加上固定的Annotation即可,但是现在存在一个问题,虽然是以动态库的方式切入主Bundle,但还是不懂这一套到底是怎么实现的,先留个疑念。
然后又稍微看了看ONEAlertView,只看了一个secondary初始化方法的调用栈,然后接着扫了其它文件,woc,吓了一跳,这一个小的UI库近3000行代码。莫名害怕,这波分析起来感觉压力开始有了。🙄
最后开始电面了一个东北大学的大三iOS,问的问题全在之前发的《如何招到一个靠谱的iOS实习生》里,还拓展了几个小问题,前面几个概念基础答得一塌糊涂,int和NSInterger的区别只能说到,使用NSInterger更安全,问到底是安全啥,稀里糊涂的最后也踩到点上了,因为前天晚上拿到他的简历后,把这位同学的GitHub和掘金都刷了一遍(他自己放上来的),看到GitHub的时候,内心是拒绝的,但是看到掘金的时候一下子来了兴趣,先不管里边的文章内容有多少来自网络,但是至少能够发出来,而且排版还不错,说明了应该是有点料的。在后续的一来一回问答中,故意抛了他比较擅长的tableView调优和Block理解以及runtime的一些基础内容上,答的都还可以,基本上点都踩到了,所以咧,最后我给他的定义是,对平常经常使用的基础内容没有深究,但是却对iOS开发中的中等知识把握的还行,项目做的少,对项目的整体把握比较懵逼。
一般来说应届包括我自己都会走两个极端,一种是对基础掌握的非常好,但是对项目的整体把握有欠缺,另外一种是项目或者东西做的非常多,但是针对一些基础知识稍微欠缺(我是第二种🙂),但是我个人比较喜欢第二种,因为一般第二种同学一点就通,因为很多东西他平时都用过,稍微提醒他一下,引导引导,就能把这些基础知识都串起来了,不是说第一种同学不好,而是说基础夯实确实有必要,但是很多基础不一定能解近渴。
2018-04-11
今天科三第一次实际道路,以前总以为家里人开车上路是个非常简单的事情,但是今天第一次上路后彻底慌了,好几次差点在大马路上熄火,再加上车有点弱鸡,二挡老是换不过来,开完两圈后背全吓湿了。😓
拖着疲惫的身躯到了公司后,开始对接昨天整理出来的遗漏需求,弄完了消息页的下拉刷新后整个人都不好了,眯了一会接着撸push改造。我不太懂我之前的实习生同事是怎么跟产品定的push规则,产品已经好几次一脸懵逼的跟我对接了好几次这个规则,估计还得再对接个两三次这push功能的改造才算完事,但是之前的同事呢居然已经把所有push规则都写好了,然后Android那边啥都没有。。。😓规则写的也是乱七八糟,不知道在干啥,居然把整个友盟的push官方模板代码全都贴进了AppDelegate
中,瞬间拉长了两倍的代码。
重新严格的按照wiki上与产品约定好的规则全部重写。。。嗯,今天的砖比较迷,都看不懂。
2018-04-12
结束了结束了,以后终于再也没有练车和这么多的早起了(从未对早起这么恐惧过
再次拖着疲惫的身躯,长舒一口气。接着昨天没写完的push规则改改改,本来想的是使用反射去做VC判断的,但是猛的发现,反射是动态创建啊,我要的是VC判断啊,所以尴尬的再次使用了if-else大法,最终做到了能够根据在友盟后台填写的key-value字段来进行动态的跳转固定的tabVC和webView内容。
随后还接着调整了下横竖屏,真的是一招下错,步步错,写代码真的是最后一步。😓