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

Welcome!

MongoDB Primer 001: 介绍与安装

MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 Web 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。他支持的数据结构非常松散,是类似 json 的 bson 格式,因此可以存储比较复杂的数据类型。Mongo 最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。 特点 它的特点是: 高性能 易部署 易使用 存储数据非常方便 主要功能特性有: ...

MongoDB Primer 002: 基础概念

在进一步学习之前,首先来了解一些 MongoDB 基本概念,即文档、集合、数据库。通过这个表格也许可以更好的了解它们: SQL MongoDB 说明 database database 数据库 table collection 数据库表/集合 row document 数据记录行/文档 column field 数据字段/域 index index 索引 table joins 表连接,MongoDB不支持 primary key primary key 主键,MongoDB自动将_id字段设置为主键 数据库 文档 集合 元数据 数据类型...

iOS 9 : 3D Touch

随着 Force Touch 在 iDevice 中的应用,3D Touch 也成了诸多公司积极适配的新功能,它为 iDevice 设备带来了预览(Peek)和敲击(Pop)以及压力感应等全新的操作体验。 关于其他 iOS 9 的特性与功能,有兴趣的朋友可以参考我博客中的 iOS 9 适配系列。 更多关于 3D Touch 的内容请参阅 Getting Started with 3D Touch 和 iOS SDK Release Notes for iOS 9.1。 《苹果开发3D Touch的幕后故事 开发难度超乎想象》 对于开发小伙伴们来说,我们的关注点主要涉及以下几个部分: P...

iOS 面试题: Binary search tree

最近遇到和看到的一些面试题。 我知道你大学毕业过后就没接触过算法数据结构了,但是请你一定告诉我什么是Binary search tree? search的时间复杂度是多少? Binary search tree 二叉搜索树主要由四个方法: * search: 时间复杂度为O(h),h为树的高度 * traversal: 时间复杂度为O(n),n为树的总结点数。 * insert: 时间复杂度为O(h),h为树的高度。 * delete: 最坏情况下,时间复杂度为O(h)+指针的移动开销。 可以看到,二叉搜索树的dictionary operation的时间复杂度与树的高度h相关。所以需要尽可能...

iOS 面试题: GCD Queue

最近遇到和看到的一些面试题。 GCD里面有哪几种Queue?你自己建立过串行queue吗?背后的线程模型是什么样的? 主队列 dispatch_main_queue(); 串行 ,更新UI 全局队列 dispatch_global_queue(); 并行,四个优先级: background,low,default,high 自定义队列 dispatch_queue_t queue; 可以自定义是并行: DISPATCH_QUEUE_CONCURRENT 或者串行 DISPATCH_QUEUE_SERIAL ...

iOS 面试题: GET 和 POST 有什么区别

最近遇到和看到的一些面试题。 http的post和get啥区别? GET请求的数据会附在URL之后(就是把数据放置在HTTP协议头中),以?分割URL和传输数据,参数之间以&相连,如: login.action?name=hyddd&password=idontknow&verify=%E4%BD%A0%E5%A5%BD。如果数据是英文字母/数字,原样发送,如果是空格,转换为+,如果是中文/其他字符,则直接把字符串用BASE64加密,得出如: %E4%BD%A0%E5%A5%BD,其中%XX中的XX为该符号以16进制表示的ASCII。POST把提交的数据则放置在是HT...

iOS 面试题: Method Swizzling

最近遇到和看到的一些面试题。 什么是 Method Swizzling? Method Swizzling 原理: 在Objective-C中调用一个方法,其实是向一个对象发送消息,查找消息的唯一依据是selector的名字。利用Objective-C的动态特性,可以实现在运行时偷换selector对应的方法实现,达到给方法挂钩的目的。 每个类都有一个方法列表,存放着selector的名字和方法实现的映射关系。IMP有点类似函数指针,指向具体的Method实现。 我们可以利用 method_exchangeImplementations 来交换2个方法中的IMP,我们可以利用 class_r...

iOS 面试题: Retain Cycle

最近遇到和看到的一些面试题。 描述一个你遇到过的 Retain Cycle 例子。 block中的循环引用: 一个viewController @property (nonatomic,strong)HttpRequestHandler * handler; @property (nonatomic,strong)NSData *data; _handler = [httpRequestHandler sharedManager]; [_handler downloadData:^(id responseData){ _data = responseData; ...

iOS 面试题: UIImageView 圆角

最近遇到和看到的一些面试题。 如何高性能的给UIImageView加个圆角?(不准说layer.cornerRadius!) 可以使用Quartz2D直接绘制图片。 创建目标大小(cropWidth,cropHeight)的画布。 使用UIImage的drawInRect方法进行绘制的时候,指定rect为(-x,-y,width,height)。 从画布中得到裁剪后的图像。 + (UIImage)cropImageWithRect:(CGRect)cropRect { CGRect drawRect = CGRectMake(-cropRect.origin.x , -cropRe...

iOS 面试题: UIView 和 CALayer

最近遇到和看到的一些面试题。 UIView 和 CALayer 是啥关系? UIView是iOS系统中界面元素的基础,所有的界面元素都继承自它。它本身完全是由CoreAnimation来实现的 (Mac下似乎不是这样)。它真正的绘图部分,是由一个叫CALayer(Core Animation Layer)的类来管理。 UIView本身,更像是一个CALayer的管理器,访问它的跟绘图和跟坐标有关的属性,例如frame,bounds等 等,实际上内部都是在访问它所包含的CALayer的相关属性。 UIView有个layer属性,可以返回它的主CALayer实例,UIView有一个layerCla...

iOS 面试题: __block

最近遇到和看到的一些面试题。 __block 在 ARC 和非 ARC 下含义一样吗? 在 MRC 中 block variable 在 block 中使用是不會 retain 的, 但是 ARC 中 block 則是會 retain 的,取而代之的是用 weak 或是 unsafe_unretained 來更精確的描述 weak reference 的目的。 其中前者只能在 iOS5 之後可以使用,但是比較好 (該物件 release 之後,此 pointer 會自動設成 nil ) 而後者是 ARC 的環境下為了相容 4.x 的解決方案。 所以上面的範例中 __block MyClass*...

iOS 面试题: assign 与 weak 的区别, block 与 weak 的区别

最近遇到和看到的一些面试题。 请解释 assign 与 weak 的区别, block 与 weak 的区别 assign适用于基本数据类型,weak是适用于NSObject对象,并且是一个弱引用。 assign其实也可以用来修饰对象,那么我们为什么不用它呢?因为被assign修饰的对象在释放之后,指针的地址还是存在的,也就是说指针并没有被置为nil。如果在后续的内存分配中,刚好分到了这块地址,程序就会崩溃掉。而weak修饰的对象在释放之后,指针地址会被置为nil。所以现在一般弱引用就是用weak。 首先__block是用来修饰一个变量,这个变量就可以在block中被修改(参考block实现原...

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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询