Skip to content

Commit

Permalink
fix typo.
Browse files Browse the repository at this point in the history
  • Loading branch information
ParsifalC committed Mar 4, 2019
1 parent 4e51a4f commit 3e9648a
Showing 1 changed file with 17 additions and 13 deletions.
30 changes: 17 additions & 13 deletions Reports/2019/#57-2019.03.04.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

> [读者 | pc9527](https://github.com/pc9527):
>
> 终于稳定了!但根据swift社区的老传统,估计还得下一个版本才能放心, 当年(2.1)静态编译了一个第三方 http server 模块进来,某次手抖一点升级(2.2)全崩了,把自己的语法修完之后发现还得去改第三方的,提 issue 仨礼拜没动静之后都想自己帮人家改后 pr 了....
> 终于稳定了!但根据 swift 社区的老传统,估计还得下一个版本才能放心, 当年(2.1)静态编译了一个第三方 http server 模块进来,某次手抖一点升级(2.2)全崩了,把自己的语法修完之后发现还得去改第三方的,提 issue 仨礼拜没动静之后都想自己帮人家改后 pr 了....


> [周报编辑 | @tom](https://xiaozhuanlan.com/u/6682065345):
Expand Down Expand Up @@ -53,20 +53,30 @@ Flutter 从去年开始,势不可挡,一路突飞猛进。Flutter 团队也

CocoaPods 1.6.0 有以下两大更新:

1. 编译设置的生成部分被完全重写:在一个比较大的项目中,使用重写过的该版本执行 pod install 的时间比为重写的版本降低了77%。
1. 编译设置的生成部分被完全重写:在一个比较大的项目中,使用重写过的该版本执行 pod install 的时间比为重写的版本降低了 77%。
2. 1.6.0 开始会为每个测试 spec 生成一个单独的测试 target,而不是像之前把多个测试 spec 合并为一个测试 target

另外,1.6.0 存在一个链接失效的 bug,已在后面的 1.6.1 版本解决,详情:[CocoaPods/issues/8493](https://github.com/CocoaPods/CocoaPods/issues/8493)。

## 文章

### 🌟 🐢 [阿里开源 iOS 协程开发框架 coobjc 源码分析](https://mp.weixin.qq.com/s/Vy_fsn95dgag4KumpQPlTw)

阿里开源了 [iOS 协程开发框架 coobjc](http://gitlab.alibaba-inc.com/Coroutine/coobjc)

参与一些大前端开发,写了很多 js 的同学们,相信对 ES6 的新特性 async await 是非常的喜爱,能够允许你在同步的代码逻辑中,书写异步的代码一般这种协程能力有的是语言层面直接支持,有的来自于框架如今淘宝团队的大神们为 iOS 的 Objective-C 的语言也带来了协程框架“当你还在写 UI Button 写界面的时候,别人已经在用汇编写 iOS 语法库了”,没错 coobjc 在 OC 的基础上通过汇编对寄存器的直接控制,来保存/中断/挂起/恢复一段逻辑的上下文,从而实现上下文的切换,再加上编译器与语法糖的扩展,实现了在 OC 中的 async await 等语法关键字的支持,更详尽的分析请看[“知识小集”的这篇源码分析](https://mp.weixin.qq.com/s/Vy_fsn95dgag4KumpQPlTw)

### 🐕 [iOS 开发者如何在互联网寒冬中杀出重围(付费内容)](https://xiaozhuanlan.com/topic/7609328541)

金三银四,又要跳槽时间点该文章主要是整理了作者近段时间面试的一个心得体会,主要是讲述了面试前准备,简历书写,大厂面试经验,以及面试心态处理等几个方面同学们如果有跳槽意愿,不妨回看过往51期的内推专栏,尝试询问对应公司是是否有内推

> 如果你想**找工作**,点这里:https://www.yuque.com/iosalliance/article/bhutav

> 如果你想**招人**,点这里:https://www.yuque.com/iosalliance/article/ycyhf3

### 🐕 [Parallel Computation using MPS](http://yulingtianxia.com/blog/2019/02/28/Parallel-Computation-using-MPS/)

在图像处理任务上,GPU 一直以来都比 CPU 优异一个数量级Metal 是苹果官方推出的 GPU 计算框架, 并提供了一套名为 Metal Performance Shader 的 API 接口,能够让开发者非常方便的使用 Metal 处理图像处理的任务本文作者比较了使用 MPS 对比传统 CPU 的耗时,发现前者相比 CPU 耗时降低了99.9%,之后介绍了 MPS 运行的基本原理并给出了一些MPS 的编程技巧,做多媒体开发的同学不要错过
在图像处理任务上,GPU 一直以来都比 CPU 优异一个数量级Metal 是苹果官方推出的 GPU 计算框架, 并提供了一套名为 Metal Performance Shader 的 API 接口,能够让开发者非常方便的使用 Metal 处理图像处理的任务本文作者比较了使用 MPS 对比传统 CPU 的耗时,发现前者相比 CPU 耗时降低了 99.9%,之后介绍了 MPS 运行的基本原理并给出了一些 MPS 的编程技巧,做多媒体开发的同学不要错过

### 🐕 [没有 AST, IDE 中的错误提示自动补全重构语法检查......都玩不转了](https://mp.weixin.qq.com/s/UYzwVRPFas6hwe2U7R0eIg)

Expand All @@ -78,7 +88,7 @@ CocoaPods 1.6.0 有以下两大更新:

### 🐕 [Swift 5 Type Metadata 详解](https://juejin.im/post/5c7513e7e51d451ac30154aa)

Swift 5 发布以后,ABI变得更加稳定了,尽管依然与早期的版本是二进制不兼容的其中对 Metadata 也有不少改动,对于有些项目,可能使用了强依赖 Metadata 的库,这就需要我们加以修改本文作者就通过查看源码,回顾了 Metadata 的前世今生,可能会对读者很有借鉴意义
Swift 5 发布以后,ABI 变得更加稳定了,尽管依然与早期的版本是二进制不兼容的其中对 Metadata 也有不少改动,对于有些项目,可能使用了强依赖 Metadata 的库,这就需要我们加以修改本文作者就通过查看源码,回顾了 Metadata 的前世今生,可能会对读者很有借鉴意义

### 🐕 [Using CLion as an IDE for Server-Side Swift Apps on Linux](https://www.raywenderlich.com/9363-using-clion-as-an-ide-for-server-side-swift-apps-on-linux)

Expand Down Expand Up @@ -118,24 +128,17 @@ Matt 在文章里列举了几种 API 被污染的情况,最后还从调用方

去年六月[Facebook 宣布要重构 React Native](https://facebook.github.io/react-native/blog/2018/06/14/state-of-react-native-2018)。时至今日,开发团队取得的一些进展已经非常值得我们期待和持续关注了。本文通过分析源码仔细介绍了 RN 的重构设计思路和后续业务开发适配注意点,解释了新技术方案在解决性能问题上的优势,同时描述了官方对以后组件开发维护的一些规划,对保持社区的活跃性、提升框架集成使用体验和加快组件迭代速度等都有很大的帮助。

### 🐢[阿里开源 iOS 协程开发框架 coobjc 源码分析](https://mp.weixin.qq.com/s/Vy_fsn95dgag4KumpQPlTw)

阿里开源了 [iOS 协程开发框架 coobjc](http://gitlab.alibaba-inc.com/Coroutine/coobjc)

参与一些大前端开发,写了很多js的同学们,相信对 ES6 的新特性 async await 是非常的喜爱,能够允许你在同步的代码逻辑中,书写异步的代码一般这种协程能力有的是语言层面直接支持,有的来自于框架如今淘宝团队的大神们为 iOS 的 Objective-C 的语言也带来了协程框架“当你还在写UI Button写界面的时候,别人已经在用汇编写iOS语法库了”,没错 coobjc 在 OC 的基础上通过汇编对寄存器的直接控制,来保存/中断/挂起/恢复一段逻辑的上下文,从而实现上下文的切换,再加上编译器与语法糖的扩展,实现了在 OC 中的 async await 等语法关键字的支持,更详尽的分析请看“知识小集”的这篇源码分析


## 设计

## 工具

### [periphery](https://github.com/peripheryapp/periphery)

periphery 是一个用 Swift 语言编写的,专门用于扫描 Swift 工程无用代码的工具它的工作原理是利用了 Swift 语法树的各种回调特性,并且因为是 Swift 语言编写的关系,所以它也只能用于 Swift 工程从本质上来说,它跟 OC 时代的各种`Clang Checker`做的事情是没有多大区别的,不过从代码的维护性上来说就比 C++ 版本的 checker 要好很多实测下来,跑一次全规则扫描的时间确实挺长的,如果只是扫描无用的函数参数的话倒是非常的快,大概10来秒就出结果了这个工具也提供了 CI 的集成方案,总体而言算是一个比较成熟的工具了,值得推荐
periphery 是一个用 Swift 语言编写的,专门用于扫描 Swift 工程无用代码的工具它的工作原理是利用了 Swift 语法树的各种回调特性,并且因为是 Swift 语言编写的关系,所以它也只能用于 Swift 工程从本质上来说,它跟 OC 时代的各种`Clang Checker`做的事情是没有多大区别的,不过从代码的维护性上来说就比 C++ 版本的 checker 要好很多实测下来,跑一次全规则扫描的时间确实挺长的,如果只是扫描无用的函数参数的话倒是非常的快,大概 10 来秒就出结果了这个工具也提供了 CI 的集成方案,总体而言算是一个比较成熟的工具了,值得推荐

## 代码

### [chameleon](https://github.com/didi/chameleon)
### 🌟 [chameleon](https://github.com/didi/chameleon)

chameleon 是来自滴滴出行的一套前端跨端整体解决方案其最大特点是目标让一套代码,同时解决微信小程序,支付宝小程序,百度小程序,快应用,CML-SDK 终端等以 MVVM 为标准的终端

Expand All @@ -150,6 +153,7 @@ chameleon 是来自滴滴出行的一套前端跨端整体解决方案。其最
### [MVVM-TemplateProject](https://github.com/popei69/TemplateProject)

用 Swift 实现 MVVM 的 Demo 项目,可以同时配合作者关于 MVVM 的 3 篇文章学习,适合新手入门

1. [How to implement MVVM pattern in Swift from scratch](https://benoitpasquier.com/ios-swift-mvvm-pattern/)
2. [Unit Testing your MVVM architecture in Swift](https://benoitpasquier.com/unit-test-swift-mvvm-pattern/)
3. [How to integrate RxSwift in your MVVM architecture](https://benoitpasquier.com/integrate-rxswift-in-mvvm/)
Expand Down

0 comments on commit 3e9648a

Please sign in to comment.