我杨某人的青春满是悔恨

48 篇文章
11 人订阅

全部文章

Sheepy

常见的客户端架构解析

最早的 MVC 于 1979 年提出,当时还需要程序员全权处理用户输入——Controller 的职责。而现在,大部分事情已经被操作系统做了,我们已经做不到“V...

703
Sheepy

RxCocoa 源码解析——代理转发

平常我们使用 RxSwift 的时候,一般不会去直接使用 delegate,譬如要处理 tableView 的点击事件,我们会这样:tableView.rx.i...

482
Sheepy

Monad 定律

monad 是支持>>=操作的 applicative 函子,>>=读作绑定,它的类型是:

693
Sheepy

Learning From Data Note 1

周末上了一节 Yaser 的网上公开课,教授的发音虽然有点奇怪,但是为人风趣,循循善诱,课程内容也是深入浅出,既有干货又不至于太过枯燥乏味。看完之后记了一点笔记...

632
Sheepy

函子定律

前段时间学了下 Haskell,看完了《Haskell 趣学指南》,刷了一些题,《Real World Haskell》正在看。因为早先看过《SICP》,有点 ...

772
Sheepy

Applicative 函子

Application 函子是一种加强的函子,在 Haskell 的 Control.Applicative 模块中定义了一个 Applicative 类型类:

541
Sheepy

深入理解 weak-strong dance

这时handler持有 Block 对象,而 Block 对象虽然捕获了weakSelf,延长了weakSelf这个局部变量的生命周期,但weakSelf是附有...

524
Sheepy

走进 RxSwift 之冷暖自知

前段时间身体跟心态都出了点问题,博客也很久没更新了。细心的朋友可能发现我的个人介绍换了,由原先高冷装逼的“谢绝转载”变为略显矫情的“人生谁能不迷茫”了。不知道大...

621
Sheepy

POP 实现 Template Method

模板方法是一种古老的设计模式,它使用一些抽象的操作定义一套算法或者流程,父类决定步骤,子类决定具体实现,当然父类可以提供一个默认实现。

591
Sheepy

一定要热爱编程才能当程序员么?

第一次接触编程,是高中的时候,参加 NOIP,学的 Pascal。但是不同于各位少年天才的传奇经历,我搞了半天没有搞出啥名头,就市里拿了点小奖,连复赛也没进。

632
Sheepy

狼人杀入坑指南

之前在年终总结里说 2017 年可能要退出搜车狼人杀 club 了,想想就这么净身出户还是有些遗憾,不如就把这两个月的游戏心得总结一下。当然我自己也是个业余选...

843
Sheepy

使用 MVVM 架构时页面跳转逻辑写在哪儿?

之前我一直在 ViewModel 中处理页面跳转逻辑,VC 直接拿到目标页面进行 push/present。前些天 Code Review 时,同事指出理论上 ...

561
Sheepy

试水 Mac 开发 —— 代码生成器

国庆的时候写了个小工具来将 JSON 转化成 Model,也算是我的第一个 Mac App,今天重构了下,顺便跟大家分享下 Mac 开发有多不方便……

452
Sheepy

如何将第三方库与业务代码解耦

日常开发中我们经常会用到各种第三方库,而如何使用别人的代码其实也有一点讲究。如果直接在业务代码中使用第三方库,导致项目对某个第三方库的依赖过重,那一旦因为各种原...

753
Sheepy

Swift API 设计指南(下)

一般来说,默认参数比方法族(method families)更可取,因为它减轻了 API 使用者的认知负担。

502
Sheepy

Swift API 设计指南(上)

本文翻译自苹果官方文档:Swift API Design Guidelines,如有错漏,欢迎指出。

823
Sheepy

RxSwift 与 BLE 实战——VisualBlue

最近发生了挺多事,也没什么时间更新博客,心中颇有点负疚感。今天就介绍一下前段时间写的一个 demo,主要功能是扫描附近的蓝牙设备,显示相关信息,点击后可以连接设...

592
Sheepy

iOS 开发中的 ViewModel

MVVM 这个模式可能大家耳朵都听出茧了,但却没有多少人真正在项目中应用过,毕竟 Cocoa Touch 整体是基于“MVC”的,没有 Controller 根...

1198
Sheepy

封装一个 Swift-Style 的网络模块

Swift 跟 OC 有着完全不同的设计哲学,它鼓励你使用 protocol 而不是 super class,使用 enum 和 struct 而不是 clas...

593
Sheepy

用 Swift 编写网络层单元测试

单元测试主要用来检测某个工作单元的结果是否符合预期,以此保证该工作单元的逻辑正确。上次写封装一个 Swift-Style 的网络模块的时候在结尾提了一下单元测试...

762

扫码关注云+社区