- 博客(37)
- 收藏
- 关注
原创 设计模式概述
设计模式是软件设计中常见问题的典型解决方案, 可用于解决代码中反复出现的设计问题。模式并不是一段特定的代码, 而是解决特定问题的一般性概念。 这个跟算法是很不一样的,虽然都是已知的特定问题的典型解决方案,但算法总是明确定义达成特定目标所需的一系列步骤,模式则是对解决方案的更高层次的描述。...
2022-07-20 16:42:18
211
原创 macOS Monterey v12.4 M1芯片 iOS 开发环境(艰难曲折的)配置过程记录
电脑环境跟型号如标题所说,这是背景,macOS系统换了个系统,很多东西都不一样,网上的文章很多对于我不适用,不具备参考性,每次升级系统、换电脑,配置环境都要踩一次坑。如果想参考我的过程去配置的,建议先看完全文再决定,不要一步一步跟着,我这个过程不一定是最合适的,你跟着我走,可能就是跟着我把我踩过的坑再踩一遍。...............
2022-07-20 11:26:13
1115
原创 Git 如何忽略、撤销忽略相关文件以及对某个文件移除跟踪
用户目录下存在 .gitignore_global 文件,用于记录需要忽略的文件/文件夹。项目目录下也可以建立专属与某个项目的 .gitignore 文件。SourceTree 也可以设置专属的 .gitignore 文件,我的 SourceTree 将它命名为 .hgignore_global,以区别于系统默认的。
2022-06-02 10:27:33
1871
原创 如何在 Github 上传超过100M的大文件
GitHub 不允许直接上传大文件(超过100M)的文件到远程仓库,push 的时候会出现报错。若想上传大文件,需使用工具 git-lfs。
2022-06-02 09:57:42
1341
原创 软件设计原则之接口隔离原则、合成复用原则、迪米特原则
面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。
2022-06-01 11:20:48
524
原创 软件设计原则之里氏替换原则、依赖倒置原则
面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。
2022-06-01 11:17:59
591
原创 软件设计原则之单一职责原则、开闭原则
面向对象设计原则是评价每个设计模式应用效果的重要依据。几乎每个设计模式都符合一个或多个面向对象设计原则(个别模式除外),这些原则都是从无数项目中提取出来的经验性原则,它们为消除软件设计和实现中的“臭味(Bad Smell)”而诞生,力图为当前系统提供最好的设计方案。简单来说,设计原则是描述“面向对象开发”需要注意的代码原则。
2022-06-01 11:17:21
873
原创 移动端UML图应用之UML结构图——类图
系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图移动端UML图应用之UML结构图——类图文章目录系列文章目录前言一、属性二、操作三、关系泛化实现关联依赖特殊的关联关系四、其他注解符号关键词约束特性字符串单实例类前言UML用类图描述系统中的类,以及存在于他们之间的各种静态关系。类图用于静态对象建模。可以用一幅图概括(和理解)大部分
2022-04-24 11:23:56
801
原创 移动端UML图应用之UML结构图——包图、部署图和组件图
系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图移动端UML图应用之UML结构图——类图文章目录系列文章目录一、包图二、部署图三、组件图一、包图逻辑架构是软件类的宏观组织结构,它将软件类组织为包(或命名空间)、子系统和层等。之所以称其为逻辑架构,是因为并未决定如何在不同的操作系统进程或网络中物理的计算机上对这些元素进行部署。逻
2022-04-24 11:08:27
6475
原创 移动端UML图应用之UML交互图——顺序图和通信图
系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录前言一、顺序图与通信图的优缺点二、常用的UML交互图表示法三、顺序图的基本表示法四、通信图的基本表示法前言大部分UML初学者知道类图,并且通常认为类图是面向对象设计中唯一重要的图形。但实际上并非如此!UML使用交互图来描述对象间通过消息的交互,交互图可以用于动态对
2022-04-24 11:01:24
5267
原创 移动端UML图应用之UML行为图——用例图、活动图和状态机图
系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录一、用例图二、活动图三、状态机图一、用例图什么是用例用例是文本形式的情节描述,用以说明某参与者使用系统以实现某些目标,广泛应用于需求的发现和记录工作中,以及测试工作中。简单的说,用例就是需求,主要是说明系统如何工作的功能性或行为性需求。虽然UML用例图易于学习,
2022-04-24 10:42:46
4534
原创 移动端UML图应用之UML图简述
系列文章目录移动端UML图应用之UML图简述移动端UML图应用之UML行为图——用例图、活动图和状态机图移动端UML图应用之UML交互图——顺序图和通信图移动端UML图应用之UML结构图——包图、部署图和组件图文章目录系列文章目录前言一、什么是UML二、UML图的分类总结前言作为一名从业多年的移动端开发者,深感设计思想、规范的设计工具应用在移动端开发中的缺失。移动端开发,不论android还是iOS,在当年的互联网浪潮中迅速崛起,吸引了大批优秀的青年从事这一行业,其中不乏大量的第一次接触代
2022-04-24 10:27:20
1877
原创 数据类型与字节长度
位(Bit)、字节(Byte)、字(Word)位:"位(bit)"是电子计算机中最小的数据单位。每一位的状态只能是0或1。字节:8个二进制位构成1个"字节(Byte)",它是存储空间的基本计量单位。1个字节可以储存1个英文字母或者半个汉字,换句话说,1个汉字占据2个字节的存储空间。字:"字"由若干个字节构成,字的位数叫做字长,不同档次的机器有不同的字长。例如一台8位机,它的1个字就等于1个字...
2020-03-11 11:03:18
1254
原创 FFmpeg 入门扫盲、Mac 开发环境配置、创建示例项目
视频播放器播放一个互联网上的视频文件,需要经过以下几个步骤:解协议,解封装,解码视音频,视音频同步。如果是本地文件,则不需要解协议。过程如图所示:解协议:将流媒体协议的数据,解析为标准的相应的封装格式数据。解封装:将输入的封装格式的数据,分离成为音频流压缩编码数据和视频流压缩编码数据。封装格式种类有 MP4,MKV,RMVB,TS,FLV,AVI等。解码:将音/视频压缩编码数据,解码成为...
2019-03-24 16:29:57
1848
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
801
原创 iOS 开发证书及代码签名相关记录
iOS开发会遇到以下三种形式的证书:cer - 文件是二进制格式,只保存证书,不保存私钥。p12 - 二进制格式,同时包含证书和私钥,一般有密码保护。pem - 一般是文本格式,可保存证书,可保存私钥。打开钥匙串访问的工具 - 我的证书,左侧带个小三角形△的,就是你持有对应私钥的证书,点开△可以显示它的私钥,如下图:如果要导出证书,一定要展开证书那一条显示出私钥并将两行都选中,导出...
2019-03-06 16:47:40
254
原创 客户端 Git 使用规范
一、分支规范及命名首先,项目存在两个长期分支。主分支 - master开发分支 - develop前者用于存放对外发布的版本,任何时候在这个分支拿到的,都是稳定的发布版;后者用于日常开发,存放最新的开发版。其次,项目存在以下三种短期分支:特性分支 - feature命名规则:feature/<任务名> 如:feature/Sonar里程碑功能分支确定了...
2019-03-01 11:09:51
158
原创 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
196
翻译 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
172
原创 objective-C:全局变量、静态变量、常量的区别
objective-C:全局变量、静态变量、常量的区别全局变量静态变量全局变量全局变量即该变量不仅可以在所定义的文件内被访问,也可以在其他文件中被访问。凡是定义在函数或方法之外的变量(除静态变量之外)都是全局变量。为了维护方便及可读性,全局变量一般定义在源文件(.m)的起始位置。其他文件想使用该全局变量时,需要先使用关键字extern进行声明。全局变量,也叫外部全局变量,是整个工程唯一但,且...
2018-12-08 12:05:59
2069
翻译 Cocoa 设计模式一:什么是设计模式
Cocoa环境的许多体系结构和机制都有效地利用了设计模式:使用抽象的设计解决实际特定情境中的反复出现的问题。本章描述了Cocoa中的设计模式的主要实现,特别关注MVC和对象建模。本章的主要目的是让你更好的了解Cocoa的设计模式,并鼓励你在自己的软件项目中利用这些模式。什么是设计模式设计模型是用于解决特定上下文中的常见问题的设计模板。它是一种抽象工具,在架构、工程和软件开发领域中都很有...
2018-08-13 17:41:02
296
原创 崩溃日志的符号化
app上架后,通过崩溃统计平台,可以看到用户的崩溃日志,有了崩溃日志,和该发布包对应的dSYM文件,我们就可以定位到发生崩溃的代码。那么第一步,就是找到对应包体的dSYM文件,并确认与崩溃日志的对应关系。通过UUID确认对应关系如果是通过Xcode的Archive打包,可通过以下路径找到dSYM文件:$ cd ~/Library/Developer/Xcode/Archives...
2018-04-12 10:16:03
674
原创 终端工具推荐:iterm2 + oh my zsh
iterm2Mac 系统已经自带 zsh,我们只需要安装一个 iterm,再安装个 oh my zsh,一开始也是别人推荐的,现在日常开发基本离不开这个组合了。
2017-04-15 16:03:22
1772
原创 YTKNetwork 到底做了什么
作为开发者,对网络层进行封装非常必要,一方面可使得项目的代码更好维护、更稳健;另一方面,当网络底层需要进行更换时,可将工作量降到最小,最大程度保证项目的稳定性。
2017-01-14 17:48:52
6510
原创 开发者证书、授权文件的管理
当添加测试机时,mobileprovisioning 就需要更新(下文称为授权文件),久而久之,电脑里面就会存在大量的授权文件,而且,这些授权文件由于具有同样的名字,在 xcode 中,有可能会误选。 举个例子,假设原来的授权文件A,对应测试机a、b,后来在开发者账号里面添加了新的测试机c,于是对授权文件进行更新,生成新的授权文件B,此时,开发者甲拥有授权文件A、B,他把授权文件B发给了新加入的...
2016-09-02 23:43:37
595
翻译 Effective Objective-C 2.0 第五章 内存管理 Item 29 理解引用计数
内存管理在任何面向对象的语言里,譬如Objective-C,都是一个很重要的概念。ARC把几乎所有内存管理的事宜都转移给编译器来决定,使得开发者只需专注于业务逻辑。
2016-03-02 16:57:12
421
原创 Git 命令索引
Git是目前最流行的版本管理系统,学会Git几乎成了开发者的必备技能。Git有很多优势,其中之一就是远程操作非常简便。本文从初学者的角度出发,对需要用到的git命令按用到的顺序进行了一一列举。 目录如下:克隆版本库远程仓库分支的查看、创建、切换分支的删除远程分支的拉取及合并代码的提交未提交代码的撤销、修改已提交代码的回退标签
2015-12-31 10:44:14
647
原创 如何通过 ssh 与 Git 远程仓库建立加密连接
如何添加ssh的公钥密钥SSH key 可以让你在你的电脑和 Git @ OSC 之间建立安全的加密连接。
2015-03-01 11:44:39
953
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人