关于你是菜B的开始

iOS工程通用模块介绍

写iOS程序的时候往往需要很多第三方框架的支持,可以大大减少工作量,讲重点放在软件本身的逻辑实现上。

GitHub里面有大量优秀的第三方框架,而且License对商业很友好。一下摘录一下几乎每个项目都想集成的几个框架。

1. Mantle

Mantle让我们能简化Cocoa和Cocoa Touch应用的model层。简单点说,程序中经常要进行网络请求,请求到得一般是json字符串,我们一般会建一个Model类来存放这些数据。这就要求我们编写一系列的序列化代码,来把json转换为Model。这很费时间,容易错,不容易修改。Mantle很好的解决了这个问题,而且更易用。

2. Masonry

IB时代,如果你还在用代码绝对布局就太low了。随着苹果发布iPhone6、iPhone 6 plus。iOS设备将会出现越来越丰富的屏幕尺寸,我们不可能根据每个尺寸做一套布局。所以,使用autolayout就很有必要了。在storyboard中,可以非常方便的使用autolayout,但是为了更好的协作开发,有些公司依然在手写布局,令人沮丧的是苹果提供的autolayout语法晦涩难懂,非常影响效率(你可以在这里动态查看autolayout的语法)。Masonry就是设计来解决复杂的手写autolayout。如何优雅的使用autolayout,且看Masonry。

3. Reachability

移动互联网时代,应该很少有应用是不需要网络连接的吧。监测网络连接状态几乎是必不可少的一部分。Reachability可以完美的完成这一任务

4. BlocksKit

BlocksKit绝对是Objective-C的知心伴侣,它为OC常用类提供了强大的Block语法支持,使得编写OC代码变得舒适、快速、优雅。反正我是绝对离不开它。

5. KVOController

如果你在项目中有使用KVO,那么KVOController绝对是个好选择。它是facebook开源的一个KVO增强框架。有以下几个特性:

  • 使用 Blocks、自定义 Actions 或者 NSKeyValueObserving 回调进行通知.
  • 观测者移除时无异常
  • 控制器 dealloc 时隐式的观测者移除
  • 提升使用 NSKeyValueObservingInitial 的性能
  • 线程安全并提供在观测者恢复时额外的保护

还有什么理由不使用KVOController呢?

6. MBProgressHUD

一个老牌、经典的通知组件,如果你们美工没有专门设计等待和通知视图,那就用它吧!

7. ODRefreshControl

很多公司都自己设计下拉刷新视图,比如网易新闻iOS客户端,下拉的时候会有广告出现。如果你只是需要一个下拉刷新,那么可以考虑ODRefreshControl,它是原iOS6上的橡皮糖刷新样式,很有意思。现在也很多大的App在用,比如虾米音乐和QQ客户端。

GitHub:https://github.com/Sephiroth87/ODRefreshControl 参考: * CocoaPod:pod ‘ODRefreshControl’, ‘~> 1.1.0’

8. pop

又是Facebook开源的。大名鼎鼎的pop,做动画的不二之选。收下它吧。

9. AFNetworking

objective-c下网络请求库不二选择。

Comments

Git总结

Git和GitHub一直在用,但是没有详细学习过,只会几个简单的命令,做一些提交上传的操作。这几天公司没项目,比较闲,就把Git的原理和命令详细看了一遍。

Git的官方网站是 http://git-scm.com/

《Git Pro》是一本好书,详细覆盖了Git的方方面面,所有你遇到的关于Git的内容都可以在上面找到。而且它免费,有中文版和英文版

《Git Pro》英文版 在线阅读
《Git Pro》中文版在线阅读

书是好书,就是太厚。花时间。而且如果没有任何Git的操作体验,直接看这本书头会比较大。所以我看了会就没看了。在网上找到另外一篇教程,详细介绍了Git的日常使用,不罗嗦,讲的都是项目中经常用到的功能。

教程作者是廖雪峰。你可以在这里找到这篇教程 教程地址
他还写了一个配套的iOS App。有兴趣的也可以下载支持。

这边把学到的知识做个总结:

以下内容来自原上面提到的教程

