我写的 Python 代码,同事都说好

2022-03-23
阅读 4 分钟
793
Python 程序员的追求则是 Pythonic,正好在 Python 这门语言中,「隐藏」了特别多方法,可以使代码变得简洁,优雅,与众不同。

Python 递归函数返回值为 None 的解决办法

2022-03-15
阅读 1 分钟
1.4k
在使用 Python 开发的过程中,避免不了会用到递归函数。但递归函数的返回值有时会出现意想不到的情况。下面来举一个例子: {代码...} 比如上面这段代码,乍一看没什么问题,但返回值并不是我们期望的 5,而是 None。 {代码...} 要解决这个问题也简单,就是在执行递归调用的时候,加上 return 语句。修改之后的代码如下:...

Python 获取字典中的第一个键

2022-03-09
阅读 1 分钟
3.6k
提供两种方法:使用 list将字典的 key 转换成列表,然后取第一个元素 [0]。如果想要最后一个 key 的话,就取最后一个元素 [-1]。 {代码...} 使用 for循环取出第一个 key,然后 break 即可。 {代码...} 推荐阅读:计算机经典书籍技术博客: 硬核后端开发技术干货,内容包括 Python、Django、Docker、Go、Redis、ElasticSe...

Python 学习路线(2022)

2022-03-08
阅读 8 分钟
7.7k
原文链接: Python 学习路线(2022)前几天整理了一份 Go 学习路线(2022),广受好评。那么趁火打劫,不是,是趁热打铁,又整理了一份 Python 学习路线。内容依然是从入门到进阶,既有教程,也有经典书籍推荐,还有实战开源项目。Python 的发展方向还是挺多的,比如服务端开发,爬虫,数据分析,机器学习等,本文推荐的...

python 编辑器提示 do not use bare except

2022-03-07
阅读 1 分钟
2.3k
比如说,except 语句会捕获 KeyboardInterrupt 和 SystemExit 异常,但 KeyboardInterrupt 可能是我们通过 Ctrl + C 主动触发的,显然是不希望被捕获的。

推荐 10 本 Go 经典书籍,从入门到进阶(含下载方式)

2022-03-03
阅读 3 分钟
11k
书单一共包含 10 本书,分为入门 5 本,进阶 5 本。我读过其中 7 本,另外 3 本虽然没读过,但也是网上推荐比较多的。虽然分了入门和进阶,但是很多书中这两部分内容是都包含了的。大家看的时候可以根据自己的情况,先打好基础,再进行进阶。有的书是开源的,可以直接在线阅读,有的有电子书,大家可以在这里 GitHub 找...

如何获取 Docker 容器的 IP 地址

2022-03-02
阅读 1 分钟
1.7k
查询单个容器 IP 地址:使用下面命令可以查看容器详细信息,里面包含 IP 地址信息: {代码...} 或者使用下面命令直接输出 IP 地址信息: {代码...} 或者: {代码...} 查询全部容器 IP 地址:下面三个命令,任选其一即可: {代码...} 或者: {代码...} 或者: {代码...} 以上就是本文的全部内容,如果觉得不错的话,欢迎...

Python 中 base64 编码与解码

2022-03-01
阅读 2 分钟
1.9k
base64 是经常使用的一种加密方式,在 Python 中有专门的库支持。本文主要介绍在 Python2 和 Python3 中的使用区别:在 Python2 环境: {代码...} 在 Python3 环境:Python3 中有一些区别,因为 Python3 中字符都是 unicode 编码,而 b64encode 函数的参数为 byte 类型,所以必须先转码。 {代码...} 以上就是本文的全部...

一个关于 += 的谜题

2022-02-28
阅读 3 分钟
1.2k
原文链接: 一个关于 += 的谜题今天在看书过程中发现了一个问题,还挺有意思的,分享给大家。下面两个 Python 表达式会产生什么结果? {代码...} 给四个备选答案:t 变成 (1, 2, [3, 4, 5, 6])。因为 tuple 不支持对它的元素赋值,所以会抛出 TypeError 异常。以上两个都不是。以上两个都是对的。当时看到这个问题,第一...

我提交了一个 pr,竟然是为了吃

2022-02-25
阅读 1 分钟
973
原文链接:我提交了一个 pr,竟然是为了吃最近,GitHub 上有一个很火的项目,已经是热榜第一了。但是它并不是一个技术相关的项目,而是一个关于做菜的项目,叫《程序员做饭指南》。短短几天时间,豪取 16k+ 的 star,真是让人眼馋。不过,并不是眼馋星星,而是眼馋项目中的菜谱。这个项目的初衷,是因为作者最近隔离在家...

