Git-Flow浅析

参与过项目开发的同学们对Git应该都不会陌生,Git作为一个强大的版本控制工具,从诞生起就一直在帮助开发人员更好的协同工作,改善开发效率。还记得大概两年前的样子,公司项目代码提出往Git上迁移的时候,有同学反映这不是杀鸡用牛刀么!但是事实证明,用牛刀杀鸡绝对很过瘾。正如题目所言,这篇文章我们着重说明下Git Flow的流程和使用 问题的提出 在说明Git Flow之前我们先来回顾下在没有使用Git Flow时我们面临的问题,这里我大概总结下我在项目中碰到的部分 开发分支不明确,很多开发者直接在master上进行开发,这样直接丧失了Git的权限管理功能 开发人员随意拉分支,导致Git仓库无限混乱 开发分支、发布分支经常是一个,不利于项目代码的良性发展 各个分支的修改不...
点我阅读更多...

升级Mac系统后gem安装软件找不到解决方案

刚刚升级了苹果的新系统OS X EI Capitan,却是引入了很多方便的特性。但是当我运行我的Pod的时候,出现了如下状况 pod update 输出 command not found: pod 找不到命令?难道是我升级了系统后gem安装的软件被修改或是删除了?于是我键入了如下命令 #现实gem本地的安装包 gem list 结果如下 cocoapods (0.39.0, 0.38.2, 0.36.3, 0.34.2) cocoapods-core (0.39.0, 0.38.2, 0.36.3, 0.34.2) cocoapods-downloader (0.9.3, 0.9.0, 0.7.2) cocoapods-plugins (...
点我阅读更多...

PhpStorm自动部署配置

前段时间做了下PHP的学习,关于PHP的语法部分其实和C++有很多相似的地方,相信大家只要看文档就不会有太大的问题。开始的时候,我总是借用PhpStorm的部署操作,但是总发现会有些不足,最后发现了我们其实可以在文件修改时自动将改动同步至服务器后,才完成了真正的自动部署。这里我简单的记录下配置过程,便于大家参考,也便于自己在忘了的时候可以有目的的查阅 配置apache 我们的服务器代码使用apache完成部署的,所以第一步,我们首先得先配置Apache的documentRoot目录,也就是我们的服务器根目录,这里以mac系统为例 配置apache的DocumentRoot目录 apache的DocumentRoot是我们服务器的根目录,只有将代码部署到该目录才能使站点正常运行,这里...
点我阅读更多...

iOS屏蔽警告不常用方法

在iOS开发的过程中,我们经常会被一些恼人的warning影响心情,当然常用的屏蔽warning的方法相信大家也已经掌握了不少,现在这里列举几个不常用的仅供大家参考 当使用cocoapods管理第三方库时,第三方库的的warning怎么办? 这个警告,我们时常无能感到很无能为力,因为总不能去依次修改第三方库里的代码来消除警告吧。其实看过cocoapods手册的同学应该会有所了解,只需要在我们的Podfile文件里添加一句,只是一句就可以解决 inhibit_all_warnings! 当我们定义一个变量或者调用一个有返回值的方法却没有使用该值时怎么办? 直接上代码吧 //.h文件 @interface ViewController : UIViewController { ...
点我阅读更多...

iOS分享引擎

随着移动端社交因素的不断深入,通过分享来传播和为应用引流已经成为了一个惯用的做法。虽然现在各个平台已经对分享的操作做了高度的封装,但是如何如何快速方便的引入分享模块也是开发者需要考虑的问题之一。 怎么样的分享比较理想? 这个问题,即使千人千面,但是参与过项目的朋友们也应该有一个初步的共识,无外乎下述几个问题: 方便快捷,能方便的快捷的接入分享模块 UI可定制,分享模块的视觉部分可根据自身应用的特色进行定制 调用清晰,方便的获取分享状态 可定制分享到的平台 易扩展,可容易的扩展上不支持的分享平台,而不涉及核心功能 基本上满足上述要求的分享模块,即便算不上一个好的分享模块,也算是一个不错的分享引擎^_^ 如何实现 我们将分享模块整理为一个插件的形式,每一个分享...
点我阅读更多...

资源定位-页面管理器

页面管理器是一个用于触发和管理app内页面跳转展示的模块,通过该模块调用方可以很方便的触发页面的跳转并传递自定义的参数。将页面的切换操作抽象为一种URI触发机制,克服了不同页面对应不同VC(viewController)时跳转页面时的不灵活性。下面我们将页面跳转管理器统称为PM(Page Manager) 为什么PM? 在我们平时的应用开发过程中,我们应该都碰到过根据远程数据配置页面入口的情况,通常我们会枚举所有情况,根据不同的入参决定要切换到的页面和切换页面的形态,这样做一般会存在如下问题: 页面切换逻辑太过分散,不便管理维护 不同的触发位置都需要实现一份分发逻辑,造成大量的冗余代码 分发方法过于庞大,极大的影响可读性 运营位(数据)、动...
点我阅读更多...

key-value初始化instanceVariable

接上一篇来介绍下,如何用key-value的形式初始化成员变量 背景接上篇,就不在赘述,如果不了解映射规则的话,可以先看看上一篇 key-value初始化property; 有个上一篇的铺垫,这篇将很好被接受,首先我们通过如下方法实例变量的名称获取到实例变量的指针objc_ivar *Ivar; Ivar instanceVariable = class_getClassVariable([self class], variableName.UTF8String); 同样Ivar类型为一个系统类型,我们不知道其内部实现,当然apple也同样为我们提供了方法来处理它,和上篇一样,先对处理它的方法做个描述 OBJC_EXPORT Ivar class_getClassVariab...
点我阅读更多...