自定义博客皮肤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

记录、前进

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

原创 第四章 信息系统管理-4.1 管理方法

(1)优化信息系统定义该活动注定义协同的范围、优化目标和目 、系统团队成员和出资人,以优化时间表和交付成果。(2)核心流程定义。

2025-06-06 15:05:20 622

原创 第三章信息系统治理-3.2 IT审计

IT审计是通过对组织IT系统与活动的审查,评估其是否实现IT目标,识别相关风险,并提出改进建议的过程。其目的是确保IT战略与业务战略一致,保护信息资产安全,提高系统安全性与有效性,并符合法律法规要求。IT审计范围广泛,涉及审计人员、审计风险(包括固有风险、控制风险、检查风险和总体审计风险)等。审计方法包括访谈、调查、检查、观察、测试和程序代码检查等,技术则涵盖风险评估、审计抽样、计算机辅助审计及大数据审计等。审计流程分为准备、实施、终结和后续审计四个阶段,内容则包括IT内部控制审计和IT专项审计。通过有效的

2025-05-21 17:21:36 657

原创 第三章信息系统治理-3.1 IT 治理

IT治理是确保信息技术与业务目标一致、有效利用资源并管理风险的关键过程。其核心在于IT定位、治理架构、内容、流程和效果评价。IT治理体系框架包括战略目标、治理组织、治理机制、绩效目标和治理域。关键决策涉及IT原则、架构、基础设施、业务应用需求和投资优先顺序。治理任务涵盖统筹、指导、监督和改进,而治理方法则包括ITSS IT服务治理和信息与技术治理框架。有效的IT治理机制应简单、透明且适合,以确保决策的清晰性和责任明确。通过这些措施,组织能够实现IT价值的最大化,支持业务发展和数字化转型。

2025-05-20 10:41:34 943

原创 第二章 信息技术发展(2.2 新一代信息技术及应用)

物联网 (The Internet of Things) 是指通过信息传感设备,按约定的协议将任何物品与互联网相连接,进行信息交换和通信,以实现智能化识别、定位、跟踪、监控和管理的网络。

2025-04-28 16:13:28 888

原创 第二章 信息技术发展(2.1 信息技术及其发展)

(1)定义软件定义网络(Software Defined Network) , SDN 种新型网络创新架构,是网络虚拟化的一种实现方式。利用分层的思想, SDN 将数据与控制相分离。(2)SDN 整体架构由下到上(由南到北 )分为数据平面、控制平面和应用平面,具体如2-1 所示。数据平面由交换机等网络通用硬件组成, 各个网络设备之间通过不同规则形成的 SDN 数据通路连接;控制平面包含了逻辑上为中心的 SDN 控制器,它掌握着全局网络信息,负责各种转发规则的控制;

2025-04-27 10:54:55 1076

原创 shell之getopts

这个脚本可以处理 -d -r -p some_arg -f 这样的命令行参数,但不能处理 --option 这样的长参数形式。如果需要处理长参数形式的选项,你可能需要使用不同的方法,比如 getopt 命令或者完全自定义解析逻辑。在上面的脚本中,d、r 和 f 是简单选项,不需要参数,而 p 需要一个参数。当选项后面紧跟了参数时,$OPTARG 变量会包含这个参数的值。注意,如果你的选项字符串中的字符后面有冒号(:),那么对应的选项参数将会被放入变量 OPTARG 中。中的值,因为在处理下一个选项时,

2024-08-28 16:19:39 1222

原创 shell之usage()函数

usage()函数,用来说明脚本的作用以及脚本接收的参数,以及不同的参数不同的功能。如果我们在脚本中定义了usage()函数,那么我们可以使用-h和–help来触发usage()函数。在脚本test中定义如下usage()函数,之后在命令行工具中执行。

2024-08-28 15:08:12 775

原创 awk基本用法

表示要执行的动作,也就是打印demo.txt的每一行,因为print是打印命令,$0代表当前行。因此上面命令的执行结果,就是把每一行原样打印出来。分析:变量NF表示当前行有多少个字段,因此$NF就代表最后一个字段。分析示例2和示例3,可以看出来$0、$1、$2、$3可以表示不同的内容,那是因为。awk在shell里面基本都会用到,我们先了解一下awk的基本用法,如下。表示某个字段,awk还提供其他一些变量,比如下面的变量。分析:demo.txt是awk所要处理的文本文件;其中demo.txt的内容如下。

2024-08-26 16:07:31 413

原创 关于$(dirname $0)的理解

cd 是用于更改当前工作目录的命令,cd $(dirname $0) 的意思是将当前工作目录更改为脚本所在的目录。dirname 用于去掉路径中的文件名部分,返回目录名;dirname $0 会返回脚本所在的目录。假设有一个脚本 /home/xx/test/myscript.sh,那么分析一下下面命令都代表什么。$(dirname $0) 的结果是脚本所在的目录。它会执行括号内的命令,并将输出结果作为字符串返回。$0 代表脚本的名称,这个变量包含了脚本的完整路径或相对路径。执行该命令后,会去往目录。

2024-08-26 11:32:39 763

原创 shell之管道|、&&以及||

在Shell中,两个命令之间使用竖线(|)可以连接它们,以便第一个命令的输出成为第二个命令的输入。这将会先执行command1,如果它返回真(通常是返回值为0),则继续执行command2。这将会列出当前目录下的文件,并通过grep命令筛选出含"example"文本的行。这将会先执行command1,如果它返回假(非零返回值),则执行command2。

