野火🔥

生命如野火,骄傲而顽强

更新一下今年的学习计划

1、工作上

找到新的突破

2、学习

一本英文书
Introduction to Computation and Programming Using Python(2nd)

3、身体

一三五去健身,平均每周2小时健身房运动。

Hello 2018

写了两篇17年的感悟,这一篇写一下对18年的一些期望。

新年寄语

突破、胸怀、守时
我希望,这三个寄语,能贯穿一年的主线,引领我一年的成长。

突破是我对一年最大的期望了。
18年3月27日,是我头条入职1周年,也是我毕业参加工作4整年的日子。毕业后先去了微信,然后是好奇心日报,再到头条,作为一个iOS开发,已经4个年头,虽然成为了一个最基层的技术领导者,但瓶颈也随之出现。
今年,努力寻找在工作上肩负起更大的责任,或者在技术方向上寻找一个全新的领域。

胸怀一个男人应有的素质
18年,我即将会组建家庭,标志的成为一个完整的自然人,有道是成家立业。
随之而来的,是家庭生活,双方长辈的关系,琐事和纠纷也许也会不期而至。
有事做得好,有时做的差,其实都是家人,影响本身不大,重要的更多是态度。作为一个男人,在家庭中,尤其要有包容的胸怀,有心胸,能包容女人的脾气,能在婆媳中增加缓冲,永远起到积极的作用。
嗯,28年来,心胸这个词第一次进入了我的个人要求中,提到这个词,能感觉到自己的成长。

守时是品德,想表达的更多是一些传统素质
守信,应该是立于世界的基本品质,自认为一直坚持的不错,或者并不需要坚持,只需要不被错误引导即可。
但守时,毕业后渐渐堕落,和大家同流。虽有太多理由可以原谅自己。但我依旧相信,生活中有些东西,值得一直坚持,18年,言而有信从守时开始做起。

2017年的几点感悟

一年又在没有一丝丝防备中到来而消去,回首一年,感受平静河流下面蕴含的一些汹涌,每天不知所踪的忙碌。
随波逐流,又想特立独行;有时怀疑自己,有时信心膨胀;会因别人转瞬的表情而患得患失。索性,那份全力以赴的热情,还未流失。

写这篇文章,主要描述一种感觉,沉淀一下2017年给自己带来的几点感悟,也希望指引一下有些迷茫的自己,寻找下一个突破

一、初窥堂奥——一个技术领导者的起步

跳槽还是不期而至,在好奇心日报没能坚持到第三年,之前写过一篇总结,回顾了跳槽的心路历程。
头条是一家不错的公司,起码福利和待遇还是不错的。选择来头条,是因为相信这是一家一定会成功的公司,而自己,在这里有一个在个人职业阅历下,能拥有的还不错的坑。

17年的总结

对我个人来讲,17年有两大收获,一是跳槽来了头条,二是找到了人生的另一半。
本该是事业有进步,爱情有收获,但发生了好多别的事情,使得这一年其实有些痛苦和无奈。

衰老

妈妈去年底的体检查出了宫颈癌病毒,我刚看到体检报告的时候一下子就懵了,后来发现其实没那么严重,上半年做了个锥切手术,但未能完全痊愈,需要持续观察才行,每念此处,都心绞一阵。
妈妈前几年血糖比较高,导致眼底出血,虽然做了激光手术,但也留下了永久的后遗症,前几天回家,发现妈妈视力越发的不好了,心疼。
由于我父亲,今年下半年父母发生了非常大的争吵,其中细节无心评述。心里对父亲充满怨念,包括上面说的妈妈两个病因,父亲都有直接或间接原因,也许我永远都不会原谅他了,看着他,心里总带着烦躁和鄙视。

投资

妈妈去年年底像魔障了一样,手里稍微有点钱就想加大杠杆投资房产,在国家政策最为严厉的封口浪尖的4月份,依然坚持买了个门市楼,虽然后来她非常后悔,但木已成舟,悔之晚矣。
去年底今年初的慌乱房产投机,损失100多万,而且,彻底毁掉了一家三口人的现金流,同时背负了沉重的贷款债务,今年多次在睡前想起,然后辗转反侧难以入睡。
最终贷款压力主要在我身上,父母已老,不想太多说什么,只是这几年要对不住邹韵了。索性,妈妈陆续卖掉一些房产,略微缓解部分燃眉。

突破

还算幸运,今年职场上再获一次突破,从好奇心日报的一个小技术团队的负责人,到了头条的一个小技术团队的技术leader,麻雀虽小,却收获颇多。
因为相信头条一定最后能成为一家了不起的公司,相信如果个人能随着公司的成长,会有更大的进步。
一年来,学会了一些流程、使用了一些工具、也了解了一些运转方式,有的东西很好玩,有的东西很无奈。
软实力提高很多,硬实力提高比较少,工作很忙,有时迷失了自己。
但尚好,没有盲目尊大,也没有妄自菲薄。
期望,能找到下一个突破。

爱情

儿时好友的婚讯给了我不小的刺激,人有时就是不知道自己最终要的是什么,便如人生哲学有教育别人“今朝有酒今朝醉”,让人及时行乐;也有告诫人们“少壮不努力,老大徒伤悲”的励志警句。很多事情,回忆今天,难保会有遗憾和悔恨。
说遍了无病呻吟,今年的爱情其实是很顺利的,认识了邹韵,然后住在了一起,虽有时激情不高,但却和谐美好,邹韵是个可以白头的女孩,我很满意,也很开心。不管酸甜苦辣,愿能永远。

