iOS开发多线程篇—多线程简单介绍

iOS开发多线程篇—多线程简单介绍 一、进程和线程1.什么是进程 进程是指在系统中正在运行的一个应用程序每个进程之间是独立的,每个进程均运行在其专用且受保护的内存空间内  比如同时打开QQ、Xcode,系统就会分别启动2个进程通过“活动监视器”可以查看Mac系统中所开启的进程 2.什么是线程1个进程要想执行任务,必须得有线程(每1个进程至少要有1条线程)线程是进程的基本执行单元,一个进程(程序)的所有任务都在线程中执行比如使用酷狗播放音乐、使用迅雷下载电影,都需要在线程中执行    3.线程的串行 1个线程中任务的执行是串行的如果要在1个线程中执行多个任务,那么只能一个一个地按顺序执行这些任务也就是说,在同一时间内,1个线程只能执行1个任务比如在1个线程中下载3个文件(分别是文件A、文件B、文件C)  二、多线程 1.什么是多线程1个进程中可以开启多条线程,每条线程可以并行(同时)执行不同的任务进程 ->车间,线程->车...

iOS开发笔记--宏定义的黑魔法

 宏定义在C系开发中可以说占有举足轻重的作用。底层框架自不必说,为了编译优化和方便,以及跨平台能力,宏被大量使用,可以说底层开发离开define将寸步难行。而在更高层级进行开发时,我们会将更多的重心放在业务逻辑上,似乎对宏的使用和依赖并不多。但是使用宏定义的好处是不言自明的,在节省工作量的同时,代码可读性大大增加。如果想成为一个能写出漂亮优雅代码的开发者,宏定义绝对是必不可少的技能(虽然宏本身可能并不漂亮优雅XD)。但是因为宏定义对于很多人来说,并不像业务逻辑那样是每天会接触的东西。即使是能偶尔使用到一些宏,也更多的仅仅只停留在使用的层级,却并不会去探寻背后发生的事情。有一些开发者确实也有探寻的动力和意愿,但却在点开一个定义之后发现还有宏定义中还有其他无数定义,再加上满屏幕都是不同于平时的代码,既看不懂又不变色,于是乎心生烦恼,怒而回退。本文希望通过循序渐进的方式,通过几个例子来表述C系语言宏定义世界中的一些基本规则和技巧,从0开始,希望最后能让大家至少能看懂和还原一些相对复杂的宏。考虑到我自己现在objc使用的比较多,这个站点的读者应该也大多是使用objc的,所以有部分例子...

