利用KVC实现无需协议的委托模式】的更多相关文章

在<精通iOS开发>一书中看到的技巧.假设BIDTaskListController是一个列表,点击列表上的一项将会导航到BIDTaskDetailController,在BIDTaskDetailController当中修改值并保存后,将把修改后的值回传给BIDTaskListController并更新局部视图. 在BIDTaskListController类中有如下方法: - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(…
详见:http://blog.yemou.net/article/query/info/tytfjhfascvhzxcytp22 HTTP协议Keep-Alive模式详解 1.什么是Keep-Alive模式    我们知道HTTP协议采用"请求-应答"模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议):当使用Keep-Alive模式(又称持久连接.连接重用)时,Keep-Alive功能使客…
一.MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit)       如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就要进行分片(Fragmentation),把数据报分成若干片,这样每一片都小于MTU.       当网络上的两台主机互相进行通信时,两台主机之间要经过多个网络,每个网络的链路层可能有不同的MTU,其中两台通信主机路径中…
zabbix3.2利用自动发现功能对fastcgi模式的php状态进行集中监控 前端nginx虚拟主机引用后端多个php接口,为了方便监控,将后端服务器集中配置在nginx中,具体配置如下: [root@eus_nginx:]# cat /usr/local/nginx/config/nginx.conf user apache users; worker_processes ; worker_cpu_affinity ; error_log /data/www/logs/nginx_log/e…
一.MTU 以太网和IEEE 802.3对数据帧的长度都有限制,其最大值分别是1500和1492字节,将这个限制称作最大传输单元(MTU,Maximum Transmission Unit).如果IP层有一个数据报要传,而且数据的长度比链路层的MTU还大,那么IP层就要进行分片(Fragmentation),把数据报分成若干片,这样每一片都小于MTU.当网络上的两台主机互相进行通信时,两台主机之间要经过多个网络,每个网络的链路层可能有不同的MTU,其中两台通信主机路径中的最小MTU被称作路径MT…
主要工具:小度随身wifi热点 + wireshark抓包工具.(强烈不建议使用360的产品,非常垃圾,而且干扰代理#墙IP,搞得你不能***) 利用wireshark这个强大的协议分析利器.去分析某些直播平台的http协议.以及开发出一些软件,无往不利. 我们需要监控 某个 手机app 发包数据,这个用Fiddler是无法抓.上图是某个视频直播平台的数据包. 我们的过滤条件是:①只需要http的包:②过滤掉jpg:③过滤掉png:④过滤掉zip 根据正则通配符 ,结合逻辑 and  . or…
在复杂的网络世界中,各种应用之间通信需要依赖各种各样的协议,比如:HTTP,Telnet,FTP,SMTP等等. 在开发过程中,有时候我们需要构建一些适应自己业务的应用层协议,Netty作为一个非常优秀的网络通信框架,可以帮助我们完成自定义协议的通信. 一般而言,我们制定的协议需要两个部分: Header : 协议头部,放置一些Meta信息. Content : 应用之间交互的信息主体. 例如: | Version | Content-Length | SessionId | Content |…
在LR中使用HTML/HTTP协议进行脚本录制时面临正确选择HTTP-based script / URL-base script 录制模式的问题,以下是比较官方的建议:1)基于浏览器的应用程序推荐使用HTML- based scrīpt:2)不是基于浏览器的应用程序推荐使用URL-based scrīpt:3)如果基于浏览器的应用程序中包含了Javascrīpt,并且该脚本向服务器发送了请求,比如DataGrid的分页按钮等,推荐使用URL-based scrīpt:4)基于浏览器的应用程序中…
KVC 一直没仔细看过KVC的用法,想当然的认为可以在NSObject对象中存入任意键值对,结果使用时碰到问题了. 一个简单的位移动画: CAKeyframeAnimation *keyPosi=[CAKeyframeAnimation animationWithKeyPath:@"position"]; keyPosi.path=path.CGPath; keyPosi.delegate=self; [label.layer addAnimation:keyPosi forKey:@…
通过一个例子来理解委托模式 首先定义个协议 协议(protocol) :它可以声明一些必须实现的方法和选择实现的方法  (在java中称为接口) // // StudentDelegate.h // test // // Created by 洪东楗 on 2017/4/19. // Copyright © 2017年 洪东楗. All rights reserved. // #import <Foundation/Foundation.h> @protocol StudentDelegate…
背景 博主的主要工作是测试API,目前已经用Jmeter+Jenkins实现了项目中的接口自动化测试流程.但是马上要接手的项目,API应用的是OAuth2.0协议授权,并且采用的是简化模式(implicit grant type).所以最近学习了一下该协议,并尝试用Jmeter模拟该授权方式的处理流程,以改进自动化测试脚本. 本文主要分为三个部分:1.简述OAuth2.0协议中的简化模式授权方式: 2.通过在浏览器上抓包,分析获取授权的过程中经历了什么: 3.尝试用Jmeter模拟整个授权过程,…
主要就是利用php 的 fsocketopen 消息传输. 这里先通过upload.html 文件提交,利用chrome抓包,可以看到几个关键的信息. 首先指定了表单类型为multipart/form-data;. boundary是分隔符 因为上传文件不在使用原有的http协议了.请求内容不再可能以 x = y方式发送了.而使用了 分隔符 字段内容 分隔符号 字段内容2 而boundary就是指定分隔符号的标志. 请求的内容就应该是这样的了. 在来看下消息体 #socket_upload.ph…
1.SSL解析 SSL 是 Secure Socket Layer 的简称, 中文意思是安全套接字层,由 NetScape公司所开发,用以保障在 Internet 上数据传输的安全,确保数据在网络的传输过程中不会被截取和窃听. SSL 协议提供的服务主要有: (1)认证用户和服务器,确保数据发送到正确的客户和服务器. (2)加密数据以防止数据中途被窃取. (3)维护数据的完整性,确保数据在传输过程中不被改变. 2.SSLStrip SSLStrip 的工作原理及步骤如下: (1) 先进行中间人攻…
1.什么是Keep-Alive模式? 我们知道HTTP协议采用“请求-应答”模式,当使用普通模式,即非KeepAlive模式时,每个请求/应答客户和服务器都要新建一个连接,完成 之后立即断开连接(HTTP协议为无连接的协议):当使用Keep-Alive模式(又称持久连接.连接重用)时,Keep-Alive功能使客户端到服 务器端的连接持续有效,当出现对服务器的后继请求时,Keep-Alive功能避免了建立或者重新建立连接. http 1.0中默认是关闭的,需要在http头加入"Connectio…
一.什么是OAuth2协议? OAuth 2.0 是一个关于授权的开放的网络协议,是目前最流行的授权机制. 数据的所有者告诉系统,同意授权第三方应用进入系统,获取这些数据.系统从而产生一个短期的进入令牌(token),用来代替密码,供第三方应用使用. 由于授权的场景众多,OAuth 2.0 协议定义了获取令牌的四种授权方式,分别是: 授权码模式:授权码模式(authorization code)是功能最完整.流程最严密的授权模式.它的特点就是通过客户端的后台服务器,与"服务提供商"的认…
最近看到责任链模式的时候每增加一个处理类,就必须在责任链的实现类中手动增加到责任链中,具体代码基本就是list.add(new FilterImpl()),可以看到每次增加一个处理类,就必须添加一行上面的代码,不符合开闭原则(面向修改关闭,面向扩展开放).于是想到了Java的SPI机制,可以实现插拔式组件,而Java自带的SPI机制是寻找借口的所有实现类,虽然一直被诟病,但是在本次的插拔式中,它却成了一个优点,因为我们需要把所有的实现类都放入处理器链中. 类图如下: 上代码,嘻嘻! 1 pack…
Round 1 <?php $content = '<?php exit; ?>'; $content .= $_POST['txt']; file_put_contents($_POST['filename'], $content); $content在开头增加了exit过程,导致即使我们成功写入一句话,也执行不了.幸运的是,这里的$_POST['filename']是可以控制协议的,我们即可使用 php://filter协议来施展魔法. #方法一.base64编码 使用php://f…
一.准备工作 系统是Windows 8.1Pro 分析工具是WireShark1.10.8 Stable Version 使用系统Ping命令发送ICMP报文. 二.开始工作 打开CMD.exe键入: ping www.oschina.net 将自动进行域名解析,默认发送4个ICMP报文. 启动Wireshark,选择一个有效网卡,启动抓包. 在控制台回车执行完毕后停止监控. 三.分析阶段 截获的所有报文如下:   总得来看有两个DNS包(一次域名解析),和8个ICMP包(四次ping) 下面开…
一.前言 一次比较懒的想法,不想自定义UITabBar,也不想用第三方框架,于是想尝试修改苹果私有类来达到部分效果 效果如下 点击tabBar 上的按钮,图片有变大再变小的动画 tabBar 上某个按钮(购物车按钮),点击弹出控制器是modal出来的,并不属于UITabBarController管理的 上述购物车按钮,是后面加到tabBar 上的自定义的按钮UIButton,本身没有右上角的badge的提示,懒得话,就用 系统UITabBarButton 的badge 点击商品的加号按钮,实现t…
KVC简单使用: 可以用来设置属性的值例如有个Person类下有个属性name [self setvalue:@"yourname" forkey:@"name"] 和用_name = @"yourname";效果相同. 控制器中的某个控件也可以通过KVC来自定义 例如有个navigationcontroller 需要自定义他的navigationbar 就可以使用KVC [self setValue:[yournavigationbar new…
wireshark:是一个网络封包分析软件.网络封包分析软件的功能是撷取网络封包,并尽可能显示出最为详细的网络封包资料.Wireshark使用WinPCAP作为接口,直接与网卡进行数据报文交换,是目前全世界最广泛的网络封包分析软件 什么是ARP协议    协议分析篇第一个要研究的就是ARP协议.ARP(Address Resolution Protocol,地址解析协议)用于将IP地址解析为物理地址(MAC地址).这里之所以需要使用MAC地址,是因为网络中用于连接各个设备的交换机使用了内容可寻址…
Cain抓包指南 1.简介: 在开发测试工作中经常有捕抓设备间通信报文的需求,但有时候被抓包的设备并不直接和进行抓包的主机或设备进行通信,因此会达不到想要的效果.解决该问题的常见方法有: (1).为被抓包的设备设置代理,即将数据包重定向到代理机上,代理机再转发到目标机,然后在代理机上抓包.优点:设置简单,捕抓的数据有针对性,易于分析.缺点:很多应用不支持代理功能. (2).使用HUB,即抓包机器和目标机器连接在同一HUB上,通过混杂模式进行抓包.优点:设置简单.缺点:需要硬件成本支持,HUB已被…
KVO键值监听: Key-Value Observing,它提供一种机制,当指定的对象的属性被修改后,则对象就会接受到通知.简单的说就是每次指定的被观察的对象的属性被修改后,KVO就会自动通知相应的观察者了. 使用方式: 1. 注册,指定被观察者的属性, 2. 实现回调方法 3. 移除观察 上代码之前向大家说几个小坑,小白可以看,大神直接略过. kvo直接监听NSMutableArray的时候,大家可能都认为count属于它的一个属性,当直接修改它的时候,count会发生变化,直接调用回调方法,…
今天给大家介绍的是Github上一个名叫PyMLProjects的项目,这个项目的目的是为了训练AI来学习人类构造密码的模式,然后我们就可以用AI来生成大量同一模式或种类的密码了.这种方法也许可以用来生成暴力破解攻击中需要使用的攻击字典,因为人们为了方便记忆,通常都会采用某种密码“模式”来设计自己的密码. 一些经验丰富的渗透测试人员可能都知道,很多类似银行或政府之类的大型组织他们所使用的默认密码或重置密码都采用的是一种旧的密码方案.为了更加贴近实际情况地去评估目前这种问题的严重性,为了更好地模拟…
作者:Bgwan链接:https://zhuanlan.zhihu.com/p/22520818来源:知乎著作权归作者所有.商业转载请联系作者获得授权,非商业转载请注明出处. 网上看到过大多实现夜间模式的效果,实现方式总结起来,发现好繁琐,大多数夜间模式实现都是基于另一套apk来,作为依赖实现,像QQ,微信,这种直接提供给你一套皮肤来切换背景,如果要做这个皮肤开发的工作量不小于一个软件的开发周期,而知乎简书这种夜间模式的实现就相对于更加轻量级了. 今天这里采用qydq/提供的an框架来简单快速实…
$include_file=$_GET[include_file];if ( isset( $include_file ) && strtolower( substr( $include_file, -4 ) ) == ".php" ){require( $include_file );} 1.php->phpinfo()->.zip->zip://xxx/xxx/.zip%231.php http://127.0.0.1/include.php?in…
web_submit_data("rest", "Action=http://www.test.com/111ojhjh.do", "Method=PUT", "RecContentType=text/html", "EncType=application/x-www-form-urlencoded", ITEMDATA, "Name=timestamp", "Value={t…
直接上代码 输出结果也在相应的代码里标注出来了 //main.m文件 #import <Foundation/Foundation.h> #import "Student.h" int main(int argc, const char * argv[]) { @autoreleasepool { NSMutableArray <Student *> *_studentArrM; NSMutableArray <Student *> *_studen…
微信门店wifi接口,任意站跳转,跳转二维码长按识别加粉,接口支持动态传参数,支持微信支付等特殊接口对接. 代码如下使用 <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1,maximum-scale=1,user-scalable=0">…