docker 批量删除 none 镜像

2022-02-24
阅读 1 分钟
3.5k
当 docker build 或者 docker pull 新镜像的时候,如果之前已经存在了,涉及到镜像版本更新的话,那么之前的镜像就变成了临时镜像,也就是 <none>:<none> 镜像。

本着什么原则,才能写出优秀的代码?

2022-02-23
阅读 9 分钟
1.3k
原文链接:本着什么原则,才能写出优秀的代码?作为一名程序员,最不爱干的事情,除了开会之外,可能就是看别人的代码。有的时候,新接手一个项目,打开代码一看,要不是身体好的话,可能直接气到晕厥。风格各异,没有注释,甚至连最基本的格式缩进都做不到。这些代码存在的意义,可能就是为了证明一句话:又不是不能跑...

读 Go 源码,可以试试这个工具

2022-02-08
阅读 2 分钟
3.1k
原文链接: 读 Go 源码,可以试试这个工具编程发展至今,从面向过程到面向对象,再到现在的面向框架。写代码变成了一件越来越容易的事情。学习基础语法,看看框架文档,几天时间搞出一个小项目并不是一件很难的事情。但时间长了就会发现,一直这样飘在表面是不行的,技术永远得不到提升。想要技术水平有一个质的飞跃,有...

Go Error 嵌套到底是怎么实现的?

2022-01-14
阅读 4 分钟
1.5k
原文链接: Go Error 嵌套到底是怎么实现的?Go Error 的设计哲学是 「Errors Are Values」。这句话应该怎么理解呢?翻译起来挺难的。不过从源码的角度来看,好像更容易理解其背后的含义。Go Error 源码很简单,寥寥几行: {代码...} error 是一个接口类型,只需要实现 Error() 方法即可。在 Error() 方法中,就可以返回...

为什么要避免在 Go 中使用 ioutil.ReadAll?

2022-01-06
阅读 6 分钟
10.3k
原文链接: 为什么要避免在 Go 中使用 ioutil.ReadAll?ioutil.ReadAll 主要的作用是从一个 io.Reader 中读取所有数据,直到结尾。在 GitHub 上搜索 ioutil.ReadAll,类型选择 Code,语言选择 Go,一共得到了 637307 条结果。这说明 ioutil.ReadAll 还是挺受欢迎的,主要也是用起来确实方便。但是当遇到大文件时,这个函...

程序员非常实用的十个工具网站,值得收藏

2022-01-05
阅读 3 分钟
1.1k
强大的正则表达式工具,你可以实时查看匹配信息,并且会用不同的颜色将 Group 标记出来。而且有 Quick Reference 来帮助你记忆正则表达式的规则和 Explanation 对你的正则表达式进行解释。

VS Code 如何设置大小写转换快捷键

2021-12-30
阅读 2 分钟
15.9k
一般情况下,快捷键如下:转换为大写:Ctrl+Shift+u转换为小写:Ctrl+Shift+l如果不行的话,需要单独进行设置,步骤如下:1、点击【文件】-【首选项】-【键盘快捷方式】菜单:2、输入「转换为大写」,会出现搜索结果。鼠标悬停在该结果上,点击前面的【加号】,会弹出输入自定义快捷键的弹窗。3、在键盘上依次按下 Ctrl...

如何在 Go 中将 []byte 转换为 io.Reader?

2021-12-29
阅读 4 分钟
8.8k
在 stackoverflow 上看到一个问题,题主进行了一个网络请求,接口返回的是 []byte。如果想要将其转换成 io.Reader,需要怎么做呢?

解决GitLab报错:not allowed to force push code to a protected branch

2021-12-24
阅读 1 分钟
2.4k
You are not allowed to force push code to a protected branch on this project

Go 的 golang.org/x/ 系列包和标准库包有什么区别?

2021-12-23
阅读 1 分钟
2.3k
在开发过程中可能会遇到这样的情况,有一些包是引入自不同地方的,比如:golang.org/x/net/html 和 net/html,golang.org/x/crypto 和 crypto。那这是什么原因呢?引用 Go 官方 Wiki 的说法:The golang.org/x/... repositories are part of the Go Project but outside the main Go tree.They are developed under loos...

如何在 GitHub 上高效阅读源码?

2021-12-20
阅读 2 分钟
2.5k
原文链接: 如何在 GitHub 上高效阅读源码?之前听说过一个故事,一个领导为了提高团队战斗力,把团队成员集中起来,搞封闭开发,重点还是在没有网的条件下。结果就是一个月过去了,产出基本为零。我发现,如果没有网,程序员基本上是写不出代码了。现在做什么功能之前,先到网上搜搜看,然后直接复制粘贴搞定。最实用的...

