自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(37)
  • 收藏
  • 关注

原创 创建型模式-抽象工厂模式

抽象工厂模式是一种创建型设计模式, 它能创建一系列相关的对象,而无需指定具体类。

2022-08-02 17:05:33 185 1

原创 创建型模式-工厂方法模式

工厂方法模式是一种创建型设计模式, 其在父类中提供一个创建对象的方法, 允许子类决定实例化对象的类型。

2022-08-02 17:05:03 164

原创 创建型模式-建造者模式

建造者模式是一种创建型设计模式, 使你能够分步骤创建复杂对象。 该模式允许你使用相同的创建代码生成不同类型和形式的对象。

2022-07-20 16:51:33 134

原创 创建型模式-原型模式

原型模式是一种创建型设计模式,使你能够复制已有对象,而又无需使代码依赖它们所属的类。

2022-07-20 16:50:11 151

原创 创建型模式-单例模式

单例模式是一种创建型设计模式, 让你能够保证一个类只有一个实例, 并提供一个访问该实例的全局节点。

2022-07-20 16:47:35 636

原创 设计模式概述

设计模式是软件设计中常见问题的典型解决方案, 可用于解决代码中反复出现的设计问题。模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 这个跟算法是很不一样的,虽然都是已知的特定问题的典型解决方案,但算法总是明确定义达成特定目标所需的一系列步骤,模式则是对解决方案的更高层次的描述。...

2022-07-20 16:42:18 193

原创 macOS Monterey v12.4 M1芯片 iOS 开发环境(艰难曲折的)配置过程记录

电脑环境跟型号如标题所说,这是背景,macOS系统换了个系统,很多东西都不一样,网上的文章很多对于我不适用,不具备参考性,每次升级系统、换电脑,配置环境都要踩一次坑。如果想参考我的过程去配置的,建议先看完全文再决定,不要一步一步跟着,我这个过程不一定是最合适的,你跟着我走,可能就是跟着我把我踩过的坑再踩一遍。...............

2022-07-20 11:26:13 918

原创 Git 如何忽略、撤销忽略相关文件以及对某个文件移除跟踪

用户目录下存在 .gitignore_global 文件,用于记录需要忽略的文件/文件夹。项目目录下也可以建立专属与某个项目的 .gitignore 文件。SourceTree 也可以设置专属的 .gitignore 文件,我的 SourceTree 将它命名为 .hgignore_global,以区别于系统默认的。

2022-06-02 10:27:33 1745

原创 如何在 Github 上传超过100M的大文件

GitHub 不允许直接上传大文件(超过100M)的文件到远程仓库,push 的时候会出现报错。若想上传大文件,需使用工具 git-lfs。

2022-06-02 09:57:42 1107

原创 软件设计原则之接口隔离原则、合成复用原则、迪米特原则

面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。

2022-06-01 11:20:48 430

原创 软件设计原则之里氏替换原则、依赖倒置原则

面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。

2022-06-01 11:17:59 502

原创 软件设计原则之单一职责原则、开闭原则

面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。

2022-06-01 11:17:21 794

原创 移动端UML图应用之UML结构图——类图

系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图移动端UML图应用之UML结构图——类图文章目录系列文章目录前言一、属性二、操作三、关系泛化实现关联依赖特殊的关联关系四、其他注解符号关键词约束特性字符串单实例类前言UML用类图描述系统中的类,以及存在于他们之间的各种静态关系。类图用于静态对象建模。可以用一幅图概括(和理解)大部分

2022-04-24 11:23:56 620

原创 移动端UML图应用之UML结构图——包图、部署图和组件图

系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图移动端UML图应用之UML结构图——类图文章目录系列文章目录一、包图二、部署图三、组件图一、包图逻辑架构是软件类的宏观组织结构,它将软件类组织为包(或命名空间)、子系统和层等。之所以称其为逻辑架构,是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署。逻

2022-04-24 11:08:27 6175

原创 移动端UML图应用之UML交互图——顺序图和通信图

系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录前言一、顺序图与通信图的优缺点二、常用的UML交互图表示法三、顺序图的基本表示法四、通信图的基本表示法前言大部分UML初学者知道类图,并且通常认为类图是面向对象设计中唯一重要的图形。但实际上并非如此!UML使用交互图来描述对象间通过消息的交互,交互图可以用于动态对

