写代码的明哥
码龄6年
  • 348,775
    被访问
  • 193
    原创
  • 11,995
    排名
  • 2,251
    粉丝
  • 60
    铁粉
关注
提问 私信

个人简介:懂点 Python 的云计算工程师。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:福建省
  • 加入CSDN时间: 2016-10-08
博客简介:

王炳明

查看详细资料
  • 5
    领奖
    总分 1,894 当月 47
个人成就
  • 获得1,850次点赞
  • 内容获得1,334次评论
  • 获得5,154次收藏
  • GitHub 获得5,379Stars
创作历程
  • 17篇
    2022年
  • 51篇
    2021年
  • 117篇
    2020年
  • 9篇
    2019年
成就勋章
TA的专栏
  • Python神兵利器
    7篇
  • Go语言学习
    48篇
  • 大白话 K8S
    5篇
  • 图解 Kubernetes
    6篇
  • 大白话 K
  • 软件工具
    6篇
  • PyCharm 中文教程
    19篇
  • Mac使用技巧
    2篇
  • 计算机网络
  • Linux实用技巧
    2篇
  • Python 入门与进阶
    29篇
兴趣领域 设置
  • 大数据
    mysql
  • 服务器
    linux
  • 最近
  • 文章
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

划时代的 Python 包管理器 — PDM 局部&全局项目

PDM 系列目录1、划时代的 Python 包管理器:PDM 教程 — 入门篇2、划时代的 Python 包管理器:PDM 教程 — 原理篇3、划时代的 Python 包管理器 — PDM 局部&全局配置4、划时代的 Python 包管理器 — PDM 局部&全局项目5、划时代的 Python 包管理器 — PDM 缓存机制6、读者问:如何让 PyCharm 支持 PDM ?1. pdm 的两种项目正常情况下,我们都是使用 pdm init 来初始化项目时,而初始化后,会在
原创
发布博客 2022.04.17 ·
113 阅读 ·
0 点赞 ·
0 评论

划时代的 Python 包管理器 — PDM 缓存机制

PDM 系列目录1、划时代的 Python 包管理器:PDM 教程 — 入门篇2、划时代的 Python 包管理器:PDM 教程 — 原理篇3、划时代的 Python 包管理器 — PDM 局部&全局配置4、划时代的 Python 包管理器 — PDM 局部&全局项目5、划时代的 Python 包管理器 — PDM 缓存机制6、读者问:如何让 PyCharm 支持 PDM ?pdm 引入了 pep 582 的本地包目录,有很多人在质疑:每个项目都在自己项目目录之下,那和 ve
原创
发布博客 2022.04.13 ·
585 阅读 ·
0 点赞 ·
0 评论

划时代的 Python 包管理工具 -- PDM 原理篇

在之前的一篇文章中(来了!划时代的 Python 包管理工具 -- PDM),我详细介绍了 PDM 的保姆级入门用法。之前一直想着出一篇 PDM 的高级篇,却一直食言,当然更主要的是好像也没人催。写长一点的文章,需要投入长达几个小时的时间与精力,因此打算以这种小知识点的形式开展下去,写得不会很累,重要的是能保持稳定输出。今天介绍一下 PEP 582 的原理,说说 PDM 是如何做到本地包目录的支持的?在 pdm 的环境之下,它是优先从项目里的 __pypackages__  搜
原创
发布博客 2022.04.02 ·
755 阅读 ·
0 点赞 ·
0 评论

Go 1.18 系列篇(四):一文掌握 Fuzzing 模糊测试

系列导读:1、Go 1.18 系列篇(一):如何升级 Go 1.18 ?2、Go 1.18 系列篇(二):一文掌握泛型的使用3、Go 1.18 系列篇(三):一文掌握 Go 工作区模式1. 什么是模糊测试?单元测试,大家应该都写过吧?单元测试,需要开发者根据函数逻辑,给定几组输入(入参)与输出(返回)的数据,然后 go test 根据这些数据集,调用函数,若返回值与预期相符,则说明函数的单元测试通过。但单元测试的代码,也是由开发者写的一段一段代码,只要是代码,就会有 BUG,就会有遗漏的场景。
原创
发布博客 2022.04.01 ·
547 阅读 ·
1 点赞 ·
0 评论

