#Hello Edgerunners, welcome to the Night-City.

Welcome!

iOS: Handling unhandled exceptions and signals

当一个 iOS 应用崩溃, 往往只是单纯的消失, 用户却不知道发生了什么。然而, 为你的应用添加异常和信号处理的功能并不是一件困难的事情, 有了处理程序我们可以告诉用户发生了什么状况, 甚至还能及时修正或恢复用户的使用场景而不必退出应用。 市面上已然有不少优秀的崩溃和错误手机管理工具, 本文本着方便测试迭代的目的, 对异常与信号的捕获和处理做一些基本的探讨。 为什么我的应用会崩溃 首先, 在进一步展开探讨之前, 我们需要明白为什么我们的应用会出现崩溃的问题。 一次崩溃, 或者更准确的说, 一次未捕获的程序中断, 其实由是未处理的信号产生的, 这些信号可能来自很多地方: 内核、其它进程或程序本身...

Xcode: Finding symbolicatecrash

symbolicatecrash 是在开发调试和问题定位中是很常用的工具, 但它在 Xcode 中的位置经常随着 Xcode 版本变化, 不过其实要找到他还是很简单的: $ find <Xcode.app_path> -name symbolicatecrash 将 <Xcode.app_path> 替换为 Xcode.app 路径即可。 为了方便使用, 通常我们会将它复制到 /usr/bin/: $ sudo cp symbolicatecrash /usr/bin/symbolicatecrash 这样, 一般来说, 以后就可以直接使用 symbolicat...

最近很火的 6008 问题

6008似乎是最近很火的一个思维测试题,原题是这样的: 要求,移动两跟火柴组成一个最大的数。 看到这个题的第一反应是: 9908。 但如果允许十六进制,那么可以组成的最大数应该是 F888,也即十进制的 63624。 如果允许在已有四位数的外围添加数字,则可以组成的最大数是 60051。 而如果允许幂运算,则组成最大的数为 6005¹¹(6005 的 11 次方),也即 3.661365872119e41。...

iOS: Socket 编程

最近总被问到 Socket 问题, 好久没写了, 干脆总结一下吧。 一、HTTP 、TCP/IP 与 Socket 网络七层分别为: 物理层 数据链路层 网络层 传输层 会话层 表示层 应用层 其中, 物理层、数据链路层和网络层通常被称作媒体层, 是网络工程师所研究的对象; 传输层、会话层、表示层和应用层则被称作主机层, 是用户所面向和关心的内容。 HTTP 协议对应于应用层, TCP 协议对应于传输层, IP 协议对应于网络层, 三者本质上没有可比性。TCP/IP 主要解决数据如何在网络中传输的问题, 而 HTTP 主要解决如何包装数据的问题。 我们在传输数据时, 可以只使用传输层 ( ...

Xcode: Code Sense

聊天的时候有人问了一个平常大家不太注意的问题, 如图, 左侧小图标: 以前无聊的时候研究过, 趁这个机会总结一下吧, 其实这些小图标苹果称为 Code Sense, 貌似在很早的 Xcode 版本中就已经出现了, 它们位于 /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/Assets.car 中, 解包这个 .car 文件就可以看到相关的图片, 根据名称也可以判断出它们的代表的意义, 下面列举一部分常见的: 红色的图标表示 Macro 也就是宏 # ...

版本控制系统: SVN 与 Git 的一些误区

最近都在找工作,所以博客更新停滞了下来。之前几个 Primer 系列也没有写完。不过暂时先写一些和面试有关的内容吧,因为这几次面试,总被问到 SVN 和 Git 的相关问题,但在其中却也发现一些理解误区,因此也就有了这篇博客。 脱库问题 似乎很多人认为只有 Git 可以脱库,但事实上 SVN 也是可以的,其本身就提供了 svnsync 工具,主要用于镜像 SVN 版本库。 安全问题 对于脱库问题,有人说 SVN 可以通过目录授权阻止对脱库,也有面试官告诉我 Git 不安全,问我对这件事情怎么看待。 事实上,对于这个问题我却更倾向使用 Git,因为实践证明 SVN 的目录授权就是一场灾难,随着版...

Python: 构建包的那些事

一般来说构建一个包是很简单的事情,许多人只把一堆模块都放进一个有 __init__.py 文件的目录里面,但是,随着对包的修改越来越多,糟糕的设计就会变得臃肿、脆弱,甚至带来循环依赖问题。 __init__.py 该做什么 格式良好的 __init__.py 有一个重要作用: 导入子模块。 它应该像这样: # 导入顺序很重要 —— 有些模块依赖于其他模块 from exceptions import MXError, MXEnvError, MXEncodeError,\ MXTimeFmtError, MXMalformedEntryError...

sudo rm -rf /

今天做了一件非常糟糕的事情, 由于一个玩笑导致朋友用 rm 误删了很多重要的文件。 起初是因为印象里 Mint 中 sudo rm -rf / 这个指令不会被执行, 以为 macOS 中也是这样, 但很快就被现实打脸了。 为了防止类似的悲剧再次发生, 我也开始思考怎样避免这种危险的操作 (除了管好我的嘴之外)。 safe-rm 第一种最简单的方法, 安装 safe-rm, 你可以在它的官方网站中下载安装并查看相关的说明文档。 它的使用十分简单, 下载并解包后, 复制 safe-rm 文件到 /usr/bin 路径, 并配置到 $PATH 靠前的位置。 $ cp safe-rm /usr/bin...

StaSh: Shell Like an Expert in Pythonista

StaSh is a serious attempt to implement a Bash-like shell for Pythonista, inspired by shellista and its variants Since its initial release, valuable contributions and advices have been received constantly from the Pythonista community. The two most popular utilities are pip (authored by @briarfox) a...

iOS : 模拟微信红包照片

上一篇博客用 HTML5 + CSS3 实现了一个简单的微信红包照片的效果,那当然少不了街机 iPhone 中的实现。 iOS 实现这个效果常用的有三种方式: CoreImage 绘图 CALayer UIVisualEffectView 其实都比较简单,这里介绍一下第一种。首先创建一个 UIImageView 供展示图片。 UIImageView *imgView = [[UIImageView alloc] initWithFrame:self.view.bounds]; [imgView setContentMode:UIViewContentModeScaleAspec...

HTML5/CSS3: 模拟微信红包照片

前几天微信红包照片着实火了一把,很多人也已经发现可以通过抓包获取到原始图片,而其背后的实现方式也引起了一些朋友的兴趣。 所以今天我们一起实现一个简单的微信红包照片效果。 首先,根据标题你已经知道我们要使用 HTML5 和 CSS3 来实现。那么新建一个 HTML5 文件吧。 <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta name="description" content="Blu...

Using the View Hierarchy and Console for easier debugging

At some point in life, you are gonna work with a codebase that you didn't write from the very beginning. Specially if you are maintaing it, one of the biggest questions often is 'where to start looking in order to fix bug Y?'. Most of the times, there will be a strong relationship with what you see ...

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.

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

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

热爱苹果、钟情色彩。

随时恭候 垂询

Outer Square Inner Square