Vim 编辑器|批量注释与批量取消注释

2021-12-15
阅读 1 分钟
1.7k
添加注释ctrl + v 进入块选泽模式。上下键选中需要注释的行。按大写 I 进入插入模式,输入注释符。按两次 ESC 退出,即完成添加注释。取消注释ctrl + v 进入块选泽模式。上下键选中需要注释的行。按小写 x 删除注释符。按 ESC 退出,即完成取消注释。热情推荐:技术博客: 硬核后端技术干货,内容包括 Python、Django、D...

一劳永逸,使用 PicGo + GitHub 搭建个人图床工具

2021-12-07
阅读 2 分钟
8.8k
经常写博客的同学都知道,有一个稳定又好用的图床是多么重要。我之前用过七牛云 + Mpic 和微博图床,但总感觉配置起来比较麻烦,用起来也不是很顺手。而且更让人担心的是,万一有一天图床服务不能用了怎么办?那之前的图片岂不是都挂了。

开始读 Go 源码了

2021-12-03
阅读 3 分钟
2.4k
在写项目的过程中,发现一个问题。实现功能是没问题的,但不知道自己写的代码是不是符合 Go 的风格,是不是够优雅。所以我觉得相比于继续学习应用开发,不如向底层前进,打好基础,打好写 Go 代码的基础。

1 分钟学会 30 种编程语言

2021-11-15
阅读 2 分钟
962
原文链接: 1 分钟学会 30 种编程语言我一直很羡慕能开发出独立网站的人,这个网站呢,不一定需要多么高深的技术,但足够有想法,有意思,好玩。今天给大家推荐三个网站,我个人很喜欢,好玩又非常实用。Programming-Idioms第一个推荐的是 Programming-Idioms,idioms 意思是惯用语,习语。在这里可以理解为常用的代码片...

开源项目|Go 开发的一款分布式唯一 ID 生成系统

2021-11-09
阅读 2 分钟
2k
原文连接: 开源项目|Go 开发的一款分布式唯一 ID 生成系统今天跟大家介绍一个开源项目:id-maker,主要功能是用来在分布式环境下生成唯一 ID。上周停更了一周,也是用来开发和测试这个项目的相关代码。美团有一个开源项目叫 Leaf,使用 Java 开发。本项目就是在此思路的基础上,使用 Go 开发实现的。项目整体代码量并...

测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她

2021-10-25
阅读 12 分钟
2k
原文链接: 测试小姐姐问我 gRPC 怎么用,我直接把这篇文章甩给了她上篇文章 gRPC,爆赞 直接爆了,内容主要包括:简单的 gRPC 服务,流处理模式,验证器,Token 认证和证书认证。在多个平台的阅读量都创了新高,在 oschina 更是获得了首页推荐,阅读量到了 1w+,这已经是我单篇阅读的高峰了。看来只要用心写还是有收获...

听说,99% 的 Go 程序员都被 defer 坑过

2021-10-18
阅读 6 分钟
1.3k
原文链接: 听说,99% 的 Go 程序员都被 defer 坑过先声明:我被坑过。之前写 Go 专栏时,写过一篇文章:Go 专栏|错误处理:defer,panic 和 recover。有小伙伴留言说:道理都懂,但还是不知道怎么用,而且还总出现莫名奇妙的问题。出问题就对了,这个小东西坏的很,一不留神就出错。所以,面对这种情况,我们今天就不...

gRPC,爆赞

2021-10-12
阅读 13 分钟
2k
原文链接: gRPC,爆赞gRPC 这项技术真是太棒了,接口约束严格,性能还高,在 k8s 和很多微服务框架中都有应用。作为一名程序员,学就对了。之前用 Python 写过一些 gRPC 服务,现在准备用 Go 来感受一下原汁原味的 gRPC 程序开发。本文的特点是直接用代码说话,通过开箱即用的完整代码,来介绍 gRPC 的各种使用方法。代...

使用 grpcurl 通过命令行访问 gRPC 服务

2021-09-30
阅读 4 分钟
6.1k
原文链接: 使用 grpcurl 通过命令行访问 gRPC 服务一般情况下测试 gRPC 服务,都是通过客户端来直接请求服务端。如果客户端还没准备好的话,也可以使用 BloomRPC 这样的 GUI 客户端。如果环境不支持安装这种 GUI 客户端的话,那么有没有一种工具,类似于 curl 这样的,直接通过终端,在命令行发起请求呢?答案肯定是有...