shmily's blog

Thinking will not overcome fear but action will.

使用 .gitignore 忽略 Git 仓库中的文件

.gitignore 文件在Git中的使用

使用 .gitignore 文件忽略指定文件 .gitignore 在Git中,很多时候你只想将代码提交到仓库,而不是将当前文件目录下的文件全部提交到Git仓库中,例如在MacOS系统下面的.DS_Store文件,或者是Xocde的操作记录,又或者是pod库的中一大串的源代码。这种情况下使用.gitignore就能够在Git提交时自动忽略掉这些文件。 忽略的格式 # :...

Mac 文件的隐藏与显示

使用终端 显示/隐藏 文件

让 Finder 显示隐藏文件和文件夹 基本 显示 $ defaults write com.apple.finder AppleShowAllFiles -boolean true ; killall Finder 隐藏 $ defaults write com.apple.finder AppleShowAllFiles -boolean false ; killal...

Git 代码回滚

回滚代码的正确姿势

并不适合阅读的个人文档。 git revert 和 git reset 的区别 先看图: sourceTree 中 revert 译为提交回滚,作用为忽略你指定的版本,然后提交一个新的版本。新的版本中已近删除了你所指定的版本。 reset 为 重置到这次提交,将内容重置到指定的版本。git reset 命令后面是需要加2种参数的:–-hard 和 –-soft。这条命令默认...

Git指令整理

不适合阅读的整理的一些个人常用的 Git 指令

随便整理的一些自用的Git指令 GitHub创建仓库提示代码 echo "# 项目名" >> README.md git init git add README.md git commit -m "first commit" git remote add origin git@github.com:qiubaiying/项目名.git git push -u orig...

Mac 文本转音频

在Mac终端上将文本文件转换为音频文件

文本转语音 分享一条在Mac上将一个文本转换为音频文件的终端命令,个人认为还是蛮实用的。 来自: http://25.io/toau/ 指令: cat sample.txt | say -o sample.aiff

Mac 快速调出终端

在Mac下为终端设置快捷键

在Mac下快速调出终端的方法是:为终端添加一个快捷键打开方式 为终端添加一个快捷键打开方式 打开Mac下自带的软件 Automator 新建文稿 创建一个服务 修改框内的脚本 on run {input, parameters} tell application "Terminal" reopen activate end tell end...

快速搭建个人博客

手把手教你在半小时内搭建自己的个人博客(如果不踩坑的话🙈🙊🙉)

正所谓前人栽树,后人乘凉。 感谢Huxpro提供的博客模板 我的的博客 前言 从 Jekyll 到 GitHub Pages 中间踩了许多坑,终于把我的个人博客BY Blog搭建出来了。。。 本教程针对的是不懂技术又想搭建个人博客的小白,操作简单暴力且快速。当然懂技术那就更好了。 看看看博客的主页样式: 在手机上的布局: 废话不多说了,开始进入正文。 ...

Objective-C Runtime 基本使用

Runtime 使用案例

前言 在上一篇文章《Objective-C Runtime详解》中我们探讨了Runtime的基本原理,这篇文章我们将总结一下Runtime的一些基本使用 使用方法 查询方法 给分类添加属性 更换代码的实现方法 动态添加方法 字典转属性 准备 先创建两个类 ClassA.h #import <Foundation/Foundation.h&g...

Objective-C Runtime 详解

Runtime 详解

前言 最近在学习Runtime的知识,恰巧发现了这篇博客《Objective-C Runtime》,在此基础上,进行了些许补充说明,如有错误或其他想法,欢迎提出交流。 基础知识 引言 简介 与Runtime交互 RunTime术语 消息 动态方法解析 消息转发 健壮的实例变量 动态添加属性(Object-C Associated Objects...

Objective-C:Category

深入解析 Category 的实现原理

本文转载自美图点评技术团队的:深入理解Objective-C:Category,略有修改。 前言 无论一个类设计的多么完美,在未来的需求演进中,都有可能会碰到一些无法预测的情况。那怎么扩展已有的类呢?一般而言,继承和组合是不错的选择。但是在Objective-C 2.0中,又提供了category这个语言特性,可以动态地为已有类添加新行为。如今category已经遍布于Objec...