Day10_Git版本控制、项目总结,preview_220627,

2023-11-04

Day10_Git版本控制

手动的管理和记录每个版本之间的变化

项目开发会存在同样的问题

    • 整个项目由多个人共同开发,每个人开发的模块可能一样也可能不一样

      • 不一样:每个人负责不同的 功能模块

      • 一样:多个人共同负责一个模块

    • 代码会产生多个版本

      • 版本如何控制?

      • 这个版本中没有这个功能,但是我下个版本想要这个功能,下下一个版本这个功能又不需要了

      • 产品

        • v1:A、B

          • 原来的版本,有A和B两个功能

        • v2:A、C

          • 去掉了B功能,添加了C功能

        • v3:A、B、C

          • 添加了B这个功能

  • 如何实现多个人共同开发一个项目,能将项目的多个版本进行自由方便的管理

    • 甲:今天开发了一个版本,保存这个版本

    • 乙:基于甲昨天开发的版本,进行继续开发

    • 丙:负责开发另外一个版本

知识点03:Git的诞生及特点

了解Git的诞生背景及特点

  • 项目版本管理工具:能自动的将多个版本进行管理存储,类似于快照,多个人共享版本

  • Git诞生分布式项目管理工具,目前整个行业内最流行最受欢迎的项目版本管理工具

    • 开发者:Linus Torvalds

      • Linux的创始人

      • Linux诞生以后,全球很多开发者开发了 很多个版本的Linux,提交给Linus Torvalds

      • Linus Torvalds 将优秀的代码集成在Linux内核中,手动管理所有的代码

      • Linus Torvalds 不喜欢传统的免费CVS等工具,因为这些工具不好用,好用的都收费

      • Linus Torvalds 选择了一个商业化的工具,达成协议可以免费使用

      • 于是团队中的一个哥们有个想法:能不能破解这个东西?

      • 被发现了:Linus Torvalds 保证不再破解

      • 两周以后,Linus Torvalds 自己用C语言开发了Git,使用了类似于Linux的管理方式

      • Linus Torvalds :将Linux的版本控制切换到Git上

        • Git的开发汲取了其他的版本控制工具的优点,避免了缺点

**集中式:SVN**

  • 所有版本的代码都集中在SVN的服务器上

  • 任何一个开发者,都只能连接SVN服务器,下载代码和上传新的版本

  • 集中式:所有的开发都围绕SVN服务器为核心

  • 缺点

    • 必须联网

      • 局域网:还是比较快的,但是回家以后就没办法开发了

        • 在公司下载好

        • 回家开发,只能开发一个版本

        • 回到公司上传这个版本

      • 互联网:特别慢

        • 在任何一个地方连接SVN服务器,进行下载和上传

    • 自己无法自动管理多个版本

    • SVN服务器存在单点故障

分布式:Git

  • 去中心化模式

  • 优点

    • 不需要联网,自己的笔记本就是个本地版本库,直接利用自己的笔记本实现版本的管理

    • 自己可以管理任意多个版本

    • 不需要担心公共的版本库故障,每个人的本地都有版本库

Git的特点

  • 适合于分布式开发,多人可以共同开发,强调个体

  • 公共的版本库服务器的压力不会太大

  • 速度快、更加灵活

  • 任意的开发者之间如果产生冲突也容易解决

  • 不需要联网也可以实现多版本管理

  • 知识点04:Git及辅助工具安装

    实现Git及辅助工具的安装

  • Git-2.13.0-64-bit.exe:Windows版本的Git工具安装包

  • TortoiseGit-2.4.0.2-64bit.msi:Git的可视化工具安装包

  • TortoiseGit-LanguagePack-2.4.0.0-64bit-zh_CN.msi:TortoiseGit工具的汉化包

知识点05:Git管理的组成结构

掌握Git管理版本的组成结构

  • 本地版本控制Git服务器

    • 工作区【Work Dir】:就是你开发和修改代码的地方

    • 暂存区【Index】:临时存放你即将提交的版本的地方

      • 所有需要保存的版本必须先添加到暂存区

    • 本地版本仓库【HEAD】:本地的版本库,实现本地的版本的管理

      • 所有暂存区的版本会被提交到本地版本库

  • 远程版本仓库:用于共享项目代码版本

    • GitHub、Gitee

