自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Deft_MKJing的博客

一切正在发生的早已命中注定,包括这句话

  • 博客(177)
  • 论坛 (1)
  • 收藏
  • 关注

原创 iOS 二进制第三方库思路之Carthage编译静态库

用Carthage编译你喜欢的静态库前言Carthage的基本用法已经在上一篇文章详细介绍了,本文主要针对一个问题的解决方案,那就是如何用Carthage编译第三方库为静态库。和pod package一样,封装了xcodebuild进行编译,省去了繁琐的参数设置,提供更便捷方法使用,Carthage作为后起之秀,维护力度和pod package相比,不是一个量级的,端午花了一天学习了下官方的文档,可以确定Carthage将会是第三方库打包成动态库或者静态库的首选。由于项目都还是...

2020-06-28 00:04:18 296

原创 iOS 轻量级包管理工具Carthage了解下

Why Carthage?我们已经熟知Cocoapods了,对于工程来说,帮我们自动创建Xcode WorkSpace和所有的依赖,对于依赖库来说,用来做本地local pod或者远程pod都非常好用,我们只要编写好对应的podspec文件,Cococapods会帮我们生成所有的依赖配置集成到项目。可以认为他是一体机,入侵性的帮我们管理好了Xcode项目文件。对于不需要手动管理的同学,这已经是一个长期好用的工具了,那为什么还要有Carthage呢?1、去中心化管理工具没有集中的podspec仓库管理过

2020-06-27 15:55:42 187

原创 聊聊NSInvocation和NSMethodSignature
原力计划

前言咱们这里不会通过源码介绍Runtime,已经有很多文章介绍了,而且太晦涩,读起来不舒服,也不会介绍Runtime的一些基本原理,这个作为iOS开发最熟悉了,只是通过一些我们平时用到的操作,来宏观的介绍NSInvocation和NSMethodSignature,随便聊聊,做一些简单的记录,还记得刚接触这个的时候咱们脑海里面的问号吗?什么是方法,什么是选择器,什么是方法签名,什么是IMP,什么是消息?下面简单的回顾下Selector选择器是方法的名称。你肯定对以下选择器非常熟悉:alloc,ini

2020-05-19 18:51:57 221

原创 通俗易懂的图解JavaScript中的Event Loop以及JavaScript中的await和async执行顺序
原力计划

前言作为一个iOS开发,虽然也用JavaScript,但是从没有对一些最基本的原理有比较透彻的理解,比如这里的await和async,之前一直以为async就是iOS的dispatch_async,直到我偶然在网上看到几篇相关的文章,对打印出来的结果,让我感觉之前都理解错了,这里整合了几个大佬的文章,根据我个人的理解,方便我以后理解,就有了如下总结,我个人认为应该是理解正确了,而且非常通俗易懂,...

2020-03-29 12:21:33 223

原创 Python Web框架Django从入门到放弃

Python除了学习基础知识之外,最常用的三大块就是数据挖掘分析,人工智能,Web开发,今天就介绍下Python全栈工程师必备的知识点之一Web开发简介Web整体框架Web框架: 别人已经设定好的一个Web网站模板,你学习它的规则,然后“填空”或“修改”成你自己需要的样子。其它基于Python的Web框架,如Tornado、Flask、Django都是在这个范围内进行增删裁剪的。例如T...

2019-11-06 18:59:18 655

原创 Django 部署准备之一SQLite迁移到MySQL

前言Django开发的时候为了方面,内置了sqlite数据库,可以直接用,不用过多关心,直接ORM操作即可。MysqlSqlite特点为服务端设计轻量级,可嵌入手机应用高并发能不能占用内存比SQLite小适用性服务器手机,桌面应用等我们Django业务基本开发完了,部署之前,我们最好把SQLite迁移到Mysql,现在本地Mac电脑...

2019-11-04 11:36:16 346

原创 class-dump导出iOS系统私有库以及简单的私有API调用

前言This is a command-line utility for examining the Objective-C runtim information stored in Mach-O files. It generates declarations for the classes, categories and protocols. This is the same inform...

2019-10-31 21:04:55 502

原创 Django内置模块之contenttypes框架