Codeigniter开发技巧:连接多个数据库(可实现DB读写分离)

    在开发中,我们有时候会遇到在同一程序中链接多个数据库的需求,这对Codeigniter框架来说是很简单的,我们只需要在database.php文件中配置少许参数即可。 默认情况下,CI配置的是链接一个数据库,代码如下:123456789101112131415$db['default']['hostname']= "localhost";$db['default']['username']= "root";$db['default']['password']= "";$db['default']['database']= "first_database_name";$db['default']['dbdriver']= "mysql";$db['default']['dbprefix']= "";$db['default']['pconnect']=TRUE;$db['default']['db_debug']=FALSE;$db['default']['cache_o...

IOS开发之表视图(UITableView)

IOS开发之表视图(UITableView)的基本介绍(一)   1.在IOS开发中,表视图的应用十分广泛和普及。因此掌握表视图的用法显得非常重要。一般情况下对于数据的展示我们都会选择表视图,比如通讯录和一些数据列表。  2.我们可以选择创建表视图也可以创建表视图控制器。    根据上面的图,下面我们来分析一下表视图的结构:1:表头视图(tableheaderview).表视图最上边的视图,用于展示表视图的信息,例如上面下拉刷新信息。2:表脚视图(tablefooterview).表视图最下边的视图,用于展示表视图的部分信息,例如上图加载更多信息。3:单元格(cell)。它是组成表视图每一行的单位视图,上图一行一行的单元图4:节(selection)。它是多个单元格在组成,并且有节头和节脚,正如上图蓝色框框的(GroupStart)节头,(GroupEnd)节尾5:节头。节的头部,描述节的信息,例如上图GroupStart.6:节脚.节的尾部,描述节的信息或者一些声明信息。例如上图GroupEnd...

iOS开发之版本控制(SVN)

 版本控制对于团队合作显得尤为重要,那么如何在iOS开发中进行版本控制呢?在今天的博客中将会介绍如何在MAC下配置SVN服务器,如何导入我们的工程,如何在Xcode中进行工程的checkOut和Commit.  一、配置SVN服务器    1、创建Svn服务工作路径同时新建我们的App工程,入下图所示,SVN_Project是SVN服务的工作路径,MyProject是我们的iOS工程    2,在Mac下有自带的svn服务功能(Windows下是没有的),直接在终端打开svn的服务即可,在打开服务的同时指定svn的工作路径      (1)启动svn服务命令:svnserve-d-r工作路径:      (2)终端截图如下: 3、svn服务启动后,要创建svn管理文件,管理文件有关于svn的各种配置      (1)在工作目录中创建管理文件命令:svnadmincreateMySVNProject      (2)管理文件创建成功后,其目录结构如下:(3)接下来要配置我们的svn,打开conf文件夹如下:(4)配置svnserve.conf文件,把带一个#的临时注释去掉即可:...

在线支付接口开发总结

经过这段时间对支付宝在线支付接口、手机在线支付接口、农业银行在线支付接口、以及支付宝担保交易接口的开发,对在线支付的原理有了一定的了解,开发过程中有点小的心得体会,在这里记录一下。  首先,这几个接口中,前面三个都是单一的支付接口,对于需要集成的商户而言,所需要做的工作为:集成支付功能使用户可以在线支付,接受支付结果进行商户系统中订单相关数据的处理。其次,担保交易接口是一个完整的在线担保体系,因此包含了在线支付、确认收货、在线申请退款、客户维权、商户退款五个相关接口。关于具体的功能可以参考支付宝提供的文档资料,这里仅进行技术开发上的分析。  其实这些在线支付的接口从原理上来讲都是一样的。这里简单地阐述一下:  首先,开发这些接口的第三方公司会给商户提供一个唯一标识pid,而且与该标识相对应的会有一个KEY,双方使用这个KEY作为加密的密钥。  其次,商户使用接口的时候,根据不同支付方的开发文档的要求,将所需要的参数(订单的相关信息如:金额、商品等)拼接成相应的形式。在发送请求之前需要对数据进行加密,而加密的方式会由支付方提供,文档中会有相应的描述,有的接口也会提供现成的方法供商户使用。...

php多线程thread开发与应用的例子

Php多线程的使用,首先需要PHP5.3以上版本,并安装pthreadsPHP扩展,可以使PHP真正的支持多线程,扩展如何安装请自行百度PHP扩展下载:https://github.com/krakjoe/pthreadsPHP手册文档:http://php.net/manual/zh/book.pthreads.php在安装好扩展之后,就可以运用多线程了,下面贴个通过搜索结果抓取百度网盘内容的代码:<?phpinclude'include/CurlLoad.class.php';//引入读取库/***多线程抓取内容*@paramarray$url待抓取URL列表集合*@return成功返回指定内容,失败返回NULL*/functionvget($url){$ret=BaiduSRLinksGet($url,1);//获取结果列表地址if($ret!=null){if(array_key_exists("links",$ret)){$infos=array();$number=count($ret['links']);for($i=0;$i<$number;$i++){//...

iOS开发网络篇—数据安全

一、简单说明1.说明在开发用的时候,数据的安全性至关重要,而仅仅用POST请求提交用户的隐私数据,还是不能完全解决安全问题。如:可以利用软件(比如Charles)设置代理服务器,拦截查看手机的请求数据“青花瓷”软件因此:提交用户的隐私数据时,一定不要明文提交,要加密处理后再提交 2.常见的加密算法MD5SHADES3DESRC2和RC4RSAIDEADSAAES3.加密算法的选择一般公司都会有一套自己的加密方案,按照公司接口文档的规定去加密 二、MD51.简单说明MD5:全称是MessageDigestAlgorithm5,译为“消息摘要算法第5版”效果:对输入信息生成唯一的128位散列值(32个字符) 2.MD5的特点(1)输入两个不同的明文不会得到相同的输出值(2)根据输出值,不能得到原始的明文,即其过程不可逆 3.MD5的应用由于MD5加密算法具有较好的安全性,而且免费,因此该加密算法被广泛使用主要运用在数字签名、文件完整性验证以及口令加密等方面4.MD5破解MD5解密网站:http://w...

iOS开发:用DES对字符串加解密

参考http://www.cnblogs.com/janken/archive/2012/04/05/2432930.html,做了个小修改,实现PHP,JAVA,Objective-c加解密结果相同。原先Android版的客户端与服务端(PHP)通讯部分内容用DES加密,加密方法:http://www.pocketdigi.com/20121112/940.html直接拷贝原文的源码,发现结果不同,原因在于,我在java和php里用的IvParameterSpec是动态的,就是key转成byte[],但原文是静态写死的。上修改后的源码:先是Base64:Base64.h:#import<Foundation/Foundation.h> @interfaceBase64:NSObject+(int)char2Int:(char)c;+(NSData*)decode:(NSString*)data;+(NSString*)encode:(NSData*)data;@end Base64.m#import"Base64.h" staticconst...

IOS 开发环境,证书和授权文件

一、成员介绍1.    Certification(证书)证书是对电脑开发资格的认证,每个开发者帐号有一套,分为两种:1)    DeveloperCertification(开发证书)安装在电脑上提供权限:开发人员通过设备进行真机测试。可以生成副本供多台电脑安装;2)      DistributionCertification(发布证书)安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。不可生成副本,仅有配置该证书的电脑才可使用;(副本制做介绍在下面Keychain中介绍)2.    ProvisioningProfile(授权文件)授权文件是对设备如iPodTouch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的AppId,即使被授权的设备可以安装或调试Bundleidentifier与授权文件中记录的AppId对应的程序。开发者帐号在创建授权文件时候会选...