Go 1.18 系列篇(三):一文掌握 Go 工作区模式

系列导读:1、Go 1.18 系列篇(一):如何升级 Go 1.18 ?2、Go 1.18 系列篇(二):一文掌握泛型的使用对我来说,Go1.18 最 “实用” 的功能,应该是 Go 工作区模式,虽然上篇文章中的泛型在某些场景下也是非常有用,但我还没遇到泛型的使用场景,因此它不能为我带来收益,而 Go 的工作区模式,则不一样,它使得开发者在多个模块中的开发工作变得更加简单。接下来来简单介绍一下1. 诞生背景在介绍 工作区模式 (workspace mode)之前,先简单地说一下工作区诞生的背景
原创
发布博客 2022.03.30 ·
610 阅读 ·
1 点赞 ·
0 评论

Go 1.18 系列篇(二):一文掌握泛型的使用

系列导读:1、Go 1.18 系列篇(一):如何升级 Go 1.18 ?泛型,可以说是 Go 这几年来最具争议的功能,应该没人有意见吧?其实 Go 在早前的 Beta 版本中,就提供了对泛型的支持,但还不够成熟,直到 Go 1.18 才是支持泛型的正式版本。下面我学习了官方关于泛型的文档之后,将学习的心得总结分享给大家1. 非泛型的写法现有一个 map ,我们需要实现一个函数,来遍历该 map 然后将 value 的值全部相加并返回。而由于这个 map 的 value 可以是任意类型的数值,比
原创
发布博客 2022.03.22 ·
2092 阅读 ·
2 点赞 ·
2 评论

Go 1.18 系列篇(一):如何升级 Go 1.18 ?

在上周,Go 1.18 终于是发布了,在上一篇文章中,我在留言中说,接下来几天会把玩一下 Go 1.18 的新特性,并跟大家分享一下学习心得。今天第一篇,先升级一下 Go 1.18 ,关于新特性,咱明天再开整~Go 官方推荐的 Go 升级方法是先安装新版本的下载器,再使用下载器去安装新版本的 Go,总结一下就是如下三条命令~ ➤ go install golang.org/dl/go1.18@latest~ ➤ go1.18 download~ ➤ go1.18 version由于国内网络问题
原创
发布博客 2022.03.22 ·
1595 阅读 ·
0 点赞 ·
0 评论

图解 K8S(07):调度利器之亲和与反亲和(服务容灾)

本系列教程目录(已发布):图解 K8S(01):基于ubuntu 部署最新版 k8s 集群图解 K8S(02):认识 K8S 中的资源对象图解 K8S(03):从 Pause 容器理解 Pod 的本质图解 K8S(04):吃透 Pod 中的第三类容器 – init 容器图解 K8S(05):调度利器之标签与选择器(分组调度)图解 K8S(06):调度利器之污点与容忍度(压力驱逐)图解 K8S(07):调度利器之亲和与反亲和(服务容灾)将一个 Pod 分配到某一个可以满足 Pod 资源请求的节
原创
发布博客 2022.03.21 ·
558 阅读 ·
0 点赞 ·
0 评论

图解 K8S(06):调度利器之污点与容忍度(压力驱逐)

本系列教程目录(已发布):图解 K8S(01):基于ubuntu 部署最新版 k8s 集群图解 K8S(02):认识 K8S 中的资源对象图解 K8S(03):从 Pause 容器理解 Pod 的本质图解 K8S(04):吃透 Pod 中的第三类容器 – init 容器图解 K8S(05):调度利器之标签与选择器(分组调度)图解 K8S(06):调度利器之污点与容忍度(压力驱逐)图解 K8S(07):调度利器之亲和与反亲和(服务容灾)将一个 Pod 分配到某一个可以满足 Pod 资源请求的节
原创
发布博客 2022.03.21 ·
511 阅读 ·
0 点赞 ·
0 评论

