iOS

iOS 开发入门(2013年冬版)

第一款 App 上架距今已有两年有余,之前写的 iOS 开发初探 也随着 iOS 版本的升级有些陈旧,加上最近又有朋友咨询 iOS 开发的事情,于是尘封的博客再次开启,虽然现在很多人转到了微信公众平台,但我依旧觉得博客更有魅力(AD: 大家需要博客空间的,可以到 庙 这里看看),微信里面是 light app,而博客是更加开放的 web(什么?你竟然在这里鬼扯更封闭的 iOS?) 搞清楚你的目标 是纯粹为了兴趣,还是为了换一份更好的工作而努力成为技术达人,抑或通过出售 app

招聘

[招聘]腾讯广研招聘 Web 前端工程师、视觉设计师、客户端工程师

没错,就是QQ邮箱、微信所在的那个广研,现在他们又招人啦,这次是企业邮箱,不要错过这个会让你后悔一辈子的机会,赶紧投简历吧! 友情提示:投过腾讯其他部门失败的木有关系,价值观不同,换个地方也许就成功了捏,加油 工作地点皆为广州 岗位名称:web前端开发工程师 **需求:**2人 工作职责: 负责web前端的开发工作; 负责web前端系统分析、优化与架构工作。 工作要求: 本科以上学历; 两年以下工作经验; 精通HTML、CSS、JavaScript等前台相关技术,熟悉W3C网页标准; 熟悉至少一种后台语言的开发机制(如Java,c++等); 有一定架构能力和算法能力,

书评

读《第五项修炼》

几年前看到一篇摘自本书的啤酒游戏的文章,激发了我系统思考的思维方式,后来下载到了 pdf 版本,放在电脑中一直没怎么看,后来有了 iPad,陆陆续续看了几十页就看不动了, 书中充满了抽象的描述,而且看书的过程中需要不停的随之思考,加上 iPad 又经常被儿子抢走,所以进度很慢,为了督促自己能尽快读完这部经典,于是赶紧在多看买了电子书,在 iPhone 中随时阅读,不多久终于看完这部豆瓣 9 分的经典著作。 组织中一般会存在一些障碍 我就是我的职位。当组织中的人只关注自己的职位时,他们就对所有职位之间因相互关联而产生的结果缺乏责任感。比如静态资源发布系统,单纯只从页面制作本身去考虑肯定是解决不了根本问题的,从整个链条上去思考,综合页面、开发、运维各个角度才会有最优解

GoDaddy

Godaddy 空间 Access 数据库权限设置

为了给 app 搞个简单的服务器端,整了个 Godaddy Windows 空间,打算用 .NET + Access 来做,但是发现空间的管理面板的 Databases 一栏只有 MySQL 和 SQL Server,没有官方文档所说的设置 Access 入口 于是在项目的 App_Data 目录放了个数据库,传上去测试了一下,发现数据可读不可写,通过 FTP 设置目录的写权限不生效,折腾了一下搞定 解决方法: 登陆空间管理后台

HTML

HTML5 中的块级链接

英文叫做 “Block-level” links,我以为只有我厂那些鸟毛不知道,没想到不知道的还挺多,需要普及一下。 最近看了 kejun 的 PPT 前端开发理论热点面对面:从怎么看,到怎么做?,p21 引用了 10 HTML Tag Crimes You Really Shouldn’t Commit 中的一条: 很遗憾,Web 标准中处处充满了打脸行为,这条规则现在已经失效了!在那篇文章发布一个月后,HTML5doctor 发表了 “Block-level”

iOS

iOS 开发批量保存图片到相册时丢图片的解决方法

同一个问题(前一次是一年多前,写完就忘了)栽了两次,纪录一下。 症状 在循环语句中批量保存图片到相册时在低配置的设备中会有丢失的情况,代码一般是这个样子 for (int i = 0; i < n; i++) { UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil); } debug了一下,错误是 write busy 原因 iOS 往系统相册写照片的时候是单线程,一张存完才会存下一张,可能是因为要经过这几个过程:压缩图片、生成缩略图、SQLite保存数据,

书评

读《我编程,我快乐》

首先,不要让书名给你是一部烂书的感觉,英文书名是《The Passionate Programmer: Creating A Remarkable Career In Software Development》,我来翻译就是《激情码农:迈向卓越之路》。这是本好书,以至于为了给它写点什么而读了第二遍。 人们往往纠缠于做某事的方法,而忘记了最初的目的。 软件是一门生意,而作为开发人员,我们就是生意人,要学会融入生意并创造利润。对软件开发人员来说,选择市场通常就是选择投资某项技术或领域。投资时,要权衡风险和收益。 那么,选择成熟的技术还是新技术? 首先,低风险,低回报;

iOS

Stroyboard 项目中出现 Applications are expected to have a root view controller at the end of application launch 的解决方法

