自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 2021 年度总结

2021 -- 生活逐渐稳定, 工作跌宕起伏

2022-01-27 14:42:55 1333

原创 Apple 开发者账户类型

这里总结下 Apple 开发者账户的类型区别

2022-01-27 14:12:29 1991

原创 UITableView 的两种复用 cell 方法的区别

做过 iOS 开发的人都知道, iOS 的 UITableView 的 Cell 需要复用, 复用的时候有两种方法可以调用dequeueReusableCell(withIdentifier:)dequeueReusableCell(withIdentifier:for:)那么他们到底有什么区别?

2022-01-27 14:11:23 1915

原创 Git 的一些实际使用技巧

本篇文章列举了一些 Git 实际使用技巧, 如果你喜欢终端 Git 操作, 那这就是为你准备的!

2021-12-04 16:05:06 1096

原创 Launch Vim as vanilla

有时我们可能会需要 vim 加载任何插件进行启动, vim 在这方面也提供了充分的自定义选项, 根据不同需要, 可以通过不同的方式达到目的

2021-12-04 16:04:26 117

原创 Use keycode in terminal and vim

Vim 的按键映射在 GUI 情况下的支持是相当完备的, 例如 `<M-...>`, `<D-...>`, 但是如果 vim 处于 `terminal` 中, 那么就需要做额外一些处理

2021-12-04 16:03:33 374

原创 如何在 Vim 中使用外部命令的输出

在 vim 中我们可以用添加前缀 `!` 的方式执行外部命令, 例如 `!ls`, 其结果将被在底部输出, 那么我们如果想使用外部命令的结果, 该怎么做呢?

2021-12-04 16:02:39 2093

原创 Variable Expansion in Applescript

AppleScript 是 Apple 平台 用来操控系统及 app 的一种脚本语言, 简单使用时非常便利, 但是在一些灵活场景下便难以胜任, 这篇谈谈我遇到的 `variable expansion`问题

2021-12-04 16:01:39 130

原创 Shell 在 MacOS 及 Linux 中的文件读取顺序

Shell 在 MacOS 及 Linux 中的文件读取顺序himgMacOS 与 Linux 中 zsh 的加载顺序Interactive loginInteractive non-loginScript/etc/zshenvAAA~/.zshenvBBB/etc/zprofileC~/.zprofileD/etc/zshrcEC~/.zshrcFD/etc/zloginG~/.zlogin

2021-06-14 08:57:51 322

原创 Vim 之代码跟踪

这一篇聊聊我们如何通过 vim 浏览代码代码浏览最重要的就是跟踪代码, 跟踪定义, 跟踪声明, 跟踪调用, 跟踪引用...himgvim 的跟踪通常可以通过两种方式实现:tags: 通过 ctags 工具生成 tags 文件cscope 数据库: 通过 cscope 或 gtags-cscope 生成 cscope 数据库两种方法各有优缺点, 而且可以搭配使用, 并不冲突. 下面逐个介绍.ctagsctags 定义: 产生标记文件以帮助在源文件中定位对象. 包含以下对象:class n

2021-06-08 23:03:39 975 1

原创 UIScrollView 的相关滑动代理回调方法及属性在滑动时的变化

如题, 虽然用了很多很多次 UIScrollView, 知道它有一些滑动代理回调方法, 知道它有一些滑动状态相关的属性, 但对这些方法在每一个时间点的具体状态总是不太确定, 看官方说明文档也是一头雾水. 索性这次将所有的代理方法及属性调用一遍, 然后记录下结果.对于这种涉及到状态变化的描述, 文字似乎有些苍白无力, 于是我尝试用图表的方式来进行记录, 以期更加直观.情景一: 拖拽加速然后松开自由滑动himg❝如果滑动到底部, 且 ScrollView 有 bounces 回弹效果的话, 那么最后

2021-06-02 23:29:08 418

原创 Git Submodule 使用

himggit 的 submodule 作为一个独立的 repo, 其拥有普通 repo 全部的功能, 我们可以完全按照普通的 repo 管理命令来进入 submodule 中进行手动管理. 不过如果存在多个 submodule 位于同一 superproject 下时, 掌握一些 git submodule ... 命令就变得尤为重要了.本文列出了常用的一些 git submodule 管理命令, 并举出实际应用中遇到的问题及解决方案.submodule 介绍在 git 仓库 superproj

2021-05-23 23:40:01 4474

原创 C++ 之头文件声明定义

