假设在python中你有一个接受三个命名参数的例程(如**args),但是必须填写这三个中的任何两个.如果只填写了一个,那就是错误.如果这三个都是,那就是错误.你会提出什么样的错误?RuntimeError,一个专门创建的异常,还是其他?
我在这里工作,我正在参加一系列关于数据库查询优化器的讲座.在演讲者介绍数据库时,他对内核基本上管理进程表,指向打开文件,inode等的内核做了非常有见地的评论,因此它基本上是一个符合POSIX的数据库引擎.显然,很久以前读过巴赫,当我年轻,缺乏经验时,我从来没有从这个角度来分析这个问题,但这基本上是正确的.
你可以想象,google并不容易......所以我问:我想知道是否有一些疯狂的人在MySQL之上设计了一个(希望,只是为了好玩,真正有趣)用户空间POSIX兼容内核...
编辑:请注意.我不是在谈论具有数据库文件系统的内核.我在谈论一个由MySQL处理整个ring-0状态的内核.
编辑2:澄清,因为我似乎被误解了.我没有在生产中使用它.我只是想知道是否有人这样做是因为他想玩得开心.在真正的乐趣是事实的参考是,Linux做"只是为了好玩"为我写的,但它结束了作为一个严重的产品,因此我加入真正的暗示总缺乏严肃性.那里有一堆无用的项目,只是因为它们不同寻常或疯狂到足以让它变得有趣.我的问题是寻找在这种观点下发展起来的东西.
Fortran 90最棘手的问题之一是缺少命名空间.在Pete的前一个问题" 你如何使用Fortran 90模块数据 "中,已经讨论了USE在Python中表现得像"from module import*"的主要问题:在模块中声明为public的所有内容都被导入为 -在导入模块的范围内.没有前缀.这非常非常难以理解,同时阅读一些代码,其中给定的标识符来自,以及是否仍然使用给定的模块.
我在上面链接的问题中讨论的一个可能的解决方案是使用ONLY关键字来限制导入的标识符并记录它们来自哪里,尽管当模块非常大时这非常非常繁琐.保持模块小,并始终使用USE:ONLY是一个很好的策略,可以解决Fortran 9X中缺少命名空间和限定前缀的问题.
还有其他(不一定更好)的解决方案策略吗?Fortran 2k3标准是否有关于命名空间支持的说法?
很多时候,我让CUDA库完全失败并返回错误46("所有支持CUDA的设备都忙或不可用"),即使是像cudaMalloc这样的简单调用也是如此.如果我重新启动计算机,代码会成功运行,但这远非理想.这个问题显然很 常见.
我的设置如下:
我尝试了很多来自Nvidia论坛的解决方案,但它没有用.我不想每次都重启.我也尝试卸载并重新加载驱动程序,我假设是正确的程序(可能不是)
kextunload -b com.nvidia.CUDA
kextload -b com.nvidia.CUDA
Run Code Online (Sandbox Code Playgroud)
但它仍然无效.我怎样才能将GPU(或CUDA)恢复到理智状态?
这是设备查询结果
CUDA Device Query (Runtime API) version (CUDART static linking)
Found 1 CUDA Capable device(s)
Device 0: "GeForce 9400M"
CUDA Driver Version / Runtime Version 4.0 / 4.0
CUDA Capability Major/Minor version number: 1.1
Total amount of global memory: 254 MBytes (265945088 bytes)
( 2) Multiprocessors x ( 8) CUDA Cores/MP: 16 CUDA Cores
GPU Clock Speed: 1.10 GHz
Memory Clock rate: …Run Code Online (Sandbox Code Playgroud) 假设你有类似的东西
class C2: pass
class C1(object): pass
class B2: pass
class B1(C1, C2): pass
class A(B1,B2): pass
Run Code Online (Sandbox Code Playgroud)
当您具有混合层次结构时,python如何相对于继承和方法解析顺序?它是否遵循旧的遍历,新的遍历,两者的混合取决于层次结构的哪个分支行走?
我现在正在学习Smalltalk.它看起来与python非常相似(实际上,相反,python与Smalltalk非常相似),所以我想知道,作为一个python爱好者,如果我真的值得我研究它.
除了消息传递,Smalltalk和python之间还有哪些值得注意的概念差异,这可以让我看到新的编程视野?
我刚刚简要介绍了PowerShell(我知道它是Monad shell).我无知的眼睛看起来或多或少像普通的狂欢和蟒蛇之间的混合.我会认为这两个环境之间的这种集成在linux和osx上非常酷,所以我想知道它是否已经存在(ipython不是真的一样),如果不是,为什么呢?
我无法理解OSX 10.6雪豹提供的gcc编译器,主要是因为我缺乏64位环境的经验.
$ cat >foo.c
main() {}
$ gcc foo.c -o foo
$ file foo
foo: Mach-O 64-bit executable x86_64
$ lipo -detailed_info foo
input file foo is not a fat file
Non-fat file: foo is architecture: x86_64
Run Code Online (Sandbox Code Playgroud)
但是,我的架构被视为intel i386类型(我有一台最新的Intel Core2 duo MacBook)
$ arch
i386
Run Code Online (Sandbox Code Playgroud)
编译器的目标是i686-apple-darwin10
$ gcc --version
i686-apple-darwin10-gcc-4.2.1 (GCC) 4.2.1 (Apple Inc. build 5646)
Run Code Online (Sandbox Code Playgroud)
当然,如果我编译32位,我得到一个32位可执行文件.
$ gcc -m32 foo.c -o foo
$ file foo
foo: Mach-O executable i386
Run Code Online (Sandbox Code Playgroud)
但我没有全面了解.编译器的默认设置是生成x86_64可执行文件,即使我有拱形说我有32位机器(为什么?Core2是64); 即使(我猜)我正在运行32位内核; 即使我有一个针对i686-apple-darwin平台的编译器.为什么?他们怎么跑?我应该编译64或32吗?
这个问题是由于我尝试在mac上编译gcc 4.2.3,但我遇到了一堆gmp,mpfr和libiberty的问题(在某些情况下)为x86_64编译.我应该编译所有x86_64吗?如果是这样,目标是什么(我猜不是i686-apple-darwin10)?
谢谢您的帮助
我不打算在我的博客上放一个链接,但我没有任何其他方法来澄清我的真正含义.这篇文章很长,它的三个部分(1,2,3),但是如果你很好奇,这是值得阅读.
很久以前(至少5年)我编写了一个生成"数学细菌"的python程序.这些细菌是python对象,具有简单的基于操作码的遗传密码.您可以使用数字为它们提供数据,并根据其代码的执行返回一个数字.我随机生成他们的遗传密码,并将环境选择应用于那些产生类似于预定义预期值的结果的对象.然后我让他们复制,引入突变,并进化它们.结果非常有趣,因为他们的遗传密码基本上学习如何解决简单方程,即使对于训练数据集的不同值也是如此.
现在,这件事只是一个玩具.我有时间浪费,我想满足自己的好奇心.但是,我认为在研究方面已经做了一些事情......我希望我在这里重新发明轮子.你是否意识到更多认真尝试制造像我编程的细菌一样的细菌?
请注意,这不是真正的"遗传算法".遗传算法是指您使用进化/选择来改进针对给定评分函数的参数向量.这有点不同.我针对给定的评分函数优化代码而不是参数.
我从线程X中的对象一个接一个地发出两个信号A和B,并且两个连接的槽位于主线程中.连接是QueuedConnection(由于多线程连接).我的问题是:在调用插槽时信号的顺序是否受到尊重,或者它们是否有可能以任意顺序执行?
python ×5
32bit-64bit ×1
bash ×1
c++ ×1
cuda ×1
exception ×1
fortran ×1
gcc ×1
kernel ×1
macos ×1
mysql ×1
namespaces ×1
powershell ×1
qt ×1
smalltalk ×1