知识点06:本地仓库构建几种方式

基于自己的笔记本,在本地操作系统中实现Git本地仓库的构建

step1:准备

  • 每个项目都可以基于Git构建版本库,每个项目都可以做版本管理

  • 先创建一个目录,再创建三个子目录【三个本地库】

本地库只要构建成功就会创建一个 隐藏目录.git

修改配置 打开显示隐藏的项目

step2:构建

  • 方式一:通过Git自带的图形化界面进行构建

方式二:通过Git命令来构建

**方式三:通过TortoiseGit构建**

知识点07:Git基本操作--添加、提交

实现在Git本地工作区,添加文件到本地仓库

step1:创建文件

添加到暂存区

#添加一个或者多个文件到暂存区
git add [file1] [file2] ...

#添加指定目录到暂存区,包括子目录
git add [dir]

#添加当前目录下的所有文件到暂存区
git add .

#如何嫌命令难记,也可以使用下述的tortoiseGit工具操作

注意啊,这里点确定表示添加到暂存区,点击提交就一步提交到仓库了。

**提交到本地库**

#前面我们使用 git add 命令将内容写入暂存区。

#git commit 命令将暂存区内容添加到本地仓库中。

#master涉及分支的管理,我们后面细说。

git commit -m [message]

提交的时候最好写上提交日志  便于后续浏览排查。

查看本地版本库

知识点08:Git基本操作--修改、还原

实现基于本地版本库的修改提交

  • step1:修改文件

  • step2:提交第二个版本

  • step3:修改并提交第三个版本

  • **step4:查看版本日志**

还原:修改文件,但未提交

使用tortoiseGit工具,可以将工作区的内容还原至最后一个提交的版本。

知识点09:Git基本操作--版本差异比较、回退

  • 修改文件

  • 工作区与最新版本的差异

  • **工作区与倒数第二个版本的差异**

  • 工作区与之前任意版本的差异比较

    可以使用tortoiseGit工具选中文件、右键查看日志信息。

    在日志信息中选中想要比较的版本和工作区的之间的差异。

    版本回退

    有时候用Git的时候,有可能commit提交代码后,发现这一次commit的内容是有错误的,那么有两种处理方法: ​ 1、修改错误内容,再次commit一次

    2、使用git reset 命令撤销这一次错误的commit ​ 第一种方法比较直接,但会多次一次commit记录。 ​ 第二种方法会显得干净清爽,因为错误的commit没必要保留下来。但是使用的时候等慎重,对于新手而言。

    git reset 命令用于回退版本,可以指定退回某一次提交的版本,有3种模式可供选择,详见画图。

  • 小结

  • 注意:如果重置回到某个版本时,关闭了tortoiseGit日志窗口,这个版本之后的版本全部会被删除,无法再次回到之后的版本

  • 重置git reset,只能倒退回退,如果有前进的需求怎么办?

    导出需要重置到的版本,重新提交版本,将原来的一个老版本变成最新版本

知识点10:Git基本操作--删除

  • 情况1:文件删除

    直接将工作区的已经提交的文件删除之后,不做提交动作,可以使用还原操作。

    情况2:删除版本

    将工作区的已经提交的文件删除之后,做提交动作,可以通过日志还原。

    情况3:删除管理

    也就是所谓的摆脱Git的控制

    知识点11:添加整个项目

  • 复制工程到本地库

  • 添加到暂存区

  • 忽略不需要做控制的目录

  • 提交到本地库

知识点12:暂存区的设计

  • 没有暂存区

    • 在提交的时候,会让你选择那些文件需要提交

    • 我们所提交的必然是一个完整的版本

    • 毛病1

      • 文件特别多,挨个选非常麻烦

    • 毛病2

      • 版本1:ABC

      • 版本2:ABD

      • 想要一个版本:ACD