图解 K8S(05):调度利器之标签与选择器(分组调度)

Kubernetes 中的标签与 nodeSelector 详解
原创
发布博客 2022.03.14 ·
362 阅读 ·
0 点赞 ·
0 评论

新一代的 Python 包管理工具 -- PDM

PDM 是一个新的 Python 的包管理器,也许你还未知晓它的存在,但实际上PDM 已经诞生两年,并在 2021 年发布 1.0 版本,目前最高的版本是 1.12.8。在刚听到 PDM 时,我下意识认为它是 Python Development Manager,又一个和 Pipenv 和 Poetry 一样换汤不换药的虚拟环境管理工具。一直到我翻到了作者的博客,才知道 PDM 的全称是 Python Development Master,比我想像的还要牛逼一个档次。值得一提的是,PDM 的作者是 PyPa
原创
发布博客 2022.02.17 ·
1563 阅读 ·
2 点赞 ·
2 评论

图解 K8S(04):吃透 Pod 中的第三类容器 -- init 容器

本系列教程目录(已发布):图解 K8S(01):基于ubuntu 部署最新版 k8s 集群图解 K8S(02):认识 K8S 中的资源对象图解 K8S(03):从 Pause 容器理解 Pod 的本质图解 K8S(04):吃透 Pod 中的第三类容器 – init 容器以下是本篇正文从上一篇文章,我们已经知道了一个 Pod 至少会有两种容器, pause 容器和 应用容器。注意我的表述是 至少,这其实已经在暗示 Pod 里还存在其他类型的容器,这就是我们本篇文章的主角 – init 容器。
原创
发布博客 2022.02.14 ·
977 阅读 ·
1 点赞 ·
0 评论

大白话 K8S(03):从 Pause 容器理解 Pod 的本质

本篇是《大白话 K8S》第三篇,本系列文章目录可以点此链接:《大白话 K8S》在 K8S 中,Pod 是最核心、最基础的资源对象,它是 Kubernetes 中调度最小单元,学习 K8S 很多时候,我们都是在跟 Pod 打交道,它的内容是最多的,需要分好多的章节才能将它讲透。本篇作为 Pod 的首篇,打算先从咱们熟悉的 Docker 容器入手,介绍 Pod 的组成及其工作原理。主要解决几个关键问题:Pod 是什么?它与容器是什么关系?为什么 K8S 不直接管理容器呢?1. Pod 与 容器
原创
发布博客 2022.02.07 ·
1997 阅读 ·
4 点赞 ·
0 评论

大白话 K8S(02):深入浅出理解 K8S 中的资源对象

本篇作为系列第二篇,到底写什么内容,我也是纠结了挺久,观察过其他教程,大都是直接开始介绍 Pod 。可以点此链接订阅该系列:《大白话 K8S》而在我看来,在学习 K8S 之前,有必要对 K8S 的资源对象有个全局的概念,他相当于房子的地基,是以后学习所有对象的根基。1. 认识 K8S 资源对象学习 K8S 首先最重要的是学习各种资源对象的功能,如何编写并创建他们。那么第一个问题就来了,什么是 K8S 资源对象?当你使用 kubectl api-resources,就可以列出当前集群中所有的资源定
原创
发布博客 2022.01.24 ·
915 阅读 ·
1 点赞 ·
0 评论

图解 K8S(01):基于 Ubuntu 20.04 部署 1.23版K8S 集群

从今天开始,我将开始连载《图解 K8S》入门系列文章。可以点此链接订阅该系列:图解 Kubernetes本篇是做为系列的第一篇文章,先来带大家一起搭建一个可用的 K8S 环境。K8S 环境的搭建,是很多想学习 K8S 的人止步于在入门之外的第一道门槛,不少人在这一道关上就被直接被劝退了。为什么呢?主要有如下三点:网络问题:K8S 是 Google 开发的,官方最新镜像都在墙外,安装时下载不了镜像机器问题:K8S 运行的组件非常多,对于机器本身有要求,配置不能低,如果要搭建集群,还需要多台机器,
原创
发布博客 2022.01.17 ·
961 阅读 ·
6 点赞 ·
1 评论