2022-04-24 11:01:24 4779

原创 移动端UML图应用之UML行为图——用例图、活动图和状态机图

系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录一、用例图二、活动图三、状态机图一、用例图什么是用例用例是文本形式的情节描述,用以说明某参与者使用系统以实现某些目标,广泛应用于需求的发现和记录工作中,以及测试工作中。简单的说,用例就是需求,主要是说明系统如何工作的功能性或行为性需求。虽然UML用例图易于学习,

2022-04-24 10:42:46 4144

原创 移动端UML图应用之UML图简述

系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录前言一、什么是UML二、UML图的分类总结前言作为一名从业多年的移动端开发者,深感设计思想、规范的设计工具应用在移动端开发中的缺失。移动端开发,不论android还是iOS,在当年的互联网浪潮中迅速崛起,吸引了大批优秀的青年从事这一行业,其中不乏大量的第一次接触代

2022-04-24 10:27:20 1687

原创 数据类型与字节长度

位(Bit)、字节(Byte)、字(Word)位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字...

2020-03-11 11:03:18 1199

原创 FFmpeg 入门扫盲、Mac 开发环境配置、创建示例项目

视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果是本地文件,则不需要解协议。过程如图所示:解协议:将流媒体协议的数据,解析为标准的相应的封装格式数据。解封装:将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类有 MP4,MKV,RMVB,TS,FLV,AVI等。解码:将音/视频压缩编码数据,解码成为...

2019-03-24 16:29:57 1752 3

原创 开发环境配置:Homebrew、RubyGems、CocoaPods(已过时,不作参考)

1、先安装 Homebrew,官网:https://brew.sh,官网上有安装命令:$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"2、接着安装 RubyGems,官网:https://rubygems.org,安装命令:$ brew i............

2019-03-24 14:59:33 775

原创 iOS 开发证书及代码签名相关记录

iOS开发会遇到以下三种形式的证书:cer - 文件是二进制格式,只保存证书,不保存私钥。p12 - 二进制格式,同时包含证书和私钥,一般有密码保护。pem - 一般是文本格式,可保存证书,可保存私钥。打开钥匙串访问的工具 - 我的证书,左侧带个小三角形△的,就是你持有对应私钥的证书,点开△可以显示它的私钥,如下图:如果要导出证书,一定要展开证书那一条显示出私钥并将两行都选中,导出...

2019-03-06 16:47:40 233

原创 客户端 Git 使用规范

一、分支规范及命名首先,项目存在两个长期分支。主分支 - master开发分支 - develop前者用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的发布版;后者用于日常开发,存放最新的开发版。其次,项目存在以下三种短期分支:特性分支 - feature命名规则:feature/<任务名> 如:feature/Sonar里程碑功能分支确定了...

2019-03-01 11:09:51 148

原创 Git 提交用户信息修改脚本

当你错用了公司的邮箱作为提交者的信息在开源的 Git 仓库上提交了代码时,可使用以下脚本修改,修改完会生成一系列全新的 commit,与原先的 commit 平行,此时再git push -f即可。#!/bin/shgit filter-branch --env-filter 'an="$GIT_AUTHOR_NAME"am="$GIT_AUTHOR_EMAIL"cn="$GIT_CO...

2019-02-28 16:28:57 181

翻译 Effective Objective-C 2.0 第五章 内存管理 Item 30 用ARC简化引用计数