设计暂存区

  • 设计Git的时候考虑到上面两个问题的主要原因是提交版本修改的颗粒度太大了

  • 将可能需要提交的版本放入暂存区

  • 每一次只放一个部分

    • 第一次:A

    • 第二次:B

    • 提交一次:AB

    • 第三次:A,B,C

    • 提交一次:ABC版本

    • 第四次:A,C,D

    • 提交一次:ACD版本

理解:

  • 暂存区:相当于你买东西的先添加购物车

    • 将商品放入购物车的自由组合进行支付

  • 版本:就是一次支付

知识点13:Git远程仓库--GitHub创建公共仓库

了解Git远程仓库的设计

  • 问题

    • 如何实现多台机器之间共同协作开发版本的管理?

  • 解决

    • 公共代码版本托管平台

  • 商业代码托管平台

    • 国外:GitHub

    • 国内:Gitee

    • 可以将代码发布到这个平台上进行托管,其他的人可以从这个平台下载代码

      • 公共代码库:大家都可以看到的

      • 私有代码库:可以控制访问权限,但是收费

注册GitHub,并登陆

  • 参考附录一:https://github.com/

  • 如果访问不了,添加DNS解析

  • #GitHub
    140.82.114.4 github.com
    199.232.69.194 github.global.ssl.fastly.net

  • 创建公共仓库
  • 知识点14:本地与GitHub的SSH连接

    实现本地仓库与GitHub公共仓库的连接

  • 需求

    • 即使是public的公共仓库,也只是所有人可读,但不是所有人可写

    • 哪些人可写呢?

      • 需要配置SSH认证

      • 需要将本地机器的公钥填写在GitHub中,只有填写公钥的机器才能推送

本地秘钥生成

  • step1:在自己Windows本地生成一对公私钥

  • ssh-keygen -t rsa

  • step2:找到自己的公钥的位置:当前用户的家目录下:C:\user\用户名 \ .ssh

  • step3:打开公钥的文件,并复制公钥的内容

  • 配置GitHub

  • 将整个公钥的所有内容配置到SSH的key中,添加保存即可

  • 小结

  • 实现本地仓库与GitHub公共仓库的连接

知识点15:同步到远程仓库

实现本地仓库代码同步到远程仓库

方式一:命令同步

#添加一个远程仓库的地址叫origin
git remote add origin git@github.com:Frank-itcast/repository1.git

练习中替换成自己的仓库地址
#git remote add origin git@github.com:AllenWoon/xls_1.git

#将本地master同步到远程的origin
git push -u origin master

方式二:工具同步:SSH

方式三:工具同步:HTTPS

小结

  • 实现本地仓库代码同步到远程仓库

知识点16:从远程仓库克隆

实现从远程仓库克隆到本地仓库

  • 方式一:命令

  • git clone git@github.com:Frank-itcast/reps1.git


    #git clone git@github.com:AllenWoon/xls_2.git

  • 方式二:工具

知识点17:冲突问题

了解版本管理的冲突问题及解决方案

  • step1:用户1本地是版本3,Github也是版本3

  • step2:用户2克隆了Github中版本3,用户2的本地是版本3

  • step3:用户1本地是版本4,GitHub也是版本4

  • step4:用户2基于版本3开发了用户2的版本4推动给GitHub

  • 产生了冲突,如何解决?

本地reps3

添加一个文件demo01.java,先提交到本地仓库;

然后同步到GitHub远程仓库中

git@github.com:AllenWoon/remote1.git

本地reps4:克隆刚才的远程仓库

  • 本地修改文件,提交到本地仓库

  • 同步到远程仓库

  • 本地reps3:demo01.java,进行了修改

    • 同步到远程仓库

    • 提交失败

  • 解决

    • 本地reps3:拉取远程reps1中的版本,发现冲突的文件

    • 修改冲突的文件

    • 解决冲突

    • 提交本地仓库

    • 提交远程仓库

解决

  • 如果别人已经提交了某个版本,自己再次提交这个版本,会失败

  • 将两个冲突的版本合并,由开发者自行选择到底应该 使用哪个版本

    • step1:先拉取远程仓库中的当前的这个版本

  • step2:与自己的版本做比较

    • step3:调整好确认的版本以后,再次提交

