写在黎明之前

年少之成绩,或有时而可商,年少之作为,或有时而可讨,为此独立之精神,与自由之思想,纵历百十年整,亦与沱江水长流,共三光而永光

其实突然发现,没写过点什么特殊的文字,来纪念自己这一年。

今天,2月10日,距离离职完毕还有五天,距离离开成都还有11天,距离入职,还有17天。坐在自己屋子里,看着窗外的云和雨雾,慢慢的,用一点东西,来纪念自己过去的一年。

听说你会 Python (2):Python 高阶数据结构解析

前言

之前写过一篇《听说你会 Python ?》的文章,大家反响都还不错,那么我想干脆把这个文章做成一个系列,继续讲解一下 Python 当中那些不为人知的细节吧。然后之前在和师父川爷讨论面试的时候,川爷说了一句“要是我,我就考考你们怎么去实现一个 namedtuple ,好用,方便,又能区分人”,说者无心,听者有意,我于是决定在这次的文章中,和大家聊一聊 Python 中一个特殊的高阶数据结构, namedtuple 的实现。

用 Python 实现一个最简单的对象模型

一个简单的对象模型

Carl Friedrich Bolz 是一位在伦敦国王大学任职的研究员,他沉迷于动态语言的实现及优化等领域而不可自拔。他是 PyPy/RPython 的核心开发者之一,于此同时,他也在为 Prolog, Racket, Smalltalk, PHP 和 Ruby 等语言贡献代码。这是他的 Twitter @cfbolz

听说你会 Python ?

前言

最近觉得 Python 太“简单了”,于是在师父川爷面前放肆了一把:“我觉得 Python 是世界上最简单的语言!”。于是川爷嘴角闪过了一丝轻蔑的微笑(内心 OS:Naive!,作为一个 Python 开发者,我必须要给你一点人生经验,不然你不知道天高地厚!)于是川爷给我了一份满分 100 分的题,然后这篇文章就是记录下做这套题所踩过的坑。

Swift 声明式程序设计

在我第一份 iOS 开发工程师的工作中,我编写了一个 XML 解析器和一个简单的布局工具,两个东西都是基于声明式接口。XML 解析器是基于 .plist 文件来实现 Objective-C 类关系映射。而布局工具则允许你利用类似 HTML 一样标签化的语法来实现界面布局(不过这个工具使用的前提是已经正确使用 AutoLayout & CollectionViews)。

尽管这两个库都不完美,它们还是展现了声明式代码的四大优点:

  • 关注点分离: 我们在使用声明式风格编写的代码时声明了意图,从而无需关注具体的底层实现,可以说这样的分离是自然发生的。
  • 减少重复的代码: 所有声明式代码都共用一套样式实现,这里面很多属于配置文件,这样可以减少重复代码所带来的风险。
  • 优秀的 API 设计: 声明式 API 可以让用户自行定制已有实现,而不是将已有实现做一种固定的存在看待。这样可以保证修改程度降至最小。
  • 良好的可读性: 讲真,按照声明式 API 所写出来的代码简直优美无比。

Python 描述符入门指北

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

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

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

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

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

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

聊聊 Python 中生成器和协程那点事儿

写在前面的话

本来想这周继续写写 Flask 那点破事儿的,但是想了想决定换换口味,来聊聊很不容易理解但是很重要的 Python 中的生成器和协程。

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

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

详解模板引擎工作机制

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

简介

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

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×