Python-100天(二)-Python语言进阶

数据结构和算法 算法:解决问题的方法和步骤 评价算法的好坏:渐近时间复杂度和渐近空间复杂度。 渐近时间复杂度的大O标记: - 常量时间复杂度 - 布隆过滤器 / 哈希存储 - 对数时间复杂度 - 折半查找(二分查找) - 线性时间复杂度 - 顺序查找 / 桶排序 - 对数线性时间复杂度 - 高级排序算法(归并排序、快速排序) - 平方时间复杂度 - 简单排序算法(选择排序、插入排序、冒泡排序) - 立方时间复杂度 - Floyd算法 / 矩阵乘法运算 - 几何级数时间复杂度 - 汉诺塔 - 阶乘时间复杂度 - 旅行经销商问题 - NP

技术

Python-100天(一)

之前Python就已经学过了,Flask也玩的一溜一溜的。但是间隔时间有些长,所以就找个一个项目重新温习一下,顺便记录一下。这个系列文章会根据 Python - 100天 的流程走下去,当然其中有一些重复性的我就不介绍了,Django这个就不介绍了,因为跟Flask重复了,而且Django体量太大,不适合拿来用于学习。

技术

逆向工程进阶

前言如果您是iOS开发,具备相应的开发储备,除了需要了解逆向的基础,同样需要知道程序的运行原理。 下面会介绍逆向工程相关的进阶知识,理论知识比较枯燥,但是确实必须要掌握的。

技术

逆向工程基础

逆向工程简介iOS 逆向工程,是指从目标应用的界面以及功能表现入手,使用不同工具和理论知识去分析其实现原理,得出应用的代码结构、整体设计、功能实现、执行流程等,然后利用iOS的系统知识和语言特性,借鉴或修改原有实现流程的技术。

技术

Runtime介绍(一)

Runtime简介Runtime 又叫运行时,是一套底层的 C 语言 API,是 iOS 系统的核心之一。开发者在编码过程中,可以给任意一个对象发送消息,在编译阶段只是确定了要向接收者发送这条消息,而接受者将要如何响应和处理这条消息,那就要看运行时来决定了。

技术

ObjectMapper实践(一)

前言在OC阶段使用模型转换的框架有很多,代表有:JSONModel、 YYModel、MJExtension。OC的原理主要是通过runtime 获取类的属性,在运行时获取Model的字段名集合,遍历该集合,拿Key去JSON中取值并完成赋值。而且Swift 的属性默认并不是动态属性,**我们能在运行时获取一个Model实例的所有字段、字段值,但却无法给它赋值。**事实上,我们拿到的value是原值的一个只读拷贝,即使获取到这个拷贝的地址写入新值,也是无效的。OC的转换方式虽然在OC中完全适用,但是缺点也很严重,一方面只能只能继承 NSObject ,并不支持Struct;还有一个更严重的问题,optional 的属性不能正确解析,反正坑还是挺多的。

技术

Linux 基础

一、Linux的简介 Linux的概述 Linux是基于Unix的开源免费的操作系统,由于系统的稳定性和安全性几乎成为程序代码运行的最佳系统环境。Linux是由Linus Torvalds(林纳斯·托瓦兹)起初开发的,由于源代码的开放性,现在已经衍生出了千上百种不同的Linux系统。 Linux系统的应用非常广泛,不仅可以长时间的运行我们编写的程序代码,还可以安装在各种计算机硬件设备中,比如手机、平板电脑、路由器等。尤其在这里提及一下,我们熟知是Android程序最底层就是运行在linux系统上的。

技术

iOS GIF图片的加载和合成

写在前面的 不拘一世之利以为己私分,不以王天下为已处显。显则明。万物一府,死生同状。

技术

关于iOS 多线程的问题

写在前面的话ReactiveCocoa 5.0 看了两天,真是看的要吐血,网上基本上没有中文的文章,然后就只能看看git上的readme,看的晕乎乎的。我感觉ReactiveCocoa 的swift上手难度比OC要难很多,然后我看见了一个很有意思的博客主。@没故事的卓同学 膜拜一下大神 🐶🐶 我有书半卷,逍遥曰化形。挥请仙佛退,送与鬼神听。副墨闻于讴,参寥传玄冥。一指掩天地,齐物自忘情。

技术
12