Python异步编程asyncio模块 纸上得来终觉浅,绝知此事要躬行。 1. 引言 官网对asyncio的描述不同于其他标准库模块,只主要罗列了如下四个关键词,即表达这个模块融合了这些技术或包含了这些功能。 第一个就是**异步I/O**,当代码需要执行一个耗时的操作的时候,它只发出I/O的执行,并不等待I/O的结果,然后就执行其他的代码,这样可以提高效率。 第二个就是事件循环,把基本的I/O操作(如读和写)转化为需要处理的事件,通过事 开发运维 2022-09-30 Escape
Python网络编程入门 纸上得来终觉浅,绝知此事要躬行。 自从互联网诞生以来,现在基本上所有的程序都是网络程序,很少有单机版的程序了。计算机网络就是把各个计算机连接到一起,让网络中的计算机可以互相通信。用 Python 进行网络编程,就是在 Python 程序本身这个进程内,连接别的服务器进程的通信端口进行通信。 socket - create an endpoint for communication 1. TCP/I 开发运维 2022-09-30 Escape
Python网络编程进阶 纸上得来终觉浅,绝知此事要躬行。 使用socket进行TCP和UDP编写的程序,其实只能说是一种玩具。因为服务端一次只能接收一个客户端的连接,再多的客户端连接会被阻塞掉。深层原因是,代码中调用了accept、recv、send等方法,都会发生阻塞,导致无法响应多个客户端连接。而现实环境中大都是多客户端甚至多服务端,那怎么让服务端同时响应多个客户端的请求呢? 1. 编程基础知识 真正的程序 = I/ 开发运维 2022-09-30 Escape
将已有项目推到Github仓库 Git 是一个开源的分布式版本控制系统,可以有效、高速地处理从很小到非常大的项目版本管理。Git 是 Linus Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。 1.打开终端切换到已存在项目的目录进行初始化 # 初始化本地仓库 $ git init 2.把工程所有文件都添加到该仓库中 # 添加文件 $ git add . 3.把文件提交到本地仓库 # 提交 开发运维 2022-09-30 Escape
Git不能忽略文件及目录 纸上得来终觉浅,绝知此事要躬行。 问题描述 今天早上在 Git 上提交代码,在网页中发现提交的仓库中多了一个隐藏文件。所有想通过配置 .gitignore 文件,将其进行隐藏,结果配置了之后发现还是没有什么效果。Google 上搜了下,发现原来是下来这个问题。 问题原因 .gitignore文件无法忽略已提交的目录或文件 解决方法 [方法一] 删除需要忽略的目录或文件并 push 到服务器上 [方 开发运维 2022-09-30 Escape
Git提示请求失败 纸上得来终觉浅,绝知此事要躬行。 前几天在 CentOS6 安装 gitlab 工具,在克隆代码的时候,发生报错了。查了很多资料之后,最后才发现是官方自带的 Git 版本太低了导致无法使用的。既然已经有了前车之鉴,所以这里总结一下,出现上述报错的情况下,正确的解决方案和处理思路。 【报错信息如下所示】 # 报错信息 fatal: HTTP request failed 【原因一】Git 版本过低 开发运维 2022-09-30 Escape
我的Git学习笔记 学好 Git 的使用,有助于提高生产力。 Git 是一个分布式版本控制软件,最初由林纳斯·托瓦兹创作,于 2005 年以 GPL 发布。最初目的是为更好地管理 Linux 内核开发而设计。 日常使用只要记住 6 个命令就可以,但熟练就需要要记住 60~100 个命令。 虽然我很早就开始使用 Git 来管理我的代码,但是却一直没有总结。最近正好重新整理自己的开发环境,顺便把对应的知识点梳理成博客文章 开发运维 2022-09-30 Escape
解决Git更新代码冲突问题 学好 Git 的使用,有助于提高生产力。 一如既往的使用 Git 来管理自己的代码仓库,但是今天忘记先讲远程仓库的代码 git pull 到本地,就直接开始编写代码。等写到一半的时候,突然想起来了还没有 pull 代码。果然执行同步的时候,遇到了冲突,如下图所示。 我们可以看到执行报错了,大致意思就是我本地修改的代码文件,将会被远程仓库上的代码覆盖。当然,我不想刚刚写的代码就被这样给覆盖掉,看看怎 开发运维 2022-09-30 Escape
Git的工作流程 拥有一个良好的工作流程会让整个团队提高工作效率,并且会有一股自然清新的感觉。 主要参考来自《Git 工作流程》 次要参考来自《Git 使用规范流程》 次要参考来自《深入理解学习 Git 工作流》 1. 分支管理 如何合理的规划代码仓库分支? 团队开发中,遵循一个合理、清晰的 Git 使用流程,是非常重要的。否则,每个人都提交一堆杂乱无章的 commit,项目很快就会变得难以协调和维护。 [1] d 开发运维 2022-09-30 Escape
我用Git摘樱桃 在日常的工作中,一般稍微正规点的公司都会遵守git flow的。对应不同功能的需求,都会建立新的分支进行开发。完成开发并测试没有问题之后,才提出 pr 请求 @对应核心开发,最后才会合入主干分支。 1. 引入原因 请问,你的梦想是什么? 当我们发现程序中存在 Bug 的时候,在对应分支进行了修改,但是发现这个问题其实每个分支都存在,这个时候就需要使用到 cherry-pick 这个功能了。 顾名思 开发运维 2022-09-30 Escape
使用Git进行大文件存储 纸上得来终觉浅,绝知此事要躬行。 大文件存储(LFS)是可以把音乐、图片、视频等指定的任意文件存在 Git 仓库之外,而在 Git 仓库中用一个占用空间 1KB 不到的文本指针来代替的小工具。通过把大文件存储在 Git 仓库之外,可以减小 Git 仓库本身的体积,使克隆 Git 仓库的速度加快,也使得 Git 不会因为仓库中充满大文件而损失性能。 LFS 官方文档使用手册 1. 背景介绍 Git 开发运维 2022-09-30 Escape
熟悉使用Git子模块 成也子模块,败也子模块 经常有这样的事情,当你在一个项目上工作时,你需要在其中使用另外一个项目。也许它是一个第三方开发的库或者是你独立开发和并在多个父项目中使用的。这个场景下一个常见的问题产生了:你想将两个项目单独处理但是又需要在其中一个中使用另外一个。Git 通过子模块处理这个问题。子模块允许你将一个 Git 仓库当作另外一个 Git 仓库的子目录。这允许你克隆另外一个仓库到你的项目中并且保持你 开发运维 2022-09-30 Escape
Git子模块提交冲突问题 纸上得来终觉浅,绝知此事要躬行。 今天更新项目的时候,使用 git submodule 进行 update 的时候,出现下面的错误信息。通过字面上面的意思,说是主项目中记录的 submodule 的 HEAD 超前,导致找不到指定的 commit 信息。 # 子模块更新报错 $ git submodule update Submodule path 'project1': checked out 开发运维 2022-09-30 Escape
Git常见零碎问题汇总 这里主要记录在日常使用 Git 时,遇到的一些零碎问题。不易写成独立文章,所以统一记录于此。 1. Git 分支已经删除 远程获取分支最新代码,提示远程分支已经不存在了 问题描述:下拉代码的时候提示分支不太对。 # 获取最新代码报错 ➜ git pull Your configuration specifies to merge with the ref 'refs/heads/ipo_user' 开发运维 2022-09-30 Escape
Git使用的奇技淫巧 大多数命令和使用技巧都是参考自《Git 的奇技淫巧》,如有侵权即刻删除。 1. Git 版本对比相关操作 这是一个完美的备注信息! [1] 输出工作区和暂存区的不同。 git diff [2] 展示暂存区和最近版本的不同 git diff --cached [3] 展示暂存区、工作区和最近版本的不同 git diff HEAD [4] 展示本地仓库中任意两个 commit 之间的文件变动 git 开发运维 2022-09-30 Escape
Git签署工具使用 截取自《git-scm.com》,如有侵权即刻删除。 签署标签与提交很棒,但是如果决定在正常的工作流程中使用它,你必须确保团队中的每一个人都理解如何这样做。如果没有,你将会花费大量时间帮助其他人找出并用签名的版本重写提交。在采用签署成为标准工作流程的一部分前,确保你完全理解 GPG 及签署带来的好处。 1. GPG 安装 这是一个完美的备注信息! MacOS # 安装工具 $ brew unins 开发运维 2022-09-30 Escape
Git变基使用方式 变基 rebase 的特点:把分叉的提交历史“整理”成一条直线,看上去更直观。 1. Rebase:产生意义 主要讲述其主要的用途和产生的作用 在 Git 中整合来自不同分支的修改主要有两种方法:merge 以及 rebase。对应 merge 操作来说,想必我们都已经使用过很多次了,而 rebase 又是用在哪里呢?已经其正确的使用方式,到底是什么呢? 我们使用 Git 进行产品开发的代码管理, 开发运维 2022-09-30 Escape
Git多个用户ID适配 用于个人和工作的 Git 账户进行提交,而无需手动重置你的配置。 Git 是一个分布式版本控制软件,最初由 林纳斯·托瓦兹 创作,于 2005 年以 GPL 协议发布。最初目的是为更好地管理 Linux 内核开发而设计。很多著名的软件都使用 Git 进行版本控制,其中包括 Linux 内核、X.Org 服务器和 OLPC 内核等项目的开发流程。 Git –distributed-is-the-ne 开发运维 2022-09-30 Escape
解决.git目录过大问题 纸上得来终觉浅,绝知此事要躬行。 Git 是一个分布式版本控制软件,最初由 林纳斯·托瓦兹 创作,于 2005 年发布。最初目的是为更好地管理 Linux 内核开发。Git 在本地磁盘上就保存着所有有关当前项目的历史更新,处理速度快。Git 中的绝大多数操作都只需要访问本地文件和资源,不用实时联网。 Git LFS(Large File Storage - ⼤⽂件存储)是可以把⾳乐、图⽚、视频等指 开发运维 2022-09-30 Escape
Git基本原理介绍 纸上得来终觉浅,绝知此事要躬行。 简单地说,Git 究竟是怎样的一个系统呢? 请注意接下来的内容非常重要,若你理解了 Git 的思想和基本工作原理,用起来就会知其所以然,游刃有余。 在学习 Git 时,请尽量理清你对其它版本管理系统已有的认识,如 CVS、Subversion 或 Perforce, 这样能帮助你使用工具时避免发生混淆。尽管 Git 用起来与其它的版本控制系统非常相似, 但它在对信 开发运维 2022-09-30 Escape