廖雪峰

git学习1(廖雪峰)

孤街浪徒 提交于 2020-03-12 11:51:39
Git是用 C语言 开发的 在Linux上安装Git sudo apt-get install git 在Mac OS X上安装Git 直接从AppStore安装Xcode,Xcode集成了Git,不过默认没有安装,你需要运行Xcode,选择菜单“Xcode”->“Preferences”,在弹出窗口中找到“Downloads”,选择“Command Line Tools”,点“Install”就可以完成安装了 在Windows上安装Git 在Windows上使用Git,可以从Git官网直接下载安装程序,然后按默认选项安装即可。 安装完成后,还需要最后一步设置,在命令行输入: $ git config --global user.name "Your Name" $ git config --global user.email "email@example.com" 创建版本库 版本库又名仓库,英文名repository,你可以简单理解成一个目录,这个目录里面的所有文件都可以被Git管理起来,每个文件的修改、删除,Git都能跟踪,以便任何时刻都可以追踪历史,或者在将来某个时刻可以“还原”。 首先,选择一个合适的地方,创建一个空目录: $ mkdir learngit $ cd learngit $ pwd /Users/michael/learngit 第二步,通过git

廖雪峰Python教程的配套视频教程,全套完整版!

拈花ヽ惹草 提交于 2020-03-01 20:14:14
事实上,我很久以前就用Python编写了一个简单的爬虫程序。爬网站数据或图片真的很有趣。但我并没有系统地研究过Python,所以我总是有点痴迷。 另外,从我个人的感觉来看,人类无法阻止Python的发展。 据澎湃新闻报道,2017年,山东省最新出版的小学it六年级教材中增加了python。在此之前,编程界也曾有传言称,浙江省将改变中学信息技术教材,选择Python而不是VB(Visual Basic 6.0)。 2018年,浙江省出台了最新的信息技术课程改革方案,并计划进入浙江省信息技术高考。信息技术教材的编程语言是python。北京和山东作为教育大省,也决定将Python编程基础纳入信息技术课程和高考内容体系,Python语言课程将成为儿童学习的一种趋势。 2019年,python在tiobe编程语言列表中排名第三!!! 看到Python的增长曲线,我们可以稳步赶上并超越第二种C语言和第一种Java。 当然,这只是一个宏观方面。就我个人而言,我不想学一门顺应潮流的编程语言。我有真正的理由去学习python。 首先,我非常喜欢爬行动物。利用爬行动物爬行的数据进行简单的数据处理,可以节省我大量的日常工作。当然Java也可以这样做,但是Python更简单。 其次,我身边有很多独立的开发人员。他们开发了很多有趣的小工具,比如为团队生成什么样的组照片,自动备份微信通讯录等等。我非常喜欢它。

廖雪峰Git学习笔记(下)

て烟熏妆下的殇ゞ 提交于 2020-02-20 03:24:45
(三)分支管理 其他VCS如SVN等都有分支管理,但其创建和切换分支很慢,远不如Git。 git中HEAD严格说不是指向提交,而是指向master,master才是指向提交的,所以 HEAD指向的就是当前分支 。 例如:创建新的分支时git新建了一个指针,假设为dev,指向master相同的提交,再把HEAD指向dev,就表示当前分支在dev上。 若在dev上的工作完成了,便可把dev合并到master上。最简单的合并方法就是直接把master指向dev 的当前提交。合并后,若dev分支没用了便可删除了。 1. 创建与合并分支 git checkout -b dev 创建并切换到dev分支 或先创建 git branch dev,再切换 git checkout dev git branch 查看当前分支(当前分支前标有一个*号) git merge name 合并指定分支(名为name)到当前分支 合并时出现的“Fast-forward”是指此次合并是“快进模式”,即直接把所在分支指向指定分支的当前提交,所以合并速度很快。但并非每次都能Fast-forward,还有其他方式的合并。 git branch -d name 删除名为name的分支 关于switch: 切换到名为name的分支: git checkout name 或 git switch name git

