自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(279)
  • 收藏
  • 关注

原创 https 安全验证问题

最近为了满足苹果的 https 要求, 经过努力终于写出了方法验证 SSL 证书是否满足 ATS 要求nscurl --ats-diagnostics --verbose https://你的域名PASS 符合要求输出满足 ATS 的证书openssl s_client -connect 你的域名:443 /dev/null | openssl x509 -

2017-06-21 17:03:00 1355

原创 2017 最新的 cocoaPods 安装方法

第一步:安装rvm,不管需不需要升级ruby,rvm可以让你拥有多个版本的Ruby,并且可以在多个版本之间自由切换。如果已经安装过跳到第2步(rvm -v 查看是否安装)$ curl -L get.rvm.io | bash -s stable//需要等一会$ source ~/.bashrc$ source ~/.bash_profile等待终端加载完毕,

2017-06-21 17:02:30 5001

转载 NSStringCompareOptions

typedefNS_OPTIONS(NSUInteger, NSStringCompareOptions) {    NSCaseInsensitiveSearch = 1,    //不区分大小写比较    NSLiteralSearch = 2,    //逐字节比较 区分大小写    NSBackwardsSearch = 4,    //从字符串末尾开始搜索

2017-06-21 17:01:52 572

原创 git 设置不需要输入密码, 去除 fetch / pull 代码每次都需要输入密码的烦恼

https方式每次都要输入密码,按照如下设置即可输入一次就不用再手输入密码的困扰而且又享受https带来的极速设置记住密码(默认15分钟):git config --global credential.helper cache如果想自己设置时间,可以这样做:git config credential.helper 'cache --timeout=3600'这样就设

2017-06-21 17:01:15 15087 1

原创 iOS正则表达式

1、简介:    在项目中,正则的使用是很普遍的,例如登录账号和密码(手机号、邮箱等)。用到的方法就是谓词对象过滤:NSPredicate。 2、什么是正则表达式:  正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。

2017-06-21 17:00:42 408

原创 AFNetworking 3.1.0 使用中某些知识点讲解

# POST / GET  请求  /*!     首先要知道,POST请求不能被缓存,只有 GET 请求能被缓存。因为从数学的角度来讲,GET 的结果是 幂等 的,就好像字典里的 key 与 value 就是幂等的,而 POST 不 幂等 。缓存的思路就是将查询的参数组成的值作为 key ,对应结果作为value。从这个意义上说,一个文件的资源链接,也叫 GET 请求,下文也会这

2017-06-21 17:00:09 267

原创 强制解包看 Swift 的设计

不知道大家有没有发现,在一个 Objective-C 和 Swift 混编的 App 中,当把一个 OC 中的参数转到 Swift 时,Swift 会自动把这个变量进行强制解包。举个例子,我在 OC 中定义这样一个变量:@property (nonatomic, copy) NSString *foo;它转成 Swift 就变成了这样:var foo: String!这样看

2017-06-21 16:59:19 265

原创 PlistBuddy简单使用

PlistBuddy简单使用由于PlistBuddy并不在Mac默认的Path里,所以我们得通过绝对路径来引用这个工具:查看帮助/usr/libexec/PlistBuddy --help下面我们来看看PlistBuddy的简单使用打印:初始化一个 info.plist 文件初始化info.plist打印info.plist文件/usr/

2017-06-21 16:58:40 2120

原创 Objective-C Associated Objects 的实现原理

我们知道,在 Objective-C 中可以通过 Category 给一个现有的类添加属性,但是却不能添加实例变量,这似乎成为了 Objective-C 的一个明显短板。然而值得庆幸的是,我们可以通过 Associated Objects 来弥补这一不足。本文将结合 runtime 源码深入探究 Objective-C 中 Associated Objects 的实现原理。在阅读本文的

2017-06-21 16:57:55 245

原创 多线程:GCD

多线程是程序开发中非常基础的一个概念,大家在开发过程中应该或多或少用过相关的东西。同时这恰恰又是一个比较棘手的概念,一切跟多线程挂钩的东西都会变得复杂。如果使用过程中对多线程不够熟悉,很可能会埋下一些难以预料的坑。iOS中的多线程技术主要有NSThread, GCD和NSOperation。他们的封装层次依次递增,其中:NSThread封装性最差,最偏向于底层,主要基于thre

2017-06-21 16:57:20 426

原创 iOS 本地时间 / UTC时间 / 时间戳等操作 / 获取当前年月日

//获得当前时间并且转为字符串- (NSString *)dateTransformToTimeString{ NSDate *currentDate = [NSDate date];//获得当前时间为UTC时间 2014-07-16 07:54:36 UTC (UTC时间比标准时间差8小时) //转为字符串 NSDateFormatter*df = [

2017-06-21 16:56:41 2645

原创 dSYM 文件分析工具

前不久 项目 终于成功发布上线了,最近就在给项目做优化,并排除一些线上软件的 bug,因为项目中使用了友盟统计,所以在友盟给出的错误信息统计中能比较方便的找出客户端异常的信息,可是很多像数组越界却只给出了 *** -[__NSArrayM objectAtIndex:]: index 50 beyond bounds [0 .. 39]' 这类错误信息,如下图所示:遇到这种问题如果

2017-06-21 16:55:58 203

原创 Description &&debugDescription && runtime(debug模式下调试model)

description在开发过程中, 往往会有很多的model来装载属性. 而在开发期间经常会进行调试查看model里的属性值是否正确. 那么问题来了, 在objective-c里使用NSLog("%@",model)这行代码打印出来的却是model的地址. 不是我们所想要的结果~! 看图:那么问题又来了?有没有办法解决这个问题尼,答案那就是有~!只需要重写- (NSString

2017-06-21 16:36:45 570

原创 Xcode 工程文件“.xcodeproj”文件夹解析

项目.xcodeproj 文件夹底下一般有4个文件:project.pbxproj 文件xcuserdata 文件夹xcshareddata 文件夹project.xcworkspace 文件夹 (这里暂不讲解) 下面主要讲解涉及到 .xcschemes 相关文件,其他设置(例如断点一类的)暂不讲解1.project.pbxproj 文件

2017-06-21 16:21:48 2787

原创 XMPPManager 解析

NSUserDefaults standardUserDefaults]; [defaults setObject:account forKey:kAccountKey]; [defaults setObject:pwd forKey:kPasswordKey]; [defaults setObject:domain forKey:kDomainKey]; //同步沙盒 [defaults syn

2017-06-21 16:21:19 289

原创 基于XMPP的即时通信系统的建立

XMPP详解XMPP(eXtensible Messaging and Presence Protocol,可扩展消息处理和现场协议)是一种在两个地点间传递小型结构化数据的协议。在此基础上,XMPP协议已经被用来构建大规模即时通信系统、游戏平台、协作空间及语音和视频会议系统。XMPP由几个小的构造块组成,并在此基础上扩展出了更多的构造块。XMPP中有众多系统:发布-订阅服务、多人聊

2017-06-21 16:20:50 469

原创 XMPPFramework核心类介绍

XMPPFramework结构在进入下一步之前,先给大家讲讲XMPPFramework的目录结构,以便新手们更容易读懂文章。我们来看看下图:虽然这里有很多个目录,但是我们在开发中基本只关心Core和Extensions这两个目录下的类。各个目录主要用来干嘛的?Authentication:这一看名字就知道与授权验证相关的。Categories:主要是一些扩展,尤其是

2017-06-21 16:20:18 710 1

原创 iOS开发debug跟release版本NSLog屏蔽方法

简单介绍以下几个宏:1) __VA_ARGS__ 是一个可变参数的宏,这个可变参数的宏是新的C99规范中新增的,目前似乎只有gcc支持(VC6.0的编译器不支持)。宏前面加上##的作用在于,当可变参数的个数为0时,这里的##起到把前面多余的","去掉,否则会编译出错。2) __FILE__ 宏在预编译时会替换成当前的源文件名3) __LINE__宏在预编译时会替换成当前的行号4) 

