自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

onebutterfly

记录、前进

  • 博客(403)
  • 资源 (12)
  • 收藏
  • 关注

原创 Python单例--装饰器实现方式

A = singleton(A),可以包装成语法糖,也就是@singleton,用@singleton修改类A。答:Python中实现单例有很多种方式,上面给出的是装饰器方式实现的单例。答:就是一个类只能创建出唯一的实例。Python单例–装饰器实现方式。

2024-02-26 15:12:13 43

原创 python--对象切片和多维切片

s[a: b: c] 的意思是对 s 在 a 和 b 之间以 c 为间隔取值。] 就是 x[i, :, :, :] 的缩写。(1) [] 运算符里还可以使用以逗号分开的多个索引或者是切片,外部库 NumPy 里就用到了这个特性,二维的 numpy.ndarray 就可以用 a[i, j] 这种形式来获取,抑或是用 a[m:n, k:l] 的方式来得到二维切片。需要以元组的形式来接收 a[i, j] 中的索引。Python 内置的序列类型都是一维的,因此它们只支持单一的索引,成对出现的索引是没有用的。

2023-12-06 16:55:12 137

原创 python--推导式和生成器表达式

namedtuple是tuple的升级,目的是解决元组内部的数据进行命名的问题,为了说明namedtuple的优点,我们先看一下tuple的例子,如下代码,声明了课程的元祖,但是元组中两项内容没有说明,如果其他人看到代码不知道意思是什么将上面的代码使用namedtuple来创建,如下代码。

2023-12-06 15:27:36 121

原创 python--namedtuple

namedtuple是tuple的升级,目的是解决元组内部的数据进行命名的问题,为了说明namedtuple的优点,我们先看一下tuple的例子,如下代码,声明了课程的元祖,但是元组中两项内容没有说明,如果其他人看到代码不知道意思是什么将上面的代码使用namedtuple来创建,如下代码。

2023-12-04 14:58:18 135

原创 python进阶--魔术方法之比较操作符

注意一点,操作符左侧的对象(也就是上面的 other )一定不要定义(或者产生 NotImplemented 异常) 操作符的非反射版本。绝大多数情况下,反射运算和正常顺序产生的结果是相同的,所以很可能你定义。python也支持定义数值操作符的行为,分别有一元操作符,常见算数操作符,反射算数操作符(后面会涉及更多),增强赋值操作符,和类型转换操作符。可以定义所有比较操作符的行为,但是可以根据自己的需求定义比较行为,不需要全部定义,例子如下。像+,-,*之类的二元操作符(和一些函数),如下。

2023-08-31 10:27:34 178

原创 python进阶--魔法方法之类的表示

下面的魔法方法都可以用了描述类。

2023-08-29 10:02:49 406

原创 python进阶--魔法方法之构造方法

python提供很多特有的方法,可以快速、简洁的实现某些功能,这些方法都是以两个下划线包裹的,称之为“”,目前我们接触的过的魔法方法有__init__方法,下面我们学习其他方法。

2023-08-24 16:22:01 146

原创 python基础---类封装、继承、多态

下面我们看一个例子,继承关系如下我们按照上面的继承关系,写代码并且A的实例调用。

2023-08-24 10:50:43 138

原创 python基础---Python解释器和基本数据类型

在这个示例中,Python发现你使用了一个值为整数(int)的变量,但它不知道该如何解读这个值。Python基本数据类型一般分为6种:数值(Numbers)、字符串(String)、列表(List)、元组(Tuple)、字典(Dictionary)、集合(Set),其中数值又包括int(有符号整型)、float(浮点型)、bool(bool值)、complex(复数)元组用 () 标识。不可避免在程序中需要将字符串转换为list类型,将字符串的“2”转化为数值2,这就需要类型转换函数,常用的就是下面几种。

2023-08-16 16:45:41 94

原创 Python技巧--迭代与反向迭代

2、如果1中的两个条件都不满足,还需要反向序列的话,例如自定义对象等,方法有下面两个。1、对于序列对象大师兄确定或者对象实现。方法时可以使用,例如下面例子。(1)将对象转化为序列。

2023-08-15 14:44:35 176

原创 精益制造的基础

要达到分钟级别的前置时间可以向版本控制中持续不断的提交小批量的代码,然后对代码进行自动化测试、探索测试,在部署到生产环境中。目的是提升技术价值流的流动性,为此需要我们将工作可视化、限制工作量(工作排队)、减少批量大小、减少交接次数,持续不断识别和改进约束点,以消除日常工作中的困境。方式:最大程度优化工作流,需将工作可视化、减小每批次的大小和等待时间,加快技术价值流的流速,缩短代码部署到生产环境所需时间,提高工作质量和产量。:把业务构想转化为向客户交付价值的、由技术驱动的服务所需要的流程。

