经验记录
分支合并检查 :检查分支是否合并正确。
领导力原则:复杂的事情是否有判断力
规划把控能力
产品的业务sence
团队成员的成长 ,定期对话review,成员发展帮助规划
组织协调团队 提供需要。 发现风险,及时调整风险。
团队中看中的几件事?
识别高潜的同学: 挑什么样的人。 社招对于已经做了的业务是否成功,是否能描述清楚。 校招实践能力 进来之后,两个方向:有些同学性格原因偏向内向,走技术路线, 有些同学适合走管理路线,负责方向业务。协调沟通能力。 完成需求,需求之外的设计, 是否有一些想法, 主动性。
问题:做的觉得最有成就感的事情:插件化项目
问题:Vipper/MVC/MVVM/MVP分析
问题:Delegate/Block/Notification对比和使用场景
问题:json解析的各个库和实现区别,FastJson,JsonModel
问题:Mach-O解析
问题:swift方法调用三种方式
问题:OC怎么找方法指针的真正路径(偏移量)
问题:Self-Managed View 里有业务逻辑,复用后导致业务如果其他地方有其他的需要,如何改进?:如果比较通用的修改则做扩展,如果比较不通用的修改,干脆重写。
问题:胖model,瘦model倾向,倾向瘦model,也就是不放业务逻辑。 解答:model里不放强业务逻辑。 如果是取时间的现实的方法,可以通过extension做扩展(装饰器模式)
问题:删除无用代码的思路
建议多结合业务做,能做出更多成绩.
结合业务需求应用新技术,保持新技术敏锐度。
往高一点做:同步业务方向,等工作
之前做的好的事情,技术驱动的,面向业务的。
之后一年、半年的计划。
项目组公约:
1、开源库使用:引入新开源库要评审,首先看是否原本已经提供
2、需求超过一个星期需要技术评审
3、Git使用:按照git_flow规范
4、代码review:@两个人 两个人点赞,一个人面对面review讲代码,要讲到听的人听懂。
5、代码规范:文档
6、项目规范:插件化开发
开发质量:
1、bug率要求、bug响应速度要求
2、单元测试覆盖率
3、代码review
4、效率监控(网络、帧率、耗电)
5、CI代码检查、持续集成
6、自动CodeDiff
项管和管理知识
五大过程组
十大知识领域
做领导最重要的:
人:发掘潜力、优点,做擅长的事,充分授权。
事:方向(正确,且明确统一)、路径(规范、自动化)
相对次要的:
向上管理跟领导统一方向、通过积累提高效率、通过输出扩大影响力
XCode编译速度分析
优选工具: https://github.com/MobileNativeFoundation/XCLogParser
brew install xclogparser
xclogparser parse --project MyApp --reporter html
备选:https://github.com/RobertGummesson/BuildTimeAnalyzer-for-Xcode
备选:https://github.com/PaulTaykalo/xcode-build-times-rendering
带你打造一套 APM 监控系统
http://www.gsnice.com/2020/07/%E5%B8%A6%E4%BD%A0%E6%89%93%E9%80%A0%E4%B8%80%E5%A5%97-APM-%E7%9B%91%E6%8E%A7%E7%B3%BB%E7%BB%9F-%E4%B8%80/
Git Hook使用
分享git hook给其他人使用(原理是默认hooks文件夹在.git文件夹下,无法提交)通过修改git hook的默认路径来将hooks文件夹移动到.git文件夹外就可以提交了,需要注意的是每个人都要主动执行一下相同的命令:
git config core.hooksPath .githooks
免费或开源软件推荐
影音:
视频压缩:HandBrake: https://github.com/HandBrake/HandBrake
视频播放:完美解码:https://jm.wmzhe.com/
App Store Connect出口合规信息具体是指什么?
参考如下两个官方文档:
一、出口合规提审时的处理:https://developer.apple.com/documentation/security/complying_with_encryption_export_regulations
基本上就是添加:ITSApp
No 到项目的plist中,这样就不用每次提审都要选择出口合规的选项了~
二、需要或豁免的详情:https://help.apple.com/app-store-connect/#/devc3f64248f
1、如果未使用加密算法,或仅使用了Https,AES等标准加密方式,则直接可以选择“否”: 意味着不需要提供出口合规证明。(属于豁免范围)
2、如果使用了自研的加密算法(应该很少存在这样的App),则需要将源码发送给美国方面申请出口合规文件。
3、自研算法也有豁免范围,如下使用场景也可以不提供合规证明:
- 专为医药终端设计。
- 仅用于保护知识产权和版权。
- 仅用于身份验证、数字签名、数据或文件解密。
- 专为银行业务或“货币交易”设计,且仅用于上述业务;或仅使用“固定”数据压缩或编码技术。
iOS实现3D效果
调整 CATransform3D参数:
var iTrans = CATransform3DIdentity
关键属性: iTrans.m34 = -1/500.0
并且如果z轴如果需要不止是前后遮挡的关系,实现真正的z方向深度:需要将layer加到CATransformLayer 类型的layer上才能实现,否则z轴对深度没影响,只影响遮挡关系。
测试代码: Supprt3DRotation
Git 使用技巧——按作者列出所有的分支
https://stackoverflow.com/questions/36026374/is-there-a-script-to-list-git-branches-created-by-me
git for-each-ref --no-merged dev --format='%(authorname),%(refname:lstrip=3),%(refname:short)' --sort=authorname | while IFS=',' read author branch remote_branch; do
printf "%20s | %40s | %s\n" "$author" "$branch" "$remote_branch"
done | grep origingit for-each-ref --format='%(authorname),%(refname:lstrip=3),%(refname:short)' --sort=authorname | while IFS=',' read author branch remote_branch; do
printf "%20s | %40s | %s\n" "$author" "$branch" "$remote_branch"
done