最近在学习 c++, 在编译与链接过程中遇到了一些定义与声明的问题, 经过多处查阅资料, 基本解惑. 现记录与此, 希望让后面人少走些弯路.C++ 的头文件应该用什么扩展名?目前业界的常用格式如下:implementation file*.cpp*.cc*.cc*.cheader file*.hpp*.h++*.hh*.hxx*.h一句话: 建议 源文件使用 .cpp, 头文件使用 .hpp关于 implementation file 并没有什么说的, 使用.

2021-05-22 00:51:43 2616 2

原创 C/C++ 头文件路径在编译时及工具中的设置

使用 C/CPP, 避免不了要和各种头文件打交道, 系统库还好, 基本上不需要操心, 已经被自动预置入头文件列表中了. 棘手的是使用第三方库, 这时就要手动指定其头文件位置与库文件位置. 本文记录下在终端中手工编译与某些工具内编译的设置方式.终端中使用 gcc/clang/makefile 手工编译通常情况下, 我们可以使用 gcc -I/include -c test.c -o test.o 与 gcc test.o -L/libs -o test 命令来分别指定头文件与库文件位置, 但是对于一个

2021-03-02 22:00:14 1450

原创 Rime 输入法使用

久闻 Rime 输入法的大名, 在几次浅尝辄止后, 终于被其高可定制性与简洁所吸引, 进而彻底转入 Rime 的怀抱. 由于 Rime 的安装与使用有一定的难度, 因此本文记录下相关的基础操作, 用于后来查阅.himg如果你是一个 Rime 新用户, 那么请完全根据本文的顺序进行阅读及配置, 最终将得到一个你满意的输入法. 如果你对 Rime 已经有基本的使用, 那么也可以迅速按照本文目录快速找到你需久闻 Rime 输入法的大名, 在几次浅尝辄止后, 终于被其高可定制性与简洁所吸引, 进而彻底转入 Ri

2021-02-18 19:00:57 1319

原创 iOS 中的静态库与动态库

如果你经常困惑 iOS 开发中的静态库和动态库的作用与区别, 那么这篇文章可以为你解惑himghimg静态库 (Static Libraries)静态库简单的理解是多个目标文件 (object file, 以 .o 为后缀) 的打包集合. 静态库的存在形式:Mac/iOS: .a 或封装成 .frameworkLinux: .aWindows: .lib❝查看 object file 格式: objdump -macho -section-headers /bin/ls优势提供的是

2021-01-24 19:55:56 833 1

原创 神级编辑器 Vim 使用-最后

本文是系列笔记的最后一篇, 在这里讨论下与 vim 操作无关的事情 ^_^himg本系列教程共分为以下五个部分:神级编辑器 Vim 使用-基础篇神级编辑器 Vim 使用-操作篇神级编辑器 Vim 使用-插件篇神级编辑器 Vim 使用-正则操作篇神级编辑器 Vim 使用-最后Vim 会不会过时Vi(m)在上世纪 80 年代左右就已经诞生了, 时至今日, 市面上流行的文本编辑器没有任意一个比 vim 更长寿(Emacs 除外). 而且, 我认为 vim 在可预见的未来内也不会过时, 原因有以下几点

2021-01-22 21:12:43 190 2

原创 神级编辑器 Vim 使用-正则替换篇

Vim 的替换查找是其核心功能, 功能极其强大, 通过其规则匹配, 可以很快速地完成我们很多需要大量人力操作的工作, 而且可对多文件使用查找/替换功能.himg本系列教程共分为以下五个部分:神级编辑器 Vim 使用-基础篇神级编辑器 Vim 使用-操作篇神级编辑器 Vim 使用-插件篇神级编辑器 Vim 使用-正则操作篇神级编辑器 Vim 使用-最后正则匹配的模式编程界实现了多种正则匹配引擎, vim 的正则匹配引擎是独有的, 其风格类似于 POSIX, 但是我们可通过将其匹配模式设为:\

2021-01-21 20:09:59 1466

原创 神级编辑器 Vim 使用-插件篇

在这篇中, 会列举各种实用的插件, 包括他们的安装, 配置及使用方法注意: 不是本部分的所有插件都是你需要装的, 如果盲目安装插件只会导致你 vim 功能混乱, 速度底下, 所以适时整理真正需要的插件, 禁用或清除掉不常用的插件才是正确使用方法.himg本系列教程共分为以下五个部分:神级编辑器 Vim 使用-基础篇神级编辑器 Vim 使用-操作篇神级编辑器 Vim 使用-插件篇神级编辑器 Vim 使用-正则操作篇神级编辑器 Vim 使用-最后vim-plugvim-plug 是 vim 下的

