原创 代碼異味 (Code smells)

如果一段代碼是不穩定或者有一些潛在問題的,那麼代碼往往會包含一些明顯的痕跡。 正如食物要腐壞之前,經常會發出一些異味一樣。 我們管這些痕跡叫做 代碼異味 。 No.1 重複代碼 (Duplicated Code) 解決方案: 同

原创 斷言Assertion

什麼是斷言 在程序設計中,斷言(assertion)是一種放在程序中的一階邏輯(如一個結果爲真或是假的邏輯判斷式),目的是爲了標示與驗證程序開發者預期的結果 -當程序運行到斷言的位置時,對應的斷言應該爲真。若斷言不爲真時,程序會

原创 CocoaPods的spec

pod setup用於初始化本地第三方庫的Spec描述文件,所有的spec文件存都存放在~/.cocoapods目錄中。 pod install用來安裝或刪除Podfile文件聲明中的第三方依賴庫。 $ pod list # 列出

原创 Git_Commit message & Change log

Git 每次提交代碼,都要寫 Commit message(提交說明),否則就不允許提交。 $ git commit -m "hello world" 上面代碼的-m參數,就是用來指定 commit mesage 的。 如果一行不

原创 CocoaPod 私有庫

私有庫用途 pods的出現極大的加速了iOS開發的速度,強大的包管理,以及強大的協作能力,讓它極大的加快了我們的開發的效率。 除了開放的第三方庫,我們需要自己的私有pod。比如開發項目時,我們可以結合git來形成新的開發模式。

原创 常用的正則表達式

正則表達式 正則表達式,一個十分古老而又強大的文本處理工具,僅僅用一段非常簡短的表達式語句,便能夠快速實現一個非常複雜的業務邏輯。熟練地掌握正則表達式的話,能夠使你的開發效率得到極大的提升。 正則表達式經常被用於字段或任意字符

原创 在Mac OS X中配置Apache + PHP + MySQL

Mac OS X 內置Apache 和 PHP,使用起來非常方便。本文以Mac OS X 10.6.3和 10.8.1爲例。 主要內容包括: 啓動Apache 運行PHP 安裝MySQL 啓動Apache 有兩種方法:

原创 CGContextRef

CGContextRef An opaque type that represents a Quartz 2D drawing environment. Graphics Context是圖形上下文,可以將其理解爲一塊畫布

原创 鏤空文字、類歌詞進度顯示文字

Demo詳見GitHub:JXTMarkLabel 鏤空文字 - JXTHollowOutLabel 鏤空文字效果的實現基於drawRect重繪,具體參考了兩篇帖子: Drawing a path with subtr

原创 iOS 網絡優化

DNS查找時間 可以使用的工具 $ dig www.baidu.com $ traceroute www.baidu.com 最小化應用使用的專有域名的數量 如果子域名數量上升至兩位數,我們需要仔細考慮這方面的優化了 冷啓

原创 CocoaPods 的安裝

移除現有Ruby默認源 $ gem sources --remove https://rubygems.org/ 使用新的源 $ gem sources -a https://ruby.taobao.org/ 驗證新源是

原创 AOP/iOS中如何實現AOP

什麼是AOP AOP:Aspect Oriented Programming,譯爲面向切面編程。 在不修改源代碼的情況下,通過運行時給程序添加統一功能的技術。 我覺得其中有兩層涵義: 第一:不修改源代碼,即儘可能的解耦。 第

原创 iOS國際化

程序國際化 準備工作: 首先我們要先創建一個工程,我們給他命名Internationalization-Demo,然後添加語言。 從代碼中分離文本: 目前,應用展示的所有文本都是以硬編碼字符串存在於Main.storyboard

原创 自定義 Xcode ViewController 類模板

Xcode 類模板 例如創建一個 UIViewController,一個 Category 等等,這些其實都是 Xcode 幫我們集成好的模板。 自定義 Xcode 類模板 當我們用 Xcode 自帶的模板創建一個 UIV

原创 fastlane doc

文檔 docs.fastlane.tools App Store Deployment iOS App Store deployment using fastlane [Building your app](iOS App S