2017-06-21 16:19:54 176

原创 【小型系统】抽奖系统

一、需求分析  1. 显示候选人照片和姓名。  2. 可以使用多种模式进行抽奖,包括一人单独抽奖、两人同时抽奖、三人同时抽奖。  3. 一个人可以在不同的批次的抽奖中获取一、二、三等奖,但是不能在同一批次抽奖中获取多个奖项。二、系统总体框架  系统需求比较简单,采用Java Swing技术可以很好的实现,系统的总体类框架图如下    说明:基

2017-06-21 16:18:47 583

原创 【Java基础】RTTI与反射之Java

1 ; Example assembly language program -- 2 ; Author: Karllen 3 ; Date: revised 05/2014 4 5 .386 6 .MODEL FLAT 7 8 ExitProcess PROTO NEAR32 stdcall, dwExitCode:DWORD 9 10 INCLUDE io.h

2017-06-21 16:18:21 217

原创 30多个Android 开发者工具 带你开发带你飞

文中部分工具是收费的,但是绝大多数都是免费的。FlowUp这是一个帮助你跟踪app整体性能的工具,深入分析关键的性能数据如FPS, 内存, CPU, 磁盘, 等等。FlowUp根据用户数量收费。Stetho由Facebook开发的一个强大的开源Android debug平台,Stetho让原生 Android app的debug跟使用Chrome的开发者工具de

