4 Deft_MKJing宓珂璟

尚未进行身份认证

我要认证

并非所有流浪者都迷失了自我

等级
TA的排名 5k+

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

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

2020-08-02 13:22:22

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

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

2020-06-28 00:04:18

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

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

2020-06-27 15:55:42

聊聊NSInvocation和NSMethodSignature

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

2020-05-19 18:51:57

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

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

2020-03-29 12:21:33

Python Web框架Django从入门到放弃

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

2019-11-05 17:25:45

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

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

2019-11-04 16:39:52

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

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

2019-11-03 10:51:12

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 19:49:52

Django内置模块之contenttypes框架

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

2019-10-29 15:22:45

Python偏函数functools.partial的理解

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

2019-10-28 21:05:50

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

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

2019-10-27 16:33:33

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

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

2019-07-11 15:38:11

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

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

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

2019-06-30 21:43:17

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

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

2019-06-26 16:05:57

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

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

2019-06-16 15:52:52

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

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

2019-05-21 18:49:23

以Django为例谈谈XSS和CSRF攻击

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

2019-05-19 21:56:06

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

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

2019-04-01 15:10:07

查看更多

勋章 我的勋章
  • 阅读者勋章Lv1
    阅读者勋章Lv1
    授予在CSDN APP累计阅读博文达到3天的你,是你的坚持与努力,使你超越了昨天的自己。
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。
  • 学习力
    学习力
    《原力计划【第二季】》第一期主题勋章 ,第一期活动已经结束啦,小伙伴们可以去参加第二期打卡挑战活动获取更多勋章哦。
  • 原力新人
    原力新人
    在《原力计划【第二季】》打卡挑战活动中,成功参与本活动并发布一篇原创文章的博主,即可获得此勋章。