forked from SwiftOldDriver/iOS-Weekly
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy path#21-2018.05.28.md
90 lines (45 loc) · 7.63 KB
/
#21-2018.05.28.md
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
# 老司机 iOS 周报 #21 | 2018-05-28
![ios-weekly](../assets/ios-weekly.png)
老司机 iOS 周报,只为你呈现有价值的信息。
你也可以为这个项目出一份力,如果发现有价值的信息、文章、工具等可以到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 里提给我们,我们会尽快处理。记得写上推荐的理由哦。有建议和意见也欢迎到 [Issues](https://github.com/SwiftOldDriver/iOS-Weekly/issues) 提出。
## 专栏
### 🌟 🐕 [普通本科如何毕业入职一线互联网公司](https://xiaozhuanlan.com/topic/3820914657)
我们老司机 iOS 专栏内最新出炉的一篇文章。作者毕业于一所普通的三本院校,从面试五分钟就被请出去,到现在就职于一线互联网公司,这期间有太多的思考、讨论、复盘和抉择。一些经验,希望给后来的同学带来一些帮助。
### 🐕 [CocoaPods 进阶之利用 Subspec 实现代码“模块化”](https://xiaozhuanlan.com/topic/1085467293)
老司机小专栏的文章,主要讲如何利用 Subspec 对 framework 内部代码进行模块化,让调用者做到「按需引入」。
## 文章
### 🌟 🐢 [分布式系统的全面介绍](https://hackernoon.com/a-thorough-introduction-to-distributed-systems-3b91562c9b3c)
最近几个月看过最好的文章。在有限的篇幅里真正全面的介绍了分布式系统。作为客户端研发,对分布式系统其实一直都有很多疑问,并行计算是分布式,mysql 主从也是分布式,他们之间是什么关系?去中心化和分布式是一样的吗?后端研发的周报里整天提的 kafka 是些什么玩意儿, 它和 hadoop 有什么关系?分布式能同时保证 availability 和 consistency吗?这类问题我能提一天。
文章首先抛出一个核心观点,分布式的设计都是围绕 consistency 和 availability 来做 trade-off,然后从数据库、消息派发、应用程序、计算、文件系统等不同应用场景的分布式应用进行了科普和讨论,解答了基本我所有的疑问,并且还将一些我连怎么问都不知道的疑惑都解释得很清楚,文章的最后一章分布式账本,还带我第 N 次的入门了比特币和区块链(希望是最后一次) _(:зゝ∠)_。总之,这是一篇值得花时间仔细阅读的文章。
### 🐢 [如何自动化测试 React Native 项目](http://tech.glowing.com/cn/react-native-automation-high-level-thoughts-and-e2e-testing/)
- [如何自动化测试 React Native 项目 (上篇) - 核心思想与E2E自动化](http://tech.glowing.com/cn/react-native-automation-high-level-thoughts-and-e2e-testing/)
- [如何自动化测试 React Native 项目 (下篇) - 单元测试](http://tech.glowing.com/cn/react-native-automation-unit-testing/)
系列文章共两篇,上篇从自动化测试的核心思想入手,介绍了 E2E 测试与单元测试。E2E - 通过 UI 来从头到尾(End-To-End)的测试,这种测试其实就是我们常说的 UITest。针对 RN 项目下的 UITest 文章推荐了 Detox 这款框架,而这款框架的底层用的是 google 的 Earl Grey。
下篇从单元测试入手介绍了基于 React 的各种可用测试工具,包括纯 JS 逻辑的单元测试/组件渲染 Dom Diff 测试/组件通信交互测试/Reducer/Action handler/Selector/Utils 测试等等。并且把多种测试模式合并起来,形成集成测试。
### 🐢 [iOS 业务组件化框架 Axe 详解](https://mp.weixin.qq.com/s/7IWr3YBB8Q7bGaA1a08Y8Q)
业务组件化是近几年非常火的 APP 架构思路, 究其原因,随着业务发展,APP 的规模也逐渐膨胀,代码管理与协作开发变得困难,编译耗时也屡创新高,应用功能的拆分与研发团队的拆分也不可避免。
本文使用组件化框架 Axe 阐述了如何解决代码隔离,单独编译,组件交互三个问题。值得对组件化有兴趣的小伙伴们学习。
### 🐕 [Using Dedicated Objects as Delegates & Datasources](http://alisoftware.github.io/architecture/2018/05/20/dedicated-datasources/)
使用专门的对象去作为 tableView 的 delegates 和 datasources,即可减少 viewController 的代码,又能使这些代码被多个 viewController 复用,需要的话,还能方便的进行数据展示形式的切换。也可以为多个 tableview 写一个 datasources 展示不同的 cell 样式,做到数据展示形式的复用。
### 🐎 [Network Extension Intro](http://kean.github.io/post/network-extensions-into)
如果你还没用过 Network Extension,你也许会对它的强大感到惊讶,它提供了其它框架不具备的系统底层接口,让你能够自定义系统的核心网络功能。
这篇文章的作者将带你了解 Network Extension 的功能和用途,这只是这个系列的第一篇,简单概括了 Network Extension 的功能,下篇将会详细讲解 `NEPacketTunnelProvider ` 并且带你深入苹果的示例项目 [SimpleTunnel](https://developer.apple.com/library/content/samplecode/SimpleTunnel/Introduction/Intro.html),对于 NE 感兴趣的同学可以关注一下。
### [NSAttributedString in Swift using SwiftRichString 2](http://danielemargutti.com/2018/05/20/nsattributedstring-in-swift-using-swiftrichstring-2/)
**SwiftRichString** 开源库的使用教程,是一个很不错的富文本样式语法糖,对于经常要处理富文本的应用可以尝试一下。
### 🐕 [Build Incrementation Techniques for iOS Release Train](http://shashikantjagtap.net/build-incrementation-techniques-for-ios-release-train)
本文首先介绍了苹果官方对 version 和 build 号的一些[规范](https://developer.apple.com/library/content/technotes/tn2420/_index.html),然后介绍了几种可持续集成中自动增加管理 build 号的方式,个人比较喜欢 fastlane 这种。
## 书
### [Introducing ARKit by Tutorials](https://www.raywenderlich.com/194376/introducing-arkit-by-tutorials)
Ray Wenderlich 的新书《ARKit by Tutorials》,在这本书里会教你如何构建漂亮的增强现实 app,包括沉浸式的科幻传送门、扑克牌筛子和面部追踪 app 等等。在学习的过程中,你会接触到往场景中添加对象、管理 session、创建真实的游戏物理效果以及其他方面的内容。目前正在首发限时特价销售中。
## 音视频
### 🚧 [UIKonf 2018 视频资源](https://www.youtube.com/playlist?list=PLdr22uU_wISohI7PIhzq0gotGfKZl1lGo&utm_campaign=iOS%2BDev%2BWeekly&utm_source=iOS%2BDev%2BWeekly%2BIssue%2B353)
[UIKonf](http://www.uikonf.com) 是柏林的一个独立开发者会议,会议刚于 5.13-5.16 结束,现在他们将视频 po 到 Youtube 上。主题非常丰富,包含技术、设计等内容。
## 关注我们
我们开通了公众号,每期发布时公众号会推送消息,欢迎关注。
![](https://github.com/SwiftOldDriver/iOS-Weekly/blob/master/assets/qrcode_for_wechat.jpg?raw=true)
同时也支持了 RSS 订阅:https://github.com/SwiftOldDriver/iOS-Weekly/wiki.atom 。
## 本期编辑
[@没故事的卓同学](https://weibo.com/1926303682/profile),[@四娘](https://kemchenj.github.io),[@mmoaay](https://weibo.com/u/1302422271),[@享耳先森](https://github.com/iblacksun),[@Damonwong](https://weibo.com/damonone),[@折腾范儿_味精](http://weibo.com/agvicking),[@张嘉夫](https://weibo.com/2949394297),[@AidenRao](https://weibo.com/AidenRao),[@Parsifal](https://weibo.com/parsifalchang),[@aaaron7](https://weibo.com/aaaron7),[@方秋枋](https://weibo.com/100mango)
## 说明
🚧 表示需翻墙,🌟 表示编辑推荐
预计阅读时间:🐎 很快就能读完(1 - 10 mins);🐕 中等 (10 - 20 mins);🐢 慢(20+ mins)