🐍PyTricks | Python 中如何实现列表的行列互转?
笨方法def make_row_to_column(a): b = [] for item in range(len(a[0])): r = [] for j in range(len(a)): r.append(a[j][item]) b.append(r) return b
🐍PyTricksdef row_2_column(row_list): return map(list,zip(*row_list))if __name__ == '__main__': nest_list = [[_ for _ in range(5)] for i in range(4)] print(row_2_column(nest_list)) # [[0, 0, 0, 0], [1, 1, 1, 1], [2, 2, 2, 2], [3, 3, 3, 3], [4, 4, 4, 4]]
注意在Python3中返回的是一个<map object at 0x000 ...
Git merge/rebase/squash 的区别
git merge如果 A 同学选择用 git merge 的方式进行合并 dev 到 master 分支,那么 git 会这么做:
找出 dev 分支和 master 分支的最近共同祖先 commit 点;
将 dev 最新一次 commit 和 master 最新一次 commit 合并后生成一个新的 commit,有冲突的话需要解决冲突;
将以上两个分支 dev 和 master 上的所有提交点按照提交时间的先后顺序进行依次放到 master 分支上;
git rebase 后再 git merge
rebase 之前需要经 master 分支拉到最新;git checkout mastergit pull
切换分支到需要 rebase 的分支,假定是 dev 分支;git checkout dev
变基,执行 git rebase -i master,有冲突就解决冲突,解决后直接 git add ,再 逐步git rebase --continue ;注意,这里的变基其实就是找到两个分支共同的祖先,然后在当前分支上合并从共同祖先到现在的所有 commit,所以我们在第二步 ...
Hexo 主题 Butterfly 自定义之路
本文主要针对 hexo-theme-butterfly 主题进行了个性化自定义,并对修改内容做了简单介绍。原作者文档👉 hexo-theme-butterfly 安装文档
加速访问偶然间知道一个加速网站的方法:使用 Vercel 加速访问,不看广告看疗效👇
想上车的看这里:
使用 zeit.co 托管 Hexo 静态博客 | Muniao’s blog
🔨工具:使用 vercel 加速 Hexo 静态博客访问 | RealCat
使用 Vercel 自动部署博客网站 | Editio’s Dream
已完成美化svg 背景使用 SVG 编辑器 修改
footer 背景- var footer_img = theme.footer_bg.footer_img - var footer_bg = theme.footer_bg.enable == false ? '' : `background-image: url(${footer_img})` ...
🐍PyTricks | Python 中如何把一个列表切分成指定大小的子列表
更新使用迭代器def chunks(lst, n): """Yield successive n-sized chunks from lst.""" for i in range(0, len(lst), n): yield lst[i:i + n]
示例# Use xrange() instead of range() in python2ret = chunks(list(range(68)),21)print(list(ret))# 返回[[0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20], [21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41], [42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, ...
基于 CEPH 的 dashboard 的二次开发
本文为个人记录之用,不对大多数用户具有参考价值。
前言项目以ceph-14.2.5版本代码中的 ceph/src/pybind/mgr/dashboard· ceph/ceph 为基础通过二次开发以实现 Ceph 分布式管理系统。
开发环境搭建前端
安装 npm 工具# 安装npmyum install npm
安装 node 环境# 配置国内源npm config set registry https://registry.npm.taobao.org# 安装node版本管理工具'node'npm install -g n# 升级到`8.9`版本的`node`n 8.9.0
查看npm与nodejs的版本,如果nodejs低于8.9.0版本,则升级之。注意:以Linux为开发环境安装前端依赖进行演示:切换到/usr/share/ceph/mgr/dashboard/frontend 目录:此处可见官方Ceph Dashboard Developer Documentation — Ceph Documentation文档说明。
安装依赖# 此处可见官方../ ...
在 Python 中定义本地类是什么操作?
缘起今天在看 ceph(mgr-dashboard)源码的时候看到下面的代码,产生了一点疑惑,这里简单整理一下。代码详见src/pybind/mgr/dashboard/module.py:502import cherrypyclass StandbyModule(MgrStandbyModule, CherryPyConfig): def __init__(self, *args, **kwargs): super(StandbyModule, self).__init__(*args, **kwargs) pass def serve(self): # here pass class Root(object): @cherrypy.expose def index(self): pass cherrypy.tree.mount(Root(), "{}/".format(se ...
如何获取到指定日期之后安装的 Python 模块
今天在装包的时候,不小心将本该装到 Python 虚拟环境中的包安装到了机器真实环境中,所以需要对其筛选并清除,那么如何找到特定日期之后安装的 Python 包呢?在 这里 找到了解决方案,最后做了一个简单的封装,如下:
#!/usr/bin/env python# -*- coding: utf-8 -*-# Created by imoyao at 2019/12/7 13:33"""Usage:修改 specific_time(like:2019-12-07),以找到该日期之后安装的 pip 包"""import osimport timeimport datetimefrom pip._internal.utils.misc import get_installed_distributionsdef get_all_packages(): """ 获取到所有安装的 packages :return: """ install_pa ...
Ping 某个域名的详细过程
ICMP 协议ICMP(Internet Control Message Protocol | 网络控制消息协议)是 TCP/IP 协议族的一个子协议,工作在网络互联层(网络层)。ICMP 协议是一种面向无连接的协议,用于在 IP 主机、路由器之间传递出错报告控制信息。控制消息是指网络是否连通、主机是否可达、路由是否可用等网络本身的消息。这些控制消息虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。
常见报文类型
ICMP 消息类型
用途说明
回显请求
Ping 工具通过发送 ICMP 回显消息检查特定节点的 IPv4 连接以排查网络问题。类型值为 0
回显应答
节点发送回显答复消息响应 ICMP 回显消息。类型值为 8
重定向
路由器发送“重定向”消息,告诉发送主机到目标 IPv4 地址更好的路由。类型值为 5
源抑制
路由器发送“源结束”消息,告诉发送主机它们的 IPv4 数据报将被丢弃——因为路由器上发生了拥塞。于是,发送主机将以较低的频度发送数据报。类型值为 4
超时
这个消息有两种用途。第一,当超过 IP 生存期时向发送系统发出错误信息 ...
安装 Python3 提示找不到 _ctypes 模块
今天在虚拟机安装 Python3 的时候遇到下面的报错:File "/usr/local/lib/python3.7/multiprocessing/sharedctypes.py", line 10, in <module> import ctypes File "/usr/local/lib/python3.7/ctypes/__init__.py", line 7, in <module> from _ctypes import Union, Structure, ArrayImportError: No module named '_ctypes'
解决方案# RHEL/Fedora/CentOSsudo yum install libffi-devel---# Debian/Ubuntu:sudo apt-get install libffi-dev
参考链接ImportError: No module named ‘_ctypes’
记一次 MySQL 内存不足错误
缘起今天在访问博客的时候,登录首页发现无法正常加载博文。因为之前也出现过这种错误,怀疑还是因为数据库的问题,所以果断查看 MySQL 日志:vi /var/log/mariadb/mariadb.log gg 打到文件最后,分析日志:191104 17:48:04 mysqld_safe Number of processes running now: 0191104 17:48:05 mysqld_safe mysqld restarted191104 17:48:05 [Note] /usr/libexec/mysqld (mysqld 5.5.64-MariaDB) starting as process 11169 ...191104 17:48:05 InnoDB: The InnoDB memory heap is disabled191104 17:48:05 InnoDB: Mutexes and rw_locks use GCC atomic builtins191104 17:48:05 InnoDB: Compressed tabl ...