0%

一、数据结构和算法

1. 解压序列赋值给多个变量

1
2
3
>>> year, month, day = [2002, 6, 10]
>>> print(year, month, day)
2002 6 10

可以用占位符,丢弃其他的值

1
2
3
year, _ , _ = [2002,6,10]
print(year)
2002
阅读全文 »

问题描述

RHEL 9要求x86_64的CPU支持x86-64-v2,x86-64-v2需要处理器支持 CMPXCHG16B、LAHF-SAHF、POPCNT、SSE3、SSE4.1、SSE4.2、SSSE3 等现代指令集

检查CPU是否支持x86-64-v2的方法

1
2
3
4
5
6
7
8
9
#!/bin/sh
flags=$(cat /proc/cpuinfo | grep flags | head -n 1 | cut -d: -f2)
supports_v2='awk "/cx16/&&/lahf/&&/popcnt/&&/sse4_1/&&/sse4_2/&&/ssse3/ {found=1} END {exit !found}"'
echo "$flags" | eval $supports_v2
if [ $? -eq 0 ]; then
echo "CPU supports x86-64-v2"
else
echo "CPU doesn't support x86-64-v2"
fi
阅读全文 »

使用dmidecode,如下:

1
2
3
4
5
6
7
8
9
# AWS:
dmidecode -t system | grep Manufacturer
Manufacturer: Amazon EC2
# VMware:
dmidecode -t system | grep Manufacturer
Manufacturer: VMware, Inc
# Azure:
dmidecode -t system | grep Manufacturer
Manufacturer: Microsoft Corporation

定义: Lambda函数也叫匿名函数,它是功能简单,只用一行代码就能实现的小型函数。
使用场景: Lambda函数没有名字,不用考虑函数名冲突问题;减少了代码行数,方便又简洁。
格式: lambda 参数[,参数] : 表达式 (例: lambda x,y : x + y
举例: 用lambda函数求出1到20中所有的奇数并组成一个list:

1
2
3
L = list(filter(lambda x: x % 2 == 1, range(1, 20)))
>>> print(L)
[1, 3, 5, 7, 9, 11, 13, 15, 17, 19]
阅读全文 »

前言

不错的Python进阶书。写这个笔记的目的是,把书中提到的编写高质量Python的59个方法的要点记录下来,便于今后的工作中查阅

第1章:用Pythonic方式来思考

阅读全文 »

配置国内源

1
2
3
4
[global]
index-url = https://pypi.tuna.tsinghua.edu.cn/simple
[install]
trusted-host = https://pypi.tuna.tsinghua.edu.cn

安装包

1
2
3
pip install XXX              # 最新版本
pip install XXX==1.0.4 # 指定版本
pip install XXX>=1.0.4 # 最低版本
阅读全文 »

traceroute原理

Traceroute 是一种网络诊断工具,用于确定数据包从一个源到达目的地所经过的路径。它通过发送一系列的数据包,并观察每个数据包经过的路由器(或称为跃点)来实现这一目的。

阅读全文 »

Docker中使用GDB调试的方法

  1. 首先在docker中安装gdb, 以centos为例,可以用yum install gdb安装
  2. 启动docker容器命令时,需要添加--privileged, --cap-add=SYS_PTRACE, --security-opt seccomp=unconfined参数, 如下
    1
    docker run --privileged -d -it  --cap-add=SYS_PTRACE --security-opt seccomp=unconfined [your_container_id]  bash
    阅读全文 »