摘要: 本篇讲解Result的封装 前言 有时候,我们会根据现实中的事物来对程序中的某个业务关系进行抽象,这句话很难理解。在Alamofire中,使用 来描述请求后的结果。我们都知道Alamofire返回的数据可以经过特殊的处理,比如说序列化,那么我们应该如何在 中获取到这些类型不同的数据呢? 假如说序列化 阅读全文
posted @ 2017-03-08 16:34 马在路上 阅读(2372) 评论(0) 推荐(2) 编辑
摘要: 本篇讲解参数编码的内容 前言 我们在开发中发的每一个请求都是通过 来进行封装的,可以通过一个URL生成 。那么如果我有一个参数字典,这个参数字典又是如何从客户端传递到服务器的呢? Alamofire中是这样使用的: 和URL相关的编码,有两种编码方式: 直接拼接到URL中 通过request的htt 阅读全文
posted @ 2017-03-06 11:43 马在路上 阅读(1909) 评论(0) 推荐(1) 编辑
摘要: 本篇讲解swift中通知的用法 前言 通知作为传递事件和数据的载体,在使用中是不受限制的。由于忘记移除某个通知的监听,会造成很多潜在的问题,这些问题在测试中是很难被发现的。但这不是我们这篇文章探讨的主题。 我曾见过,有的团队为了管理通知,开发了一个类似于 的类,所有通知的添加移除都通过这个类进行管理 阅读全文
posted @ 2017-03-01 15:07 马在路上 阅读(1068) 评论(0) 推荐(1) 编辑
摘要: 本篇主要讲解Alamofire中错误的处理机制 前言 在开发中,往往最容易被忽略的内容就是对错误的处理。有经验的开发者,能够对自己写的每行代码负责,而且非常清楚自己写的代码在什么时候会出现异常,这样就能提前做好错误处理。 Alamofire的错误封装很经典,是使用swift中enum的一个典型案例。 阅读全文
posted @ 2017-02-27 16:02 马在路上 阅读(3334) 评论(0) 推荐(2) 编辑
摘要: 尽管Alamofire的github文档已经做了很详细的说明,我还是想重新梳理一遍它的各种用法,以及这些方法的一些设计思想 前言 因为之前写过一个AFNetworking的源码解读,所以就已经比较了解iOS平台的网络框架是怎么一回事了。 和`AFNetworking`有很多相同的地方,然而,这些相同 阅读全文
posted @ 2017-02-23 09:41 马在路上 阅读(4462) 评论(2) 推荐(3) 编辑
摘要: 这是我认为的一些重要的知识点进行的总结。 1.图片编码简介 大家都知道,数据在网络中是以二进制流的形式传播的,那么我们该如何把那些1和0解析成我们需要的数据格式呢? 说的简单一点就是,当文件都使用二进制流作为传输时,需要制定一套规范,用来区分该文件到底是什么类型的。 文件头有很多个,我们在这里就介绍 阅读全文
posted @ 2017-01-24 16:50 马在路上 阅读(1966) 评论(0) 推荐(0) 编辑
摘要: 第十一篇 前言 我们知道 是用来管理图片下载的,但我们平时的开发更多的是使用 和`UIButton`这两个控件显示图片。 按照正常的想法,我们只需要在他们的分类中,通过 把图片下载下载之后,再进行赋值就行了。但这样的设计并不是最好的设计, 我们在准备提供一项功能的时候,应该要尽可能的弄明白这个功能的 阅读全文
posted @ 2017-01-23 14:23 马在路上 阅读(1784) 评论(2) 推荐(0) 编辑
摘要: 第十篇 前言 我们先看看 主文件的组成模块: 可以看出来,每个模块即独立又相对关联,当最后拼接出 的时候,我们就可以利用它来做一些有意思的事情。 本篇就主要讲解其中的一个使用场景:批量图片下载。记得之前有一位同学有这样的开发需求:他们公司要做一个漫画APP,漫画都是由图片组成的,每一个本漫画由很多章 阅读全文
posted @ 2017-01-22 15:38 马在路上 阅读(944) 评论(2) 推荐(0) 编辑
摘要: 第九篇 前言 是`SDWebImage`中最核心的类了,但是源代码确是非常简单的。之所以能做到这一点,都归功于功能的良好分类。 有了 这个基石,我们就能做很多其他的有意思的事情。比如给各种view绑定一个URL,就能显示图片的功能,有了Options,就能满足多种应用场景的图片下载任务。 读源码既能 阅读全文
posted @ 2017-01-20 17:04 马在路上 阅读(1490) 评论(0) 推荐(0) 编辑
摘要: SDWebImage源码解读之SDWebImageDownloader 第八篇 前言 这个类非常简单,作者的设计思路也很清晰,但是我想在这说点题外话。 如果有人问你:你怎么看待编程这件事?你怎么回答。这个问题是我在看这个类的时候,忽然出现在我脑子中的。我突然意识到,其实不管是函数还是属性,他们都是 阅读全文
posted @ 2017-01-09 16:10 马在路上 阅读(5068) 评论(0) 推荐(0) 编辑
摘要: 关于Swift中的各种函数的使用的总结 前言 时间久了,好多东西我们就会慢慢忘记,在这里总结一下Swift中函数的使用原则,把大部分的函数使用技巧用代码示例来做了演示,但是如果想提高,还是要多多思考才行 1.参数名 函数默认会带参数名,如果不想显示参数名,可以使用下划线_。 func createF 阅读全文
posted @ 2017-01-08 16:19 马在路上 阅读(922) 评论(1) 推荐(0) 编辑
摘要: 第七篇 前言 本篇文章主要讲解下载操作的相关知识, 的主要任务是把一张图片从服务器下载到内存中。下载数据并不难,如何对下载这一系列的任务进行设计,就很难了。接下来我们一步一步的分析作者在开发中的思路和使用到的技术细节。 NSOperation 想必大家都知道,为了让程序执行的更快,我们用多线程异步的 阅读全文
posted @ 2017-01-04 11:58 马在路上 阅读(1112) 评论(0) 推荐(0) 编辑
摘要: //: Playground noun: a place where people can play import UIKit var str = "Hello, playground" enum Movement { case Left case Right case Top case Botto 阅读全文
posted @ 2017-01-03 14:58 马在路上 阅读(1448) 评论(0) 推荐(0) 编辑
摘要: 本文的主要内容来自 "这里" 前言 做iOS开发的朋友,对OC肯定非常了解,那么大家有没有想过OC中 ,`NSObject NSString`这些对象是怎么封装的?接下来我们就使用C语言来一部一部的实现这个封装。 Object对象 首先我们先封装一个 对象,我们来分析一下: 如果使用C来封装对象,我 阅读全文
posted @ 2016-12-26 15:13 马在路上 阅读(1698) 评论(0) 推荐(1) 编辑
摘要: 前言 前段时间装mysql,就遇到了 的错误,网上好多方法都过时了,下边是我的解决方法 原因 这是因为苹果在OS X 10.11中引入的SIP特性使得即使加了sudo(也就是具有root权限)也无法修改系统级的目录,其中就包括了/usr/bin。要解决这个问题有两种做法:一种是比较不安全的就是关闭S 阅读全文
posted @ 2016-12-21 09:58 马在路上 阅读(2065) 评论(0) 推荐(0) 编辑
摘要: 第六篇 前言 我们在SDWebImageCache(上)中了解了这个缓存类大概的功能是什么?那么接下来就要看看这些功能是如何实现的? 再次强调,不管是图片的缓存还是其他各种不同形式的缓存,在原理上都极其相似,我们通过 ,来看看作者是如何实现这个功能的。 在业务中,经常要缓存数据,通过本篇的学习,我们 阅读全文
posted @ 2016-12-19 17:05 马在路上 阅读(1167) 评论(0) 推荐(1) 编辑
摘要: 第五篇 前言 本篇主要讲解图片缓存类的知识,虽然只涉及了图片方面的缓存的设计,但思想同样适用于别的方面的设计。在架构上来说,缓存算是存储设计的一部分。我们把各种不同的存储内容按照功能进行切割后,图片缓存便是其中的一个。 我们在封装自己的图片缓存管理对象的时候, 能够提供大约90%的代码给我们直接使用 阅读全文
posted @ 2016-12-14 15:52 马在路上 阅读(1247) 评论(0) 推荐(0) 编辑
摘要: 第四篇 前言 首先,我们要弄明白一个问题? 为什么要对UIImage进行解码呢?难道不能直接使用吗? 其实不解码也是可以使用的,假如说我们通过 来加载image,系统默认会在主线程立即进行图片的解码工作。 这一过程就是把image解码成可供控件直接使用的位图 。 当在主线程调用了大量的 方法后,就会 阅读全文
posted @ 2016-12-09 18:09 马在路上 阅读(1882) 评论(1) 推荐(0) 编辑
摘要: 递归函数可能跟我们平时想象的不一样 阅读全文
posted @ 2016-12-06 18:26 马在路上 阅读(927) 评论(0) 推荐(2) 编辑
摘要: 第三篇 前言 本篇主要解读 的配置文件。正如compat的定义,该配置文件主要是兼容Apple的其他设备。也许我们真实的开发平台只有一个,但考虑各个平台的兼容性,对于框架有着很重要的意义。这篇文章的重点是抽取出对于iOS很重要的用法,能够在项目开发中提高效率。 import 导入这个头文件,我们就能 阅读全文
posted @ 2016-12-06 14:36 马在路上 阅读(1889) 评论(0) 推荐(0) 编辑
摘要: 第二篇 前言 本篇是和GIF相关的一个UIImage的分类。主要提供了三个方法: 根据名称获取图片 根据NSData获取图片 修改图片到指定的尺寸 UIImage的size,scale属性 我们先不管图片的更高级的知识,我们简单的对size和scale这两个属性做一下介绍。 注意:如果要获取一个图片 阅读全文
posted @ 2016-12-05 16:21 马在路上 阅读(4076) 评论(0) 推荐(0) 编辑
摘要: 第一篇 前言 从今天开始,我将开启一段源码解读的旅途了。在这里先暂时不透露具体解读的源码到底是哪些?因为也可能随着解读的进行会更改计划。但能够肯定的是,这一系列之中肯定会有Swift版本的代码。 说说我的目的。想成为一名好的程序员,肯定绕不开模仿这条路。之所以做出这么一个决定,也是想提高自己写框架的 阅读全文
posted @ 2016-12-02 18:33 马在路上 阅读(2018) 评论(0) 推荐(0) 编辑
摘要: 本文转载自 "CGI与FastCGI" 1.当我们在谈到cgi的时候,我们在讨论什么 最早的Web服务器简单地响应浏览器发来的HTTP请求,并将存储在服务器上的HTML文件返回给浏览器,也就是静态html。事物总是不 断发展,网站也越来越复杂,所以出现动态技术。但是服务器并不能直接运行 php,as 阅读全文
posted @ 2016-11-15 09:17 马在路上 阅读(441) 评论(0) 推荐(0) 编辑
摘要: 该文章记录了购物车的实现代码,仅供参考 book_sc_fns.php output_fns.php h2 { font family: Arial, Helvetica, sans serif; font size: 22px; color: red; margin: 6px } body { f 阅读全文
posted @ 2016-11-14 14:21 马在路上 阅读(1431) 评论(0) 推荐(0) 编辑
摘要: 本篇主要是讲解一些最简单的验证知识 效果图 bookmark_fns.php data_valid_fns.php $value) { if ((!isset($key)) || ($value == '')) { return false; } } return true; } // Valid 阅读全文
posted @ 2016-10-29 17:20 马在路上 阅读(685) 评论(0) 推荐(0) 编辑
摘要: 本文讲解常用GD函数的应用 1.一个简单的图像 我们先看一个例子: 运行结果: 这段代码中我们用了一下几个函数: 新建一个真彩色图像.函数原型为 。 imagecreatetruecolor() 返回一个图像标识符,代表了一幅大小为 x_size 和 y_size 的黑色图像。 为一幅图像分配颜色. 阅读全文
posted @ 2016-10-24 09:47 马在路上 阅读(1518) 评论(0) 推荐(0) 编辑
摘要: php.ini的位置 Mac OS X中没有默认的php.ini文件,但是有对应的模版文件php.ini.default,位于/private/etc/php.ini.default 或者说 /etc/php.ini/default ,可以自行拷贝一份进行修改。 sudo cp /private/e 阅读全文
posted @ 2016-10-19 20:42 马在路上 阅读(2333) 评论(0) 推荐(0) 编辑
摘要: // 时间日期函数 Time Time '.$time1.''.$time2.''; $time3 = mktime(12, 0, 0); //当前中午的时间戳 echo $time3.''; $time4 = mktime(0, 0, 0, 1, 1); //当年1月1日 echo $time4. 阅读全文
posted @ 2016-10-18 08:49 马在路上 阅读(275) 评论(0) 推荐(0) 编辑
摘要: 使用其他Web站点的数据 Stock Quote From NASDAQ Stock qupte for ".$symbol.""; $url = 'http://finance.yahoo.com/d/quotes.csv'.'?s='.$symbol.'&e=.csv&f=fl1d1t1c1oh 阅读全文
posted @ 2016-10-17 16:36 马在路上 阅读(263) 评论(0) 推荐(0) 编辑
摘要: 本文讲解php中于文件交互中所使用的函数 代码示例 File Detail Details of file:".$file.""; echo "File Data"; echo 'File last accessed : '.date('j F Y H i', fileatime($file)).' 阅读全文
posted @ 2016-10-12 12:41 马在路上 阅读(317) 评论(0) 推荐(0) 编辑
摘要: 我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题。 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件。多年来,为电子邮件进行加密的标准一直是PGP(Pretty Good Privacy)。程序员Phil Zimmermann特别为电子邮件 阅读全文
posted @ 2016-10-10 16:36 马在路上 阅读(11415) 评论(0) 推荐(0) 编辑
摘要: 我们平时都听过非对称加密,公钥和私钥,签名验证,但这些证书都是怎么得到的呢?本篇文章会解答这些问题。 背景介绍 加密的一个简单但又实用的任务就是发送加密电子邮件。多年来,为电子邮件进行加密的标准一直是PGP(Pretty Good Privacy)。程序员Phil Zimmermann特别为电子邮件 阅读全文
posted @ 2016-10-08 16:53 马在路上 阅读(8237) 评论(0) 推荐(0) 编辑
摘要: 往往看别人的代码会有这样的感慨: 看不懂 理还乱 是离愁 别是一番滋味在心头 为什么要使用存储过程? 在mysql开发中使用存储过程的理由: 1. 当希望在不同的应用程序或平台上执行相同的函数,或者封装特定功能时,存储过程是非常有用的 2. mysql 执行语句是要先编译,然后再执行的。这样如果查询 阅读全文
posted @ 2016-09-29 11:57 马在路上 阅读(5220) 评论(3) 推荐(8) 编辑
摘要: MAC下 mysql不能插入中文和中文乱码的问题总结 前言 本文中所提到的问题解决方案,都是基于mac环境下的,但其他环境,比如windows应该也适用。 问题描述 本文解决下边两个问题: 1. 往mysql插入中文,能够成功,但mysql显示乱码 2. 不能往mysql插入中文,插入英文或数字能够 阅读全文
posted @ 2016-09-26 14:49 马在路上 阅读(2262) 评论(0) 推荐(0) 编辑
摘要: PHPMailer支持多种邮件发送方式,使用起来非常简单 1.下载PHPMailer "https://github.com/PHPMailer/PHPMailer" ,下载完成加压后, 把下边的两个文件复制进php的根目录: 2.设置邮件服务器 我们以qq邮箱为例,进入qq邮箱中,点击设置,选中账 阅读全文
posted @ 2016-09-20 15:35 马在路上 阅读(3484) 评论(0) 推荐(0) 编辑
摘要: const extern static 终极指南 不管是从事哪种语言的开发工作,const extern static 这三个关键字的用法和原理都是我们必须明白的。本文将对此做出非常详细的讲解。 const const是这三个中最简单的一个关键字。主要用于声明常量。常量和变量的样子没什么两样,只是前 阅读全文
posted @ 2016-09-19 15:53 马在路上 阅读(1771) 评论(0) 推荐(1) 编辑
该文被密码保护。 阅读全文
posted @ 2016-09-13 16:20 马在路上 阅读(2) 评论(0) 推荐(0) 编辑
摘要: 我们用AFNetworking小试牛刀,写一个简单的下载器来演示功能。 前言 为什么AFNetworking能够成为顶级框架?我们究竟该如何领悟它的精髓所在?这都是很难的问题。安全,高效,流畅,这3个特性缺一不可。假如我们要封装一个通用的网络框架,提供一个文件下载器是很有必要的。按照 管理编程原则 阅读全文
posted @ 2016-09-12 14:43 马在路上 阅读(4619) 评论(4) 推荐(1) 编辑
摘要: 忘记Root密码肿么办 Mac上安装MySQL就不多说了,去mysql的官网上下载最新的mysql包以及workbench,先安装哪个影响都不大。如果你是第一次安装,在mysql安装完成之后,会弹出来一个root账号的临时密码,就像下面的图: 我第一次的时候以为是个秘钥啥的,就没有细看,直接关掉了, 阅读全文
posted @ 2016-09-10 10:07 马在路上 阅读(2681) 评论(0) 推荐(0) 编辑
摘要: 承接上一篇 "AFNetworking 3.0 源码解读 总结(干货)(上)" 21.网络服务类型NSURLRequestNetworkServiceType 示例代码: typedef NS_ENUM(NSUInteger, NSURLRequestNetworkServiceType) { NS 阅读全文
posted @ 2016-09-03 09:31 马在路上 阅读(3644) 评论(2) 推荐(1) 编辑