廖雪峰Java11多线程编程-3高级concurrent包-5Atomic

自作多情 提交于 2020-02-15 08:46:54
Atomic java.util.concurrent.atomic提供了一组原子类型操作: 如AtomicInteger提供了 int addAndGet(int delta) int incrementAndGet() int get() int compareAndGet() Atomic类可以实现: 无锁(lock-free)实现的线程安全(thread-safe)访问 原理:CAS(Compare and Set)如果AtomicInteger实例的值是prev,就替换为next,返回true;否则,返回false public int add1AndGet(AtomicInteger var){ int prev, next; do{ //prev设置为var的值 prev = var.get(); next = prev + 1; }while ( ! var.compareAndSet(prev, next)); //如果var的值是prev,就替换为next,返回true,终止循环;如果var的值不是prev,就什么也不做,返回false,继续循环 //通过compareAndSet就保证了,在do while循环中,即使其他的线程在prev = var.get()后修改了var的值,最终结果也一定是正确的。 return prev; } 通常不需要直接使用do.

廖雪峰大神git学习笔记

家住魔仙堡 提交于 2020-02-03 00:32:58
1.创建版本库,在文件目录下打开git Bash键入git init 2.新建txt文件,提交至暂存 git add . ,提交到版本库git commit -m "注释" 3.修改txt文件内容,可通过git status查看修改了哪些文件,可通过 git diff 文件名 查看该文件做了哪些具体修改,git diff 是用来查看工作区和暂存区的区别,git diff --cached 用来查看暂存区和版本区的区别,git diff HEAD查看工作区和版本区的区别 4.在多次修改提交后,可以通过git log进行查看提交记录 5.如果需要回退,可使用git reset --hard HEAD^ 进行回退到上个版本,上上个版本^^,也可以将^替换成~1,git reset --hard HEAD~1以次类推。也可以直接使用版本号 git reset --hard 版本号.ps:不想要回退,依然想要使用没回退的版本,如果此时cmd窗口还没关闭,并且在回退之前git log查看过日志,可以使用git reset --hard 没回之前的版本号 进行恢复 6.git 提供了git reflog来查看你每次的git操作 7.撤销修改,如果需要撤销工作区的修改可以使用 git checkout -- 文件名 进行还原到上次提交过得add commit提交的文件

廖雪峰Python3笔记

允我心安 提交于 2020-01-27 19:29:01
目录 第一个Python程序 Python基础 函数 高级特性 目录: 主要复习过一遍 简介 略 安装 略 第一个Python程序 第一行的注释: # _*_ coding: utf-8 _*_ #!/usr/bin/env python3 print() 可以接受多个字符串,用逗号隔开,就可以连成一串输出(可以用于不同数据类型的拼接,例如字符串和汉字 ''),但是要注意print会把东都好变成空格。 print("你的卡号是:", int) input() 例子 input("请输入你的名字:") Python基础 数据类型和变量 缩进(4个空格!不要用tab) ‘#’号开头的是注释。 Python是大小写敏感的! 整数,浮点数,字符串(转义,r'',''' '''段落方式),布尔值,空值(None),变量(动态),常量(PI),除法(‘/’取小数除法,// 地板除法,%取余数) 字符串和编码 Unicode通常用2个字节,多的时候会用到4个字节,ASCII只用1个字节,utf-8应运而生。 utf-8和unicode在浏览和存储的过程中会相互转换。 Python3的字符床是以Unicode编码的 提供了 ord()函数:获取字符的整数表示和chr()函数:把编码转换为对应的字符 python的str用的是unicode如果在网络或磁盘上需要把str转换为以字节为单位的bytes

廖雪峰js教程笔记 1

喜你入骨 提交于 2020-01-03 00:53:22
遍历 Array 可以采用下标循环,遍历 Map 和 Set 就无法使用下标。为了统一集合类型,ES6标准引入了新的 iterable 类型, Array 、 Map 和 Set 都属于 iterable 类型。 具有 iterable 类型的集合可以通过新的 for ... of 循环来遍历。 然而,更好的方式是直接使用 iterable 内置的 forEach 方法,它接收一个函数,每次迭代就自动回调该函数。以 Array 为例: var a = ['A', 'B', 'C']; a.forEach(function (element, index, array) { // element: 指向当前元素的值 // index: 指向当前索引 // array: 指向Array对象本身 alert(element); }); 注意 , forEach() 方法是ES5.1标准引入的,你需要测试浏览器是否支持。 Set 与 Array 类似,但 Set 没有索引,因此回调函数的前两个参数都是元素本身: var s = new Set(['A', 'B', 'C']); s.forEach(function (element, sameElement, set) { alert(element); }); Map 的回调函数参数依次为 value 、 key 和 map 本身:

廖雪峰Python学习笔记——使用元类

…衆ロ難τιáo~ 提交于 2019-12-22 15:14:44
元类(MetaClasses) 元类提供了一个改变Python类行为的有效方式。 元类的定义是“一个类的类”。任何实例是它自己的类都是元类。 class demo(object): pass obj = demo() print "Class of obj is {0}".format(obj.__class__) print "Class of obj is {0}".format(demo.__class__) # Class of obj is <class '__main__.demo'> # Class of obj is <type 'type'> 在上例中,我们定义了一个类demo,并且生成了一个该类的对象obj。首先,可以看到obj的__class__是demo。有意思的来了,那么demo的class又是什么呢?可以看到demo的__class__是type。 所以说type是python类的类,换句话说,上例中的obj是一个demo的对象,而demo本身又是type的一个对象。 所以说type就是一个元类,而且是python中最常见的元类,因为它使python中所有类的默认元类。 因为元类是类的类,所以它被用来创建类(正如类是被用来创建对象的一样)。但是,难道我们不是通过一个标准的类定义来创建类的么?的确是这样,但是python内部的运作机制如下:

廖雪峰Python入门 QA收集

余生颓废 提交于 2019-12-14 11:22:18
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> Q出处: http://www.liaoxuefeng.com/wiki/0014316089557264a6b348958f449949df42a6d3a2e542c000/0014316399410395f704750ee9440228135925a6ca1dad8000 直接运行py文件 能不能像.exe文件那样直接运行 .py 文件呢?在Windows上是不行的,但是,在Mac和Linux上是可以的,方法是在 .py 文件的第一行加上一个特殊的注释: ‍ Q:为什么 许多 python 文件的头部都会写上下面这一行 ‍ #!/usr/bin/env python3 A: 如果你用 python xxoo.py 来运行,那么写不写都没关系,如果要用 ./xxoo.py 那么就必须加这行,这行被称为 shebang, 用来为脚本语言指定解释器. 通常认为用 #!/usr/bin/env python 要比 #!/usr/bin/python 更好,因为 python 解释器有时并不安装在默认路径,例如在 virtualenv 中。 这是脚本语言共同遵守的规则:当第一行为 #!/path/to/script/interpreter时,指定了用来执行本脚本的解释器。 注意: 1、必须是文件的第一行 2、必须以#

\"廖雪峰的Git教程\"学习笔记

情到浓时终转凉″ 提交于 2019-12-09 09:01:36
廖雪峰的《Git教程》 Git简介 Git的版本 git version which git 设置Git git config --global user.name "MiracleWong" git config --global user.email "youremail@example.com" git config --global color.ui auto 查看Git的设置 git config --global user.name git config --global user.email git config --global color.ui 初始化仓库 cd project git init git init project 查看文件状态 git status 添加文件到版本库 git add 命令实际上就是把要提交的所有修改放到暂存区(Stage) git add readme.txt 提交到仓库 git commit 就可以一次性把暂存区的所有修改提交到分支 git commit -m "add readme.txt" 时光穿梭机 查看日志——提交历史 git log git log --pretty=oneline git log --pretty=oneline --abbrev-commit 显示前6位commit-id HEAD 表示当前版本