小编Kev*_*tle的帖子

Python:SWIG与ctypes

在python中,在什么情况下SWIG比ctypes更适合在共享库中调用入口点?假设您还没有SWIG接口文件.

两者的性能指标是什么?

c++ python swig ctypes ffi

55
推荐指数
8
解决办法
2万
查看次数

Python:如何从'frame'对象中检索类信息?

是否可以从框架对象中检索任何类信息?我知道如何获取文件(frame.f_code.co_filename),函数(frame.f_code.co_name)和行号(frame.f_lineno),但希望能够获取活动对象的类的名称框架的实例(如果不在实例中,则为None).

python introspection

17
推荐指数
3
解决办法
1万
查看次数

在一个实例中选择属性的最简单,最简洁的方法是readonly?

在Python中,我想让类的选定实例属性只读取到类之外的代码.我希望外部代码无法改变属性,除非间接地通过调用实例上的方法.我希望语法简洁.什么是最好的方法?(我现在给出我目前最好的答案......)

python attributes readonly

8
推荐指数
1
解决办法
370
查看次数

使bash脚本自我跟踪的更好方法是什么?

我有一些关键的bash脚本,由我无法控制的代码调用,我无法看到他们的控制台输出.我想要完整地了解这些脚本的作用,以便以后分析.为此,我想让每个脚本都自我跟踪.这是我目前正在做的事情:

#!/bin/bash
# if last arg is not '_worker_', relaunch with stdout and stderr
# redirected to my log file...
if [[ "$BASH_ARGV" != "_worker_" ]]; then
    $0 "$@" _worker_ >>/some_log_file 2>&1  # add tee if console output wanted
    exit $?
fi
# rest of script follows...
Run Code Online (Sandbox Code Playgroud)

有更好,更清洁的方法吗?

bash logging trace

8
推荐指数
1
解决办法
1751
查看次数

您是否将下一代火星探测器的控制API设计为RESTful而不是RPC?

请原谅我,如果这是一个"讨论"问题,但我真的很感激是/否答案,并给予适当的解释.

假设你必须为机器人设计和实现一个控制API,比如下一代Mars Rover.您是根据RESTful原则构建此API,还是使用经典RPC,例如XMLRPC?

我问这个是因为我必须做类似的事情,尽管"机器人"是虚拟机的集合.一位颇有说服力的工程师,一位着名的REST倡导者,正在敦促我使API RESTful.我从来没有使用REST原则,我很难看到它们如何适合设计低级别的进程间API.REST似乎注入了与可修改的数据存储库交互的主题,通常很多跳.我正在尝试做的事情更像是密切控制机器人.我可以看到人们如何争辩机器人,在摘要中,只是一个数据存储库 - "PUT左转","PUT行程100米","GET外温".但这似乎是一个相当人为的模型.我当然不会从缓存或代理中获益("你好,JPL?这是堪培拉的Akamai合作社.我们现在正在接管罗孚,好吗?")

那么,RESTful架构在这里有用吗?即使互动如此狭隘,它仍然优于RPC吗?

api rest rpc robotics ipc

6
推荐指数
1
解决办法
651
查看次数

使用ssh时,在bash中缺少'read'提示符?

请告诉我,我遗漏了一些非常明显的东西:

$ cat ~/bashplay/f
#!/bin/bash
read -p 'RDY> ' x
echo $x

$ ~/bashplay/f
RDY> direct execution
direct execution

$ ssh somehost ~/bashplay/f
indirect via ssh
indirect via ssh
Run Code Online (Sandbox Code Playgroud)

使用ssh时请注意缺少"RDY>"提示.使用"readline"包时,我在python中看到了同样的东西.谁知道为什么?

python ssh bash readline

4
推荐指数
1
解决办法
1022
查看次数

在Linux中使用"top"作为半永久性仪器

我正在努力寻找在运行嵌入式Linux的盒子的开发中使用'top'作为半永久性仪器的最佳方法.(仪器将从最终测试和生产版本中删除.)

我的第一步是简单地将它添加到init.d:

top -b -d 15 >/tmp/toploop.out &
Run Code Online (Sandbox Code Playgroud)

这每15秒以"批处理"模式运行.我们假设/ tmp有足够的空间......

问题:

  1. 15秒是否适合进行通用监控?
  2. 除了磁盘空间之外,这对系统状态有多严重影响?
  3. 还有什么其他(也许是更好的)工具可以这样使用?

linux instrumentation monitor

2
推荐指数
1
解决办法
519
查看次数