- 博客(13)
- 资源 (1)
- 收藏
- 关注
原创 程序猿提高开发效率的工具
1.Alfred便捷搜索 给windoss或者mac对应的程序唤起设置对应的快捷键工作流 option+1唤起excel。option+2唤起photoshop用快捷键代替鼠标唤起所有的app2.XtraFinder增强型finder 给finder分类3.iTerm2完爆Terminal的命令行工具4.Go2Shell从Finder快速定位到命令行工具 快...
2019-08-26 21:52:10
218
原创 逆向第一步
越狱1.通过PP助手或者通过爱斯助手,如果能成功预约 桌面就会安装好Cydia,这个相当于是越狱后的appstore 市场. 然后在里面下载一些app插件看下面通过Cydia安装的安装包都是deb格式的(结合软件包管理工具apt)通过pp助手安装的安装包都是ipa格式的所以对于通过Cydia安装失败的插件,我们可以先在网上下载deb安装包....
2019-08-26 21:12:36
201
原创 测试方面的知识
测试按照项目的开发阶段流程分为:单元测试(技术角度) 、集成测试(技术角度)、系统测试(针对业务)验收测试(交付测试)。软件测试的分类:按照对象的可见度分为:黑盒测试 跟 白盒测试.根据状态分为 :静态测试 跟动态测试根据测试执行方式:自动化测试 跟手动测试黑盒测试:把被测试的软件看成一个完全看不见的盒子,看不到代码实现,只是单纯的测试项目的功能,界面,从用户的视角来项目的完整...
2019-08-21 16:52:38
382
原创 iOS 页面的卡顿的原因以及如何解决. 如何优化app的启动速度
1.死锁: 主线程拿到锁A, 需要获取锁B, 而同时子线程拿了锁B, 需要锁A, 这时主线程等待锁B的释放, 子线程等待锁A的释放, 相互等待.2.抢锁: 主线程需要访问DB, 而这时某个子线程往DB插入数据. 通常抢锁的体验就是卡顿一阵子就恢复了.3.主线程大量IO(文件操作): 主线程为了方便直接写入大量数据, 导致页面卡顿.4.主线程大量计算: 程序中的算法不合理, 大量循环等操...
2019-08-04 23:50:14
4529
原创 iOS多线程处理
多线程(英语:multithreading),是指从软件或者硬件上实现多个线程并发执行的技术。具有多线程能力的计算机因有硬件支持而能够在同一时间执行多于一个执行绪,进而提升整体处理性能1.多线程的优点一个进程中可以开启多条线程,多条线程可以同时执行不同的任务。将耗时操作放在后台处理,保证UI界面的正常显示和交互。 网络操作是非常耗时的,在做网络开发,所有网络访问都是耗时操作.需要在后...
2019-08-03 00:11:04
198
原创 NSRnuLoop讲解以及实际应用
一、NSRunloop的作用 1.保证程序能一直运行。 2.等待接受Event。 3.定时器,延时执行,重复执行代码。 4.文件标识符监听:本地或远程文件I/O fd监听(远程即为数据请求 socket 套接字,也包括进程通信二、内部结构CFRunLoopRef: 循环对象,本质上是一次while循环过程中一些要处理的信息,一...
2019-08-02 17:24:05
441
原创 Runtime 可以给开发带来的便利
一、要想让RUntime给我们开发带来便利 就要先了解他的原理Runtime其实Object-C中一套底层的C语言API,是一个将C语言转化为面向对象语言的拓展,OC是一种面向对象的动态语言,动态语言其实就是在执行静态语言编译连接工作。OC编写的程序不能直接机器能读懂的语言,在运行时候,必须依靠Runtime进行转换,Runtime围绕两个中心:类的动画跟消息转发.二、了解了他的...
2019-08-02 12:19:23
160
原创 项目上线后 如何快速定位到用户崩溃 卡顿的问题!
1.通常我们自己会在程序中加入友盟或者bugly来监听后期线上的运行,bugly记得上传符号表文件定位.2.另外一种是处理测试提交给我们的一些堆栈bug信息。先说定位bugly的卡顿崩溃信息。1.获取符号表文件在 XCode中, Window->Organizer->选择提交到App Store的Archies->右键,showin finder ->右键...
2019-08-01 11:40:43
965
原创 简述CocoaPods install命令跟update命令的区别
pod install用来安装新的库 即使你的工程里面已经有了Podfile,并且执行过pod install即使你是添加或者移除第三方库都应该使用pod install使用pod update 只是在你需要更新库到更新的版本时候才会有用pod install做的事情 :这个是第一次在工程里面使用pods的时候使用,并且,也是每次你编辑你的Podfile(添加、移除、更新)的时候使用。...
2019-07-31 23:09:45
277
原创 Git 跟SVN常用命令 以及两者的区别
Git常用命令git init: 在当前目录新建代码仓库 这个仓库是建立在本地(在本地还有暂存区跟工作区不同) ,没有网络也能提交 只是 push才是推送到远程服务器,在有add 没有commit之前 所有都是放在工作区commit之后就是暂存区基本上是这个大的修改完成.git init Desktop/GitCode :在指定位置创建代码仓库 比如说在桌面 的 GitCode文件夹创...
2019-07-31 19:07:02
268
原创 iOS 面试所有关键字总结
了解那些关键字的使用之前必须先了解系统内存的分配规则 栈区(stack):由编译器自动分配释放,存放的是运行时候运行函数分配的局部变量,函数参数,返回数据,返回地址等。其操作类似数据结构中的栈。栈的效率高,但是程序员无法自动控制。堆区(heap):由程序员分配,程序员如果不释放,可能由OS回收,分配方式类似于链表。堆是 new alloc分配,速度慢,容易产生内存碎片。全局区(静态区...
2019-07-31 12:23:47
285
原创 FreeMarker 生成word文档
Android 生成word pdf模板使用PDF 是可以支持windows unix 和Mac os3个平台的 通用性更好PDF 文件生成方式分为两种:1.通过上下文绘制 复杂的页面很麻烦2.通过UIPrintPageRenderer生成.这样子就好办了,写一个html,设置其中的样式,加载到webview中,最后webview调用viewPrintForm...
2019-07-30 09:04:34
122
原创 Charles 从入门到精通
除了在做移动开发中调试端口外,Charles 也可以用于分析第三方应用的通讯协议。配合 Charles 的 SSL 功能,Charles 还可以分析 Https 协议。Charles 主要的功能包括: 截取 Http 和 Https 网络封包。 支持重发网络请求,方便后端调试。 支持修改网络请求参数。 支持网络请求的截获并动态修改。 支持模拟...
2019-07-30 09:02:53
231
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人