<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Stellar Wake</title><description>Code is the passage to the stars. From the fluid interactions atop the screen, to the precise logic beneath the system, and onward to the vast frontiers of intelligence — every compile, a voyage.</description><link>https://regulusleow.github.io/</link><item><title>C 语言重拾【九】联合类型 union</title><link>https://regulusleow.github.io/posts/2026/0416-beceb652/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0416-beceb652/</guid><description>在 C 语言中， 常被翻译为“联合”或者“联合体”。它和  一样都可以声明多个成员，但两者的内存模型并不相同。 的关键不在于“同时拥有多个成员”，而在于多个成员共用同一块内存。</description><pubDate>Wed, 15 Apr 2026 16:00:00 GMT</pubDate></item><item><title>TypeScript学习【一】初入 TypeScript</title><link>https://regulusleow.github.io/posts/2026/0416-fee70183/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0416-fee70183/</guid><description>对于已经有静态类型语言经验的开发者来说，学习 TypeScript 的难点通常不在基础语法，而在于类型系统视角的切换。真正决定上手速度的，往往不是记住多少语法点，而是有没有先建立起正确的理解框架。</description><pubDate>Wed, 15 Apr 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习六：为什么写完 Prompt 还不算结束</title><link>https://regulusleow.github.io/posts/2026/0415-8c40fc45/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0415-8c40fc45/</guid><description>前五篇一直沿着同一条主线推进：先把任务说清楚，再让输出更稳定，再定义输入输出接口，再把复杂任务拆成流程，最后开始从工具和上下文的角度理解系统。继续往下，会遇到另一个容易被低估的问题：一个 Prompt 即使已经能跑通，也不代表它真的可上线、可维护、可长期使用。</description><pubDate>Tue, 14 Apr 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习五：从工具调用到上下文工程</title><link>https://regulusleow.github.io/posts/2026/0302-d05aa037/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0302-d05aa037/</guid><description>前四篇一直沿着同一条主线推进：先把任务说清楚，再把输出收窄，再把返回结构定义清楚，再学会把复杂任务拆成流程。继续往下，会遇到一个新的问题：当模型不只是回答问题，而是要调用工具、读取上下文、访问外部知识、在多个步骤里持续动作时，Prompt 还只是“写一句话”吗？</description><pubDate>Sun, 01 Mar 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习四：为什么复杂任务不能只靠一个 Prompt</title><link>https://regulusleow.github.io/posts/2026/0226-dd8577ae/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0226-dd8577ae/</guid><description>前三篇分别在解决三个问题：第一，怎么把任务说清楚；第二，怎么让结果更稳定；第三，怎么把行为边界和输出契约定义清楚。继续往下，会遇到第四个问题：如果任务本身就不是单步能完成的，那么一个 Prompt 写得再完整，是不是仍然不够？</description><pubDate>Wed, 25 Feb 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习三：从角色提示到结构化接口</title><link>https://regulusleow.github.io/posts/2026/0222-fdc9dd57/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0222-fdc9dd57/</guid><description>前两篇分别讨论了两件事：第一，Prompt 不是聊天技巧，而是结构化输入设计；第二，想让模型真正接入系统，就必须让输出更稳定。继续往下，会遇到第三个问题：如果目标不只是“答得差不多”，而是“行为边界清楚、输出结构稳定、结果能被程序消费”，Prompt 还需要向什么方向推进？</description><pubDate>Sat, 21 Feb 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习二：如何让输出更稳定</title><link>https://regulusleow.github.io/posts/2026/0218-3306301a/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0218-3306301a/</guid><description>上一篇的核心结论是：Prompt 不是聊天技巧，而是结构化输入设计。这个视角解决了“怎样把任务说清楚”的问题，但当模型真正接入系统之后，还会遇到第二个问题：任务已经说明清楚，输出为什么仍然不稳定？</description><pubDate>Tue, 17 Feb 2026 16:00:00 GMT</pubDate></item><item><title>Prompt学习一：从提问到结构化表达</title><link>https://regulusleow.github.io/posts/2026/0214-fb141178/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2026/0214-fb141178/</guid><description>如果把大语言模型当成一个聊天对象，Prompt 的学习方向就很容易偏向“怎么说更像咒语”，而忽略“怎么让结果更稳定、更可控”。在 AI 应用开发场景里，Prompt 更适合被理解为一种接口设计能力，也可以把它视为一种写给模型的接口协议。</description><pubDate>Fri, 13 Feb 2026 16:00:00 GMT</pubDate></item><item><title>iOS 队列的两种实现：循环数组 vs 链表</title><link>https://regulusleow.github.io/posts/2025/1022-23da5498/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/1022-23da5498/</guid><description>队列（Queue）是一种遵循先进先出（FIFO，First In First Out）原则的线性数据结构。在 iOS 开发中，我们经常需要使用队列来处理各种场景，比如：任务调度、消息队列、事件处理等。</description><pubDate>Tue, 21 Oct 2025 16:00:00 GMT</pubDate></item><item><title>iOS 中的 MMap 内存映射技术详解</title><link>https://regulusleow.github.io/posts/2025/1018-8474d88a/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/1018-8474d88a/</guid><description>MMap（Memory Mapping）是一种内存映射技术，它允许将文件或其他对象映射到进程的地址空间。在 iOS 开发中，mmap 是一个强大的系统调用，能够将磁盘文件的内容直接映射到内存地址空间，使得对文件的读写操作可以像访问内存一样简单高效。</description><pubDate>Fri, 17 Oct 2025 16:00:00 GMT</pubDate></item><item><title>数据结构：循环数组详解</title><link>https://regulusleow.github.io/posts/2025/1018-de0e0adb/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/1018-de0e0adb/</guid><description>循环数组（Circular Array），也称为环形数组或环形缓冲区（Ring Buffer），是一种特殊的数组结构。它在逻辑上将数组的首尾相连，形成一个环形结构。当数组索引到达末尾时，会自动回到数组的开头，实现循环访问。</description><pubDate>Fri, 17 Oct 2025 16:00:00 GMT</pubDate></item><item><title>ReactNative 新架构中 iOS 通过 JSI 调用 RN 函数</title><link>https://regulusleow.github.io/posts/2025/0403-7fc54182/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0403-7fc54182/</guid><description>React Native 的新架构是为了解决旧架构中存在的性能瓶颈和开发体验问题而推出的重大升级。新架构主要包含以下几个核心组件：</description><pubDate>Wed, 02 Apr 2025 16:00:00 GMT</pubDate></item><item><title>算法：删除链表的倒数第 N 个结点</title><link>https://regulusleow.github.io/posts/2025/0226-9525dba9/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0226-9525dba9/</guid><description>给你一个链表，删除链表的倒数第  个结点，并且返回链表的头结点。 - 链表中结点的数目为 - - - 进阶：你能尝试使用一趟扫描实现吗？</description><pubDate>Tue, 25 Feb 2025 16:00:00 GMT</pubDate></item><item><title>算法：回文数</title><link>https://regulusleow.github.io/posts/2025/0224-73cc3764/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0224-73cc3764/</guid><description>给你一个整数  ，如果  是一个回文整数，返回  ；否则，返回  。 回文数是指正序（从左向右）和倒序（从右向左）读都是一样的整数。</description><pubDate>Sun, 23 Feb 2025 16:00:00 GMT</pubDate></item><item><title>算法：无重复字符的最长子串</title><link>https://regulusleow.github.io/posts/2025/0220-a9235b66/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0220-a9235b66/</guid><description>给定一个字符串  ，请你找出其中不含有重复字符的 最长 子串 的长度。 - -  由英文字母、数字、符号和空格组成</description><pubDate>Wed, 19 Feb 2025 16:00:00 GMT</pubDate></item><item><title>算法：两数相加</title><link>https://regulusleow.github.io/posts/2025/0218-474acc60/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0218-474acc60/</guid><description>给你两个 非空 的链表，表示两个非负的整数。它们每位数字都是按照 逆序 的方式存储的，并且每个节点只能存储 一位 数字。 请你将两个数相加，并以相同形式返回一个表示和的链表。</description><pubDate>Mon, 17 Feb 2025 16:00:00 GMT</pubDate></item><item><title>数据结构与算法：数组的基本原理</title><link>https://regulusleow.github.io/posts/2025/0216-29b20e1c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0216-29b20e1c/</guid><description>在讲解数据结构时，数组总是一个大家早期接触的主题。但你可能会发现，不同编程语言中“数组”这一概念的使用方式和 API 有所区别。其实我们可以把「数组」分为两大类：</description><pubDate>Sat, 15 Feb 2025 16:00:00 GMT</pubDate></item><item><title>算法：两数之和</title><link>https://regulusleow.github.io/posts/2025/0216-df6b8cd9/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2025/0216-df6b8cd9/</guid><description>给定一个整数数组  和一个整数目标值 ，请你在该数组中找出 和为目标值  的那 两个 整数，并返回它们的数组下标。 你可以假设每种输入只会对应一个答案，并且你不能使用两次相同的元素。</description><pubDate>Sat, 15 Feb 2025 16:00:00 GMT</pubDate></item><item><title>Ruby 魔法：用 Monkey Patching 解决 Fastlane Gym 的清理困境</title><link>https://regulusleow.github.io/posts/2024/1001-8d47ee00/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/1001-8d47ee00/</guid><description>在 iOS 开发中，自动化构建和打包流程是提高效率的关键。Fastlane 的 Gym 工具为我们提供了强大的自动化能力，但有时也会带来一些令人头疼的问题。今天，我们就来探讨一个我遇到的 Gym 打包问题，并分享一个巧妙的解决方案。</description><pubDate>Mon, 30 Sep 2024 16:00:00 GMT</pubDate></item><item><title>如何使用 fastlane 读取 iOS 证书信息</title><link>https://regulusleow.github.io/posts/2024/0923-29eb2495/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/0923-29eb2495/</guid><description>在 iOS 开发中，证书管理一直是一个重要且复杂的话题。随着 fastlane 的更新，我们处理证书信息的方式也在不断演进。今天，我想分享我在使用 fastlane 读取和加密 iOS 证书信息时的经历，以及如何应对 fastlane 更新带来的变化。</description><pubDate>Sun, 22 Sep 2024 16:00:00 GMT</pubDate></item><item><title>常用 Android Debug Bridge (ADB) 命令指南</title><link>https://regulusleow.github.io/posts/2024/0524-a5b9e4a4/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/0524-a5b9e4a4/</guid><description>Android Debug Bridge (adb) 是一个功能强大的工具，广泛应用于安卓开发、调试和设备管理。本文将为大家介绍一些常用且实用的 adb 命令，帮助你更好地利用这个工具来提高工作效率。</description><pubDate>Thu, 23 May 2024 16:00:00 GMT</pubDate></item><item><title>TypeScript学习之函数</title><link>https://regulusleow.github.io/posts/2024/0207-b16a990d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/0207-b16a990d/</guid><description>函数是任何应用程序的基本构建块，无论它们是本地函数、从另一个模块导入的函数，还是类中的方法。 它们也是值，就像其他值一样，TypeScript 有很多方法来描述如何调用函数。 让我们学习如何编写描述函数的类型。</description><pubDate>Tue, 06 Feb 2024 16:00:00 GMT</pubDate></item><item><title>TypeScript学习之类型缩小</title><link>https://regulusleow.github.io/posts/2024/0123-23320ee7/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/0123-23320ee7/</guid><description>假设我们有一个名为  的函数。 如果  是 ，它会将其视为我们想要添加到  的空格数。如果  是 ，它应该只是将  前置到 。让我们尝试实现当  为  传递  时的逻辑。</description><pubDate>Mon, 22 Jan 2024 16:00:00 GMT</pubDate></item><item><title>TypeScript学习之日常类型</title><link>https://regulusleow.github.io/posts/2024/0122-d0612a60/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2024/0122-d0612a60/</guid><description>函数是在 JavaScript 中传递数据的主要方式。 TypeScript 允许您指定函数的输入和输出值的类型。</description><pubDate>Sun, 21 Jan 2024 16:00:00 GMT</pubDate></item><item><title>TypeScript学习之基础类型</title><link>https://regulusleow.github.io/posts/2023/0925-d121eae0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0925-d121eae0/</guid><description>JavaScript 程序的另一项基本操作是处理网页或服务器端的文本数据。 像其它语言里一样，我们使用表示文本数据类型。 和 JavaScript 一样，可以使用双引号（）或单引号（）表示字符串。</description><pubDate>Sun, 24 Sep 2023 16:00:00 GMT</pubDate></item><item><title>Android 学习之 Activity 生命周期</title><link>https://regulusleow.github.io/posts/2023/0919-a7f30888/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0919-a7f30888/</guid><description>当用户浏览、退出和返回到您的应用时，应用中的  实例会在其生命周期的不同状态间转换。 类会提供许多回调，这些回调会让 Activity 知晓某个状态已经更改：系统正在创建、停止或恢复某个 Activity，或者正在销毁该 Activity 所在的进程。</description><pubDate>Mon, 18 Sep 2023 16:00:00 GMT</pubDate></item><item><title>Docker 中 gitlab 登录密码忘了怎么办？</title><link>https://regulusleow.github.io/posts/2023/0909-3ae0672c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0909-3ae0672c/</guid><description>一直自动登录导致忘记 gitlab 的密码，这篇文章我们来通过命令行修改 gitlab 的密码。</description><pubDate>Fri, 08 Sep 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【八】结构和其他数据形式</title><link>https://regulusleow.github.io/posts/2023/0620-802bd15f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0620-802bd15f/</guid><description>在 C 语言中，结构体是一种非常重要的数据类型。它可以将不同的数据类型组合成一个整体，方便程序员进行操作。比如，我们可以定义一个结构体来表示一个人的信息，包括姓名、年龄、性别等等。使用结构体可以使得程序更加清晰易懂，提高代码的可读性和可维护性。</description><pubDate>Mon, 19 Jun 2023 16:00:00 GMT</pubDate></item><item><title>macOS 安装 manpages-zh</title><link>https://regulusleow.github.io/posts/2023/0518-38f7c451/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0518-38f7c451/</guid><description>在 macOS 上， 命令用于查看系统中安装的程序的帮助文档。然而，默认情况下，这些帮助文档都是英文的，对于不熟悉英文的用户来说可能会有些困难。幸运的是，我们可以安装  来获取中文帮助文档。</description><pubDate>Wed, 17 May 2023 16:00:00 GMT</pubDate></item><item><title>GitHub 使用命令行同步 fork 仓库</title><link>https://regulusleow.github.io/posts/2023/0502-fcece820/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0502-fcece820/</guid><description>在 GitHub 上，我们可以使用 Fork 操作将其他用户的仓库复制到自己的账户下。但如果原始仓库更新了，我们可能需要将其再次 fork 到自己的账户下，以保持代码与原始仓库同步。下面将介绍如何使用 Git 命令行进行 GitHub 仓库再次 fork 的操作。</description><pubDate>Mon, 01 May 2023 16:00:00 GMT</pubDate></item><item><title>如何使用 Git 进行高效的版本控制</title><link>https://regulusleow.github.io/posts/2023/0420-28968d5c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0420-28968d5c/</guid><description>Git 是一款分布式版本控制系统，于 2005 年由 Linus Torvalds 创造并开源发布。Git 的设计初衷是为了更好地管理 Linux 内核代码，它的分布式特性使得多人协作开发和大型项目的版本控制变得更加高效和可靠。现在，Git 已经成为了开源社区和软件开发领域中最受欢迎的版本控制工具之一。</description><pubDate>Wed, 19 Apr 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【七】存储类别、链接和内存管理</title><link>https://regulusleow.github.io/posts/2023/0411-543ae15f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0411-543ae15f/</guid><description>C 语言能让程序员恰到好处的控制程序，这是它的优势之一。程序员通过 C 的内存管理系统指定变量的作用域和生命周期，实现对程序的控制。合理使用内存存储数据是设计程序的一个要点。</description><pubDate>Mon, 10 Apr 2023 16:00:00 GMT</pubDate></item><item><title>iOS 使用 fastlane 打包</title><link>https://regulusleow.github.io/posts/2023/0410-c7a39f54/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0410-c7a39f54/</guid><description>在一款 App 从开发到上架都会经历  的过程。其中编译打包这种重复且繁琐的工作公司内都会有一个 CI 平台去负责，我们今天就来了解一下 CI 的编译打包流程是怎样的。</description><pubDate>Sun, 09 Apr 2023 16:00:00 GMT</pubDate></item><item><title>编译 objc4-866.9 源码</title><link>https://regulusleow.github.io/posts/2023/0408-2dd458e7/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0408-2dd458e7/</guid><description>* macOS Ventura 13.3 * Xcode 14.3 * Apple M2 Pro 如果环境大体相同可用我已整理好的工程：objc4-866.9 源码编译</description><pubDate>Fri, 07 Apr 2023 16:00:00 GMT</pubDate></item><item><title>编译 Swift 5.8 源码</title><link>https://regulusleow.github.io/posts/2023/0408-cdf539ea/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0408-cdf539ea/</guid><description>首先保证硬盘空间足够，本人一套流程下来文件夹有将近 60GB 大小。接下来是相关环境的安装，因为我的环境都是最新的，所以基本安装的都是最新版的包，如果你的环境不是新版的话，请找对应版本包安装。本人环境说明：</description><pubDate>Fri, 07 Apr 2023 16:00:00 GMT</pubDate></item><item><title>ProvisionQL 简介</title><link>https://regulusleow.github.io/posts/2023/0330-29a808f9/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0330-29a808f9/</guid><description>ProvisionQL 是一款支持快速预览  和  等文件信息的插件。它能以美观整洁的页面快速预览大量信息，包括设备 UUID、证书、授权等等。</description><pubDate>Wed, 29 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【六】字符串和字符串函数</title><link>https://regulusleow.github.io/posts/2023/0328-3a202980/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0328-3a202980/</guid><description>之前的文章介绍过，字符串是以空字符（ ）结尾的类型数组。常用的输出字符串的方式有两种 和，他们不同之处在于，是格式化输出字符串，而只显示字符串。</description><pubDate>Mon, 27 Mar 2023 16:00:00 GMT</pubDate></item><item><title>使用 Homebrew 管理 Ruby</title><link>https://regulusleow.github.io/posts/2023/0327-4598b0f1/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0327-4598b0f1/</guid><description>macOS 上的 Ruby 环境管理我相信是大多数软件开发都会遇到的一个问题，如果我们需要同时管理多个 Ruby 版本的话，有  和  的方式，具体的操作网上已有大量的文章供我们学习，本文不再做赘述。今天我们来看一下如何使用  来管理我们的 Ruby。</description><pubDate>Sun, 26 Mar 2023 16:00:00 GMT</pubDate></item><item><title>代理 Xcode SPM</title><link>https://regulusleow.github.io/posts/2023/0317-f58ad0b0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0317-f58ad0b0/</guid><description>由于网络问题，我们在使用 Xcode SPM 管理项目依赖库的时候，依赖库那速度真的是拉的一泻千里💩。所以我们需要将 SPM 下载依赖库的过程交给我们的代理去处理。首先你需要一个科学上网工具，无论是客户端还是路由器刷机，此文章的例子都是基于本人网络环境 ，其他的代理方式需自行研究。</description><pubDate>Thu, 16 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【五】指针</title><link>https://regulusleow.github.io/posts/2023/0309-1f8d311d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0309-1f8d311d/</guid><description>指针？什么是指针？从根本上看，指针（pointer）是一个值为内存地址的变量（或数据对象）。正如类型变量的值是字符，类型变量的值是整数，指针变量的值是地址。在 C 语言中，指针有许多用法。本章将介绍如何把指针作为函数参数使用，以及为何要这样用。</description><pubDate>Wed, 08 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【四】ctype.h 系列的字符函数</title><link>https://regulusleow.github.io/posts/2023/0308-6b4455cc/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0308-6b4455cc/</guid><description>C 有一系列专门处理字符的函数， 头文件包含了这些函数的原型。这些函数接受一个字符作为参数，如果该字符属于某特殊的类别，就返回一个非零值（真）；否则，返回口（假）。例如，如果  函数的参数是一个字母，则返回一个非零值。</description><pubDate>Tue, 07 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【三】新的 _Bool 类型</title><link>https://regulusleow.github.io/posts/2023/0307-120b5bec/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0307-120b5bec/</guid><description>在 C 语言中，一直用  类型的变量表示  值。C99 专门针对这种类型的变量新增了  类型。该类型是以英国数学家 George Boole 的名字命名的，他开发了用代数表示逻辑和解决逻辑问题。在编程中，表示真或假的变量被称为布尔变量（Boolean variable），所以日  是 C 语言中布尔变量的类型名。 类型的变量只能储存 或 。如果把其他非零数值赋给  类型的变量，该变量会被设置为</description><pubDate>Mon, 06 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【二】字符串</title><link>https://regulusleow.github.io/posts/2023/0306-1aa8501c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0306-1aa8501c/</guid><description>暂无摘要</description><pubDate>Sun, 05 Mar 2023 16:00:00 GMT</pubDate></item><item><title>C 语言重拾【一】编程机制</title><link>https://regulusleow.github.io/posts/2023/0302-b34b2bf4/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0302-b34b2bf4/</guid><description>C 编程的基本策略是，用程序把源代码文件转换为可执行文件（其中包含可直接运行的机器语言代码）。 典型的 C 实现通过编译和链接两个步骤来完成这一过程。编译器把源代码转换成中间代码，链接器把中间代码和其他代码合并，生成可执行文件。C 使用这种分而治之的方法方便对程序进行模块化，可以独立编译单独的模块，稍后再用链接器合并已编译的模块。通过这种方式，如果只更改某个模块，不必因此重新编译其他模块。另外</description><pubDate>Wed, 01 Mar 2023 16:00:00 GMT</pubDate></item><item><title>两数之和</title><link>https://regulusleow.github.io/posts/2023/0223-72f5a903/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0223-72f5a903/</guid><description>如下，输入一个数组和一个目标变量： input: [1, 3, 1, 3, 2, 2, 5, -1] input: 4 要求找到此数组中所有两数之和等于目标变量的元素集合并返回，并且结果中不能有重复项。</description><pubDate>Wed, 22 Feb 2023 16:00:00 GMT</pubDate></item><item><title>如何成为一名优秀的技术经理</title><link>https://regulusleow.github.io/posts/2023/0221-8185f99d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2023/0221-8185f99d/</guid><description>我们都知道有的程序员能创造 10 倍的价值，那么我们是吗？ 根据 20 世纪 60 年代进行的一份研究，对开发人员的各种方面（如代码简单性、程序大小、调试技巧、程序执行等）进行了比较。根据这项研究，普遍的共识是，一个优秀的开发人员和一个差劲的开发人员之间的差异可以达到20 倍之多，而中间值在大多数情况下是 10 倍。</description><pubDate>Mon, 20 Feb 2023 16:00:00 GMT</pubDate></item><item><title>长截图功能所遇到的问题以及解决方式</title><link>https://regulusleow.github.io/posts/2022/0704-6d58aadb/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2022/0704-6d58aadb/</guid><description>由于笔记截图需要缩放以适应预览视图，所以截图时会出现不清晰的问题。故我们需要用笔记截图的原数据进行渲染绘制。 我们将预览视图分为四大块儿进行处理，分别为，header，note，footer，user info，因为 header 和 footer 只有在设置主题的情况下才可能存在，所以需要将 header，footer 和 user info 分别处理</description><pubDate>Sun, 03 Jul 2022 16:00:00 GMT</pubDate></item><item><title>进程间通信简介</title><link>https://regulusleow.github.io/posts/2022/0124-5dd375a1/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2022/0124-5dd375a1/</guid><description>在许多方面，苹果的故事都是一些有趣的历史偶然事件将技术融合在一起，创造出比以前更好的东西：OS X 是 MacOS 与 NeXTSTEP 的结合。OC 是 Smalltalk 类面向对象编程与 C 的结合。iCloud 则是苹果移动服务与云平台的结合。</description><pubDate>Sun, 23 Jan 2022 16:00:00 GMT</pubDate></item><item><title>设计守护进程和服务</title><link>https://regulusleow.github.io/posts/2021/1217-daa7b882/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2021/1217-daa7b882/</guid><description>在 macOS 中有四种类型的后台进程。不同之处在下表中进行了总结，并在下面的小节中进行了详细描述。要选择适当类型的后台进程，请考虑以下事项：</description><pubDate>Thu, 16 Dec 2021 16:00:00 GMT</pubDate></item><item><title>XPC 详解</title><link>https://regulusleow.github.io/posts/2021/1103-949c5f4f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2021/1103-949c5f4f/</guid><description>在 App 端，我们有一个 connection 对象。每次将数据发给 service 时，我们需要调用    方法来创建一个远程对象代理 (remote object proxy)。</description><pubDate>Tue, 02 Nov 2021 16:00:00 GMT</pubDate></item><item><title>FFmpeg Xcode 环境搭建</title><link>https://regulusleow.github.io/posts/2021/0629-d6f6703f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2021/0629-d6f6703f/</guid><description>根据 官方文档 的描述，有三种安装 FFmpeg 的方式，这里我们选择最简单快速的一种，使用  命令安装。 如果还没有安装  的话，请先安装 ，点击跳转官方网站</description><pubDate>Mon, 28 Jun 2021 16:00:00 GMT</pubDate></item><item><title>XCFramework 踩坑记</title><link>https://regulusleow.github.io/posts/2020/1221-76a295e0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2020/1221-76a295e0/</guid><description>Building for iOS Simulator, but the embedded framework &apos;xxx.framework&apos; was built for iOS + iOS Simulator.</description><pubDate>Sun, 20 Dec 2020 16:00:00 GMT</pubDate></item><item><title>iOS 数组中如何存储弱引用</title><link>https://regulusleow.github.io/posts/2019/0821-66ef7534/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0821-66ef7534/</guid><description>今天在项目中遇到了一个有趣的问题。项目中有一个监听的服务，监听需要将控制器放入一个数组中为其进行相应的操作。不过这引发了一个循环引用的问题。那么问题就变成了，如何在数组中存储弱引用呢？</description><pubDate>Tue, 20 Aug 2019 16:00:00 GMT</pubDate></item><item><title>layerClass</title><link>https://regulusleow.github.io/posts/2019/0402-d7f0cf30/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0402-d7f0cf30/</guid><description>今天在工作中遇到了需要让  支持  的问题。因为我播放器的  是通过约束决定大小的，目的为了适应小屏手机。我需要让我的  充满我的 ，如果有  这个问题就非常好解决，但是  是不支持  的，我想到了两种解决方式。</description><pubDate>Mon, 01 Apr 2019 16:00:00 GMT</pubDate></item><item><title>Carthage 新手教程</title><link>https://regulusleow.github.io/posts/2019/0309-f22cb42d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0309-f22cb42d/</guid><description>Cocoapods 是由来已久的 Cocoa 依赖管理工具，那么为什么 Carthage 项目被创建？ 首先，Cocoapods（默认情况下）会自动的为你的应用程序和所有依赖创建和更新 。Carthage 用  构建框架（framework）的二进制文件，但是并没有将他们整合到用户项目中。Cocoapods 的目的是让用户使用起来更简单，而 Carthage 则是更灵活，减少对项目的侵入性</description><pubDate>Fri, 08 Mar 2019 16:00:00 GMT</pubDate></item><item><title>Python 学习二之函数</title><link>https://regulusleow.github.io/posts/2019/0208-1c9a0ab0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0208-1c9a0ab0/</guid><description>函数名其实就是指向一个函数对象的引用，完全可以把函数名赋给一个变量，相当于给这个函数起了一个“别名”。 定义空函数，目的是为了让程序能够跑起来。</description><pubDate>Thu, 07 Feb 2019 16:00:00 GMT</pubDate></item><item><title>Python 学习一之基础</title><link>https://regulusleow.github.io/posts/2019/0207-ddaa6341/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0207-ddaa6341/</guid><description>函数获取字符的 ASCII 码值 函数把 ASCII 转换为对应的字符</description><pubDate>Wed, 06 Feb 2019 16:00:00 GMT</pubDate></item><item><title>macOS Mojave 中的字体</title><link>https://regulusleow.github.io/posts/2019/0130-3ecf81e3/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0130-3ecf81e3/</guid><description>我想在之前升级到 macOS Mojave 的同学都会经历过一条命令： 执行如上命令会开启苹果之前的字体渲染方式 -- 子像素抗锯齿。因为苹果在 Mojave 系统上启用了新的灰度抗锯齿模式，导致 Chrome 浏览器的字体实在无法直视，有幸今天 Chrome 浏览器更新到 72 版本后修复了这个问题。</description><pubDate>Tue, 29 Jan 2019 16:00:00 GMT</pubDate></item><item><title>自定义数据结构 Multiset</title><link>https://regulusleow.github.io/posts/2019/0121-ae59dcb1/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0121-ae59dcb1/</guid><description>实现一个名叫  的集合数据结构，要具有如下的方法 举例：</description><pubDate>Sun, 20 Jan 2019 16:00:00 GMT</pubDate></item><item><title>macOS 安装/配置 Jenkins 小记</title><link>https://regulusleow.github.io/posts/2019/0116-7218898f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2019/0116-7218898f/</guid><description>前阵子忙疯了，最近得空，来更新一下自己的博客 - 记一次 macOS 安装/配置 Jenkins 的过程，方便以后使用。 由于 macOS 新系统 Mojave 字体实在让人看着眼疼，昨天重新装回了 ，并且机智的用  备份了自己的项目配置，避免麻烦，配置上面的东西还是挺多的。</description><pubDate>Tue, 15 Jan 2019 16:00:00 GMT</pubDate></item><item><title>macOS Mojave：invalid active developer path【译】</title><link>https://regulusleow.github.io/posts/2018/1103-cd0c3444/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/1103-cd0c3444/</guid><description>我升级到 macOS Sierra（以及后来的 Mojave），我试着在终端运行  命令，但是它一直显示如下的错误： 我该如何解决？</description><pubDate>Fri, 02 Nov 2018 16:00:00 GMT</pubDate></item><item><title>一键安装最新内核并开启 BBR 脚本</title><link>https://regulusleow.github.io/posts/2018/1020-69e19556/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/1020-69e19556/</guid><description>最近，Google 开源了其 TCP BBR 拥塞控制算法，并提交到了 Linux 内核，从 4.9 开始，Linux 内核已经用上了该算法。根据以往的传统，Google 总是先在自家的生产环境上线运用后，才会将代码开源，此次也不例外。 根据实地测试，在部署了最新版内核并开启了 TCP BBR 的机器上，网速甚至可以提升好几个数量级。 于是我根据目前三大发行版的最新内核</description><pubDate>Fri, 19 Oct 2018 16:00:00 GMT</pubDate></item><item><title>WKWebView 加载 TXT 文件编码问题</title><link>https://regulusleow.github.io/posts/2018/1011-230feeec/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/1011-230feeec/</guid><description>今天在做在线预览功能的时候碰到了一个蛋疼的问题，office 格式都可以完美的适配，但是 txt 格式出现了乱码。没办法只能进行一个转码，然后再输出内容。</description><pubDate>Wed, 10 Oct 2018 16:00:00 GMT</pubDate></item><item><title>observeOn vs. subscribeOn【译】</title><link>https://regulusleow.github.io/posts/2018/0929-113bc025/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0929-113bc025/</guid><description>跨线程订阅的问题似乎在  上一次又一次的被提到。这个解释起来也是非常的简单所以我觉得放在博客当中是一个好主意，无论你在何时需要，都可以通过连接进行访问，我也不用一次又一次的回复。</description><pubDate>Fri, 28 Sep 2018 16:00:00 GMT</pubDate></item><item><title>iOS 页面卡死，但并不是 Crash 的问题解决</title><link>https://regulusleow.github.io/posts/2018/0927-6d747786/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0927-6d747786/</guid><description>最近在做的一款 App 测试中出现了一个非常诡异的问题，偶尔的界面卡死，但是又并不是 Crash，没有抛出任何异常，把 App 切到后台然后在点开又恢复了，只不过转场的时候十分诡异，似乎完全没有动画，转场背景还是黑的。</description><pubDate>Wed, 26 Sep 2018 16:00:00 GMT</pubDate></item><item><title>Swift 下使用 SQLite 教程：入门【译】</title><link>https://regulusleow.github.io/posts/2018/0802-ba8ea93f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0802-ba8ea93f/</guid><description>更新说明：本教程已由 Nikolas Burk 更新为 Xcode 9，iOS 11 和 Swift 4。最初的教程由 Chris Wagner 编写。</description><pubDate>Wed, 01 Aug 2018 16:00:00 GMT</pubDate></item><item><title>Swift 面向协议 - 为类提供基于 Storyboard 的初始化方法</title><link>https://regulusleow.github.io/posts/2018/0727-4da13121/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0727-4da13121/</guid><description>之前我们说过了运用面向协议的思想为控件添加  今天我们再来写一个基于  的初始化方法。在我的项目中，我没有将所有的  都放在一个  文件中，原因有两个：</description><pubDate>Thu, 26 Jul 2018 16:00:00 GMT</pubDate></item><item><title>WKWebView 中注入 cookie</title><link>https://regulusleow.github.io/posts/2018/0714-8165eb5f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0714-8165eb5f/</guid><description>在项目中，往往有这样的要求，用 API 进行登录之后在某个  的页面需要用  去验证身份（虽然我更喜欢用  去验证🙃）。 是苹果官方建议的控件来替代老旧的 。但是  的  无法共享 ，所以这时候就需要我们自己去管理 。（iOS 11 上新增了  来管理）</description><pubDate>Fri, 13 Jul 2018 16:00:00 GMT</pubDate></item><item><title>处理 initialize() 的弃用【译】</title><link>https://regulusleow.github.io/posts/2018/0708-653eed92/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0708-653eed92/</guid><description>在将项目迁移到 Swift 3.1 后，我受到了几个警告的欢迎。它们似乎都没有特别难以修复，只是除了这个之外： Method ‘initialize()’ defines Objective-C class method ‘initialize’</description><pubDate>Sat, 07 Jul 2018 16:00:00 GMT</pubDate></item><item><title>iOS 11 中 UIRefreshControll 消失【译】</title><link>https://regulusleow.github.io/posts/2018/0707-6fb626a9/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0707-6fb626a9/</guid><description>--- 我有一个带有  和  的  ，我的  有一个  。 当我拉动刷新时， 的  消失了，但是刷新过程仍然在继续，即使进程完成并且我调用  的  方法，导航栏也不会恢复到正常大小。</description><pubDate>Fri, 06 Jul 2018 16:00:00 GMT</pubDate></item><item><title>在 Swift 4 中 NavigationBar 不同颜色时的转场</title><link>https://regulusleow.github.io/posts/2018/0706-0f94794e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0706-0f94794e/</guid><description>我们在项目中，往往会遇到两个 Navigation Bar 样式不同的问题，如果直接用苹果官方的控件，会出现各种各样的 bug，因为苹果官方的 Navigation Bar 是共用的，所以在两个不同样式的 Navigation Bar 中做转场操作的时候就会出现各种问题。</description><pubDate>Thu, 05 Jul 2018 16:00:00 GMT</pubDate></item><item><title>iOS 配置测试用推送通知证书</title><link>https://regulusleow.github.io/posts/2018/0629-157facf1/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0629-157facf1/</guid><description>最近做通知的时候需要对通知进行测试，之前没有做证书的经验，这次尝试了一下，写这篇文章备忘。 测试用的工具叫做 Pusher，下载地址：NWPusher。非常的好用。</description><pubDate>Thu, 28 Jun 2018 16:00:00 GMT</pubDate></item><item><title>闭包实现addTarget方法-面向协议编程</title><link>https://regulusleow.github.io/posts/2018/0625-dec3f50e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0625-dec3f50e/</guid><description>Swift 是一门面向协议的编程语言，为什么这么说，请看 WWDC 视频 Protocol-Oriented Programming in Swift。</description><pubDate>Sun, 24 Jun 2018 16:00:00 GMT</pubDate></item><item><title>解决 iOS 导航栏隐藏和显示</title><link>https://regulusleow.github.io/posts/2018/0622-2bc7c590/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0622-2bc7c590/</guid><description>今天在项目中遇到了隐藏  功能的问题，例如：从 A push到 B 页面，A 页面的  是隐藏的，但是 B 页面的  是需要显示的。</description><pubDate>Thu, 21 Jun 2018 16:00:00 GMT</pubDate></item><item><title>Charles 如何对 HTTPS 进行抓包？</title><link>https://regulusleow.github.io/posts/2018/0621-7f585b6e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0621-7f585b6e/</guid><description>对 http 的抓包非常的简单，但是对 https 的抓包就有点麻烦了，主要麻烦在证书的安装与设置上。昨天由于有需要去抓https 的包，但是装好证书后，手机一直连不上，特此记录一下。</description><pubDate>Wed, 20 Jun 2018 16:00:00 GMT</pubDate></item><item><title>在正确的线程上使用Observable【译】</title><link>https://regulusleow.github.io/posts/2018/0617-d57ff0d2/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0617-d57ff0d2/</guid><description>尽管很多人了解 RxJava 的基本逻辑，但是在 Observable 链和操作符究竟运行在哪个线程，仍然会有许多困惑。 首先，让我们梳理清晰，在 RxJava 中  和  区别：</description><pubDate>Sat, 16 Jun 2018 16:00:00 GMT</pubDate></item><item><title>Swift 4.2 中有什么新功能？【译】</title><link>https://regulusleow.github.io/posts/2018/0613-51fac7a3/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0613-51fac7a3/</guid><description>好消息：Swift 4.2 现已在 Xcode 10 beta 中提供！此版本更新重要的 Swift 4.1 功能，并改进语言以准备 ABI 稳定性。</description><pubDate>Tue, 12 Jun 2018 16:00:00 GMT</pubDate></item><item><title>在 macOS 中用命令格式化 APFS 格式 U 盘</title><link>https://regulusleow.github.io/posts/2018/0521-65f768ae/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0521-65f768ae/</guid><description>今天需要去打印店打印东西，但是 U 盘被我格式化成了  格式，用磁盘管理工具无法格式化成其他的格式，选项中只有  的选项。我用如下的命令格式化 U 盘：</description><pubDate>Sun, 20 May 2018 16:00:00 GMT</pubDate></item><item><title>Objective-C 回顾【三】之 内存管理</title><link>https://regulusleow.github.io/posts/2018/0511-85d59138/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0511-85d59138/</guid><description>--- Objective-C 语言使用引用计数来管理内存，也就是说，每个对象都有个可以递增或递减的计数器。如果想使某个对象继续存活，那就递增其引用计数；用完了之后，就递减其计数。计数变为 O，就表示没人关注此对象了，于是，就可以把它销毁。</description><pubDate>Thu, 10 May 2018 16:00:00 GMT</pubDate></item><item><title>iOS 并发，锁，线程同步【二】Operation</title><link>https://regulusleow.github.io/posts/2018/0430-c0cc32c1/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0430-c0cc32c1/</guid><description>在之前的一篇文章中【iOS 并发，锁，线程同步【一】GCD】，我们讨论了一下  的并发，锁和线程同步的问题，今天，我们来讨论一下  的并发与线程同步。</description><pubDate>Sun, 29 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Objective-C 回顾【二】之 对象、消息、运行期</title><link>https://regulusleow.github.io/posts/2018/0423-1d0899de/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0423-1d0899de/</guid><description>用 Objective-C 等面向对象语言编程时，“对象”（object）就是“基本构造单元”（building block），开发者可以通过对象来存储并传递数据。在对象之间传递数据并执行任务的过程就叫做“消息传递”（Messaging）。若想编写出高效且易维护的代码，就一定要熟悉这两个特性的工作原理。</description><pubDate>Sun, 22 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Objective-C 回顾【一】之 熟悉 Objective-C</title><link>https://regulusleow.github.io/posts/2018/0422-c2c848c9/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0422-c2c848c9/</guid><description>--- Objective-C 与 C++，Java 等面向对象的语言类似，不过在很多地方还是有所差别。Objective-C 使用“消息结构”（messaging structure）而非“函数调用”（function calling）。</description><pubDate>Sat, 21 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Swift Runtime</title><link>https://regulusleow.github.io/posts/2018/0418-eccdd0e4/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0418-eccdd0e4/</guid><description>我们都知道 Objective-C 是一门动态的语言，有的时候我们会使用  处理一些在 Objective-C 上面无法实现或者很难实现的功能。例如：在扩展中添加属性；动态的获取属性的名称，方法名等。那么究竟什么是 ？</description><pubDate>Tue, 17 Apr 2018 16:00:00 GMT</pubDate></item><item><title>iOS 并发，锁，线程同步【一】GCD</title><link>https://regulusleow.github.io/posts/2018/0416-09c68f2b/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0416-09c68f2b/</guid><description>无并发，不编程。并发在开发中是非常重要的一个技术，运用并发技术，可以写出高性能的程序，并发能够有效地利用多核心 CPU 的优势来提高数据处理的速度。作为一个码农，学好并发是十分有必要的。iOS有四种多线程编程的技术，分别是：NSThread，Cocoa NSOperation，GCD（全称：Grand Central Dispatch）, pthread。今天我们就重点讲一讲 GCD 中的并发</description><pubDate>Sun, 15 Apr 2018 16:00:00 GMT</pubDate></item><item><title>为 Playground 手动运行添加快捷键</title><link>https://regulusleow.github.io/posts/2018/0413-6215fc7a/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0413-6215fc7a/</guid><description>我在使用 Playground 的时候，喜欢将自定运行（Automatically Run）修改为手动运行（Manually Run），因为自动运行有时会导致我的 Xcode 卡住，体验非常不好。但是 Playground 并没有相应的快捷键去手动执行 Playground，这又导致手动运行的时候操作繁琐，每次都要靠鼠标去点，作为一个程序员怎么能忍受这种没有效率的操作 😂</description><pubDate>Thu, 12 Apr 2018 16:00:00 GMT</pubDate></item><item><title>KVC 和 Properties有什么区别？【译】</title><link>https://regulusleow.github.io/posts/2018/0413-a45d9d39/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0413-a45d9d39/</guid><description>--- KVC 是调用属性访问器方法或以其他方式访问属性的一种方法。 “以其他方式访问”是什么意思？ 对于 KVC 而言，没有访问器方法的实例变量会被视为非正式属性。 如果没有找到匹配的访问器对，它将直接获取或设置实例变量的值。 （是的，在现代代码中这是不值得使用的，总是为任何你想访问的任何东西声明一个 ，反之，不要使用 KVC 来访问任何不属于公共属性的东西</description><pubDate>Thu, 12 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：如何选择操作符？</title><link>https://regulusleow.github.io/posts/2018/0411-8d0c56b0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0411-8d0c56b0/</guid><description>* 产生特定的一个元素： just * 经过一段延时： timer * 从一个序列拉取元素： from * 重复的产生某一个元素： repeatElement * 存在自定义逻辑： create * 每次订阅时产生： deferred * 每隔一段时间，发出一个元素： interval * 在一段延时后： timer * 一个空序列</description><pubDate>Tue, 10 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：操作符</title><link>https://regulusleow.github.io/posts/2018/0411-c85e04a0/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0411-c85e04a0/</guid><description>- - - - 和  都能够将元素转化为  但是他们有本质的区别： 创建  发出唯一的一个元素。  操作符将某一个元素转换为 。</description><pubDate>Tue, 10 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：函数响应式编程</title><link>https://regulusleow.github.io/posts/2018/0409-2060f543/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0409-2060f543/</guid><description>- - - - 函数响应式编程是种编程范式。它是通过构建函数操作数据序列，然后对这些序列做出响应的编程方式。它结合了函数式编程以及响应式编程。</description><pubDate>Sun, 08 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：Observable</title><link>https://regulusleow.github.io/posts/2018/0409-3245559c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0409-3245559c/</guid><description>- - - - 可以用于描述元素异步产生的序列。这样我们生活中许多事物都可以通过它来表示。 创建序列最直接的方法就是调用 ，然后在构建函数里面描述元素的产生过程。  就代表产生了一个元素，他的值是 。后面又产生了  个元素分别是  。最后，用  表示元素已经全部产生，没有更多元素了。</description><pubDate>Sun, 08 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：Error Handling</title><link>https://regulusleow.github.io/posts/2018/0409-50de8e4d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0409-50de8e4d/</guid><description>- - - - 一旦序列里面产出了一个  事件，整个序列将被终止。RxSwift 主要有两种错误处理机制： * retry - 重试 * catch - 恢复</description><pubDate>Sun, 08 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：Observable 和 Observer</title><link>https://regulusleow.github.io/posts/2018/0409-e299d7ce/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0409-e299d7ce/</guid><description>- - - - - - - - 可以用来描叙任意一种观察者。 例如： 打印网络请求结果：</description><pubDate>Sun, 08 Apr 2018 16:00:00 GMT</pubDate></item><item><title>RxSwift 文档：Schedulers</title><link>https://regulusleow.github.io/posts/2018/0409-fd6ab8f2/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0409-fd6ab8f2/</guid><description>- - - - 是 Rx 实现多线程的核心模块，它主要用于控制任务在哪个线程或队列运行。 如果你曾经使用过 ， 那你对以下代码应该不会陌生：</description><pubDate>Sun, 08 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【九】协议</title><link>https://regulusleow.github.io/posts/2018/0408-2bc98bfb/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0408-2bc98bfb/</guid><description>Swift 的协议和 Objective-C 的协议不同。Swift 协议可以被用作代理，也可以让你对接口进行抽象 (比如  和  )。它们和 Objective-C 协议的最大不同在于我们可以让结构体和枚举类型满足协议。除此之外，Swift 协议还可以有关联类型。我们还可以通过协议扩展的方式为协议添加方法实现。我们会在面向协议编程的部分讨论所有这些内容。</description><pubDate>Sat, 07 Apr 2018 16:00:00 GMT</pubDate></item><item><title>多任务卡片动画实现原理</title><link>https://regulusleow.github.io/posts/2018/0404-5f81ed94/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0404-5f81ed94/</guid><description>- - - - - - - - 这个动画是用  实现的，简单讲下  的工作原理。这里用到的  也就3部分：（简称VC）、、。</description><pubDate>Tue, 03 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【八】泛型</title><link>https://regulusleow.github.io/posts/2018/0403-4829ec6e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0403-4829ec6e/</guid><description>和大多数先进语言一样，Swift 拥有不少能被归类于泛型编程下的特性。使用泛型代码，你可以写出可重用的函数和数据结构，只要它们满足你所定义的约束，它们就能够适用于各种类型。比如，像是  和  等多个类型，实际上是它们中的元素类型就是泛型抽象。我们也可以创建泛型方法，它们可以对输入或者输出的类型进行泛型处理。 就定义了一个可以作用于任意类型 A 的函数。某种意义上</description><pubDate>Mon, 02 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Swift 操作符</title><link>https://regulusleow.github.io/posts/2018/0402-95af0dd5/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0402-95af0dd5/</guid><description>Swift 支持重载操作符的特性，让我们可以自定义一些简单的计算。 最经典的例子就是两个二维向量之间的计算了。 首先我们定义一个二维向量，并创建两个向量</description><pubDate>Sun, 01 Apr 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【七】字符串</title><link>https://regulusleow.github.io/posts/2018/0401-a00e0b0e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0401-a00e0b0e/</guid><description>- - - - 大部分编程语言使用整数值对字符串进行下标操作，比如  将会返回  中的第六个“字符” (这里的“字符”的概念由所操作的编程语言进行定义)。Swift 不允许这么做。为什么？答案可能现在你已经很耳熟了：因为整数的下标访问无法在常数时间内完成 (对于  协议来说这也是个直观要求)，而且查找第 n 个  的操作也必须要对它之前的所有字节进行检查。</description><pubDate>Sat, 31 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Swift ABI Stability Manifesto</title><link>https://regulusleow.github.io/posts/2018/0329-82678e17/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0329-82678e17/</guid><description>* Authors: Michael Ilseman (compiled through conversations with many others)</description><pubDate>Wed, 28 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【六】编码和解码</title><link>https://regulusleow.github.io/posts/2018/0328-38485fbe/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0328-38485fbe/</guid><description>将程序内部的数据结构序列化为一些可交换的数据格式，以及反过来将通用的数据格式反序列化为内部使用的数据结构，这在编程中是一项非常常见的任务。Swift 将这些操作称为编码（encoding）和解码（decoing）。Swift 4 的一个主要特性就是定义了一套标准的编码和解码数据的方法，所有的自定义类型都能选择使用这套方法。</description><pubDate>Tue, 27 Mar 2018 16:00:00 GMT</pubDate></item><item><title>优化 Swift 中 Notification.Name 的使用方式</title><link>https://regulusleow.github.io/posts/2018/0319-678ccfd5/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0319-678ccfd5/</guid><description>在  中使用通知，在写通知名称的时候，并不能像  那样简单方便，一个字符串搞定。刚开始使用  通知时，感觉各种不爽，需要这样写：</description><pubDate>Sun, 18 Mar 2018 16:00:00 GMT</pubDate></item><item><title>8 Mistakes to Avoid while Using RxSwift</title><link>https://regulusleow.github.io/posts/2018/0319-7466899d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0319-7466899d/</guid><description>Judging by the number of talks, articles and discussions related to reactive programming in Swift, it looks like the community has been taken by the storm</description><pubDate>Sun, 18 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Escaping Closures - Swift</title><link>https://regulusleow.github.io/posts/2018/0319-d08adeda/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0319-d08adeda/</guid><description>- - - - 逃逸闭包（escaping closure），什么是逃逸闭包？苹果官方给的定义是：当一个闭包作为一个参数传递给函数，但是它是在函数返回之后调用的，这时候，这个闭包就称为逃逸闭包。当你声明一个将闭包作为参数的函数时，你可以在参数的类型之前用  来表明这个闭包是允许逃逸的。</description><pubDate>Sun, 18 Mar 2018 16:00:00 GMT</pubDate></item><item><title>layoutIfNeeded() 函数对 UIScrollView 的影响</title><link>https://regulusleow.github.io/posts/2018/0317-a59b932f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0317-a59b932f/</guid><description>在做 iOS 相关的约束动画时，我们一定会用到  函数，但是在大多数情况下使用并没有什么问题。当与  相关的控件结合使用的时候要注意了。</description><pubDate>Fri, 16 Mar 2018 16:00:00 GMT</pubDate></item><item><title>iOS 11权限更新</title><link>https://regulusleow.github.io/posts/2018/0317-b1913197/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0317-b1913197/</guid><description>最近项目中遇到了一个崩溃，当点击图片选择保存的时候，并没有出现请求相册权限的对话框，而是直接就崩溃，并且没有任何错误信息。开始以为是权限没有添加，但是  是添加了的，搞不懂了。去翻了翻官方的文档，果然找到了解决方式。</description><pubDate>Fri, 16 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【五】函数</title><link>https://regulusleow.github.io/posts/2018/0316-a1c6b942/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0316-a1c6b942/</guid><description>- - - - 要理解 Swift 中的函数和闭包，需要先明白三件事情，按重要程度进行大致排序如下： 要将函数赋值给一个变量，比如 funVar，我们只需要将函数名字作为值就可以了。注意在函数名后没有括号：</description><pubDate>Thu, 15 Mar 2018 16:00:00 GMT</pubDate></item><item><title>内存：栈和堆（C / Swift）</title><link>https://regulusleow.github.io/posts/2018/0314-d49f2398/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0314-d49f2398/</guid><description>- - - - 什么是栈（Stack）？这是计算机内存中的一个特殊区域，它存储由每个函数创建的临时变量（包括  函数）。栈是一个“LIFO”（后进先出）的数据结构。它是被 CPU 管理和优化的。每次函数声明一个新变量时，它都被“压入”栈中。然后每次函数退出时，所有由该函数压入栈的变量都被释放（也就是说，它们被删除）。一旦释放栈变量，该区域的内存就可用于其他栈变量</description><pubDate>Tue, 13 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【四】结构体和类</title><link>https://regulusleow.github.io/posts/2018/0302-0c7dd142/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0302-0c7dd142/</guid><description>* 结构体 (和枚举) 是值类型，而类是引用类型。在设计结构体时，我们可以要求编译器保证不可变性。而对于类来说，我们就得自己来确保这件事情。</description><pubDate>Thu, 01 Mar 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【三】可选值</title><link>https://regulusleow.github.io/posts/2018/0301-744c7f4d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0301-744c7f4d/</guid><description>Swift 中可选值的定义如下 因为  是枚举类型，所以有的时候可以用模式匹配来进行一些巧妙的操作： * 使用 if case 来进行模式匹配，对非 nil 的值做 for 循环</description><pubDate>Wed, 28 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【二】集合类型协议</title><link>https://regulusleow.github.io/posts/2018/0228-42db3653/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0228-42db3653/</guid><description>- - - - Sequence定义： 要实现一个Sequence，首先需要提供一个返回迭代器（iterator）的 方法。 对于迭代器，它是一个满足  协议的类型。</description><pubDate>Tue, 27 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Swift 进阶【一】内建集合类型</title><link>https://regulusleow.github.io/posts/2018/0227-9a2e8fcd/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0227-9a2e8fcd/</guid><description>- - - - 在Swift中，数组是值类型。并且Swift中，Swift标准库中的所有集合类型都使用了“写时复制”这一技术，避免了大量副本导致性能下降。值类型的好处，不仅是性能有提高，其次就是能保证数组的不可变。</description><pubDate>Mon, 26 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Swift是一门动态类型的强类型语言</title><link>https://regulusleow.github.io/posts/2018/0226-f8fcc6e8/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0226-f8fcc6e8/</guid><description>之前我一直以为，Swift是一门弱类型的语言。 判断依据： Swift 变量不强制的指定类型，而是用  和  表示可变与不可变。所以，Swift是一门弱类型的语言。</description><pubDate>Sun, 25 Feb 2018 16:00:00 GMT</pubDate></item><item><title>修改 VPS 的 SSH 端口</title><link>https://regulusleow.github.io/posts/2018/0225-a8810757/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0225-a8810757/</guid><description>如果你发现连不上你的 VPS了，那么有一种可能就是端口被封，我们需要改一下 VPS 端口了。 如何登陆 VPS 可以参考这篇文章： SSH 免密登陆 VPS</description><pubDate>Sat, 24 Feb 2018 16:00:00 GMT</pubDate></item><item><title>获取电信光猫超级密码</title><link>https://regulusleow.github.io/posts/2018/0225-ef93b93d/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0225-ef93b93d/</guid><description>打开浏览器，输入  ，进入光猫管理页面，用  账户登陆。将地址栏中的连接   改为  。出来如下的界面： 启用  ，点击确定。</description><pubDate>Sat, 24 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（八）【File(文件) 方法】</title><link>https://regulusleow.github.io/posts/2018/0215-8d736ca7/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0215-8d736ca7/</guid><description>file 对象使用 open 函数来创建，下表列出了 file 对象常用的函数：</description><pubDate>Wed, 14 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（七）【Python中的包】</title><link>https://regulusleow.github.io/posts/2018/0212-0ade024a/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0212-0ade024a/</guid><description>包是一个分层次的文件目录结构，它定义了一个由模块及子包，和子包下的子包等组成的 Python 的应用环境。 简单来说，包就是文件夹，但该文件夹下必须存在  文件, 该文件的内容可以为空。 用于标识当前文件夹是一个包。 考虑一个在  目录下的 、、 文件， 为测试调用包的代码，目录结构如下：</description><pubDate>Sun, 11 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（六）【模块】</title><link>https://regulusleow.github.io/posts/2018/0210-faca71bb/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0210-faca71bb/</guid><description>Python 模块(Module)，是一个 Python 文件，以 .py 结尾，包含了 Python 对象定义和Python语句。 模块让你能够有逻辑地组织你的 Python 代码段。 把相关的代码分配到一个模块里能让你的代码更好用，更易懂。 模块能定义函数，类和变量，模块里也能包含可执行的代码。</description><pubDate>Fri, 09 Feb 2018 16:00:00 GMT</pubDate></item><item><title>SSH 免密登陆 VPS</title><link>https://regulusleow.github.io/posts/2018/0209-1367ac76/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0209-1367ac76/</guid><description>我们在进行 SSH 登陆的时候，每次都需要输入密码，就感到十分的不方便，这里可以利用 SSH Key（ssh公钥） 来验证登录，从而实现免密登陆。</description><pubDate>Thu, 08 Feb 2018 16:00:00 GMT</pubDate></item><item><title>配置 git 代理</title><link>https://regulusleow.github.io/posts/2018/0208-7e3c8ebe/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0208-7e3c8ebe/</guid><description>当我们再做开发，从github上面下载库的时候，总是很慢。pod setup 那是更加的慢。这里我们配置一下代理，速度立马就上去了。</description><pubDate>Wed, 07 Feb 2018 16:00:00 GMT</pubDate></item><item><title>iOS 原生实现扫描二维码和条形码功能，限制扫描区域</title><link>https://regulusleow.github.io/posts/2018/0208-b14cf71c/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0208-b14cf71c/</guid><description>现在苹果iOS系统已经原生支持了二维码扫描的功能，使用原生来扫描需要导入 AVFoundation 。 - - - - 一、获取摄像设备：</description><pubDate>Wed, 07 Feb 2018 16:00:00 GMT</pubDate></item><item><title>自定义OS X的window button</title><link>https://regulusleow.github.io/posts/2018/0208-bc7f5dca/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0208-bc7f5dca/</guid><description>由于项目原来的设计，导致在OS X 10.10之后的系统上会出现一些奇怪的Bug，调用方法却并没有实现将视图放在最上层。经过不断的查找，才知道，子视图的父视图并没有被显示出来，导致了方法不起作用。那么如果将父视图显示出来的话，window button（关闭按钮，最小化按钮，全屏按钮，最大化窗口按钮）又会被遮盖掉，无奈，需要自定义window button</description><pubDate>Wed, 07 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Objective-C 中的强引用（__strong）和 弱引用（__weak）</title><link>https://regulusleow.github.io/posts/2018/0208-ccf8c281/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0208-ccf8c281/</guid><description>在Objective-C的ARC模式中， 这里虽然没有显示的声明为  ，但是  默认声明的一个对象就为  ，即： 和</description><pubDate>Wed, 07 Feb 2018 16:00:00 GMT</pubDate></item><item><title>ShareSDK 回调一直是 SSDKResponseStateCancel</title><link>https://regulusleow.github.io/posts/2018/0207-5e41624f/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0207-5e41624f/</guid><description>之前解决了，点击登录无反应的  问题，今天又碰到了点击登陆后回调的  参数一直都是  的问题。 刚开始以为是我的配置文件出现了问题，一直修改  文件，但是问题依旧。问了技术支持，说让我升级到最新的版本，我又   一下，确实是最新的版本。之后觉得可能我的   不是最新的，又更新了我的  ，发现还是不行。我看了一下  的版本，确实是4.0.4最新的没错啊</description><pubDate>Tue, 06 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（五）【函数】</title><link>https://regulusleow.github.io/posts/2018/0207-aefbd133/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0207-aefbd133/</guid><description>- - - - 你可以定义一个由自己想要功能的函数，以下是简单的规则： * 函数代码块以 def 关键词开头，后接函数标识符名称和圆括号()。 * 任何传入参数和自变量必须放在圆括号中间。圆括号之间可以用于定义参数。 * 函数的第一行语句可以选择性地使用文档字符串—用于存放函数说明。 * 函数内容以冒号起始，并且缩进。 * return [表达式] 结束函数，选择性地返回一个值给调用方</description><pubDate>Tue, 06 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Pod Search 出现 JSON ParserError 错误</title><link>https://regulusleow.github.io/posts/2018/0207-d8869baa/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0207-d8869baa/</guid><description>今天执行  命令的时候出现了  的错误，类似于如下： * Run pod search PureLayout * List the search result * can not get the result list, and shows JSON::ParserError - A JSON text must at least contain two octets</description><pubDate>Tue, 06 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（四）【日期和时间】</title><link>https://regulusleow.github.io/posts/2018/0206-1681aed7/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0206-1681aed7/</guid><description>- - - - 你可以根据需求选取各种格式，但是最简单的获取可读的时间模式的函数是asctime():</description><pubDate>Mon, 05 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（三）【基础补全】</title><link>https://regulusleow.github.io/posts/2018/0205-77271f19/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0205-77271f19/</guid><description>- - - - * 在 Python 里，标识符由字母、数字、下划线组成。 * 在 Python 中，所有标识符可以包括英文、数字以及下划线(_)，但不能以数字开头。 * Python 中的标识符是区分大小写的。 * 以下划线开头的标识符是有特殊意义的。以单下划线开头 的代表不能直接访问的类属性，需通过类提供的接口进行访问，不能用 而导入； * 以双下划线开头的  代表类的私有成员</description><pubDate>Sun, 04 Feb 2018 16:00:00 GMT</pubDate></item><item><title>Introduction to RxTest - tasanobu tech blog</title><link>https://regulusleow.github.io/posts/2018/0130-d921cf25/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0130-d921cf25/</guid><description>I had a presentation (in Japanese) about RxTest at RxSwift Meetup held at Tokyo</description><pubDate>Mon, 29 Jan 2018 16:00:00 GMT</pubDate></item><item><title>重装系统提示没有 Git 的解决方式</title><link>https://regulusleow.github.io/posts/2018/0129-0d333f59/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0129-0d333f59/</guid><description>执行 git 命令后，提示信息如下： 运行如下命令： 等安装好了之后，git 就又可以用了。 如果不行可以试试下面的命令：</description><pubDate>Sun, 28 Jan 2018 16:00:00 GMT</pubDate></item><item><title>Swift 使用 warning</title><link>https://regulusleow.github.io/posts/2018/0129-2caa195a/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0129-2caa195a/</guid><description>在 Swift 中无法使用  ，Swift 中有如下的标记： 接下来给  和  加上警告，实现类似的效果： Build Phases ---&gt;  add a new Build Phases ---&gt; New run script phase</description><pubDate>Sun, 28 Jan 2018 16:00:00 GMT</pubDate></item><item><title>你应该定期更新 Homebrew</title><link>https://regulusleow.github.io/posts/2018/0129-79a6d301/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0129-79a6d301/</guid><description>- - - - 我发现不少人都不会经常更新，或者只在必须用某个工具的新版本的时候才更新。他们的看法是，更新有可能产生一些意外的问题，反正当前环境足够稳定可以用，干嘛自找麻烦呢？ 这个看法对也不对。对是因为，更新产生的潜在问题不可避免。不对是因为总有一天你需要升级的，也许是为了某个工具的新特性，也许是为了修复软件的漏洞，也许你安装的包非要依赖另一个包的新版本，等等。如果隔了很长一段时间才升级</description><pubDate>Sun, 28 Jan 2018 16:00:00 GMT</pubDate></item><item><title>安装CocoaPods</title><link>https://regulusleow.github.io/posts/2018/0129-8f186f2e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0129-8f186f2e/</guid><description>因为在版本之后，之前的命令就不适用了，我们可以用如下的命令来安装CocoaPods</description><pubDate>Sun, 28 Jan 2018 16:00:00 GMT</pubDate></item><item><title>终端命令启动Sublime Text 3 和 VS Code</title><link>https://regulusleow.github.io/posts/2018/0129-b55e2c0e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0129-b55e2c0e/</guid><description>加入软连接：</description><pubDate>Sun, 28 Jan 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（二）【文件的简单操作】</title><link>https://regulusleow.github.io/posts/2018/0115-913bd8ae/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0115-913bd8ae/</guid><description>在 python 中简单的打开一个文件可以用  的方式 文件路径。 打开的方式。 参数如下：</description><pubDate>Sun, 14 Jan 2018 16:00:00 GMT</pubDate></item><item><title>Python 学习笔记（一）【基础语法学习】</title><link>https://regulusleow.github.io/posts/2018/0110-12d39a9e/</link><guid isPermaLink="true">https://regulusleow.github.io/posts/2018/0110-12d39a9e/</guid><description>如果想让代码中可以输入中文，必须要加上这一句。 Python 中定义一个函数用  关键字，函数没有大括号，用tab空格代表方法体。</description><pubDate>Tue, 09 Jan 2018 16:00:00 GMT</pubDate></item></channel></rss>