唐巧的博客

唐巧的博客

记录下自己学习的点滴

Mac重装记录
前言上次将我的iMac硬盘换成SSD后,我是通过迁移助理将我的Mac Book Air的环境同步过去的,不知道为什么,半个月前出现了重启后电脑一直处于加转中的状态。尝试过了网上提供的以下方法都没...
NSNumber对象缓存以及Tagged Pointer
这是一次和 @onevcat 的技术讨论总结。技术点比较散,但是还都比较有意思。涉及的技术细节包括: 系统对象的缓存 Tagged Pointer对象 讨论一:autorelase对象按照苹...
使用brew cask来安装Mac应用

简介

brew cask 是一个用命令行管理 Mac 下应用的工具,它是基于 homebrew 的一个增强工具。

homebrew可以管理 Mac 下的命令行工具,例如imagemagick, nodejs,如下所示:

brew install imagemagick
brew install node

而使用上brew cask之后,你还可以用它来管理 Mac 下的 Gui 程序,例如qq, chrome, evernote等,如下所示:

brew cask install qq
brew cask install google-chrome
brew cask install evernote

ReactiveCocoa - iOS开发的新框架

本文为 InfoQ 中文站特供稿件,首发地址为:文章链接。如需转载,请与 InfoQ 中文站联系。

什么是 ReactiveCocoa

ReactiveCocoa(其简称为 RAC)是由 Github 开源的一个应用于 iOS 和 OS X 开发的新框架。RAC 具有函数式编程和响应式编程的特性。它主要吸取了 .Net 的 Reactive Extensions 的设计和实现。

ReactiveCocoa 试图解决什么问题

经过一段时间的研究,我认为 ReactiveCocoa 试图解决以下 3 个问题:

  1. 传统 iOS 开发过程中,状态以及状态之间依赖过多的问题
  2. 传统 MVC 架构的问题:Controller 比较复杂,可测试性差
  3. 提供统一的消息传递机制
自己动手给iMac换SSD

公司的 iMac 是 2011 年款的,经过 2 年的使用,现在已经变得比较慢了,用htop看了一下,其实 cpu 占用率一直不高,主要是磁盘 IO 比较慢,所以考虑自己动手给 iMac 换一个 SSD。在此将整个过程分享给大家。

非换行空格在CoreText排版上的问题

分享一个在使用 Core Text 时遇到的问题。

问题描述

我们的猿题库界面因为有图片、公式需要混排,所以用的是 Core Text 实现的排版。

在使用中,发现一些英文题目的换行方式不对,
我们设置的是按单词换行,但是总是有些题目的换行并不是按单词的,造成显示上比较错乱,如下图所示。图中 unchangeable, study, falls 三个单词都被生生截断了,造成阅读上的不适。

作为码农,我们为什么要写作

在程序员这个行业,坚持做技术写作的人一直比较少。我和身边的朋友沟通后,发现他们除了借口没有时间外,大多没有意识到写作带来的收益。在他们看来,将自己学到的知识简单记录下来就足够自己需要的时候回顾了。而技术写作通常需要花更多时间,因为需要将技术的细节以及来龙去脉讲清楚。

不得不承认,这的确是一个事实,通常情况下,把一个知识讲清楚比理解它更难。那我们为什么要花时间写作呢?我想写作至少有以下好处。

2013年个人总结

2013这一年值得总结的有两方面的事情:一是技术分享和收获,二是创业感悟。

技术分享

我这一年在技术分享上投入了更多的时间,也得到了非常大的收获。

我主要的技术分享渠道包括:

  1. 个人博客。今年一共完成了24篇原创博客。相比于去年的36篇,少了很多。主要是因为很多精力分散到微信公共帐号上去了。不过今年文章的质量相比去年更高了,写了包括《Objective-C对象模型及应用》《谈Objective-C Block的实现》这类比较深入的文章。

  2. InfoQ网站 。今年一共完成了7篇发表在InfoQ 上的稿件 , 其中原创技术文章4篇,翻译技术新闻1篇,采访稿2篇。

如何写面向互联网公司的求职简历

前言

我在 IT 公司工作了六年,有着三年面试官的经历。在面试中,我发现很多人都不能写好一份求职简历,所以今天不谈 iOS 开发,谈谈如何写一份针对互联网公司的求职简历。

我主要想分享的内容包括:

  • 简历的页数不要超过两页(最好一页)
    • 删掉不必要的信息
    • 如果你实在太牛逼,最多写 2 页
  • 重要的信息写在最前面
    • 你的联系方式
    • 你最重要的工作经历
  • 不要简单罗列工作经历
    • 列出你的工作中有价值的细节(有哪些技术上的困难等)
  • 不要写任何虚假或夸大的信息
    • 类似精通 java,精通 C/C++ 等
  • 不要附加任何可能带来负面印象的信息
    • 不要加照片
    • 不要写政治面貌
    • 不要写奇怪的爱好(打游戏,喝酒,抽烟)
    • 不要写参加过某某培训公司的 iOS 培训
    • 尽量用专业邮箱
    • 用 PDF 格式
Xcode Debugger中的Icon符号的意义

你注意到了吗?在 Xcode 中,当你点击查看调用栈的时候,调用栈的每个方法前面都有一个 Icon,而且还有好几种不同的样子,如下图所示,你知道它们代表什么意思吗?

avatar
唐巧
一个中年程序员,正在努力学习做业务