Effective objective-c 2.0阅读笔记】的更多相关文章

没想到Lua的作者理论水平这么高,这篇文章读的我顿生高屋建瓴之感.云风分享了一篇中译:http://www.codingnow.com/2000/download/The%20Implementation%20of%20Lua5.0.pdf 全篇的主题有4个:1.基于寄存器的虚拟机:2.用于将table作为数组使用的新算法:3.闭包的实现:4.以及协程.第二点我关注不多,会写的比较简略. 1 简介 简介主要就是说,我们搞Lua嘛,就是一个实验室出来的产品,没想到今天在工业界特别是游戏界红得发紫,…
这本书非常的好,看完后,感触挺深,总结纪录一下,针对ios开发的备忘: 注:分类和原著有些不同,自己总结学习用的,仅供参考.   系统篇: 了解oc起源:继承c,由Smalltalk演化而来.动态语言,运行期决.需要熟悉c语言.      6.  理解变量属性 a.原子性 b.读写 c.内存管理语义 d.方法名 .尽量少用atomic .注意使用copy属性避免数据安全问题. 还有oc动态语言特性,硬编码问题.类内部不要直接访问变量.      7.  还是重复了上一篇:在对象内部尽量直接访问实…
6 线程和协程 读完这篇文章我才意识到python的协程到底缺了什么,这个就是coroutine和semi-coroutine的区别了.区别就是,semi-coroutine只能返回(yield)到调用者所在位置,不能将控制权交到任意其他协程上去.具有这个特征的,都是semi-coroutine. Lua实现协程的时候,充分利用了其C栈和Lua栈.进行协程调用的时候,解释器会在C栈上会进行一次递归调用,然后协程自身的栈在新建立的Lua栈里消长.当一个协程结束的时候,解释器会退出,返回调用者(即上…
为了了解 skynet.call 的调用过程,需要先看看 skynet的队列是如何把包分到不同工作线程的.看下图 查看 global_queue 的skynet_globalmq_push和skynet_globamq_pop,很容易可以找到两个关键的函数: skyent_context_push 和 skynet_context_message_dispatch 先来看出口,skynet_context_message_dispatch.在skynet的启动函数中,我们已经知道skynet_s…
首先看skynet的启动,函数入口在 skynet_main.c 的main(),其中最重要的是: skynet_start(&config); 在skynet_start中做了两个启动: //启动了snlau服务,然后加载launch服务 bootstrap(ctx, config->bootstrap); //创建monitor,timer,socket,worker线程等 start(config->thread); 下面我们逐步跟进函数 static void bootstra…
<C# 6.0 本质论> 阅读笔记   阅读笔记不是讲述这本书的内容,只是提取了其中一部分我认为比较重要或者还没有掌握的知识,所以如果有错误或者模糊之处,请指正,谢谢! 对于C# 6.0才有的新语法基本都有标记,开发的时候要注意使用,以免造成不兼容现象. 一.第一章 1.控制台中可以使用,其会在每一次输入的时候获取键盘输入的值.可以用Console.ReadKey().KeyChar获取输入的字符. void UseReadKey() { var a = Console.ReadKey().K…
Linux 0.11源码阅读笔记-文件管理 文件系统 生磁盘 未安装文件系统的磁盘称之为生磁盘,生磁盘也可以作为文件读写,linux中一切皆文件. 磁盘分区 生磁盘可以被分区,分区中可以安装文件系统,常见的文件系统有fat32.ext2.ext4等.分区后的磁盘结构布局如下图,其中主引导扇区记录了分区信息,并且包含引导代码可用于引导操作系统. 文件系统 分区内可以安装指定文件系统,同一磁盘多个分区文件系统不要求相同.MINIX文件系统布局如下: 引导块:若作为引导分区,将存放操作系统的引导程序代…
Linux 0.11源码阅读笔记-中断过程 是什么中断 中断发生时,计算机会停止当前运行的程序,转而执行中断处理程序,然后再返回原被中断的程序继续运行.中断包括硬件中断和软件中断,硬中断是由外设自动产生的,软中断是程序通过int指令主动调用.中断产生时,会有一个中断号,根据中断号可在中断向量表中选择对应的中断处理程序执行. 中断在linux当中非常重要,是用户态代码与和心态代码相互切换运行的桥梁.进程调度依赖于时钟中断进入内核,系统调用也是依赖int 80软中断进入内核执行. 中断处理过程 以i…
Linux 0.11源码阅读笔记-总览 阅读源码的目的 加深对Linux操作系统的了解,了解Linux操作系统基本架构,熟悉进程管理.内存管理等主要模块知识. 通过阅读教复杂的代码,锻炼自己复杂项目代码的阅读能力.对于一般简短的程序,可以从main函数逐行阅读理解:对于复杂的项目,只能在了解源码主要结构的情况下,抓住某个具体的功能进行阅读. 选择较早版本的理由 Linux较新版本代码在百万行以上,而0.11版本内核不超过2万行代码.比较新版本的Linux内核源码太多且内容庞杂,自身能力不足,没有…
write by 九天雁翎(JTianLing) -- blog.csdn.net/vagrxie 前言 对于大牛来说,写关于阅读源码的文章都会叫源码剖析或者深入浅出啥的,对于我,自己阅读阅读源码,写一些自己的阅读笔记吧. SDL我就不多介绍了,很多使用过的人都说很好,我自己实际使用的感觉 SDL也是非常成熟易用,绝对对得起其 simple两字. 基本模块 通过SDL.h中看到SDL作者对SDL进行的划分,可以看出SDL大概包含的内容: #include "SDL_main.h" #i…