2021-01-19 22:40:17 1711 1

原创 2020 年度总结

2020 年, 注定会被无数人铭记的一年,在这一年我们整个国家经历了病毒的考验,无数人的人生轨迹也因此发生重大改变.himg2020 年, 可谓是我人生中最具转折意义的一年.在这一年, 我来到了深圳, 开始了我的互联网职业生涯.在这一年, 我求知若渴, 学习了大量知识, 积累了大量经验.在这一年, 我终于结束了 7 年的爱情长跑.这是我第一次做自我的年终总结, 在做这个总结之前, 我将这一年发生的事情仔细地梳理了一遍,梳理完之后, 感到有那么一点不可思议 - 我在这一年中做到了这么多事情

2021-01-18 21:35:15 181 1

原创 神级编辑器 Vim 使用-操作篇2

本部分笔记可作为速查 CheatSheet 使用 ^_^himg本系列教程共分为以下五个部分:神级编辑器 Vim 使用-基础篇神级编辑器 Vim 使用-操作篇神级编辑器 Vim 使用-插件篇神级编辑器 Vim 使用-正则操作篇神级编辑器 Vim 使用-最后路径vim 的工作路径是使用中要格外注意的地方, 简单来说, 终端中的 vim 默认会把终端当前的路径作为其工作路径, 当然我们可以使用 cd 使其工作路径变更:cd [path]: 设置此次vim的工作目录为path:cd %:h: c

2021-01-17 19:59:23 202

原创 神级编辑器 Vim 使用-基础篇

最近一段时间, 看了两本关于 vim 的书, 重新学了一遍 vim, 在感慨 vim 强大的同时, 也为从前的自满感到汗颜, 我拿起了从前做的关于 vim 的笔记, 重新梳理了一遍, 作为一个系列分享到网上, 主要目的是想让更多 vim 的爱好者能够掌握更多的操作技巧.本系列 vim 笔记的目的不是从零教会你如何操作 vim, 而是作为一本手册或者扩展你的视野, 让你知道原来 vim 还能这么用.希望你能从本系列教程中收获到你感兴趣的部分内容!himg本系列教程共分为以下五个部分:神级编辑器

2021-01-17 19:55:29 499

原创 神级编辑器 Vim 使用-操作篇 1

本部分笔记可作为速查 CheatSheet 使用 _本系列教程共分为以下五个部分:神级编辑器 Vim 使用-基础篇神级编辑器 Vim 使用-操作篇神级编辑器 Vim 使用-插件篇神级编辑器 Vim 使用-正则操作篇神级编辑器 Vim 使用-最后基础命令$ vim code.c: 在终端中打开 code.c 文件$ vim ~/.vimrc: 打开根目录下的 .vimrc 文件$ vim -u NONE -N: 以不加载任何插件的方式启动 vim:h [option]: 显示对命

2021-01-17 19:48:53 327

原创 一种简单的 iOS 暗黑模式实现方案(支持低版本)

说说最近对于 iOS 系统黑暗主题适配(兼容iOS 13 以下版本)的方案研究.[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9RLZZovq-1610732090608)(https://a.hanleylee.com/HKMS/2021-01-10192257.jpg?x-oss-process=style/WaMa)]iOS 13 开始 Apple 在系统层面支持了黑暗模式, 现在很多 App 也都支持了黑暗模式. 也有关于黑暗模式的很多成熟的开源实现方案, 按道

2021-01-16 01:36:15 830

原创 Swift 中如何避免精度丢失

如果你开发过涉及金额计算的 iOS app, 那么你很有可能经历过在使用浮点型数字时精度丢失的问题让我们来看看为什么会丢失以及如何解决吧浮点型数字的数值精度为何会丢失?这里我不想系统地讲解浮点型是如何由基数尾数指数组成的, 直接说原因: 因为用二进制能表示的以 2 为底的指数必然是 2 的倍数, 也就是说只能为 0.5, 0.25, 0.125... 以此类推, 那么我们就可以发现无论将这些数字怎么组合, 都不可能达到 0.3 这个值, 因此计算机这个时候会给我们一个最接近 0.3 且恰好是这些

2021-01-16 01:12:45 739

空空如也

空空如也

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

TA关注的人

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