#Hello Edgerunners, welcome to the Night-City.

Welcome!

UNIX/Linux: Signals

The signals of UNIX/Linux systems: |Signal|Description| |SIGABRT|由调用 abort 函数产生,进程非正常退出| |SIGALRM|用 alarm 函数设置的 timer 超时或 setitimer 函数设置的 interval timer 超时| |SIGBUS|某种特定的硬件异常,通常由内存访问引起| |SIGCANCEL|由 Solaris Thread Library 内部使用,通常不会使用| |SIGCHLD|进程 Terminate 或 Stop 的时候, SIGCHLD 会发送给它的父进程。缺省情况下该 Signal...

C : 浮点数

其实浮点数的精度缺失应该是个众所周知的问题,而我第一次注意到这件事还是在学生时代,跟随着社会的洪流涌入了 J2EE 的学习热潮中,在一次使用 JavaScript 的过程中出现曾让我无比震惊的一幕: console.log(0.2 + 0.4); console.log(0.1 + 0.1 + 0.1 + 0.1 + 0.1 + 0.1); 这段代码的输出结果是: 0.6000000000000001 0.6 带着疑惑,我转而投降了 Java、Python 以及 C: class Test { public static void main(String[] args) { ...

Programming in Clojure 001 : 简介

Clojure 是一种 Lisp 方言,属于函数式语言的范畴(主流的函数式语言有 Clojure , Common Lisp , Erlang , F# , Haskell , ML , OCaml , Scheme , Scala),这个系列的博客主要介绍 Clojure 的基础知识。 在 Lisp 被普遍认为是一种玩具语言的时候,Clojure 借助 Java Virtual Machine (JVM) 走上了不同的道路,成为一种动态类型的、可以与 Java 相互操作的语言。 关于 Clojure 与传统 Lisp 的差异,可以参阅 这里,如果你不喜欢 s-expressions,那么你应...

Programming in Clojure 002 : 语法糖

现在,如果你真的有兴趣,可能已经迫不及待想要学习 Clojure 的语法了,下面我们再来列举一些 Clojure 的语法糖吧: 作用 语法糖 对应函数 注释 ; text   单行注释 宏(comment text)可以用来写多行注释 字符 (Java char 类型) \char \tab \newline \space \uunicode-hex-value (char ascii-code) (char \uunicode ) ...

Mac: 注册全局热键

使用 Cocoa 为应用注册热键, 首先需要引入 Carbon.framework, 并包含头文件。 #import <Carbon/Carbon.h> 接下来, 要做两件事, 注册热键、设置回调。 回调设置: OSStatus MXHotKeyHandler(EventHandlerCallRef nextHandler,EventRef theEvent, void *userData) { // ... callback return noErr; } 注册热键: - (void)registerKey { EventHotKeyRef ...

HTML color codes and names

Color Name Color Code Red #FF0000 White #FFFFFF Cyan #00FFFF Silver #C0C0C0 ...

__block directive, a simple explanation

Nowadays, if you pass a variable inside a block and try to assign a new value to it, you will encounter the error Variable is not assignable (missing __block type specifier). This is a definitive improvement from the previous behavior where your variables simply remained unmodified. Now consider the...

Python : tree

用 Python 实现一个 tree 指令的模拟,后面有时间再做优化: import os def main(): while True: path = input('Input a path: ') + '' if os.path.exists(path): # 去掉末尾分隔符 if path.endswith(os.sep): path = path[:-1] fileCount = 0 d...

Python : Calculator

用 Python 实现一个 GUI 计算器的基本思路,后面有时间会添加更高级的计算功能: from __future__ import division import ui shows_result = False def button_tapped(sender): t = sender.title global shows_result label = sender.superview['label1'] label2 = sender.superview['label2'] if t in '01234567...

iOS: XCTest

XCode自带的单元测试工具已经从OCUnit演变到了XCTest,但其本质还是差不多的,其好处在于XCode集成,简单方便在XCode5中新建一个工程的时候,会默认带一个用于单元测试的target,其名字为工程名加Test后缀,并且文件名也以Test结尾。你会发现已经有了一个默认的测试用例,其中有三个方法:setUp,tearDown,testExample。其中testExample方法左侧有一个播放按钮,点击它就会对这个方法进行测试,而在整个文件的@implementation那行也有个同样的按钮,点击后会对当前测试用例的所有方法进行测试,也可通过Command+U快捷键来触发。这个测试...

iOS: 测试 View Controllers

我们不是迷信测试,但它应该帮助我们加快开发进度,并且让事情变得更有趣。 让事情保持简单 测试简单的事情很简单,同样,测试复杂的事会很复杂。就像我们在其他文章中指出的那样,让事情保持简单小巧总是好的。除此之外,它还有利于我们测试。这是件双赢的事。让我们来看看测试驱动开发 (简称 TDD) ,有些人喜欢它,有些人则不喜欢。我们在这里不深入讨论,只是如果用 TDD,你得在写代码之前先写好测试。如果你好奇的话,可以去找 Wikipedia 上的文章看看。同时,我们也认为重构和测试可以很好地结合在一起。 测试 UI 部分通常很麻烦,因为它们包含太多活动部件。通常,view controller 需要和大...

Git Workflow

1. 序 这篇指南以大家在 SVN 中已经广为熟悉使用的集中式工作流作为起点, 循序渐进地演进到其它高效的分布式工作流, 还介绍了如何配合使用便利的 Pull Request 功能, 系统地讲解了各种工作流的应用。 如果你 Git 用的还不多, 可以从前面的讲的工作流开始操练。在操作过程中去感受指南的讲解: 解决什么问题、如何解决问题, 这样理解就深了, 也方便活用。 行文中实践原则和操作示例并重, 对于 Git 的资深玩家可以梳理思考提升, 而新接触的同学, 也可以跟着 step-by-step 操练学习并在实际工作中上手使用。 工作流其实不是一个初级主题, 背后的本质问题是 有效的项目流程...

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