知识点18:分支的功能与分支管理

  • 业务场景

    • 开发一个APP

      • 普通的开发线

        • A、B、C

        • v1/v2/v3

      • VIP的开发线

        • A、B、C、D

        • v1/v2/v3

      • 测试开发线

        • A、B、C、D、E

        • v1/v2/v3

    • 问题:如果一个项目中多条开发线都需要做版本控制怎么办?

    • 解决:分支管理

      分支管理

    • 一个项目中可以有多个分支,每个分支独立管理各自的版本,默认只有一个分支:master

    • 创建分支

    • 切换分支

    • 注意:测试vip分支与master 分支

    • 在vip分支中修改的这个版本,在master中是否能看到对应的修改?

      • 看不到

      • 所有的分支是独立的

    • 在Master管理的文件或者版本,在vip中是否能看到?

      • 看不到

  • 删除分支

  • 当前正在使用分支不允许删除

  • 删除其他的分支

  • 知识点19:分支合并

    实现分支的合并

  • 需求:将VIP的功能与普通的功能进行合并

    • 普通的APP:master

      • ABCD

    • VIP的APP:vip

      • ABCE

    • 这个功能可以给普通用户使用

      • 希望得到普通用户的APP

      • ABCDE

  • 分支的合并

    • vip内容

  • 希望得到的结果:master分支合并vip的分支的内容

  • 在Master中做一个新的版本

  • 这个操作是不影响vip分支的

知识点20:IDEA、Pycharm等开发工具与Git集成

  • 创建一个项目工程

  • 配置与Git关联

  • 创建模块代码

  • **创建本地库设置忽略**

  • 添加并提交代码

知识点21:IDEA中使用Git

  • 目标:实现IDEA中使用Git管理

  • 实施

    • 方式一:右键菜单

    • 方式二:VCS选项

    • 提交

知识点22:IDEA关联GitHub

实现IDEA与GitHub的集成

  • 创建远程仓库

  • 配置远程仓库地址

  • 同步到远程仓库

知识点23:IDEA协同开发拉取代码

实现IDEA拉取代码

知识点24:IDEA中分支的使用

实现IDEA中分支的管理

  • 方式一:右键菜单

  • 方式二:右下角标签

  • 创建分支

  • 切换分支

  • 删除分支

附录一:创建GitHub账号

进入自己邮箱,点击按钮或者链接

创建163邮箱,

Day10_新零售项目总结

  • 项目名称

    亿品新零售(可改)

  • 项目定位

    大数据离线数据仓库系统(OLAP)

  • 项目背景

    以互联网为依托,通过运用大数据、人工智能等先进技术手段,对商品的生产、流通与销售过程进行升级改造,进而重塑业态结构与生态圈,并对线上服务、线下体验以及现代物流进行深度融合的零售新模式。

    关键字眼:线上电商、线下门店、现代物流 + 大数据分析

    分析的目的:优化业务流程、改善业务环境、赚取更多的钱。(业务需求,营销人员、管理层来定)

项目架构

项目数据流程

不管是整体数据流程还是在数仓分层中的流程。核心就是:数据从哪里来,数据到哪里去。

在说数据流程的时候,必须要阐述数据在当前这个阶段(这一分层)的需要达到的功能。

#参考话术  只可意会 不可模仿

#1、通过sqoop将业务数据库中的数据采集同步到新零售数仓的ODS层中;
   可能问到:sqoop工具知识点
           几种同步方式及区别:全量覆盖、全量同步、增量同步(仅新增)、增量同步(新增及更新同步)
           sqoop如何实现几种同步的,尤其是增量同步?
                   要求业务系统表设计的时候有 create_time  update_time
                   sqoop --query  "select  where create_time between dt 00:00:00 23:59:59
           sqoop在同步数据中有遇到什么问题吗?怎么解决的?
               数据格式ORC(HCatalog) 表数据量大--m  字段分隔符 --split-by 文本格式
           结合sqoop和hive建表如何使用
           
           扩展问题:你是否了解其他的EL抽取工具? 多款同类型软件之间的比较? 知识视野宽度?
                       sqoop能否进行实时采集?(不能) 哪个实时抽取?(canal ogg)