一个创意十足的 Python 命令行工具 -- trypackage

听到某些人说 xx 库非常好用的时候,我们总是忍不住想要去亲自试试。有一些库,之所以好用,是对一些库做了更高级的封闭,你装了这个库,就会附带装了 n 多依赖库,就比如前一篇文章介绍的 streamlit 来说,依赖包就达 90 几个之多?比百度全家桶,还 tm 的全家桶啊…也正是因为害怕会污染我的全局 Python 环境,我通常在试用新包的时候,都会使用 venv 创建虚拟环境,再去安装,完事之后,再清理虚拟环境即可。有没有发现,整个流程,其实还是挺麻烦的。刚好昨天晚上,Github 上瞎逛,被我
原创
发布博客 2022.01.11 ·
282 阅读 ·
1 点赞 ·
0 评论

零基础学 Go 语言(41):Go 读文件的七种方法

查看本系列教程目录,请点击 零基础小白入门 Go语言 系列教程Go 中对文件内容读写的方法,非常地多,其中大多数是基于 os 库的高级封装,不同的库,适用的场景又不太一样,为免新手在这块上裁跟头,我花了点时间把这些内容梳理了下。这篇是上篇,先介绍读取文件的 9 种方法,过两天再介绍写文件的。1. 整个文件读取入内存直接将数据直接读取入内存,是效率最高的一种方式,但此种方式,仅适用于小文件,对于大文件,则不适合,因为比较浪费内存。1.1 直接指定文件名读取有两种方法第一种:使用 os.Rea
原创
发布博客 2022.01.04 ·
609 阅读 ·
1 点赞 ·
0 评论

零基础学 Go 语言(40):Go 中四种类型转换方法

首发自微信公众号《Go编程时光》,如无授权请勿转载查看本系列教程目录,请点击 零基础小白入门 Go语言 系列教程Go 语言是静态语言,在编写代码时,就对类型有严格的要求,一旦类型不匹配,就有可能编译失败。因此在写代码时,就要经常用到类型的转换,这些知识点,对于一个新手来说,可以说是一个不小的门槛,经常要通常搜索引擎来寻找答案。今天我总结了四种日常开发中最经常遇到的类型转换方法,吃透后就可以自由的进行类型转换。第一种:显式类型转换使用对应的类型函数进行转换,还是以上面的例子来帮助理解,使用 i.
原创
发布博客 2021.12.27 ·
431 阅读 ·
0 点赞 ·
0 评论

来了,Github 终于上线收藏夹了

大家好,我是明哥。今天是周末,因为周末技术文章阅读量太低,本来不想发技术文章的我,在逛 Github 的时候,突然发现 Github 上线了个新功能,对于 Github 重度用度可谓是一个大好消息,可以简单的说一说。在聊 这个新功能之前,我先引个言,以当前你阅读的公众号的文章为例,读者对文章的 Action 有如下四种:收藏:以后可能有用,加入收藏夹方便后续查找点赞:对自己没有用,但文章很棒,点个赞鼓励一下转发:文章很不错,也许对其他人也有帮助在看:让朋友知道,我看过这篇文章而且觉得不错除了 在看
原创
发布博客 2021.12.26 ·
230 阅读 ·
1 点赞 ·
0 评论

用 Python画圣诞树的三种代码示例

大家好,我是明哥。马上就是圣诞节了,先提前祝大家圣诞快乐!今天来给大家分享一波如何使用 Python 来画一颗圣诞节树,包含多种版本,从平民版到豪华版,像极了一个程度员从入门到高级秃头程序员的过程。本文涉及代码下载链接:https://wwe.lanzout.com/i2YJ5xx6n4j# 圣诞树 - 平民版第一种比较简单,由最基本的图形(圆形和正方形)组合而成,有点 turtle 基础的人都能画。代码如下# 圣诞树 - 进阶版上面的圣诞树,都是新手练习使用的,只能自娱自乐,不够真实
原创
发布博客 2021.12.24 ·
1560 阅读 ·
1 点赞 ·
0 评论
加载更多