JM Blog

Thinking will not overcome fear but action will.

一文道尽Flutter最新最全的学习资料

Flutter最新最全的学习资料

一文道尽Flutter最新最全的学习资料 介绍 Google IO 2018 [1.1K👏] - 构建美观,灵活的用户界面。 Presentation - 为什么我会选择Flutter 由Helio S. Junior提供。 Flutter Web - Flutter Web的来龙去脉 by Nash提供. 网站/博客 Flutter技术专栏 ...

KVO详解

KVO底层原理及其实现

前言 作为一名iOS开发者,最近面试被问到了KVO的问题。其实KVO的原理以及runtiem的知识,很早之前就有学习和使用了,但是实现的细节都忘记差不多了,故再此重新梳理一下。 正文 NSKeyValueObserving ,一种非正式协议,通知其他对象的指定属性发生了改变。 简单理解就是,监听一个对象的某个属性是否发生改变。 KVO的使用 监听某个对象的某个属性 - ...

一文总结设计模式

详解设计模式

前言 看了很多寓教于学写设计模式的,看的有点头疼,注意力全都在故事上了,满脑子都是鸭子,餐厅之类,还有一堆和设计模式不相关的话,翻书都翻的挺累的。 这里我整理了下23种设计模式,没什么多余的话,代码演示,简单粗暴,借鉴的地方都附上了参考链接(做个优秀的搬运工),没附上的是自己总结的。 借鉴的例子代码,基本都做了一些精简,如果相关例子写的有什么不准确,麻烦在评论里面指出来,最好...

ARC 与 MRC 混合使用

MRC 库的处理

Xcode 项目中我们可以使用 ARC 和非 ARC 的混合模式。 有些时候我们工程中引用了十分古老的库为MRC模式,这时就需要采用混合模式进行处理 如果你的项目使用的 MRC 模式,要为 ARC 模式的代码文件加入 -fobjc-arc 标签。 如果你的项目使用的是 ARC 模式,要为 MRC 代码文件加入 -fno-objc-arc 标签 ...

中国高等教育的系统性失败

The Systematic Failure of Higher Education in China

该回答在知乎问题「如何评价上海交通大学 18 级计算机系第一名「迟先生」的言论?」 下无原因被夹。 询问我的「专属小管家」多次后仍然给不出任何原因与具体修改意见,自己多次尝试小幅修改无果,干脆直接将原文发上来吧。 高票 @Youngster38324 的回答透露出来的本质上是「中国高等教育的系统性失败」,逐层来看: 「进大学前唯分数和同质化教育」导致了太多人去大学...

OC 内存管理的基本概念

OC 内存管理的基本概念以及应用

OC 内存管理的基本概念 ###1. 内存管理的基本概念 栈区 stack 堆区 heap heap(堆)是最自由的一种内存,它完全由程序来负责内存的管理,包括什么时候申请,什么时候释放,而且对它的使用也没有什么大小的限制。在C/C++中,用alloc系统函数和new申请的内存都存在于heap段中。 BSS区 来...

Data Representation - Floating Point Numbers

「数据表示」浮点数

In the last episode we talked about the data representation of integer, a kind of fixed-point numbers. Today we’re going to learn about floating-point numbers. Floating-point numbers are used to a...

Data Representation - Integer

「数据表示」整数

Integers, or whole number from elemental mathematics, are the most common and fundamental numbers used in the computers. It’s represented as fixed-point numbers, contrast to floating-point number...

Peter John Landin

「计算机科学偶像」- 彼得·约翰·兰丁

wiki 维基 I was long curious about how does λ calculus become the foundation of formalizaing programming languages. It’s strange that I haven’t look up the answer until today: It’s i...

My Spacemacs Workflow

From Vim to Spacemacs

Emacs tend to provide a good support for functional programming languages. Indeed, many FP language community exclusively use Emacs and give only first-party IDE supports to Emacs, such as Coq, Agd...