-
iOS中使用Jenkins搭建持续集成环境
在持续集成(Continuous integration,简称CI)这块,Jenkins无疑是目前使用的比较多的一个开源框架。本文就如何快速搭建一个iOS的持续集成环境进行介绍。Jenkins安装系统要求:必须安装JDK 1.5以上版本,推荐安装最新版本的JDK。可以通过java -version查看是否安装JDK。$ java -version java version "1.8.0_91"Java(TM) SE Runtime Environment (build 1.8.0_91-b...…
-
iOS中fastlane的使用
对于一个iOS APP的发布上线,一般来说都需要经历:编译打包 -> 截图 -> 填写一些说明文字 -> 上传ipa到itunes connect -> 提交供审核。每次都要进行这么多“繁琐”的步骤,对于某些步骤可能一次还不能执行成功需要等着界面提示上传错误然后手动重新再来一次(想想都觉得可怕)。在日常开发中,打包也是最后上线不可缺少的环节,如果需要生成ipa文件通常需要在Xcode里点击Product -> Archive,然后在弹出来的Organizer中...…
-
使用Scrapy开发爬虫初探
近期一直都有关注数据的采集方面的开发,之前也用Python(urllib+BeautifulSoup)写过“爬虫”但是效果不是很好,表现在内存占用过高和做出来的东西不够通用,很多周边的东西(图片下载、缩略图等)都需要自己来实现。趁着近期在公司内部弄到了一台新的CentOS服务器的机会就索性使用Scrapy把前段时间写的空气质量采集的程序改写下,同时把SQLServer换成MySQL,顺便熟悉一下这块的知识。开发环境准备CentOS 6.5自带的是Python 2.6.6,使用Scrapy需...…
-
Mac上Docker的安装和使用初探
Docker 是个划时代的开源项目,它彻底释放了虚拟化的威力,极大提高了应用的运行效率,降低了云计算资源供应的成本,同时让应用的部署、测试和分发都变得前所未有的高效和轻松!Docker 最初是 dotCloud 公司创始人 Solomon Hykes 在法国期间发起的一个公司内部项目,它是基于 dotCloud 公司多年云服务技术的一次革新,并于2013年3月以 Apache 2.0 授权协议开源,主要项目代码在 GitHub 上进行维护。Docker 项目后来还加入了 Linux 基金会...…
-
使用NSSM在Windows服务器上部署Node.js应用
最近使用Node的Express框架做了一个简单的应用,原本是打算部署到CentOS服务器上面的,后来由于种种原因只能部署到Window的服务器上面了。Node.js在Linux上面部署非常的方便,可以使用forever或者pm2来做这个事情,而且使用起来非常的简单,后续有机会会单独介绍如何使用,在Windows下就是稍微有点麻烦了,这两个组件都不支持。找了一些资料发现了nssm这个工具,部署超级简单,而且会监控你安装的node服务,如果node挂了,nssm会自动重启它。下面记录下部署的...…
-
iOS中KV数据库LevelDB的编译和使用
LevelDB是Google公司重量级工程师Jeff Dean和Sanjay Ghemawat发起的开源项目。LevelDB是一个持久化存储的KV系统,和Redis这种内存型的KV系统不同,LevelDB不会像Redis一样狂吃内存,而是将大部分数据存储到磁盘上。目前能够支持billion级别的数据量,在这个数量级别下还有着非常高的性能,主要归功于它的良好的设计。LevelDB开源并托管在GitHub上,项目的地址是:https://github.com/google/leveldb。有个...…
-
iOS中使用Protocol Buffers
Google Protocol Buffer(简称Protobuf)是由Google推出的一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或RPC数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。 Protocol buffers are a language-neutral, platform-neutral extensible mechanism for serializing structur...…
-
在iOS项目中使用WebP格式图片
WebP是Google开发的一种旨在加快图片加载速度的图片格式。图片压缩体积大约只有JPEG的2/3,并能节省大量的服务器带宽资源和数据空间。Facebook Ebay等知名网站已经开始测试并使用WebP格式。下图是Google已经和正在部署的WebP的产品。与JPEG相同,WebP是一种有损压缩。Google表示这种格式的主要优势在于高效率。他们发现,“在质量相同的情况下,WebP格式图像的体积要比JPEG格式图像小40%,美中不足的是,WebP格式图像的编码时间“比JPEG格式图像长8...…
-
在iOS项目中使用CocoaPods私有库
CocoaPods的出现极大的减轻了我们日常开发的工作量,特别是在做一些繁琐的配置上面,正如CocoaPods官网上面的Get on with building your app, not duplicating code.这句话一样CocoaPods让我们把精力放在打磨我们的产品,而不是把时间浪费在做一些重复的事情上面。在开发项目的过程中引入第三方代码库会涉及到许多内容。有的时候需要配置build phases和linker flags,这样的细节配置会引起许多人为因素的错误导致整个项目...…
-
iOS中使用PLCrashReporter收集Crash
iOS应用程序在上线过程中可能会出现各种闪退,如果APP经常出现闪退会让一部分用户选择卸载,这样会带来很大的损失,下图(来自于Bugly)可以看出APP出现崩溃后会带来的影响。对于这些崩溃信息怎么收集分析就是一个很大的问题,通过解析Crash文件可以帮助我们改善APP,修复bug等。收集Crash信息的方式有很多,比较常见的是使用第三方服务,比如友盟、百度统计、Bugly等。(下图为Bugly)使用系统自带的Crash收集//需要捕获的signalstatic int s_fatal_si...…