掌握在iOS这块绝大部分的Ruby开发需求

*   01 Ruby 课程介绍/

  *   01 你不知道的ruby 01.mp4 07:29

  *   02 你不知道的 Ruby 02.mp4 10:34

  *   03 困扰初学者的各种 Ruby 相关名词.mp4 41:26

  *   04 ruby 也需要断点调试.mp4 02:08

  *   05 rubymine 断点调试(后续课程会详细介绍).mp4 15:39

  *   06 rubymine 断点调试(续).mp4 18:09

  *   07 vscode 断点调试(后续课程会详细介绍).mp4 17:45

  *   08 后续课程安排.mp4 02:21

*   02 Ruby 环境管理/

  *   01 gem 含义1: ruby 软件包的管理工具.mp4 16:16

  *   02 gem 含义2: 一个 ruby 软件包(.gem 压缩).mp4 16:21

  *   03 不同的 ruby 安装 .gem 到不同的路径.mp4 22:25

  *   04 安装 RVM.mp4 03:39

  *   05 不同版本的 ruby 可能存在问题.mp4 03:47

  *   06 Ruby 包的安装路径.mp4 03:55

  *   07 cannot load such file.mp4 03:41

  *   08 gemset 是什么?.mp4 04:06

  *   09 创建自己的 gemset.mp4 05:15

  *   10 自动切换 Ruby 项目环境 - .rvmrc.mp4 11:54

  *   11 自动切换 Ruby 项目环境 - .ruby-version.mp4 02:15

  *   12 rbenv 安装.mp4 12:20

  *   13 rbenv gemset 使用.mp4 14:34

  *   14 切换到 system ruby.mp4 06:33

*   03 对象模型简介/

  *   01 对象模型简介.mp4 05:30

*   04 常用数据类型/

  *   01 数值、字符串.mp4 23:15

  *   02 vscode code runenr 插件,运行 rb 文件.mp4 11:32

  *   03 特殊的 Bool.mp4 15:53

  *   04 分不清的 String 与 Symbol.mp4 12:03

  *   05 Hash.mp4 24:39

  *   06 Struct.mp4 30:49

  *   07 Array.mp4 27:47

  *   08 方法.mp4 27:08

  *   09 代码块.mp4 15:44

*   05 面向对象/

  *   01 创建类、创建对象、调用对象方法.mp4 08:03

  *   02 self 关键字.mp4 25:52

  *   03 accessor 定义对象属性.mp4 08:22

  *   04 批量定义 accessor.mp4 07:59

  *   05 类方法.mp4 09:24

  *   06 运算符重载.mp4 07:07

  *   07 to_s 与 inspect.mp4 06:57

  *   08 继承.mp4 03:35

  *   09 抽象与具体实现.mp4 11:56

  *   10 设计模式在 Ruby 中的使用.mp4 01:53

  *   11 singleton class.mp4 20:58

  *   12 给对象单独添加方法.mp4 04:25

  *   13 eigen class.mp4 11:09

  *   14 利用好 initialize 方法.mp4 21:47

  *   15 异常.mp4 47:02

  *   16 对象.方法名! 和 对象.方法名?.mp4 10:22

*   06 流程控制语句/

  *   01 if elsif else.mp4 05:14

  *   02 unless.mp4 07:10

  *   03 case when else.mp4 04:34

  *   04 while until for.mp4 08:40

  *   05 break next.mp4 01:36

  *   06 Range 区间.mp4 03:49

*   07 变量/

  *   01 伪变量.mp4 07:06

  *   02 全局变量.mp4 04:10

  *   03 局部变量.mp4 06:41

  *   04 对象的变量.mp4 03:45

  *   05 类的变量.mp4 04:35

  *   06 常量.mp4 06:06

  *   07 环境变量.mp4 17:35

  *   08 PATH 环境变量(可不看).mp4 02:46

  *   09 修改 PATH(可不看).mp4 02:41

  *   10 其他特殊的内置变量.mp4 08:58

*   08 文件操作/

  *   01 文件.mp4 05:24

  *   02 目录.mp4 02:34

  *   03 FileUtils.mp4 02:29

  *   04 json.mp4 07:15

  *   05 yml/yaml.mp4 03:17

  *   06 Pathname.mp4 12:22

  *   07 to_path.mp4 01:59

  *   08 + 运算符.mp4 04:06

  *   09 expand_path.mp4 04:27

  *   10 relative_path_from.mp4 05:30

  *   11 children、glob.mp4 03:12

*   09 调用外部可执行文件/

  *   01 exec.mp4 02:28

  *   02 system 基本使用.mp4 06:01

  *   03 system 高级用法.mp4 06:42

  *   04 反引号.mp4 03:07

  *   05 拼接复杂的命令行执行语句.mp4 04:37

