女王控的博客

全部

229 篇文章

命令行的艺术

基础 学习 Bash 的基础知识。具体地,在命令行中输入 并至少全文浏览一遍; 它理解起来很简单并且不冗长。其他的 shell 可能很好用,但 Bash 的功能已经足够强大到几乎总是可用的( 如果你只学习 zsh,fish 或其他的 shell 的话,在你自己的设备上会显得很方便,但过度依赖这些功能会给您带来不便,例如当你需要在服务器上工作时)。 熟悉至少一个基于文本的编辑器。通常而言 Vim ( ) 会是你最好的选择,毕竟在终端中编辑文本时 Vim 是最好用的工具(甚至大部分情况下 Vim… »

深入理解 Python 虚拟机

提供的源代码链接如无特殊说明均来自于 CPython repo 中的 Python3.7 分支。 背景 这本书旨在深入 Python 解释器之中,提供 python 程序运行机制的概念上的概述。本书描述的对象是 CPython 的解释器实现,它是目前最主流或者说官方的 Python 实现。 根据对解释器调用方式的不同,一个 Python 程序的执行可以分为两个或三个阶段,这些内容将会被涵盖在本书的不同章节中: 初始化(Initialization):这个阶段涉及到对于 python… »

缓存报错重试机制探究

背景 在线上部署期间,或者用户长时间没有访问网页等等各种情况,有一定概率会出现以下形式的报错,导致网页白屏 原因与方案 由于现代前端工具链打包出来的,尤其是 webpack 的项目,其主入口默认不缓存,其他文件长期缓存,缓存的文件通过改变文件名(一般是 hash)来更新 所以在部署期间或者用户没有长时间打开网页,可能会请求已被删除的对应的 chunk 或者 chunk… »

Python 后端 oom 处理过程

背景 python 的 django 后端在刚启动时内存占用上升很快,导致对应的 pod 内存溢出,很多接口响应慢 方案 需要找到哪行代码导致的内存泄漏,有以下方案 pympler scalene (python3.8 以上,不符合) memray (python3.7 以上,不符合) 使用 python 内置的 tracemalloc 库 由于项目用的是 python 3.6 的版本,所以采用方案 1 和… »

记一次处理高德地图浏览器兼容性问题

背景 在 chrome 浏览器上,用高德地图的 CircleMarker, PathSimplifier 分别画点和线时候,需要实现点在线的上面的效果,此时在 windows 系统上不能正常显示红点(左侧),在 ubuntu 系统下却正常显示(右侧),如下图所示 原因 红点是由 CircleMarker 组件实现,而下面的线则是 PathSimplifier 实现,在 chrome 浏览器下不同系统的表现为: window: CircleMarker 由 canvas… »

0%