2023-08-14 16:54:14 78

原创 Python技巧----解压序列/可迭代对象赋值给多个变量

类似这样的对象,元素结构有特定规则的对象可以使用此方法获取想要的数据,谨记使用*获取的数据都是list类型,即使没有元素也是list类型。假设有用户记录的类,每一个对象实例都包含一个名字、邮件,接着就是不确定数量的电话号码,如果我们只想获得不确定数量的电话号码呢?有时候,你可能只需要元素或者序列的一部分数据,比如一个包含N个元素的元组或者是序列,需要将它同时赋值给N个变量,怎么操作呢?星号表达式让开发人员可以很容易的利用这些规则来解压出元素来,例如下面例子。方案:不需要使用的变量使用“_”占位即可,比如。

2023-08-14 14:43:22 677

原创 python三方库--shasum

shasum 是一个计算 SHA 哈希值的命令行工具。它可以用于计算文件或数据的 SHA-1、SHA-256、SHA-384、SHA-512 哈希值,以验证文件完整性和安全性。SHA(Secure Hash Algorithm,安全散列算法)是一种广泛使用的密码学哈希函数,用于将数据转换为固定长度的二进制字符串表示形式。其生成的哈希值通常用于验证数据完整性和文件的唯一性,以检测数据是否被篡改或更改过shasum [ 选项 ] 文件名。

2023-07-17 15:28:44 578

原创 Xcode报错--访问keychain,出现弹窗处理方案

访问keychain弹出弹窗,不想人工点击,比如自动化测试中使用keychain中的证书的情况。1、人工:输入Password,点击Allow或者Always Allow。

2023-07-13 09:19:36 1100

原创 Xcode报错系列--DVTPortal: Service ‘<DVTPortalViewDeveloperService: 0x600000404800; action=‘viewDeveloper

1、使用code_sign_identity打包、导出ipa时,遇到DVTPortal: Service ‘’ encountered an unexpected result code from the portal (‘1100’)1、你可以打开Xcode,点击左上角,进入Preference,选择account,在里面删除过期的账号,在登录一下账号。

2023-07-13 09:08:51 372

原创 Xcode Build System

iOS开发者都使用Xcode来开发、编译程序,但是我们真正了解xcode是怎样编译我们的程序到手机上的么,下面我们主要看看xcode的编译系统内容。编译器:将OC或者swift编译为机器码,其中clang用来编译OC、C和C++,swiftc用来蓝衣swift。加载器:将一个程序加载到内存中,并运行执行它。预处理:在此步骤中xcode会处理代码中的宏,将其展开,处理预处理器指令;汇编器:将编译产物翻译为机器语言,生成只有数据和代码的Mach-O文件。编译器compiler分为前端和后端,

2023-07-04 10:34:24 824

原创 Python 标准库: sys 模块

注意: sys.builtin_module_names该属性是一个字符串元组,但是其中的元素为当前所使用的的 Python 解释器内置的模块名称。该属性是字符串组成的列表,其列表中的每个元素表示的是 Python 搜索模块的路径(在程序启动期间被初始化)——前者的关键字(keys)列出的是导入的模块名,而后者则是解释器内置的模块)的值是最初调用 Python 解释器的脚本所在的绝对路径;该属性是一个字典,包含的是各种已加载的模块的模块名到模块具体位置的映射。6、sys.stdin和sys.stdout。

2023-06-19 08:42:08 383

原创 bash特性

命令执行的结果:成功表示0,失败表示1-255,不同命令有不同说明,一般在脚本中我们会通过。bash通过数值方式告诉用户键入命令是否执行成功,执行结果保存在bash的。bash是一个命令处理器,运行在文本窗口zh哦那个,执行用户输入的命令。保留用户的历史执行的命令,可以使用history查看之前执行过的命令。C-u: 删除光标所在位置至行首的命令行信息。C-k: 删除光标位置至命令行行尾的信息。C-c: 结束前台进程,取消命令的进程。C-a: 将光标跳转至命令行的行首。C-e: 将光标跳转至命令行的行尾。

2023-06-05 09:20:33 571

原创 shell基本概念理解

(1)理解:将shell命令组织成程序,写在文件中,我们通过某种解释器可以执行这个文件,读取其中代码,让计算机完成相应的指令,这个文件就是shell脚本。文件一般以“.sh”为后缀,由shell命令、shell的逻辑语句以及注释信息等组成。”,称之为shebang,其作用就是告诉unix系统shebang后面的内容是使用的解释器的类型。经验:我们在写脚本的时候要指明正确的shebang,让正确的解释器来将我们的脚本转换为机器语言,完成相应的逻辑。(4)调试脚本,执行过程中看输出。1、什么是shell。

2023-06-05 08:24:51 593

原创 边学边看--cp命令

