Practice

一些 PyCharm 的使用和设置建议

PyCharm 是笔者强烈推荐的 Python IDE,个人认为体验比 VSCode 好的不只是一点半点。 如果是首次安装 PyCharm,有一些设置项建议还是按照自己习惯修改掉,所谓磨刀不误砍柴工。注意不同版本的PyCharm 可能对本文所提及的设置项重新调整,大家可以根据提示摸索寻找。 显示工具栏 默认 PyCharm 并不显示工具栏(Toolbar),在大多数 IDE 工具栏...

关于 DevOps ,咱们聊的可能不是一回事

原文: https://www.jianshu.com/p/645bb1283a77 在过去的三年中,我作为 DevOps 的咨询师参与了很多企业的 DevOps 转型咨询以及技术实施,也在不同的社区活动中分享了自己在 DevOps 上的实践、理解和观点。 随着 DevOps 的盛行,我在很多场合和越来越多的人聊起 DevOps。也在不同的渠道听到了很多人在讲 DevOps。...

当你在浏览器中输入“google.com”并回车,会发生什么?

原文: https://www.cnbeta.com/articles/tech/808191.htm 我遇到过的最喜欢的面试问题是:”你键入’google. com’到一个浏览器的地址栏中, 并点击Enter, 之后会发生什么呢?” 有人可以滔滔不绝几天, 试图以某种形式的完备性来回答此问题。他们会走多深?纯粹出于兴趣, 我要把我的答案罗列在此。当我在一次实际面试中被问到这...

2018年,再见

去年的这个时候,我也想写一篇年底总结,无奈自己给自己找了各种理由借口,没写出来。 懒 今年从 8 月份就不爱动笔了,内心里一直有两个小恶魔,争论不休想要干架。一个说,一周 7 天你能蹦出 8 个想法,不写出来谁知道你他娘的是个天才?另外一个说,别老想着当网红,你那屁大的 idea 毛线都不是,写出来自己都懒得看。 其实内心并没什么小恶魔,只是因为懒。 羞 怎么说呢?博客这东...

用 Python 实现简单的 switch/case 语句

在Python中是没有Switch / Case语句的,很多人认为这种语句不够优雅灵活,在Python中用字典来处理多条件匹配问题字典会更简单高效,对于有一定经验的Python玩家不得不承认,的确如此。 但今天我们还是来看看如果一定要用Python来Switch / Case,可以怎么玩。 语法约束 我们先定义一下Switch/Case应该怎么表达,为了简单我们可以让它长成这样。 ...

Auto Update Your Pypi Package

Sometimes we mgiht want to make our package update to latest version, let me show you how do I accomplish this. Determine Versions We have to determine current installed package version. def g...

将xmind文件转成可编程数据类型

一个新的轮子。 前言 最近升级了一下xmind2testlink,顺带产生了一个中间轮子:xmindparser。 xmind是知名的思维导图软件,可以用来整理思路,设计测试案例等等。一旦完稿后软件本身支持导出为图片,PDF,Excel 等等文件格式。免费版相对于 Pro 版能导出的文件种类少一些,但有时候你可能想我做的 xmind 能不能通过编程再加工一下,比如集成到某个网页,或...

NodeJS起步两三事

主要是为了备忘,开始接触NodeJS有一段时间,断断续续,年纪也大了时间一长容易忘事情,汗。 安装Node 直接到官网下载LTS版本安装即可,没必要追新功能用最新版。安装Node基本没什么坑,记得加到PATH就好。 Windows双击安装,macOS推荐使用brew安装,完成后在命令行里测试一下。 $ node -v 后期如果没有啥breaking的API改动基本也不用升级。...

使用浏览器的HEADLESS模式进行自动化测试

自动化测试的进阶内容。 了解HEADLESS模式 HEADLESS BROWSER 指的是不需要用户界面的浏览器,这种浏览器在自动化测试和爬虫领域有着广泛的应用。 例如你想在网页上运行一些测试,从网页抓取信息,检查浏览器访问某些资源的状态,定时截取网页等等,你需要的是浏览器处理网页但不一定需要浏览器界面,这些情况都是HEADLESS BROWSER的应用场景。 Chrome 从 ...

Sentry - 处理异常日志的正确姿势

在各种系统和应用里,无论你的代码再完美也还是会抛异常,出错误。今天的主角是当今比较流行的异常记录框架 - Sentry,来了解一下。 关于日志管理 应用越做越复杂,输出日志五花八门,有 print 的,有写 stdout 的,有写 stderr 的, 有写 logging 的,也有自定义 xxx.log 的。那么这将导致平台应用日志分布在各个地方,无法统一管理。而且可能用的还不止一种...

说说Python中的单元测试

单元测试是每种编程语言必学的课题,是保护开发者的强力护盾,每个程序员都在时间允许的情况下尽可能多的写单元测试,今天我们不讨论其必要性,只抛砖引玉聊一聊 Python 中的单元测试,本文仅代表个人看法。 标准库中难以忍受的 unittest 很多时候我们总是认为标准库里的带的总是精挑细选的,如果不经过仔细打磨怎么可能入选为一等公民?但我要告诉你,Python 标准库里的单元测试框架真不...

Python 查找重复文件升级版 - photodup

之前写了一个简化版的使用 Python 查找目录中的重复文件,现在升级了一下,我们来提供一个友好的网页界面。 思路 上一个版本我们非常简单粗暴地将所有文件的 hash 扫描后保存到一个字典中,字典结构大概是这样的: files = [{'hash1':['file/path...','file/path...']}, {'hash2':['file/path......

使用Python查找目录中的重复文件

是这样的,电脑上的堆积的照片有点多,而且重复的照片被放在了不同的目录,占用的空间越来越大,数量也多得已经不太适合人工分辨整理,写个Python脚本来处理吧。 文件的唯一标识 - MD5 假如你要处理的重复文件有不同的文件名,最简单的办法就是通过MD5来确定两个文件是不是一样的。 def md5sum(filename, blocksize=65536): hash = ha...

自动为Flask写的API生成帮助文档

Flask 是 Python 一个非常轻量的库,可以让你毫不费力地写一个简单的网站。如果你需要写一些后台 API 或者准备自动化测试数据时,Flask 是一个非常不错的选择。 一个 API 例子 举个例子,我们可以这样写几个 API,具体实现暂时略过: # views/api.py api = Blueprint('api', __name__) @api.route('/get...

在Windows上搭建Jekyll运行环境

静态页面博客的鼻祖就是Jekyll。 Jekyll 和 Hexo 静态博客目前最流行的也就是 Hexo 和 Jekyll,我一直都是 Hexo 的粉丝和用户,相对于 Jekyll 我想大多数人选择 Hexo 的原因跟我差不多: 安装本地环境简单,只需要 nodejs 和一行命令即可 官网文档非常优秀,极易上手 众多优秀的主题可选,配置功能完善 目录结构清晰易懂,内...