Hotodogo: Night-City
#Hello Edgerunners, welcome to the Night-City.

Welcome!

UNIX/Linux 终端常用快捷键

常用终端快捷键 ⌃ + y: 粘贴⌃ + u、⌃ + k、⌃ + w删除的文本。 ⌃ + p: 上一个使用的历史命令。 (p: previous) ⌃ + n: 下一个使用的历史命令。 (n: next ) ⌃ + r: 快速检索历史命令。 (r: retrieve) 。 ⌃ + t: 交换光标所在字符和其前的字符。 ⌃ + i: 相当于Tab。 ⌃ + o: 相当于⌃ + m. ⌃ + m: 相当Enter。 ⌃ + s: 使终端发呆,静止,可以使快速输出的终端屏幕停下来。 ⌃ + q: 退出⌃ + s引起的发呆。 ⌃ + z: 使正在运行在终端的任务,运行于后台。 (可用fg恢复) ⌃ ...

iOS : 关闭 NSLog

在 iOS 开发中经常会用到 NSLog 方法输出一些调试日志到控制台,随着开发进程的推进,日志输出变得越来越多,应用发布后因此所产生的不必要的资源浪费也与日俱增,那么怎样解决这个问题呢? 当然,你可以单纯的全局替换 NSLog 为 // NSLog,但作为一个高傲的研发工程师的你怎么妥协于这种愚蠢的策略呢? 事实上虽然并不推崇大量使用宏定义(众所周知,宏定义的广泛使用可能会带来一些不必要问题,这也是为什么 Java 等语言摒弃了宏),但某些情景下宏的使用也不失为一种好的策略。 #ifdef DEBUG #define NSLog(...) NSLog(__VA_ARGS__) #else ...

iOS 入门 019: JSON 浅析

JSON 标记语言 采用了Java Script语法,可以直接解析JS中的JSON数据 键 key值 值 value值 键与值之间用:分隔 对象 {"name":"Bill","age":"20"} 等价于Java Script中的: name = "Bill" age = "20" 数组 ["name","age","obj"{"title":"someobj"}] 字符串 "some String" 数字 包括整型与浮点型 逻辑值 true和false null 空 键值对 key:value 多个键值对之间用...

iOS 入门 020: HTTP 浅析

URL URL的全称是Uniform Resource Locator(统⼀资源定位符) 通过一个URL,能找到互联⽹上唯⼀的一个资源,依赖于网络资源,不能随意更改 URL就是资源的地址、位置,互联⽹上的每个资源都有一个唯一的URL URL的基本格式 = 协议: //主机地址/路径 协议 不同的协议,代表着不同的资源查找⽅方式、资源传输⽅方式 主机地址 存放资源的主机的IP地址(域名) 路径 资源在主机中的具体位置 URL中常见的协议 HTTP 超⽂文本传输协议,访问的是远程的网络资源,格式是https:// http协议是在⽹网络开发中最常⽤用的协议 file ...

PHP 与 RegEx 浅析 001: 概述

PHP 得益于其简单易学的特性,从上世纪 90 年代一直流行至今。 对于本文所要讲到的正则表达式,PHP 也有相当完备的支持,甚至它提供了至少三套独立的正则引擎: preg - Perl Regular Expressions ereg - Extended Regular Expressions bm_ereg 由于 preg 在通常情况下速度与功能都要优于另外两者,所以本系列主要介绍 preg 引擎。 preg 属于 NFA 流派,是一组 Perl 兼容正则表达式 (PCRE,Perl Compatible Regular Expressions) 套件,十分完整的模拟了 Perl 语...

PHP 与 RegEx 浅析 002: preg_match()

本文主要介绍函数 preg_match() 的语法、参数、返回值以及使用方法和范例。 格式 preg_match(pattern, subjevt[, match[, flags [, offset]]]) 参数 pattern用分隔符包围的正则表达式,可能出现修饰符 subject需要搜索的目标字符串 matches用来接收匹配数据,可省略 flags只允许出现标志位 PREG_OFFSET_CAPTURE,可省略 offset从 0 开始,表示匹配尝试的开始位置,可省略,默认为 0 此参数值非负则从前面计算,反之从后面计算 返回如果找到匹配返回 true,否则返回 false ...