基本命令

  • git init :初始化仓库
  • git add \<filename> :添加未跟踪文件到暂存区 或 添加修改的文件到暂存区
  • git rm \<filename> :将文件从git跟踪列表中删除
  • git commit -m ‘commit log’ :提交一个版本到git
  • git log :查看所有的提交历史记录
  • git status :查看当前git的状态
  • git checkout – \<file> :撤销工作目录文件的修改
  • git reset HEAD \<file> :取消暂存

版本管理

  • git reset –hard HEAD^ :版本回退上一个版本
  • git reset –hard HEAD^^ :版本回退上上个版本
  • git reset –hard HEAD~100 :版本回退前一百个版本
  • git reflog :查看操作记录,可以找到所有历史commit
  • git diff HEAD – \<file> :命令可以查看工作区和版本库里面最新版本的区别

远程管理

  • git clone [email protected]:michaelliao/gitskills.git :将远程库下载下来
  • git remote add origin [email protected]:path/repo-name.git :添加远程库地址
  • git push -u origin master :提交的远程库
  • git remote -v:查看远程库信息
  • git push origin branch-name:从本地推送分支,如果推送失败,先用git pull抓取远程的新提交
  • git checkout -b branch-name origin/branch-name:在本地创建和远程分支对应的分支,本地和远程分支的名称最好一致
  • git branch –set-upstream branch-name origin/branch-name:建立本地分支和远程分支的关联
  • git pull:从远程抓取分支,如果有冲突,要先处理冲突

分支

  • git branch:查看分支
  • git branch \<name>:创建分支
  • git checkout \<name>:切换分支
  • git checkout -b \<name>:创建并切换分支
  • git merge \<name>:合并某分支到当前分支
  • git branch -d \<name>:删除分支
  • git log –graph:命令可以看到分支合并图

在实际开发中,我们应该按照几个基本原则进行分支管理: 首先,master分支应该是非常稳定的,也就是仅用来发布新版本,平时不能在上面干活; 那在哪干活呢?干活都在dev分支上,也就是说,dev分支是不稳定的,到某个时候,比如1.0版本发布时,再把dev分支合并到master上,在master分支发布1.0版本; 你和你的小伙伴们每个人都在dev分支上干活,每个人都有自己的分支,时不时地往dev分支上合并就可以了。

标签 Tag

  • git tag \<name>:用于新建一个标签
  • git tag -a -m “blablabla…”可以指定标签信息
  • git tag -a v0.1 -m “version 0.1 released” 3628164
  • git tag:可以查看所有标签
  • git push origin \<tagname>:可以推送一个本地标签
  • git push origin –tags:可以推送全部未推送过的本地标签
  • git push origin :refs/tags/\<tagname>:可以删除一个远程标签
  • git tag -d :可以删除一个本地标签
时间: 2024-11-07 11:38:05

关于你是菜B的开始的相关文章

菜鸟窝React Native 视频系列教程

