-
CPU架构ARM与X86介绍
做移动端开发的时候,编译器设置里会遇到Architectures配置,使用第三方库的时候也经常会遇到Architectures的报错。所以作为开发者应该了解常用的CPU架构。CPU架构的发展Inter与AMD在IBM发明了PC成为霸主的年代,Inter(英特尔)还只是一个小公司。曾经IBM采购Intel的X86处理器来生产自家PC,但Intel一家无法满足IBM的订单,于是IBM要求Intel找伙伴公司代工生产X86处理器,同时IBM为了规避将来可能出现的采购风险,要求英特尔将x86专...…
-
AOT与JIT介绍
Flutter框架使用Dart语言开发,Dart有着很好的可移植性,这得益于Dart语言的AOT技术,本文介绍AOT和JIT编译。AOT与JIT编译AOT(Ahead of Time)即运行前编译,与之对应的是JIT(Just in Time)即运行时编译。众所周知,编程语言基本上都是人类可读的,但程序的源码并不能够被处理器直接执行,所以编译器或者解释器就需要将源代码转变为 CPU可以操作的指令。比如一个加法函数最终需要执行 addl 汇编指令对应的机器码。对于转变为机器码的时机,不同...…
-
Flutter UI开发Widget选型
刚接触Flutter的时候,UI开发常常会遇到选用StatefulWidget还是StatelessWidget的问题。良好的设计能提升开发效率和维护成本,所以Flutter平台下的开发者应该掌握这个知识点。State介绍在选择Stateful和Stateless之前,先要了解清楚State。一个StatefulWidget类会对应一个State类,State表示与其对应的StatefulWidget要维护的状态,State中的保存的状态信息可以: 在widget build时可以被...…
-
ABI Stability
随着Swift5一起发布的,还有ABI稳定。这对于Swift的发展来说意味深远。作为Apple平台下开发者,了解这个十分必要。什么是ABI?在运行时,通过Swift编写的二进制程序通过ABI和其他的程序库或组件进行交互。ABI是Application Binary Interface的缩写,它是一个规范,通过这个规范,所有被独立编译的二进制实体才能被链接在一起并执行。这些二进制实体必须在一些很低层的细节上达成一致,例如:如何调用函数,如何在内存中表示数据甚至是如何存储以及访问metad...…
-
HTTP Header - ContentType
终端开发少不了和服务端进行网络交互,在大部分平台成熟的框架里,对于API交互封装的非常好,但是如果你需要自己封装网络层的时候就需要了解HTTP Header里的一些基本概念。本文主要介绍ContentType和Accept。ContentTypeContent-Type用于指示资源的MIME类型。在终端开发中常用的ContentType有三种类型:application/x-www-form-urlencoded、multipart/form-data、application/json...…
-
揭秘iOS布局
在你刚开始开发 iOS 应用时,最难避免或者是调试的就是和布局相关的问题。通常这种问题发生的原因就是对于 view 何时真正更新的错误理解。想理解 view 在何时是如何更新的,需要对 iOS run loop 和相关的 UIView 方法有深刻的理解。这篇文章会介绍这些关联,希望能帮你澄清如何用 UIView 的方法来获得正确的行为。一个 iOS 应用的主 Run loop一个 iOS 应用的主 Run loop 负责处理所有的用户输入事件并触发相应的响应。所有的用户交互都会被加入到一个...…
-
iOS 开发中的锁
本文的目的不是介绍 iOS 中各种锁如何使用,一方面笔者没有大量的实战经验,另一方面这样的文章相当多,比如 iOS中保证线程安全的几种方式与性能对比、iOS 常见知识点(三):Lock。本文也不会详细介绍锁的具体实现原理,这会涉及到太多相关知识,笔者不敢误人子弟。本文要做的就是简单的分析 iOS 开发中常见的几种锁如何实现,以及优缺点是什么,为什么会有性能上的差距,最终会简单的介绍锁的底层实现原理。水平有限,如果不慎有误,欢迎交流指正。同时建议读者在阅读本文以前,对 OC 中各种锁的使用方...…
-
Dispatch Source
关于Dispatch SourceDispatch Source是GCD中的一种基本数据类型,从字面意思可称其为调度源,它用于处理特定的系统底层事件,即:当一些特定的系统底层事件发生时,调度源会捕捉到这些事件,然后可以做相应的逻辑处理。Dispatch Source可用来监听以下几类事件: Timer Dispatch Source:定时调度源。 Signal Dispatch Source:监听UNIX信号调度源,比如监听代表挂起指令的SIGSTOP信号。 Descriptor D...…
-
Test Syntax Highlight
NSLog("%s", __FUNCTION__);if (a == 1) { return;} else {}…
-
Hello World - Vno
What’s thisVno Jekyll is a theme for Jekyll. It is a port of my Ghost theme vno, which is originally developed from Dale Anthony’s Uno.Usage$ git clone https://github.com/onevcat/vno-jekyll.git your_site$ cd your_site$ bundler install$ bundler exe...…