摘要:
阅读全文
摘要:
一、SQL语句执行顺序 结合上图,整理出如下伪 SQL 查询语句。 从这个顺序中可以发现 所有的查询语句都是从 FROM 开始执行的。在实际执行过程中,每个步骤都会为下一个步骤生成一个虚拟表,这个虚拟表将作为下一个执行步骤的输入。 接下来,我们详细的介绍下每个步骤的具体执行过程。 二、FROM:执行 阅读全文
摘要:
一、SQL 语句 什么是 SQL SQL 全称 structured query language 结构化查询语言,是用于访问和处理数据库的标准的计算机语言。 SQL 指结构化查询语言 SQL 使我们有能力访问数据库 SQL 是一种 ANSI 的标准计算机语言 SQL 能做什么? SQL 可与数据库 阅读全文
摘要:
一、读写锁读写锁实际是一种特殊的自旋锁,它把对共享资源的访问者划分成读者和写者,读者只对共享资源进行读访问,写者则需要对共享资源进行写操作。读操作可以共享,写操作是排他的,可以有多个在读(与 CPU 数相关),只能有唯一个在写,但不能同时既有读者又有写者。如果读写锁当前没有读者,也没有写者,那么写者可以立刻获得读写锁,否则它必须自旋在那里,直到没有任何写者或读者。如果读写锁没有写者,那么读者可以立... 阅读全文
摘要:
一、NSOperation 和 NSOperationQueue 简介NSOperation、NSOperationQueue 是苹果提供给开发者使用的一套多线程解决方案。实际上是基于 GCD的更高一层的封装,完全面向对象。但是比 GCD 更简单易用、代码可读性也更高。为什么要使用 NSOperation、NSOperationQueue? 添加在操作完成后执行的代码; 添加操作之间的依赖关... 阅读全文
摘要:
Github:AOMultiproxier、HJProtocolDispatcher协议实现分发器,能够轻易实现将协议事件分发给多个实现者。一、AOMultiproxier.h#define AOMultiproxierForProtocol(__protocol__, ...) ((AOMultiproxier *)[AOMultiproxier multiproxierForProtocol... 阅读全文
摘要:
方式 1:#!/usr/bin/env python# _*_ coding:utf-8 _*_#第一步:首先生成一个500位的数组 驼峰类型的元素 用作文件名 eg:AsdfdfGsdimport randomimport os,sysimport stringfirst = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"second = "abcdefghijklmnopqrstuv... 阅读全文
摘要:
一、Massive AppDelegateAppDelegate 是应用程序的根对象,它连接应用程序和系统,确保应用程序与系统以及其他应用程序正确的交互,通常被认为是每个 iOS 项目的核心。随着开发的迭代升级,不断增加新的功能和业务,它的代码量也不断增长,最终导致了 Massive AppDelegate。在复杂 AppDelegate 里修改任何东西的成本都是很高的,因为它将会影响你的整个 A... 阅读全文
摘要:
将一个工程分解成各个组件,然后按照某种方式任意组织成为一个拥有完整业务逻辑的工程。大致讨论组件化的三种方案:url-block、protocol-class(和 url-controller 类似)、target-action,以及应用这三种组件化方案的时机、步骤、利弊等。一、为什么需要组件化随着公司业务的不断发展,项目的功能越来越复杂,各个业务代码耦合越来越多,代码量急剧增加,传统的 MVC 或... 阅读全文
摘要:
一、ImageMagick使用 ImageMagick 对 png 图片做轻量压缩(基本没有减少体积),不损失图片质量,会改变图片文件 hash 值。方法:安装 ImageMagick $ brew install imagemagick压缩工程目录下所有 png 文件 find . -iname "*.png" -exec echo {} \; -exec convert {} {} \... 阅读全文