纸上得来终觉浅,绝知此事要躬行。 1. 异步编程 [1] 同步和异步描述的是进程/线程的调用方式 同步和异步 同步调用指的是线程发起调用后,一直等待调用返回后才继续执行下一步操作,这并不代表CPU在这段时间内也会一直等待,操作系统多半会切换到另一个线程上去,等到调用返回后再切换回原来的线程。
纸上得来终觉浅,绝知此事要躬行。 1. 引言 官网对asyncio的描述不同于其他标准库模块,只主要罗列了如下四个关键词,即表达这个模块融合了这些技术或包含了这些功能。 第一个就是**异步I/O**,当代码需要执行一个耗时的操作的时候,它只发出I/O的执行,并不等待I/O的结果,然后就执行其
纸上得来终觉浅,绝知此事要躬行。 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。用 Python 进行网络编程,就是在 Python 程序本身这个进程内,连接别的服务器进程的通信端口进行通信。
纸上得来终觉浅,绝知此事要躬行。 使用socket进行TCP和UDP编写的程序,其实只能说是一种玩具。因为服务端一次只能接收一个客户端的连接,再多的客户端连接会被阻塞掉。深层原因是,代码中调用了accept、recv、send等方法,都会发生阻塞,导致无法响应多个客户端连接。而现实环境中大都是
Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 1.打开终端切换到已存在项目的目录进行初始化 # 初始化本地仓库 $ git init 2
纸上得来终觉浅,绝知此事要躬行。 问题描述 今天早上在 Git 上提交代码,在网页中发现提交的仓库中多了一个隐藏文件。所有想通过配置 .gitignore 文件,将其进行隐藏,结果配置了之后发现还是没有什么效果。Google 上搜了下,发现原来是下来这个问题。 问题原因 .gitignore文件
纸上得来终觉浅,绝知此事要躬行。 前几天在 CentOS6 安装 gitlab 工具,在克隆代码的时候,发生报错了。查了很多资料之后,最后才发现是官方自带的 Git 版本太低了导致无法使用的。既然已经有了前车之鉴,所以这里总结一下,出现上述报错的情况下,正确的解决方案和处理思路。 【报错信息如下
学好 Git 的使用,有助于提高生产力。 Git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于 2005 年以 GPL 发布。最初目的是为更好地管理 Linux 内核开发而设计。 日常使用只要记住 6 个命令就可以,但熟练就需要要记住 60~100 个命令。 虽然我很早就开始使用
学好 Git 的使用,有助于提高生产力。 一如既往的使用 Git 来管理自己的代码仓库,但是今天忘记先讲远程仓库的代码 git pull 到本地,就直接开始编写代码。等写到一半的时候,突然想起来了还没有 pull 代码。果然执行同步的时候,遇到了冲突,如下图所示。 我们可以看到执行报错了,大致
拥有一个良好的工作流程会让整个团队提高工作效率,并且会有一股自然清新的感觉。 主要参考来自《Git 工作流程》 次要参考来自《Git 使用规范流程》 次要参考来自《深入理解学习 Git 工作流》 1. 分支管理 如何合理的规划代码仓库分支? 团队开发中,遵循一个合理、清晰的 Git 使用流程,
在日常的工作中,一般稍微正规点的公司都会遵守git flow的。对应不同功能的需求,都会建立新的分支进行开发。完成开发并测试没有问题之后,才提出 pr 请求 @对应核心开发,最后才会合入主干分支。 1. 引入原因 请问,你的梦想是什么? 当我们发现程序中存在 Bug 的时候,在对应分支进行了修
纸上得来终觉浅,绝知此事要躬行。 大文件存储(LFS)是可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小工具。通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也
成也子模块,败也子模块 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。Git 通过子模块处理这个问题。子模块允许你
纸上得来终觉浅,绝知此事要躬行。 今天更新项目的时候,使用 git submodule 进行 update 的时候,出现下面的错误信息。通过字面上面的意思,说是主项目中记录的 submodule 的 HEAD 超前,导致找不到指定的 commit 信息。 # 子模块更新报错 $ git subm
这里主要记录在日常使用 Git 时,遇到的一些零碎问题。不易写成独立文章,所以统一记录于此。 1. Git 分支已经删除 远程获取分支最新代码,提示远程分支已经不存在了 问题描述:下拉代码的时候提示分支不太对。 # 获取最新代码报错 ➜ git pull Your configuration
大多数命令和使用技巧都是参考自《Git 的奇技淫巧》,如有侵权即刻删除。 1. Git 版本对比相关操作 这是一个完美的备注信息! [1] 输出工作区和暂存区的不同。 git diff [2] 展示暂存区和最近版本的不同 git diff --cached [3] 展示暂存区、工作区和最近
截取自《git-scm.com》,如有侵权即刻删除。 签署标签与提交很棒,但是如果决定在正常的工作流程中使用它,你必须确保团队中的每一个人都理解如何这样做。如果没有,你将会花费大量时间帮助其他人找出并用签名的版本重写提交。在采用签署成为标准工作流程的一部分前,确保你完全理解 GPG 及签署带来的好
变基 rebase 的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。 1. Rebase:产生意义 主要讲述其主要的用途和产生的作用 在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。对应 merge 操作来说,想必我们都已经使用过很多次了,而 re
用于个人和工作的 Git 账户进行提交,而无需手动重置你的配置。 Git 是一个分布式版本控制软件,最初由 林纳斯·托瓦兹 创作,于 2005 年以 GPL 协议发布。最初目的是为更好地管理 Linux 内核开发而设计。很多著名的软件都使用 Git 进行版本控制,其中包括 Linux 内核、X.O
纸上得来终觉浅,绝知此事要躬行。 Git 是一个分布式版本控制软件,最初由 林纳斯·托瓦兹 创作,于 2005 年发布。最初目的是为更好地管理 Linux 内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快。Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网