此警告出现的场景有可能是: 更改了 Stroyboard 的名称 项目中删除了 Storyboard,之后从其他项目拖进来一个 Storyboard,这两个 Storyboard 的文件名不一样,比如删掉的是 MainStoryboard.storyboard,新加进来的是 MainStoryboard_iPhone.storyboard 原因是由于项目的 -Info.plist文件未自动更新引起的,解决方法就是到 Supporting Files 目录中找到 项目名-Info.plist,找到开头为 Main storyboard file base name

Bug

解决 -webkit-filter: grayscale(100%) 在 retina 下的模糊问题

劳民伤财的网站变灰又来了,随着 webkit 的普及,很多网站都使用了 -webkit-filter: grayscale(100%); 来使 webkit 浏览器变灰,但这会存在标题所述的问题,怎么解决呢? 很简单,在使用上述代码的位置加上这句 -webkit-transform: translateZ(0); 当然,你也可以使用CssGaga的一键变灰功能 延伸阅读: 页面变灰二三事 Quick Tip: Fix CSS Filters Creating Blurry Images on Retina

书评

读《简约至上》

整本书的阅读体验很好,很快就能看完,而且整个过程非常轻松。 追求简约已经成为多数人的共识了,不过做起来还是很有难度的,本书归纳了四个简单有效的方法: 1. 删除 现代人越来越不快乐的原因之一是选择越来越多,删去一些选择即可。 产品功能亦如此,删除功能,精简文案,删减界面干扰元素等等。 2. 组织 将功能分组,便于区分。 3. 隐藏 将不常用且不可少的功能隐藏,常见的方式有下拉菜单等。 4. 转移 比如遥控器的部分功能可以转移到电视机上,在电视机屏幕上调出一些功能的设置菜单等。 以书中引用的乔布斯的一段话作为本文的结尾: 乍一看到某个问题,你会觉得很简单,其实你并没有理解其复杂性。当你把问题搞清楚之后,又会发现真的很复杂,于是你就拿出一套复杂的方案来。

书评

读《打造 Facebook》

最先知道王淮是从 10 lessons I learned at Facebook 这篇文章,后面通过订阅博客,关注知乎等方式感觉有些在刻意经营自己,感觉有些变味。 这本书也是在多看买的。 由于对FB有了不少了解,这本书给我带来的冲击不是很大,摘一段给你们感受一下: 比如在雅虎要做一个产品,有十项功能的产品,那产品经理会列出一个表来,让工程师看可不可以做,每个功能又需要多少天完成,还要签字确认,就等于你承诺了多久要做完,并变成了工程师的“责任”,感觉很像是被迫签了一份卖身契。其实,每个产品当然要估算一个完成的时间,但是这种做法对工程师的负面影响就在于,更多关注在“时间”上,而不是要把工作“做好”

书评

读《App创富传奇》

这是我在多看买的第一本书,多看的体验非常令我满意,这本书也写的很流畅,整个阅读过程很享受。 对于某些人来说,App store 带来了比互联网更好的生态环境,引发了所谓的“淘金热”,这些人(书中成为卧室程序员)只需要一台 Mac 电脑和 iPhone,就有可能在 app store 一夜致富,当然这是“危险的诱惑”,媒体总是热衷报道轻松致富的假象。 书中先是介绍了 iPhone 的历史和 app store 的历史,关于 iPhone 的历史尽人皆知,app

书评

读《精益创业》

这是我在豆瓣阅读买的第一本书,总体来说,豆瓣阅读的体验不能令我满意,比如多终端同步错乱,app crash,iPhone排版勉强能够接受,而iPad排版问题多多等等。 精益创业代表了一种不断形成创新的新方法,它源于“精益生产 ”的理念,提倡企业进行“验证性学习”,先向市场推出极 简的原型产品,然后在不断地试验和学习中,以最小的成本和有效的方式验证产品是否符合用户需求,并迭代优化产品,灵活调整方向。 对我个人而言,比较涨姿势的有两点: 最小化可行产品 根据产品的复杂程度,做成一个允许存在一些问题以及功能缺失的产品原型,根据用户的反应来验证最初的想法。 甚至有时候,这个原型都不需要。比如 Dropbox,要做跨各个平台的软件,技术要求比较高,全部开发完成再去验证市场成本太高,

iOS

MKStoreKit 小记

之前某个应用尝试了 In-App Purchases 的 Non-Consumable 这种购买方式,为了图省事,使用了 MKStoreKit 来实现,走完整个流程跌跌撞撞,查了不少资料,稀里糊涂的成功上架。 最近,资本家贪婪的本性发作,需要添加更多 Non-Consumable 的购买选项,由于无法测试(需要和 binary 一起提交审核),随便弄一下就提交了,没想到平时十分负责的苹果审核人员居然没测出问题,上架后收到不少用户的邮件才发现出了大事,又折腾半天才搞定,记录一下。 1, 在应用中添加 MKStoreKit,略 2, 编辑