- 博客(59)
- 收藏
- 关注
转载 iOS设备型号标签列表
i386 32-bit Simulatorx86_64 64-bit SimulatoriPod1,1 iPod TouchiPod2,1 iPod Touch Second GenerationiPod3,1 iPod Touch Thir
2016-11-28 09:47:04
473
原创 如何解决结果由block返回情况下的同步问题
开发中经常会遇到一种简单的同步问题:系统在获取资源时,采用了block写法,外部逻辑需要的结果是在block回调中返回的举个例子:请求获取通讯录权限的系统弹窗调用系统方法请求通讯录权限:ABAddressBookRequestAccessWithCompletion(addressBook,^(bool granted,CFErrorRef erro
2016-11-23 10:22:01
1757
原创 如何判断一个app是否是今天首次启动
思路: 每次退出app的时候,都在UserDefault中存一下当前date 下次登录时,判断date是否是当前日期,不是则为首次启动代码实现: NSDate * senddate=[NSDate date]; NSDateFormatter *dateformatter=[[NSDateFormatter alloc] in
2016-11-17 17:10:19
1532
原创 如何创建本地git仓库
概述:【1】创建远程仓库容器【2】创建原始代码【3】将原始代码挂接到远程仓库容器中去【4】验证详解:【1】创建远程仓库容器第一步:新建仓库文件夹,文件名添加.git后缀 mkdir Service.git第二步:进入这个仓库文件夹 cd Service.git第三步:创建初始化git仓库 git init --bare
2016-11-08 17:48:50
10980
2
原创 代码瘦身方法
代码瘦身的方法:1、删除低像素的1X图片资源风险评估:无风险原因:1X图片只用来支持iphone3GS之前的手机,从4之后都是用的2X以上图片实施方法:直接代码中右键删除,并需删掉图片引用避免方法:让UI不要做1X的切图2、删除重复无效的PNG图片及文件资源风险评估:中风险原因:有的图片是根据由服务端字段返回的图片名展示的,在代码中根本搜索不到实施方法:
2016-11-08 17:48:28
1161
1
原创 乐视视频转屏问题
现象:4.0.5版本上,乐视的转屏没有问题,但4.2版本上,乐视转屏会导致整个屏幕布局混乱原因:我们代码的底层为UITabBarController写了一个超类UITabBarController+HDFUITabBarController.m- (BOOL)shouldAutorotate { return NO;}-(UIInterface
2016-11-08 17:39:14
1199
原创 转屏蒙板HUB方向问题(在NSObject中获取当前页面)
问题原因:视频全屏播放,在转屏状态下,toast提示的方向不对解决思路:将屏幕横转过来时,不展示toast提示解决代码:- (BOOL)isNotFullScreenPlayer{ doctorAppDelegate*appDelegate =(doctorAppDelegate*)[UIApplicationsharedApplica
2016-11-08 17:37:53
264
原创 webkit+各种js交互方法
一、版本8系统前,用UIWebView8系统后,用webkit,WKWebView因为webkit有两大优点:1、占用内存更小,2、可以通过回调直接捕捉网页上的alert,输入等js操作二、代码第一部分:UIViewController//// ViewController.m// WKWebView//// Created by nn
2016-11-08 17:33:09
9092
原创 右滑手势使用不当会造成的严重bug
右滑手势基本原理:interactivePopGestureRecognizer.enabled在正常情况下控制手势是否可用,默认是可用状态如果重写了返回按钮, 需要设置interactivePopGestureRecognizer.delegate才能重新启动手势功能调用时机:改变手势设置和恢复手势设置应该在viewDidAppear: 和viewWillDisapp
2016-11-02 00:27:18
475
原创 iOS设备型号标签列表
i386 32-bit Simulatorx86_64 64-bit SimulatoriPod1,1 iPod TouchiPod2,1 iPod Touch Second GenerationiPod3,1 iPod Touch Thir
2016-11-02 00:25:37
832
原创 缓存工具TMCache调研
一、简介TMCache是用于存储临时持久化对象的开源iOS/OS key/value缓存类库,减少重复创建像下载数据、缓慢的处理结果这样的昂贵性能花销。TMCache由两个本身相似的存储组成,TMMemoryCache,存在于内存中TMDiskCache,存在于硬盘中它们都支持GCD和从多线程中读取数据。使用内存缓存(TMMemoryCache),当App收到内存使用
2016-11-02 00:24:14
1150
原创 unix基础知识
1、所有操作系统都向它们运行的程序提供服务,例如读写文件,运行程序,分配存储区,获得当前时间等2、linux登录:登录名+口令,系统的/etc/passwd文件中存放登录信息,登录项由: 登录名,加密口令,数字用户 ID(224),数字组ID(20),注释字段,起始目录 (/home/stevens),以及shell程序(/bin/ksh)。 7个用冒号分割的字段组成。
2016-11-02 00:13:54
327
原创 CAVIUM包处理流程总结
【PIP/IPD部分】 1、input部分PKI模块从packet interface 模块接收到包, 执行头检测和流分类, 把包存在L2/DRAM中,PKI模块创建一个结构体,这个结构体包括SSO进行调度,排序,同步的所需要的信息,PKI模块将包提交给SSO SSO将这个包放到所选择的对应的QOS输入队列上。 2、入口顺序:入口顺序是PKI上接收的同
2016-11-02 00:13:13
3416
原创 uboot源码分析
参考网页:http://wenku.baidu.com/link?url=GFAgT8cx5ML74LiPQO8vrJw3w11IdtAzS1m4NhCJavdq-8ryuWe0r02fDv7BZrt7UEc5yD1_tIpCY3aYYZ6K7GLP1A4ELou43yA0SYDuG2G语法:1、.global声明了一个符号可以被其它文档引用,相当于声明了一个全局变量2、.word
2016-11-02 00:12:11
446
原创 关于进程虚拟地址为什么是4G的讨论
重点:因为我们平时用的机器一般是32位的,32位地址线能索引的最大内存量是4G,所以分配给进程的虚拟地址都是4G,而64位的这个值应该是4G个4G!1、什么叫进程当程序安静地躺在硬盘上时,它是一个“文件”,非要给点区别的话,它是一个“可执行文件”;而当程序运行起来,它就从硬盘上一跃进入内存,这时它就被叫做一个“进程/process”了。2、什么叫进程或许有些读者想打开机
2016-11-02 00:11:14
3214
原创 dnotify监控文件行为
#include #include #include #include #include static void _inotify_event_handler(struct inotify_event *event) //从buf中取出一个事件。{ printf("event->mask: 0x%08x\n", event->mask);
2016-11-02 00:10:25
551
原创 守护进程
#include#include#include#include#include#include#include#include #define MAXFILE 65535#define KEY_PROJ_ID 'C'#define SERVER_ID 1int _running;pid_t a[10];int ret_end;i
2016-11-02 00:09:39
241
原创 深度递归遍历文件夹中所有文件
#include #include #include #include #include #include #include #include #include #define RET_ERROR (-1)#define RET_OKAY (0)#define DIRLIST_RECURSIVE#define ISSLASH(C) ((C
2016-11-02 00:08:59
427
原创 把双声道alaw编码文件拆分为两个单声道PCM文件
#include #include #include typedef unsigned short uint16;typedef unsigned int uint32;#pragma pack(push, 1)// pcm文件头typedef struct{ uint32 ChunkID; //00H 4 char "
2016-11-02 00:08:05
1886
原创 负载均衡算法
PIP/IPD的tag生成算法是用来为不同的流生成不同的tag,这样SSO就能自由的调度不同的流到不同核去处理对于RAWFULL和RAWSCH类型的包,tag可以直接从包指令头里取得『RAWFULL 类型的包是由两个寄存器配置决定的,某寄存器R位设置为1,某寄存器PM位设置为0,好像,详见CN68XX文档』对于其他类型的的包:Tag is always 0x0.Tag
2016-11-02 00:06:54
452
翻译 CN68XXS手册SSO翻译
【1】SSO模块提供这些功能:1、work队列2、work 调度/反调度3、对work的排序和同步【2】work队列 work由一个相关的,可能由硬件单元或core软件创建的work队列节点描述,CN68XX在每一个包到来时集中地使用packet-input硬件单元来创建work队列节点并提交。core软件也可以创建和提交work队列节点给SSO;PKO,PCIe,Tim
2016-11-02 00:05:25
726
原创 FPA
1、FPA是一个CN68XX单元,包含9个无限容量的存放L2/DRAM存储指针的pool(其中8个对软件开放),软硬件都可以去pool里申请和释放指针,软件和IPD,SSO硬件都可以去从pool里申请内存,SSO,DMA,DPI,HFA,ZIP,TIM这些硬件可以释放内存回pool。2、FPA为每一个pool实现了一个类似栈的后进先出的数据结构,在任意时刻,FPA硬件单元都存储/缓存栈
2016-11-02 00:04:40
1656
原创 IO接口
1、i_port和eport的对应关系存放在设备文件系统的 etc/mdu/mdu_port_config 目录下。这个目录上是前端的接口映射关系,注意:有ipdport字段2、xe = 10ge,每一片卡上有8个ge(千兆口),2个xe(万兆口)3、实例:0 0 3136 1 ge 16GE4XG 00
2016-11-02 00:04:10
5687
原创 PIP/IPD
1、PIP/PID从SGMII/1000BASE-X, XAUI/DXAUI/RXAUI, ILK, DPI 等接口 或者 PKO 反压通道中接收输入包数据2、MAC发送给PIP/IPD的每一个包都会被分配一个接口类型(pkind),从0到63,PDP/PIP利用这个pkind来决定配置3、每一个包也会被分配一个反压ID(bpid),从0-63,PIP/IPD利用这个反压ID进
2016-11-02 00:03:17
1177
原创 DPI/SLI
简单的说:数据流 ---> [物理接口] ---> [MAC] ---> [DPI] ---> 加上QOS,GRP,TT,TAG等变组合成一条指令 --->[PIP/IPD] ---> 转换成packet1\CN68XX支持两个PCIe总线标准的MAC接口(网络接口?),DPI即直接内存存取包接口,为MAC接口提供直接内存存取服务,SLI为cores,memory,packet I
2016-11-02 00:02:11
791
原创 包输入流程/wqe调度信息的配置
【1】我们现在的系统有一个原则:就是基本上所有的配置都是默认的,所以在梳理包处理流程遇到各种寄存器的时候先假设寄存器没有被配置过(默认状态)【2】包输入流程:硬件流程 MAC—— DPI —— PIP/IPD —— SSO —— core数据状态 包数据 —— DPI_INST_HDR+包数据 —— PKT_INST_HDR+包数据 —— PKT_INST_
2016-11-02 00:01:28
851
原创 《跟我一起学MakeFile》进阶笔记
一、Makefile里有什么?Makefile里主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释。1、显式规则。显式规则说明了,如何生成一个或多的的目标文件。这是由Makefile的书写者明显指出,要生成的文件,文件的依赖文件,生成的命令。2、隐晦规则。由于我们的make有自动推导的功能,所以隐晦的规则可以让我们比较粗糙地简略地书写Makefile,这是由m
2016-11-02 00:00:51
253
原创 《跟我一起学MakeFile》笔记
1、无论是C、C++、还是pas,首先要把源文件编译成中间代码文件,在Windows下也就是 .obj 文件,UNIX下是 .o 文件,即 Object File,这个动作叫做编译(compile)。然后再把大量的Object File合成执行文件,这个动作叫作链接(link)。编译:gcc -c链接(编译+链接):gcc2、 一般来说每一个源文件都对应一个中间过程文件
2016-11-01 23:59:53
230
原创 SSO
这是在了解了FPA内存管理机制,PIP/IPD的收包配置机制之后,重读一遍SSO,在得知所有调度信息的生成方式和在现在系统中的值的前提下,着重了解SSO的调度过程。1、SSO提供【调度】【排序】【同步】功能2、work队列:【可以被多重硬件和软件申请】【SSO实现了8个输入work队列,不同的work队列有不同的优先级,SSO实现了静态优先级模式和加权轮寻优先级模式】【inpu
2016-11-01 23:58:44
585
原创 PKO
1、简介PKO从L2/DRAM上收集数据,然后将数据发送到SGMII,XAUI,ILK,DPI等接口上,PKO也可以将一个包回环到包输入上。PKO可以将一个包同时发送到多达21个不同的接口或者目的地,每一个接口或者目的都能收到一个线性的包数据2、PKO架构左边是包输出队列,core在需要发送包的时候会将包发送到256个包输出队列之一,输出接口/目的地在右边,紧接着映射的管道值,
2016-11-01 23:58:02
1111
原创 CAVIUM硬件随笔
1、XAUI接口(读作“Zowie”)其中的“AUI”部分指的是以太网连接单元接口(Ethernet Attachment Unit Interface)。“X”代表罗马数字10,它意味着每秒万兆(10Gbps)。我们的设备宣扬的每秒40Gbps是因为在报文输出的时候使用了4个 XAUI接口2、DRAM(Dynamic Random Access Memory),即动态随机存取
2016-11-01 23:57:31
1810
原创 CAVIUM处理器 XAUI接口原理
XAUI:万兆以太网连接单元接口1、CN68XX最多可以支持5个4*4通道的XAUI,每个接口一共有16个外接引脚,4对输入引脚和4对输出引脚2、以下的讨论假设在GMX(0..4)_INF_MODE[TYPE] = 1情况下,这么设置是让接口运行在XAUI模式下,3、CN68XX接口的抽象结构:【1】GMX:满足802.3标准,有16K的接收buffer和8k的传送
2016-11-01 23:56:25
4574
原创 Instruments的一点使用心得
【一】应用性能分析报表: 1、cpu使用率 真机调试时,查看运行状态标签,CPU一栏:最高使用,最低使用,平均使用Instruments——timerProfile :CPU使用率详情2、线程状态查看运行状态标签,CPU一栏:app总计开启线程数 转到Instruments,操作app,可以看到当前活动线程,并可以看到
2016-01-20 11:52:10
7376
原创 git无冲突多分支提交详解
第一部分:git常用命令下载服务器代码到本地: git clone 服务器代码仓库地址查看本地分支:git branch查看本地+远程分支:git branch 分支跳转:git checkout 分支名将文件加入git管理:git add 文件名查看提交状态:git status提交代码:git commit 文件名 -m “说明”
2016-01-20 11:42:19
4787
原创 git服务器框架搭建构想
git服务器框架搭建1、先在gitHub上创建一个新仓库,就获得了一个git远程地址2、本地创建一份需要托管的代码,在本地分支上进行第一次提交,提交成功后会生成一个master分支,这个分支作为发布分支3、将本地代码挂关联到git远程地址上,别名最好取origin将master分支push到远程托管服务器上 (现在远程托管服务器上有了一个origin/master分支)4、然后在本
2015-11-03 18:40:08
595
原创 如何将自定义的三方库加入到cocoapods中管理
第一步:在gitHub上创建一个新的仓库仓库地址假设为:git clone git@github.com:Damonvvong/DWCategory.git第二步:在自定义三方库文件夹中执行git init第三步:将gitHub远程仓库clone到将本地三方库文件夹里git clone git@github.com:Damonvvong/DWCategory.g
2015-11-03 16:17:41
523
原创 Mac上GitHub使用
第一步:下载安装git客户端 http://code.google.com/p/git-osx-installer/downloads/list?can=3 注册github账号 https://github.com/ -->Pricing and Signup -->Create a free account申请gitHub用户名密码:zhch199182
2015-11-03 15:12:20
300
原创 cocoapods使用方法
cocoapods --执行安装cocoapods sudo gem install cocoapods--查看本地配置镜像地址gem sources -l --设置国内淘宝镜像地址 gem sources -a https://ruby.taobao.org/文件名必须为 Podfile 不能改别的名字
2015-11-03 15:03:03
348
原创 UI需要记忆的东西
UI记忆1、获取一个点的方法CGPointMake view1.center = CGPointMake(50, 50);2、设置视图圆角 view1.layer.cornerRadius = 10; view1.clipsToBounds = YES设置背景图片和layer的圆角一致3、将视图放到顶层 [self.view
2015-08-23 23:11:59
382
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人