最近,我和我的同事,我们正在讨论如何构建一个巨大的存储系统,可以存储数十亿张可以快速搜索和下载的图片.
像fickr,但不是在线画廊.这意味着,大多数这些图片永远不会下载.
我的同事建议我们应该直接将所有这些文件保存在数据库中.我真的觉得这不是一个好主意,我认为数据库不是为了恢复大量的二进制文件而设计的.但我有充分理由说明为什么这不是一个好主意.
你怎么看待这件事.
最近,我在Windows上制作了一个CCTV节目的视频播放器程序.由于程序必须同时解码和播放许多视频流,我认为它可能会遇到malloc失败的情况,我在每个malloc之后添加检查.
但从口头上讲,在我在开源项目中阅读的这些开源程序代码中,我很少发现对malloc结果的任何检查.所以当malloc失败时,大多数程序都会崩溃.那不是不接受吗?
我在linux上编写服务器程序的同事会为100个客户端连接分配足够的内存.因此,虽然他的程序可能会拒绝101客户端,但它永远不会遇到malloc的失败.他的方法是否也适用于桌面应用程序?
我有一些以前的代码.但是今天我再试一次.我一直得到"[对象错误]".
我认为这是IE安全配置的问题.但我可以找到如何配置IE使其工作.
function Run() {
try {
var objShell = new ActiveXObject("wscript.shell");
objShell.Run("calc");
} catch(e) {
alert(e);
}
}
Run Code Online (Sandbox Code Playgroud) 本学期我是OS课程的助教.所以我被要求为具有有限C编程技能的CS本科生设计多线程编程
这不应该是一个大的任务,因为它只需要最终成绩的5%.这应该是新的东西,所以学生不能只从互联网上下载一些代码.
这就是我在想的,一个简单的Message Queue服务器.
我们将为学生提供一个非常虚拟的MQ服务器,它只有一个线程,只接受2个客户端连接,一个读者和一个写入器.编写器周期性地向队列(即服务器)发送消息,并且读取器从队列中读取消息,即服务器将消息发送给读取器.我们还将提供读者和作者.
然后我们要求学生修改服务器以同时接受多个读者和作者.我们还会要求线程安全.换句话说,只应向一个阅读器发送一条消息,并且队列中不会丢失消息,这需要使用互斥锁.
我觉得这可能太简单了,但此刻我想不出别的什么.如果你在我的位置,你会给予什么职责?
可能重复:
多处理启动太多的Python VM实例
我正在尝试使用这个简单的代码片段的python 2.6多处理模块.
from multiprocessing import Pool
p = Pool(5)
def f(x):
return x*x
print p.map(f, [1,2,3])
Run Code Online (Sandbox Code Playgroud)
但是此代码导致我的操作系统停止响应.看起来CPU太忙了.我的代码出了什么问题?
BTW:似乎多处理模块有点危险.我不得不重新启动计算机.
我正在阅读"算法介绍,第2版".它有一个练习,问题2.4
设A [1 n]是n个不同数字的数组.如果i <j且A [i]> A [j],那么对(i,j)被称为A的反转.
d.给出一种算法,该算法确定Θ(n lg n)最坏情况时间内n个元素上任何排列的反转次数.(提示:修改合并排序.)
然后我在"教师手册"中找到了这个解决方案
COUNT-INVERSIONS ( A, p, r)
inversions ? 0
if p < r
then q ? ( p + r)/2
inversions ? inversions +C OUNT-I NVERSIONS ( A, p, q)
inversions ? inversions +C OUNT-I NVERSIONS ( A, q + 1, r)
inversions ? inversions +M ERGE -I NVERSIONS ( A, p, q, r)
return inversions
MERGE -INVERSIONS ( A, p, q, r)
n1 ? q ? p + …
Run Code Online (Sandbox Code Playgroud) 我问" 如何从网页运行可执行文件? "
许多人告诉我这是不可能的,但我的同事发现了一段可以执行任何过程的JavaScript代码.我不敢相信ActiveX是如此危险.
怎么会发生这种情况?为什么IE不禁止这样做?
<SCRIPT language=JavaScript>
function Run(strPath) {
try {
var objShell = new ActiveXObject("wscript.shell");
objShell.Run(strPath);
objShell = null;
}
catch (e){alert('Can not find "'+strPath)
}
}
</SCRIPT>
<BUTTON class=button onclick="Run('notepad')">notepad</BUTTON><br>
<BUTTON class=button onclick="Run('mspaint')">mspaint</BUTTON><br>
<BUTTON class=button onclick="Run('calc')">calc</BUTTON><br>
<BUTTON class=button onclick="Run('format c:')">format c:</BUTTON><br>
Run Code Online (Sandbox Code Playgroud) GObject类A实现接口IA,B是A的派生类.B如何覆盖作为接口IA一部分的A方法?
或者,这在GObject中是否可行?
我知道如何覆盖父类方法,但是当继承符合接口时,事情似乎更复杂.
非常感谢!
我正在Linux上编写一个视频播放器,我想把它分成两个过程:
A.解码器进程B.GUI
通过这种方式,我可以使用不同的编程语言,当问题发生时,更容易知道问题出在哪里.
问题是,可以直接处理A渲染解码图像到B的表面吗?我不想使用某些IPC来发送B这些解码数据,因为这可能效率很低.
如果我有这样的齐次线性方程
array([[-0.75, 0.25, 0.25, 0.25],
[ 1. , -1. , 0. , 0. ],
[ 1. , 0. , -1. , 0. ],
[ 1. , 0. , 0. , -1. ]])
Run Code Online (Sandbox Code Playgroud)
我希望得到一个非零解决方案.如何用NumPy完成?
编辑
linalg.solve仅适用于A*x = b,其中b不包含0.