2017-06-20 20:25:03 319

原创 移动应用/APP的测试流程及方法

1、 APP测试基本流程1.1流程图 1.2测试周期测试周期可按项目的开发周期来确定测试时间,一般测试时间为两三周(即15个工作日),根据项目情况以及版本质量可适当缩短或延长测试时间。正式测试前先向主管确认项目排期。1.3测试资源测试任务开始前,检查各项测试资源。--产品功能需求文档;--产品原型图;--产品效果图;

2017-06-20 20:24:00 1195

原创 推荐五款Android 应用的自动化测试工具

如今自动化测试已经应用到每天的测试中。这不足为奇,因为自动化测试在测试过程中节约了时间,还能避免包括人为因素造成的测试错误和遗漏。自动化测试工具选择很多。一些是开源的,一些非常贵。一些自动化工具是几年前出的,一些才在市场上出来。每款工具有一定的特点,都是独特的。在众多的可选择的自动化工具中,要选到项目合适的工具是比较困难的。问题是,几乎没有任何现有的工具完全适应项目的要求。

2017-06-20 20:23:11 446

原创 如何选择版本控制系统之三

往期文章:《如何选择版本控制系统 ---为什么选择Git版本控制系统》《如何选择版本控制系统之二---Git的研发应用场景》跨地域开发的需求其实由来已久,并在IT/互联网高速发展的今天越来越普遍,这正是Git版本管理广泛流程的技术原因之一。对于一个开发者如何将本地代码提交到中央仓库,是保证高效异地协同的前提。本文将着重介绍将本地代码提交到托管平台的基本操作。客户端工

2017-06-20 20:22:41 231

原创 码农进“城”之路

编程开发是座围城,而我,一直是个城外人。 首次产生进“城”的想法,源于一次跟大学旧友的聊天。作为一个机械院毕业的直男,当时的我已在车间工作了一段时间。忽闻同班同学转职成功,从车间转战办公室,还是从事的软件行业,虽然当时的我并不明白软件实施和软件开发半毛钱关系都没有,但对我来说,他们都带软件两个字,听着就很前沿,顿时让我心驰神往。跟他聊几句之后,我便草草的制定了自己认为的进“城”

2017-06-20 20:22:12 234

原创 软件开发项目云端All

如今在软件开发圈里混,Agile,DevOps,Cloud是大家经常挂在嘴边的词,其实大家各自都有在应用层上的经验,但是如何把三者很好的结合起来,这是所有项目管理者困惑和需要的问题。Agile让我们的项目更加拥抱变更。持续集成和持续交付让我们更快的进行自动化交付。自动化持续部署也让开发团队,运维团队受益颇多。Infrastructure也逐步向Cloud迁移。

2017-06-20 20:21:42 259

原创 旧貌换新颜 华为助力甲壳虫科技打造智慧环卫

提起环卫工作,或许你想到的就是清洁工、道路清扫车、垃圾清运车等,“脏、乱、杂”似乎是环卫产业的专属标签。但是随着互联网和智慧城市的发展,通过科学管理对环卫系统进行优化将对环卫产业乃至整个社会产生重大意义。在当今时代,传统的垃圾收运模式已难以满足适合城市发展以及城市建设管理的需求,在这种大背景下,一种新的理念应运而生——智慧环卫。所谓智慧环卫,就是将当前的环卫工作与新技术比如云计算、大数据、

2017-06-20 20:21:18 279

原创 论敏捷开发的优缺点

