MENU

RxSwift 基础

在 iOS 开发过程中,我们几乎无时无刻都要面对异步事件的处理。例如,按键点击、数据保存、、音频后台播放、交互动画展示。这些事件并不具备特定时序性,甚至它们可能同时发生。

虽然 Apple 提供了通知、代理、GCD、闭包等异步机制,但是这些机制缺乏一个统一的抽象表述。另外,这些机制在处理共享的可变数据或状态时不够清晰简练。当然,这并不是说编写优雅的异步代码不现实。毕竟与其他平台相比 iOS 的异步机制还是很强大的。

幸运的是,我们能够通过 RxSwift 优雅的处理异步代码。

阅读全文

Express 实战(八):利用 MongoDB 进行数据持久化

Cover

毫无疑问,几乎所有的应用都会涉及到数据存储。但是 Express 框架本身只能通过程序变量来保存数据,它并不提供数据持久化功能。而仅仅通过内存来保存数据是无法应对真实场景的。因为内存本身并不适用于大规模的数据储存而且服务停止后这些数据也会消失。虽然我们还可以通过文件的形式保存数据,但是文件中的数据对于查询操作明显不友好。所有,接下来我们将学习如何在 Express 中通过 MongoDB 数据库的形式来对数据进行持久化存储。

本文包含的主要内容有:

  • MongoDB 是如何工作的。
  • 如何使用 Mongoose 。
  • 如何安全的创建用户账户。
  • 如何使用用户密码进行授权操作。

阅读全文

Express 实战(七):视图与模板:Pug 和 EJS

2017-08-23-cover.jpg
前面的内容大都是关于 Express 框架自身的内容,包括:Express 简介、工作原理、框架特点。在系列的最后,我们将把注意力放到 Express 框架周边工具链上。学习如果使用这些工具来拓展 Express 框架的功能。

首先,本文我们将会讨论视图模版引擎的使用。通过这些模版引擎我们能过动态的生成 HTML 内容。在前面我们已经使用过 EJS 并使用变量语法实现内容的注入。但是这些内容只是整个模版引擎部分的冰山一角。接下来,将会学习到多种内容注入方式、EJS,Pug 等模版引擎的特性。


阅读全文

Express 实战(六):构建 API 接口

Cover

在介绍了那么多 Express 核心概念之后,接下来的文章将会把注意力放在如何构建一个真实的应用上。这里我们先从构建应用 API 接口开始。从某种程度上来说几乎所有的软件应用其背后都是由一组强大的 API 驱动。

其实 API 就是一种代码之间交互的一种方式,它既可以是在程序内部也可以是通过网络的跨机器进行。例如,Express 中的 app.useapp.get 就属于在内部使用 API 。而通过 HTTP 或者 FTP 等协议发送 JSON、XML 数据的方式则属于后者。对于后一种方式需要注意的是,API 的提供者和使用者必须对数据格式做出约定。在本文示例中,我们将会讨论如何使用 Express 构建后一类型的 API 接口,同时所有 HTTP 接口返回的数据格式都将使用 JSON。

阅读全文

Express 实战(五):路由

Cover

作为 Express 中的最大特点之一,路由让你可以将不同的请求映射到不同的中间件中。这一章我们将会深入学习这部分的内容,另外还包括如何在 Express 使用 HTTPS 以及部分 Express 4 中的新特性等等。当然,学习过程还是通过示例应用和代码的形式进行展现的。

阅读全文