搜索
  • TA的每日心情
    开心
    2019-11-3 00:43
  • 签到天数: 6 天

    [LV.2]小吧熟人

    5

    主题

    11

    帖子

    179

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    179
    发表于 2019-11-2 15:32:52 1009 浏览 18 回复

    [入门精通] 2018年Java语言与全栈区块链在线就业班价值16980

    1.png

    2.png


    一、课程简介
    区块链技术是21世纪的重大创新技术,它是数字化资产的分布式账本,是构建价值互联网的基石,是驱动分享经济发展的新引擎。全栈区块链课程涵盖区块链底层开发,区块链应用开发,web前后端开发,比特币,以太坊,hyperledger,旨在打造基础扎实,知识面广,综合能力强的区块链技术引领者。
    二、面向学员
    1.刚刚毕业的技术小白
    2.零基础想转行的非IT人员
    3.希望从事区块链工作的在职IT人员
    4.期望得到技能提升的研发人员
    三、学习时长
    5个月
    四、课程特色
    (一)就业范围广,发展潜力无限
    课程涵盖前端、后端开发和移动端开发,就业范围可涵盖区块链前后端和业务方向,范围广,薪资高,发展潜力大。
    (二)课程体系系统全面,全网最全区块链核心技术
    1.    课程系统全面,课程包含前后端技术,比特币,以太坊,hyperledger,从区块链1.0版本到3.0版本全面系统学习区块链技术。
    2.    课程通俗实用,手把手带着学员实现比特币,更深入掌握区块链技术的底层实现。
    (三)5大实战项目,项目与企业需求无缝链接,学完即刻上岗
    IPFS音乐电台应用、去中心化互联网彩票项目、区块链众筹项目、去中心化Dapp实战项目、农牧厅渔政管理系统。
    五、课程内容
    必修课程
    第一阶段:区块链概念入门
    课程简介
    为了让大家快速的了解区块链是什么,能干什么事情,对区块链有一个全面的认识。
    课程内容
    Ø  从实体货币到数字货币
    Ø  分布式记账
    Ø  中心化和去中心化
    Ø  hash函数
    Ø  hash算法的安全性
    Ø  分布式系统和数据一致性
    Ø  通货膨胀和比特币
    Ø  区块链技术的演化
    Ø  区块链的应用场景
    Ø  我到底需不需要区块链技术
    Ø  如何鉴别区块链项目里的猪
    Ø  区块链项目的评估方法
    Ø  icon和ipo和daico
    Ø  关于区块链的错误认知
    Ø  分布式系统的一些概念
    Ø  区块链技术栈和学习线路图
    Ø  区块链的技术现状
    第二阶段:kotlin和编程基本功加强
    课程简介
    kotlin是一个非常具有潜力和启发性的编程语言,100%与Java兼容, 安卓开发谷歌官方指定语言,它吸收和借鉴了Java、 Scala、 Groovy、 C#、Go、JavaScript等语言的优点和特性,可以让大家脱离语言层面的纷争,把目光投向具体的业务。目前区块链金融和银行领域的解决方案corda就是采用kotlin编写,掌握kotlin语言有助于帮助程序员用极小的成本理解和学习其他编程语言。
    课程内容
    Ø  kotlin入门
    Ø  kotlin基本语法
    Ø  控制语句
    Ø  区间和数组
    Ø  函数
    Ø  递归和尾递归优化
    Ø  面向对象
    Ø  集合
    Ø  高阶函数和lambda表达式
    Ø  Dsl
    Ø  实战项目:Kotlin版坦克大战
    第三阶段:区块链项目开发前端基础
    课程简介
    去中心化Dapp的页面开发还是基于传统的Web2.0的技术,html/css/javascript是整个互联网页面的基石。
    课程内容
    Ø  html+css
    Ø  JavaScript
    Ø  JQuery
    Ø  BootStrap响应式页面开发
    Ø  经典案例:kotlin与javascript(canvas案例)
    第四阶段:传统企业级微服务+分布式开发
    课程简介
    要想深入理解区块链去中心化分布式账本技术,必须对传统的中心化系统和分布式系统有理解。
    课程内容
    Ø  mysql数据库
    Ø  JDBC连接池
    Ø  AJAX&Jquery
    Ø  cookie & session
    Ø  filter & RestFul
    Ø  http协议
    Ø  springboot
    第五阶段:区块链前端和中间件开发
    课程简介
    技术的转型和发展不是一蹴而就的,区块链项目和传统项目的融合和互相补充是目前企业普遍采用的解决方案, 以太坊和hyperledger等区块链项目开发需求有更加组件化的前台和更加强大的中间件。
    课程内容
    Ø  nodejs中间件开发
    Ø  vue前端框架
    Ø  react前端框架
    第六阶段:区块链项目实战--IPFS音乐电台应用
    第七阶段:以太坊区块链和智能合约实战
    课程简介
    以太坊是第二代的区块链技术, 智能合约实现价值转移,会有越来越多的应用场景。基于以太坊的智能合约开发可以解决各种各样的信任问题。有着非常广泛的应用场景,目前基于以太坊的创业公司众多,BAT等互联网巨头都有基于以太坊的相关应用,市场招聘量巨大。
    课程内容
    Ø  区块链理论基础
    拜占庭将军问题
    价值转移
    公有链,私有链,联盟链
    UTXO
    Hash算法
    merkle树
    Pow/Pos;
    时间戳
    智能合约,dao组织
    软分叉/硬分叉
    以太坊、中心化和去中心化
    Ø  区块链数学基础
    二进制基础和真随机数
    hash运算和数字加密
    对称加密和非对称加密和数字签名
    高阶模操作
    指数和对数
    RSA算法
    ASCII编码
    Base64编码和Base58编码;
    Checksum;
    比特币钱包和Vanity地址;
    点对点网络的挑战
    double speding问题
    Ledger账本系统和UTXO方案
    挖矿和区块链形成
    TestNet
    BIP比特币优化协议和行业标准
    Ø  手把手带你实现比特币
    手把手实现区块链生成(kotlin语言版)
    手把手实现挖矿与工作证明(kotlin语言版)
    Ø  以太坊与智能区块链
    区块链与以太坊
    以太坊客户端安装和运行
    以太坊网络
    智能合约编程入门
    solitidy变量,方法,继承和事件
    oracle(先知)
    solitidy编程实战
    去中心化应用HeimaDApp实战
    Ø  项目1:去中心化互联网彩票
    Ø  项目2:区块链众筹项目
    Ø  项目3:去中心化Dapp实战项目
    第八阶段:hyperledger企业级区块链项目开发
    课程简介
    hyperledger是IBM公司支持,linux基金会孵化的区块链商业级开发平台。hyperledger是可以广泛运用在私有链和联盟链上,国内有众多的大公司加入了hyperledger联盟。
    课程内容
    Ø  区块链3.0
    Ø  hyperledger fabric架构和常见组件
    Ø  hyperledger fabric集群平台搭建
    Ø  hyperledger fabric智能合约链码开发
    Ø  hyperledger fabric部署
    Ø  项目实战:hyperledger fabric供应链溯源——农牧厅渔政管理系统


    ├── 1阶段 区块链项目开发Java基础
    │   ├── 1-1Java基础
    │   │   ├── 1 编程语言入门
    │   │   │   ├── 01_编程语言入门.mp4
    │   │   │   ├── 02_什么是编程.mp4
    │   │   │   └── 03_程序简介.mp4
    │   │   ├── 10 空字段串和空的区别
    │   │   │   └── 11_空字符串和null的区别.mp4
    │   │   ├── 11 变量综合练习
    │   │   │   ├── 12_编码练习.mp4
    │   │   │   ├── 13_变量练习.mp4
    │   │   │   └── 14_变量测试.mp4
    │   │   ├── 12 逻辑运算符
    │   │   │   ├── 01_布尔类型.mp4
    │   │   │   ├── 02_比较运算符.mp4
    │   │   │   ├── 03_逻辑运算符.mp4
    │   │   │   ├── 04_逻辑运算符相关的练习题.mp4
    │   │   │   └── 05_逻辑运算符相关的练习题.mp4
    │   │   ├── 13 条件语句高级
    │   │   │   ├── 06_if入门.mp4
    │   │   │   ├── 07_ifelseif入门(上).mp4
    │   │   │   ├── 07_ifelseif入门(下).mp4
    │   │   │   ├── 08_案例之还剩下多少分.mp4
    │   │   │   └── 09_if语句以及逻辑运算符相关的选择题.mp4
    │   │   ├── 14 方法专项练习
    │   │   │   ├── 10_案例之吃饭和拉屎.mp4
    │   │   │   └── 11_方法专项练习.mp4
    │   │   ├── 15 数组
    │   │   │   ├── 01_同时声明多个同类型的变量.mp4
    │   │   │   ├── 02_数组简介.mp4
    │   │   │   ├── 03_数组的第一种定义格式.mp4
    │   │   │   ├── 04_数组的第二种定义格式.mp4
    │   │   │   ├── 05_如何获取数组的长度.mp4
    │   │   │   ├── 06_判断数组是否为空.mp4
    │   │   │   ├── 07_数组的首尾元素比较.mp4
    │   │   │   └── 08_数组相关的选择题.mp4
    │   │   ├── 16 类和对象
    │   │   │   ├── 09_面向对象极简介绍.mp4
    │   │   │   ├── 10_API文档入门.mp4
    │   │   │   └── 11_构造方法.mp4
    │   │   ├── 17 字符串处理
    │   │   │   ├── 12_String#concat()方法.mp4
    │   │   │   ├── 13_String#length()方法.mp4
    │   │   │   ├── 14_String#isEmpty()方法.mp4
    │   │   │   ├── 15_String#equals()方法.mp4
    │   │   │   ├── 16_String#charAt()方法.mp4
    │   │   │   ├── 17_String#contains()方法.mp4
    │   │   │   ├── 18_String#startsWith()&&endsWith()方法.mp4
    │   │   │   ├── 19_String#equalsIgnoreCase()方法.mp4
    │   │   │   ├── 20_String#indexOf()方法.mp4
    │   │   │   ├── 21_String#lastIndexOf()方法.mp4
    │   │   │   ├── 22_String#replace()方法.mp4
    │   │   │   ├── 23_String#split()方法.mp4
    │   │   │   ├── 24_String#substring()方法.mp4
    │   │   │   ├── 25_String#toLowerCase()&&toUpperCase()方法.mp4
    │   │   │   ├── 26_String#trim()方法.mp4
    │   │   │   ├── 27_String类中的方法总结.mp4
    │   │   │   └── 28_String类相关的选择题.mp4
    │   │   ├── 2 变量入门
    │   │   │   ├── 04_变量概述入门.mp4
    │   │   │   ├── 05_定义变量的格式.mp4
    │   │   │   ├── 06_变量名命名规范.mp4
    │   │   │   ├── 07_修改变量的值.mp4
    │   │   │   ├── 08_常见的数据类型.mp4
    │   │   │   └── 09_变量相加.mp4
    │   │   ├── 3 老王买瓜案例
    │   │   │   └── 10_老王买瓜案例(if语句的铺垫).mp4
    │   │   ├── 4 条件语句
    │   │   │   ├── 11_if-else语句.mp4
    │   │   │   ├── 12_if语句的练习题.mp4
    │   │   │   └── 13_为什么要条件语句.mp4
    │   │   ├── 5 循环简介
    │   │   │   └── 14_循环简介.mp4
    │   │   ├── 6 类和方法入门
    │   │   │   ├── 01_如何定义类和方法.mp4
    │   │   │   ├── 01_方法练习.mp4
    │   │   │   ├── 02_输出语句.mp4
    │   │   │   ├── 03_变量练习.mp4
    │   │   │   └── 04_Java中常见的数据类型.mp4
    │   │   ├── 7 简易计算器案例
    │   │   │   ├── 05_制作简易版的计算器(加减乘除方法).mp4
    │   │   │   └── 06_如何调用方法.mp4
    │   │   ├── 8 变量高级
    │   │   │   ├── 07_和变量相关的一些选择题.mp4
    │   │   │   ├── 07_局部变量和成员变量的概述.mp4
    │   │   │   └── 08_局部变量和成员变量的区别.mp4
    │   │   └── 9 运算符
    │   │       ├── 09_算数运算符.mp4
    │   │       └── 10_赋值运算符.mp4
    │   ├── 1-2面向对象
    │   │   ├── 1 Eclipse入门
    │   │   │   ├── 01_Eclipse简介.mp4
    │   │   │   ├── 02_Eclipse中HelloWorld案例.mp4
    │   │   │   ├── 03_Eclipse的视窗和视图概述.mp4
    │   │   │   ├── 04_Eclipse工作空间的基本配置.mp4
    │   │   │   ├── 05_Eclipse中内容辅助键的使用.mp4
    │   │   │   ├── 06_Eclipse中快捷键的使用.mp4
    │   │   │   └── 07_Eclipse中如何删除项目和导入项目.mp4
    │   │   ├── 2 面向对象和封装
    │   │   │   ├── 08_面向对象入门.mp4
    │   │   │   ├── 09_获取长方形的面积.mp4
    │   │   │   ├── 10_人类案例.mp4
    │   │   │   ├── 11_封装入门.mp4
    │   │   │   ├── 12_封装的好处和弊端.mp4
    │   │   │   ├── 13_封装详解.mp4
    │   │   │   └── 14_标准的类的定义格式.mp4
    │   │   ├── 3 面向对象综合案例
    │   │   │   ├── 15_用户家具城案例分析.mp4
    │   │   │   ├── 16_顾客类代码实现.mp4
    │   │   │   ├── 17_卖家类代码实现.mp4
    │   │   │   └── 18_测试类代码实现.mp4
    │   │   └── 4 机器人对战游戏
    │   │       ├── 01_游戏演示.mp4
    │   │       ├── 02_this关键字.mp4
    │   │       ├── 03_static关键字.mp4
    │   │       ├── 04_final关键字讲解.mp4
    │   │       ├── 05_Random类讲解.mp4
    │   │       ├── 06_while循环.mp4
    │   │       ├── 07_游戏业务分析.mp4
    │   │       ├── 08_游戏UI部分_玩家和NPC交谈功能的实现.mp4
    │   │       ├── 09_游戏UI部分_GameScreenUtils工具类的抽取.mp4
    │   │       ├── 10_游戏功能部分_玩家打NPC的功能(上).mp4
    │   │       ├── 10_游戏功能部分_玩家打NPC的功能(下).mp4
    │   │       ├── 11_注释的补充讲解.mp4
    │   │       ├── 12_游戏功能部分_NPC还击的过程.mp4
    │   │       ├── 13_代码优化(上).mp4
    │   │       └── 14_代码优化(下).mp4
    │   ├── 1-3集合
    │   │   ├── 1 HashMap集合
    │   │   │   ├── 01_HashMap集合简介.mp4
    │   │   │   ├── 02_HashMap集合的初始化.mp4
    │   │   │   ├── 03_往HashMap集合中添加数据.mp4
    │   │   │   ├── 04_泛型和包装类.mp4
    │   │   │   ├── 05_HashMap#size()方法.mp4
    │   │   │   ├── 06_集合相关的面试题.mp4
    │   │   │   ├── 07_HashMap#get()方法.mp4
    │   │   │   ├── 08_HashMap#isEmpty()方法.mp4
    │   │   │   ├── 09_HashMap#containsKey()&&containsValue()方法.mp4
    │   │   │   ├── 10_HashMap#clear().mp4
    │   │   │   ├── 12_增强for.mp4
    │   │   │   ├── 13_双列集合的遍历方式.mp4
    │   │   │   └── 14_HashMap集合相关的选择题.mp4
    │   │   ├── 2 ArrayList集合
    │   │   │   ├── 15_ArrayList简介.mp4
    │   │   │   ├── 16_ArrayList#get()方法.mp4
    │   │   │   ├── 17_ArrayList#set()方法.mp4
    │   │   │   ├── 18_ArrayList#remvoe()方法.mp4
    │   │   │   ├── 19_ArrayList#isEmpty()方法.mp4
    │   │   │   ├── 20_ArrayList#indexOf()&&lastIndexOf()方法.mp4
    │   │   │   ├── 21_ArrayList#set()方法_代码版.mp4
    │   │   │   ├── 22_ArrayList#toArray()方法.mp4
    │   │   │   ├── 23_集合和数组的相互转换(理解即可).mp4
    │   │   │   └── 24_ArrayList集合相关的选择题.mp4
    │   │   └── 3 集合综合练习
    │   │       └── 25_Map集合综合练习题.mp4
    │   ├── 1-4继承和多态
    │   │   ├── 1 继承
    │   │   │   ├── 02_非继承版的老师类和学生类案例.mp4
    │   │   │   ├── 03_继承版的老师类和学生类案例.mp4
    │   │   │   ├── 04_Java中类与类之间的继承特点.mp4
    │   │   │   ├── 05_继承的好处和弊端.mp4
    │   │   │   ├── 06_继承的注意事项.mp4
    │   │   │   ├── 07_this和super的区别(图解).mp4
    │   │   │   ├── 08_继承中的成员访问特点之成员变量.mp4
    │   │   │   ├── 09_继承中的成员访问特点之构造方法.mp4
    │   │   │   ├── 10_继承中的成员访问特点之成员方法.mp4
    │   │   │   ├── 11_方法重写的注意事项.mp4
    │   │   │   └── 12_final关键字.mp4
    │   │   ├── 2 抽象
    │   │   │   ├── 13_抽象类的概述及其特点.mp4
    │   │   │   └── 14_不能和abstract共存的关键字.mp4
    │   │   ├── 3 接口
    │   │   │   ├── 15_接口的概述及特点.mp4
    │   │   │   ├── 16_接口的成员特点.mp4
    │   │   │   ├── 17_类与接口之间的关系.mp4
    │   │   │   └── 18_抽象类和接口的区别.mp4
    │   │   ├── 4 多态
    │   │   │   ├── 19_多态的概述和前提条件.mp4
    │   │   │   ├── 20_多态中的成员访问特点.mp4
    │   │   │   ├── 21_多态的好处和弊端.mp4
    │   │   │   └── 22_动物类案例.mp4
    │   │   └── 5 游戏界面
    │   │       ├── 01_如何导出以及使用jar包.mp4
    │   │       ├── 02_魂斗罗选择界面.mp4
    │   │       ├── 03_微信打飞机案例V1版本.mp4
    │   │       └── 04_微信打飞机案例V2版本.mp4
    │   ├── 1-5java基础增强
    │   │   ├── 1 循环遍历
    │   │   │   ├── 05_while循环讲解.mp4
    │   │   │   ├── 06_do.while循环.mp4
    │   │   │   ├── 07_for循环.mp4
    │   │   │   ├── 07_switch-case语句的练习题.mp4
    │   │   │   ├── 08_for循环倒序打印.mp4
    │   │   │   ├── 09_三种循环之间的区别.mp4
    │   │   │   ├── 10_for循环求和思想(计算1-100之间的偶数和).mp4
    │   │   │   ├── 11_增强for循环遍历数组.mp4
    │   │   │   ├── 12_双列集合的第一种遍历方式.mp4
    │   │   │   ├── 13_双列集合的第二种遍历方式.mp4
    │   │   │   ├── 14_for循环嵌套之打印矩形.mp4
    │   │   │   ├── 15_for循环嵌套之打印正三角形和倒三角形.mp4
    │   │   │   ├── 16_for循环嵌套之打印九九乘法表.mp4
    │   │   │   ├── 17_校验金额.mp4
    │   │   │   └── 18_break和continue的区别.mp4
    │   │   ├── 10 阶段性总结 & 补充
    │   │   │   ├── 01_Java平台版本的划分.mp4
    │   │   │   ├── 02_Java语言的特点.mp4
    │   │   │   ├── 03_JDK的下载和安装.mp4
    │   │   │   ├── 04_path环境变量的配置.mp4
    │   │   │   ├── 05_三元运算符.mp4
    │   │   │   ├── 06_switch-case语句.mp4
    │   │   │   ├── 07_switch-case语句的练习题_p7wiK.mp4
    │   │   │   ├── 08_方法重载.mp4
    │   │   │   ├── 09_方法重写.mp4
    │   │   │   ├── 10_成员变量和局部变量的区别.mp4
    │   │   │   ├── 11_对象的初始化过程.mp4
    │   │   │   ├── 12_instanceof关键字.mp4
    │   │   │   ├── 13_包.mp4
    │   │   │   ├── 14_代码块.mp4
    │   │   │   ├── 15_HashSet集合.mp4
    │   │   │   ├── 16_集合的体系图.mp4
    │   │   │   ├── 17_单列集合的遍历方式.mp4
    │   │   │   ├── 18_双列集合的遍历方式.mp4
    │   │   │   ├── 19_并发修改异常.mp4
    │   │   │   ├── 20_Collections工具类.mp4
    │   │   │   ├── 21_内存输出流.mp4
    │   │   │   ├── 22_Properties集合类.mp4
    │   │   │   └── 23_多线程的声明周期图.mp4
    │   │   ├── 2 工具类和正则表达式
    │   │   │   ├── 19_如何定义一个工具类.mp4
    │   │   │   ├── 20_校验手机号_自己写校验代码.mp4
    │   │   │   ├── 21_正则校验手机号.mp4
    │   │   │   ├── 22_正则校验邮箱.mp4
    │   │   │   └── 23_通过正则表达式切割字符串.mp4
    │   │   ├── 3 集合补充案例
    │   │   │   ├── 24_ArrayList集合去重.mp4
    │   │   │   └── 25_debug调试.mp4
    │   │   ├── 4 异常
    │   │   │   ├── 01_异常的概述和分类.mp4
    │   │   │   ├── 02_编译期异常和运行时异常的区别.mp4
    │   │   │   ├── 03_异常的两种处理方式及区别.mp4
    │   │   │   ├── 04_finally关键字.mp4
    │   │   │   └── 05_finally关键字相关的面试题.mp4
    │   │   ├── 6 File文件
    │   │   │   ├── 06_File类的概述及构造方法.mp4
    │   │   │   ├── 07_绝对路径和相对路径的区别.mp4
    │   │   │   ├── 08_File类的创建和删除功能.mp4
    │   │   │   ├── 09_File类的获取功能.mp4
    │   │   │   ├── 10_File类的判断功能.mp4
    │   │   │   ├── 11_File类的list()和listFiles()方法.mp4
    │   │   │   ├── 12_匿名内部类.mp4
    │   │   │   └── 13_文件名称过滤器.mp4
    │   │   ├── 7 递归
    │   │   │   ├── 14_递归的概述和注意事项.mp4
    │   │   │   ├── 15_递归计算5的阶乘.mp4
    │   │   │   ├── 16_Debug调试_查看计算5的阶乘的过程.mp4
    │   │   │   ├── 17_递归打印文件夹.mp4
    │   │   │   └── 18_递归打印文件夹(加入键盘录入的功能).mp4
    │   │   ├── 8 流操作
    │   │   │   ├── 19_IO流的概述和分类.mp4
    │   │   │   ├── 20_三个特殊的字符值.mp4
    │   │   │   ├── 21_字节流读取数据.mp4
    │   │   │   ├── 22_字节流写入数据.mp4
    │   │   │   ├── 23_字节流拷贝图片(一次读写一个字节).mp4
    │   │   │   ├── 24_字节流拷贝文件(一次读写一个字节数组).mp4
    │   │   │   ├── 25_字符流拷贝文件(一次读写一个字符).mp4
    │   │   │   ├── 26_字符流拷贝文件(一次读写一个字符数组).mp4
    │   │   │   ├── 27_字符流和字节流的应用场景.mp4
    │   │   │   ├── 28_高效字符流一次读写一行.mp4
    │   │   │   ├── 29_IO流读写方式总结.mp4
    │   │   │   ├── 30_制作空文件.mp4
    │   │   │   ├── 31_从网络中下载资源.mp4
    │   │   │   ├── 32_JDK1.6及其以前IO流的标准异常处理代码.mp4
    │   │   │   ├── 33_JDK1.7及其以后IO流的标准异常处理代码.mp4
    │   │   │   ├── 34_复制文件夹.mp4
    │   │   │   └── 35_commons-IO第三方jar包复制文件夹.mp4
    │   │   └── 9 多线程
    │   │       ├── 01_多线程的概述.mp4
    │   │       ├── 02_多线程并行和并发的区别.mp4
    │   │       ├── 03_多线程的第一种实现方式.mp4
    │   │       ├── 04_多线程的第二种实现方式.mp4
    │   │       ├── 05_多线程两种实现方式的区别.mp4
    │   │       ├── 06_多线程模拟卖票案例.mp4
    │   │       ├── 07_多线程模拟卖票出现安全问题.mp4
    │   │       ├── 08_用同步代码块解决多线程模拟卖票出现的问题.mp4
    │   │       ├── 09_线程同步和效率的问题.mp4
    │   │       ├── 10_实现Runnable接口的方式实现卖票.mp4
    │   │       ├── 11_非静态同步方法.mp4
    │   │       ├── 12_静态同步方法.mp4
    │   │       ├── 13_死锁.mp4
    │   │       └── 14_实现Runnable接口的原理.mp4
    │   └── 1-6坦克大战
    │       ├── 1 项目初始化
    │       │   ├── 01_项目演示.mp4
    │       │   ├── 02_新建工作空间.mp4
    │       │   ├── 03_设计模式的概述.mp4
    │       │   ├── 04_模板方法设计模式.mp4
    │       │   ├── 05_lwjgl_jar包简介.mp4
    │       │   ├── 06_创建第一个窗体.mp4
    │       │   ├── 07_页面渲染.mp4
    │       │   ├── 08_输入输出以及坐标计算.mp4
    │       │   ├── 09_绘制图片.mp4
    │       │   ├── 10_播放声音.mp4
    │       │   └── 11_综合小案例.mp4
    │       ├── 2 窗口元素绘制
    │       │   ├── 12_坦克大战案例窗体绘制.mp4
    │       │   ├── 13_绘制一个砖墙.mp4
    │       │   ├── 14_绘制一堆砖墙.mp4
    │       │   ├── 15_绘制一堆水墙,铁墙,草坪.mp4
    │       │   ├── 16_抽取Element父类统一管理元素.mp4
    │       │   └── 17_坦克的绘制.mp4
    │       ├── 3 坦克移动
    │       │   ├── 18_坦克的移动和越界处理.mp4
    │       │   └── 19_坦克炮口的随向转动.mp4
    │       ├── 4 子弹发射
    │       │   ├── 01_优化项目中的三个小细节.mp4
    │       │   ├── 02_子弹的移动.mp4
    │       │   ├── 03_调整子弹的发射频率.mp4
    │       │   ├── 04_播放子弹的发射声音.mp4
    │       │   ├── 05_销毁出界的子弹.mp4
    │       │   ├── 20_坦克发射子弹.mp4
    │       │   ├── 21_子弹的坐标计算.mp4
    │       │   └── 22_子弹坐标计算方式优化.mp4
    │       ├── 5 坦克隐藏
    │       │   ├── 06_坦克隐藏到草坪中(简单做法).mp4
    │       │   ├── 07_Comparator接口简介.mp4
    │       │   └── 08_让坦克隐藏到草坪中(Comparator比较器接口实现).mp4
    │       ├── 6 碰撞检测
    │       │   ├── 09_Collision工具类解释(碰撞检测原理).mp4
    │       │   ├── 10_坦克和铁墙的碰撞检测(上).mp4
    │       │   ├── 11_坦克和铁墙的碰撞检测(下).mp4
    │       │   ├── 12_抽取Moveable接口和Blockable接口.mp4
    │       │   ├── 13_子弹和铁墙的校验上.mp4
    │       │   ├── 13_子弹和铁墙的校验下.mp4
    │       │   └── 14_抽取Attackable接口和Hitable接口.mp4
    │       └── 7 爆炸物处理
    │           ├── 15_优化爆炸物的坐标.mp4
    │           ├── 16_优化爆炸物图片的绘制个数.mp4
    │           ├── 17_销毁需要销毁的爆炸物.mp4
    │           └── 18_抽取Destroyable接口.mp4
    ├── 2阶段 区块链概念入门
    │   └── 区块链概念入门
    │       ├── 01_从实体货币到数字货币.mp4
    │       ├── 02_分布式记账.mp4
    │       ├── 03_中心化和去中心化.mp4
    │       ├── 04_hash函数.mp4
    │       ├── 05_hash算法的安全性.mp4
    │       ├── 06_分布式系统和数据一致性.mp4
    │       ├── 07_通货膨胀和比特币.mp4
    │       ├── 08_区块链技术的演化.mp4
    │       ├── 09_区块链的应用场景.mp4
    │       ├── 10_我到底需不需要区块链技术.mp4
    │       ├── 11_如何鉴别区块链项目里的猪.mp4
    │       ├── 12_区块链项目的评估方法.mp4
    │       ├── 13_ico和ipo和daico.mp4
    │       ├── 14_关于区块链的错误认知.mp4
    │       ├── 15_分布式系统的一些概念.mp4
    │       ├── 16_区块链技术栈和学习线路图.mp4
    │       └── 17_区块链的技术现状.mp4
    ├── 3阶段 kotlin和变成基本功加强
    │   ├── 3-1 kotlin基础语法
    │   │   ├── 1 kotlin介绍
    │   │   │   ├── 02.kotlin简介.mp4
    │   │   │   ├── 03.kotlin发展趋势.mp4
    │   │   │   ├── 04.kotlin优点.mp4
    │   │   │   ├── 05.kotlin前景.mp4
    │   │   │   └── 06.参考资料.mp4
    │   │   ├── 10 函数
    │   │   │   ├── 27.输入和输出函数.mp4
    │   │   │   ├── 28.四种函数.mp4
    │   │   │   └── 29.顶层函数和嵌套函数.mp4
    │   │   ├── 11 字符串模板
    │   │   │   └── 30.字符串模板.mp4
    │   │   ├── 12 条件语句
    │   │   │   └── 31.条件控制语句if.mp4
    │   │   ├── 13 循环
    │   │   │   ├── 02.for循环和foreach循环.mp4
    │   │   │   ├── 03.continue和break.mp4
    │   │   │   ├── 04.标签处返回.mp4
    │   │   │   ├── 05.while和do while.mp4
    │   │   │   └── d2-01.回顾.mp4
    │   │   ├── 14 区间
    │   │   │   ├── 06.区间定义.mp4
    │   │   │   ├── 07.区间的遍历.mp4
    │   │   │   └── 08.反向区间和区间的反转.mp4
    │   │   ├── 15 数组
    │   │   │   ├── 09.数组创建.mp4
    │   │   │   ├── 10.数组元素的修改.mp4
    │   │   │   └── 11.数组元素角标的查找.mp4
    │   │   ├── 16 when表达式
    │   │   │   ├── 12.java的switch语句回顾.mp4
    │   │   │   ├── 13.when表达式.mp4
    │   │   │   ├── 14.when表达式加强.mp4
    │   │   │   ├── 15.when表达式原理.mp4
    │   │   │   ├── 16.when表达式不带参数.mp4
    │   │   │   ├── 17.when表达式返回值.mp4
    │   │   │   └── 18.when表达式练习.mp4
    │   │   ├── 17 函数表达式
    │   │   │   ├── 19.函数表达式.mp4
    │   │   │   └── 20.函数引用和匿名函数.mp4
    │   │   ├── 18 函数参数
    │   │   │   ├── 21.默认参数和具名参数.mp4
    │   │   │   └── 22.可变参数.mp4
    │   │   ├── 19 kotlin异常处理
    │   │   │   ├── 23.kotlin的异常处理.mp4
    │   │   │   └── 24.上午回顾.mp4
    │   │   ├── 2 IDEA下载安装
    │   │   │   ├── 07.idea下载.mp4
    │   │   │   └── 08.idea启动.mp4
    │   │   ├── 20 递归
    │   │   │   ├── 25.递归.mp4
    │   │   │   ├── 26.斐波那契数列.mp4
    │   │   │   ├── 27.递归和迭代的对比.mp4
    │   │   │   └── 28.尾递归优化.mp4
    │   │   ├── 3 IDEA使用
    │   │   │   ├── 09.helloworld.mp4
    │   │   │   ├── 10.导入设置.mp4
    │   │   │   ├── 11.java和kotlin运行流程.mp4
    │   │   │   └── 12.查看kotlin对应的java代码.mp4
    │   │   ├── 4 kotlin数据类型
    │   │   │   ├── 13.基本数据类型定义.mp4
    │   │   │   ├── 14.和java基本数据类型对比.mp4
    │   │   │   └── 15.基本数据类型取值范围.mp4
    │   │   ├── 5 二进制
    │   │   │   └── 16.二进制基础.mp4
    │   │   ├── 6 变量定义
    │   │   │   ├── 17.kotlin调用java.mp4
    │   │   │   ├── 18.智能类型推断和类型转换.mp4
    │   │   │   └── 19.可变变量和不可变变量.mp4
    │   │   ├── 7 字符串
    │   │   │   ├── 20.字符串两种定义.mp4
    │   │   │   ├── 21.字符串删除空格.mp4
    │   │   │   ├── 22.字符串比较.mp4
    │   │   │   └── 23.字符串切割和截取.mp4
    │   │   ├── 8 元组
    │   │   │   └── 24.二元元组和三元元组.mp4
    │   │   └── 9 空值处理
    │   │       ├── 25.空指针异常.mp4
    │   │       └── 26.空值处理运算符.mp4
    │   ├── 3-10 gradle
    │   │   ├── 1 三种构建工具
    │   │   │   ├── 02.原始人的工作方式.mp4
    │   │   │   ├── 03.三种构建工具对比.mp4
    │   │   │   └── 04.gradle简介.mp4
    │   │   ├── 10 多模块构建
    │   │   │   ├── 30.多模块构建简介.mp4
    │   │   │   ├── 31.多模块的依赖.mp4
    │   │   │   └── 32.多模块构建.mp4
    │   │   ├── 11 groovy入门
    │   │   │   ├── 33.查看groovy编写的gradle脚本.mp4
    │   │   │   ├── 34.总结.mp4
    │   │   │   └── d8-01.回顾.mp4
    │   │   ├── 2 gradle使用入门
    │   │   │   ├── 05.gradle下载和配置.mp4
    │   │   │   ├── 06.gradle项目初始化.mp4
    │   │   │   └── 07.gradle打包.mp4
    │   │   ├── 3 gradle构建kotlin开发
    │   │   │   ├── 08.静态语言和动态语言.mp4
    │   │   │   └── 09.gradle支持kotlin开发.mp4
    │   │   ├── 4 task任务
    │   │   │   ├── 10.project和task.mp4
    │   │   │   ├── 11.第一个task任务.mp4
    │   │   │   ├── 12.task依赖.mp4
    │   │   │   ├── 13.task生命周期.mp4
    │   │   │   ├── 14.tasks任务集.mp4
    │   │   │   └── 15.默认属性.mp4
    │   │   ├── 5 增量更新
    │   │   │   └── 16.增量更新.mp4
    │   │   ├── 6 gradle使用插件
    │   │   │   └── 17.常见的插件.mp4
    │   │   ├── 7 手动添加依赖
    │   │   │   ├── 18.下载和导入httpclient的jar包.mp4
    │   │   │   ├── 19.使用httpclient.mp4
    │   │   │   └── 20.解决httpclient依赖的问题.mp4
    │   │   ├── 8 gradle添加依赖
    │   │   │   ├── 21.高级程序员做法.mp4
    │   │   │   ├── 22.两种方案对比.mp4
    │   │   │   ├── 23.依赖管理的总结.mp4
    │   │   │   ├── 24.常见的仓库.mp4
    │   │   │   ├── 25.依赖的坐标.mp4
    │   │   │   └── 26.依赖的配置阶段.mp4
    │   │   └── 9 gradle依赖冲突解决方法
    │   │       ├── 27.版本冲突第一种解决方案.mp4
    │   │       ├── 28.依赖冲突的解决.mp4
    │   │       └── 29.扩展gradle任务.mp4
    │   ├── 3-11 协程
    │   │   ├── 1 线程2种开启方式
    │   │   │   ├── 01.工程准备.mp4
    │   │   │   └── 02.创建线程的两种方式.mp4
    │   │   ├── 10 协程和线程
    │   │   │   └── 20.线程和协程效率对比.mp4
    │   │   ├── 11 协程取消
    │   │   │   ├── 21.协程取消.mp4
    │   │   │   ├── 22.协程取消失效.mp4
    │   │   │   └── 23.协程取消失效的处理.mp4
    │   │   ├── 12 协程异步启动
    │   │   │   ├── 24.协程async启动.mp4
    │   │   │   └── 25.协程上下文指定.mp4
    │   │   ├── 2 线程安全问题
    │   │   │   ├── 03.通过Thread直接卖票缺点.mp4
    │   │   │   ├── 04.通过Runnable方式共享线程间数据.mp4
    │   │   │   └── 05.线程安全问题解决.mp4
    │   │   ├── 3 线程join
    │   │   │   └── 06.线程join.mp4
    │   │   ├── 4 守护线程
    │   │   │   └── 07.守护线程.mp4
    │   │   ├── 5 线程池
    │   │   │   └── 08.线程池.mp4
    │   │   ├── 6 协程入门
    │   │   │   ├── 09.第一个协程启动.mp4
    │   │   │   ├── 10.协程打印数据.mp4
    │   │   │   └── 11.关闭https.mp4
    │   │   ├── 7 协程源码解析
    │   │   │   ├── 12.launch函数的参数和返回值.mp4
    │   │   │   ├── 13.launch函数第一个参数.mp4
    │   │   │   ├── 14.ForkJoinPool的原理.mp4
    │   │   │   └── 15.协程启动之后的处理.mp4
    │   │   ├── 8 协程实现原理
    │   │   │   ├── 17.协程实现原理.mp4
    │   │   │   └── 18.协程执行原理解析.mp4
    │   │   └── 9 挂起函数
    │   │       └── 19.挂起函数.mp4
    │   ├── 3-12 版本控制
    │   │   ├── 1 版本控控制工具介绍
    │   │   │   ├── 02.版本控制工具作用.mp4
    │   │   │   ├── 03.版本控制工具集中式和分布式.mp4
    │   │   │   └── 04.git的产生.mp4
    │   │   ├── 2 git提交文件
    │   │   │   ├── 05.安装git.mp4
    │   │   │   ├── 06.自我介绍给git_以后提交名称.mp4
    │   │   │   ├── 07.git初始化.mp4
    │   │   │   ├── 08.忽略文件.mp4
    │   │   │   ├── 09.git status查看状态.mp4
    │   │   │   ├── 10.添加和提交的命令.mp4
    │   │   │   ├── 11.git log查看提交记录.mp4
    │   │   │   ├── 12..gitignore作用.mp4
    │   │   │   └── 13.提交流程回顾.mp4
    │   │   ├── 3 版本回退
    │   │   │   ├── 14.版本回退.mp4
    │   │   │   ├── 15.回退到原来的版本.mp4
    │   │   │   └── 16.小bug.mp4
    │   │   ├── 4 git分支
    │   │   │   ├── 17.分支创建切换和删除分支.mp4
    │   │   │   ├── 18.分支合并1.mp4
    │   │   │   └── 19.合并冲突解决.mp4
    │   │   └── 5 Github的使用
    │   │       ├── 20.github简介.mp4
    │   │       ├── 21.生成公钥和私钥.mp4
    │   │       ├── 22.创建远程仓库.mp4
    │   │       ├── 23.关联远程仓库.mp4
    │   │       ├── 24.推送到远程分支.mp4
    │   │       ├── 25.推送其他分支.mp4
    │   │       ├── 26.zhangsan分支开发及推送.mp4
    │   │       ├── 27.zhangsan推送master分支到远程master分支.mp4
    │   │       ├── 28.新用户克隆代码.mp4
    │   │       ├── 29.lisi推送分支到远程分支.mp4
    │   │       └── 30.推送到远程仓库冲突解决.mp4
    │   ├── 3-2 kotlin面向对象
    │   │   ├── 1 面向对象入门
    │   │   │   └── 29.面向对象.mp4
    │   │   ├── 2 运算符
    │   │   │   ├── 02.运算符重载练习.mp4
    │   │   │   ├── 30.kotlin的运算符.mp4
    │   │   │   ├── 31.运算符.mp4
    │   │   │   └── d3-01.回顾.mp4
    │   │   ├── 3 访问器
    │   │   │   ├── 03.get和set方法.mp4
    │   │   │   ├── 04.访问器可见性.mp4
    │   │   │   └── 05.修改访问器.mp4
    │   │   ├── 4 kotlin对象创建过程
    │   │   │   ├── 06.对象中init使用.mp4
    │   │   │   ├── 07.构建函数参数使用var和val.mp4
    │   │   │   ├── 08.次构函数定义.mp4
    │   │   │   ├── 09.次构函数参数使用.mp4
    │   │   │   └── 10.init和次构执行顺序.mp4
    │   │   ├── 5 封装
    │   │   │   └── 11.封装.mp4
    │   │   ├── 6 继承
    │   │   │   └── 12.继承.mp4
    │   │   ├── 7 抽象
    │   │   │   ├── 13.抽象类.mp4
    │   │   │   └── 14.抽象类总结.mp4
    │   │   ├── 8 接口
    │   │   │   ├── 15.接口.mp4
    │   │   │   ├── 16.接口中字段处理.mp4
    │   │   │   ├── 17.接口中方法的实现.mp4
    │   │   │   └── 18.多态.mp4
    │   │   └── 9 面向对象综合案例
    │   │       └── 19.智能类型转换.mp4
    │   ├── 3-3 kotlin基础高级
    │   │   ├──  1 嵌套类和内部类
    │   │   │   ├── 20.嵌套类和内部类.mp4
    │   │   │   └── 21.内部类中使用this.mp4
    │   │   ├── 10 数据类
    │   │   │   └── 19.数据类.mp4
    │   │   ├── 11 密封类
    │   │   │   └── 20.密封类.mp4
    │   │   ├── 2 泛型
    │   │   │   ├── 22.泛型类.mp4
    │   │   │   ├── 23.泛型函数.mp4
    │   │   │   ├── 24.回顾.mp4
    │   │   │   ├── 25.泛型上限.mp4
    │   │   │   ├── 26.泛型擦除.mp4
    │   │   │   ├── 27.泛型类型投射.mp4
    │   │   │   └── 28.星号投射.mp4
    │   │   ├── 3 中缀表达式
    │   │   │   ├── 02.中缀表达式.mp4
    │   │   │   └── d4-01.回顾.mp4
    │   │   ├── 4 类委托和属性委托
    │   │   │   ├── 03.类委托.mp4
    │   │   │   ├── 04.类委托实现方式二.mp4
    │   │   │   ├── 05.委托加强.mp4
    │   │   │   └── 06.属性委托.mp4
    │   │   ├── 5 懒加载
    │   │   │   ├── 07.by lazy惰性加载.mp4
    │   │   │   └── 08.by lazy和lateinit.mp4
    │   │   ├── 6 扩展函数
    │   │   │   ├── 09.扩展函数.mp4
    │   │   │   └── 10.父类扩展函数子类调用.mp4
    │   │   ├── 7 单例模式
    │   │   │   ├── 11.单例模式一_饿汉式.mp4
    │   │   │   └── 12.单例模式二_懒汉式.mp4
    │   │   ├── 8 object单例
    │   │   │   ├── 13.object单例.mp4
    │   │   │   ├── 14.object单例问题.mp4
    │   │   │   ├── 15.伴生对象.mp4
    │   │   │   └── 16.实现和java一样的单例.mp4
    │   │   └── 9 枚举
    │   │       ├── 17.枚举.mp4
    │   │       └── 18.枚举的高级用法.mp4
    │   ├── 3-4 集合
    │   │   └── 1 集合函数
    │   │       ├── 02.java集合回顾.mp4
    │   │       ├── 03.koltin创建java的List集合.mp4
    │   │       ├── 04.kotlin的set集合.mp4
    │   │       ├── 05.map集合的创建.mp4
    │   │       ├── 06.map集合的遍历.mp4
    │   │       └── d5-01.回顾.mp4
    │   ├── 3-5 lambda表达
    │   │   └── 1 lambda表达
    │   │       ├── 07.闭包.mp4
    │   │       ├── 08.高阶函数.mp4
    │   │       ├── 09.lambda表达式.mp4
    │   │       ├── 10.lambda表达式去().mp4
    │   │       ├── 11.有参lambda表达式.mp4
    │   │       ├── 12.保存lamba表达式.mp4
    │   │       ├── 13.lambda表达式使用it.mp4
    │   │       ├── 14.lambda表达式返回值.mp4
    │   │       ├── 15.常见lambda表达式foreach.mp4
    │   │       └── 16.常见的lambda表达式indexoffirst.mp4
    │   ├── 3-6 集合函数
    │   │   ├── 1 集合函数
    │   │   │   ├── 17.查询练习.mp4
    │   │   │   ├── 18.过滤.mp4
    │   │   │   ├── 19.排序.mp4
    │   │   │   ├── 20.分组.mp4
    │   │   │   ├── 21.最值.mp4
    │   │   │   ├── 22.去重复.mp4
    │   │   │   ├── 23.集合拆分.mp4
    │   │   │   ├── 24.集合重新组合.mp4
    │   │   │   ├── 25.集合相加.mp4
    │   │   │   └── 26.上午回顾.mp4
    │   │   └── 2 四大函数
    │   │       ├── 27.大接收者的函数字面值.mp4
    │   │       ├── 28.apply函数.mp4
    │   │       ├── 29.let函数.mp4
    │   │       ├── 30.with函数.mp4
    │   │       └── 31.run函数.mp4
    │   ├── 3-7 回调
    │   │   ├── 1 接口回调
    │   │   │   ├── 32.案例前提.mp4
    │   │   │   ├── 33.接口回调.mp4
    │   │   │   └── 34.接口回调流程.mp4
    │   │   └── 2 函数回调
    │   │       ├── 35.函数回调.mp4
    │   │       └── 36.接口回调和函数回调的对比.mp4
    │   ├── 3-8 集合函数综合案例
    │   │   └── 1 集合函数综合案例
    │   │       ├── 02.数据库案例查询.mp4
    │   │       ├── 03.黑马商店练习.mp4
    │   │       └── d6-01.回顾.mp4
    │   └── 3-9 dsl
    │       ├── 1 dsl入门
    │       │   ├── 04.DSL简介.mp4
    │       │   ├── 05.class的普通实现.mp4
    │       │   ├── 06.实现person函数.mp4
    │       │   ├── 07.实现name属性的赋值.mp4
    │       │   ├── 08.address函数实现.mp4
    │       │   ├── 09.address里面字段的使用.mp4
    │       │   ├── 10.dsl流程.mp4
    │       │   ├── 11.dsl优化.mp4
    │       │   └── 12.dsl总结.mp4
    │       ├── 2 dsl综合案例
    │       │   ├── 13.普通实现html标签打印.mp4
    │       │   ├── 14.html实现.mp4
    │       │   ├── 15.head实现.mp4
    │       │   ├── 16.body标签.mp4
    │       │   └── 17.div标签.mp4
    │       ├── 3 构建器模式
    │       │   ├── 18.构建器模式.mp4
    │       │   ├── 19.DSL构建器.mp4
    │       │   ├── 20.通过构建器模式实现多个address.mp4
    │       │   └── 21.多个address使用.mp4
    │       └── 4 dsl缩小作用域
    │           └── 22.缩小作用域.mp4
    ├── 4阶段 区@块链前端基础
    │   ├── 4-1 HTML
    │   │   ├──  2 html基础标签
    │   │   │   ├── 05_标题标签.mp4
    │   │   │   ├── 06_字体标签.mp4
    │   │   │   ├── 07_颜色的使用.mp4
    │   │   │   ├── 08_其他标签.mp4
    │   │   │   └── 09_图片标签.mp4
    │   │   ├── 1 html入门
    │   │   │   ├── 02_入门.mp4
    │   │   │   ├── 03_资料和软件.mp4
    │   │   │   └── 04_html文档的基本结构.mp4
    │   │   ├── 10 表单标签
    │   │   │   ├── 21_基本表格.mp4
    │   │   │   ├── 22_下拉框和文本域.mp4
    │   │   │   ├── 23_常用属性和默认值.mp4
    │   │   │   └── 24_表单的属性.mp4
    │   │   ├── 11 html学习方法
    │   │   │   └── 25_学习方法.mp4
    │   │   ├── 3 案例_程序猿
    │   │   │   └── 10_案例_程序猿.mp4
    │   │   ├── 4 html列表标签
    │   │   │   └── 11_列表标签.mp4
    │   │   ├── 5 html超链接标签
    │   │   │   └── 12_a标签.mp4
    │   │   ├── 6 案例_友情链接
    │   │   │   └── 13_案例_友情链接.mp4
    │   │   ├── 7 案例_回到顶部
    │   │   │   └── 14_案例_回到顶部.mp4
    │   │   ├── 8 html表格标签
    │   │   │   ├── 15_基本表格.mp4
    │   │   │   ├── 16_表格的属性.mp4
    │   │   │   ├── 17_表格的结构标签.mp4
    │   │   │   ├── 18_行和列的删除.mp4
    │   │   │   └── 19_单元格的合并.mp4
    │   │   └── 9 html框架集标签
    │   │       └── 20_框架集.mp4
    │   ├── 4-2 CSS
    │   │   ├── 1 css入门
    │   │   │   ├── 01_CSS的简介.mp4
    │   │   │   └── 02_入门_QcrI3.mp4
    │   │   ├── 10 CSS定位
    │   │   │   ├── 32_相对定位.mp4
    │   │   │   ├── 33_绝对定位.mp4
    │   │   │   ├── 34_浮动.mp4
    │   │   │   └── 35_其他属性.mp4
    │   │   ├── 2 css使用方法
    │   │   │   ├── 03_使用方式1_行内样式.mp4
    │   │   │   ├── 04_使用方式2_内部样式.mp4
    │   │   │   ├── 05_使用方式3_外部样式.mp4
    │   │   │   ├── 06_使用方式4_导入式样式.mp4
    │   │   │   └── 07_优先级.mp4
    │   │   ├── 3 css学习方法
    │   │   │   └── 08_CSS学习方法.mp4
    │   │   ├── 4 css选择器
    │   │   │   ├── 09_标签选择器.mp4
    │   │   │   ├── 10_类选择器.mp4
    │   │   │   ├── 11_ID选择器.mp4
    │   │   │   ├── 12_群组选择器.mp4
    │   │   │   ├── 13_全局选择器.mp4
    │   │   │   ├── 14_DOM的关系.mp4
    │   │   │   ├── 15_后代选择器.mp4
    │   │   │   ├── 16_子元素选择器.mp4
    │   │   │   ├── 17_ID选择器.mp4
    │   │   │   └── 18_伪类选择器.mp4
    │   │   ├── 5 css继承
    │   │   │   └── 19_继承.mp4
    │   │   ├── 6 css层叠
    │   │   │   └── 20_层叠.mp4
    │   │   ├── 7 css命名规范
    │   │   │   └── 21_命名规范.mp4
    │   │   ├── 8 css常用样式
    │   │   │   ├── 22_背景样式.mp4
    │   │   │   ├── 23_文本样式.mp4
    │   │   │   ├── 24_字体样式.mp4
    │   │   │   ├── 25_列表样式.mp4
    │   │   │   ├── 26_表格样式.mp4
    │   │   │   └── 27_轮廓样式.mp4
    │   │   └── 9 盒子模型
    │   │       ├── 28_盒子的简介.mp4
    │   │       ├── 29_内边距和外边距.mp4
    │   │       ├── 30_盒子的注意事项.mp4
    │   │       └── 31_HTML元素的分类.mp4
    │   ├── 4-3 JavaScript
    │   │   ├── 1 js简介
    │   │   │   └── 01_js的简介.mp4
    │   │   ├── 10 案例_隔行换色
    │   │   │   └── 案例6_各行换色.mp4
    │   │   ├── 11 案例_全选全不选
    │   │   │   └── 案例7_全选全不选.mp4
    │   │   ├── 12 案例_省市联动
    │   │   │   └── 案例8_省市联动.mp4
    │   │   ├── 2 js基础语法
    │   │   │   ├── 02_基本数据类型.mp4
    │   │   │   ├── 03_运算符.mp4
    │   │   │   ├── 04_流程控制语句.mp4
    │   │   │   ├── 05_函数的定义.mp4
    │   │   │   ├── 06_函数绑定的第一种方式.mp4
    │   │   │   ├── 07_函数绑定的第二种方式.mp4
    │   │   │   ├── 08_数组.mp4
    │   │   │   ├── 09_正则表达式.mp4
    │   │   │   └── 10_日期对象.mp4
    │   │   ├── 3 DOM介绍
    │   │   │   ├── 11_元素的查找.mp4
    │   │   │   ├── 12_设置CSS样式.mp4
    │   │   │   ├── 13_内容的获取和设置.mp4
    │   │   │   ├── 14_属性的获取和设置.mp4
    │   │   │   ├── 15_鼠标相关的事件.mp4
    │   │   │   ├── 16_输入框相关的事件.mp4
    │   │   │   ├── 17_表单提交事件.mp4
    │   │   │   ├── 18_onChange事件.mp4
    │   │   │   └── 19_键盘事件.mp4
    │   │   ├── 4 BOM介绍
    │   │   │   ├── 01_window介绍1.mp4
    │   │   │   ├── 02_定时器.mp4
    │   │   │   └── 03_history和location.mp4
    │   │   ├── 5 案例_记事本
    │   │   │   ├── 案例1记事本_实现.mp4
    │   │   │   └── 案例1记事本_思路分析.mp4
    │   │   ├── 6 案例_任务清单
    │   │   │   ├── 案例2任务清单_1_保存数据.mp4
    │   │   │   ├── 案例2任务清单_2_加载数据.mp4
    │   │   │   ├── 案例2任务清单_3_修复bug.mp4
    │   │   │   ├── 案例2任务清单_4_设置样式.mp4
    │   │   │   └── 案例2任务清单_实现思路.mp4
    │   │   ├── 7 案例_表单校验
    │   │   │   ├── 案例3表单校验_1_手机号和密码的校验.mp4
    │   │   │   ├── 案例3表单校验_2_其他校验.mp4
    │   │   │   └── 案例3表单校验_3_校验表单.mp4
    │   │   ├── 8 案例_轮播图
    │   │   │   └── 案例4_轮播图.mp4
    │   │   └── 9 案例_弹出广告
    │   │       └── 案例5_弹出广告.mp4
    │   ├── 4-4 JQuery
    │   │   ├── 1 简介
    │   │   │   ├── 01_jQuery的简介.mp4
    │   │   │   └── 02_jQuery的学习方法.mp4
    │   │   ├── 10 JQuery Validation的使用
    │   │   │   ├── 08_验证插件的使用.mp4
    │   │   │   └── 09_自定义校验规则.mp4
    │   │   ├── 11 百度API简介
    │   │   │   └── 10_百度地址的自动完成.mp4
    │   │   ├── 12 省市联动插件
    │   │   │   └── 11_省市区联动插件.mp4
    │   │   ├── 2 JQuery中的API的介绍
    │   │   │   ├── 03_jQuery对象和dom对象的转换.mp4
    │   │   │   ├── 04_页面加载成功的函数.mp4
    │   │   │   ├── 05_事件的绑定.mp4
    │   │   │   ├── 06_常见事件.mp4
    │   │   │   ├── 07_效果的API.mp4
    │   │   │   ├── 08_基础选择器.mp4
    │   │   │   ├── 09_层级选择器.mp4
    │   │   │   ├── 10_筛选器.mp4
    │   │   │   ├── 11_包含选择器.mp4
    │   │   │   ├── 12_可见性过滤器.mp4
    │   │   │   ├── 13_属性过滤器.mp4
    │   │   │   ├── 14_表单过滤器.mp4
    │   │   │   ├── 15_属性的设置和获取.mp4
    │   │   │   ├── 15获取和设置CSS属性.mp4
    │   │   │   ├── 16_遍历.mp4
    │   │   │   ├── 17_操作元素的内容.mp4
    │   │   │   ├── 18_文档的处理.mp4
    │   │   │   ├── 19_表单对象的方法.mp4
    │   │   │   └── 20_其他方法.mp4
    │   │   ├── 3 案例_轮播图
    │   │   │   └── 01_轮播图.mp4
    │   │   ├── 4 案例_弹出广告
    │   │   │   ├── 02_弹出广告.mp4
    │   │   │   └── 02_弹出广告动画效果.mp4
    │   │   ├── 5 案例_隔行换色
    │   │   │   └── 03_隔行换色.mp4
    │   │   ├── 6 案例_全选全不选
    │   │   │   └── 04_全选全不选.mp4
    │   │   ├── 7 案例_省市联动
    │   │   │   └── 05_省市联动.mp4
    │   │   ├── 8 案例_左右移动
    │   │   │   └── 06_左右移动.mp4
    │   │   └── 9 github的使用
    │   │       └── 07_github的使用.mp4
    │   ├── 4-5 BootStrap
    │   │   ├── 1 简介
    │   │   │   └── 01_简介.mp4
    │   │   ├── 2 全局CSS样式
    │   │   │   ├── 02_使用步骤.mp4
    │   │   │   ├── 03_排版样式.mp4
    │   │   │   ├── 04_代码样式.mp4
    │   │   │   ├── 05_表格样式.mp4
    │   │   │   ├── 06_基本表格.mp4
    │   │   │   ├── 07_内联表单.mp4
    │   │   │   ├── 08_栅格系统.mp4
    │   │   │   ├── 09_水平表格.mp4
    │   │   │   ├── 10_移动设备优先.mp4
    │   │   │   ├── 11_表单的其他使用.mp4
    │   │   │   └── 13_其他样式.mp4
    │   │   ├── 3 BootStrap组件
    │   │   │   ├── 14_下拉菜单.mp4
    │   │   │   ├── 15_按钮组.mp4
    │   │   │   ├── 16_按钮式下拉菜单.mp4
    │   │   │   ├── 17_导航.mp4
    │   │   │   ├── 18_导航条.mp4
    │   │   │   ├── 19_固定导航条.mp4
    │   │   │   ├── 20_路径导航_分页_标签_徽章.mp4
    │   │   │   ├── 21_巨幕.mp4
    │   │   │   ├── 22_缩略图.mp4
    │   │   │   ├── 23_警告框.mp4
    │   │   │   ├── 24_进度条.mp4
    │   │   │   ├── 25_媒体对象.mp4
    │   │   │   ├── 26_列表组.mp4
    │   │   │   ├── 27_面板组.mp4
    │   │   │   └── 28_响应式嵌入内容.mp4
    │   │   └── 4 JavaScript插件
    │   │       ├── 29_模态框.mp4
    │   │       └── 30_轮播图.mp4
    │   └── 4-6 Kotlin与HTML
    │       ├── 1 Kotlinjs的入门
    │       │   └── 01_kotlinjs的入门.mp4
    │       ├── 2 案例_轮播图
    │       │   └── 02_轮播图.mp4
    │       ├── 3 案例_弹出广告
    │       │   └── 03_弹出广告.mp4
    │       ├── 4 案例_隔行换色
    │       │   └── 04_隔行换色.mp4
    │       ├── 5 案例_全选全不选
    │       │   └── 05_全选全不选.mp4
    │       ├── 6 案例_时钟
    │       │   ├── 06_页面初始化.mp4
    │       │   ├── 07_绘制线条.mp4
    │       │   ├── 08_圆的绘制.mp4
    │       │   ├── 09_填充.mp4
    │       │   ├── 10_绘制外边框.mp4
    │       │   ├── 11_绘制60个小点.mp4
    │       │   ├── 12_绘制12个文本.mp4
    │       │   ├── 13_绘制时针.mp4
    │       │   ├── 14_绘制分针和秒针.mp4
    │       │   ├── 15_绘制当前时间.mp4
    │       │   └── 16_优化.mp4
    │       ├── 7 kotlin入门
    │       │   └── 17_kotlinx入门.mp4
    │       └── 8 案例_主页
    │           └── 18_主页页面.mp4
    ├── 5阶段 区@块链后端基础
    │   ├── 5-1 SpringBoot基础
    │   │   ├── 1 MVC设计模式
    │   │   │   ├── 01_软件架构解释.mp4
    │   │   │   ├── 02_MVC模式介绍.mp4
    │   │   │   └── 03_MVC模式具体实现(三层设计).mp4
    │   │   ├── 2 基础搭建
    │   │   │   ├── 04_web常用框架介绍.mp4
    │   │   │   ├── 05_SpringBoot环境搭建.mp4
    │   │   │   ├── 06_服务器软件介绍.mp4
    │   │   │   └── 07_tomcat 演示.mp4
    │   │   ├── 3 Controller详解
    │   │   │   ├── 08_第一个controller.mp4
    │   │   │   ├── 09_第一个Controller(细节处理).mp4
    │   │   │   ├── 10_postman 介绍.mp4
    │   │   │   ├── 11_答疑 - 包的问题.mp4
    │   │   │   ├── 12_参数处理 - 接收简单参数.mp4
    │   │   │   ├── 13_参数处理 - 接收对象数据.mp4
    │   │   │   ├── 14_controller crud (添加学生).mp4
    │   │   │   ├── 15_controller crud (添加学生 二).mp4
    │   │   │   ├── 16_controller crud(删除学生).mp4
    │   │   │   ├── 17_controller crud(修改学生).mp4
    │   │   │   └── 18_controller_crud(查询学生).mp4
    │   │   ├── 4 部署应用
    │   │   │   ├── 19_打jar包.mp4
    │   │   │   └── 20_部署云服务器.mp4
    │   │   └── 5 自定义toobar
    │   │       └── 21_idea自定义toolbar.mp4
    │   ├── 5-10 H2数据库
    │   │   ├── 1 事务详解
    │   │   │   ├── 01_事务 介绍.mp4
    │   │   │   ├── 02_事务 入门(命令版本 一).mp4
    │   │   │   ├── 03_事务 入门(命令版本二).mp4
    │   │   │   ├── 04_事务 入门(代码版本).mp4
    │   │   │   ├── 05_事务 特性.mp4
    │   │   │   ├── 06_事务 并发执行的问题.mp4
    │   │   │   ├── 07_事务 隔离级别(读未提交).mp4
    │   │   │   ├── 08_事务 隔离级别(读已提交).mp4
    │   │   │   ├── 09_事务 隔离级别(可重复读).mp4
    │   │   │   ├── 10_事务 隔离级别(序列化).mp4
    │   │   │   └── 11_事务 写的问题(丢失更新).mp4
    │   │   ├── 2 事务案例
    │   │   │   ├── 12_事务 - 转账业务(三层结构 一).mp4
    │   │   │   ├── 13_事务 -转账业务(三层结构 二).mp4
    │   │   │   ├── 14_事务 - 转账业务(事务位置).mp4
    │   │   │   ├── 15_事务 - 转账业务(使用事务 一).mp4
    │   │   │   ├── 16_事务 - 转账业务(使用事务 二).mp4
    │   │   │   ├── 17_事务 - 转账业务(ThreadLocal).mp4
    │   │   │   └── 18_事务 - ThreadLocal解释.mp4
    │   │   ├── 3 H2数据库
    │   │   │   ├── 19_H2数据库 介绍.mp4
    │   │   │   ├── 20_H2数据库 运行模式介绍.mp4
    │   │   │   ├── 21_H2数据 java操作(内嵌模式).mp4
    │   │   │   └── 22_H2数据库 java操作(server模式&内存).mp4
    │   │   ├── 4 基础增强_反射
    │   │   │   ├── 23_反射 - 介绍.mp4
    │   │   │   ├── 24_反射 - 字段操作.mp4
    │   │   │   └── 25_反射 - 方法操作.mp4
    │   │   └── 5 基础增强_代理
    │   │       ├── 26_代理 - 介绍.mp4
    │   │       ├── 27_代理 - 静态代理.mp4
    │   │       ├── 28_代理 - 动态代理(JDK方式).mp4
    │   │       └── 29_代理 - 动态代理(cglib方式).mp4
    │   ├── 5-11 Spring
    │   │   ├── 1 IOC简介
    │   │   │   ├── 01_Spring 介绍.mp4
    │   │   │   ├── 02_IOC演变(一).mp4
    │   │   │   ├── 03_IOC演变(二).mp4
    │   │   │   └── 04_IOC演变(三).mp4
    │   │   ├── 2 Spring入门
    │   │   │   ├── 05_Spring 入门(一).mp4
    │   │   │   ├── 06_Spring 入门(二).mp4
    │   │   │   ├── 07_Spring 入门详解(xml解释).mp4
    │   │   │   └── 08_Spring 入门详解(代码解释).mp4
    │   │   ├── 3 IOC案例
    │   │   │   ├── 09_IOC xml版本.mp4
    │   │   │   ├── 10_IOC 注解版本(一).mp4
    │   │   │   └── 11_IOC 注解版本(二).mp4
    │   │   ├── 4 DI详解
    │   │   │   ├── 12_DI 介绍.mp4
    │   │   │   ├── 13_DI 注入方式(有参构造).mp4
    │   │   │   ├── 14_DI 注入方式(set方法).mp4
    │   │   │   ├── 15_DI 注入数据(集合类型).mp4
    │   │   │   ├── 16_DI 注入数据(对象类型).mp4
    │   │   │   └── 17_DI 注解方式.mp4
    │   │   └── 5 AOP详解
    │   │       ├── 18_AOP  介绍.mp4
    │   │       ├── 19_AOP 底层原理.mp4
    │   │       ├── 20_AOP 动态代理(JDK方式).mp4
    │   │       ├── 21_AOP 动态代理(cglib方式).mp4
    │   │       ├── 22_AOP术语.mp4
    │   │       ├── 23_AOP 入门.mp4
    │   │       └── 24_AOP增强.mp4
    │   ├── 5-12 JPA与DpringDataJPA
    │   │   ├── 1 JPA详解
    │   │   │   ├── 01_JPA  介绍.mp4
    │   │   │   ├── 02_JPA ORM思想.mp4
    │   │   │   ├── 03_JPA 入门(实体类).mp4
    │   │   │   ├── 04_JPA 入门(配置).mp4
    │   │   │   ├── 05_JPA 入门(测试).mp4
    │   │   │   ├── 06_JPA 入门详解(实体类).mp4
    │   │   │   ├── 07_JPA 入门详解(配置).mp4
    │   │   │   ├── 08_JPA 入门详解(代码).mp4
    │   │   │   ├── 09_JPA CRUD.mp4
    │   │   │   ├── 10_JPA 对象时态.mp4
    │   │   │   ├── 11_JPA 多表关系(搭建环境).mp4
    │   │   │   ├── 12_JPA 多表关系(多对一  int类型).mp4
    │   │   │   ├── 13_JPA 多表关系(多对一 对象类型).mp4
    │   │   │   ├── 14_JPA 多表关系(一对多).mp4
    │   │   │   └── 15_JPA 多表关系(对象导航查询).mp4
    │   │   └── 2 SpringDataJPA详解
    │   │       ├── 16_SpringDataJPA  - 介绍.mp4
    │   │       ├── 17_SpringDataJPA - 入门(一).mp4
    │   │       ├── 18_SpringDataJPA 入门(二).mp4
    │   │       ├── 19_SpringDataJPA 通用接口介绍.mp4
    │   │       ├── 20_SpringDataJPA 自定义方法名.mp4
    │   │       ├── 21_SpringDataJpa crud.mp4
    │   │       └── 22_SpringDataJPA 分页查询.mp4
    │   ├── 5-13 彩票项目-墨刀使用
    │   │   ├── 1 博彩项目介绍
    │   │   │   ├── 01-项目的介绍.mp4
    │   │   │   └── 02-友情提醒.mp4
    │   │   ├── 2 墨刀软件基本操作
    │   │   │   ├── 03-软件开发流程.mp4
    │   │   │   ├── 04-产品设计介绍.mp4
    │   │   │   ├── 06-墨刀软件的基本使用.mp4
    │   │   │   └── 07-分享软件.mp4
    │   │   └── 3 使用墨刀设计博彩项目
    │   │       ├── 08-新建项目.mp4
    │   │       ├── 09-首页-创建轮播母版.mp4
    │   │       ├── 10-首页-博彩讨论区.mp4
    │   │       ├── 11-首页-彩票条目.mp4
    │   │       ├── 12-首页-封装菜单母版.mp4
    │   │       ├── 13-首页-母版链接跳转.mp4
    │   │       ├── 14-首页-选号页面搭建.mp4
    │   │       ├── 15-我的-需求.mp4
    │   │       ├── 16-我的-设计.mp4
    │   │       ├── 17-头像上传.mp4
    │   │       ├── 18-注册页面.mp4
    │   │       └── 19-小结.mp4
    │   ├── 5-14 彩票项目-前台页面
    │   │   ├── 1 bootstrap编写博彩首页
    │   │   │   ├── 20-使用Hbuilder.mp4
    │   │   │   ├── 21-回顾bootstrap.mp4
    │   │   │   ├── 22-补充bootstrap.mp4
    │   │   │   ├── 23-拷贝轮播图代码.mp4
    │   │   │   ├── 24-封装彩票条目.mp4
    │   │   │   └── 25-封装彩票菜单栏.mp4
    │   │   ├── 2 bootstrap编写博彩详情页面
    │   │   │   ├── 01-今日课程介绍.mp4
    │   │   │   ├── 02-彩票详情界面.mp4
    │   │   │   ├── 03-解决页面显示不完整的bug.mp4
    │   │   │   └── 04-页面跳转.mp4
    │   │   ├── 3 bootstrap实现登录和注册
    │   │   │   ├── 05-完成注册页面.mp4
    │   │   │   └── 06-完成登录页面.mp4
    │   │   ├── 4 css,js,jquery实现选号页面逻辑
    │   │   │   ├── 07-完成选号页面-布局.mp4
    │   │   │   ├── 08-球的选中样式.mp4
    │   │   │   ├── 09-红球选中的逻辑.mp4
    │   │   │   ├── 10-蓝球被选中的逻辑.mp4
    │   │   │   ├── 11-随机选中红球.mp4
    │   │   │   └── 12-随机选中蓝球.mp4
    │   │   ├── 5 bootstrap实现购物车页面
    │   │   │   ├── 13-购物车页面.mp4
    │   │   │   ├── 14-订单详情页面.mp4
    │   │   │   └── 15-订单列表页面.mp4
    │   │   └── 6 快速实现后台管理系统
    │   │       └── 16-使用轮子.mp4
    │   ├── 5-15 彩票项目-后台数据展示
    │   │   └── 1 thymeleaf模板引擎学习
    │   │       ├── 01-课程介绍.mp4
    │   │       ├── 02-thymeleaf介绍.mp4
    │   │       ├── 03-搭建thymeleaf演示工程.mp4
    │   │       ├── 04-入门案例.mp4
    │   │       ├── 05-thymeleaf特征.mp4
    │   │       ├── 06-url标签.mp4
    │   │       ├── 07-代码段标签.mp4
    │   │       ├── 08-条件表达式.mp4
    │   │       ├── 09-循环处理.mp4
    │   │       └── 10-js拼接数据注意问题.mp4
    │   ├── 5-16 彩票项目-项目结构分析
    │   │   ├── 1 高效开发的准备工作
    │   │   │   ├── 11-代码的热更新.mp4
    │   │   │   └── 12-lombok插件安装.mp4
    │   │   └── 2 认识项目结构
    │   │       ├── 13-数据库表的关系.mp4
    │   │       └── 14-分析项目结构.mp4
    │   ├── 5-17 彩票项目-首页模块
    │   │   ├── 1 使用springboot完成首页后台业务逻辑
    │   │   │   ├── 15-首页-后台代码实现.mp4
    │   │   │   ├── 16-首页-前台代码实现.mp4
    │   │   │   ├── 17-首页数据倒序排序.mp4
    │   │   │   └── 18-分页查询.mp4
    │   │   └── 2 springboot完成开奖详情业务逻辑
    │   │       ├── 19-开奖详情-需求分析.mp4
    │   │       ├── 20-开奖详情-代码实现.mp4
    │   │       ├── 21-抽取底部菜单栏.mp4
    │   │       └── 22-小结.mp4
    │   ├── 5-18 用户模块
    │   │   ├── 1 springboot完成注册业务逻辑
    │   │   │   ├── 01-注册案例-需求分析.mp4
    │   │   │   ├── 02-注册案例-显示注册页面.mp4
    │   │   │   ├── 03-注册案例-代码实现上.mp4
    │   │   │   ├── 04-注册案例-代码实现下.mp4
    │   │   │   └── 05-注册案例-刷新重复提交的问题.mp4
    │   │   ├── 2 使用java代码发送短信验证码
    │   │   │   ├── 06-阿里大于-步骤介绍.mp4
    │   │   │   ├── 07-使用阿里大于发送验证码.mp4
    │   │   │   ├── 08-注册案例-发送验证码.mp4
    │   │   │   └── 09-注册案例-代码完成.mp4
    │   │   ├── 3 springboot完成登录业务并且密码MD5加密
    │   │   │   ├── 10-登录案例-需求分析.mp4
    │   │   │   ├── 11-登录案例-代码实现.mp4
    │   │   │   ├── 12-扩展-MD5加密算法.mp4
    │   │   │   ├── 13-解决页面user为空问题.mp4
    │   │   │   └── 14-演示加密之后的登录和注册.mp4
    │   │   └── 4 后台展示个人信息
    │   │       ├── 15-我的信息页面-代码实现上.mp4
    │   │       └── 16-您本次幸运号码.mp4
    │   ├── 5-19 彩票项目-论坛模块
    │   │   ├── 1 springboot完成发帖功能
    │   │   │   ├── 01-回顾MVC和三层架构.mp4
    │   │   │   ├── 17-论坛搭建UI跳转.mp4
    │   │   │   ├── 18-论坛首页-需求分析.mp4
    │   │   │   ├── 19-论坛首页-发表帖子的功能.mp4
    │   │   │   ├── 20-论坛首页-列出帖子后台代码.mp4
    │   │   │   └── 21-论坛首页-列出列表前台代码.mp4
    │   │   └── 2 springboot完成发表评论功能
    │   │       ├── 02-帖子详情-需求分析.mp4
    │   │       ├── 03-帖子详情-展示帖子的内容.mp4
    │   │       ├── 04-发表评论-需求分析.mp4
    │   │       ├── 05-发表评论-代码实现.mp4
    │   │       ├── 06-前台展示所有评论.mp4
    │   │       └── 07-展示最新的帖子.mp4
    │   ├── 5-2 HTTP协议
    │   │   ├── 1 环境搭建
    │   │   │   ├── 01_今日内容介绍.mp4
    │   │   │   ├── 02_http协议介绍.mp4
    │   │   │   ├── 03_PostMan 抓取数据.mp4
    │   │   │   ├── 04_firefox &  httpwatch 安装.mp4
    │   │   │   ├── 05_搭建环境 - 编写controller.mp4
    │   │   │   └── 06_搭建环境 - 编写html.mp4
    │   │   ├── 2 协议介绍
    │   │   │   ├── 07_Get请求数据解析(一).mp4
    │   │   │   ├── 08_Get请求数据解析(二).mp4
    │   │   │   ├── 09_Post请求数据解析.mp4
    │   │   │   ├── 10_Get请求和Post请求的区别.mp4
    │   │   │   ├── 11_request对象介绍.mp4
    │   │   │   └── 12_response对象介绍.mp4
    │   │   ├── 3 静态资源配置
    │   │   │   ├── 13_静态资源目录位置.mp4
    │   │   │   └── 14_自定义静态资源位置.mp4
    │   │   ├── 4 转发和重定向
    │   │   │   ├── 15_跳转页面 示例.mp4
    │   │   │   ├── 16_跳转页面 请求转发.mp4
    │   │   │   ├── 17_跳转页面 重定向.mp4
    │   │   │   ├── 18_请求转发和重定向区别.mp4
    │   │   │   └── 19_请求转发&重定向 使用时机.mp4
    │   │   ├── 5 Thymeleaf使用
    │   │   │   ├── 20_Thymeleaf 使用 - 环境搭建.mp4
    │   │   │   ├── 21_Thymeleaf 入门.mp4
    │   │   │   ├── 22_Thymeleaf 取值.mp4
    │   │   │   └── 23_Thymeleaf 存值.mp4
    │   │   └── 6 案例
    │   │       ├── 24_注册例子 - 失败细节处理.mp4
    │   │       └── 25_注册例子 - 成功细节处理.mp4
    │   ├── 5-20 彩票项目-购物模块
    │   │   ├── 1 使用filter过滤器过滤未登录请求
    │   │   │   ├── 08-校验登录-需求分析.mp4
    │   │   │   └── 09-校验登录-代码实现.mp4
    │   │   ├── 2 代码完成选号逻辑
    │   │   │   ├── 10-选号前端逻辑-代码实现.mp4
    │   │   │   ├── 11-前端发送异步请求逻辑.mp4
    │   │   │   ├── 12-前台发送注意转成json字符串.mp4
    │   │   │   └── 4 实现购物车功能
    │   │   │       ├── 01-回顾购物车前端.mp4
    │   │   │       ├── 18-购物车页面显示所有购物项.mp4
    │   │   │       ├── 19-删除购物车中的某一项.mp4
    │   │   │       ├── 20-清空购物车.mp4
    │   │   │       ├── 21-机选一注彩票.mp4
    │   │   │       ├── 22-机选一注彩票的小结.mp4
    │   │   │       └── 23-手工点击添加一注彩票.mp4
    │   │   └── 3 购物车分析
    │   │       ├── 13-封装购物车和购物项对象.mp4
    │   │       ├── 14-上午内容简单回顾.mp4
    │   │       ├── 15-使用fastjson.mp4
    │   │       ├── 16-购物车Controller逻辑.mp4
    │   │       └── 17-购物车前端显示badge.mp4
    │   ├── 5-21 彩票项目-订单模块
    │   │   └── 1 实现后台合成生成订单功能
    │   │       ├── 02-分析订单项对象和订单对象.mp4
    │   │       ├── 03-生成订单-需求分析.mp4
    │   │       ├── 04-生成订单-代码实现上.mp4
    │   │       ├── 05-生成订单-代码实现下.mp4
    │   │       ├── 06-生成订单-前台展现.mp4
    │   │       ├── 07-遗留的需求.mp4
    │   │       └── 08-我的订单-需求分析.mp4
    │   ├── 5-22 彩票项目springcloud
    │   │   └── 1 springcloud
    │   │       ├── 01_微服务介绍.mp4
    │   │       ├── 02_单应用框架的介绍.mp4
    │   │       ├── 03_微服务框架的介绍.mp4
    │   │       ├── 04_服务注册中心.mp4
    │   │       ├── 05_服务注册者.mp4
    │   │       ├── 06_注册中心高可用性.mp4
    │   │       ├── 07_profiles配置开发和部署.mp4
    │   │       ├── 08_feign-注册的实现.mp4
    │   │       ├── 09_feign-服务间的调用.mp4
    │   │       ├── 10_feign-高可用的实现.mp4
    │   │       ├── 11_Api网关准备.mp4
    │   │       ├── 12_Api网关实现.mp4
    │   │       ├── 13_彩票项目介绍.mp4
    │   │       ├── 14_彩票信息相关的服务创建.mp4
    │   │       ├── 15_info服务 数据实现.mp4
    │   │       ├── 16_info服务 接口实现.mp4
    │   │       ├── 17_前端项目部署.mp4
    │   │       ├── 18_user服务 数据和接口调通.mp4
    │   │       ├── 19_user服务 逻辑实现.mp4
    │   │       ├── 20_订单服务 接口调通.mp4
    │   │       ├── 21_订单服务 逻辑实现.mp4
    │   │       ├── 22_静态资源服务实现.mp4
    │   │       ├── 23_微服务整合.mp4
    │   │       └── Thumbs.db
    │   ├── 5-23 密码学
    │   │   ├── 1 密码学基础
    │   │   │   ├── 01_ASCII编码.mp4
    │   │   │   ├── 02_凯撒加密.mp4
    │   │   │   ├── 03_频度分析法破解凯撒加密.mp4
    │   │   │   └── 04_byte和bit.mp4
    │   │   ├── 2 对称加密
    │   │   │   ├── 05_加密基础.mp4
    │   │   │   ├── 06_DES加密.mp4
    │   │   │   ├── 07_DES解密.mp4
    │   │   │   ├── 08_AES.mp4
    │   │   │   └── 09_加密模式和填充模式.mp4
    │   │   ├── 3 消息摘要
    │   │   │   ├── 10_获取消息摘要.mp4
    │   │   │   ├── 11_消息摘要的其他算法.mp4
    │   │   │   └── 12_获取文件消息摘要.mp4
    │   │   ├── 4 非对称加密
    │   │   │   ├── 13_非对称加密的概念.mp4
    │   │   │   ├── 14_获取公私钥.mp4
    │   │   │   ├── 15_非对称加密解密.mp4
    │   │   │   ├── 16_保存公私钥.mp4
    │   │   │   ├── 17_获取私钥.mp4
    │   │   │   ├── 18_读取公私钥.mp4
    │   │   │   ├── 19_分段加密解密.mp4
    │   │   │   └── 20_生成签名和验证签名.mp4
    │   │   └── 5 实战案例
    │   │       ├── 21_搭建项目.mp4
    │   │       ├── 22_集成Swagger2.mp4
    │   │       ├── 23_解密数据并缓存在本地.mp4
    │   │       ├── 24_模拟登录.mp4
    │   │       └── 25_验证签名.mp4
    │   ├── 5-24 比特币java版本
    │   │   ├── 1 传统技术实现区块链
    │   │   │   ├── 01_第一版增加功能的实现.mp4
    │   │   │   └── 02_第一版保存功能的实现.mp4
    │   │   ├── 2 增加网络接口
    │   │   │   ├── 03_第二版后台的实现.mp4
    │   │   │   ├── 04_第二版前台页面的实现.mp4
    │   │   │   └── 05_完善页面.mp4
    │   │   ├── 3 增加Hash校验
    │   │   │   ├── 06_增加Hash值.mp4
    │   │   │   └── 07_校验hash值.mp4
    │   │   ├── 4 增加工作量证明
    │   │   │   ├── 08_增加工作量证明.mp4
    │   │   │   └── 09_修改校验的方法.mp4
    │   │   ├── 5 增加PreHash
    │   │   │   ├── 10_增加preHash.mp4
    │   │   │   └── 11_校验preHash.mp4
    │   │   ├── 6 增加钱包功能
    │   │   │   ├── 12_定义钱包.mp4
    │   │   │   ├── 13_钱包功能简介.mp4
    │   │   │   ├── 14_转账页面的搭建.mp4
    │   │   │   └── 15_转账后台的实现.mp4
    │   │   └── 7 增加WebSocket功能
    │   │       ├── 16_webSocket入门.mp4
    │   │       ├── 17_模拟节点之间的通信.mp4
    │   │       ├── 18_本项目集成WebSocket.mp4
    │   │       ├── 19_请求同步区块数据.mp4
    │   │       ├── 20_修复同步区块的bug.mp4
    │   │       └── 21_广播交易数据.mp4
    │   ├── 5-25 比特币kotlin版本
    │   │   ├── 1 传统笔记本
    │   │   │   ├── 01.区块链知识点简介.mp4
    │   │   │   ├── 02.笔记本1.0版本a.mp4
    │   │   │   ├── 03.测试笔记本1.0版本a.mp4
    │   │   │   ├── 04.笔记本1.0版本b.mp4
    │   │   │   ├── 05.笔记本1.0版本提交到git仓库.mp4
    │   │   │   └── 06.消息添加id属性.mp4
    │   │   ├── 2 服务端搭建
    │   │   │   ├── 07.ktor库使用.mp4
    │   │   │   ├── 08.接口搭建.mp4
    │   │   │   ├── 09.前端界面提交更新.mp4
    │   │   │   └── 10.静态界面提交数据.mp4
    │   │   ├── 3 校验和区块链
    │   │   │   ├── 11.数据篡改.mp4
    │   │   │   ├── 12.hash校验.mp4
    │   │   │   ├── 13.工作量证明.mp4
    │   │   │   ├── 14.增加preHash.mp4
    │   │   │   └── 15.篡改数据修正后面每一条数据.mp4
    │   │   ├── 4 转账操作
    │   │   │   ├── 16.转账流程.mp4
    │   │   │   ├── 17.转账界面搭建.mp4
    │   │   │   ├── 18.转账信息签名.mp4
    │   │   │   ├── 19.ajax发送转账请求.mp4
    │   │   │   └── 20.节点服务器处理转账请求.mp4
    │   │   └── 5 节点间同步
    │   │       ├── 21.websocket简介.mp4
    │   │       ├── 22.节点间连接流程分析.mp4
    │   │       ├── 23.节点间相互连接.mp4
    │   │       ├── 24.节点间任务广播.mp4
    │   │       ├── 25.节点收到任务广播处理.mp4
    │   │       ├── 26.节点更新.mp4
    │   │       └── 27.总结.mp4
    │   ├── 5-3 会话技术
    │   │   ├── 1 简介
    │   │   │   └── 01_会话技术介绍.mp4
    │   │   ├── 2 Cookie详解
    │   │   │   ├── 02_cookie介绍.mp4
    │   │   │   ├── 03_cookie入门.mp4
    │   │   │   ├── 04_cookie 分类(持久性cookie).mp4
    │   │   │   └── 05_Cookie 存储在哪里.mp4
    │   │   ├── 3 Cookie案例
    │   │   │   ├── 06_Cookie 示例 - 上次访问时间.mp4
    │   │   │   ├── 07_Cookie示例 - 上次访问时间(一).mp4
    │   │   │   ├── 08_Cookie示例 上次访问时间(二).mp4
    │   │   │   └── 09_Cookie示例 上次访问时间(格式化时间).mp4
    │   │   ├── 4 Cookie细节
    │   │   │   ├── 10_Cookie 细节.mp4
    │   │   │   ├── 11_Session介绍.mp4
    │   │   │   ├── 12_Session 基本能使用.mp4
    │   │   │   ├── 13_Session的细节(没关浏览器).mp4
    │   │   │   ├── 14_Session的细节(关闭浏览器).mp4
    │   │   │   ├── 15_Session销毁的细节.mp4
    │   │   │   └── 16_Session生命周期.mp4
    │   │   └── 5 Session案例
    │   │       ├── 17_购物车 - 需求分析.mp4
    │   │       ├── 18_购物车 - 后台准备商品数据.mp4
    │   │       ├── 19_购物车 - 页面显示商品列表.mp4
    │   │       ├── 20_购物车 - 添加商品到购物车.mp4
    │   │       ├── 21_购物车- 添加商品到购物车(二).mp4
    │   │       ├── 22_购物车 - 显示购物车.mp4
    │   │       └── 23_购物车 - 持久化cookie设置.mp4
    │   ├── 5-4 过滤器RestFul
    │   │   ├── 1 过滤器详解
    │   │   │   ├── 01_Filter 介绍.mp4
    │   │   │   ├── 02_Filter 入门.mp4
    │   │   │   ├── 03_Filter 特点.mp4
    │   │   │   ├── 04_Filter 忽略请求.mp4
    │   │   │   ├── 05_Filter 特点(放行后执行代码).mp4
    │   │   │   ├── 06_Filter 生命周期.mp4
    │   │   │   ├── 07_Filter 过滤器链.mp4
    │   │   │   ├── 08_Filter 自定义过滤器顺序.mp4
    │   │   │   └── 09_Filter 总结.mp4
    │   │   ├── 2  过滤器案例
    │   │   │   ├── 10_Filter 自动登录(分析).mp4
    │   │   │   ├── 11_Filter 自动登录(登录环境).mp4
    │   │   │   ├── 12_Filter 自动登录(成功&失败的细节).mp4
    │   │   │   ├── 13_Filter 自动登录(勾选自动登录).mp4
    │   │   │   ├── 14_Filter 自动登录(会话有效).mp4
    │   │   │   └── 15_Filter 自动登录(强制跳转登录页面).mp4
    │   │   └── 3 RestFul详解
    │   │       ├── 16_RestFul 介绍.mp4
    │   │       ├── 17_RestFul 使用的必要性.mp4
    │   │       ├── 18_RestFul 入门.mp4
    │   │       ├── 19_RestFul 命名特点.mp4
    │   │       ├── 20_RestFul 保存操作.mp4
    │   │       ├── 21_RestFul 删除操作.mp4
    │   │       ├── 22_RestFul 更新操作.mp4
    │   │       └── 23_RestFul 查询操作.mp4
    │   ├── 5-5 Linux入门
    │   │   └── 1 Linux入门
    │   │       ├── 24_linux 介绍.mp4
    │   │       ├── 25_安装虚拟机软件.mp4
    │   │       ├── 26_配置虚拟机.mp4
    │   │       ├── 27_linux安装.mp4
    │   │       └── 28_安装SecureCRT.mp4
    │   ├── 5-6 Ajax与JQuery
    │   │   ├── 1 AJAX详解
    │   │   │   ├── 01_同步&异步介绍.mp4
    │   │   │   ├── 02_Ajax 介绍.mp4
    │   │   │   ├── 03_Ajax - Get请求.mp4
    │   │   │   ├── 04_Ajax - Post请求.mp4
    │   │   │   ├── 05_Ajax - 获取响应数据.mp4
    │   │   │   └── 06_Ajax - 校验用户名是否可用.mp4
    │   │   ├── 2 JQuery的AJAX
    │   │   │   ├── 07_Jquery 介绍.mp4
    │   │   │   ├── 08_Jquery - Get请求.mp4
    │   │   │   ├── 09_Jquery - Post请求.mp4
    │   │   │   ├── 10_Jquery - Ajax请求.mp4
    │   │   │   └── 11_Jquery - 校验用户名是否可用.mp4
    │   │   ├── 3 XML详解
    │   │   │   ├── 12_xml - 介绍.mp4
    │   │   │   ├── 13_xml - 定义xml.mp4
    │   │   │   ├── 14_xml - 注释.mp4
    │   │   │   ├── 15_xml -  解析方式.mp4
    │   │   │   ├── 16_xml - 解析特点.mp4
    │   │   │   ├── 17_xml - 解析xml.mp4
    │   │   │   ├── 18_xml - xpath简单使用.mp4
    │   │   │   ├── 19_xml - 封装数据.mp4
    │   │   │   └── 20_xml - 约束介绍.mp4
    │   │   ├── 4 JSON详解
    │   │   │   ├── 21_json - 介绍.mp4
    │   │   │   ├── 22_json - 前端解析json.mp4
    │   │   │   ├── 23_json - 后端解析.mp4
    │   │   │   └── 24_json - 后端返回json字符串.mp4
    │   │   └── 5 AJAX案例
    │   │       ├── 25_省市联动 - 获取省份数据(一).mp4
    │   │       ├── 26_省市联动 - 显示省份数据.mp4
    │   │       ├── 27_省市联动 - 省份数据改变监听.mp4
    │   │       └── 28_省市联动 - 显示城市数据.mp4
    │   ├── 5-7 数据库
    │   │   ├── 1 环境搭建和软件使用
    │   │   │   ├── 01_数据库 概述.mp4
    │   │   │   ├── 02_数据库 常用数据库.mp4
    │   │   │   ├── 03_数据库 安装mysql.mp4
    │   │   │   ├── 04_数据库 - 可视化工具介绍.mp4
    │   │   │   ├── 05_数据库 - CRUD操作(命令版).mp4
    │   │   │   ├── 06_数据库 - CRUD操作(工具版).mp4
    │   │   │   └── 07_数据库 - 字段类型介绍.mp4
    │   │   ├── 2 表的操作
    │   │   │   ├── 08_数据表 - 创建表.mp4
    │   │   │   ├── 09_数据库 - 查询表.mp4
    │   │   │   ├── 10_数据库 - 删除表.mp4
    │   │   │   ├── 11_数据库 - 修改表.mp4
    │   │   │   ├── 12_数据库 - 修改表.mp4
    │   │   │   ├── 13_数据库 - 约束介绍(主键约束).mp4
    │   │   │   ├── 14_数据库 - 约束介绍(唯一&非空约束).mp4
    │   │   │   └── 15_数据库 - 主键约束演练.mp4
    │   │   └── 3 数据的操作
    │   │       ├── 16_数据库 - 添加记录.mp4
    │   │       ├── 17_数据库 - 删除记录.mp4
    │   │       ├── 18_数据库 - 更新记录.mp4
    │   │       ├── 19_数据库 - 查询记录(简单查询).mp4
    │   │       ├── 20_数据库 - 查询记录(条件查询).mp4
    │   │       ├── 22_数据库 - 查询记录(分组查询).mp4
    │   │       └── 23_数据 - 查询记录(分页查询).mp4
    │   ├── 5-8 数据库和Linux
    │   │   ├── 1 表关系介绍
    │   │   │   ├── 01_为什么要有表关系.mp4
    │   │   │   ├── 02_表关系维系的点(外键解释).mp4
    │   │   │   ├── 03_表关系维系的点(二).mp4
    │   │   │   └── 04_表关系提问.mp4
    │   │   ├── 2 表关系分类
    │   │   │   ├── 05_表关系的分类.mp4
    │   │   │   ├── 06_表关系-一对多关系.mp4
    │   │   │   ├── 07_表关系 - 多对多关系.mp4
    │   │   │   └── 08_表关系 - 多对多关系建立.mp4
    │   │   ├── 3 多表查询
    │   │   │   ├── 09_多表查询 - 子查询.mp4
    │   │   │   ├── 10_多表查询 - 内连接.mp4
    │   │   │   ├── 11_多表查询 - 显式内连接.mp4
    │   │   │   ├── 12_多表查询 - 外连接接查询介绍.mp4
    │   │   │   ├── 13_多表查询 - 左外连接查询.mp4
    │   │   │   ├── 14_多表查询 - 右外连接查询.mp4
    │   │   │   └── 15_多表查询 - 练习.mp4
    │   │   ├── 4 Linux常用命令
    │   │   │   ├── 16_linux - 常用目录.mp4
    │   │   │   ├── 17_linux - 基本命令.mp4
    │   │   │   ├── 18_linux - 操作目录.mp4
    │   │   │   ├── 19_linux - 文件操作(一).mp4
    │   │   │   ├── 20_linux - 文件操作(二).mp4
    │   │   │   ├── 21_linux - 打包压缩(一).mp4
    │   │   │   ├── 22_linux - 打包压缩(二).mp4
    │   │   │   ├── 23_linux - 文档编辑.mp4
    │   │   │   ├── 24_linux - 其他命令.mp4
    │   │   │   └── 25_linux - 文件权限.mp4
    │   │   └── 5 Linux安装软件
    │   │       ├── 26_linux - 安装jdk.mp4
    │   │       ├── 27_linux - 安装mysql(一).mp4
    │   │       └── 28_linux - 安装mysql(二).mp4
    │   └── 5-9 JDBC
    │       ├── 1 JDBC详解
    │       │   ├── 01_jdbc介绍.mp4
    │       │   ├── 02_jdbc - 入门案例(一).mp4
    │       │   ├── 03_jdbc - 入门案例(二).mp4
    │       │   ├── 04_jdbc - 注册驱动细节.mp4
    │       │   ├── 05_jdbc - 工具类抽取(一).mp4
    │       │   ├── 06_jdbc - 工具类抽取(二).mp4
    │       │   ├── 07_jdbc - crud(sql语句回顾).mp4
    │       │   ├── 08_jdbc - crud(添加).mp4
    │       │   ├── 09_jdbc - crud(更新).mp4
    │       │   ├── 10_jdbc - crud(删除).mp4
    │       │   ├── 11_jdbc - crud(查询).mp4
    │       │   ├── 12_jdbc - crud(查询单条记录).mp4
    │       │   └── 13_jdbc - crud(聚合查询).mp4
    │       ├── 2 DAO设计模式
    │       │   ├── 18_jdbc - dao模式(一).mp4
    │       │   ├── 19_jdbc - dao模式(二).mp4
    │       │   ├── 20_jdbc - dao模式(三).mp4
    │       │   └── 21_jdbc - dao模式(为什么使用接口).mp4
    │       └── 3 连接池技术
    │           ├── 22_jdbc - 连接池介绍.mp4
    │           ├── 23_jdbc - c3p0连接池(代码版本).mp4
    │           ├── 24_jdbc - c3p0连接池(xml版本).mp4
    │           ├── 25_jdbc - dbutils(一).mp4
    │           └── 26_jdbc - dbutils(二).mp4
    ├── 6阶段 区@块链前端加强和中间件开发
    │   ├── 6-1 NodeJs
    │   │   ├── 1 ES6语法
    │   │   │   ├── 1.ES6介绍.mp4
    │   │   │   ├── 2.ES6变量定义.mp4
    │   │   │   ├── 3.ES6解构赋值.mp4
    │   │   │   ├── 4.ES6函数扩展.mp4
    │   │   │   └── 5.ES6class语法.mp4
    │   │   ├── 10 美女爬虫项目
    │   │   │   ├── 5.爬虫项目-获取html.mp4
    │   │   │   ├── 6.cheerio类库的学习.mp4
    │   │   │   ├── 7.爬虫项目-解析dom并下载图片.mp4
    │   │   │   └── 8.events模块重构爬虫项目.mp4
    │   │   ├── 2 NodeJs的发展和起步IO
    │   │   │   ├── 6.NodeJs的发展历史.mp4
    │   │   │   ├── 7.NodeJs异步IO机制.mp4
    │   │   │   └── 8.NodeJs功能介绍.mp4
    │   │   ├── 3 NPM介绍
    │   │   │   └── 9.npm包下载.mp4
    │   │   ├── 4 NodeJs全局变量
    │   │   │   └── 10.全局变量.mp4
    │   │   ├── 5 NodeJs文件操作
    │   │   │   ├── 11.path模块.mp4
    │   │   │   ├── 12.fs模块.mp4
    │   │   │   ├── 13.fs模块reader流.mp4
    │   │   │   └── 14.pipe的使用.mp4
    │   │   ├── 6 NodeJs异步语法
    │   │   │   └── 15.promise和async_await语法.mp4
    │   │   ├── 7 http模块学习
    │   │   │   ├── 1.解决昨天遗留bug.mp4
    │   │   │   ├── 16.http模块.mp4
    │   │   │   └── 17.static-server(有bug).mp4
    │   │   ├── 8 模块
    │   │   │   ├── 2.模块导出.mp4
    │   │   │   ├── 3.crypto模块hash算法和aes算法.mp4
    │   │   │   └── 4.events模块.mp4
    │   │   └── 9 crypto模块和events模块
    │   │       └── 4.events模块_doEbD.mp4
    │   ├── 6-10 React项目开发
    │   │   ├── 1 Module导入及导出
    │   │   │   └── 09.组件的抽取.mp4
    │   │   ├── 2 GTD综合案例
    │   │   │   ├── 10.条目的添加add和删除del.mp4
    │   │   │   ├── 11-Props类型检查及默认值设置.mp4
    │   │   │   ├── 12-配置样式&条件渲染.mp4
    │   │   │   ├── 13-在受控组件&非受控组件之间抉择.mp4
    │   │   │   ├── 14-路由.mp4
    │   │   │   └── 15-组件的组合.mp4
    │   │   ├── 3 三方UI设计语言
    │   │   │   ├── 16-三方UI设计语言antd的使用-0.mp4
    │   │   │   └── 17-三方UI设计语言antd的使用-1.mp4
    │   │   └── 4 打包及部署
    │   │       └── 18-打包及部署网页.mp4
    │   ├── 6-11 ReactNative入门
    │   │   ├── 1 ReactNative入门
    │   │   │   ├── 01-知识点&案例介绍.mp4
    │   │   │   ├── 02-了解React-Native.mp4
    │   │   │   ├── 03-了解React-Native工作流程.mp4
    │   │   │   ├── 04-创建第一个React-Native项目.mp4
    │   │   │   ├── 05-了解React-Native目录结构.mp4
    │   │   │   └── 06-ReactNative开发资料.mp4
    │   │   ├── 2 ReactNative 页面跳转
    │   │   │   └── 07-通过react-native-router-flux完成页面跳转.mp4
    │   │   └── 3 ReactNative组件
    │   │       ├── 08-开发组件(swiper).mp4
    │   │       └── 09-长列表FlatList入门.mp4
    │   ├── 6-12 ReactNative进阶
    │   │   ├── 1 网络数据加载及展示
    │   │   │   ├── 10-通过fetch请求网络数据并刷新页面.mp4
    │   │   │   ├── 11-FlatList页面优化&按下事件.mp4
    │   │   │   └── 12-电影详情&Image的resizeMode&ScrollView滚动布局.mp4
    │   │   └── 2 调试&打包应用
    │   │       ├── 13-日志与调试.mp4
    │   │       ├── 14-打包签名Andriod应用.mp4
    │   │       └── 15-修改应用图标.mp4
    │   ├── 6-13 ipfs基础入门
    │   │   ├── 1 ipfs入门介绍
    │   │   │   ├── 01-ipfs&音乐播放器课程简介.mp4
    │   │   │   ├── 02-ipfs简介.mp4
    │   │   │   ├── 03-Http协议的特点及问题.mp4
    │   │   │   └── 04-ipfs的特点及优势.mp4
    │   │   └── 2 ipfs的常用命令
    │   │       ├── 05-ipfs入门&基础操作(上).mp4
    │   │       ├── 05-ipfs入门&基础操作(下).mp4
    │   │       ├── 06-ipfs数据传播方式.mp4
    │   │       └── 07-ipfs的files操作.mp4
    │   ├── 6-14 ipfs进阶技能
    │   │   ├── 1 ipfs的配置
    │   │   │   ├── 08-网易云音乐的API.mp4
    │   │   │   ├── 09-开放网关&修改默认IPFS存储目录(上).mp4
    │   │   │   ├── 09-开放网关&修改默认IPFS存储目录(下).mp4
    │   │   │   └── 10-ipfs添加&访问图片数据.mp4
    │   │   ├── 2 使用js-ipfs-api
    │   │   │   ├── 11-使用ipfs-api获取网络数据.mp4
    │   │   │   └── 12-使用ipfs-api上传网络数据.mp4
    │   │   ├── 3 ipns
    │   │   │   └── 13-ipns绑定hash数据.mp4
    │   │   └── 4 ipns的其他常用操作
    │   │       ├── 01-课程介绍_2EbFP.mp4
    │   │       └── 02-ipfs其他常用操作-pin.mp4
    │   ├── 6-15 ipfs-api案例项目
    │   │   ├── 1 ipns-api案例开发
    │   │   │   ├── 03-ipfs页面路由.mp4
    │   │   │   ├── 04-ipfs-api文本的上传及获取.mp4
    │   │   │   ├── 05-ipfs-api多媒体文件上传.mp4
    │   │   │   ├── 06-ipfs-api图片文件上传&Promise封装.mp4
    │   │   │   └── 07-ipfs-api文件files的使用.mp4
    │   │   └── 2 antd设计语言
    │   │       ├── 08-引入antd布局.mp4
    │   │       └── 09-配置antd的布局路由.mp4
    │   ├── 6-2 mondodb
    │   │   ├── 1 mongodb
    │   │   │   ├── 10.mongo命令行增删改查.mp4
    │   │   │   └── 9.mongodb介绍和安装.mp4
    │   │   └── 2 mongoose
    │   │       ├── 11.mongoose连接数据库并插入数据.mp4
    │   │       ├── 12.mongoose基本CRUD.mp4
    │   │       └── 13.mongoose高级查询.mp4
    │   ├── 6-3 Web框架
    │   │   ├── 1 express框架
    │   │   │   ├── 1.Express简单使用.mp4
    │   │   │   ├── 2.静态文件托管.mp4
    │   │   │   ├── 3.路由的简单使用.mp4
    │   │   │   ├── 4.强大的路径匹配.mp4
    │   │   │   ├── 5.模块化的路由.mp4
    │   │   │   ├── 6.中间件系统.mp4
    │   │   │   ├── 7.全局错误处理.mp4
    │   │   │   └── 8.模板引擎.mp4
    │   │   ├── 2 pm2
    │   │   │   └── 9.pm2进程管理的使用.mp4
    │   │   └── 3 Todo项目
    │   │       ├── 1.Todo项目service的编写和单元测试.mp4
    │   │       ├── 10.Todo项目的架构搭建.mp4
    │   │       ├── 2.Todo项目router层的编写和测试.mp4
    │   │       ├── 3.异步异常的捕获.mp4
    │   │       └── 4.日志中间件和config文件的使用.mp4
    │   ├── 6-4 Web开发
    │   │   ├── 1 RESTFul API设计和前段端分离
    │   │   │   ├── 5.RESTfulAPI的设计.mp4
    │   │   │   └── 6.前后端分离的概念.mp4
    │   │   ├── 2 电商管理后台项目架构搭建
    │   │   │   ├── 7.电商后台系统介绍.mp4
    │   │   │   ├── 8.搭建电商后台项目的MVC架构.mp4
    │   │   │   └── 9.config的动态切换.mp4
    │   │   ├── 3 用户模块
    │   │   │   ├── 10.res_md中间件的封装.mp4
    │   │   │   ├── 11.userService的编写和单元测试.mp4
    │   │   │   ├── 12.使用token来实现用户的认证.mp4
    │   │   │   └── 13.user模块的router层.mp4
    │   │   ├── 4 分类模块
    │   │   │   ├── 1.category的service层编写和单元测试.mp4
    │   │   │   └── 2.category的router层编写和测试.mp4
    │   │   ├── 5 商品模块
    │   │   │   ├── 3.product的model层编写.mp4
    │   │   │   ├── 4.product的service层编写和单元测试.mp4
    │   │   │   └── 5.product的router层编写和测试.mp4
    │   │   ├── 6 订单模块
    │   │   │   ├── 6.order的service层编写和单元测试.mp4
    │   │   │   └── 7.order的router层编写和测试.mp4
    │   │   ├── 7 token认证和权限管理
    │   │   │   ├── 10.permission中间件.mp4
    │   │   │   ├── 8.token认证中间件.mp4
    │   │   │   └── 9.完成token认证的中间件.mp4
    │   │   └── 8 集群搭建和线上部署
    │   │       ├── 11.pm2集群搭建.mp4
    │   │       ├── 12.线上服务器选择.mp4
    │   │       └── 13.阿里云部署工作流.mp4
    │   ├── 6-5 高并发解决方案
    │   │   ├── 1.高并发的硬件和软件的解决方案.mp4
    │   │   ├── 2.Redis介绍和命令行操作.mp4
    │   │   ├── 3.Redis在项目中的使用.mp4
    │   │   └── Thumbs.db
    │   ├── 6-6 Vue的基础语法
    │   │   ├── 1 Vue的入门
    │   │   │   ├── 01.课程介绍、.mp4
    │   │   │   ├── 02.vue的介绍.mp4
    │   │   │   ├── 03.vue的简单入门.mp4
    │   │   │   └── 04.vue快速尝鲜.mp4
    │   │   ├── 10 结构和路由
    │   │   │   ├── 26.工程结构.mp4
    │   │   │   ├── 27.vue-router.mp4
    │   │   │   └── 28.总结.mp4
    │   │   ├── 2 Vue的实例
    │   │   │   ├── 05.数据和方法.mp4
    │   │   │   ├── 06.生命周期钩子.mp4
    │   │   │   ├── 07.计算属性.mp4
    │   │   │   └── 08.侦听器.mp4
    │   │   ├── 3 class的动态绑定
    │   │   │   └── 09.class的动态绑定.mp4
    │   │   ├── 4 vue中条件判断
    │   │   │   └── 10.条件渲染.mp4
    │   │   ├── 5 vue中列表处理
    │   │   │   ├── 11.列表渲染.mp4
    │   │   │   ├── 12.演示数组中的操作.mp4
    │   │   │   ├── 13.遍历对象.mp4
    │   │   │   ├── 14.修复数据-注意事项.mp4
    │   │   │   └── 15.完成todos案例.mp4
    │   │   ├── 6 vue的组件
    │   │   │   ├── 16.全局组件.mp4
    │   │   │   └── 17.局部组件.mp4
    │   │   ├── 7 vue的组件通讯
    │   │   │   ├── 18.父子组件通讯-父传子.mp4
    │   │   │   ├── 19.父子组件通讯-子传父.mp4
    │   │   │   └── 20-注意-子组件不能修改父组件数据.mp4
    │   │   ├── 8 vue的插槽
    │   │   │   ├── 22.组件的插槽.mp4
    │   │   │   ├── 23.具名插槽.mp4
    │   │   │   └── 24.动态组件.mp4
    │   │   └── 9 Vue的脚手架工具
    │   │       └── 25.vue-cli脚手架工具.mp4
    │   ├── 6-7 彩票排项目重构
    │   │   ├── 1 搭建项目结构
    │   │   │   ├── 01.上次课内容回顾.mp4
    │   │   │   ├── 02.今日课程介绍.mp4
    │   │   │   ├── 03.搭建目录结构.mp4
    │   │   │   └── 04.引入bootstrap.mp4
    │   │   ├── 10 完成选号组件的业务逻辑
    │   │   │   ├── 01-今日课程介绍_gTKQW.mp4
    │   │   │   ├── 02-搭建选号组件.mp4
    │   │   │   ├── 03-初始化所有红球.mp4
    │   │   │   ├── 04-红球单选的逻辑.mp4
    │   │   │   ├── 05-selectpage获取选中红球.mp4
    │   │   │   ├── 06-初始化所有蓝球.mp4
    │   │   │   ├── 07-蓝球的单选逻辑.mp4
    │   │   │   └── 08-selectpage获取选中的蓝球.mp4
    │   │   ├── 11 添加数据到Vuex中
    │   │   │   ├── 09-添加数据到cart中.mp4
    │   │   │   ├── 10-上节课遗留问题.mp4
    │   │   │   └── 11-修改数据为购物车定义的格式.mp4
    │   │   ├── 12 完成购物车组件
    │   │   │   ├── 12-显示购物车中的数量.mp4
    │   │   │   ├── 13-购物车组件.mp4
    │   │   │   ├── 14-显示购物项信息.mp4
    │   │   │   ├── 15-完成机选功能.mp4
    │   │   │   ├── 16-完成清空的功能.mp4
    │   │   │   ├── 17-完成删除单个购物项.mp4
    │   │   │   └── 18-显示购物车总金额.mp4
    │   │   ├── 13 将数据保存到浏览器中
    │   │   │   └── 19-使用localStorage改造项目.mp4
    │   │   ├── 14 机选逻辑
    │   │   │   ├── 20-红球机选的逻辑.mp4
    │   │   │   ├── 21-蓝球机选逻辑.mp4
    │   │   │   └── 22-机选逻辑完成.mp4
    │   │   ├── 15 总结
    │   │   │   ├── 23-打包.mp4
    │   │   │   └── 24-总结.mp4
    │   │   ├── 2 完成首页模块
    │   │   │   ├── 05.TitleBar-上.mp4
    │   │   │   ├── 06.TitleBar-下.mp4
    │   │   │   ├── 07.抽取Carousel轮播图组件.mp4
    │   │   │   ├── 08.抽取HistoryList组件.mp4
    │   │   │   ├── 09.发送请求分析.mp4
    │   │   │   ├── 10.发送请求获取staic中的数据.mp4
    │   │   │   ├── 11.完成首页-列表展示.mp4
    │   │   │   └── 12.回顾首页案例.mp4
    │   │   ├── 3 调试配置
    │   │   │   └── 13-pathRewrite前后端代码联调.mp4
    │   │   ├── 4 重构menubar和titlebar
    │   │   │   ├── 14-抽取menubar组件.mp4
    │   │   │   ├── 15-组件之前的跳转.mp4
    │   │   │   └── 16-修改titlebar中needback为布尔类型.mp4
    │   │   ├── 5 完成彩票详情组件
    │   │   │   └── 17-完成彩票详情组件.mp4
    │   │   ├── 6 解决遗留问题
    │   │   │   ├── 18-上午小结.mp4
    │   │   │   ├── 19-创建登录组件和用户组件.mp4
    │   │   │   └── 20-解决menubar跳转问题.mp4
    │   │   ├── 7 Vuex的介绍
    │   │   │   ├── 21-保持用户状态问题-非父子组建共享数据.mp4
    │   │   │   ├── 22-Vuex中的简单实用.mp4
    │   │   │   ├── 23-vuex中getters的使用.mp4
    │   │   │   ├── 24-vuex中抽取模块.mp4
    │   │   │   └── 25-总结vuex.mp4
    │   │   ├── 8 使用Vuex
    │   │   │   └── 26-封装一个user的Store.mp4
    │   │   └── 9 完成登录和用户组建共享数据
    │   │       └── 27-完成登录和用户组件.mp4
    │   ├── 6-8 React基础入门
    │   │   ├── 1 React介绍与入门
    │   │   │   ├── 01.react简介.mp4
    │   │   │   ├── 02.通过脚手架初始化React.mp4
    │   │   │   ├── 03.配置npm淘宝镜像.mp4
    │   │   │   └── 04.通过ReactDOM渲染元素.mp4
    │   │   ├── 2 React属性&状态
    │   │   │   ├── 05.组件的声明及组件的状态.mp4
    │   │   │   ├── 06.组合组件及props的特性.mp4
    │   │   │   ├── 07.state状态及更新.mp4
    │   │   │   └── 08.state状态的特性回顾.mp4
    │   │   └── 3 生命周期
    │   │       ├── 09.react生命周期.mp4
    │   │       └── 10.多个组件的生命周期和状态维护.mp4
    │   └── 6-9 React进阶知识
    │       ├── 1 React事件
    │       │   ├── 11.event事件.mp4
    │       │   ├── 12.event事件传递参数.mp4
    │       │   └── 13.计数器游戏.mp4
    │       ├── 2 style样式
    │       │   ├── 0.通过文件引入.mp4
    │       │   ├── 00.yarn及翻译插件.mp4
    │       │   └── 14.style样式写法.mp4
    │       ├── 3 受控组件
    │       │   ├── 01-内容回顾.mp4
    │       │   ├── 02-付款计算器页面搭建.mp4
    │       │   └── 03.受控组件.mp4
    │       ├── 4 状态提升
    │       │   ├── 04.状态提升.mp4
    │       │   ├── 05.状态提升-组件数据流.mp4
    │       │   └── 06-状态提升-付款计算器代码优化.mp4
    │       └── 5 非受阻组件
    │           ├── 07-非受控组件-refs.mp4
    │           └── 08.非受控组件.mp4
    ├── 7阶段 以太坊区@块链和智能合约实战
    │   ├── 1 以太坊入门
    │   │   ├── 1 区块链市场价值
    │   │   │   ├── 01_课程安排介绍.mp4
    │   │   │   ├── 02_区块链10年.mp4
    │   │   │   ├── 03_区块链的市场分析.mp4
    │   │   │   ├── 04_区块链的项目机会.mp4
    │   │   │   └── 05_信息互联网和价值互联网.mp4
    │   │   ├── 2 以太坊介绍
    │   │   │   ├── 06_以太坊的历史.mp4
    │   │   │   ├── 07_什么是以太坊.mp4
    │   │   │   └── 08_如何和以太坊网络交互.mp4
    │   │   ├── 3 以太坊钱包安装
    │   │   │   ├── 09_metamask的安装.mp4
    │   │   │   └── 10_如何安装metamask.mp4
    │   │   └── 4 以太坊常见概念
    │   │       ├── 11_以太坊网络介绍.mp4
    │   │       ├── 12_区块链工作的核心原理.mp4
    │   │       ├── 13_以太坊的账户系统.mp4
    │   │       ├── 14_演示以太坊转账和账户的概念.mp4
    │   │       ├── 15_为什么转账需要一段时间.mp4
    │   │       ├── 16_交易打包的过程.mp4
    │   │       └── 17_区块时间和难度调整.mp4
    │   ├── 2 solidity智能合约
    │   │   ├── 1 soliddity智能合约编写
    │   │   │   ├── 18_什么是智能合约.mp4
    │   │   │   ├── 19_solidity特点和工作流程.mp4
    │   │   │   ├── 20_智能合约的源码和实例.mp4
    │   │   │   ├── 21_智能合约的helloworld.mp4
    │   │   │   ├── 22_自己搭建remix的开发环境.mp4
    │   │   │   ├── 23_solidity函数关键字.mp4
    │   │   │   ├── 24_以太坊的call和send.mp4
    │   │   │   ├── 25_以太坊的单位.mp4
    │   │   │   ├── 26_gas和gasprice.mp4
    │   │   │   ├── 27_助记词bip39协议.mp4
    │   │   │   ├── 28_更多以太币的获取.mp4
    │   │   │   └── 谷歌浏览器使用.mp4
    │   │   ├── 2 soliddity智能合约编译
    │   │   │   ├── 01_开发环境说明.mp4
    │   │   │   ├── 02_项目的目录结构.mp4
    │   │   │   ├── 03_编程简单的智能合约.mp4
    │   │   │   └── 04_智能合约的手动编译.mp4
    │   │   ├── 3 solidity智能合约框架
    │   │   │   ├── 05_智能合约的安全问题和软分叉硬分叉.mp4
    │   │   │   ├── 06_mocha测试框架入门.mp4
    │   │   │   ├── 07_安装ganache测试环境.mp4
    │   │   │   ├── 08_web3js的安装.mp4
    │   │   │   ├── 09_web3初始化和版本检查.mp4
    │   │   │   ├── 10_web3一些常用的api.mp4
    │   │   │   ├── 11_web3与账户相关的操作.mp4
    │   │   │   └── 12_es6的新语法async和await.mp4
    │   │   ├── 4 solidity智能合约部署
    │   │   │   ├── 13_部署智能合约到ganache测试网络.mp4
    │   │   │   ├── 14_智能合约的方法调用.mp4
    │   │   │   └── 15_部署智能合约到真实的网络.mp4
    │   │   └── 5 以太坊水龙头开发
    │   │       ├── 16_智能合约开发流程回顾.mp4
    │   │       ├── 17_以太坊转账逻辑.mp4
    │   │       └── 18_以太坊水龙头的开发.mp4
    │   └── 3 区块链项目实战
    │       ├── 1 区块链彩票业务分析
    │       │   ├── 01_传统彩票业务痛点分析.mp4
    │       │   ├── 02_传统彩票业务的信任危机.mp4
    │       │   └── 03_区块链彩票原理分析.mp4
    │       ├── 2 区块链彩票业务实现
    │       │   ├── 04_solidity的基本数据类型.mp4
    │       │   ├── 05_彩票逻辑的构造方法&msg全局对象.mp4
    │       │   ├── 06.solidity数组入门.mp4
    │       │   ├── 07.solidity数组长度和方法多个返回值.mp4
    │       │   ├── 08.solidity的复杂数据类型.mp4
    │       │   ├── 09.solidity二维数组的小细节.mp4
    │       │   ├── 10.不同版本的细微差异.mp4
    │       │   ├── 11.彩票投注的流程.mp4
    │       │   ├── 12.智能合约的debug.mp4
    │       │   ├── 13.奖池金额的查询和参与人的查询.mp4
    │       │   ├── 14.彩票随机数生成和开奖.mp4
    │       │   └── 15.彩票的退款逻辑.mp4
    │       ├── 3 modifiner使用
    │       │   └── 16.modifier的使用.mp4
    │       ├── 4 fomo3d原理
    │       │   ├── 17.fomo3d原理分析.mp4
    │       │   └── 18.fomo3d的漏洞解析.mp4
    │       ├── 5 智能合约测试
    │       │   ├── 19.智能合约的测试(上).mp4
    │       │   └── 19.智能合约的测试(下).mp4
    │       ├── 6 彩票项目实战
    │       │   ├── 01.dapp的架构分析.mp4
    │       │   ├── 02.react开发脚手架搭建.mp4
    │       │   ├── 03.react的ui开发.mp4
    │       │   ├── 04.彩票智能合约的部署.mp4
    │       │   ├── 05.web3版本的问题.mp4
    │       │   ├── 06.获取rankeby网络的信息.mp4
    │       │   ├── 07.获取以太坊的数据和react的生平周期.mp4
    │       │   ├── 08.从以太坊获取其他的数据.mp4
    │       │   ├── 09_前端的点击事件&购买彩票.mp4
    │       │   ├── 10.开奖逻辑的完成.mp4
    │       │   ├── 11.智能合约的send方法是不能有返回值的.mp4
    │       │   └── 12.智能合约的安全问题.mp4
    │       ├── 7 众筹系统后端智能合约实战
    │       │   ├── 01.众筹模式简单介绍.mp4
    │       │   ├── 02.众筹的痛点分析和区块链的解决方案.mp4
    │       │   ├── 03.众筹智能合约的结构分析.mp4
    │       │   ├── 04.众筹智能合约的构造方法.mp4
    │       │   ├── 05.众筹智能合约数据的获取.mp4
    │       │   ├── 06_付款申请的结构体和逻辑编写.mp4
    │       │   ├── 07.智能合约中storage和memory的概念.mp4
    │       │   ├── 08.memory和storage关键字.mp4
    │       │   ├── 09.付款请求Request函数的编写.mp4
    │       │   ├── 10.付款批准的操作编写.mp4
    │       │   ├── 11.批准付款的操作(严重的bug分析).mp4
    │       │   ├── 12.优化批准支付的操作.mp4
    │       │   ├── 13.众筹业务的完成.mp4
    │       │   ├── 14.部署逻辑分析.mp4
    │       │   └── 15.使用智能合约部署智能合约.mp4
    │       └── 8 众筹系统智能合约前端开发
    │           ├── 01_项目功能演示.mp4
    │           ├── 02_众筹项目需求整理.mp4
    │           ├── 03_众筹项目合约完善.mp4
    │           ├── 04_智能合约及测试(web3.js)需求.mp4
    │           ├── 05_通过web3-使用Factory创建Funding众筹合约.mp4
    │           ├── 06_众筹项目api操作的封装.mp4
    │           ├── 07_外部函数调用demo.mp4
    │           ├── 08_获取所有众筹地址&获取众筹详情.mp4
    │           ├── 09_众筹项目合约列表加载展示(上).mp4
    │           ├── 09_众筹项目合约列表加载展示(下).mp4
    │           ├── 10_获取发起人&参与人的众筹项目.mp4
    │           ├── 11_创建众筹项目.mp4
    │           └── 12_参与众筹.mp4
    ├── 8阶段 hyperledge区@块链项目开发
    │   ├── 8-1 hypeledger基础
    │   │   ├── 1hypeledger基本概念
    │   │   │   ├── 01.hyperledger简介.mp4
    │   │   │   ├── 02.hyperledger的参与人和合作伙伴.mp4
    │   │   │   ├── 03.hyperledger重建任务.mp4
    │   │   │   └── 04.hyperledger的重要概念.mp4
    │   │   ├── 2 hyperledger常见组件
    │   │   │   ├── 05.资产链码和账本.mp4
    │   │   │   ├── 06.hyperledger解决现实问题.mp4
    │   │   │   ├── 07.msp和fabirca概念入门.mp4
    │   │   │   └── 08.hyperledger中的peer、client和orderer节点.mp4
    │   │   └── 3 hypeledger智能合约和各种流程
    │   │       ├── 09.hyperledger业务分析.mp4
    │   │       ├── 10_channel详解.mp4
    │   │       ├── 11.chaincode详解.mp4
    │   │       ├── 12.hyperledger的工作流程.mp4
    │   │       └── 13.术语回顾.mp4
    │   ├── 8-2 hypeledge进阶
    │   │   ├── 1 fabirc环境搭建
    │   │   │   ├── 01_开发环境复习.mp4
    │   │   │   ├── 14.渔业系统业务复盘.mp4
    │   │   │   ├── 15.docker简介.mp4
    │   │   │   ├── 16.docker的原理和工作模式.mp4
    │   │   │   ├── 17.docker的安装.mp4
    │   │   │   ├── 18.docker常用指令快速入门.mp4
    │   │   │   ├── 19.hyperledger的环境搭建.mp4
    │   │   │   ├── 20.hyperledger fabirc end 2 end案例分析(上).mp4
    │   │   │   ├── 20.hyperledger fabirc end 2 end案例分析(下).mp4
    │   │   │   └── 21.hyperledger的end2end业务复盘.mp4
    │   │   └── 2 fabirc脚本分析和链码编写
    │   │       ├── 02_hyperledger开发环境脚本分析.mp4
    │   │       ├── 03_byfn脚本分析.mp4
    │   │       ├── 04_cryptogen的配置(定义谁是谁).mp4
    │   │       ├── 05_在创世区块里面声明orderer和peer所在的org.mp4
    │   │       ├── 06_orderer节点的配置(性能调优).mp4
    │   │       ├── 07_创建orderer节点的创世区块和channel.mp4
    │   │       ├── 08_更新通讯的锚节点.mp4
    │   │       ├── 09_手动创建网络手动执行e2e的逻辑.mp4
    │   │       ├── 10_手动创建channel,加入channel.mp4
    │   │       ├── 11_chaincode的编写和部署.mp4
    │   │       ├── 12_invoke逻辑的编写.mp4
    │   │       ├── 13_开发环境nodejs搭建.mp4
    │   │       ├── 14_nodejs开发调试环境的搭建.mp4
    │   │       └── 15_nodejs 链码的架构.mp4
    │   └── 8-3 hypeledger项目实战
    │       ├── 1 fabric项目业务分析
    │       │   ├── 01.hyperledger的工作流程.mp4
    │       │   ├── 02.fabirc架构流程分析.mp4
    │       │   ├── 03.hyperledger的其他重要概念.mp4
    │       │   ├── 04.hyperledger前后端开发环境搭建.mp4
    │       │   ├── 05.区块链技术的使用场景.mp4
    │       │   ├── 06.fabirc项目分析和简历书写.mp4
    │       │   ├── 07.渔业管理系统智能合约的编写.mp4
    │       │   └── 08.nodejs链码和go语言链码的类比.mp4
    │       └── 2 环境搭建前后端联调
    │           ├── 09.网络环境配置.mp4
    │           ├── 10.网络的docker-composer文件讲解.mp4
    │           ├── 11.环境问题的debug(上).mp4
    │           ├── 11.环境问题的debug(下).mp4
    │           ├── 12.hyperledger的环境搭建完成.mp4
    │           ├── 14.nodejs的sdk演示.mp4
    │           ├── 15.nodejs中间获取服务器数据.mp4
    │           └── 16.coachdb的配置.mp4
    ├── BlockChain-master.zip

    下载地址:

    游客,如果您要查看本帖隐藏内容请回复


    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    2020-1-16 01:57
  • 签到天数: 11 天

    [LV.3]偶尔看看

    0

    主题

    15

    帖子

    189

    积分

    Lv2码徒

    Rank: 2

    积分
    189
    发表于 2019-11-29 20:52:22
    果断MARK,前十有我必火!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-7-15 18:13
  • 签到天数: 26 天

    [LV.4]常来常往

    1

    主题

    94

    帖子

    1281

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    1281
    发表于 2019-12-24 11:09:23
    了解一下 谢谢分享
    回复

    使用道具 举报

  • TA的每日心情
    奋斗
    前天 18:15
  • 签到天数: 83 天

    [LV.6]普通吧粉

    0

    主题

    209

    帖子

    3860

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    3860
    发表于 2020-3-5 15:02:47
    看帖看完了至少要顶一下,还可以加入到淘帖哦!
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    4 天前
  • 签到天数: 49 天

    [LV.5]初驻小吧

    0

    主题

    101

    帖子

    3737

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    3737
    发表于 2020-3-22 11:33:16
    啥也不说了,楼主就是给力!
    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2020-7-12 17:05
  • 签到天数: 8 天

    [LV.3]偶尔看看

    0

    主题

    25

    帖子

    827

    积分

    Lv4码师

    Rank: 4

    积分
    827
    发表于 2020-4-11 19:05:08
    果断回帖,如果沉了就是我弄沉的很有成就感
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2020-5-26 08:07
  • 签到天数: 1 天

    [LV.1]小吧新人

    0

    主题

    3

    帖子

    23

    积分

    Lv1码奴

    Rank: 1

    积分
    23
    发表于 2020-5-26 08:10:19
    哥顶的不是帖子,是寂寞!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-7-29 10:22
  • 签到天数: 25 天

    [LV.4]常来常往

    1

    主题

    96

    帖子

    2546

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2546
    发表于 2020-6-9 14:30:35
    66666666666666
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    昨天 11:02
  • 签到天数: 115 天

    [LV.6]普通吧粉

    0

    主题

    453

    帖子

    4749

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    4749
    发表于 2020-6-30 08:19:34
    不错,又占了一个沙发!
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    2020-9-7 05:37
  • 签到天数: 9 天

    [LV.3]偶尔看看

    0

    主题

    47

    帖子

    2306

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2306
    发表于 2020-7-16 10:55:28
    与全栈区块链在线就业班价
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-9-2 13:28
  • 签到天数: 122 天

    [LV.7]超级吧粉

    1

    主题

    1552

    帖子

    7354

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    7354
    发表于 2020-7-17 23:55:57
    果断MARK,前十有我必火!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    4 天前
  • 签到天数: 20 天

    [LV.4]常来常往

    1

    主题

    54

    帖子

    2452

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2452
    发表于 2020-8-1 15:15:46
    不懂,学习一下
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-8-4 20:05
  • 签到天数: 2 天

    [LV.1]小吧新人

    0

    主题

    4

    帖子

    37

    积分

    Lv1码奴

    Rank: 1

    积分
    37
    发表于 2020-8-4 20:06:14
    看了LZ的帖子,我只想说一句很好很强大!
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2020-9-17 17:20
  • 签到天数: 6 天

    [LV.2]小吧熟人

    0

    主题

    28

    帖子

    2172

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2172
    发表于 2020-9-2 17:06:51

    了解一下 谢谢分享
    回复

    使用道具 举报

  • TA的每日心情
    无聊
    1 小时前
  • 签到天数: 27 天

    [LV.4]常来常往

    0

    主题

    126

    帖子

    2704

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2704
    发表于 2020-9-4 13:43:21
    看帖看完了至少要顶一下,还可以加入到淘帖哦!
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2020-9-12 14:39
  • 签到天数: 3 天

    [LV.2]小吧熟人

    0

    主题

    13

    帖子

    2096

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2096
    发表于 2020-9-8 17:30:59
    挺好的,学习一下
    回复

    使用道具 举报

  • TA的每日心情
    开心
    4 天前
  • 签到天数: 2 天

    [LV.1]小吧新人

    0

    主题

    14

    帖子

    2120

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2120
    发表于 2020-9-14 17:10:39
    thanks for share
    回复

    使用道具 举报

  • TA的每日心情
    开心
    3 小时前
  • 签到天数: 9 天

    [LV.3]偶尔看看

    0

    主题

    53

    帖子

    2303

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2303
    发表于 前天 22:00
    果断MARK,前十有我必火
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2 小时前
  • 签到天数: 13 天

    [LV.3]偶尔看看

    0

    主题

    85

    帖子

    2438

    积分

    永久VIP

    Rank: 3Rank: 3

    积分
    2438
    发表于 1 小时前
    楼主,不论什么情况你一定要hold住!hold住就是胜利!
    回复

    使用道具 举报

    返回列表
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    登录或注册

    团队

    一匹野马

    官方客服

    陆风-Q:1953128864

    官方QQ群

    825348618(程序员教程吧互助群)

    扫一扫快速加入

    群号652692981

    快速回复 返回顶部 返回列表