百度产品的开发周期

团队人数:11人第一个版本:大约8周之后的大版本:5-6周之后的小版本:2-3周 还有滚动开发的模式:两个开发组滚动开发版本,基本上2周一个大版本...

用grunt搭建自动化的web前端开发环境实战教程(详细步骤)

用grunt搭建自动化的web前端开发环境实战教程(详细步骤)jQuery在使用grunt,bootstrap在使用grunt,百度UEditor在使用grunt,你没有理由不学、不用!前端自动化,这样的一个名词听起来非常的有吸引力,向往力。当今时代,前端工程师需要维护的代码变得及为庞大和复杂,代码维护、打包、发布等流程也变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误也随着流程的增加而增加了更多的出错率。致使每一个团队都希望有一种工具,能帮助整个团队在开发中能精简流程、提高效率、减少错误率。随之讨论自动化部署也越来越多,并且国内很多大型团队也都有自己成熟的自动化部署工具。据我所知,百度有FIS,腾讯有Modjs,360有燕尾服,还有很多团队在使用Ant,Shell等,而现在讨论较多的是Grunt。在平常的工作之中,我们都不断的在重复着做相同的事情,比如说将Sass编译成CSS,检测JavaScript语法,压缩CSS、JavaScript。特别在团队合作开发中,常常会为了各自的习惯而不断的发生麻烦,给开发带来极大的不便。而且前端开发人员在周而复始的做这些相同的,乏味的事情...

前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍

前端开发自动化工作流工具,JavaScript自动化构建工具grunt、gulp、webpack介绍前端自动化,这样的一个名词听起来非常的有吸引力,向往力。当今时代,前端工程师需要维护的代码变得及为庞大和复杂,代码维护、打包、发布等流程也变得极为繁琐,同时浪费的时间和精力也越来越多,当然人为的错误也随着流程的增加而增加了更多的出错率。致使每一个团队都希望有一种工具,能帮助整个团队在开发中能精简流程、提高效率、减少错误率。随之讨论自动化部署也越来越多,并且国内很多大型团队也都有自己成熟的自动化部署工具。据我所知,百度有FIS,腾讯有Modjs,360有燕尾服,还有很多团队在使用Ant,Shell等,而现在讨论较多的是Grunt。在平常的工作之中,我们都不断的在重复着做相同的事情,比如说将Sass编译成CSS,检测JavaScript语法,压缩CSS、JavaScript。特别在团队合作开发中,常常会为了各自的习惯而不断的发生麻烦,给开发带来极大的不便。而且前端开发人员在周而复始的做这些相同的,乏味的事情。很多时候我们想工作变得更有意义,更能专注于开发,就希望有一种工具能让我们不去做这些重...

关于web开发前端h5框架的选择

关于web开发前端h5框架的选择看了很多移动版框架都是基于app混合式开发的,不是单独h5网站的基于h5开发的web框架从组件丰富度,兼容性,相关教程来说bootstrap还是最好的react和vue2都是用mvvm模式,数据实时更新,适合app里面嵌入的网页使用,但用在传统web网页上对seo不太好,因为数据都放在js里面了,页面html只有简单的结构了。bootstrap比较符合web网站做seo的,兼容跨屏的同时又能保持数据输出。js框架性能测试对比TableReporthttp://stefankrause.net/js-frameworks-benchmark4/webdriver-ts/table.html===============================================Bootstrap4Alpha4·BootstrapBloghttp://blog.getbootstrap.com/2016/09/05/bootstrap-4-alpha-4/Bootstrap4Alpha4出来了<linkrel="stylesheet"...

关于FLASK WEB开发8d 数据库迁移的问题

首先,第一步,要删除data-dev.sqlite这个数据库第二步,进行下面的重建暂时的解决办法是:pythonmanage.pyshellIn[2]:fromappimportdbIn[3]:db.create_all()In[4]:exit()这样可以把email和pass_hash更新之前用pythonmanage.pydbupgrade一直更新不了  ...
首页上一页...180181182183184...下一页尾页