获得徽章 0
- 大家好,我叫于佳,技术圈里大家更喜欢叫我的花名--宗心。 现任闲鱼客户端团队的负责人 ,负责整个端侧的业务支撑,架构演进以及团队建设,(闲鱼团队目前面向社会大批量招 P6/ P7/ P8 以及 19 届校招应届生,有意者可以直接投递给我:christ.yuj@alibaba-inc.com)。
简单的介绍下自己的经历,毕业于华中科技大学,12 年加入阿里巴巴,从 B2B 到淘宝,再到闲鱼,经历过 996,干过双十一,并亲身经历集团移动端技术的爆炸和高速发展。从一名普通的开发工程师,参与完成手淘架构升级,到推进集团移动端架构统一,再到探索下一代移动架构的升级。成长的过程中,有欢笑,也有泪水,不变的是技术人的追求和架构师的梦想。
非常感谢掘金给我这次机会跟大家接触,最近一段时间都在跟团队做 flutter 在工程上的实践,会有比较多的体感,闲鱼作为目前业内第一的闲置交易社区,有巨大的业务规模,同时,闲鱼也是业内最早在线上落地 flutter hybrid 架构的 app。我希望将团队一些已有的经验,可以通过这个形式反馈给大家。因此大家有什么关于 flutter /客户端架构/个人成长/闲鱼团队/阿里巴巴的相关问题,都可以在评论区提问,我在 2018.07.17 - 2018.07.19 期间挑选有趣 / 有意义 / 有影响力的问题回答~
对 flutter 感兴趣的同学,可以关注我们的团队微信公众号:闲鱼技术
团队掘金的技术专栏链接:juejin.im
展开204121 - # 求职
去年毕业后半年时间复习考研,初试结束后感觉很糟,短暂难过之后开始两周的奔波找工作经历。一开始意向沪杭,期间经历了杭州创业公司面试时套方案,然后 CTO 纠结1、2k工资的糟心事,也经历了京东上海面试官的血洗。非常庆幸京东面试是上海头一家,覆盖面非常广,面的很不好,经过面试后认真总结复盘,发现在后来其他公司的面试命中率非常高,在此谢过京东面试官。记得接到携程HR面试通过的电话时非常开心,因为是第一个大厂 offer,已达到预期。没想到后来又收到美团上海、网易北京的 offer,最终入职网易有道。
# 工作&学习
入职之后第一个需求的项目中 RN 模块的改版,被 RN 折磨了一个多月。后来陆陆续续都是纯原生的需求。感受就是工作中的提升果然是极快的。因为之前感觉自己对于 iOS 的技术学习到了知道自己什么不会,进行深入学习的过程又不是非常吃力的阶段,也就是过了入门阶段、开始提速的阶段,只是苦于没有大量时间。半年的工作时间里,对于 iOS、Objective-C 很多基础理论知识查漏补缺了很多,用来验证各种理论问题的 demo 代码量越来越多,在学习其他人的文章时,都做了文字记录,感觉“笔记记录” + “代码验证”是非常有效的学习方式。另一个感受就是越发认识到设计模式理论的指导意义,在一定业务代码量的基础上,对学生时代学得一头雾水的理论开始有了感悟,并且开始有意识的运用,这种“顿悟”的感觉是很让人欣喜的。
之前给自己贴的标签是“大前端”,经过半年的工作学习,发现其实 iOS 的基础知识还有很多不足,接下来的半年目标主要是在 iOS 的基础知识的继续进行有深度的补缺,同时“汲取完”现有项目代码中的精华。
# 技术分享
关于这方面最重要的就是加入了 iOS 知识小集团队。每周一篇微博话题的分享,每月一篇公众号文章。WWDC 期间与老司机、Swift GG联合一起和掘金合作,艰难地啃完生肉后完成了《TextKit 最佳实践》的解析,挣了人生第一笔稿费。
从一年多前第一次写作技术文章到现在,收获真的非常多。为了完成一篇敢拿出来给别人评判的文章,需要了解的深度可能是文章内容的好多倍。回看自己一年前的文章,有种实际了解三分,却想讲得像了解八分的感觉。再看现在的文章,文风和内容都踏实了许多,给自己个及格分。
# 生活
我爱我的小仙女,除了技术剩下的时间都在想你。展开1621 - 我一直是一个坚持不在自己团队用 ReactNative 的人,但我属于考虑到团队成员的背景情况以及对技术趋势上的个人判断,沿着混合前端的思路自研/组合适合自己的框架。在跨平台的这条路上,我始终认为理想中的跨平台一定是伪命题,平台差异是客观存在的,因为平台差异客观存在,框架再怎么做一定有舍弃的东西才回来了一定的统一能力,因为根本没有银弹,但这条路始终会是有很多公司追求,所以做万能型框架想开放服务所有人是一定会有一堆槽点的,这也是 ReactNative 面临的问题,大公司有足够的自研实力,大可以定制化的控制优缺点的侧重,选择适合自己的力度,追求更优秀的研发体验与效率展开2031
- #iOS知识小集# 「 Objective-C中自定义泛型类 」
最近看 Facebook 的 promise 源码,看到 FBLPromise 类定义为一个泛型类,所以就温习一下。
苹果在2015年就为 Objective-C 增加了泛型,我们现在用 Array、Dictionary、Set、HashTable 这些类时,一般都会使用泛型来指定元素的类型。除此之外,我们也可以自定义泛型类。如图1代码所示,我们定义了一个 Queue 泛型类,并使用了 ObjectType 作为泛型类型的占位符。然后 ObjectType 就可以用于 Queue 类的属性、方法参数、成员变量中,作为这些值的类型。
不过有两点需要注意:
1. ObjectType 只能用于类的声明中,即 @interface 和 对应的 @end 区间内。如果用在类的实现中,即 @implementation 中,编译器会报错,提示 “Excepted a type”。因此,在 @implementation 中,对应的需要改成 id 。如图1代码所示;
2. 在创建对象时,如果指定了泛型类型,那么在具体使用过程中,如果违反了规则,编译器会给出警告,如图2所示。不过仅此而已,在运行时,你依然可以传递其它类型的值。当然,如果创建对象时没有指定泛型类型,编译器也不会给出警告;
Objective-C 的泛型是所谓的 Lightweight Generics,主要是为了和 Swift 做混编,同时保证了与之前版本的兼容性。
更多知识小集的内容,请查看:t.cn ,也可以关注我们的公众号:iOS-Tips
@Lefe_x @Vong_HUST @高老师很忙 @故胤道长 @halohily展开44 - 336