知识付费的那些事 满足用户所需,给其所要,这才是未来社区的开展方向。今后的引荐或许只剩余两种:熟人推荐和机器推荐。搜索查找本是高档的用户行为,带有极强的目的性,但在某种程度上,却比不上精准的引荐。也就是说:你不必定知道自己需求什么?就连查找都满足不了你对内容的精准需求。国内的社区产品不少,但真实能做起来的社区除了头部尖端的那几个,剩余的简直还停留在寻觅商业模式,等候变现的阶段。过往社区的商业模式归根...
产品设计中的心理学 好的产品是用户认可的,接受的,所以做好产品,必须想清楚,你的商品,用户为什么要买单。下面从心理学角度简单分析一下1、从众心理销量:用户往往会去看更多人买的商品,更多人评价的商品,因为购买的数量一定程度上证明了这个商品或者这个平台、店铺受认可的程度,销量高的商品可以降低用户心理的警惕性,实现购买动作。包括我本人,在电商平台购买商品,会去选择销量相对要高的。重要元素展示:用户关注的东西...
微信裂变总结 微信生态的裂变玩法有很多,关于裂变的分类与叫法,从没有统一的标准,每个人有自己的看法,其实,几种玩法都没有用,总结来总结去,根本的玩法就那几种,但每一种确实会有具体的玩法,这是因为微信有四个可以做裂变的载体。公众号的裂变,想必大家见得也比较多了,俗称任务宝。核心是:裂变活动通过奖品吸引用户,让用户完成固定的任务方能领取奖品。社群裂变是目前较为安全的裂变方法,因为是基于微信群进行用户裂变分享...
社交电商的那些事 10年前互联网是搜索引擎的天下,但现在却是社交媒体霸占了屏幕。从“互联网+”到“社交+”,不仅是信息获取方式从“搜索”到“推送”的改变,也推进了各行业社交化的进程。那么,社交应该怎么玩?怎样与现有业务无缝对接?《2018中国社交电商消费升级白皮书》指出,去年我国社交零售用户规模高达2.23亿人,预计今年年均复合增长率可以达到44.2%,保持低获客成本优势下的高速增长,用户数也将突破3亿。如今,...
吸引眼球的产品设计 产品设计要做的是准确地把信息传达给用户,直白一点讲就是通过对文字图形的处理去传递某种情绪给到消费者,让消费者产生点击购买的欲望,我们其实是在揣摩人性,我们所做的设计归根结底就是对人性的把握和理解。而人性包括什么呢?它包含2个方面,一方面是人性的恶,另一方面是人性的善。人性的恶 它们分别是傲慢/妒忌/暴怒/懒惰/贪婪/饕餮(暴食)/色欲 1、傲慢人的傲慢表现在几个方面,比如追...
项目经理需要的基本技能 一个优秀的项目经理需要具备的基本技能,下面是项目经理需要的几个技能总结:(1)决策能力。一个项目从开始到结束会出现各种各样的问题,如项目的确定、方案的选择等。项目中会有各种各样的决策问题要求用不同的决策方法解决,因此项目经理必须具有很强的决策能力。同时,也需要具备系统的思维能力。在运用系统的概念与观点分析处理问题时,把研究的对象作为一个整体来分析。既要注意整体中各部分的相互联系和相互制约关系,...
PMP项目管理总结 项目整合管理是PMP中最重要的一节,因为它包括识别、定义、组合、统一和协调各项目管理过程组的各种过程和活动,对受控项目从执行到完成、成功管理干系人期望和满足项目要求,都至关重要。项目整合管理包括选择资源分配方案、平衡相互竞争的目标和方案,以及管理项目管理知识领域之间的依赖关系。项目整合管理的各个过程:1、制定项目章程2、制定项目管理计划3、知道与管理项目工作4、监控项目工...
PMP五大过程组 PMP里面有五大过程组,十大知识领域,47个过程,之前看PMP的资料的时候很多讲述的不是很详细,下面我划分一下重点1.启动过程组:成活授予项目经理资源,产品范围;项目范围2.规划过程组:具体、简单、实际、可测量、可控制的目标3.执行过程组:保持足够的团队成员、购买材料、实施项目范围规定的内容4.控制过程组:调整偏差、降低风险5.收尾过程组:合同收尾;项目收尾:下面是每个阶段...
PMP总结 近期学习了PMP,下面简单总结下:总体可以分为:十大知识领域、五大项目管理过程组、47个过程启动过程组 2个 规划过程组 24个 执行过程组 8个 监控过程组 11个 收尾过程组 2个 ...
微信公众号功能扩展 微信公众号功能模块划分,底栏分为两部分:3*5功能栏,和用来切换3*5功能栏与发送信息的按钮;中间部分是信息交流部分,用户可以发送文字语音,也可以接收公众号发送的图文链接、模板消息、文字。在自定义开发的过程中,系统默认的满不足不了我们的需求,很多时候需要我们进行扩展,下面汇总一下几个扩展接口微信服务号通过认证后会开放9个高级接口分别是:语音识别接口 客服接口 OAuth2.0网页授...
公众号设计总结 众多APP中,做出来一个APP不难,难的是如何大量获客。公众号的产品对比普通APP有以下几点优势:获取成本低:APP需要消耗流量下载,因而用户下载前会慎重考虑要不要下载,尤其是在线下推广时用户不会在没有WIFI的情况下使用流量下载,等回到家也就懒得下了。而公众号产品对用户来说获取成本就低的多了,只要扫一下二维码点击关注就可以使用,不想使用时取消关注即可。成本低,所以更愿意使用。开发成本低:...
微信小程序限制汇总 前段时间在设计微信小程序的时候遇到了很多坑,分为两大部分:1开发过程的坑,2审核过程的坑,下面整理一下给大家,可能有不全的地方,欢迎提出。一:开发过程的坑1:不支持HTML、没有 Dom。网页用的 JS、CSS 基本要全部重写,WXML 的语法和 HTML 差异还挺大,基本是一个个照着手册的属性去改。CSS 选择器不支持级联。2:小程序源码打包后的大小限制为1M,超大传不上去。单次通过...
iOS图形处理 对于刚接触iOS图形相关框架的小白,有一些图形框架在字面上和功能上非常容易混淆。这里旨在总结一下各种框架,区分它们的概念和功能,以作日后进一步细分学习的指引。因而,本文并不会针对具体框架作详解,只作区分引导,读者可自行选择方向继续深造。为此,笔者总结了一张各种框架关系图,如下所示: iOS图形处理相关概念集合总的来说,iOS与图形图像处理相关的框架都在这里了: 界面图形...
swift面向协议编程 一、委托模式 1、使用过程 协议最常见的用法莫过于进行代理传值,这就是委托模式。常用的应用场景有:controller中自定义了一个view,view中又添加了一个自定义view。在自定义的view中如果有些函数或者属性需要到controller中去调用,委托模式的做法就是规定一个协议,让controller去遵守一个协议并提供实现,那么在自定义view中就能使用协议中的方法。 ...
iOS APP加固 没有绝对的安全,只能相对之前的更安全一点,下面介绍一下APP加固的常用手段一些实用手段 防止 tweak 依附 通常来说,我们要分析一个 app,最开始一般是砸壳, $ DYLD_INSERT_LIBRARIES=dumpdecrypted.dylib /path/to/XXX.app/XXX 然后将解密之后的二进制文件扔给类似 hopper 这样的反编译器...
UIWebView cookie 设置获取 1. NSHTTPCookieStorage和NSHttpCookieNSHTTPCookieStorage 实现了一个管理Cookie的单例对象(只有一个实例),每个Cookie都是NSHTTPCookie类的实例,做为一个规则,Cookie在所有应用 之间共享并在不同进程之间保持同步。Session Cookie(一个isSessionOnly方法返回YES的Cookie)只能在单一进程中...
Fastlane自动打包 Fastlane这里就要引入一个概念了,叫持续集成,引用下百度百科的介绍:持续集成是一种软件开发实践,即团队开发成员经常集成他们的工作,通常每个成员每天至少集成一次,也就意味着每天可能会发生多次集成。每次集成都通过自动化的构建(包括编译,发布,自动化测试)来验证,从而尽早地发现集成错误。而今天文章的主角就是Fastlane,一套ruby编写的持续集成工具集。通过Fastlane可以实现自动打包、发...
从输入URL到页面加载的过程 对知识体系进行一次预评级看到这道题目,不借助搜索引擎,自己的心里是否有一个答案?这里,以目前的经验(了解过一些处于不同阶段的相关前端人员的情况),大概有以下几种情况:(以下都是以点见面,实际上不同阶段人员一般都会有其它的隐藏知识点的)level1:完全没什么概念的,支支吾吾的回答,一般就是这种水平(大致形象点描述):浏览器发起请求,服务端返回数据,然后前端解析成网页,执行脚本。。。这类人员一般都是...
回归分析方法 回归分析是一种预测性的建模技术,它研究的是因变量(目标)和自变量(预测器)之间的关系。这种技术通常用于预测分析,时间序列模型以及发现变量之间的因果关系。例如,司机的鲁莽驾驶与道路交通事故数量之间的关系,最好的研究方法就是回归。回归分析是建模和分析数据的重要工具。在这里,我们使用曲线/线来拟合这些数据点,在这种方式下,从曲线或线到数据点的距离差异最小。我会在接下来的部分详细解释这一点。我们为什么使用...
iOS代码混淆 前言自己做iOS开发也有几年的时间了,平时做完项目基本就直接打包上传到Appstore上,然后做上架操作了。但是最近,客户方面提出了代码安全的要求。说是要做代码混淆,这方面的工作之前从来没有接触过。然后就上网查了一下,原来有很多应用程序都做了代码混淆。看来是我固步自封了......起因使用classdump对原程序进行dump,可以dump出所有源程序的函数所有信息:源程序所有函数类型,变量全部泄...
移动端本地 H5 秒开 一、为什么 H5 体验糟糕为什么打开一个 H5 页面会有一长段白屏时间?因为它做了很多事情,大概是:初始化 webview -> 请求页面 -> 下载数据 -> 解析HTML -> 请求 js/css 资源 -> dom 渲染 -> 解析 JS 执行 -> JS 请求数据 -> 解析渲染 -> 下载渲染图片一般页面在 dom 渲染后才能展示,可...
数据安全及加密算法对比 平时开发中不仅会遇到各种需要保护用户隐私的情况,而且还有可能需要对公司核心数据进行保护,这时候加密隐私数据就成为了必要。然而市场上存在着各种各样的抓包工具及解密算法,甚至一些公司有专门的逆向部门,这就加大了数据安全的风险,本文将通过以下几个方面对各种加密算法进行分析对比:Base64编码(基础)单项散列函数 MD5、SHA1、SHA256、SHA512等消息认证码 HMAC-MD5、HMAC-SH...
iOS中长连接的那些事 一、长连接在iOS开发中的作用一般的App的网络请求都是基于Http1.0进行的,使用的是NSURLConnection、NSURLSession或者是AFNetworking,Http1.0链接最显著的特点就是客户端每一次需要主动向服务端发送请求,都需要经历建立链接、发送请求、返回数据、关闭链接这几个阶段,是一种单向请求且无状态的协议。而有的时候,我们需要服务端主动往客户端进行推送服务的时候,这...
iOS App 闪退监测 为保障线上 App 的用户体验,我们一般都会对线上 App 的 crash 率做实时监控,一旦检测到 spike,可以即刻调查原因,但这一切的前提是 crash 日志能够准确上报。crash 日志上报有两个难点:crash handler 安装之前的代码要绝对稳定如果日志采集器还没成功启动就 crash 了,自然什么日志也无法采集到。这一点并没有太多技巧可言,只能严格限制 handler 启动之前...
iOS质量保障工具集 每个App自开发到上线需要经历多个阶段,每个阶段都要把握质量。作为iOS开发者除了从代码规范入手,我们也要从其他多方面提升质量。本文就介绍几款可以提升iOS质量开发的工具。git-flow由于git管理代码版本的灵活性有时会导致版本冲突、代码混乱等问题。为了更好的管理代码,大部分公司都推崇git flow的工作流程,git-flow就是为了实现这套流程的一系列git扩展命令。git-flow 并不...
iOS使用fastlane一键打包审核 毋庸置疑,Jenkins对我们打包的帮助还是很大的——被测试的同学追着要IPA包的日子终于一去不复返了。但作为追求效率的开发我们仅仅满足于此就可以了吗,想想我们iOS开发遇到的其他诸多类似的问题吧团队成员一不小心Revoke了证书导致所有的开发小伙伴需要重新下载证书,每次提交App Store审核需要重复【修改证书】- 【打包】-【iTunes Connect】- 【发布】等一系列动作真的是不厌其...
WKWebView 的那些事 大量使用webview加载H5,鉴于WKWebView的性能优于UIWebView,所以就选择了WKWebView。WKWebView在使用的过程中,还是有很过内容值得我们去记录和研究的,这里我就做了一下总结,跟大家分享一下。一、基本使用WKWebView的基本使用网上也有很多,这里我就简略的写一下:引入头文件#import <WebKit/WebKit.h>- (void)setup...
iOS排版渲染引擎 | 导语 Pluto 是 iOS 上的一个排版渲染引擎,通过 JSON/JS 文件可以很方便地描述界面元素,开发效率很高,并且在流畅度,内存等方便有保证Qzone Feed 业务复杂,样式很多。每次新增一种 Feed 样式,开发工作量很大,需要跟版本。样式之间耦合严重,每改一种样式,另一种样式可能会受影响。基于这样的背景下,Feed Team 急需一个比较成熟的渲染引擎,他至少需要解决以下问题:提...
iOS推送后台唤醒 1、前言微信为了解决小商户老板们在频繁交易中不方便核对、确认到账的功能痛点,产品MM提出了新版本需要支持收款到账语音提醒功能。本文借此总结了iOS平台上的APP后台唤醒和语音合成、播放等一系列技术开发过程中遇到的坑和小技巧,希望与您分享。(本文同步发布于:http://www.52im.net/thread-1404-1-1.html)2、技术方案2.1 后台唤醒App收款到账语音提醒需要收款方在...
APP网络优化 一般开发一个 APP,会直接调用系统提供的网络请求接口去服务端请求数据,再针对返回的数据进行一些处理,或者使用AFNetworking/OKHttp这样的网络库,管理好请求线程和队列,再自动做一些数据解析,就结束了。但对于一些大型 APP,还会想针对网络的一些问题进行进一步优化,包括:速度:网络请求的速度怎样能进一步提升?弱网:移动端网络环境随时变化,经常出现网络连接很不稳定可用性差的情况,怎样在...
正则表达式汇总 日常开发文本处理过程中,简单的Ctro+H模式(一对一替换模式)已经不能满足需要了我们需要更为强大的文字处理工具,正则于是应运而生。很多小伙伴不怎么太懂正则。比如我们用到的最多的就是注册的时候我们看到的用户帐号验证,密码的验证、邮箱等等、看看用户所填写的是否合乎规范、但是一般很常用的网上都有大批的资源正则表达式存在的目的是提高复杂文本分析的效率的,比如说分析html、分析log、分析exp
ios性能优化实践 本文将从原理出发,解释卡顿发生的原理,然后会讲解项目中行之有效的几个优化点,最后会展望一下接下来将要尝试的方向。下面进入正题。屏幕显示的原理基本原理屏幕显示原理我们知道,远古时代的CRT显示器的显示原理是用电子枪扫描荧光屏来发光。如上图所示,电子枪按照从左到右,然后从上到下的顺序扫描。当电子枪换到新的一行准备进
移动端组件化实践 Vant 是有赞开发的一套基于 Vue 2.0 的 Mobile 组件库,在开发的过程中也踩了很多坑,今天我们就来聊一聊开发一个移动端 Modal 组件(在有赞该组件被称为 Popup )需要注意的一些坑。在任何一个合格的UI组件库中,Modal 组件应该是必备的组件之一。它一般用于用户处理事物,但又不希望跳转页面时,可以使用 Modal 在当前页面中打开一个浮层,承载对应的操作。相比PC
ios自动打包 iOS常见的几种打包方法:方式一: 使用xcodebuild命令步骤0. 准备工作:基础参数# 项目名称,打包后生成 .ipa 文件的名称projectName="JimuDudu"# 项目目录(一般情况下,shell 脚本就在项目路径下)workspacePath="/Users/ap
iOS 混编 模块化/组件化 解耦 1. 开篇本文的初衷,是为了给正在做混编或者模块化的同学们一个建议和参考。因为来饿厂以后做的项目是全公司唯一一个 Swift/OC 混编的 iOS 项目,所以一路上踩坑无数,现在把一些踩坑的过程和经验总结起来,供大家参考。相信在浏览本文后,一定会有所收获。我来的时候项目已经开始 Swift 改造了,慢慢的把项目 S
AFNetworking Post JSON数据 AFNetworking Post JSON数据,两种方法,都可以用下面分开介绍使用AFNetworking3.0后网络请求由原来的AFHTTPRequestOperationManager变为AFHTTPSessionManager。一般的Post请求变成了这样: NSMutableDictionary *params = [NSMutableDiction
代码混淆,项目安全 常见的项目安全实践一:代码混淆一、在项目根目录下新建confuse.sh 和 gbFunc.list 文件说明:confuse.sh 文件在编译过程中会执行gbFunc.list 用于自动混淆代码时,存放过滤出来需要混淆的方法名touch confuse.shtouch gbFunc.list二、新建GBConfuse.h说明:GBConfuse.h 是在自动混淆代码时,将会把自动生成的字符串定义
PLA1.2被拒 Guideline5.2.1被拒 马甲包被拒 编者:这么多人还在为PLA1.2(Apple Developer Program License Agreement)/Guideline5.2.1(App Store Review Guidelines)烦恼(实在看不下去了~),特为大家奉上此篇,不用凭运气过的官方解决通道。注:编者在某次上架时,先被PLA1.2拒了,在和审核人员沟通的过程中,她又发了一个Guideline5.2.1作为拒绝的理
详解三种排序 直接插入排序直接插入排序(Insertion Sort)可以说是排序里最简单的了。为简化问题,我们下面只讨论升序排序。代码如下:void InsertSort(int array[], int left, int right){ int temp; int j
代码可读性实践 具有较强可读性的代码,代码可读性不是看起来好看那么简单。代码追求可读性的目的是降低他人阅读你的代码的难度,能帮助你调试程序,所以你的代码要在以下三个层次上易读:1)文本清晰可读2)信息充分富集3)逻辑容易理解下面简单介绍强可读性代码的实践。1 - 注释和文档IDE(Integrated Development Environmnet,集成
iOS图片模糊 iOS常见的截图模糊问题解决办法主要原因:是在iOS7 的分辨率 会改为另外一种代替的方法iOS7之前是UIGraphicsBeginImageContextiOS7之后是UIGraphicsBeginImageContextWithOptions+(UIImage*)captureScreen:(UIView*)viewToCapture{ UIGraphi
Tableview偏移的误差,偏移20,偏移64 在使用Tableview时有时候会产生各种各样的小问题,下面说下Tableview偏移问题的产生和解决方法原因:1滚动视图不能作为父视图的第一子视图。 2scrollView的自动布局问题。这是因为在iOS7.0之后,系统会自动调整scrollView的layout 和 contentInsets 。从而使其自动地适应iOS7之后那种整
IOS视频编辑,视频裁剪,视频拼接,音频处理,视频处理 前言用代码在简单视频编辑中,主要就是加美颜、水印(贴图)、视频截取、视频拼接、音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜、磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多成熟的处理方案,所以现在主要说后面的水印(贴图)、视频截取、视频拼接、音视频的处理,在文章结尾会给出一个完整的测试demo,该demo可以操作视频之后保存到系统相册,文章主要说明下注意的点。
IOS视频编辑,视频美颜,视频添加水印 前言用代码在简单视频编辑中,主要就是加美颜、水印(贴图)、视频截取、视频拼接、音视频的处理,在美颜中,使用GPUImage即可实现多种滤镜、磨皮美颜的功能,并且可以脸部识别实时美颜等功能,这个有很多成熟的处理方案,所以现在主要说后面的水印(贴图)、视频截取、视频拼接、音视频的处理,在文章结尾会给出一个完整的测试demo,该demo可以操作视频之后保存到系统相册,文章主要说明下注意的点。
iPhone X、iOS 11 、Xcode9,适配,布局,API 关于iPhone X、iOS 11 、Xcode9,我们应该知道这些1.iPhone X 上运行有黑色区域问题解决方案:使用LaunchScreen来当做入场页 或者 修改Assets中的LaunchImage,添加iPhoneX的Launch图1125*2436(竖屏),注意这边的图片像素必须按要求来2.navigationBar适配iOS11前导
Xcode 9 代码折叠,全局折叠,快捷键 在Xcode菜单里选择Preference——Text Editing,你会发现里面有一个“code folding ribbon”,勾选它就能恢复代码折叠功能了。然后通过菜单Editor——Code Folding,你就可以使用你需要的折叠功能。相关快捷键:局部折叠(折叠一个函数) :Command+Option+Left/Ri
iOS 11中tableView下移问题 本文主要是对iOS 11下APP中tableView内容下移20pt或下移64pt的问题适配的一个总结。内容包括五个部分:问题的原因分析、adjustContentInset属性的计算方式、什么情况下的tableView会发生内容下移、有哪些解决方法、解决这个问题时遇到的另外一个小问题。一、iOS 11下APP中tableView内容下移20pt或下移64pt的原因分析问题如下图所示:
适配iOS11&iPhoneX的一些坑 下面从几个方面讲解iOS11的特性,和iPhone X的那些事屏幕我们在编码中使用的是以point为单位的屏幕尺寸(在不同设备上每个point对应的实际像素点是不一样的),iPhone 8的尺寸是375pt × 667pt @2x,iPhone X的尺寸是375pt × 812pt @3x,也就是屏幕宽度是一样的,但是高出了145pt,大概能多显示20%的内容。
视频 秒开,美颜,卡顿 视频问题需要注意的几个点:1秒开,2美颜,3卡顿,简单分析归纳一、怎么优化打开速度,达到传说中的 “秒开”?大家可能会看到,市面上某些手机直播 APP 的打开速度非常快,一点就开。而某些手机直播 APP,点击播放后要等好几秒以后才能播放。是什么原因导致如此的天壤之别呢?大部分播放器都是拿到一个完成的 GOP 后才能解码播放,基于 FFmp
iOS NSString创建解析 NSString在iOS中很常见,但也是最容易弄错的,下面详细讲解下NSString容易出错的点流畅的APP一般都是内存控制很棒,因此NSString出错的点也与内存有关,往往也是大家容易忽略的点比如:表的cell中如果包含很多stringWithFormat的话就会感觉卡卡的,这样其实是可以优化的,但是如何优化就要从里面的本质说起了1)字符串的创建常用的有3种方式:
iOS卡顿监测分析 APP卡顿首先要检查1线程问题;2内存问题;3数据利用问题;如果以上都没问题的话可以使用下面的大招进行分析监测。如果大家有更好的方案也可以下面留言,谢谢 首先如果遇到应用卡顿或者因为内存占用过多时一般使用Instruments里的来进行检测。但对于复杂情况可能就需要用到子线程监控主线程的方式来了,下面我对这些方法做些介绍:Time Profiler可以查看多个
iOS内存优化总结 当我们开发iOS应用时,好的性能对我们的App来说是很重要的。你的用户也希望如此,但是如果你的app表现的反应迟钝或者很慢也会伤害到你的审核。 然而,由于ios设备的限制有时很难工作得很正确。我们开发时有很多需要我们记住这些容易忘记的决定对性能的影响。 这是为什么我写这篇文章的原因。这篇文章用备忘录的形式集合了28个技巧和诀窍可以用来提高你的app性能。所以保持
iOS屏幕旋转,强制横竖屏 在 iPhone 应用里,有时我们想强行把显示模式从纵屏改为横屏(反之亦然),特别是需要展示音频,视频播放器的时候需要进行横竖屏切换,下面做下横竖屏总结,如有不全面之处欢迎留言补充。 目前横竖屏旋转方式分为手动和自动手动旋转手动旋转也有2种方式,一种是直接设置 UIDevice 的 orientation,但是这种方式不推荐,上传appStore有被拒的风险:
iOS性能优化 问题种类时间复杂度在集合里数据量小的情况下时间复杂度对于性能的影响看起来微乎其微。但如果某个开发的功能是一个公共功能,无法预料调用者传入数据的量时,这个复杂度的优化显得非常重要了。上图列出了各种情况的时间复杂度,比如高效的排序算法一般都是 O(n log n)。接下来看看下图:图中可以看出 O(n) 是
iOS崩溃总结 一、捕获iOS Crash1、设置异常断点并运行设置异常断点.png说明:设置Xcode异常断点后运行程序,发生Crash时,断点会定位到出错的代码行,但仅适用于开发阶段。线上APP的Crash还需要通过收集Crash机制来捕获Crash并记录在日志中。2、Mach异常 和 Unix信号
iOS缓存 概览缓存组件应该说是每个客户端程序必备的核心组件,试想对于每个界面的访问都必须重新请求势必降低用户体验。但是如何处理客户端缓存貌似并没有统一的解决方案,多数开发者选择自行创建数据库直接将服务器端请求的JSON(或Model)缓存起来,下次请求则查询数据库检查缓存是否存在;另外还有些开发者会选择以归档文件的方式保存缓存数据,每次请求资源之前检查相应的缓存文件。事实上iOS系统自身
iOS图片拼接,图片文字合成总结 注意事项:项目报错,图片模糊,内存问题,离屏渲染以下是合成的步骤:先读取两张图片把创建出CGImageRef创建上下文画布把图片依次画在画布指定位置上从上下文中获得合并后的图片关闭上下文释放内存两张图片合成:- (void)composeImg { UIImage *img = [UIImage imageNamed:@"0.png"]; CGImageRef im
iOS开发类库 更新版 1. IGListKit由 Instagram 开发人员制作,IGListKit 是用于构建快速灵活列表的数据驱动型的 UICollectionView 框架。此外,它可以帮助你在应用程序中避免大量使用视图控制器的情况。可查看 Ray Wenderlich 上的关于在你的项目中实现该库的教程,或者从 Rodrigo Cavalcante 中看看关于将现有的
NSLog使用详解与性能分析 NSLog 使用在XCode做开发调试时往往需要打印一些调试信息做debug用NSLog 性能问题它的运行会占用时间和设备资源。当打印信息的地方多了之后在模拟器上跑可能不会有什么问题,因为模拟器用的是电脑的硬件,但是当应用跑在设备上时这些输出语句会在很大程度上影响应用的性能,而且输出的数据也可能会暴露出App里的保密数据,所以发布正式版时需要把这些输出全部屏蔽掉,针对这
UICollectionView和UITableView常见错误总结 UITableView和UICollectionView是在IOS开发过程中使用得比较多的数据展示控件。这两个控件各有千秋,有各自的最适应场合。UICollectionView在使用的时候比UITableView更严格,特别是侧重于UICollectionViewCell的重用,在创建诸多对象的时候,一定要使用重用机制,否则就会报相应 的错误,下面就对这些常见错误做一个总结:1.reaso
AL 人工智能学习书籍 视频 课程 系统学习资料深度学习火起来之后,网上关于深度学习的资料很多。但是其质量参差不齐。我从2013年开始就关注深度学习,见证了它从一个小圈子的领先技术到一个大众所追捧的热门技术的过程,也看了很多资料。我认为一个高质量的学习资料可以帮助你真正的理解深度学习的本质,并且更好地掌握这项技术,用于实践。以下是我所推荐的学习资料:首先是视频课程。
UIViewController各种方法生命周期和调用顺序 UIViewController中loadView (当访问UIViewController的view属性时)viewDidLoad (加载视图时调用)viewWillAppear (视图即将可见时调用)viewDidAppear (视图即将加入窗口时调用)viewWillLayoutSubviews (视图布局改变时调用,如:屏幕旋转)viewDidLayoutSubvi
iOS移动端 图片安全解决方案 iOS 安卓 移动端 图片安全解决方案最近一个朋友公司的图片经常被搞恶意的破坏,更甚至破坏者把他们自己的广告插入到里面,很可怕,他问我有没有好一点的解决方案,想了好久总结为以下几点:移动端安全大致上可以分为以下几个维度:Web安全网络通讯安全本地安全Web安全,主要考虑Web服务中每一层可能的漏洞,及由此衍生的一系列安全问题,如:存储层中的SQL注入问题,N
机器学习常见算法分类,算法优缺点汇总 机器学习无疑是当前数据分析领域的一个热点内容。很多人在平时的工作中都或多或少会用到机器学习的算法。本文为您总结一下常见的机器学习算法,以供您在工作和学习中参考。 机器学习的算法很多。很多时候困惑人们都是,很多算法是一类算法,而有些算法又是从其他算法中延伸出来的。这里,我们从两个方面来给大家介绍,第一个方面是学习的方式,第二个方面是算法的类似性。学习方式根
大数据和机器学习 大数据的定义 大数据(big data),指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。 大数据是一个笼统的概念暂未发现和准确的定义。 大数据的核心是利用数据的价值,机器学习是利用数据价值的关键技术,对于大数据而言,机器学习是不可或缺的。相反,对于
常用Linux命令 Linux 常用的20条命令 玩过Linux的人都会知道,Linux中的命令的确是非常多,但是玩过Linux的人也从来不会因为Linux的命令如此之多而烦恼,因为我们只需要掌握我们最常用的命令就可以了。当然你也可以在使用时去找一下man,他会帮你解决不少的问题。然而每个人玩Linux的目的都不同,所以他们常用的命令也就差异非常大,而我主要是用Linux进行C/C++和shell程序编写
MVC MVVM MVP Backbone 互动模式 架构模式总结分析 一、MVCMVC模式的意思是,软件可以分成三个部分。视图(View):用户界面。控制器(Controller):业务逻辑模型(Model):数据保存各部分之间的通信方式如下。View 传送指令到 ControllerController 完成业务逻辑后,要求 Model 改变状态Model 将新的数据发送到 Vie
经典技术书籍大全 看书就看经典!经典技术书籍大全看这里 这个列表包括了 100 多本经典技术书籍,涵盖:计算机系统与网络、系统架构、算法与数据结构、前端开发、后端开发、移动开发、数据库、测试、项目与团队、程序员职业修炼、求职面试 和 编程相关的经典书籍。 本列表综合以往推荐经典书籍文章中的列表,以及在微信和微博中被广泛推荐的好书。虽然已经包括了100多本,覆盖的面也比较全,仍然有很多方面需要
iOS代码混淆总结 做代码混淆需要六大步骤1:首先你要创建一个工程吧 2:然后打开你的终端 输入cd 然后把你的工程拖进去 回车3:然后 打入一下命令: touch confuse.sh 然后回车4:之后再输入: touch func.list 回车 就行 5:这时候打开你的工程 你会发现一个confuse.sh 和一个func.list文件 这时候点击addfile进去 急着
iOS 组件化,插件化,模块化设计思路分析 iOS 组件化,插件化设计思路分析前言随着用户的需求越来越多,对App的用户体验也变的要求越来越高。为了更好的应对各种需求,开发人员从软件工程的角度,将App架构由原来简单的MVC变成MVVM,VIPER等复杂架构。更换适合业务的架构,是为了后期能更好的维护项目。但是用户依旧不满意,继续对开发人员提出了更多更高的要求,不仅需要高质量的用户体验,还要求快速迭代
H5直播开发总结 h5直播开发之旅总结前言 关于直播,有很多相关技术文章,这里不多说。 作为前端,我们比较关心我们所需要的。 直播的大致流程: APP端调用摄像头 -》 拍摄视频 -》 实时上传视频 -》 服务器端获取视频并解码 -》 存储成一小段一小段视频 -》 服务器端进行推流 -》 H5或者app端通过一个url拉取视频流进行播放 实际
JSON数据使用详解 解析方式的优缺对比:系统的API的解析速度最快。SBJSON的解析速度为倒数第二差。与系统API较为接近的是JSONKit。建议选用系统的API或JSONKit来对JSON数据进行解析。如何生成JSON格式的数据?1、利用字典NSDictionary转换为键/值格式的数据。// 如果数组或者字典中存储了 NSString, NS
AFNetworking遇到异常 Request failed,AFNetworking详解 AFNetworking遇到异常 Request failed,请求失败的原因有很多种,具体的要看哪种原因了,下面是常见的报错:搜索 “Request failed: unacceptable content-type: text/html” 的解决方案,会有很多人告诉你去修改AFURLResponseSerialization类中的self.acceptableContentTy
MJRefresh遇到的坑 如何让提示文字居中,图片变成动画一. 新旧版本比较旧版本使用说明#import "UIScrollView+MJRefresh.h"/** MJ友情提示: 1. 添加头部控件的方法 [self.tableView addHeaderWithTarget:self action:@selector(headerRereshing)]; 或者 [self.tab
腾讯云通信IM总结 我是第一次集成腾讯云通信IM,只想说一万个cnm。。。先说一下集成的时候遇到的坑吧:1:添加好友不能一次添加成功,如果失败不能马上自动添加2:好友人数限制只能3000人,环信的没有限制3:文档太粗糙了,很多重点没有说出来4:技术支持貌似只有一个人,,,5:官方提供的demo代码混乱,基本上没有注释,逻辑不清晰6:代码易于耦合对于上面那些坑,我只想说呵呵哒,不
iOS转场动画总结 常见的转场动画方案一://创建转场动画对象 CATransition *transition = [[CATransitionalloc]init]; /* The name of the transition. Current legal transition types include * `fade', `m
微信小程序利与弊 从十二月开始,我们就不断地看到关于微信小程序的消息。酝酿了一个多月,终于在今天出世。上半场APP,下半场小程序;入口不错,二维码将大大缩短线下服务的场景;很多小程序会被淘汰掉;小程序上线,百度地图会成为最大输家;该来的还是来了。高频APP没太大市场影响,换个使用场景而已,但很可能是各种垂直小应用的灾难。目前也只开放了部分程序,此功能不知道会不会增加微信内存,但至少微信粘性更
Bootstrap学习总结 详解Bootstrap框架:首先,我们要知道为什么使用框架的原理。CSS框架是一系列CSS文件的集合体,包含了基本的元素重置,页面排版,网络布局,表单样式,通用规则等代码块。使用CSS框架,可以简化工作,提高工作效率。Bootstrap=响应式设计+css组件+jQuery1.01+JavaScript插件+基础布局组件+12栅格系统原因大概如下:随着H5,CS
Bootstrap学习笔记 1、整体架构 下图为Bootstrap的整体架构图,共分为六大部分: 1.1、12栅格系统 12栅格系统就是把网页的总宽度平分为12份,我们可以自由按份组合。栅格系统使用的总宽度可以不固定,Bootstrap是按百分比进行平分。(保留15位小数点精度) 12栅格系统是整个Bootstrap的核心功能,也是响应式设计核心理念的一个实现形式。1.2、
加载webView 内存泄露 导致内存暴涨的几种解决方案 加载webView导致内存泄露的原因是:Html中的js代码会引起内存泄露1 UIWebView *webView = [[UIWebViewalloc] initWithFrame:CGRectMake(0,64, 320,400)]; [webView loadRequest:[NSURLRequestrequestWithURL:url]];
iOS屏幕截取,截屏办法 支持iOS7.0以后的 7.0以前 有别的方法。。。你可以写一个按钮 按钮执行以下的方法 就可以了 这样就可以拿到一个一个全屏的截图了 UIView *screenView = [self.view snapshotViewAfterScreenUpdates:YES]; screenView.frame = CGRectMake(100, 500, 200,
开发工程中遇到的BUG 1、Couldn’t communicate with a helper application in Xcode 7问题一:Couldn't communicate with a helper application in Xcode 7翻译:不能与助手应用程序通信在Xcode7中(helper ->指的是git)解决:终端输入:Xcrun g
iOS进度条 自定义圆角 UIProgressView 进度条总结,自定义圆角大小,多种方法定义圆角大小//实例化一个进度条,有两种样式,一种是UIProgressViewStyleBar一种是UIProgressViewStyleDefault,几乎无区别 UIProgressView *pro1=[[UIProgressViewalloc]initWithProgressViewStyle:UIPr
iOS学习资源汇总(开源项目、第三方库、技术博客等等) iOS学习资源汇总(开源项目、第三方库、技术博客等等)字数3919 阅读10309 评论29 喜欢297前言Github众所周知,全球最大的同性社区交友网站,在这里你可以获取任何你想要的,只要你想,只要Ta有。从事开发几年在Github上Star了不少好的东西,当然学到了更多,在此深深的膜拜下那些开源的大神。切入正题,下面对自己使用过或者Star过的第三方框架整
H5的小知识点 /* */ 屏蔽; 换行; 一些值可以用百分比 比如width:50%;标签:p段落;h1大标题; style可多写;1:html也是一种文档格式,网页也是一种文档。2:html发展历史。 html4.01 html1.0 html5(最新)3:DOCTYPE是 document type的简写,用来说明你用的 xhtml 或者html 是什
iOS扫码的那些事 想方便快捷就用第三方的,常见的zbr,zxing,各有特色吧,都知道微信的扫描比较快,不管自己写的用的原生的还是第三方的都比较慢,微信其也是用zbar,但估计有改过里面的算法。。。ZXing和ZBar 导入的时候需要注意各种兼容,iOS7自带的不需要考虑这些。配置方面还是iOS7自带的方便简单一些。但是iOS7自带的有些弊端,就是扫描条形码不是很给力,遇到弯曲的条形(比如在瓶子上印制的)码就很
iOS常见性能优化 本文来自iOS Tutorial Team 的 Marcelo Fabri,他是Movile的一名 iOS 程序员。这是他的个人网站:http://www.marcelofabri.com/,你还可以在Twitter上关注@marcelofabri_。性能对 iOS 应用的开发尤其重要,如果你的应用失去反应或者很慢,失望的用户会把他们的失望写满App Store的评论。然而由于iOS设备的