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

Welcome!

如何在 Github 搭建静态博客

其实最初做这个博客,可能是因为我暗藏了一颗文青的心,后来老有人问我博客怎么做的,想来想去干脆写个教程好了。 引言 这样的博客系统适合哪些人群呢? 不想、或者不愿意租用服务器 不想、或者不熟悉后端代码 更倾向于一个免费、永久、不限流量、速度靠谱的解决方案 没有太多时间维护 浏览量不大 可能只是出于一时兴趣 对代码感兴趣 具备一些编程基础知识 但是,也有一些弊端: 需要一些编程基础 不适合大型网站,内容过多会导致生成速度较慢 只能生成静态页面,动态功能仍旧需要使用外部服务,例如评论功能 此外,搭建博客系统又很多方式,例如使用 Hexo、Jekyll、Pelican 等。本文主要介绍 Jek...

iOS: 获取应用版本

获取 iOS 应用版本信息: - (NSString *)applicationVersion { return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleShortVersionString"]; } - (NSString *)buildVersion { return [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]; } ...

UNIX/Linux Command: find

find 是 UNIX/Linux 系统中用于查找档案的命令,这里我们来看一下它的用法和相关选项。 命令用法 `find path -option [ -print ] [ -exec -ok command ] {} \; 使用说明 expression 中可使用的选项有二三十个之多,在此只介绍最常用的部分。 -exec:对搜索的结果执行指定的shell命令。注意格式要正确:-exec 命令 {} \;。注意{} 与\;之间有空格。 -mount,-xdev : 只检查和指定目录在同一个档案系统下的档案,避免列出其它档案系统中的档案 -amin -n: 在最近的 n 分钟内被...

reStructuredText 怎么玩

其实之前写过一篇 关于 AsciiDoc 的博文,其中提到过 reStructuredText ,最近赋闲,有朋友问了我关于 reStructuredText 的问题,于是也就有了写这篇语法入门的念头。 什么是 reStructuredText 简单说,reStructuredText 也是一种轻量级的文本标记语言,字面意思是 重构建的文本,是 Python 中 Docutils 项目的一部分,这也是为什么之前我一直说用 reStructuredText 感觉在写 Python 的原因。 reStructuredText 其一般保存的文件以 .rst 为后缀,必要时可以被转换为成 PDF、HT...

Markdown Syntax

Markdown是一种可以使用普通文本编辑器编写的标记语言,通过类似HTML的标记语法,它可以使普通文本内容具有一定的格式。 Markdown具有一系列衍生版本,用于扩展Markdown的功能 (如表格、脚注、内嵌HTML等等) ,这些功能原初的Markdown尚不具备,它们能让Markdown转换成更多的格式,例如LaTeX,Docbook。Markdown增强版中比较有名的有Markdown Extra、MultiMarkdown、 Maruku等。这些衍生版本要么基于工具,如Pandoc;要么基于网站,如GitHub和Wikipedia,在语法上基本兼容,但在换行等细节上也有改动。 本文...

Cocoa/Cocoa Touch: Hex Color

将 Hex 颜色 (例如 #ffffff) 转换为 UIColor/NSColor, 以 UIColor 举例: 我们通过分类方式实现: @implementation UIColor (MXColours) Hex 字符串转 Color 实例: #pragma mark - Color from Hex + (instancetype)colorFromHexString:(NSString *)hexString { unsigned rgbValue = 0; hexString = [hexString stringByReplacingOccurrencesOfS...

iOS: Copy UIColor

UIColor 实例默认是不支持 copy 操作的, 但有时候我们还是需要这样的操作, 怎么实现呢? // @implementation UIImage (Copying) + (UIImage *)decode:(UIImage *)image { if (image == nil) { return nil; } UIGraphicsBeginImageContextWithOptions(image.size, NO, image.scale); [image drawAtPoint:CGPointZero]; UIImage ...

iOS : lldb 浅析

做 iOS 开发的小伙伴们肯定对 gdb 和 lldb 不陌生,即便你不知道它是什么。 概念 lldb 都是 Xcode 中的调试器工具,如果你使用的是 Xcode 5 (或是 4.3,记不清了)以后的版本,那么其默认调试器已经由 gdb 替换为 lldb,新的调试器与 LLVM 编译器一起带来更加丰富的流程控制和数据检测功能,它为 Xcode 提供了底层调试环境,这篇博客所介绍的重点就是在 Xcode 中调试区的控制面板可以使用的调试指令。 关于更多的内容你或许可以参考 The LLDB Debugger 与 官方文档 。 语法 在逐个介绍指令之前,首当其冲的是,命令的语法结构: <c...

Swift 学习资源

本文罗列了一些比较好的 Swift 学习资源。 苹果公司在WWDC 2014上宣布了他们将会推出一款新的编程语言,面向iOS和OS X系统的开发人员,这个新的语言被命名为Swift。 Swift在iOS 8发布的时候推向市场,用来取代现有的Objective-C语言,对于这个巨大的决定,苹果公司的解释是Swift速度更快,使用起来更加容易。在Swift推出之后,苹果公司应该也不会停止对Objective-C的支持,开发工具会同时支持两种语言。 官方文档及示例 官方文档 目前唯一的完善的文档是官方发布的《The Swift Programming Language》,是名副其实的Swift圣经...

NULL、0 与 nullptr

C的NULL 在C语言中,我们使用NULL表示空指针,也就是我们可以写如下代码: int *i = NULL; foo_t *f = NULL; 实际上在C语言中,NULL通常被定义为如下: #define NULL ((void *)0) 也就是说NULL实际上是一个void 的指针,然后吧void 指针赋值给int 和foo_t 的指针的时候,隐式转换成相应的类型。而如果换做一个C++编译器来编译的话是要出错的,因为C++是强类型的,void *是不能隐式转换成其他指针类型的,所以通常情况下,编译器提供的头文件会这样定义NULL: #ifdef __cplusplus #defin...

Haskell

Haskell有不少让人开阔思路的东西,也有不少看起来很美好,用起来不错,但是读起来费劲的东西。 data, type, newtype Haskell里面用data来定义数据类型,它可以是这样: data Mode = ReadMode | WriteMode data Some = Some Int String data Thing = { a :: Int, b :: String } data Func a b = { func :: a -> b } 第一行定义了一个Mode,包含ReadMode和WriteMode; 第二行定义了一个普通数据类型Some,包含一个Int...

C 语言 12 个有趣的面试题

12个C语言面试题,涉及指针、进程、运算、结构体、函数、内存,看看你能做出几个! 1.gets()函数 问:请找出下面代码里的问题: #include <stdio.h> int main(void) { char buff[10]; memset(buff,0,sizeof(buff)); gets(buff); printf("\n The buffer entered is [%s]\n",buff); return 0; } 答:上面代码里的问题在于函数gets()的使用,这个函数从stdin接收一个字符串而...

What's this?

The Night-City version of CaveOps 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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询