#Hello Edgerunners, welcome to the Night-City.

Welcome!

Xcode : 修改新创建文件的默认注释

通常我们在 Xcode 中新建源代码文件,会有一些自动生成的注释,他们形如下面这样: // // AppDelegate.m // Spyhole // // Created by Meniny on 14/6/23. // Copyright © 2014年 Meniny. All rights reserved. // 不知道大家有没有想过修改这些文字? 现在,我们就来看看怎样去自定义这些信息。 首先从哪里下手呢?我们知道这是 Xcode 自动生成的,既然没有提供修改的入口,那么一定在 Xcode 内部保存着,事实上我已经帮你找到了: /Applications/Xcode/C...

Git: .DS_Store

.DS_Store 是个很烦人的家伙, 在使用版本控制工具时, 我们都希望能忽略它的存在, 不过在每一个仓库中都设置一次好像更烦人, 那现在我们想办法一次性解决这个问题吧: vi ~/.gitignore_global 按 i 进入编辑模式, 增加新行: .DS_Store .DS_Store? 如果你要忽略其它没用的文件, 可以继续添加新的行。 按 esc 后输入 :wq 保存并推出, 然后进入你的仓库: vi .git/config 在 [core] 中增加: excludesfile = /Users/用户名/.gitignore_global 保存退出, 然后提交这次改...

iOS: Carthage Useage

Carthage:去中心化的Cocoa依赖管理器 Cocoa的依赖管理器,我们已经有了CocoaPods,非常好用,那么为什么还要创建这样一个项目呢?本文翻译自Carthage的Github的README.md,带大家来了解一下这个工具有何不同之处。 Carthage的目标是用最简单的方式来管理Cocoa第三方框架。 基本的工作流如下: 创建一个Cartfile,包含你希望在项目中使用的框架的列表 运行Carthage,将会获取列出的框架并编译它们 将编译完成的.framework二进制文件拖拽到你的Xcode项目当中 Carthage编译你的依赖,并提供框架的二进制文件,但你...

OS Implementation

Bootloader 我们知道计算机启动是从BIOS开始,再由BIOS决定从哪个设备启动以及启动顺序,比如先从DVD启动再从硬盘启动等。计算机启动后,BIOS根据配置找到启动设备,并读取这个设备的第0个扇区,把这个扇区的内容加载到0x7c00,之后让CPU从0x7c00开始执行,这时BIOS已经交出了计算机的控制权,由被加载的扇区程序接管计算机。 这第一个扇区的程序就叫Boot,它一般做一些准备工作,把操作系统内核加载进内存,并把控制权交给内核。由于Boot只能有一个扇区大小,即512字节,它所能做的工作很有限,因此它有可能不直接加载内核,而是加载一个叫Loader的程序,再由Loader加载...

UNIX/Linux : ranger

ranger 是一款终端文件管理工具,它和大部分同类工具类似,除了它是左右结构。 在使用之前,你可能需要下载。 下载完成后,以 Ubuntu 为例,cd 到文件目录,执行 tar xvf ranger-stable.tar.gz 解包文件,进入解包后的目录: 如果你想要安装,执行 sudo make install 并输入密码,等待其自动安装完毕。 如果你想直接运行,执行 ./ranger.py 即可。 你可以使用 man ranger 来查看相关帮助。 ...

iOS: 用 Runtime 实现全局 NSCopying

给每个类手动添加 NSCopying 支持真的很累, 干脆一次性解决吧: #import <Foundation/Foundation.h> @interface MXObject : NSObject <NSCopying> @end #import "MXObject.h" #import <objc/runtime.h> @implementation MXObject - (instancetype)copyWithZone:(NSZone *)zone { id obj = [[[self class] all...

iOS: UIView 绘制圆角矩形

绘制圆角矩形: @implementation UIView (Draw) void CGContextAddRoundRect(CGContextRef __nullable c, CGRect rect, CGFloat radius) { CGFloat width = rect.size.width; CGFloat x = rect.origin.x; CGFloat height = rect.size.height; CGFloat y = rect.origin.y; // 移动到初始点 CGContextMoveToPoin...

iOS: UIImage gauss blur

为 UIImage 生成高斯模糊效果: - (UIImage *)gaussBlurWithLevel:(CGFloat)blurLevel { blurLevel = MIN(1.0, MAX(0.0, blurLevel)); int boxSize = (int)(blurLevel * 0.1 * MIN(self.size.width, self.size.height)); boxSize = boxSize - (boxSize % 2) + 1; UIImage *decode = [UIImage decode:self]; NSDa...

iOS: UIImage 获取主色调

获取一个 UIImage 实例的主色调: // @implementation UIImage (Detector) - (UIColor *)mainColor { #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_6_1 int bitmapInfo = kCGBitmapByteOrderDefault | kCGImageAlphaPremultipliedLast; #else int bitmapInfo = kCGImageAlphaPremultipliedLast; #endif // 1 先把图片...

Difference between enum and NS_ENUM in Objective-C

First, NS_ENUM uses a new feature of the C language where you can specify the underlying type for an enum. In this case, the underlying type for the enum is NSInteger (in plain C it would be whatever the compiler decides, char, short, or even a 24 bit integer if the compiler feels like it). Second, ...

Git : 基本指令

这一篇简单介绍下 Git 中基本的指令。 基本指令 git status: 查看 Git 文件状态,在Git 中文件有三种状态: Untracked: 未追踪 Tracked & Staged: 追踪未暂存 Tracked & Unstaged: 暂存 git add: 添加文件(夹) git commit: 提交暂存状态的文件,可以使用 -m 添加日志信息 git diff: 比较未暂存文件和当前文件的差异 git diff –cached: 比较暂存文件和上次提交的文件的快照的差异 git rm file: 将文件从追踪列表移除并删除...

数据结构与算法 11: 哈希表

什么是哈希表 哈希表就是一种以 键-值(key-indexed) 存储数据的结构,我们只要输入待查找的值即key,即可查找到其对应的值。 哈希的思路很简单,如果所有的键都是整数,那么就可以使用一个简单的无序数组来实现:将键作为索引,值即为其对应的值,这样就可以快速访问任意键的值。这是对于简单的键的情况,我们将其扩展到可以处理更加复杂的类型的键。 使用哈希查找有两个步骤: 使用哈希函数将被查找的键转换为数组的索引。在理想的情况下,不同的键会被转换为不同的索引值,但是在有些情况下我们需要处理多个键被哈希到同一个索引值的情况。所以哈希查找的第二个步骤就是处理冲突 处理哈希碰撞冲突。有很多处理哈希碰...

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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询

Outer Square Inner Square