#2、基于ODS层数据进行清洗转换处理的工作, 根据分析需求区分事实表、维度表,后将数据同步至DWD层, 同时在DWD层完成了历史数据维护工作,项目采用拉链表的方案;
    可能问到:清洗转换具体做了什么,怎么做的
                空值处理 coalesce函数  nvl函数
                日期转换  date timestamp
                枚举类型解释 1 2 3 3
                脱敏操作  手机号 身份证号码
            如何区分事实、维度,什么是事实、什么是维度--->这一扩展可能会扯到维度建模整个理论
               (day03)
                事实:你分析关注的内容
                维度:分析问题的角度
            拉链表是什么?解决什么?如何实现拉链?
                拉链表使用的关键原因:需要记录维护历史状态、数据还不能冗余
                拉链实现的关键是开始时间 结束时间标识数据有效期  9999-12-31
                sql技术角度实现拉链过程:
                    1、从ODS层查询增量数据(包括更新和新增的) ---->结果集1
                    2、历史拉链表 left join 结果集1 ---->is not null -->修改历史数据的结束
                    3、将1、2的结果union all合并 新的拉链结果

#3、接着对DWD层基于业务模块进行数据维度退化处理工作, 将退化后的宽表数据灌入到DWB层中, 构建了整个集团数据中心
    可能问到:维度退化是什么?如何实现?依据是什么?优缺点?
        实际中有两种操作:1、维度表退化到事实表中
                       2、多个事实表退化到一个核心的事实上
                       3、多个维度表退化到一个维度表中


#4、开始进行主题统计分析, 整个项目主题共有三个(销售主题, 商品主题, 用户主题), 根据业务需求、分析师提供的维度和指标, 进行统计分析, 在统计的时候, 先进行提前聚合处理工作, 将聚合统计后宽表数据同步到DWS层中;
    可能问到:主题有哪些、指标、维度有哪些?主题、指标、维度怎么确定的?
             主题有哪些表?如果表名和表个数张嘴说出来那就十分棒棒了。
                 如果说不出来?业务不熟悉,打酱油的?项目没做过?培训的?
             预聚合这里指的是什么?为什么要预聚合?
                 先把粒度细的计算出来 便于后续上卷计算粒度粗的。


#4、后对DWS层进行细化上卷维度统计操作, 形成DM层数据;
    可能问题:上卷是?如何实现?下钻?---->这里可能延伸出OLAP多维分析  rollup  cube等

#5、最后根据报表系统应用要求, 从DM层获取相关的数据拼接, 同步到RPT层, 再通过presto将数据导出到mysql中, 后续供应用使用;
    可能问题:RPT是什么?报表系统直接使用DM数据行吗?为什么?  解耦合
            presto导出数据怎么操作的?
            为什么使用mysql存储最终数据?
            
#以上每个步骤中,都可能会问到的是
    sqoop、hive、presto功能技术点 优化点
    你这这里做了什么工作? 负责某个主题的完整实现
    遇到了哪些问题(回答好是强烈加分项 提前准备)
        问题怎么发现的?怎么思考的?怎么寻找解决方案?怎么测试方案的?最终解决了吗? 有什么收获
    
    这个问题你用A解决,B你知道吗?  AB区别是?
    针对你做的有考虑什么优化方案吗?
        优化方案解决什么的?  查询效率 存储效率 逻辑清晰?
        为什么用这个方案,其他相同类似的你还知道吗?

项目服务器配置、数据量、软件版本

  • 项目研发阶段、人员配比

第一阶段

    目标
        1.完成10个hadoop集群节点的搭建工作
        2.完成调度平台的搭建工作
        3.完成基础数据迁移 mysql--> Hadoop平台
        4.完成:销售模块的数据建模
        5.能够满足业务对于基础销售的需求
        
    资源
        1.人员
            项目经理一名
            数据开发工程师三名
            数据分析师2名
        2.时间
            3个月
