Python 描述符入门指北

很久都没写 Flask 代码相关了,想想也真是惭愧,然并卵,这次还是不写 Flask 相关,不服你来打我啊(就这么贱,有本事咬我啊
这次我来写一下 Python 一个很重要的东西,即 Descriptor (描述符)

Read more

Swift 3 中的函数参数命名规范指北

昨天,我开始将这个 Jayme 迁移到 Swift 3。这是我第一次将一个项目从 Swift 2.2 迁移至 Swift 3。说实话这个过程十分的繁琐,由于 Swift 3 在老版本基础上发生了很多比较大的改变,我不得不承认眼前这样一个事实,除了花费较多的时间以外,没有其余的捷径可走。不过这样的经历也带来一点好处:我对 Swift 3 的理解变得更为深入,对我来讲,这可能是最好的消息了。😃

在迁移代码的过程中,我需要做出很多的选择。更为蛋疼的是,整个迁移过程并不是修改代码那么简单,你还需要用耐心去一点点适应 Swift 3 中带来的新变化。某种意义上来讲,修改代码只是整个迁移过程的开始而已。

如果你已经决定将你的代码迁移到 Swift 3 ,我建议你去看看这篇文章来作为你万里长征的第一步。

如果一切顺利的话,在不久以后,我将回去写一篇博客来记录下整个迁移过程中的点点滴滴,包括我所作出的决定等等。但是眼前,我将会把注意力集中在一个非常非常重要的问题上:怎样正确的编写函数签名.

Read more

「最简单」的 Core Data 上手指南

在过去的几个月里,我花费了大量的时间在研究 Core Data 之上,我得去处理一个使用了很多陈旧的代码,糟糕的 Core Data 以及违反了多线程安全的项目。讲真,Core Data 学习起来非常的困难,在学习 Core Data 的时候,你肯定会感到迷惑和一种深深的挫败感。正是因为这些原因,我决定给出一种超级简单的解决方案。这个方案的特点就是简洁,线程安全,非常易于使用,这个方案能满足你大部分对于 Core Data 的需求。在经过若干次的迭代后,我所设计的方案最终成为一个成熟的方案。

Read more

详解模板引擎工作机制

我已经使用各种模版引擎很久了,现在终于有时间研究一下模版引擎到底是如何工作的了。

简介

简单的说,模版引擎是一种可以用来完成涉及大量文本数据的编程任务的工具。一般而言,我们经常在一个 web 应用中利用模板引擎来生成 HTML 。在 Python 中,当你想使用模板引擎的时候,你会发现你有不少的选择,比如jinja 或者是mako。从现在开始,我们将利用 tornado 中的模板引擎来讲解模板引擎的工作原理,在 tornado 中,自带的模板引擎相对的简单,能方便我们去深入的剖析其原理。

Read more

菜鸟阅读 Flask 源码系列(1):Flask的router初探

前言

没有一个完整的开源项目的的阅读经验的程序猿是一个不合格的程序猿,虽然曾经阅读过部分诸如 Redis 等项目的源码,但是还没有过一个完整的开源项目的阅读经验,因此在经过某个前辈的不断安利后,我决定用 Flask 来作为阅读开源源码计划的开始。而这一个系列的文章,将作为我自己的阅读笔记,来巩固自己曾经所没有重视的 Python 的很多细节。

Read more

详解Swift的类型检查器

这篇文章将围绕曾不断使我重写代码的一些 Swift 编译器的报错信息展开:

错误:你的表达式太过于复杂,请将其分解为一些更为简单的表达式。(译者注:原文是 error: expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct sub-expressions

Read more

如何检测iPhone处于低电量模式

这个星期,我阅读了一篇关于Uber怎样检测手机处于省电模式的文章。(注:文章连接是Uber found people more likely to pay) 在人们手机快要关机时,使用Uber可能会面临更高的价格。 这家公司(注:指Uber)宣称他们不会利用手机是否处于节能模式这一数据来进行定价, 但是这里我想知道 我们怎么知道用户的iPhone处于低电量模式

Read more

在Swift中实现撤销功能

在过去的一段时间里,有很多的Blog推出了关于他们想在Swift中所添加的动态特性的文章。事实上Swift 已经成为了一门具有相当多动态特性的语言:它拥有泛型,协议, 头等函数(译者注1:first-class function指函数可以向类一样作为参数传递),和包含很多可以的动态操作的函数的标准库,比如mapfilter等(这意味着我们可以利用更安全更灵活的函数来代替 KVC 来使用 字符串)(译者注2:KVC指Key-Value-Coding一个非正式的 Protocol,提供一种机制来间接访问对象的属性)。对于大多数人而言,特别希望介绍反射这一特性,这意味着他们可以在程序运行时进行观察和修改。

Read more