廖雪峰

《廖雪峰Git教程》学习笔记

拟墨画扇 提交于 2019-12-09 08:59:16
原文链接 一.创建版本库 ①初始化一个Git仓库:git init ②添加文件到Git仓库:1.git add<file> ; 2.git commit 二.时光机穿梭 ①查看工作区状态,文件是否被修改过:git status ②查看修改的内容:git diff 1.版本回退 ①HEAD:当前版本 ②HEAD^:上个版本 ③定位版本: git reset --hard commit_id ④git log:穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本 ⑤git reflog:要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。 2.工作区和暂存区 ①工作区:就是你在电脑里能看到的目录,比如我的 learngit 文件夹就是一个工作区 ②版本库:工作区有一个隐藏目录 .git ,这个不算工作区,而是Git的版本库。 ③暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。 第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。 3.管理修改 ①每次修改,如果不add到暂存区,就不会加入到commit中 4.撤销修改 ①git checkout -- file

《Git教程-廖雪峰》学习笔记

落爺英雄遲暮 提交于 2019-12-09 08:59:00
一.创建版本库 ①初始化一个Git仓库:git init ②添加文件到Git仓库:1.git add<file> ; 2.git commit 二.时光机穿梭 ①查看工作区状态,文件是否被修改过:git status ②查看修改的内容:git diff 1.版本回退 ①HEAD:当前版本 ②HEAD^:上个版本 ③定位版本: git reset --hard commit_id ④git log:穿梭前,用 git log 可以查看提交历史,以便确定要回退到哪个版本 ⑤git reflog:要重返未来,用 git reflog 查看命令历史,以便确定要回到未来的哪个版本。 2.工作区和暂存区 ①工作区:就是你在电脑里能看到的目录,比如我的 learngit 文件夹就是一个工作区 ②版本库:工作区有一个隐藏目录 .git ,这个不算工作区,而是Git的版本库。 ③暂存区:Git的版本库里存了很多东西,其中最重要的就是称为stage(或者叫index)的暂存区。 第一步是用 git add 把文件添加进去,实际上就是把文件修改添加到暂存区; 第二步是用 git commit 提交更改,实际上就是把暂存区的所有内容提交到当前分支。 3.管理修改 ①每次修改,如果不add到暂存区,就不会加入到commit中 4.撤销修改 ①git checkout -- file:丢弃工作区的修改

git廖雪峰

守給你的承諾、 提交于 2019-12-04 15:06:28
所有的控制版本系统,只能跟踪文本文件的改动( TXT文件,网页,程序代码等) 而图片,视频这些二进制文件,虽然可由版本控制系统管理,但没法跟踪文件的变化。 创建版本库 mkdir learnGit cd learGit pwd git init 通过 ls -ah 查看隐藏文件,可看到 .git文件 把文件添加到版本库: 先写好一个readme 文件放到 learnGit 文件夹下 git add readme.txt git commit -m “wrote a readme file ” 其中 -m 后面输入的为本次提交说明,可输入任何内容,要有意义 Git支持一次提交多个文件 git add file2.txt file3.txt git commit -m “add 2 files ” 时光机穿梭 查看都有说明文件被修改了 git status 查看目标文件修改的具体内容, wq可直接退出,键盘上下键可翻页 git diff readme.txt 知道了具体的修改内容后,再将它提交到仓库中 git add readme.txt 不会有任何回应,再次查看状态,将看到修改后的文件,此文将将被提交 git status 最后使用 commit提交文件 git commit -m “changed my readme file ” git status 随时查看状态

Python就该这么学?!

◇◆丶佛笑我妖孽 提交于 2019-12-03 04:18:15
分享零基础学习 Python 的经验,15年4月份正式开始学习Python语言的,入门读物是一本书《父与子编程》。 关于第1点,我需要进一步强调:因为我目标非常明确,利用Python进行Web编程,通俗的讲,我要自己写个网站。所以凡事和写网站不相干的实践我通通跳过或稍微尝试做下。我到现在还认为这样的学习方式是正确的,因为Python能做的事情非常多,覆盖各种领域。在了解Python基本的语法之后,进行不同领域的实践又要学习很多不同的东西(不同的包的用法和相关知识),所以,我非常建议你在学习Python之前明确掉你学Python的最终目的是什么?然后集中精力去学习与目的相符的知识点。比如你学习Python和我一样是做网站,那么爬虫、数据统计、数学处理、客户端软件编程、设计游戏等这些事情一律先跳过不深入;如果你学习Python是为了做数据分析,那么像做网站的实践、Web框架这些应该先跳过。其实道理很简单,精力和时间有限,因此集中去攻克和目的相关的内容,不容易分散精力,学习也很快。我深以为那些建议新手做这做那,去Github去做那个很多小实践的项目是错误的,至少对你我这样的人不合适,我试过的。 之后,入门进阶读物还是一本书,就是《Learning Python》(俗称“老鼠书”)。这本书很厚,而且还有一部分高级操作是电子版的。这都不重要。你只要读好这本书「纸质版」包含的内容即可

