Ryan's Zone

Never let yourself regret

我是如何从技术转向产品的

放下,是一种修行

拿起,是一种历练

写在前面

停博许久,这一次回来完全是以另外一种心态和角色,产品经理!从最熟悉的开发跨越到陌生的产品,从最初的好奇到中途的迷茫到最近的有一点开悟,一路经历着着、成长着,抬笔记录下我这一年心态、意识、思维的转变,算是对过去的一段总结,对未来的一份期许,我因技术而入门,因产品而出门。

我的2014-转折中前行

路漫漫其修远兮,吾将上下而求索

2014已过,2015如期而至。原本这篇总结应该在2014年结尾就完成的,无奈事情太多而一再拖延,昨天离京回家,今日在家闲下来补上这篇总结。如果用一句话来描述我的2014,那就是,转折中前行。

一半技术,一半产品

不会写代码的设计师不是好产品经理!

写在前面

忙!忙!忙!基本上可以概括我这半年多的生活。年初加入目前所在的创业公司(移动医疗),作为最早加入的几个人之一,经历了一个初创公司从无到有的过程,半年的时间,仿佛过了一两年,从最初的业务讨论、产品雏形、技术选型到迭代开发、业务转型、团队扩张等等,都一幕幕亲身经历着,这种历练或许就是在大公司感受不到的。在创业公司能感受到组织的成长,能把握自己做事的节奏,带来的成就感也许正是创业公司的魅力,这也是当初我选择加入创业公司的理由。创业,是一场修行,是一段非常有意思的旅途,成长着、学习着、感悟着!

置换测试: Mock, Stub 和其他

本文为objc.io原创译文,发布在objc中国上。

简介

在理想情况下,你所做的所有测试都是能应对你实际代码的高级测试。例如,UI 测试将模拟实际的用户输入(Klaas 在他的文章中有讨论)等等。实但际上,这并非永远都是个好主意。为每个测试用例都访问一次数据库或者旋转一次 UI 会使你的测试跑得非常慢,这会降低你的生产力,并导致你不去经常跑那些测试。若你测试的某段代码依赖于网络连接,这会要求你的测试环境具备网络接入条件,而且这也难以模拟某些特殊的测试,比如当电话处于飞行模式情况下的时候。

正因如此,我们可以用一些模拟代码替换你的实际代码来编写一些测试用例。

我的iOS工程结构

好的架构不是设计出来的,而是进化而来的!

写在前面

从2011年底开始学习iOS开发,到现在也已经快3年了,虽然中途没有一直进行iOS的开发(总是在Android和iOS间切换),但始终没有离开,而我现在的工作也一样,在iOS和Android间来回游走,正如我博客的slogan一样,“In Android&iOS”。其实对我来说,两个平台没有绝对的好坏,我都喜欢、我都热爱。有人会说,同样的产品在不同平台做两次不会觉得厌烦吗?这个问题我会给出肯定的回答,不会!因为如果你真的喜欢你所做的产品,做多少次都不会觉得烦,每一次的复盘都是一次改进的过程,很多创新都是在重复的工作中产生的。在技术层面,同一套思想用不同的技术来实现,本身就是一个加强对不同平台技术巩固和理解的过程,技术本来就是来承载和表现业务的,在实现业务的过程中加强对业务的理解、实现对业务的创新,这或许也就是堆代码和写程序的区别吧!^_^