Item 30 用ARC简化引用计数引用计数的概念是相当容易理解的。何处需要 retain 和 release 也很容易被表达。于是编译器Clang有一个静态分析器,可用于指出何处的引用计数出了问题。例如如下的手动引用计数代码片段if([self shouldLogMessage]) { NSString *message = [NSString alloc] initWithForm...

2019-01-29 11:56:34 155

原创 objective-C:全局变量、静态变量、常量的区别

objective-C:全局变量、静态变量、常量的区别全局变量静态变量全局变量全局变量即该变量不仅可以在所定义的文件内被访问,也可以在其他文件中被访问。凡是定义在函数或方法之外的变量(除静态变量之外)都是全局变量。为了维护方便及可读性,全局变量一般定义在源文件(.m)的起始位置。其他文件想使用该全局变量时,需要先使用关键字extern进行声明。全局变量,也叫外部全局变量,是整个工程唯一但,且...

2018-12-08 12:05:59 1983

翻译 Cocoa 设计模式一:什么是设计模式

Cocoa环境的许多体系结构和机制都有效地利用了设计模式:使用抽象的设计解决实际特定情境中的反复出现的问题。本章描述了Cocoa中的设计模式的主要实现,特别关注MVC和对象建模。本章的主要目的是让你更好的了解Cocoa的设计模式,并鼓励你在自己的软件项目中利用这些模式。什么是设计模式设计模型是用于解决特定上下文中的常见问题的设计模板。它是一种抽象工具,在架构、工程和软件开发领域中都很有...

2018-08-13 17:41:02 279

原创 崩溃日志的符号化

app上架后,通过崩溃统计平台,可以看到用户的崩溃日志,有了崩溃日志,和该发布包对应的dSYM文件,我们就可以定位到发生崩溃的代码。那么第一步,就是找到对应包体的dSYM文件,并确认与崩溃日志的对应关系。通过UUID确认对应关系如果是通过Xcode的Archive打包,可通过以下路径找到dSYM文件:$ cd ~/Library/Developer/Xcode/Archives...

2018-04-12 10:16:03 653

原创 苹果应用加急审核操作流程

一般,如果我们的应用出现重大的线上问题,需要快速发布一个新的版本来进行修复时,可向苹果申请对我们的应用加急审核。

2017-04-15 17:54:25 12180

原创 终端工具推荐:iterm2 + oh my zsh

iterm2Mac 系统已经自带 zsh,我们只需要安装一个 iterm,再安装个 oh my zsh,一开始也是别人推荐的,现在日常开发基本离不开这个组合了。

2017-04-15 16:03:22 1711

原创 YTKNetwork 到底做了什么

作为开发者,对网络层进行封装非常必要,一方面可使得项目的代码更好维护、更稳健;另一方面,当网络底层需要进行更换时,可将工作量降到最小,最大程度保证项目的稳定性。

2017-01-14 17:48:52 6458

原创 开发者证书、授权文件的管理

当添加测试机时,mobileprovisioning 就需要更新(下文称为授权文件),久而久之,电脑里面就会存在大量的授权文件,而且,这些授权文件由于具有同样的名字,在 xcode 中,有可能会误选。 举个例子,假设原来的授权文件A,对应测试机a、b,后来在开发者账号里面添加了新的测试机c,于是对授权文件进行更新,生成新的授权文件B,此时,开发者甲拥有授权文件A、B,他把授权文件B发给了新加入的...

2016-09-02 23:43:37 581

原创 iOS 沙盒机制 及 NSFileManager

简介在 iOS 系统中,每个 app 只能访问自己目录下的文件,这个目录称为应用沙盒……

2016-08-21 22:14:29 257

翻译 Effective Objective-C 2.0 第五章 内存管理 Item 29 理解引用计数

内存管理在任何面向对象的语言里,譬如Objective-C,都是一个很重要的概念。ARC把几乎所有内存管理的事宜都转移给编译器来决定,使得开发者只需专注于业务逻辑。

2016-03-02 16:57:12 413

原创 Git 的安装与配置

如何安装和配置 Git 工具

2015-12-31 14:37:12 1506

原创 Git 命令索引

Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。Git有很多优势,其中之一就是远程操作非常简便。本文从初学者的角度出发,对需要用到的git命令按用到的顺序进行了一一列举。 目录如下:克隆版本库远程仓库分支的查看、创建、切换分支的删除远程分支的拉取及合并代码的提交未提交代码的撤销、修改已提交代码的回退标签

2015-12-31 10:44:14 639

原创 如何迁移 Git 仓库

准备更换git托管,如何迁移原git仓库?

2015-10-14 15:28:11 441

原创 如何通过 ssh 与 Git 远程仓库建立加密连接

如何添加ssh的公钥密钥SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。

2015-03-01 11:44:39 934

空空如也

空空如也

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

TA关注的人

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