inspect相关知识
-
Python装饰器实现函数动态类型检查函数动态类型检查的装饰器代码 import inspect import functools def typeHints(fn): @functools.wraps(fn) def wrap(*args, **kwargs): sig = inspect.signature(fn) params = sig.parameters # 处理kwargs:字典 for k, v in kwargs: param = params[k] if param.annotation != inspect._empty and not isinstance(v, param.annotation): raise TypeError('parameter {} requires {}, but got {}'.format(k, param.annotation, type(v))) # 处
-
如何查看Docker容器环境变量,如何向容器传递环境变量1 前言 欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章! 了解Docker容器的运行环境非常重要,我们把应用放在容器里执行,环境变量会直接影响程序的执行效果。所以我们要知道容器内部的环境变量,也要知道如何改变这些环境变量。 2 查看环境变量 2.1 方式一:docker inspect 通过docker inspect命令不仅能查看环境变量,还能查看容器其它相关信息,非常丰富,以Json格式输出。 $ docker inspect centos 截取片段来看看: 可读性还可以,但也不算很高,可以通过grep命令过滤
-
docker的基本命令原文地址:https://www.aclihui.com忽然发现这么多日子,又在重新学习docker的基本指令,真是很让人头皮发麻啊。QAQ前言开始啦查看镜像文件docker imagessudo docker images表格名称中文译名中文译名备注REPOSITORY仓库来自于哪个仓库无TAG标签标签信息无IMAGEID镜像ID唯一标示镜像CREATED镜像创建的时间镜像ID标记的是原镜像创建的时间,和自身什么时候下载没关系SIZE大小镜像ID镜像的大小查询镜像信息 sudo docker inspect ubuntu:18.04sudo docker inspect ubuntu:18.04特定类型sudo docker inspect -f {{".Architecture"}} ubuntu:18.04寻找镜像docker searchsudo docker
-
使用 Chrome Devtools 调试您的 Node.js 程序俗话说:“工欲善其事,必先利其器”,调试是每一个开发人员都要遇到的问题,选择一个合适的调试工具也尤为重要。 在 Node.js 开发过程中除了万能的 console.log 之外,本节介绍一个 Node.js 与 Chrome Devtools 结合的调试工具,以后你可以选择使用浏览器来调试 Node.js 应用程序了。启动调试器创建测试代码const fs = require('fs'); const path = require('path'); const filePath = path.resolve(__dirname, 'hello.txt') console.log('filePath: ', filePath); fs.readFile(filePath, (err, res) => { console.log(err, res.toString()); }); 复制代码运行带有 --inspect-brk 标志的 node启动时在 node 后面加上 --inspect-brk
inspect相关课程
inspect相关教程
- 1.7 查看容器的配置信息 Docker 提供了 docker inspect 命令,用来提供详细的容器信息(配置信息等) :docker inspect busybox
- 1. 使用监视面板(Watches pane) 如果要计算多个变量或表达式,并同时查看所有变量或表达式,可以为它们创建监视。表达式的值会随着应用程序的每个步骤进行更新,但仅在应用程序挂起时才可见。我们先创建一个新的 Python 文件 sort.py,然后添加下面冒泡排序的代码,然后通过监视面板查看变量与列表的变化。def bubble_sort(arr): n = len(arr) # 遍历所有数组元素 for i in range(n): # Last i elements are already in place for j in range(0, n - i - 1): if arr[j] > arr[j + 1]: arr[j], arr[j + 1] = arr[j + 1], arr[j]arr = [64, 34, 25, 12, 22, 11, 90]bubble_sort(arr)默认情况下,“Watches pane"处于隐藏状态,显示在"Variable” 中。debug 上面程序, 显示 Debug 工具窗口后, 点击"show watches"切换按钮, 面板就会显示在右侧。PyCharm 提供了多种添加监视的方法在 Watches Pane 中,单击 + 按钮;在 Variables 中选择一个或多个项目,并将其拖动到 Watches Pane;右键单击编辑器中的项目,然后选择"Add to Watches";在 Variables 中, 右键单击所需项目并选择"Add to Watches"。Tips: 通过工具栏中的 - 按钮, 可以随时移除所填加的监视。另外, PyCharm 提供了单独的窗口检查(inspect)变量与监视,例如,需要检查多个引用,可以为中每个引用打开一个检查窗口。 在 Debug 工具窗口的 Variable 或 Watches 窗口选择要 Inspect 的项目, 右键从上下文菜单中,选择 inspect。
- 1. bridge 模式 Docker 服务启动时,会自动在宿主机上创建一个 docker0 虚拟网桥 (Linux Bridge, 可以理解为一个软件虚拟出来的交换机)。它会在挂载到它的网口之间进行转发。同时 Docker 随机分配一个可用的私有 IP 地址给 docker0 接口。如果容器使用默认网络参数启动,那么它的网口也会自动分配一个与 docker0 同网段的 IP 地址。我们使用命令 ip address show dev docker0 获取 docker0 网络信息,它的地址是 172.17.0.1, 子网掩码为 255.255.0.0,如下图所示:我们来做个测试,看看默认新建的容器是否能互相连通。使用 busybox 镜像分别运行 b0,b1 两个容器:docker run -d -t --name b0 busyboxdocker run -d -t --name b1 busybox容器新建并运行成功后,查看两个容器的 IP 地址:docker inspect --format '{{ .NetworkSettings.IPAddress }}' b0 # 172.17.0.2docker inspect --format '{{ .NetworkSettings.IPAddress }}' b1 # 172.17.0.3Tips:获取的 IP 是随机的,跟 Docker 版本与运行环境有关,以自己获取的 IP 为准,下同两个容器互相 ping 一下,证明它们的网络能连通:docker exec -it b0 ping 172.17.0.3docker exec -it b1 ping 172.17.0.2此时网络拓扑结构如下所示:docker0 拓扑容器 b1 之后用不到,我们可以先删除它来释放资源。
- 3.2 从 Android Studio 运行 lint 在 Android Studio 中手动运行 lint 检查,请按如下步骤:在 Android 视图中,打开我们的项目,然后选择要分析的项目、文件夹或文件;从菜单栏中,依次选择 Analyze > Inspect Code;在 Specify Inspection Scope 对话框中,查看设置:在 Inspection profile 下,保留默认配置文件 (Project Default);点击 OK 以运行检查。通过运行 Inspect Code 所生成的 lint 及其他 IDE 检查结果如下图:在左侧窗格树状视图中,通过展开并选择错误类别、类型和问题来查看检查结果;在右侧窗格显示选定错误类别、类型或问题的检查报告,并提供错误的名称和位置。在适用情况下,检查报告会显示问题概要等其他信息,以帮助我们更正问题;在左侧窗格树状视图中,右键点击某个类别、类型或问题,以显示上下文菜单。根据上下文,我们可以执行以下全部或部分操作:跳到源代码、排除和包含选定项、抑制问题、修改设置、管理检查警报和重新运行检查。
- 1.2 分析网站 第一步,打开慕课网网址,然后点击免费课程,效果如下:接下来,我们右键单击鼠标,效果如下:点击 Inspect 后,在浏览器的下端,会弹出浏览器 debug 控制面板:单击左上角的小三角,然后选定一个课程,效果如下:如下图阴影部分所示,是图片的在 html 中的位置,我们需要整个课程的信息,因此提取 course-card-content 作为基本模块:在程序里,我们需要使用 BeautifulSoup 定位到到这里。
- 1. none 模式 容器有自己的网络命名空间,但不做任何配置,它与宿主机、与其他容器都不连通的。我们新建一个 none 模式的 busybox 镜像 b0:docker run -d -t --network none --name b0 busybox使用 docker exec b0 ip a 查看它的网络状态, 验证它仅有 lo 接口,不能与容器外通信:两个容器之间可以直连通信,但不通过主机网桥进行桥接。解决的办法是创建一对 peer 接口,分别放到两个容器中,配置成点到点链路类型即可。⚠️ 以下操作需要在 Linux 下进行:首先启动 2 个容器:docker run -it -d --net=none --name=none1 busyboxdocker run -it -d --net=none --name=none2 busybox 找到这两个容器的进程号:docker inspect -f '{{.State.Pid}}' none1 #6545docker inspect -f '{{.State.Pid}}' none2 #6606然后创建网络命名空间的跟踪文件:sudo mkdir -p /var/run/netnssudo ln -s /proc/6545/ns/net /var/run/netns/6545sudo ln -s /proc/6606/ns/net /var/run/netns/6606创建一对 peer 接口,然后配置路由: sudo ip link add A type veth peer name B sudo ip link set A netns 6545 sudo ip netns exec 6545 ip addr add 10.1.1.1/32 dev A sudo ip netns exec 6545 ip link set A up sudo ip netns exec 6545 ip route add 10.1.1.2/32 dev A sudo ip link set B netns 6606 sudo ip netns exec 6606 ip addr add 10.1.1.2/32 dev B sudo ip netns exec 6606 ip link set B up sudo ip netns exec 6606 ip route add 10.1.1.1/32 dev B现在这 2 个容器就可以相互 ping 通,并成功建立连接。点到点链路不需要子网和子网掩码:测试完毕删除无用的容器:docker rm -f none1 none2
inspect相关搜索
-
inline
inner join
innerhtml
innerjoin
input
input readonly
input 属性
inputstream
inputtype
input属性
insert
insert into
insert into select
insertbefore
insertinto
insert语句
inspect
instance
instant
instr