[madmalls.com] 最新博客文章
https://madmalls.com/blog/atom/
2024-01-24T02:35:52.158000Z
Werkzeug
"动"话 Git (2): 深入理解 git reset 和 git checkout 命令
https://madmalls.com/blog/post/in-depth-understanding-of-git-reset-and-git-checkout-commands/
2024-01-24T02:26:55.176000Z
2024-01-21T08:07:00Z
Madman
在《"动"话 Git》系列的第二篇中,我们将继续通过生动的动态图片和精彩的图解,真正理解 git reset 和 git checkout 并恰当地运用它们
"动"话 Git (1): 深入理解 Git 的核心思想
https://madmalls.com/blog/post/in-depth-understanding-of-what-git-is-and-how-it-works/
2024-01-24T02:35:52.158000Z
2024-01-20T07:04:00Z
Madman
在《"动"话 Git》系列的第一篇中,我们将深入研究 Git 这一版本控制系统的核心思想与原理。通过生动的动态图片和精彩的图解,我们将揭示 Git 在背后的工作机制,剖析其独特的版本管理思想。无论你是初学者还是有经验的开发者,本文将为你提供清晰的视角,帮助你更深入地理解Git,为有效的团队协作和代码管理打下坚实的基础。让我们一同踏上这段有趣而充满发现的 Git 之旅!
clipboard.js 实现代码一键复制功能
https://madmalls.com/blog/post/clipboardjs-copy-codes/
2021-05-16T13:48:12.031000Z
2021-05-16T13:30:00Z
Madman
使用 Python-Markdown 将 markdown 原文转换为 HTML 内容后,借助于 clipboard.js(不依赖 Flash)将代码块复制到剪贴板
SQLAlchemy Tutorial | Lost connection to MySQL server during query
https://madmalls.com/blog/post/sqlalchemy-lost-connection-to-mysql-server-during-query/
2020-12-12T09:53:04.270000Z
2020-12-12T03:46:00Z
Madman
应用长时间无请求访问时,最近一次请求数据库将报错 Lost connection to MySQL server during query。这个过程有可能会很久,从而导致 Web 服务端返回响应时长过久(比如分钟级别)
Python 重试功能
https://madmalls.com/blog/post/python-retry/
2020-03-28T12:50:03.058000Z
2020-03-02T05:47:00Z
Madman
有时候 HTTP 请求失败了,可能是网络连接不稳定或者后端接口服务暂时未启动等原因,此时我们希望请求失败后能够进行一定次数的重试(retry),从而最大限度保证请求能够最终成功。除了使用装饰器来实现以外,requests 模块中使用的 urllib3 模块默认自带重试功能
Sell source code
https://madmalls.com/blog/post/sell-source-code/
2023-08-03T11:17:32.257000Z
2020-01-06T11:10:00Z
Madman
出售本网站的源代码
Python 日志带颜色
https://madmalls.com/blog/post/python-logging-with-color-formatting/
2020-03-02T06:18:53.090000Z
2019-11-16T08:20:00Z
Madman
自定义日志输出格式,且用颜色区分不同日志级别的信息
Python 生成不失真的缩略图
https://madmalls.com/blog/post/python3-resize-images/
2019-11-03T02:47:00Z
2019-11-03T02:47:00Z
Madman
Python 3 使用 Pillow 模块生成指定宽度和高度的缩略图
Go陷阱|第1章: append
https://madmalls.com/blog/post/append-gotcha/
2020-09-19T05:03:38.869000Z
2019-10-30T14:11:00Z
Madman
使用内置函数 append() 在切片末尾追加元素并返回新切片时,要注意是否会创建新的底层数组
Python 转换文件的编码
https://madmalls.com/blog/post/convert-file-encoding-for-python/
2019-10-27T15:38:20.878000Z
2019-10-27T13:35:00Z
Madman
Linux 中有个 iconv 工具可以用来转换文件的编码,尝试用 Python 来实现部分功能,加深对字符编码的理解
Create a Go module
https://madmalls.com/blog/post/create-golang-module/
2020-09-19T04:57:19.783000Z
2019-09-10T08:30:00Z
Madman
使用 Go Modules 管理模块
Python 3 爬虫|第12章:并发下载大文件 支持断点续传
https://madmalls.com/blog/post/download-large-files/
2020-12-12T03:18:57.941000Z
2019-08-27T01:11:00Z
Madman
本文介绍如何流式下载大文件,并实现断点续传功能。根据顺序下载大文件的字节和乱序下载大文件的各个分段,分别进行了多线程或协程并发,还实现了多个大文件并发下载
Flask Vue.js全栈开发|第22章:(番外篇) 用 Flask-RESTful 插件实现 API
https://madmalls.com/blog/post/designing-a-restful-api-using-flask-restful/
2019-08-21T01:57:56.816000Z
2019-08-13T07:43:00Z
Madman
应多位读者的要求,终于在空闲时间写了 Flask-RESTful 插件实现 API。它其实是对 Flask MethodView 的再次封装,让用户能够更方便快捷地构建出 REST API,比如基于 HTTP 方法的调度、快速定义路由规则、支持对传入的参数值进行检验、可快速定制要返回的数据各字段值、资源方法可分别应用不同的装饰器(比如权限认证),默认返回 JSON 格式的数据(无需调用 jsonify 方法),当然也可以返回 HTML、XML、CSV 等格式的数据
Kubernetes 容器编排|第1章:使用 kubeadm 部署 K8s 集群
https://madmalls.com/blog/post/deploy-k8s-cluster-with-kubeadm/
2019-08-02T06:57:28.403000Z
2019-08-02T03:45:00Z
Madman
如果手动安装 Kubernetes 服务端和客户端的各组件会非常复杂,尤其是初学者尚不清楚 K8s 的架构情况下很容易部署失败,从而打击继续学习的积极性。当然,如果你只是想体验一下 K8s 的特性,可以使用官方入门教程 https://kubernetes.io/docs/tutorials/kubernetes-basics/ 中那样单台虚拟机上运行 Minikube 即可。或者,使用 Ansible role (https://galaxy.ansible.com/geerlingguy/kubernetes) 来自动部署,但是如果你想深入掌握 K8s 各组件的作用,建议使用官方提供的管理工具 kubeadm 来部署 K8s 集群
Ansible自动化运维|第3章:roles 详解
https://madmalls.com/blog/post/ansible-working-with-roles/
2019-07-24T00:50:57.723000Z
2019-07-23T07:18:00Z
Madman
Ansible 在 1.2 版本以后开始支持 role,它与我们日常使用的 playbook 没有什么区别,只不过对目录结构进行了一些规范。我们可以对一个很复杂的 playbook 进行拆分,比如将任务都放到 tasks/ 目录中、将触发处理程序都放到 handlers/ 目录中等。如果以后需要对 role 进行修改或者调整,只需修改相应的文件即可。如果还想把这个 role 分享给其它人,也只需要分享整个目录即可,从而实现重用的目的。role 只是关于一个功能的集合,我们使用它时,只需要编写一个 playbook 通过 roles 关键字去调用我们写好的 role 即可