GCD底层并发API

这篇文章里,我们将会讨论一些 iOS 和 OS X 都可以使用的底层 API。除了 dispatch_once ,我们一般不鼓励使用其中的任何一种技术。

但是我们想要揭示出表面之下深层次的一些可利用的方面。这些底层的 API 提供了大量的灵活性,随之而来的是大量的复杂度和更多的责任。在我们的文章常见的后台实践中提到的高层的 API 和模式能够让你专注于手头的任务并且免于大量的问题。通常来说,高层的 API 会提供更好的性能,除非你能承受起使用底层 API 带来的纠结于调试代码的时间和努力。

常见的后台实现

概览

本文主要探讨一些常用后台任务的最佳实践:

  1. 如何做异步网络请求
  2. 如何异步处理大型文件,以保持较低的内存占用

操作队列 (Operation Queues) 还是 GCD ?

操作队列提供了在 GCD 中不那么容易复制的有用特性。其中最重要的一个就是可以取消在任务处理队列中的任务,而且操作队列在管理操作间的依赖关系方面也容易一些。 GCD 给予你更多的控制权力以及操作队列中所不能使用的底层函数。详细介绍可以参考底层并发 API 这篇文章。

iOS多线程API介绍

并发所描述的概念就是同时运行多个任务。这些任务可能是以在单核 CPU 上分时(时间共享)的形式同时运行,也可能是在多核 CPU 上以真正的并行方式来运行。

OS X 和 iOS 提供了几种不同的 API 来支持并发编程。每一个 API 都具有不同的功能和使用限制,这使它们适合不同的任务。同时,这些 API 处在不同的抽象层级上。我们有可能用其进行非常深入底层的操作,但是这也意味着背负起将任务进行良好处理的巨大责任。

iOS视图渲染

图形堆栈

当像素映射到屏幕上的时候,后台发生了很多事情。但一旦他们显示到屏幕上,每一个像素均由三个颜色组件构成:红,绿,蓝。三个独立的颜色单元会根据给定的颜色显示到一个像素上。在 iPhone5 的液晶显示器上有1,136×640=727,040个像素,因此有2,181,120个颜色单元。在15寸视网膜屏的 MacBook Pro 上,这一数字达到15.5百万以上。所有的图形堆栈一起工作以确保每次正确的显示。当你滚动整个屏幕的时候,数以百万计的颜色单元必须以每秒60次的速度刷新,这是一个很大的工作量。

iResearcher简介

简介

iResearcher是一款科研/研发领域大数据分析系统+应用。旨在为科研/技术研发工作者提供 资源直达服务。iResearcher计划提供的资源服务既包括论文,方法,数据集,也包括人,资金等。最终建立,人与人,人与资金,人与技术方法之间的互联。为科研/研发工作者,提供一站式科研服务平台。

NSURLSession的使用说明

iOS 7 和 Mac OS X 10.9 Mavericks 中一个显著的变化就是对 Foundation URL 加载系统的彻底重构。

现在已经有人在深入苹果的网络层基础架构的地方做研究了,所以我想是时候来分享一些对于我对于这些新的 API 的看法和心得了,新的 API 将如何影响我们编写程序,以及它们对于 API 设计理念的影响。

支持OSX浏览PDF简单视图

运行scheme: PDFReaderForOSX 即可

{% github it-boyer PDFReader 737a7e %}

支持iOS

pageViewController: pdf翻页效果视图控制器 startingViewController:DataViewController,翻页视图控制器的视图源 modelController:ModelController:NSObject,数据视图数据源的model模型。

ngrok使用

注册

1.注册https://ngrok.com/signup

  1. Start by downloading ngrok.
  2. Install your authtoken
1
./ngrok authtoken 2tpoyojTzL5w55Y4na5DY_3shJgaMVzjJ*****
  1. Create your first secure tunnel
1
./ngrok http 80
  1. Open the web interface at http://localhost:4040 to inspect and replay requests
  2. Read the documentation for instructions on advanced features like adding HTTP authentication, setting custom subdomains and more.

开启TCP协议

  1. 开启TCP实现SSH远程访问. 详见
1
./ngrok tcp 22

如图:

搞定III目录笔记

11个模型

《搞定III》

第1章 GTD现象 几类读者:似懂非懂型,止步于列举清单等 第二类:很难坚持 第三类:学以致用型 如何阅读本书: 手头备小本子,“假设的肯定” 自我培训:可信赖,可操作,长期追踪的步骤找到最终答案 相信自己的决定的钥匙

在space-vim平台安装若干插件

space-vim

首次启用一个 layer,需要执行 SPC f R, 或者 :so $MYVIMRC, 重新加载 .vimrc 并执行 :PlugInstall 安装所需的相关插件 。或者退出重新打开 vim, vim-plug 将会检测并自动安装缺失的插件。 基于vim-plug的插件管理平台 vim-plug命令工具