前言废话不多说,直接打开你Django项目的settings.py文件,6大内置App之contenttypes框架INSTALLED_APPS = [ 'django.contrib.admin', 'django.contrib.auth', 'django.contrib.contenttypes', # 跟踪Django中所有安装的model 'd...

2019-10-30 17:45:52 126

原创 Python偏函数functools.partial的理解

前言什么是偏函数?这名字是谁取的,我保证不打死他。。。。。。Python两个关键的知识点,一个装饰器,我们上一篇已经有介绍了,下一个就是偏函数,俗称partial function,不过把他叫做辅助函数,就好理解多了。借助python的help函数查看下:可以看到partial函数接收三个参数:第一个参数是函数,可以是你自定义的,也可以是内置的可变参数*args 需要被固定的位置参...

2019-10-29 11:11:50 293

原创 通俗的理解Python装饰器所有用法(Decorator)

在计算机科学中,闭包(英语:Closure),又称词法闭包(Lexical Closure)或函数闭包(function closures),是引用了自由变量的函数。这个被引用的自由变量将和这个函数一同存在,即使已经离开了创造它的环境也不例外。作者:聪明叉链接:<a href='https://www.jianshu.com/p/ee82b941772a'>https://www.jianshu.com/p/ee82b941772a</a>来源:简书著作权归作者所有。商业转载请联系作者获得授权,非

2019-10-28 17:49:33 350

原创 iOS私有API检测扫描思路以及工具开发(Python3 + Django)

风险点1、class-dump有些文件会报错,需要查看下2、mach-o文件中的依赖除了系统,是不是还需要dump第三方其他的库进行扫描@xpath3、私有api在公开的Framework及私有的PrivateFramework都有。4、9.2.5的iOS系统对应的Xcode 8是有docset的,后面的Xcode都有新的文件格式了,下面有介绍,需要自己分析,但是数据结构有点乱,可能我我还...

2019-07-10 11:55:35 2401 4

原创 Django或者Flask创建Python虚拟环境启动第一个Hello World

前言刚开始开发Web的时候,没太在意隔离虚拟环境,用了系统的那一套,Python2.7版本是系统自带的,虽说明年就结束了,但是现在开发都会有一套3.x以上的环境,即使你开发不注意,你部署的时候总归是要隔离出来的。1.方便隔离,不同环境编写测试2.方便迁移,pip freeze 到出包文件依赖,随后提交管理和迁移都很方便virtualenv前提是你有两套PythonmikejingdeM...

2019-06-30 21:43:17 1720 1

原创 CSS中position属性(relative,absolute,fixed)和display中的inline-block

前言平时很少写CSS,用的多也就是Bootstrap来堆样式,写起来快一点,但是有时候需要自己写,很久没写容易忘记,这里记录下这两个常用属性position和display这里贴一条CSDN设置图片宽度的方式,太坑了,先拖出来拿到src,然后如下<img src="https://img-blog.csdn.net/20170120190855355?watermark/2/text/...

2019-06-26 16:05:57 954

原创 Django中CSRF防御全过程解析以及中间件作用机制

前言XSS和CSRF攻击的基础原理这里就不介绍了,之前写了一篇文章单独介绍的很详细了,传送门,这里我们直接以Django为分析对象,分析中间件csrf生成原理以及防范Token如何运作的。CSRF中间件官方文档介绍的也是表面,本文通过源码层面直接分析流程官方文档针对CSRF的介绍以及参数配置 传送门Settings文件Setting.py中有茫茫多的配置选项。传送门Django全流程...

2019-05-21 18:49:23 1163 3

原创 以Django为例谈谈XSS和CSRF攻击

前言在Web安全领域,XSS和CSRF两个是最常见的攻击方式,由于最近在研究Django框架,阅读源码的同时分析下这两个攻击的攻击方式和防御方式XSSXSS,即 Cross Site Script,中译是跨站脚本攻击;在别人的站点嵌入脚本,而这个脚本原来不是属于这个站点的,所以叫跨站脚本,其原本缩写是 CSS,但为了和层叠样式表(Cascading Style Sheet)有所区分,因而在安...

2019-05-19 21:56:06 344 1

原创 iOS编译器LLVM + Clang架构分析以及三种混淆方案实践分析

Xcode Command + R编译原理全过程介绍前言之前由于启动优化相关的需求,分析了Xcode编译的全过程,针对优化点做了记录和学习。最近被人问到详述下LLVM架构原理。当时只是略知一二,看过而已,没理解的那么深入,这次根据LLVM + Clang的整个编译流程简单做个记录,而且顺便在每个不同阶段做代码混淆做一下Demo介绍。这里需要安装很多很多东西,个人认为Mac电脑都会安装个Ho...

2018-12-12 23:12:12 4802 7

原创 Objective-C之Autorelease Pool底层实现原理记录(双向链表)以及在Runloop中是如何参与进去的

最近需要重新整理知识点备用,把一些重要的原理都搞了一遍NSDictionary和NSArray底层原理HTTPS层引出OSI全部模型数据协议流转全过程Xcode Command + R全过程以及启动优化前言int main(int argc, char * argv[]) { @autoreleasepool { return UIApplicatio...

2018-10-06 00:16:00 1403

原创 iOS应用安全之HTTP/HTTPS详解(AFNetworking配套策略)

目录HTTP缺点HTTPS底层原理(SSL握手详解普通RSA身份验证的隐患证书和SSL握手底层原理iOS原生方式校验HTTPS使用AFNetworking来支持HTTPS(组合策略源码分析)HTTPS网站访问输入后整个OSI模型流转过程前言这是早期的理解传送门,现在理解更深入点,还是记录下来HTTPS一般开启之后默认网络请求框架是会给我们做最基本的校验...

2018-09-27 22:45:50 1038 1

原创 NSDictionary和NSMutableArray底层原理(哈希表和环形缓冲区)

前言1.NSDictionary底层是哈希表,下面会介绍具体是用拉链法还是开放定址法线性探测来解决冲突?由于Apple给的查询复杂度可以快至O(1),那么为什么是O(1),底层是如何通过空间换取时间的?2.NSArray是线性连续内存,这个很好理解。但是NSMutableArray是可以插入和删除的,那么如何做到高效?就比如插入,如何做到尽可能少的移动或者不移动插入元素后其他元素的内存?实...

2018-09-17 12:43:42 5753

原创 阿里云Centos 7部署DJango2.0应用(uwsgi3 +Nginx)

目录前言上传以及服务器环境部分uwsgi部分nginx部分静态文件阿里云端口权限开启前言先概括下访问流程:首先客户端发起请求,这里会有TCP的握手,三次握手结束之时,客户端会带上http数据给服务器(请求行,请求头,请求体),服务器会接收到http协议,Nginx会接收到数据,然后根据里面的配置进行判断是否需要转发,如果是static,直接拿资源返回,如果需要在...

2018-09-02 17:22:30 618

原创 基于Python3的Django应用编写备忘录

目录创建正常项目简单流程梳理(mysql服务)安装创建项目(模型映射表)创建应用(默认方式)Django后台管理系统服务器管理操作向admin注册模型模型Model详细介绍1.创建项目(mysql服务)2.修改默认sqlite3为mysql3.修改后在创建的项目中创建App4.编写好Model5.生成迁移6.查看Mysql数据7.类的...

2018-08-16 17:36:39 1123

原创 iOS开发之Weex嵌入已有应用(三)

前言

2018-06-11 17:46:41 2034

原创 iOS开发之纯Weex+Vuejs开发原生App整体结构和调试步骤(二)

前言上一篇文章是根据Weex官方的介绍,启动了Weex的Hello World的介绍以及一些插件的安装环境部署和Debug之前花了2周时间看了下Vue的语法和用法以及一些实战介绍,毕竟是iOS开发,还是有必要把新学的东西写下来,而且会写的非常详细,能保证从我git仓库弄下来的基础结构能跑起来并且能热更新调试这个是整体的结构,基本上搭完这个结构,你就可以开发一个简单App来玩了。OK下面就开始介绍如...

2018-06-08 14:41:42 6450

原创 iOS开发之Weex爬坑之路环境部署和Devtools Debug(一)

前言不多说,直接开始Weex,算是记录这段时间对新技术的学习积累。期间看了很多Vue.js和Node.js的基础,顺便捋了以下CSS的flex-box布局等等前端的知识,太多了太杂了,还是用笔记记录下。直接从官方介绍,开始介绍启动环境,搭建第一个Demo,按照官方的来同为跨平台解决方案,咱们先看下和RN的对比,由于国内淘宝搞的轻量级,所以我们还是先爬爬Weex坑类型React NativeWeex...

2018-05-21 20:56:47 2571 1

原创 一文看懂@dynamic 与 @synthesize 关键词

关键词的场景,之前@dynamic只在NSManagedObject的子类中遇到过,因为NSManagedObject的子类是由CoreData直接生成的,其中对应参数(@property)的setter和getter方法也是由CoreData直接生成,并且不展现给你 getter && setter首先介绍一下什么是setter和getter方法:由名字也大致能猜出 getter方法是当你的程

2017-10-12 15:55:57 14802

原创 iOS获取手机唯一标识符来判断不同终端登录(IDFA和UUID分析)

11.13更新广告标示符,适用于对外:例如广告推广,换量等跨应用的用户追踪等。是iOS 6中另外一个新的方法,提供了一个方法advertisingIdentifier,通过调用该方法会返回一个NSUUID实例,最后可以获得一个UUID,由系统存储着的。不过即使这是由系统存储的,但是有几种情况下,会重新生成广告标示符。如果用户完全重置系统((设置程序 -> 通用 -> 还原 -> 还原位置与隐私) ,

2017-06-08 11:31:26 13604 3

原创 通俗易懂图解MVVM和RAC双向绑定介绍(附Demo)

前言一个前辈的MVVM介绍 其实MVVM就是MVC的进化版本,相对于臃肿的Controller,代码越来越多之后,有一部分人就用了新的设计模式,其实看久了也没什么,通俗点讲,其实就是把之前Controller里面的代码逻辑全部移植到了ViewModel里面,相对于以前而言,控制器也被归属于View一类,那么他和View一样都会有自己的ViewModel去处理逻辑,而且ViewModel必然拥...

2017-03-07 18:01:28 13898 10

原创 iOS卡片式立体轮播仿英雄联盟选择皮肤效果展示

个人感觉CollectionView过于强大,基本什么界面都能用他来完成需求,只是如果自定义Layout的时候可能性能开销大。如果是普通的需求,他和tableView并没有多大的区别,同样都是通过datasource和delegate两个代理来进行用户交互稍微回顾下CollectionView的构成1.Cells2.Supplementary Views 追加视图 (secti

2016-08-16 11:14:49 8459 5

原创 iOS组件化系列之RubyMine如何调试Cocoapods插件

前言Cocoapods大家应该非常熟悉了,但是一般很少有人去看源码,那就更少人去写插件了,如果要全局掌控工程架构,那必须熟悉这些插件的使用,而且还有个问题,即使你写插件,但是网上根本找不到资料告诉你如何调试插件源码,本文根据找到的极少数的资料,做了一丢丢笔记。Cocoapods-Plugins开发首先介绍下关于插件的开发,这一点官方资料根本少的可怜,或者是压根没有How to use CocoaPods plugins,仅有这个文章可以看看。RVM环境安装首先,由于Mac自带的Ruby环境,你如果

2020-08-02 13:22:22 204

原创 Python subprocess模块(处理shell)和re模块(文本提取)

Python 处理Linux命令Python写脚本就需要处理Linux命令,那么根据可用程度,分别介绍下各种库如何使用os 模块In [40]: import os In [41]: r = os.system('echo "Hello World"') ...

2019-11-05 15:57:23 198

原创 iOS App签名原理和HTTPS证书原理

前言先来看看苹果的签名机制是为了做什么。在 iOS 出来之前,在主流操作系统(Mac/Windows/Linux)上开发和运行软件是不需要签名的,软件随便从哪里下载都能运行,导致平台对第三方软件难以控制,盗版流行。苹果希望解决这样的问题,在 iOS 平台对第三方 APP 有绝对的控制权,一定要保证每一个安装到 iOS 上的 APP 都是经过苹果官方允许的,怎样保证呢?就是通过签名机制。非对称加...

2019-07-11 15:38:11 452

原创 Mac移动硬盘不正确断开连接导致无法读取加载的解决方法

问题首先Mac上的移动硬盘,如果不正常推出,比如是没电了自动关机,或者没有正常推出,直接拔出来了,这个时候再次链接就会遇到无法装载的问题,但是可以通过命令行查看到。解决1.查看所有硬盘信息diskutil list>>> 输出如下/dev/disk0 (internal, physical): #: TYPE NAM...

2019-06-16 15:52:52 11697 3

原创 iOS SDK开发系列三之微信支付SDK封装Demo以及xcodebuild简单打包脚本实现

前言SDK开发系列文章一SDK开发系列文章二之前两个文章介绍了Cocoapods的原理,Xcode环境变量以及动态库和静态库的介绍,这些基本知识就单独抽出来了,方便以后翻阅。看了一遍网上的一些静态库制作,很多都是告诉你打开Xcode,然后选择静态库,然后你随便写点东西,然后你编译就看到一个.a,简单的看下架构,简单的合并下,把头文件导出来,就结束了。但是实际你遇到的东西远远不止这些。比如S...

2019-04-01 15:10:07 1103 2

原创 iOS SDK开发系列二之Cocoapods项目编译原理对比和Xcode环境变量介绍

前言上一篇介绍了基本的一些参数以及简单介绍模拟了下Cocoapods的组合结构,通过workSpace管理了xcodeproject简单了解了多个工程如何调用。这里我们详细介绍下Cocoapods和Xcode里面的环境参数都是些什么意思。Cocoapods它本身就是一个第三方依赖管理工具。支持传递依赖,例如A依赖B,B又依赖C,当我们在工程中指定依赖A的时候,它会帮我们自动下载C,并在编译构...

2019-03-28 15:11:48 1028

原创 iOS SDK开发系列一之Cocoapods原理,Xcode的配置,动态库和静态库介绍

前言三个月没写东西了,是时候总结点东西了。SDK这个东西开发其实和项目开发类似,但是项目中你不需要关注一些配置和打包的参数,或者你压根不需要关注Framework和.a到底是怎么链接配置的,因为Cocoapods或者你拖进Xcode已经帮你自动生成配置了,趁着周末这良辰美景,翻了几篇文章,做个总结和记录,文章不知道会分几篇,但是一片理论介绍,一篇Demo制作应该会有的,由于网上的Demo都是很简...

2019-03-25 14:19:19 701

原创 最新IntelliJ IDEA家族(如Pycharm),最新Charles系列破解码,最新Cocoapods安装

目录Charles破解码IntelliJ IDEA系列破解码Cocoapods最新版安装由于工作原因,经常换一台电脑,会忘记这些破解码,因此很有必要记录下,如果不能用了,记得留言,再去找个更新下Charles破解码4.2.7亲测有效Registered Name: https://zhile.ioLicense Key: 48891cf209c6d32bf4...

2018-12-27 15:55:25 856

原创 iOS组件化开篇(Cocoapods远程库和本地私有库制作)

目录Git基本操作Cocoapods发布自己的框架1.安装cocoapods2.使用cocoapods3.cocoapods发布自己的框架Cocoapods本地私有库前言自己的工具库和框架以前都是直接在模块里面操作的,没有做成私有化或者cocoapods管理,有必要操作一番,就有了以下的笔记1.git基本使用2.cocoapods发布自己的库给银河系的大佬d...

2018-12-24 12:30:03 723

原创 iOS Command + R 编译全过程详解

目录编译器介绍Clang+LLVM编译过程记录Xcode编译一次全过程iOS客户端启动优化分析总结项目Build到加载应用到手机展示出首页的大概过程如下前言这几天看了下编译过程,就想到了头条的技术博客写了启动时间优化,把几个博客的知识点整理验证了下。国庆期间,晚上有空把知识点重新梳理下,方便以后查阅,毕竟看懂了不是真的懂,可能睡了一觉就乱了思路,很有必要把思路整理写出来...

2018-10-02 23:27:53 1719 1

原创 Python3.6实现常用数据结构和算法(链表和二叉树经典问题,八大排序和三大查找)

前言Python大法好,除了工作用的OC外,其他时间Python还是很好用的,比如刷题,写脚本,美滋滋。。。数据结构只是静态的描述了数据元素之间的关系。高效的程序需要在数据结构的基础上设计和选择算法。程序 = 数据结构 + 算法总结:算法是为了解决实际问题而设计的,数据结构是算法需要处理的问题载体抽象数据类型(ADT)的含义是指一个数学模型以及定义在此数学模型上的一组操作。...

2018-09-23 11:54:32 1033

转载 Mac百度云盘不限速操作步骤

博客专家 ECMAScripter大神一样的杰作第一步:下载所需工具:(①②步我放在同一个文件夹,可一起下载,链接失效请留言)工具地址:链接: https://pan.baidu.com/s/1raicYzM 密码: ve3n①下载Aria2GUI主程序,完成Aria2GUI的安装②下载chrome插件包,解压后随便放到一个地方(以后勿删除)第二步:配置Chrome浏览器...

2018-09-09 19:55:04 21653 3

空空如也

Deft_MKJing宓珂璟的留言板

发表于 2020-01-02 最后回复 2020-05-23

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人 TA的粉丝

提示
确定要删除当前文章?
取消 删除