iOS Category详解

一、概述Category是Objective-C 2.0之后添加的语言特性,Category又叫分类、类别、类目,能够在不改变原来类内容的基础上,为类增加一些方法。除此之外,Category还有以下功能:(1)将类的实现分开写在几个分类里面。这样做的好处:可以减少单个文件的体积可以把不同的功能组织到不同的Category里可以由多个开发者共同完成一个类可以按需加载想要的category(2)声明...
iOS category

Spring MVC 中使用 Apache Shiro 安全框架详解

我们在这里将对一个集成了Spring MVC+Hibernate+Apache Shiro的项目进行了一个简单说明。这个项目将展示如何在Spring MVC 中使用Apache Shiro来构建我们的安全框架。阅读文章前,您需要做以下准备:Maven 3环境Mysql-5.6+JDK1.7+git环境git.oschina.net帐号Apache Tomcat 7+您熟练掌握的编辑工具,推荐使用I...
JAVA开发 编程开发

Sublime Text VS Visual Studio Code VS Atom 性能测试

说到文本编辑器,我已经使用Sublime Text大约3年了。一两年前我试过Atom,其活跃的社区给我留下了深刻的印象(GitHub!我喜欢GitHub)。UI方面特别吸引我。我坚守Sublime Text的原因在于性能:Atom很慢,即使在Atom 1.0发布之后。这些天,因为发现有Visual Studio Code,所以就去谷歌搜索“Sublime Text vs Atom 2016”,想要...
编程开发 操作系统

原来 CSS 这样写是会让 App 崩溃的

先废话一下之前在自己的个人公众号中提到了一篇利用 CSS 的方式进行 XSS 攻击,当时有朋友跟我说,让我去获取那个网站的 cookie,再然后进入那个网站的后台去玩。然而,技术能力实在有限,搞不了这些东西,只是觉得那个网站没有适当过滤 HTML 标签是一件很危险的事情。不过今天要说的 CSS 代码真的是让 app 崩溃了,至于信不信,看图就知道咯。故事背景昨晚在被窝中的我突然收到一封邮件,大概内...
WEB开发 编程开发

2017 年值得一瞥的 JavaScript 相关技术趋势

跨年前两天,Dan Abramov在Twitter上提了一个问题:JS社区毫不犹豫的抛出了它们对于新技术的预期与期待,本文内容也是总结自Twitter的回复,按照流行度降序排列。有一个尚未确定的小点是既然函数式编程已不再是少数派,是否要把它踢出红毯呢?WebAssembly去年笔者就表示过了对于WebAssembly的期待,WebAssembly就是面向Web平台的底层代码。其初衷是希望能够使所有...
编程开发 WEB开发

React-Native之 mac系统系下的环境搭建

1.安装Node.jshttps://nodejs.org/en/在上面的网址中下载Nodejs,然后进行安装一直点击下一步就好了,不做说明。默认安装目录Nodejs: /usr/local/bin/nodenpm:/usr/local/bin/npm安装完尝试下输入 node -v 查看下版本确认安装成功。2.安装React Native1)确认Node.js已经安装2)确认Xcode已经安...

iOS Crash 杀手排名

iOS Crash 杀手排名随着公司嘟嘟牛app用户数量多了起来,崩溃的问题也多了起来,最近这几天终于得空,集中时间处理了一下崩溃的问题,现总结一下,希望对大家有所帮助。杀手 NO.1NSInvalidArgumentException 异常出现这个crash的原因有很多,选取了崩溃次数较多的crash。 crash 日志1-1-[__NSPlaceholderDictionary initW...
崩溃 crash 内存优化

Objective-c 多线程操作 自定义NSOperation 模拟下载

写在前面使用多线程下载图片,使用内存缓存和磁盘缓存。这里只为理解NSOperation及其派生类真要应用到APP中 请下载成熟的第三方库效果下载多张图片时可控制线程并发数分析自定义NSOperation 执行下载操作封装一个队列操作,创建N个线程,队列控制并发通过线程tag查找对应图片通过队列tag查找对应队列缓存设置 内存缓存和磁盘缓存下载完成通过delegate或block进行回调通知代码通...
多线程

CAShapeLayer与UIBezierPath实现注水动画与正余弦水波纹动画

初步学习了CoreAnimation框架,总结了几个动画效果,主要是通过CAShapeLayer与贝塞尔曲线实现。先看下效果1.gif扇形下载进度要实现扇形的下载进度,有两种方法, 这里先使用第一种:1.使用设置UIBezierPath的角度2.使用 CAShapeLayer的stokeEnd属性//设置中心点 CGPoint point = CGPointMake(self.fram...

多线程之GCD,NSOperation和NSOperationQueue,NSThread

多线程的缺点: 1.拥有多个可执行的路径 2.线程问题难以调试 3.数据安全受到一定的影响,一个存,一个删的时候; 方法一 、 GCD:GCD队列始终是FIFO(先进先出)的方法来处理任务,但是任务执行的时间并不相同,因此先处理的任务不一定先结束,所以用底层的线程池来处理和管理用户提交的任务,串行队列线程池之需要维护一个线程即可,并发队列线程池需要维护多个线程; 创建队列和访问队列...