「最简单」的 Core Data 上手指南
原文地址:The Easiest Core Data 原文作者:Alberto De Bortoli 译文出自:掘金翻译计划 译者:Zheaoli 校对者:Kulbear, cbangchen 在过去的几个月里,我花费了大量的时间在研究 Core Data 之上,我得去处理一个使用了很多陈旧的代码,糟糕的 Core Data 以及违反了多线程安全的项目。讲真,Core Data 学习起来非常的困难,在学习 Core Data 的时候,你肯定会感到迷惑和一种深深的挫败感。正是因为这些原因,我决定给出一种超级简单的解决方案。这个方案的特点就是简洁,线程安全,非常易于使用,这个方案能满足你大部分对于 Core Data 的需求。在经过若干次的迭代后,我所设计的方案最终成为一个成熟的方案。OK,女士们,先生们,现在请允许我隆重向您介绍 Skiathos 和 Skopelos。其中 Skiathos 是基于 Objective-C 所开发的,而 Skopelos 则基于 Swift...
详解模板引擎工作机制
原文地址:How a template engine works 原文作者:Shipeng Feng 译文出自:掘金翻译计划 译者: Zheaoli 校对者:Kulbear, hpoenixf 我已经使用各种模版引擎很久了,现在终于有时间研究一下模版引擎到底是如何工作的了。 简介简单的说,模版引擎是一种可以用来完成涉及大量文本数据的编程任务的工具。一般而言,我们经常在一个 web 应用中利用模板引擎来生成 HTML 。在 Python 中,当你想使用模板引擎的时候,你会发现你有不少的选择,比如jinja 或者是mako。从现在开始,我们将利用 tornado 中的模板引擎来讲解模板引擎的工作原理,在 tornado 中,自带的模板引擎相对的简单,能方便我们去深入的剖析其原理。 在我们研究(模版引擎)的实现原理之前,先让我们来看一个简单的接口调用例子。 123456789101112131415from tornado import templatePAGE_HTML = """<html> Hello,...
菜鸟阅读 Flask 源码系列(1):Flask的router初探
文章来源:itsCoder 的 WeeklyBolg 项目 itsCoder主页:http://itscoder.com/ 作者:写代码的香港记者 审阅者:Brucezz 前言没有一个完整的开源项目的的阅读经验的程序猿是一个不合格的程序猿,虽然曾经阅读过部分诸如 Redis 等项目的源码,但是还没有过一个完整的开源项目的阅读经验,因此在经过某个前辈的不断安利后,我决定用 Flask 来作为阅读开源源码计划的开始。而这一个系列的文章,将作为我自己的阅读笔记,来巩固自己曾经所没有重视的 Python 的很多细节。 关于 Flask关于 Flask 的背景知识,就不需要太多的描述了,网上已经有很多的资料了。在使用 Flask 的时候,我们经常用如下的方式来设置我们的自定义的路由: 12345678910111213141516171819202122232425262728293031323334353637##Flask官方Example中flaskr项目部分代码app = Flask(__name__)@app.route('/')def...
详解Swift的类型检查器
原文链接: Exponential time complexity in the Swift type checker 原文作者: Matt Gallagher 译文出自: 掘金翻译计划 译者: Zheaoli 校对者: geeeeeeeeek, Graning 这篇文章将围绕曾不断使我重写代码的一些 Swift 编译器的报错信息展开: 错误:你的表达式太过于复杂,请将其分解为一些更为简单的表达式。(译者注:原文是 error: expression was too complex to be solved in reasonable time; consider breaking up the expression into distinct...
如何检测iPhone处于低电量模式
原文链接 : Detecting low power mode 原文作者 : useyourloaf 译文出自 : 掘金翻译计划 译者 : Zheaoli 校对者 : LoneyIsError, wild-flame 这个星期,我阅读了一篇关于Uber怎样检测手机处于省电模式的文章。(注:文章连接是Uber found people more likely to pay) 在人们手机快要关机时,使用Uber可能会面临更高的价格。 这家公司(注:指Uber)宣称他们不会利用手机是否处于节能模式这一数据来进行定价, 但是这里我想知道 我们怎么知道用户的iPhone处于低电量模式 低电量模式在iOS 9中,苹果为iPhone手机新添加了 低电量模式 功能。在你能充电之前,低电量模式通过关闭诸如邮件收发,Siri,后台消息推送能耗电功能来延长你的电池使用时间。 在这里面,很重要的一点是,是否进入低电量模式是由用户自行决定的。...
在Swift中实现撤销功能
原文链接 : Undo History in Swift 原文作者 : chriseidhof 译文出自 : 掘金翻译计划 译者 : Zheaoli 校对者: xcc3641, Jaeger 在过去的一段时间里,有很多的Blog推出了关于他们想在Swift中所添加的动态特性的文章。事实上Swift 已经成为了一门具有相当多动态特性的语言:它拥有泛型,协议, 头等函数(译者注1:first-class function指函数可以向类一样作为参数传递),和包含很多可以的动态操作的函数的标准库,比如map和filter等(这意味着我们可以利用更安全更灵活的函数来代替 KVC 来使用 字符串)(译者注2:KVC指Key-Value-Coding一个非正式的 Protocol,提供一种机制来间接访问对象的属性)。对于大多数人而言,特别希望介绍反射这一特性,这意味着他们可以在程序运行时进行观察和修改。 在Swift中,反射机制受到很多的限制,但是你仍然你可以在代码运行的时候动态的生成和插入一些东西。...
关于PostCSS的一点小科普
原文链接 : PostCSS – What It Is And What It Can Do 原文作者 : Jake Bresnehan 译文出自 : 掘金翻译计划 译者 : Zheaoli 校对者: aidistan, JolsonZhu PostCSS起源于2013年9月,发展到现在,已经有很多开发者在工作中使用它。如果你尚未接触过PostCSS,这篇文章正适合你。 PostCSS是一个使用JavaScript插件来转换CSS的工具。 PostCSS本身很小,其只包含CSS解析器,操作CSS节点树的API,资源生成器(译者注1:原文是source map),以及一个节点树字符串化工具。所有的黑魔法都是通过利用插件实现的。 截止目前,PostCSS的生态圈内已经拥有超过100种插件。这些插件可以做太多的事情,比如lint(译者注2:一种用来检测CSS代码的工具),添加vendor...
Swift 3.0 新增安全特性的一点普及
原文链接 : WWDC 2016: Increased Safety in Swift 3.0 原文作者 : Matt Mathias 译文出自 : 掘金翻译计划 译者 : Zheaoli 校对者: llp0574, thanksdanny 在 Swift 发布之后,Swift 的开发者一直在强调,安全性与可选择类型是 Swift 最为重要的特性之一。他们提供了一种nil的表示机制,并要求有一个明确的语法在可能为nil的实例上使用。 可选择类型主要以下两种: Optional ImplicitlyUnwrappedOptional 第一种做法是一种安全的做法:它要求我们去拆解可选类型变量是为了访问基础值。第二种做法是一种不安全的做法:我们可在不拆解可选择类型变量的情况下直接访问其底层值。比如,如果在变量值为 nil 的时候,使用 ImplicitlyUnwrappedOptional 可能会导致一些异常。 下面将展示一个关于这个问题的例子: 1234let x: Int! = nilprint(x) // Crash! `x` is nil! 在 Swift...
好与坏,Swift面面观 Part2
原文链接 : Good Swift, Bad Swift — Part 2 原文作者 : Kristian Andersen 译文出自 : 掘金翻译计划 译者 : Zheaoli 校对者: owenlyn, yifili09 不久之前,在我写的好与坏,Swift面面观 Part1一文中,我介绍了一些关于在 Swift 里怎样去写出优秀代码的小技巧。在 Swift 发布到现在的两年里,我花费了很长时间去牢牢掌握最佳的实践方法。欲知详情,请看这篇文章:好与坏,Swift面面观 Part1. 在这个系列的文章中,我将尝试提炼出我认为的 Swift 语言中好与不好的部分。唔,我也希望在未来有优秀的 Swift 来帮助我征服 Swift (唔,小伙子,别看了,中央已经决定是你了,快念两句诗吧)。如果你有什么想法,或者想告诉我一点作为开发者的人生经验什么的话,请在 Twitter 上联系我,我的账号是 ksmandersen。 好了废话不多说,让我们开始今天的课程吧。 guard 大法好,入 guard 保平安在 Swift 2.0 中, Swift...