2024-08-23 15:11:13 370

原创 shell之if [ $? != 0 ]

判断上一条shell命令的执行结果,如果不等于0表示执行失败,exit 1,退出。符号显示上一条命令的返回值;0则代表执行成功,其他表示失败。

2024-08-23 14:48:52 481

原创 关于shell输出颜色的事情

实例分析:1、-e:转义起始符,等同于\033,表示定义一个转义序列2、[:表示开始定义颜色3、1;33;41:其中1表示高亮,33表示字体颜色为黄色,45表示背景色为红色4、m:表示转义终止符,代表颜色定义完毕5、0:表示默认颜色\e[ :表示再次开启颜色定义,后面跟颜色代码数字\e[0m:表示恢复默认颜色。

2024-08-23 14:35:01 601 1

原创 ideviceinstaller

ideviceinstaller 的启动文件主要是 src/ideviceinstaller.c。参考链接:https://blog.csdn.net/gitblog_00023/article/details/141148696。:将显示所有可用的命令和选项,帮助用户了解如何配置和使用 ideviceinstaller。ideviceinstaller/: 源代码目录,包含主要的源文件。tests/: 测试目录,包含项目的测试脚本和测试数据。src/: 源代码目录,包含主要的源文件。

2024-08-22 15:39:14 413

原创 Chrome开发工具调试技巧

在本文中将介绍如何利用Chrome控制台中的调试选项帮助你快速调试,

2024-08-19 15:48:01 918

原创 ios app包应用签名证书指纹SHA256值

获取应用签名证书的指纹,首先要获取给app签名的证书,然后从证书里面获取SHA256签名,具体步骤如下。步骤1:首先,你需要使用Xcode打开你的iOS app项目。步骤3:获取证书指纹SHA256值。步骤2:导出p12文件。

2024-08-14 14:28:01 735

原创 python--‌__next__()

例如,‌在自定义迭代器的场景中,‌__next__()方法被用来返回容器中的下一个元素。‌如果容器中的元素已经被全部遍历,‌那么__next__()方法会引发StopIteration异常来通知迭代已经结束。:‌用于定义迭代器的行为。‌当一个类实现了__next__()方法时,‌该类的实例就可以用作迭代器。‌当迭代器中没有更多元素可供返回时,‌__next__()方法应该引发StopIteration异常。‌通过这种方式,‌可以创建自定义的迭代器和可迭代对象,‌以适应特定的数据结构和算法需求。

2024-08-08 10:01:51 186

原创 python--__len__(self)

方法用于初始化对象,‌并接受一个可选的 initial_list 参数来设置对象的初始内容。:‌这个方法应该返回一个整数,‌表示对象的“长度”或“大小”。方法,‌MyList 类的对象就可以像内置的列表(‌list)‌一样,‌使用 len() 函数来获取其长度了。:当你定义了一个类,‌并且想要这个类的对象能够支持 len() 函数时,‌你就需要在该类中定义。在Python中,‌__len__ 是一个特殊方法(‌也称为魔术方法或双下划线方法)‌,:在这个例子中,‌MyList 类模拟了一个简单的列表。

2024-08-08 09:35:23 294 1

原创 面试题系列:Python是什么?使用Python有什么好处?你对 PEP 8 有什么理解?

##面试题系列:Python是什么?使用Python有什么好处?你对 PEP 8 有什么理解?

2024-06-03 15:16:15 552

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

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

2024-02-26 15:12:13 235

原创 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 273

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

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

2023-12-06 15:27:36 213

原创 python--namedtuple

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

2023-12-04 14:58:18 228

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

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

2023-08-31 10:27:34 284

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

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

2023-08-29 10:02:49 461

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

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

2023-08-24 16:22:01 220

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

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

2023-08-24 10:50:43 197

原创 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 130

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

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

2023-08-15 14:44:35 277

原创 精益制造的基础

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

2023-08-14 16:54:14 135

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

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

2023-08-14 14:43:22 773

原创 python三方库--shasum

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

2023-07-17 15:28:44 779

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

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

2023-07-13 09:19:36 1545

原创 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 541

原创 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 1020

原创 Python 标准库: sys 模块

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

2023-06-19 08:42:08 524

原创 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 643

原创 shell基本概念理解

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

2023-06-05 08:24:51 683

原创 边学边看--cp命令

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

2023-06-05 08:04:43 1113

原创 python--面向对象

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

2023-05-30 16:54:10 75

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

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

2023-04-26 15:28:49 1300

iOS Blocks

iOS Blocks

2017-05-03

多线程代码demo

多线程代码demo

2017-05-03

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

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

2021-03-22

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

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

2023-08-31

处理FTP链接、资源上传、

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

2023-07-04

敏捷开发资料

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

2017-02-06

iOS AVFoundation

视频的录制,交换摄像头

2016-05-01

进程通信方式及比较

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

2017-05-03

本地和推送通知编程

本地、推送通知编程

2017-05-25

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

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

2015-10-31

AppRotation.zip

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

2019-09-29

iOS 蓝牙 demo

iOS 蓝牙 demo

2016-05-01

iOS 蓝牙 demo

iOS 蓝牙 demo

2016-05-01

空空如也

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

TA关注的人

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