一.开发团队需求: 开发一款软件需要前端后台和推广的人.1,首先要明确设计这个APP的理念2,合理的列出APP的需求3,找到后台人员让他们搭好后台数据4,前端的人负责展示到界面上5,推广人员负责让更多的人来用这款APP 二.开发周期: 这题我是分中小型app和中大型app开发周期答的. 三.项目开发成本: 一个好的APP项目至少需要一个项目经理.一个UI设计师,一个IOS开发工程师和一个安卓开发工程师,另外如果需要后台数据交互的,还需要一个后台开发工程师,正规的话还需要一个测试工程师.这些人员的…
如何面试 iOS 工程师   推荐序 私下和很多朋友交流过这个话题,大部分求职者认为,我能做基本的 iOS 开发工作,就达到公司的要求了,殊不知公司招聘员工,更希望的是这个人能够在关键时候能够发挥一般人做不到的能力. 这篇文章是来自微信读书的 bang ,我完全同意他的观点.除了他的这些面试方法外,我还认为做比说更重要,所以我更喜欢在面试的时候,拿出一张白纸,让求职者写一段富有逻辑性的代码,看看他的思维是否严谨,对于一些常见的数据结构和算法基础有了解. 作者介绍:bang,iOS 开发者,推特中…
前两天面试的时候,笔试要求写一些文件操作类函数,什么遍历目录获取文件扩展名之类的,回来后大致总结了一下PHP中一些常见的文件操作函数分享一下. 1.使用递归删除目录及目录下所有文件的方法. function delDir($dir){ @$dh=opendir($dir); //打开目录流 while(!!$file=@readdir($dh)){ if($file!='.' && $file!='..'){ $fullpath=$dir.'/'.$file; if(!is_dir($fu…
iOS --SQL的增加.删除.查找.修改 iOS对于数据库的操作:增加.删除.查找.修改 首先需要创建一个数据库:本程序的数据库是在火狐浏览器里的插件里写的微量型数据库 火狐找查找SQLite Manager的步骤: 第一步:在工具栏找到附加组件,点击进入 第二步:搜索 SQP,找到并下载,安装完成之后需要重启浏览器 第三步:在工具只乐观找到SQLite Manager,点击打开 SQLite Manager界面如图所示 注:SQLite Manager是微量型的数据库编程软件,所以一次只能执…
iOS 检查app版本更新操作 1:获取本地安装的版本信息: [NSString stringWithFormat:@"Version %@ (%@)", [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"], kRevisionNumber] 2:根据appStore上的 appid查询 appStore上的版本信息: 调用接口:http://itunes.apple.co…
你真的了解字典(Dictionary)吗?   从一道亲身经历的面试题说起 半年前,我参加我现在所在公司的面试,面试官给了一道题,说有一个Y形的链表,知道起始节点,找出交叉节点.为了便于描述,我把上面的那条线路称为线路1,下面的称为线路2. 思路1 先判断线路1的第一个节点的下级节点是否是线路2的第一个节点,如果不是,再判断是不是线路2的第二个,如果也不是,判断是不是第三个节点,一直到最后一个.如果第一轮没找到,再按以上思路处理线路一的第二个节点,第三个,第四个... 找到为止.时间复杂度n2,…
一般而言,处理文件时都要经历以下四个步骤: 1.创建文件 2.打开文件,以便在后面的I/O操作中引用该文件 3.对打开的文件执行I/O操作(读取.写入.更新) 4.关闭文件 iOS中,对文件常见的处理方式详解(通过该文章,我们可以了解在iOS中,常用的文件处理方法) iOS开发之沙盒和文件操作(iOS的沙盒机制,应用只能访问自己应用目录下的文件) 在APP中,因为文件的I/O操作和网络操作一般来说需要耗费很长时间,如果放在主线程中进行,容易阻塞主线程(卡顿.点击不起作用等) iOS性能优化系列三…
Xamarin 配置手册和离线包下载 http://pan.baidu.com/s/1eQ3qw8a 具体操作: 安装前提条件 1. 安装Visual Studio 2013,安装过程省略,我这里安装的windows10 + vs2013 with update 4. 2. 安装Java SDK,按照Next一步步安装,此处省略,如下图: 3. 安装Android SDK:因为在线安装的访问google存在问题,而且速度慢,这里采用离线安装包,拷贝Android SDK到指定目录 我这里拷贝到C…
今天就来看一下Mac上如何进行抓包,之前有一篇文章介绍了使用Fidder进行抓包 http://blog.csdn.net/jiangwei0910410003/article/details/19806999 不过可惜的是,Fidder使用C#开发的,所以就不能在Mac上使用了,不过还有另外一个抓包神器,就是Charles,它是Java开发的,所以跨平台,不仅可以在Mac上使用,Linux以及Window下都是可以使用的,当然需要安装JDK,才能运行,同时还有一个问题就是他是收费的. 一.下载…
1,数据库I/O操作(异步) 数据库本身是存储在磁盘上.访问和修改数据库,即对磁盘进行读写,即I/O操作. 磁盘属于计算机硬件,具有DMA能力,不需要CPU干预,可以实现异步操作. I/O操作一般是消耗时间,sqlite使用异步处理I/O操作. 当有多个事务对数据库进行操作,对应,也会有多个I/O操作. 操作系统将I/O操作,合理放入一个I/O队列.一次性将队列内的I/O操作提交给磁盘系统,并行处理多个I/O,提高效率.详细请看链接,本人也没有特别深入研究. 2,异步和多线程 异步和多线程,都有…