<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[fhbystudy的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/fhbystudy</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; fhbystudy]]></copyright><item><title><![CDATA[高效的程序员是聪明和懒惰的]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/43482641</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/43482641</guid><author>fhbystudy</author><pubDate>Wed, 04 Feb 2015 10:15:04 +0800</pubDate><description><![CDATA[本文是码农网原创翻译，转载请看清文末的转载要求，谢谢合作！
我之所以要用聪明和懒惰来形容高效的程序员，原因有以下几点：

聪明是因为能找出问题的正解懒惰是因为不愿写多余的代码（即不会长时间地坐在电脑前）

好的软件开发过程应该是懒惰的软件开发，亦称耐心开发，原因是开发人员在写代码之前会先将时间花在透彻地考虑各种解决方案上。
这是懒惰开发的主旨，即在不了解之前就不会开始写代码。这个负责任]]></description><category></category></item><item><title><![CDATA[Swift 基础 ---类和结构体]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/34846313</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/34846313</guid><author>fhbystudy</author><pubDate>Thu, 26 Jun 2014 14:47:27 +0800</pubDate><description><![CDATA[类和结构体

Swfit并不要求你为自定义类和结构去创建独立的接口和实现文件，只需要在一个文件定义一个类或结构体，Swift自动生成外部接口
通常类的实例被称为对象，Swift中称为实例而不是对象


1.定义
通过class和struct来声明结构体，大括号里定义它们的内容




[objc] view
 plaincopy






class So]]></description><category></category></item><item><title><![CDATA[Swift中利用单例 融合 FMDB数据库]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/31352961</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/31352961</guid><author>fhbystudy</author><pubDate>Mon, 16 Jun 2014 10:32:57 +0800</pubDate><description><![CDATA[class ZWDBManager: NSObject {
    //前提将FMDBDatabase的头文件加入到桥接文件中
    var dataBase:FMDatabase?
    var lock:NSLock?
    //创建单例
    class func shareInstance()->ZWDBManager{
        struct qzSingle{
     ]]></description><category></category></item><item><title><![CDATA[app 检查版本更新]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/30828729</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/30828729</guid><author>fhbystudy</author><pubDate>Sat, 14 Jun 2014 22:47:38 +0800</pubDate><description><![CDATA[如果我们要检测app版本的更新，那么我们必须获取当前运行app版本的版本信息和appstore 上发布的最新版本的信息。




当前运行版本信息可以通过info.plist文件中的bundle version中获取：





[cpp] view
 plaincopy






NSDictionary *infoDic = [[NSBundle mai]]></description><category></category></item><item><title><![CDATA[xcode 高效开发环境搭建基本工具2]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/29867875</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/29867875</guid><author>fhbystudy</author><pubDate>Tue, 10 Jun 2014 17:53:11 +0800</pubDate><description><![CDATA[Xcode IDE拥有着众多非常高大上的工具，而予以辅助的插件更是在Xcode的基础上对相关功能进行改进与扩展。本文总结介绍了备受开发者喜爱的10款开源Xcode插件，涉及代码编辑、注释、管理等各个方面。


Xcode IDE拥有着诸如导航、重构、校准等众多非常高大上的工具，而予以辅助的插件更是在Xcode的基础上对相关功能进行改进与扩展。在应用开发过程中，通过开源包管理器Alcatraz]]></description><category></category></item><item><title><![CDATA[Xcode 高效开发环境搭建基本工具1]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/29866461</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/29866461</guid><author>fhbystudy</author><pubDate>Tue, 10 Jun 2014 17:40:09 +0800</pubDate><description><![CDATA[通用工具

HomeBrew：OS X上非常出色的包管理工具。

源码控制

Git：分布式版本控制系统和源码管理系统，其优点是：快和简单易用。对于新手来说，可在此查看免费电子书籍。

GitHub：声望日盛的资源分享之地。

BitBucket：GitHub的替代选择。

GitHub for Mac：一个设计的非常美观的git客户端，不能取代你从命令行获得的所有功能，]]></description><category></category></item><item><title><![CDATA[iOS Code Standard]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/29859437</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/29859437</guid><author>fhbystudy</author><pubDate>Tue, 10 Jun 2014 16:53:38 +0800</pubDate><description><![CDATA[我们写出来的代码会给很多人看，为了使代码清晰简洁，方便阅读理解，都会统一遵从一定的代码规范，Objective-C同样如此。

 

主要参考规范：

 

1. Google Objective-C Style Guide

 

2. Coding
 Guidelines for Cocoa

 

简单总结一下目前接触到的：

 

1.代码行度最大]]></description><category></category></item><item><title><![CDATA[iOS 网络框架介绍：MKNetworkKit]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/29807471</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/29807471</guid><author>fhbystudy</author><pubDate>Tue, 10 Jun 2014 10:12:56 +0800</pubDate><description><![CDATA[ASIHTTPRequest (作者：BenCopsey) 是一个使用简单，可用于各种从简单到复杂的 HTTP 请求，或者可用于处理 Amazon S3、Rackspace 等REST 服务的强大框架。

不幸的是，Ben 早在 2011 年 9 月 21 日就已经声明停止开发和支持该框架（见http://allseeing-i.com/%5Brequest_release%5D; ）。
]]></description><category></category></item><item><title><![CDATA[Swift Research Link]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/28693703</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/28693703</guid><author>fhbystudy</author><pubDate>Thu, 05 Jun 2014 21:36:08 +0800</pubDate><description><![CDATA[在本周二凌晨召开的苹果年度开发者大会WWDC上，苹果公司推出了全新的编程语言Swift。Swift 基于C和Objective-C，是供iOS和OS X应用编程的全新语言，更加高效、现代、安全，可以提升应用性能，同时降低开发难度。




据称，Swift仍然处于beta测试的阶段，会在iOS 8发布的时一同推出市场，用来取代现有的Objective-C语言。Swift推出之后，苹果公司]]></description><category></category></item><item><title><![CDATA[Android端的条形码/二维码识别功能 Zxing]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/26614215</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/26614215</guid><author>fhbystudy</author><pubDate>Thu, 22 May 2014 18:38:54 +0800</pubDate><description><![CDATA[因为手机端的输入不是很方便，所以条形码/二维码的扫描是一种很有效的解决手段。

　　比较流行的手机应用中，常用的二维码扫描实现，是使用了开源库——ZXing：http://code.google.com/p/zxing/

　　据项目主页的介绍，这个开源项目是用Java实现的，用手机自带的摄像头，扫描条形码/二维码，不需要和服务器通信（当然这个项目也可以用于PC和服务器），就可以做一维或二]]></description><category></category></item><item><title><![CDATA[Android平台下利用zxing实现二维码开发]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/26494515</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/26494515</guid><author>fhbystudy</author><pubDate>Wed, 21 May 2014 17:27:36 +0800</pubDate><description><![CDATA[Android平台下利用zxing实现二维码开发

　　现在走在大街小巷都能看到二维码，而且最近由于项目需要，所以研究了下二维码开发的东西，开源的二维码扫描库主要有zxing和zbar，zbar在iPos平台上应用比较成熟，而在Android平台上主流还是用zxing库，因此这里主要讲述如何利用zxing进行二维码开发。

1.如何将zxing的Android源码导入工程。

　　在导]]></description><category></category></item><item><title><![CDATA[ZXing for iOS Scan (Qr , data metrics code)]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/26490597</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/26490597</guid><author>fhbystudy</author><pubDate>Wed, 21 May 2014 17:00:45 +0800</pubDate><description><![CDATA[ZXing(Github镜像地址)是一个开源的条码生成和扫描库（开源协议为Apache2.0)。它不但支持众多的条码格式，而且有各种语言的实现版本，它支持的语言包括：Java,
 C++, C#, Objective-C, ActionScript和Ruby。

我上周在iOS项目开发中使用了ZXing的扫描二维码功能。在此总结一下如何将ZXing集成到已有的iOS工程中，分享给大家。
]]></description><category></category></item><item><title><![CDATA[Android 屏幕适配--屏幕旋转]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/26462751</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/26462751</guid><author>fhbystudy</author><pubDate>Wed, 21 May 2014 12:29:05 +0800</pubDate><description><![CDATA[1、当屏幕旋转的时候Activity执行的方法为


onpause（）
onSaveInstanceState（）
onStop（）
onDestory()
oncreate()
onStart()
onRestoreInstanceState()
onResume()


2、如果想在屏幕改变的时候不执行这些
通过查阅Android API可以得知android:o]]></description><category></category></item><item><title><![CDATA[GCD 信号量控制并发 （dispatch_semaphore）]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25918451</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25918451</guid><author>fhbystudy</author><pubDate>Thu, 15 May 2014 21:58:01 +0800</pubDate><description><![CDATA[当我们在处理一系列线程的时候，当数量达到一定量，在以前我们可能会选择使用NSOperationQueue来处理并发控制，但如何在GCD中快速的控制并发呢？答案就是dispatch_semaphore，对经常做unix开发的人来讲，我所介绍的内容可能就显得非常入门级了，信号量在他们的多线程开发中再平常不过了。
　　信号量是一个整形值并且具有一个初始计数值，并且支持两个操作：信号通知和等待。当一个信]]></description><category></category></item><item><title><![CDATA[iOS 本地缓存实现 方案借鉴]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25902841</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25902841</guid><author>fhbystudy</author><pubDate>Thu, 15 May 2014 17:24:36 +0800</pubDate><description><![CDATA[在手机应用程序开发中，为了减少与服务端的交互次数，加快用户的响应速度，一般都会在iOS设备中加一个缓存的机制，前面一篇文章介绍了iOS设备的内存缓存，这篇文章将设计一个本地缓存的机制。

功能需求

这个缓存机制满足下面这些功能。

1、可以将数据缓存到本地磁盘。

2、可以判断一个资源是否已经被缓存。如果已经被缓存，在请求相同的资源，先到本地磁盘搜索。

3、可以判断文件缓存]]></description><category></category></item><item><title><![CDATA[iOS 内存缓存]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25902615</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25902615</guid><author>fhbystudy</author><pubDate>Thu, 15 May 2014 17:22:21 +0800</pubDate><description><![CDATA[前面一片文章介绍了如何上传和下载文件，这篇文章将介绍一下如何在iOS设备中进行缓存。

这篇文章将只介绍一下将内容缓存到内存中，下一篇文章就介绍一下在iOS磁盘上缓存内容。

使用缓存的目的是为了使用的应用程序能更快速的响应用户输入，是程序高效的运行。有时候我们需要将远程web服务器获取的数据缓存起来，减少对同一个url多次请求。

内存缓存我们可以使用sdk中的NSURLCache类]]></description><category></category></item><item><title><![CDATA[Android 产品设计 原则]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25869977</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25869977</guid><author>fhbystudy</author><pubDate>Thu, 15 May 2014 09:40:39 +0800</pubDate><description><![CDATA[上篇文章介绍了Android开发的设计理念的一部分，并没有得到博友们的多大认可，只看到了一位博友在下面留言期待下一篇文章的发表，为了这小小的唯一支持，我决定继续把后面的8个要点介绍一下，自己也潜心反省一下，自己的理解是不是太浅薄。

二、增加易用性


    （6）一样的标志，一样的功能     


     我们设计的程序应该帮助人们通过视觉辨别就可以轻松判断该图案或者按钮代]]></description><category></category></item><item><title><![CDATA[Android Service 深入理解]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25731573</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25731573</guid><author>fhbystudy</author><pubDate>Tue, 13 May 2014 18:05:23 +0800</pubDate><description><![CDATA[一、 Service简介

Service是android 系统中的四大组件之一（Activity、Service、BroadcastReceiver、ContentProvider），它跟Activity的级别差不多，但不能自己运行只能后台运行，并且可以和其他组件进行交互。service可以在很多场合的应用中使用，比如播放多媒体的时候用户启动了其他Activity这个时候程序要在后台继续播放]]></description><category></category></item><item><title><![CDATA[Android Service]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25729203</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25729203</guid><author>fhbystudy</author><pubDate>Tue, 13 May 2014 17:40:38 +0800</pubDate><description><![CDATA[Service是在一段不定的时间运行在后台，不和用户交互应用组件。每个Service必须在manifest中 通过来声明。可以通过contect.startservice和contect.bindserverice来启动。

    Service和其他的应用组件一样，运行在进程的主线程中。这就是说如果service需要很多耗时或者阻塞的操作，需要在其子线程中实现。




    ]]></description><category></category></item><item><title><![CDATA[Activity之间的通信]]></title><link>https://blog.youkuaiyun.com/fhbystudy/article/details/25716467</link><guid>https://blog.youkuaiyun.com/fhbystudy/article/details/25716467</guid><author>fhbystudy</author><pubDate>Tue, 13 May 2014 15:45:19 +0800</pubDate><description><![CDATA[Activity之间的通信

Activity 之间的通信是通过Intent实现的

1.由activity A 到B -- 调用同一个应用下的activity

    a.普通方式

    流程：创建一个Intent实例 ，通过Intent指定从哪个Activity到哪个Activity，然后 A实例对象.startActivity(Intent实例)    eg：

 ]]></description><category></category></item></channel></rss>