廖雪峰git教程学习笔记3

匿名 (未验证) 提交于 2019-12-03 00:41:02
commit是一串不便记忆的数字,为了方便记忆,引入tag,tag就跟HEAD一样,就像一个指针,指向commit,且指向是不能变得,一个commit就有一个tag 给当前分支下的当前commit打上tag: git tag <tag_name> 查看所有tag: git tag 给以前的commit打上tag:用git log找到commit id(就是那串数字),然后用命令: git tag <tag_name> <commit_id> 查看标签信息: git show <tag_name> 给特定commit创建带有说明文字的tag: 删除标签: 推送到远程标签: git push origin <tag_name> 一次性推送所有尚未推送到远程的本地标签: 如果tag已推送到远程,想删除远程tag,先从本地删除: 再从远程删除: git push origin :refs/tags/<tag_name> 使用GitHub: :<user_name>/<repos_name>.git直接git clone下来,∵推送到远程的时候自己没有权限推送修改,所以要先fork到自己的账号下,再从自己的账号clone到本地 原文: https://www.cnblogs.com/tan-wm/p/9341418.html

廖雪峰网站―学习python基础知识(三)

匿名 (未验证) 提交于 2019-12-02 22:56:40
age = 18 if age >= 18 : print ( ‘ your are is ‘ , age ) print ( ‘ adult ‘ ) age = 3 if age >= 18 : print ( ‘ your are is ‘ , age ) print ( ‘ adult ‘ ) elif age >= 6 : print ( ‘ your are is ‘ , age ) print ( ‘ Sarah ‘ ) elif age >= 3 : print ( ‘ your are is ‘ , age ) print ( ‘ Jack ‘ ) else : print ( ‘ your are is ‘ , age ) print ( ‘ mike ‘ ) # 注意: # input()返回的是字符串 # 必须通过int()将字符串转换为整数 # 才能用于数值比较: age = int ( input ( ‘ Input your age : ‘ )) if age >= 18 : print ( ‘ your are is ‘ , age ) print ( ‘ adult ‘ ) elif age >= 6 : print ( ‘ your are is ‘ , age ) print ( ‘ Sarah ‘ ) elif age >= 5 : print

廖雪峰Java15JDBC编程-3JDBC接口-5JDBC连接池

匿名 (未验证) 提交于 2019-12-02 21:52:03
线程池可以复用一个线程,这样大量的小任务通过线程池的线程执行,就可以避免反复创建线程带来的开销。 同样JDBC可以复用一个JDBC连接 JDBC的连接池可以维护若干个JDBC连接,在执行数据库任务的时候,可以从连接池中直接获取连接,而不是反复创建和关闭JDBC连接 javax.sql.DataSource JDK只提供了连接池的定义,所以我们还要实现JDBC的连接池。常用的开源实现: * HikariCP * C3P0 * BoneCP * Druid 导入依赖 <!-- https://mvnrepository.com/artifact/com.zaxxer/HikariCP --> <dependency> <groupId>com.zaxxer</groupId> <artifactId>HikariCP</artifactId> <version>3.3.1</version> </dependency> 演示代码 HikariConfig config = new HikariConfig(); config.setJdbcUrl("jdbc:mysql://localhost:3306/test"); config.setUsername("root"); config.setPassword("password"); config

廖雪峰Java11多线程编程-3高级concurrent包-6ExecutorService

匿名 (未验证) 提交于 2019-12-02 21:40:30
Java语言内置多线程支持: 创建线程需要操作系统资源(线程资源,栈空间) 频繁创建和销毁线程需要消耗大量时间 如果可以复用一个线程 线程池: 线程池维护若干个线程,处于等待状态 如果有新任务,就分配一个空闲线程执行 如果所有线程都处于忙碌状态,新任务放入队列等待 ExecutorService JDK提供了ExecutorService接口表示线程池: ExecutorService executor = Executors.newFixedThreadPool(4); //固定大小的线程池 executor.submit(task1); //提交任务到线程池 executor.submit(task2); executor.submit(task3) 常用的ExecutorService: FixedThreadPool:线程数固定 CachedThreadPool:线程数根据任务动态调整 SingleThreadExecutor:仅单线程执行 import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; class PrintTask implements Runnable{ String name; public PrintTask(String name){ this