命令行会出现询问的语句,因为如果目标文件夹内已存在和需要复制的文件名相同则默认询问是否覆盖,如果不想被询问使用参数-f。参考资源:https://www.runoob.com/note/29134。cp来源于英文单词“copy”,意为复制,用于实现文件或者文件夹的复制。cp 【参数】 源文件名 目标文件名。

2023-06-05 08:04:43 794

原创 python--面向对象

通常我们将属性命名为已下划线开头,暗示属性受保护,如果想访问该属性需要使用getter(访问器)和setter(修改器)方法进行对应的操作,如果要做到这点,就可以考虑使用@property包装器来包装getter和setter方法,使得对属性的访问既安全又方便,下面例子中属性name和age就是使用@property来修饰属性。(只有子类声明 slots 的时候,才会继承父类的slots。类方法使用“@classmethod”标识,类方法的第一个参数约定名为cls,它代表的是当前类相关的信息的对象。

2023-05-30 16:54:10 40

原创 main.m文件解析--@autoreleasepool和UIApplicationMain

iOS 程序入口UIApplicationMain详解,相信大家新建一个工程的时候都会看到一个main.m文件,只不过我们很少了解它,现在我们分析一下它的作用是什么?

2023-04-26 15:28:49 1044 1

原创 react context

小编开始学习前端了,因为在原来的项目使用react context,而且相关博客一言难尽,小编自个按官网学习一下。在App.js里面写入下面代码。创建完成我们观察一下项目结构。1、创建一个demo工程。

2023-04-25 15:53:09 57

原创 终端走代理

在mac电脑中代理端口:打开系统偏好设置–>网络–>右下角高级–>选择代理–>选择网页代理即可查看代理地址(IP地址)和端口。设置所有的代理:export ALL_PROXY=socks5://127.0.0.1:1080。我们可能会遇到下载git的时候速度很缓慢,我们可以通过让终端走代理的方式来加快速度。2、把代理服务器地址写入shell配置中,永久保存。1、只作用于当前终端,不影响整体环境。3、修改某个工具的配置,比如git。

2023-02-15 10:49:03 581

原创 产品---竞品分析

【理解】竞品分析拆分来看是竞品+分析。针对竞品我们要挑选形似的竞品(如果公司的产品有类型的竞品)或者其他产品中相似的功能;另外就是分析,既然要分析,首先我们要做到的就是使用和分析,使用就是使用竞品的功能,分析需要我们去挖掘为什么这么设计、这么这么交互,转为为自己产品设计的材料,取长补短。而且竞品分析是一个持续的过程。根据上面泛化的分析可以锁定某个企业的某个明星产品,之后就以此来分析,下面总结分析。弱对手:分析目前该领域有特色的产品,有哪些优势使它们占比一部分用户群体。(2)某个公司的竞品。

2023-01-16 16:05:54 666

原创 查看本地分支、远程分支的HEAD

【思路】获取本地分支,然后再找到.git目录,然后从refs的heads下面获取本地分支的head。在.git文件夹下有一个refs的目录,存储指向提交对象的指针,包括:分支、远程仓库和标签等;查看本地分支的HEAD。

2023-01-11 17:20:22 1209 1

原创 shell脚本中-eq、-ne、-gt、-ge、-lt、-le

在shell脚本中,我们经常在if语句中看到-ge等字样,下面我们看看这都是什么意思。2、-eq,-ne等比较符只能用于数字比较,有字符也会先转换成数字然后进行比较。1、在shell中进行比较时,结果为0代表真,为1代表假。

2023-01-11 14:48:06 12518

原创 git命令记录

git status -sb (sb是 short branch) 简洁的输出git status中的信息。

2023-01-11 14:33:30 66

原创 python基础---文件和异常

本篇文章,我们将学习以下内容。本篇文章,我们将学习以下内容- 处理文件,让程序能够快速地分析大量的数据- 错误处理,避免程序在面对意外情形时崩溃- 异常,它是Python创建的特殊对象,用于管理程序运行时出现的错误- json模块,我们可以使用它保存用户数据,以免程序停止运行后丢失

2022-12-12 10:58:28 226

原创 python基础---类基本内容

说起类就要介绍面向对象编程,关于面向对象编程不过多描述,可自行学习哈。下面我们介绍一下python中的类。

2022-12-08 14:35:28 249

原创 python错误处理--Error: Please select a valid Python interpreter

Error: Please select a valid Python interpreter

2022-12-08 10:01:03 3663

原创 python基础--函数与模块

本篇将学习的内容(1)python中函数的书写方式(2)如何将函数存储在模块中

2022-11-27 14:18:35 356

原创 python--input()以及while循环

本篇主要将input()如何接受用户输入以及while循环

2022-11-25 09:26:51 684

原创 python基础--字典

本篇文章我们将学习字典,它和列表一样也是一个集合,不过列表是有顺序的,字典没有顺序,字典使用{}将键值对扩住。键和值之间用冒号分隔,而键—值对之间用逗号分隔,与键相关联的值可以是数字、字符串、列表乃至字典。事实上,可将任何Python对象用作字典中的值

2022-11-24 15:01:14 316

原创 python基础---if语句

if语句让你能够检查程序的当前状态,并据此采取相应的措施,接下来将学习简单的if语句,以及创建一系列复杂的if语句来确定当前到底处于什么情形

2022-11-24 11:01:37 434

原创 python---元组

元组:不可变的列表,使用圆括号而不是方括号来标识。定义元组后,就可以使用索引来访问其元素,就像访问列表元素一样。示例输出200 50如果要修改元组中中的值将报错报错信息。

2022-11-23 14:54:23 114

原创 python基础--列表---操作列表

上一篇我们介绍了列表的基本内容,包括如果创建列表、如何操作列表中元素,本篇内容我们将学习如何遍历列表并且在循环过程中处理某些操作0~3,这将输出分别为0、1和2的元素。分析:我们使用切片复制列表之后,使用append方法在新的列表追加元素,原列表my_foods中内容没有改变,而复制的friend_foods列表内容改变了。(1)使用range()方法生成一系列数字的列表,函数range()让Python从你指定的第一个值开始数,并在到达你指定的第二个值后停止,示例如下。

2022-11-23 14:43:59 213

原创 python基础--列表---基础概念和使用

法insert()可在列表的任何位置添加新元素。但是需要指定新元素的索引和值。修改列表元素,可指定列表名和要修改的元素的索引,再指定该元素的新值。使用列表名和元素的位置来访问特定位置的列表元素,如下所示。定义:列表是按特定顺序排列的元素,是一个有序的集合。表示:使用方括号[]来表示,内容用逗号分隔,示例如下。使用append()方法,可以将元素添加到列表尾部。(1)在列表尾部添加元素。列表的索引是从0开始的。(2)在列表中插入元素。

2022-11-21 14:26:54 295

原创 python基础--字符串

2、upper()将字符串全部改为大写,lower()全部改成小写。4、使用制表符或换行符来添加空白(可以使输出的字符串更容易阅读)删除空白,是暂时的,之后再次访问变量的时候还有空格。竖线表示鼠标放过去,能够看出来有一个空格,而且。(1)删除字符串尾部空白:rstrip()(2)删除字符串头部空白:lstrip()(3)删除头部和尾部空白:strip()下面我们以rstrip()为例来演示一下。1、title()每个单词的首字母大写。用单引号、双引号括起来的都是字符串。二、字符串常用的方法。

2022-11-17 17:22:03 261

原创 python基础--变量

结论:在Python中变量是与值关联的,在最后的示例中,我们第一次给变量message与"Hello Python world!"关联,第二次将变量message与"Hello Python Crash Course world!"关联,所以第一次和第二次输出都有值。这可能和很多的语言不一样,不过这也是python的灵活性的体现吧,我们只需记住。但是,当我们把代码中print_hi函数改成下面,输出的就变成。

2022-11-17 16:20:15 155

搜索某个目录下所有文件中的每一行是否包含某个字符串,适用于xcode工程中搜索使用某个api的搜有文件列表

搜索某个目录下所有文件中的每一行是否包含某个字符串,适用于xcode工程中搜索使用某个api的搜有文件列表

2023-08-31

处理FTP链接、资源上传、

亲测使用,可以图像化链接FTP服务器,处理文档

2023-07-04

多媒体数据压缩编码技术.pdf

多媒体数据压缩基本知识以及压缩

2021-03-22

AppRotation.zip

控制器的旋转研究demo,控制器分为普通控制器和容器控制器,主要从这两类控制器来研究

2019-09-29

本地和推送通知编程

本地、推送通知编程

2017-05-25

多线程代码demo

多线程代码demo

2017-05-03

iOS Blocks

iOS Blocks

2017-05-03

iOS多线程编程官方文档翻译

多线程编程官方文档翻译

2017-05-03

进程通信方式及比较

详细的介绍进程通信方式--信号、管道、信号量、共享内存、消息队列

2017-05-03

敏捷开发资料

国外资源包涵8个敏捷开发的最佳实践,并且翻译成中文

2017-02-06

iOS AVFoundation

视频的录制,交换摄像头

2016-05-01

iOS 蓝牙 demo

iOS 蓝牙 demo

2016-05-01

iOS 蓝牙 demo

iOS 蓝牙 demo

2016-05-01

一步一步学习 iOS 5 编程(第二版)

一步一步学习 iOS 5 编程(第二版)

2015-10-31

空空如也

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

TA关注的人

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