*   10 分文件编写代码/

  *   01 Ruby 同样把代码分成不同的文件组织.mp4 06:10

  *   02 require relative.mp4 05:37

  *   03 require 第三方 Ruby 库.mp4 05:16

  *   04 cannot load such file -- xxx.mp4 11:12

  *   05 原因.mp4 01:51

  *   06 LOAD_PATH全局变量,指定rb文件的搜索路径.mp4 19:45

  *   07 require 绝对路径下的rb文件.mp4 13:42

  *   08 load.mp4 11:24

  *   09 autoload.mp4 09:06

  *   10 区别.mp4 05:37

*   11 Bundler - gem 依赖关系 管理工具/

  *   01 Bundler 也是一个 Ruby 软件包.mp4 08:26

  *   02 依赖丢失.mp4 12:39

  *   03 手动逐个安装丢失的依赖.mp4 06:39

  *   04 安装 Bundler.mp4 09:48

  *   05 Bundler 解决依赖丢失.mp4 18:36

  *   06 Gemfile.lock.mp4 15:37

  *   07 bundle exec.mp4 02:13

  *   08 Gemfile 依赖包的 版本号.mp4 04:24

  *   09 Gemfile 依赖包的 git.mp4 05:57

  *   10 Gemfile source 指定从哪搜索 spec.mp4 06:59

  *   11 Gemfile 依赖包的 local path.mp4 03:40

  *   12 Gemfile 通过 group 划分 包的依赖.mp4 03:49

  *   13 bundle install --without.mp4 16:28

  *   14 Bundler.require.mp4 08:45

  *   15 Bundler.require 实操.mp4 06:20

  *   16 Bundler.require 使用建议.mp4 02:59

  *   17 Bundler 常用子命令.mp4 03:30

  *   18 Bundler 环境继承给子进程的问题.mp4 03:50

  *   19 解决.mp4 01:43

*   12 module 符号命名空间/

  *   01 不使用 module 会存在符号被覆盖.mp4 01:24

  *   02 module 解决符号覆盖.mp4 03:35

  *   03 module 内定义什么.mp4 02:09

  *   04 module 内的对象方法.mp4 03:28

  *   05 include.mp4 06:11

  *   06 extend.mp4 02:21

  *   07 对象.extend(module).mp4 02:32

  *   08 类.extend(module).mp4 02:06

  *   09 只能扩展 module 中的【对象】方法.mp4 04:02

  *   10 prepend.mp4 05:23

  *   11 mixin.mp4 02:14

  *   12 class 也是一种 module.mp4 04:39

  *   13 gitlab ruby api.mp4 03:11

  *   14 一个 api 他既有类方法,也有对象方法?.mp4 03:19

  *   15 如何看起 gitlab ruby api 库源码?.mp4 03:11

  *   16 module 内部,也能定义类方法,在外部调用.mp4 04:54

  *   17 Gitlab 模块中并没有定义 projects 方法.mp4 01:23

  *   18 类方法 method missing.mp4 02:44

  *   19 对象方法 method missing.mp4 03:11

  *   20 method missing 内的消息转发.mp4 03:24

  *   21 Client 内按序排列的 include Xxx.mp4 02:34

  *   22 总结消息转发的过程.mp4 09:14

  *   23 总结代码结构.mp4 06:02

  *   24 在他的源码基础,添加一个模块.mp4 07:28

  *   25 class Gitlab::Client 极简写法.mp4 06:19

  *   26 读写 module 的 accesstor.mp4 07:59

  *   27 上例类似的写法.mp4 01:33

  *   28 module/class 内部 extend module.mp4 02:36

  *   29 手把手带你0到1手撕上面源码.mp4 01:34

  *   30 第一步先搭好架子.mp4 03:12

  *   31 第二步注册所有子业务模块.mp4 05:20

  *   32 第三步开发某一个具体的子业务模块.mp4 00:42

  *   33 写完后给外部调用.mp4 03:20

  *   34 注册所有子模块改进 -- 批量文件导入.mp4 04:29

*   13 patch 方法实现/

  *   01 patch 步骤.mp4 01:19

  *   02 open class.mp4 01:26

  *   03 open instance.mp4 02:07

  *   04 class prepend module.mp4 02:59

  *   05 class define method.mp4 04:01

*   14 DSL 自定义语法/

  *   01 eval.mp4 02:43

  *   02 initialize 方法.mp4 05:41

  *   03 模拟 xx.podspec 语法.mp4 02:50

*   15 HTTP 网络 api 使用/

  *   01 postman 导出 HTTP 网络的 Ruby 代码.mp4 02:59

  *   02 模拟 xx.podspec DSL 语法实现.mp4 02:50

  *   03 查看 Ruby API 使用文档.mp4 02:02

  *   04 GET.mp4 03:12

  *   05 POST.mp4 04:58

  *   06 Upload.mp4 04:08

  *   07 第三方库.mp4 09:19

  *   08 curl 使用、封装.mp4 06:39