-----------------------------------------------------------------------------------
第二阶段
    目标
        1.完成32个hadoop节点的扩容工作
        2.完成相应内存计算平台presto集群的搭建
        3.完成整个源系统的数据抽取工作
        4.完成:销售模块、用户模块、商品模块、促销模块数据建模工作
        5.满足公司日常运营的80%的数据需求和报表需求
        6.支撑财务的成本和利润的核算
        7.完成准实时数据的数据应用开发工作
    资源
        1.人员
            项目经理一名
            数据开发工程师四名
            数据分析师3名
        2.时间
            4个月

项目增量数据、全量数据

数据量
    1 全量
        经过4年左右的业务发展,整个数据平台的数据为35T左右,冗余存储量为105T。
    2 增量
        每日增量25G左右。

项目集群服务器配置

集群规模
    40台服务器
    操作系统    CentOS 7.5 x86 64

集群规模
    40台服务器
    操作系统    CentOS 7.5 x86 64
    
=这里需要注意  服务器具体的配置 整个集群的资源总情况也要记一下。
    每台内存、CPU、磁盘大小
    整个集群内存、CPU、磁盘大小
    40台机器都是存储数据的吗?都是presto计算节点吗?

项目使用软件及版本号

    java    1.8
    hadoop    3.0.0+cdh6.2.1
    hdfs    3.0.0+cdh6.2.1
    Hive    2.1.1+cdh6.2.1
    yarn    3.0.0+cdh6.2.1
    zookeeper    3.4.5-cdh6.2.1
    presto    0.245.1

已看完::::::

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Day10_Git版本控制、项目总结,preview_220627, 的相关文章