PHP 与 RegEx 浅析 003: Unknown Modifier 错误

有时候,你的程序可能会忽然报告 Unknown Modifier 错误,这通常是因为你在创建模式参数时没有添加分隔符,例如你希望匹配 HTML 标签: preg_match('<(/w+)([^>]*)>', $html) 这里出现的问题是,你希望 < 是正则表达式的一部分,而事实上 preg_match 将它认定为其实分隔符,基于这样的情况,你的参数被解释为四个部分: < (\w+)([^ > ]*)> 而 (\w+)([^ 并不是一个合法的正则表达式,这时正则引擎会试图将 ]*)> 解释为模式修饰符,但它也并不是合法的模式修饰符,因此...

iOS 入门 018: XML 浅析

XML 可扩展标记语言 区分大小写 命名不能以xml(XML、Xml...)、数字、下划线开头,不能出现冒号 <?xml version="1.0" standalone="no" encoding="UTF-8"?> W3C认证,IBM & Microsoft联合推广 能够解决所有异构数据库系统之间的数据传递 DTD 验证XML元素是否符合规范 <!DOCTYPE myfile = [<!ELEMENT name (#PCDATA)>]> 元素 <name>Bill</name> 属...

iOS 入门 017: 多线程

多线程 进程 * 进程对应一块内存空间 线程 * 一个进程可以分为多个线程,一个iOS程序运行后,默认会开启一条线程,称为主线程或UI线程 * 网络开发一般使用多线程 时间片 * 人的感知时有延迟的,CPU将时间分为人无法感知的碎片,称为时间片 串行与并行 * 线程是串行的,通过时间片实现伪并行   * 线程调度时无序的,线程启动后的调度顺序是由CPU决定的,程序员无法参与 线程的缺点 * 开启线程需要占用一定的内存空间,在iOS中,主线程栈区占用1MB,子线程占用512K * 线程太多,会占用大量的内存空间,降低程序性能,CPU在调度线程上的开销越大,负荷越大 线程的主要作用 * 显示和刷...

iOS 入门 016: 单例模式及其实现

单例模式及其实现 步骤 提供全局访问方法,公认的格式 shared+类型 有一个静态全局变量,保证对象的实例保存在静态区,并且不需要关心释放 的问题 重写allocWithZone方法,能够保证对象只被实例化一次! 需要包含dispatch_once:保证对象只被分配一次内存空间 实现shared方法 需要包含dispatch_once:保证对象只被初始化一次 eg.h #import <Foundation/Foundation.h> @interface SoundTools : NSObject <NSCopying> /...

iOS 入门 015: copy 与 mutableCopy

copy 与 mutableCopy 普通对象的拷贝 copy的目的是在修改原始版本和副本的时候,彼此各不干扰 copy拷贝为不可变对象 mutableCopy拷贝为可变对象 源对象 方式 操作 类型 不可变 copy 引用计数+1 浅拷贝,指针拷贝 mutableCopy 新建副本 深拷贝,对象拷贝 可变 copy mutableCopy @property (nonatomic, copy) NSString *str; 给copy属性设置数值时,默认会做一次copy操作,拷贝出不可变的版本 目标值是可变的,会建立一个不可变的副本 ...

iOS 入门 014: Block

block 定义 inlineBlock return_value ^(block_name)(arg_list) = return_value ^(arg_list){ code_block; } typedef Block block是一种数据类型,可以定义类型,当作返回值 typedefBlock.m #import <Foundation/Foundation.h> typedef void^(myBlock)(); myBlock myDemo(){ myBlock mb = ^{ NSLog(@"test"...

What's this?

The Night-City version of Hotodogo inspired by Cyberpunk 2077. Not finished yet.

Pinned Message

The Founder and CEO of Infeca Technology.

Developer, Designer, Blogger.

Big fan of Apple, Love of colour.

Feel free to contact me.

反曲点科技创始人和首席执行官。

开发、设计与写作皆为所长。

热爱苹果、钟情色彩。

随时恭候 垂询