用过 MySQL
的童鞋一定对那个非常好看的字符表格印象深刻吧!
在 Python
中,使用 tabulate 库,可轻松实现一模一样的字符表格。
快速上手
废话不多说,先来看看效果:
|
|
用过 MySQL
的童鞋一定对那个非常好看的字符表格印象深刻吧!
在 Python
中,使用 tabulate 库,可轻松实现一模一样的字符表格。
废话不多说,先来看看效果:
|
|
作为信息安全领域的基石,数据加密算法你或多或少应该用过。可你知道数据加密分成 对称加密 ( symmetric encryption ) 和 非对称加密 ( asymmetric encryption ) 两种吗?对称加密与非对称加密有什么区别?各自适用于什么场景?
在对称加密中,我们需要维护一个 密钥 ( secret key )。数据加密者根据加密算法用 密钥 对 明文 进行加密,得到不可读懂的 密文 。数据解密者根据加密算法,用同样的 密钥 对密文进行解密,得到原来的明文。
一直以来,编码问题像幽灵一般,不少开发人员都受过它的困扰。
试想你请求一个数据,却得到一堆乱码,丈二和尚摸不着头脑。有同事质疑你的数据是乱码,虽然你很确定传了 UTF-8 ,却也无法自证清白,更别说帮同事 debug 了。
有时,靠着百度和一手瞎调的手艺,乱码也能解决。尽管如此,还是很羡慕那些骨灰级程序员。为什么他们每次都能犀利地指出问题,并快速修复呢?原因在于,他们早就把编码问题背后的各种来龙去脉搞清楚了。
本文从 ASCII 码说起,带你扒一扒编码背后那些事。相信搞清编码的原理后,你将不再畏惧任何编码问题。
笔者最近在整理 Node.js 操作各数据库的方法,却不料遇到一个很棘手的问题:很多数据库,都需要同时下载 Server 端和 Client 端,并进行相应的配置,着实是麻烦。那有没有方法可以省去这些步骤呢?
答案肯定是有的,这就是今天要介绍的主题 —— Docker。
那 Docker 是什么呢?
通俗地讲,当我们部署代码到生产服务器时,第一次都需要先进行环境配置,比如你有 100 台机器,你就要手动配置 100 台服务器的环境,这样难保不会出错。 Docker 则将软件服务制作成标准化的模板,也就是镜像,从而实现快捷部署。每次部署新机器,只需要拉取相关镜像,即可一键完成。
Python 可以读写 Excel 表格吗?
当然可以。 Python 下有很多类库可以做到, openpyxl 就是其中的佼佼者。
openpyxl 的设计非常漂亮 ,你一定会喜欢它!不信请往下看:
开始 openpyxl 前,无需提前建好工作簿( Workbook )。 只需导入 Workbook 类,便可在内存中创建新工作簿并开始操作:
|
|
Linux 内核有很多可以定制化的参数 —— 内核参数 ( kernel parameters ), 斟酌设置内核参数对 系统调优 意义重大。 内核参数 涵盖内核的方方面面,包括 网络 ( net )、 文件系统 ( fs )等等。
本文以 fs.file-max
参数为例,介绍设置内核参数的几种方式。
Linux 内核通过 procfs 伪文件系统暴露 内核参数 的访问接口, 通过 procfs 接口,用户可 设置 或者 查看 指定内核参数。 内核参数位于 /proc/sys 目录下,以 fs.file-max
参数为例,路径为 /proc/sys/fs/file-max
。
查看参数只需读取对应文件内容:
|
|
QUIC ,即 快速UDP网络连接 ( Quick UDP Internet Connections ), 是由 Google 提出的实验性网络传输协议 ,位于 OSI 模型传输层。 QUIC 旨在解决 TCP 协议的缺陷,并最终替代 TCP 协议, 以减少数据传输,降低连接建立延迟时间,加快网页传输速度。
QUIC 主要特点有:
在 邮件报表 之类的开发任务中,需要生成 HTML 表格。
使用 Python 生成 HTML 表格基本没啥难度, for 循环遍历一遍数据并输出标签即可。 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了。
这时,可以试试本文的主角 —— html-table 包,借助它可生成各种样式的 HTML 表格。 接下来,以一个简单的例子演示 html-table 的常用用法:
开发系统时,经常需要一些伪数据用于测试。
举个例子,设计一个学生管理系统,测试注册功能,总需要一些用户信息吧。我猜大部分人都会填:用户 aaaa
,密码 1111
,手机号码 1111
……感觉略无追求~
那么有没有办法造一个看上是真的数据呢?自己造很累,有没有不需要大脑的方法的?
还真有,这就是本文要介绍的一个Python
模块——Faker。
最近用在开发一个 agent 程序,需要支持 Linux、 FreeBSD 及 Windows 等操作系统。 复杂的机器环境,导致一系列诡异问题,尽管代码发布前在不少测试机上验证过。
Python
程序吐 coredump
文件怎么办?
很多人会想到用 gdb
加载 coredump
文件,然后查看 信号 及 堆栈 信息,据此分析原因。
堆栈信息在调试中非常有用,可别忘了,待调试的是 Python
代码,而 gdb
提供的是 C
堆栈信息!
难道要撸 Python
源码,然后分析各种核心数据结构吗?
有什么方式可以查看到 Python
堆栈信息吗?
还遇到过另一个问题,一个 Python
进程突然间陷入死循环,所有其他线程都调度不到。
遇到这种情况,首先可能需要知道死循环到底在干什么。
如何获悉呢?可能用 strace 跟一下系统调用可以看出一点端倪。
但是一个堆栈信息更为具体更有说服力,就算是只有 C
堆栈信息有时也是足以说明问题的。
gdb 就可以解决以上难题(其实远不止),接下来,我们一起看看具体要怎么操作吧~