有点成绩?

  • 因为换工作融入比较好,团队给力,所以有了一个还不错的绩效。但其实工作成果自己是不够满意的。
  • 爱情基本稳定,即将走向婚姻
  • 买了个还挺满意的房子,生活可以期待
  • 开了大半年女朋友的车,生活体验高了不少

UIResponder 响应链 拾遗

背景

基于ResponderChain可以做一些事件传递,将所有view的操作最终都送回到ViewController来处理,以实现view的功能单一性。如下:

@interface UIResponder (Router)
- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo;
@end

@implementation UIResponder (Router)
- (void)routerEventWithName:(NSString *)eventName userInfo:(NSDictionary *)userInfo
{
    [[self nextResponder] routerEventWithName:eventName userInfo:userInfo];
}
@end

每个cell在做事件请求时,只需要调用routerEventWithName:userInfo:,即可将请求传递给对应的ViewController(也可以是响应链任意一环),然后用EventName来区分事件类型。

ChildViewController

一般来讲 view.nextResponder = view.superView。ViewController的root view的nextResponder是当前ViewController,那childViewController的view的nextResponder是谁呢?如果用nextResponder拦截,childViewController能拦截到其中的view的响应吗?

XCode实测:

  • 如果addChildViewController:

childVC.view.nextResponder == childVC,childVC.nextResponder == childVC.view.superView,相当于在subView&superView的响应联调中,插入了一个VC,与window和VC.view的关系是一致的。

博客继续记录

博客继续记录

3月底入职了头条,博客戛然而止。太忙了...

以前写了太多的技术上的东西,其实生活不仅仅有代码,以后多一些扯淡

博客图片换了google的图床,嗯,想看肯定要有梯子。

域名又买了5年,才80。

评论在纠结于多说和网易云跟帖的关闭困境之后,终于找到了合适的替代品,机于github的issues的gitment应该是最优解。

嗯 最重要的,以后还要多写点博客。

简单处理不小心调用高版本API的问题

iOS API 版本检查

如果app兼容2个以上版本,那就需要注意低版本不能调用高版本API,为避免开发过程中不小心调用,必要的工具检查是必须的,下面介绍一种简单的方法处理。

原理 ---- Clang

2015 年 clang 本身增加 API 版本检查功能,通过 -Wpartial-availability 这个 flag 可以打开,后续版本把 flag 变成了 -Wunguarded-availability。打开之后,clang 会把所有在低版本 iOS 上调用高版本 API 的情况用 warning 暴露出来,如下图所示。

具体实现

  • 1、打开 -Wunguarded-availability 在调用高版本API时候报warning,为避免warning过多而忽视,用 -Werror-unguarded-availability 标记强制编译不过。
  • 2、针对pod需要在 podspec 中添加compiler_flags
  • 3、如果代码本身安全(使用了 respondsToSelector: 保护),可以用 #pragma clang diagnostic ignored 的方式压掉警告,或者 @available 直接解决,如下图。

关于Product Owner的思考

关于Product Owner的思考

Product Owner是Scrum里面的概念,上周末和able哥吃饭听到了这个概念,最近看了一些相关的文章,得到了一些收获。

  1. 基本的能力,锻炼自己把技术问题抽象化,说出来让产品能理解的能力
  2. 了解项目背景,通过充分沟通摸索出一个需求的核心目标,了解到哪些是可以妥协的点,哪些是坚持的点,这样在遇到技术困难的时候可以从技术投入成本和产品产出收益(注意,这里不是技术收益)权衡是否需要提出来,如果提出来是否准备好了妥善的解决方案,有方案意见被接纳的可能性会增大
  3. 主动了解项目核心目标和关键性指标,了解策略和方案,了解 A/B 测试的分组策略和实验数据观察
  4. 了解产品做事的方式,他们是至上往下做产品,目标导向,我们技术在看产品设计的时候是一个反向的过程,本来就是在一个信息和理解不对称的过程,我们看到的是结果,看不到过程(就像我们看别人代码是一样的过程),这个时候要通过文档,沟通等方式去增强理解。产品 sense 不是一下就能提升的,同理心很重要。

多说换成网易云跟帖,评论都丢了

多说关闭了,换个替代品,网易出品,应该不会没事就倒闭吧。

评论都导不出来了,不过也不是很多,以后评论从新开始吧。


10月更新

没想到网易云跟帖也关闭了,以后彻底换disqu了,图床也换google了,不理墙内用户了。

再见 好奇心日报

昨天下午,收到了人生第二份《离职证明》,我也正式在法律上不再属于好奇心日报了。

写这篇文章,缅怀一下这两年的时光,因为这段工作的结束需要一个仪式感。
同时也鼓励我下一段工作,希望接下来在头条依然能够保持旺盛的学习和工作热情,保持谦卑和自省的态度。
祝愿好奇心日报越来越好!

和好奇心日报的纠缠源于很早的外包,14年的一个周六晚上,中秋节前后,印象中天气很热,在TIT南边巷子里吃麻辣烫,广州麻辣烫的独有味道直到现在还让我流出口水。徐源说有个Android外包要做,做不?我说,当然做。那会儿事情不多,微信的工作虽然忙碌但压力不大,而且很规律。