内容简介:老司机 iOS 周报,只为你呈现有价值的信息。你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到在 65 期,我们收录了『基于多重替换方式的 iOS 代码混淆方案』一文,后经读者反馈,我们发现这篇文章的内容存在严重的抄袭迹象。文中涉及到的混淆方案抄袭自
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、 工具 等可以到 Issues 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 Issues 提出。
新闻
在 65 期,我们收录了『基于多重替换方式的 iOS 代码混淆方案』一文,后经读者反馈,我们发现这篇文章的内容存在严重的抄袭迹象。文中涉及到的混淆方案抄袭自 @kaich 的 codeobscure 。目前该文章的在知乎和掘金上已经被删除,周报也在第一时间删掉了有争议的推荐内容。对此次事件,我们对 @kaich 和广大读者表示抱歉,同时也感谢各位读者的监督和反馈。
另外,在收到反馈之后,我们小挖了一下那篇抄袭文的作者,发现此人是惯犯,洗稿专业户。他的 GitHub( RobinChao )和博客(Technical.io),真的是仿品聚集地。
距离今年的 WWDC 已经只有将近一个月的时间了,众所周知,WWDC 向来能带给行业和开发者带来全新的围绕用户体验新技术,本篇文章给我们介绍了本次 WWDC 会发布的新的 API 以及特性,主要有:
- 新的 Siri intents
- Marzipan 的优化(Marzipan 就是让 macOS App 也能用上 UIKit 的技术)
- Swift-only 的 AR 框架
- 震动引擎,NFC 在以前的基础上提供了更多的功能
- CoreML 支持动态训练以及音频的分析
新手推荐
@邦Ben:该文从 Frame 布局,到 Autoresizing 讲到了 AutoLayout,并且介绍了如何简单的进行封装 AutoLayout,以提高易用性。毕竟众所周知,原生的 AutoLayout 异常难用,在 OC 下,Masonry 的出现简直是拯救了世界。在 Swift 下,各种布局系统百花齐放。同时眼光不妨放到 React Native 和 Flutter 上,声明式布局非常值得学习。
文章
@Damonwong :之前我问过好多人这样一个问题,你觉得 Rx 框架到底解决了一个什么样的问题?虽然答案都不太一样,但是引入 Rx 框架,便于封装 ViewModel,然后编写单元测试提高应用稳定性是大部分人比较认可的一点。
所以推荐大家阅读一下作者写了三篇关于 RxSwift & MVVM 的文章:
- 第一篇是 How to integrate RxSwift in your MVVM architecture :主要介绍了如何使用 RxSwift 编写 MVVM 结构的代码
- 第二篇是 RxSwift & MVVM - An alternative structure for your ViewModel :主要描述了一个 ViewModel 最基本的结构要怎么设计,我个人特别喜欢他在文中描述的 Intput 和 Output 的设计。这个设计也是为做单元测试做了一个很好的铺垫。
- 最后一是 RxSwift & MVVM - How to use RxTests to test your ViewModel :讲的是如何利用前面的 VM 设计 结合 RxTest 编写单元测试。
@四娘:之前我们在 29 期周报 里介绍过这篇文章的第一篇:
本文讲述了 Swift 中方的条件编译。当然首先是传统的方法 arch(),作者对各个参数都做了详细的介绍。不过随着 Swift 4.1 的到来,你更应该了解一下方便好用的 targetEnvironment()(SE-0190)。其次是使用配置文件(.xcconfig),这个方式其实被 CocoaPods 大量使用。作者也用示例做出了详细的介绍,同学们不妨也在自己的工程中试一试。
后面陆续写了 Part 2 和 Part 3,主要是介绍了跨平台代码库编译选项的一些控制方式,对这方面有疑虑的同学可以看一看
:dog2:Flutter 实时视频渲染
@CrazyCoderShi :Flutter 如火如荼的火了一段时间了,但鲜少有关于音视频方面的文章,本文是声网 Agora 的高级架构师张乾泽在 RTC Dev Meetup 上的分享,主要介绍 Agora 在 Flutter 实时音视频开发方面的实践经验,整个分享分三部分:
- 基于 Texture Widget 实现思路分析
- 基于 PlatformView 实现思路分析
- 两种方案的性能对比
:racehorse:对职业发展的一些想法
职业发展是每一个职场同学都会去思考的很重要的问题,我们也常常说有时候选择比努力更重要,除了个别的运气成分外,我们能过左右的就是如何去做选择。本文是 limboy 对职业发展的一些看法,从 稀缺度 和 剩余市场空间 这样两个角度去谈,结合生动的坐标图,让人一看就很明了。
:dog2: How to run a single test in Xcode
@老峰 :本文作者归纳总结了在 Xcode 中运行单元测试的一些小 tips:
- 通过 gutter (左边列)
- 通过 shortcut (快捷键 ^ ⌥ ⌘ U)
- 通过 scheme
- 通过 terminal
- 通过开源测试库如: Quick
:dog2:iOS 中的 Promise
@四娘:当你需要连续地执行多个异步过程时,总会无可避免的出现地狱回调,Promise 是一个不错的解决方案,这篇文章前半部分主要讲了 Promise 具体的实现,后面介绍了一些实用的 API,感兴趣的朋友可以看一下。
@张嘉夫 :Swift 的属性观察器 (即 willSet
和 didSet
hook 函数)非常实用,可以用于验证、通知和调用 log 方法等等,适用于结构体、类和枚举。但在使用强大的属性观察器时,要避免搬起石头砸了自己的脚,这篇文章会为你介绍如何避免在 Swift 属性观察器中创建无限循环。
画架构图是架构师的第一门课,本文介绍了架构图的各种画法和具体案例,希望让大家在架构图方面的理念和经验得到提升
架构图分类
- 场景视图:一般就是我们理解的用例图
- 逻辑视图:一般是组件图和类图
- 物理视图:一般是部署图
- 处理流程视图:一般是时序图和流程图
- 开发视图:一般是包图
好的架构图:好的架构图是不需要解释的,它应该是自描述的,并且要具备一致性和足够的准确性,能够与代码相呼应
最后推荐C4官网,有各种画图的模板可以参考
工具
MTHawkeye
@looping :MTHawkeye 是美图 iOS 团队开源的调试和性能优化辅助工具集,旨在帮助 iOS 开发者提升开发效率、优化性能体验。目前已经包含对内存、CPU、电量、网络等的使用监控。由于该工具模块采用了可扩展的插件式设计,所以我们也可以根据自己的需求定制合适的开发调试插件。详细介绍可以参考这篇文章 MTHawkeye:美图开源的iOS调试辅助、性能优化工具集 。
代码
Swiftshield
@oldonkey :这是一套代码混淆工具,作用是加密工程的函数和类名,来免疫一些逆向工程。加密的原理很简单,就是把所有函数和类名都替换成一段新的字符串。此工具可以加密,也可以解密,以方便对 Log 进行 Debug。
开源库
IkigaJSON
IkigaJSON 是一个非常快的 JSON 解析器,它的解析速度大概是是 Foundation 中对应组件的 4 倍。它也提供了 SwiftNIO 的支持(同时也依赖 SwiftNIO),你可以直接从 ByteBuffer
对象初始化需要的 JSON 。
音视频
@J_Knight_ :本期 ggtalk 邀请的嘉宾是李亮老师和莲叔。围绕本期的主题,二位嘉宾和主持人梁杰都分享了各自的编程启蒙经历。
此外,还分享了对“中年危机”的看法以及关于小孩应该如何入门编程的讨论。
内推
老司机周报团队联合知识小集和 SwiftGG 翻译组收录了一份靠谱的内推职位。
如果你想 找工作 ,点这里: www.yuque.com/iosalliance…
如果你想 招人 ,点这里: www.yuque.com/iosalliance…
当然,也欢迎你关注我们每一期的周报,我们会在每期周报底部及时更新编辑内推岗位。
关注我们
我们开通了公众号,每期发布时公众号(OldDriverWeekly)会推送消息,欢迎关注。
同时也支持了 RSS 订阅: github.com/SwiftOldDri… 。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 老司机 iOS 周报 #30 | 2018-08-06
- 老司机 iOS 周报 #33 | 2018-08-27
- 老司机 iOS 周报 #36 | 2018-09-17
- 老司机 iOS 周报 #37 | 2018-09-24
- 老司机 iOS 周报 #38 | 2018-10-08
- 老司机 iOS 周报 #39 | 2018-10-15
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Python核心编程(第3版)
[美] Wesley Chun / 孙波翔、李斌、李晗 / 人民邮电出版社 / 2016-5 / CNY 99.00
《Python核心编程(第3版)》是经典畅销图书《Python核心编程(第二版)》的全新升级版本,总共分为3部分。第1部分为讲解了Python的一些通用应用,包括正则表达式、网络编程、Internet客户端编程、多线程编程、GUI编程、数据库编程、Microsoft Office编程、扩展Python等内容。第2部分讲解了与Web开发相关的主题,包括Web客户端和服务器、CGI和WSGI相关的We......一起来看看 《Python核心编程(第3版)》 这本书的介绍吧!