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

Welcome!

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接收一个字符串而...

Ruby : 常用哈希方法

一 给Hash添加默认值 : h= {1,2,3,4} #=> {1 => 2,3 => 4} h.default =7 h[1] #=> 2 h[3] #=> 4 h[4] #=> 7 h[5] #=> 7 二 给Hash添加key-value对: h={} #=> {} h.store("a",1) #=> 1 h["a&...

Linux: 2>&1

intro 我们在linux下经常会碰到nohup command>/dev/null 2>&1 &这样形式的命令。首先我们把这条命令大概分解下首先就是一个nohup表示当前用户和系统的回话下的进城忽略响应HUP消息。&是把该命令以后台的job的形式运行。那么就剩下command>/dev/null 2>&1,command>/dev/null较好理解,/dev/null表示一个空设备,就是说吧command的执行结果重定向到空设备中,说白了就是不显示任何信息。那么2>&1又是什么含义? 2>&1 几个基...

Xcode: TODO 的实现

自从 Xcode Ghost 事件之后苹果就开始收缩插件功能了, 直到现在的 Xcode 已经去掉了旧形式的插件。 安全性在很大程度上算是提高了, 但是也随之带来一些不便, 比如之前不能再使用 TODO 插件等。 下面我们开始着手实现一个 TODO 效果。首先明确我们的目的, 那就是让 Xcode 产生警告, 要做到这个效果有两种途径: Macro 相关的预处理指令有: #warning ezra #pragma message "ezra" #pragma GCC warning "ezra" #error ezra #pragma GCC er...

Android : Layout 基础

好像一直都没有系统的写过 Android 方面的博客,就先从布局开始吧,介绍一些布局属性。 主要的布局方式有: LinearLayout RelativeLayout FrameLayout: 帧布局,控件会一直叠加在一起 AbsoluteLayout: 很少使用,鉴于安卓设备的屏幕五花八门,并不推荐使用这种布局。 TableLayout: 同样很少用 常见的布局属性有: android:layout_weight: 值为数字,表示权重 android:layout_above: 在某元素之上 android:layout_toLeftOf: 在某元素左边 ...

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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询