*   16 Rakefile 构建工具/

  *   01 安装 rake.mp4 05:40

  *   02 定义 默认的 task.mp4 02:25

  *   03 task 之间的依赖.mp4 03:50

  *   04 namespace.mp4 02:07

  *   05 调用其他 task.mp4 03:31

  *   06 结合 rspec 使用.mp4 05:32

  *   07 rake 参数: rake way.mp4 05:53

  *   08 rake 参数: env.mp4 02:21

  *   09 rake 参数: ARGV.mp4 06:03

  *   10 rake 参数: OptionPaser.mp4 07:59

*   17 ERB 模板/

  *   01 什么时候需要使用【模板】?.mp4 03:18

  *   02 ERB 模板的简单使用.mp4 17:08

  *   03 配置文件为核心.mp4 03:57

  *   04 定义实体类、头文件的模板.mp4 06:54

  *   05 实现文件的模板.mp4 06:20

  *   06 Generator 绑定两个模板文件的实例.mp4 09:15

  *   07 调用 Generator 生成 具体文件.mp4 05:03

*   18 调试 和 阅读 CocoaPods 源码/

  *   01 创建独立的 gemset.mp4 01:13

  *   02 配置 ruby 环境的自动切换.mp4 01:24

  *   03 bundle 安装 cocoapods.mp4 02:23

  *   04 rubymine 显示错误 external 库.mp4 01:46

  *   05 创建 iOS 工程,调试 Podfile.mp4 03:55

  *   06 本地以源码引 cocoapods.mp4 03:15

  *   07 pod xxx 对应的代码.mp4 06:48

  *   08 pod install 流程.mp4 03:53

*   19 自己开发一个 gem 项目/

  *   01 创建 ruby 项目.mp4 11:28

  *   02 添加 ruby 源文件.mp4 03:02

  *   03 解决 require 找不到的问题.mp4 03:44

  *   04 如何执行 spec 单元测试.mp4 04:59

  *   05 为自己的代码,编写单元测试.mp4 02:51

  *   06 接收命令行参数.mp4 02:58

  *   07 直接内部环境下,使用 ruby 项目.mp4 03:21

  *   08 发布 ruby 项目,可能遇到失败.mp4 03:43

  *   09 解决发布失败.mp4 02:15

  *   10 发布一个新的版本号.mp4 04:30

  *   11 写一个类似 pod 命令行工具.mp4 01:39

  *   12 从自己的入口可执行文件开始.mp4 09:02

  *   13 添加类似 pod xxx 各种子命令.mp4 05:42

  *   14 实现具体的子命令要做的事情.mp4 05:08

  *   15 接收命令行参数.mp4 05:12

*   20 封装 CocoaPods 实现脚本化组件集成/

  *   01 App 直接依赖某个组件集成工具.mp4 06:57

  *   02 Podfile 管理【所有】组件集成关系.mp4 09:15

  *   03 【独立文件】管理【每一个】组件的集成参数.mp4 02:24

  *   04 独立【DSL 语法文件】描述一个组件【如何集成】.mp4 06:20

  *   05 【精确指定】组件要集成的【版本号】.mp4 02:54

  *   06 App【新增】一个组件.mp4 01:57

  *   07 App【删除】一个组件.mp4 00:46

  *   08 App【更新】一个组件的【版本号】.mp4 02:45

  *   09 App【本地开发】一个组件的代码.mp4 05:17

  *   10 总结.mp4 05:41

  *   11 Podfile的本质.mp4 09:08

  *   12 简单的拦截pod方法调用.mp4 07:51

  *   13 我怎么知道pod方法的参数列表.mp4 04:45

  *   14 将pod拦截的代码封装到独立rb文件.mp4 02:29

  *   15 创建一个gem封装pod调用实现细节.mp4 08:27

  *   16 确定gem对外调用的接口.mp4 09:19

  *   17 添加上cocoapods依赖.mp4 06:23

  *   18 target对象的pod方法.mp4 03:26

  *   19 定义dsl文件独立管理1个组件的pod参数.mp4 05:50

  *   20 App告诉gem哪里存放dsl文件.mp4 06:48

  *   21 dsl文件对应的实体类1.mp4 04:45

  *   22 dsl文件对应的实体类2.mp4 09:51

  *   23 dsl文件对应的实体类3.mp4 05:54

  *   24 dsl文件对应的实体类4-eval.mp4 03:41

  *   25 15-封装from_file方法.mp4 03:01

  *   26 16-优化attr属性写法.mp4 02:55