菜鸟窝React Native 视频系列教程 交流QQ群:576089067 Hi,我是RichardCao,现任新美大酒店旅游事业群的Android Developer.15年加入饿了么即时配送BU,后负责蜂鸟众包Android端,期间引入react-native技术,作为国内react-native 与 Android混合开发的早期商业项目,具有一定经验,同时也是react-native开源项目reading(https://github.com/attentiveness/reading)

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来

菜鸟窝React Native 系列教程-1.移动端开发趋势与未来 课程持续更新中..... 我是RichardCao,现任新美大酒店旅游事业群的Android Developer.如果你也有兴趣录制RN视频,请加入下面QQ群找我. 下载地址:https://pan.baidu.com/s/1c1XmE56 密码:shhw 首发地址:菜鸟窝-ReactNative学习板块 交流QQ群:576089067 课程目录:菜鸟窝React Native 系列教程

&lt;鸟哥的Linux私房菜 第二版 读书笔记 &gt;

2017年4月9日22:23:40 <鸟哥的linux私房菜> 1.操作系统 1.1什么是操作系统呢? 操作系统是用来管理计算机的软硬件资源,用来方便用户使用的程序的集合.让用户不必要在了解硬件的作用只需要简单的操作就可以完成复杂的计算问题. 1.2Kernel Kernel(核心),是计算机操作系统的内核,是操作系统的核心部分,也是操作系统最底层的东西,它掌管着整个硬件资源的工作状态. 核心管理的事项主要有:系统调用接口(System Call Interface).进程控制(Process

卖菜也能有新招

实习时间:2016/02/05 ——2016/02/24 实习地点:广西省桂林市平乐县菜市 实习报告: 早早学校就放假了,当时也没有找到好的实习工作,所以就先回了家.回家回的早也有早的烦恼,当时朋友同学都还在上学没回家,爸妈就叫我去卖菜了.世界上没有任何事情是可以很轻松做完的,卖菜也一样.卖菜最烦的就是等待,最困的就是早起晚归. 头天下午就去菜地里面把要的菜和菜农们说好,等第二天一大早菜农们就会把菜送到我们卖菜的档口去. 这就是其中一天去地上看的菜. 第二天一大早就去搬菜.摆菜了. 枯燥而无谓的

[Firefox附加组件]0002.添加菜单项

Add-onSDK 还不能为火狐浏览器提供一个API添加新的菜单项.但它是可扩展的设计,所以任何人都可以建立和发布模块,使用插件开发者.大牛埃里克沃尔德写的MenuItems模块,能够使我们很方便的添加菜单项. 开发步骤 1.老规矩首先创建一个新的扩展程序.创建一个目录名称为"ItemTest"(自己随便取),并运行cfx init初始化 . mkdir ItemTest cd ItemTest cfx init 2.安装 menuitems [1].从https://github.c

java学习:AWT组件和事件处理的笔记(1)--菜单条,菜单,菜单项

菜单放在菜单条里,菜单项放在菜单里1.MenuBar    在java.awt包中,负责创建菜单条,即MenuBar的一个实例,便是一个菜单条.    在Frame类中的setMenuBar(MenuBar bar)方法,可把菜单条添加到窗口的顶端,但只能向窗口中添加一个菜单条2.Menu    在java.awt包中,负责创建菜单,即Menu的一个实例,便是一个菜单.    Meun类的方法如下:            Menu()   建立一个空标题的菜单            Menu(S

Selenium私房菜系列4 -- Selenium IDE的使用【QQ】

前面说过,Selenium IDE是Firefox的一个插件,是可以进行脚本录制以及案例转换,所以Selenium IDE+Firebug会成为你日后写测试案例的两大助手(IE下可以使用Selenium Core+IEDevelperToolBar). Selenium IDE下载:http://seleniumhq.org/download/ Firebug下载:https://addons.mozilla.org/firefox/addon/1843 下面将演示Selenium的使用: 1.

【vc】6_菜 单

1.菜单命令响应函数: 提示:MFC都是采用大写字母来标识资源ID号的:为了区分资源类型,一般遵循这样一个原则:在“ID”字符串后加上一个标识资源类型的字母.例:菜单资源(Menu):ID_Mxxx:光标资源(Cursor):ID_Cxxx:图标资源(Icon):ID_Ixxx等: 2.菜单命令的路由: 程序类对菜单命令的响应顺序:视类.文档类.框架类.应用程序类 xxxView --> xxxDoc --> xxxFrame --> xxxApp(可以通过调试验证,注意:CxxxApp

热烈庆祝《伟哥的python私房菜》电子书上架开卖

经过2个多月的校对,新书<伟哥的python私房菜>电子书上架开卖,由机械工业出版社出版,感谢51CTO 蘑菇 的大力协助,相关的地址: http://www.hzmedia.com.cn/books11111686 http://www.amazon.cn/%E4%BC%9F%E5%93%A5%E7%9A%84python%E7%A7%81%E6%88%BF%E8%8F%9C-%E7%8E%8B%E4%BC%9F/dp/B00K68O7RS/ref=zg_bs_tab_pd_bsnr_1 热

Codevs 1025 选菜

1025 选菜 时间限制: 1 s 空间限制: 128000 KB 题目等级 : 黄金 Gold 题解 题目描述 Description 在小松宿舍楼下的不远处,有PK大学最不错的一个食堂——The Farmer’s Canteen(NM食堂).由于该食堂的菜都很不错,价格也公道,所以很多人都喜欢来这边吃饭.The Farmer’s Canteen的点菜方式如同在超市自选商品一样,人们从一个指定的路口进去,再从一个指定的路口出来并付款.由于来这里就餐的人数比较多,所以人们自觉地在进入口的时候就排