2016-08-16 jude
声明 本文系 sinatra 源码系列第 4 篇。系列的目的是通过 sinatra 学习 ruby 编程技巧。文章按程序运行的先后顺序挑重点分析,前一篇文章分析过的略去不说。水平很有限,所写尽量给出可靠官方/讨论链接,不坑路人。 继续阅读 »
2016-09-06 jude
声明 本文系 sinatra 源码系列第 5 篇。系列的目的是通过 sinatra 学习 ruby 编程技巧。文章按程序运行的先后顺序挑重点分析,前一篇文章分析过的略去不说。水平很有限,所写尽量给出可靠官方/讨论链接,不坑路人。 继续阅读 »
2016-06-12 jude
声明 本文系 sinatra 源码系列第 1 篇。系列的目的是通过 sinatra 学习 ruby 编程技巧。文章按程序运行的先后顺序挑重点分析,前一篇文章分析过的略去不说。水平很有限,所写尽量给出可靠官方/讨论链接,不坑路人。 继续阅读 »
2016-07-29 jude
原理 将待排序元素分为前后两部分,分别调用归并排序使它们有序 从头开始逐个比较前后两部分的元素,根据比较结果先后放进新数组,最终返回这个新数组 联想 归并排序用到了递归,递归终止的条件是待排序元素数量小于 2 归并排序比较之后不会交换元素,而是生成新的数组 继续阅读 »
2016-10-15 Robert Zhang
为什么不是Rails?因为Rails太臃肿了!如果你有一个好创意,你应该从Sinatra轻快地开始。Sinatra十分轻盈——它只是在Rack的基础上添加了一些必要的辅助功能,如routes、views以及一些HTTP辅助方法,总共不到2500行代码(v1.4.7)——框架代码越少越好,这样你就容易掌控全局;相比之下,Rails仅ActiveRecord代码就超过35000行! 继续阅读 »
2015-08-23 jude
about blocks methods can calll yield may times def many_yields yield(:peanut) yield(:butter) yield(:and) yield(:jelly) end 继续阅读 »
2016-06-23 jude
《编程珠玑》第 32 页,提到:“尽管第一个二分查找程序于1946年就已经公布了,但是第一个没有 bug 的二分查找程序在 1962 年才出现。”还说参加课堂测试的专业程序员中, 90% 写的二分查找程序都有 bug 。 真的有那么难吗?我心血来潮,动手写起了快排(不要问为什么不是二分查找)。隐约记得快排的原理如下: 继续阅读 »
2017-01-18 JustWe
AppCode 中添加了直接对CocoaPods的关联: 但是直接关联 Ruby SDK 和 CocoaPods 的时候会发现提示错误: ruby Usage of the constant `Pod::SourcesManager` is deprecated, use `Pod::Config.instance.sources_manager` instead (called from /Applications/AppCode.app/Contents/bin/cocoapods_common.rb:4:in `init_master_repo') Usage of the co 继续阅读 »
2016-07-05 jude
这是一个基础算法系列,主题是:为什么知道原理还是写不出正确的程序呢? 第一篇已经写好,叫做我尝试去写快排,结果。。。。文章结构都差不多:原理、联想、用法、框架、分步实现、完整代码及测试用例。 原理 插入排序的原理是: - 将集合分为两个部分:已排好的部分和待排序的部分 - 每次从待排序部分抽一个元素跟已排好部分中的元素逐一比较,直到找到合适的位置,插入待排序元素 - 合适的位置可以是第一个比待排序元素小(大)的,也可能是已排好部分的下界 继续阅读 »
2016-07-31 jude
原理 堆排序中的“堆”,它是: 一棵完全二叉树 树的每个节点都不比它的两个子节点小(有序) 由此得到最有用的信息:根节点是二叉树里面最大的元素 堆排序的过程是: 构造有序的堆 输出并删除最大的元素 重复前面两个步骤 继续阅读 »