踏入软件开发行列时间不算短了,也使用过很多项目管理软件和方法,但是在使用过程中多多少少都会遇到一些问题吧,同行们或多或少也会有相应的体验。近期试用了一下华为最新推出的项目管理工具-华为软件开发云,接触了敏捷开发,产生一些想法。以下是使用体验,仅供同行们参考。一、敏捷开发技术的几个特点和优势:1.个体和交互胜过过程和工具2.可以工作的软件胜过面面俱到的文档3.客户合作

2017-06-20 20:20:53 1425

转载 计算机相关名词解释

计算机网络:1.DNS      DNS(Domain Name System,域名系统),因特网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住能够被机器直接读取的IP数串。通过主机名,最终得到该主机名对应的IP地址的过程叫做域名解析(或主机名解析)。DNS协议运行在UDP协议之上,使用端口号53。在RFC文档中RFC 2181对DN

2017-06-20 20:18:50 408

原创 服务端调用dubbo的方式

方式1.通过API 方式2.通过springapplicationContext-dubbo.xml    注意引入提供方的接口jar包 ♥ 作者:明志健致远 ♠ 出处:http://www.cnblogs.com/study-everyday/ ♦ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页

2017-06-20 20:17:54 645

原创 CSS3的使用方法解析

1.text-shadow:5px 5px 5px red,9px 13px 10px blue,8px 12px 10px #ccc;字体阴影面积显示(同box-shadow)2.自己设置字体@font-face{/* 可以设置字体 */font-family:WebFont;/* ttf :0 otf:t */src:url('ygyxsziti2.0.tt

2017-06-20 20:16:54 240

原创 PHP验证码的制作教程

自己过去自学了PHP绘画验证码的教程,现在就把这一部分笔记跟大家分享,希望可以帮到大家。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 下面主要从理论+实

2017-06-20 20:16:23 330

转载 PHP面向对象笔记解析

PHP的面向对象是很重要的内容,也是很常用的内容。所以现在就把PHP面向对象进行整理了一下。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、面向对象的

2017-06-20 20:16:02 295

原创 PHP的加密方法汇总

PHP的加密主要有4种方法,除此之外还有一种是URL的加密和解密。希望可以对你们开发有用。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、md5()加

2017-06-20 20:15:23 845

转载 大话PHP设计模式笔记

针对PHP的设计模式进行总结记录。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、关于命名空间命名空间1.命名空间介绍2.命名空间使用实例:tes

2017-06-20 20:14:57 294

原创 关于git和SVN的介绍和区别

主要对git,svn进行一个简单的介绍。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、git、cvs、svn的区别  cvs、svn都是集中式的

2017-06-20 20:14:32 507

原创 JavaScript的原生Ajax解析

通过JavaScript的Ajax进行详细的解析过程,从而更好的了解Jquery的Ajax。顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2 一、JavaS

2017-06-20 20:14:02 274

原创 jquery里的Ajax解析

在资源加载进来之前定义好一个函数,这个函数接受一个参数(数据),函数里面利用这个参数做一些事情然后需要的时候通过script标签加载对应远程文件资源,当远程的文件资源被加载进来的时候,就会去执行我们前面定义好的函数,并且把数据当做这个函数的参数传入进去html代码:function fn(data){var oUl1 = document.getElementById('u

2017-06-20 20:07:11 188

原创 Mysql的基本操作知识

顺带,我会在后面把我整理的一整套CSS3,PHP,MYSQL的开发的笔记打包放到百度云,有需要可以直接去百度云下载,这样以后你们开发就可以直接翻笔记不用百度搜那么麻烦了。 笔记链接:http://pan.baidu.com/s/1qYdQdKK 密码:pvj2Mysql数据库操作当数据表不能成功输出中文,出现乱码的时候,就输入:set names ‘gbk’;一、创

2017-06-20 20:06:44 194

原创 PHP面试题详解

自己从网上找了几份常考到的PHP面试题进行了整理,然后才有了这份PHP面试题,并且我把所有的题目进行了详细分析和代码分析,希望可以对大家有帮助,谢谢大家。这份试题我也上传到了百度云,有需要的可以直接去百度云下载这份试题,希望可以帮到大家。链接:http://pan.baidu.com/s/1i5oTN7n 密码:ykws PHP面试题一、选择题1.下

2017-06-20 20:06:16 626

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除