Programming
Rust 中的日志库
· ☕ 1 min read

log 库

log 是 Rust 的一个“日志门面” 库。
它把日志实际的功能抽象出来,提供了单独的 API ,具体的日志库则实现 log 定义的 API 。这样实现的好处就在于,不用绑定特定的日志框架,在程序启动时指定即可。


iOS 高级教程:用 MVVM 处理复杂的TableView
· ☕ 8 min read
在本文,我们将讨论如何 用 Model-View-ViewModel(MVVM) 模式来组织 table view 代码。MVVM 是一种架构模型,它使用数据模型表示视图状态。我们可以使用很多 Swift 技术, 使 UI 逻辑包装成数据模型。例如使用协议和闭包简化 table view 中的代码。

git-flow 工作流程
· ☕ 3 min read
当我们选择 Git 作为版本控制系统时,使用一个统一的工作流程是非常重要的。 Git 在分支控制上面做得非常好,但是如果团队在开发中没有使用有效的工作流程,

OpenGL 入门: 画一个三角形
· ☕ 7 min read
使用 OpenGL 绘制一个三角形需要以下几个步骤: 编写一个 Vertex Shader 和 一个 Fragment Shader 编译、链接着色器 传递顶点坐标 链接顶点属性 绘制 顶点输入 开始绘制图形之前,我们必须先

OpenGL 入门: GLFW 绘制窗口
· ☕ 3 min read
在绘制一个三角形之前,首先要做的就是创建一个 OpenGL 上下文(Context) 和一个用于显示的窗口。 在这里使用 GLFW 库。 GLFW GLFW 是一个专门针对 OpenGL 的 C 语言库,

OpenGL 入门: OpenGL 简介
· ☕ 5 min read
什么是 OpenGL OpenGL 一般被认为是一个 API(Application Programming Interface, 应用程序编程接口),包含了一系列可以操作图形、图像的函数。然而,OpenGL 本身

「Rust 2018」中的模块路径
· ☕ 2 min read

Rust 2018 引入了一些新的模块系统功能,但它们最终简化了模块系统,使其更加清晰。

总结来说是以下几点:

  • 99% 的情况下不再需要 extern crate
  • crate 关键字指的是当前的箱子(crate)。
  • 绝对路径以包名称开头,其中关键字 crate 指的是当前包。
  • foo.rsfoo/ 子目录可以共存;将子模块放在子目录中时不再需要 mod.rs

访问 iCloud 云盘文件
· ☕ 1 min read
UIDocumentPickerViewController 苹果提供的一个控制器,它为我们提供了访问应用沙盒之外的文件或者目标的能力。

Go 1.11 新特性:Go Modules
· ☕ 3 min read

Go 1.11 为 modules 带来了实验性支持,这是Go的一个新的依赖管理系统。


Dart 笔记 - 异步
· ☕ 2 min read
Dart 有一些语言特性来支持 异步编程。 最常见的特性是 async 和 await。 Dart 库中有很多返回 Future 或者 Stream 对象的方法。 这些方法是 异步的: 这些函数在设置完基本的操

Dart 笔记 - 库
· ☕ 2 min read
使用 import 和 library 指令可以帮助你创建模块化的可分享的代码。 库不仅仅提供API,还是一个私有单元;以下划线 (_) 开头的标识符只有在库 内部可见。每个 Dart app 都是