随机推荐

  • 花卉识别卷积神经网络

    卷积神经网络做的花卉识别 keras 五分类 向日葵 雏菊 郁金香 玫瑰 蒲公英 之后更怎么做的
  • 【专题5: 硬件设计】 之 【68.开关电源 之 buck电路中的电感电流波形】

    嵌入式工程师成长之路 系列文章 总目录 系列文章总目录 希望本是无所谓有 无所谓无的 这正如脚下的路 其实地上本没有路 走的人多了 也便成了路 原创不易 文章会持续更新 欢迎微信扫码关注公众号 承接 小程序 嵌入式 PC端项目开发 联系作者
  • Arduino基础入门篇31—LCD1602液晶显示

    LCD1602也叫1602字符型液晶 是一种专门用来显示字母 数字 符号的点阵型液晶模块 能同时显示16X2即32个字符 本篇我们来认识LCD1602 驱动它显示 Hello World 1 LCD1602介绍 对于单片机爱好者和电子爱好者
  • php-cgi.exe - FastCGI 进程超过了配置的请求超时时限

    解决方案一 处理 php cgi exe FastCGI 进程超过了配置的请求超时时限 的问题 内容转载 处理 php cgi exe FastCGI 进程超过了配置的请求超时时限 的问题 php技巧 脚本之家 详细错误 HTTP 错误 5
  • 【华为OD机试真题 JAVA】出错的或电路

    JS版 华为OD机试真题 JS 出错的或电路 标题 出错的或电路 时间限制 1秒 内存限制 262144K 语言限制 不限 某生产门电路的厂商发现某一批次的或门电路不稳定 具体现象为计算两个二进制数的或操作时 第一个二进制数中某两个比特位会
  • 利用Java对后端数据进行分页处理(Java假分页)

    代码如下 import java util Collections import java util List java分页 辅助器 public class PageHelper
  • HttpClient远程调用工具类

    文章目录 前言 一 HttpClient工具类 二 使用步骤 1 引入库 前言 提示 当前工具类get方式无法传分页数据 可自行篡改 不行就用post方式哈哈 提示 以下是本篇文章正文内容 下面案例可供参考 一 HttpClient工具类
  • Qt中显示摄像头数据(V4L2三)

    目录 一 通过V4l2来采集用qt显示 1 将V4L2获取摄像头数据封装成一个类 2 设置开始按钮开始采集数据 3 设置停止按钮停止采集数据 4 设置定时器不断采集数据 二 直接用qt多媒体模块来实现采集并且显示 1 在qt工程文件中添加
  • 【网络结构设计】7、RepVGG

    文章目录 一 背景 二 方法 2 1 使用简单结构的卷积神经网络的三个原因 2 2 使用多分支结构的训练时长 2 3 边端设备推理的重参数化 2 4 结构细节 三 效果 论文 RepVGG Making VGG style ConvNets
  • 解决野鸡大学水硕、水博?中国首次发布海外大学排名!

    本文分享中国首次发布的海外大学排名 来源 全国高校信息资料研究会与中国人民大学评价研究中心 新东方在线托福 青塔等平台 编辑 学妹 不久前 我国一科研机构首次发布了对海外学校的评估 网传 这或许会成为以后中国看待海归大学的背景考核依据之一
  • 深度学习:循环神经网络RNN及LSTM

    深度学习 循环神经网络RNN及LSTM 循环神经网络RNN 原理 代码 长短期记忆网络LSTM 原理 遗忘门 记忆门 输出门 代码 循环神经网络RNN 原理 对于传统的神经网络 它的信号流从输入层到输出层依次流过 同一层级的神经元之间 信号
  • 两行css代码实现瀑布流,html,css最简单的瀑布流实现方式且没有缺点!

    两行css代码实现瀑布流 html css最简单的瀑布流实现方式且没有缺点 之前一直使用css position定位 js原生的方法实现 代码如下 html代码段
  • 因果推断理论框架 Potenial Outcomes Framework

    1 Potenial Outcomes Framework 因果效应通常无法直接计算 无法同时观测一个样本施加和不施加干预的结果 所以通常是通过观测数据推断 由于相关性 neq 因果性 观测结果不直接等于ATE Potenial Outco
  • SpringBoot 基本使用

    目录 热部署 方式一 Spring Boot DevTools 方式二 使用JRebel插件 web静态资源的存放 json日期时间设置 组件扫描 资源导入 运行项目的多个实例 资源文件的拷贝问题 读取resources下的文件 SpEL的
  • python三本经典书籍-关于 Python 的经典入门书籍有哪些?

    先说明 这些书是我整理来准备以后慢慢看的 并没有全部购买 更没有全部阅读 排名不分先后 Learn Python the Hard Way 本书是一本Python入门书籍 适合对计算机了解不多 没有学过编程 但对编程感兴趣的读者学习使用 这
  • GPU版本PyTorch详细安装教程

    目录 一 安装显卡驱动 1 查看显卡驱动型号 2 下载显卡驱动 3 查看GPU状态 二 安装Visual Studio 2019 三 安装CUDA 1 下载对应版本的CUDA 2 安装下载好的CUDA 3 设置环境变量 四 安装cudnn
  • ImportError: cannot import name ‘Bar‘ from ‘pyecharts‘ (D:\Anaconda3-2019.03\Anaconda3\lib\site-pack

    如题所示错误 无法从pyecharts中导入Bar 这里我安装的是最新版的pyecharts 新版Bar的导入方式有所改变 之前的导入方式 from pyecharts import Bar 已经不适用在新版本中了 现在的导入方式为 fro
  • redux详细介绍

    redux详细介绍 1 redux 1 redux是什么 redux是一个专门做状态管理的js库 不是react插件库 它可以用在react angular vue等项目中 但基本与react配合使用 作用 集中式管理react应用中多个组
  • python中sort的使用

    描述 sort 函数用于对原列表进行排序 如果指定参数 则使用比较函数指定的比较函数 语法 sort 方法语法 list sort key None reverse False 参数 参数 key 主要是用来进行比较的元素 只有一个参数 具
  • Day10_Git版本控制、项目总结,preview_220627,

    Day10 Git版本控制 手动的管理和记录每个版本之间的变化 项目开发会存在同样的问题 整个项目由多个人共同开发 每个人开发的模块可能一样也可能不一样 不一样 每个人负责不同的 功能模块 一样 多个人共同负责一个模块 代码会产生多个版本