问题列表 - 第7972页

在Rails中,如何像在ASP中一样访问Request.ServerVariables?

我想访问给定的Requests ServerVariables,但我似乎无法在Google上找到有关如何访问请求对象的Server Vars的任何内容.我该怎么做或者我注定永远不会知道?

我想要这样做的一个例子(但实际上并不是我想做的):
用户登录,你想要存储他们登录的地方的IP地址,或者我想记录用户 -来自浏览器的代理或引用者,他们正在查看该站点.

ruby ruby-on-rails http-request

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

使用try,catch块的目的是什么?

它是否取代if,然后阻止?我看过很多代码,就像那样使用它们.

.net c# try-catch

-1
推荐指数
1
解决办法
5554
查看次数

在OpenGL中绘制"点状"形状,对缩放无动于衷

我正在使用Qt和QWt3D绘图工具,并扩展它们以提供我需要的一些3D和2D绘图功能,所以我在这个过程中学习一些OpenGL.

我目前能够使用OpenGL绘制点,但仅作为圆形(或通过关闭抗锯齿来"正方形").这些点按照我喜欢的方式运行 - 即它们在我放大时不会改变大小,尽管它们的x/y/z位置在我缩放,平移等时适当移动.

我希望能够做的是使用无数形状(^,<,>,*,.等)绘制点.根据我对OpenGL的了解(这不是很多),因为OpenGL将所有内容视为"真正的"三维对象,因此放大任何openGL形状,但"点"会改变对象的投影尺寸.

在做了一些阅读之后,我认为这个问题有(至少)2个可能的解决方案:

  1. 使用OpenGL纹理.这似乎并不困难,但我相信随着我的放大,纹理图像会变得越来越大 - 这是正确的吗?

  2. 使用OpenGL多边形,线条等绘制*,三角形或其他.但是我又遇到了同样的问题 - 当我缩放时,如何防止OpenGL重新调整"点"的大小?

解决方案只是咬住子弹并在每次用户缩放或平移时重新绘制整个数据集以确保点保持相同的大小?有没有办法告诉openGL不重新计算对象的大小?

对不起,如果这是在某个地方的OpenGL文档 - 我找不到它.

opengl graphics graph

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

如何使用python检查磁盘是否在驱动器中?

假设我想操作软盘驱动器或USB读卡器上的某些文件.如何查看相关驱动器是否准备就绪?(也就是说,有一个物理插入的磁盘.)

驱动器号存在,因此在这种情况下os.exists()将始终返回True.此外,在此过程中我还不知道任何文件名,因此检查给定文件是否存在也不起作用.

一些澄清:这里的问题是异常处理.当您尝试访问未准备好的驱动器时,大多数有问题的win32 API调用只会引发异常.通常情况下,这样可以正常工作 - 查找类似于自由空间的内容,然后捕获引发的异常,并假设这意味着没有磁盘存在.然而,即使我发现任何和所有异常,我仍然从Windows得到一个愤怒的异常对话框告诉我软盘/读卡器没有准备好.所以,我想真正的问题是 - 如何抑制Windows错误框?

python windows

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

用于jquery和click事件的DataTables插件

我试图成功地让这个jquery插件正确地工作.我需要的是一个click事件,它将让我点击一行并有一个js窗口,它将使用row_id加载另一个页面,row_id是数据库中的主键.我真的迷失了javascript,但我喜欢这个插件,如果可能的话,我真的很想有这个工作.我已经在这几天了.我知道我很接近,但尚未达到目标.如果有人能帮助我,我会非常感激.我正在使用json导入数据.


这是我目前的代码.它现在将编译,但.click事件不会触发.:/

$(document).ready(function() {
  oTable = $('#search').dataTable(
  {
    "sPaginationType": "full_numbers",
    "bProcessing": true,
    "iDisplayLength": 15,
    "sAjaxSource": 'json.php',
    "fnInitCallback": function ()
    {
      $(oTable.fnGetNodes() ).click(function ()
      {
        //alert();
      });
    }
  });
});
Run Code Online (Sandbox Code Playgroud)

javascript datatable jquery

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

如何在except子句中比较异常

在以下代码段中:

try:
    raise Bob()
except Fred:
    print "blah"
Run Code Online (Sandbox Code Playgroud)

Bob和Fred的比较是如何实现的?

从玩起来它似乎是在下面调用isinstance,这是正确的吗?

我问,因为我试图颠覆这个过程,特别是我希望能够构造一个Bob,使得它被execpt Fred捕获,即使它实际上不是Fred或其任何子类的实例.

有几个人问我为什么要这样做......

我们有一个RMI系统,它围绕着使它尽可能无缝的理念,这里是一个使用它的快速示例,请注意RMI系统中没有特定于套接字的代码,套接字只是提供了一个方便的例子.

import remobj
socket = remobj.RemObj("remote_server_name").getImport("socket")
s = socket.socket(socket.AF_INET, socket.SOCK_DGRAM)
s.bind(("", 0))
print "listening on port:", s.getsockname()[1]
s.settimeout(10)
try:
    print "received:", s.recv(2048)
except socket.timeout:
    print "timeout"
Run Code Online (Sandbox Code Playgroud)

现在在这个特定的例子中,except不能按预期工作,因为raise对象不是socket.timeout的实例,它是我们的一个代理助手类的实例.

python exception

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

网站评论系统的数据库结构

我正在开发一个目前需要评论系统的网站.由于这个网站是全新的,并且数据库结构还没有一成不变,我想就如何最好地处理评论系统提出一些建议,例如:

  • 评论必须能够放在任何东西上.在未来的表格中包含项目.
  • 评论必须快速(并且容易?)可查询.

我知道仅此一点并不多,所以这里有一个想法:每个大学都有大学,每个学院都有建筑物,每个大楼都有房间.每个用户都应该能够评论这四个项目中的任何一个(以及我们稍后可能添加的未来),但我想避免为每个项目制作一个评论表.

我提出的这个解决方案似乎有效,但我也对其他想法持开放态度.我的解决方案是使用UUID作为每个项目(大学,学院,建筑,房间)表的主键,然后在注释表中将引用ID设为UUID.虽然我不认为我可以建立一个外键系统来链接所有内容,但我相信没有什么会破坏,因为只有可用的项目可能有注释,因此一个项目可以没有注释,或者如果它被删除,那么评论根本不会被退回.

University:
    UniversityID - CHAR(36)  //UUID()       & primary key
    ...

Comments:
    CommentID - CHAR(36)     //UUID()       & primary key
    CommentItemID - CHAR(36) //UUID of item & indexed
    CommentUserID - INTEGER
    CommentBody - TEXT
Run Code Online (Sandbox Code Playgroud)

然后查询将显示为:

SELECT * FROM University, Comments WHERE UniversityID = CommentItemID;
Run Code Online (Sandbox Code Playgroud)

所以你们都在想什么?这个系统规模是否会包含大量数据,或者是否有更好的(可能是最佳实践或模式)方式?

我提前谢谢你.

编辑1: 我已将注释定义更改为包含主键和索引列,以解决迄今为止引发的问题.通过这种方式,系统也可以对注释进行评论(不确定这在实际代码中会有多么混乱,但它对我来说有一定的数学完整性).我希望系统尽可能保持相似,直到我接受了答案.

到目前为止,Sebastian Good和Bryan M.的两个答案都提出了两个整数的双主键,如ItemID和TableID.我对这种方法的唯一犹豫是,我要么必须有一个新表列出TableID及其相应的字符串表名,要么将全局变量引入我引用它们的代码中.除非我缺少另一种方法,否则这似乎是额外的代码,可以避免给我.

你们都觉得怎么样?

mysql database-design comments

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

C指针算术片段

我有一个程序,我正在尝试解码.它被另一种语言翻译成C(这里没有说出其名称),并且我想了解它是如何工作的,我正在慢慢地重写代码并简化它以使用C提供的所有好的逻辑结构.

以下一点点不断出现在我的代码中,其中包含不同的值XY:

ptr[X]--;
while(ptr[X])
  {
    ptr[X]--;
    ptr += Y;
  }
Run Code Online (Sandbox Code Playgroud)

ptr是类型的char *,我无法在任何时候对数组的状态做出假设,因为它非常深入地嵌入循环并依赖于输入和输出.我可以成功地"简化"到:

for(ptr[X]--; ptr[X]; ptr[X]--, ptr += Y);
Run Code Online (Sandbox Code Playgroud)

但那太糟糕了.曾经如此稍微好一点:

for(ptr[X]--; ptr[X]; ptr += Y) ptr[X]--;
Run Code Online (Sandbox Code Playgroud)

我想知道是否有人能够更好地简化上述代码,我将不胜感激.这种情况发生在不少于五个地方,并且削弱了我简化和理解流量控制的能力,所以如果任何人都可以提供更简洁/可读的版本,那将是非常棒的.如果任何人都可以提供对该代码的任何奇特的洞察力,那将是非常棒的,虽然我基本上了解它的作用.

洞察特定的代码X和/或Y也可以提供帮助.Y往往介于-2和2之间,X通常为1,因为它的价值.

c pointers while-loop nested-loops

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

更快地在MySQL服务器或PHP中随机化许多结果

在MySQL服务器上或在我用PHP接收数据之后随机化大量结果的排序顺序是否更快?

有没有人有任何数据备份任何一方,甚至轶事经验?

php mysql

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

如何以编程方式创建页面翻转效果?

我很确定我可以使用一系列PNG来创建页面翻转效果来模拟动画,但有没有办法以编程方式进行?尝试谷歌搜索它并查看Apple示例代码,但没有看到任何解决该特定动画的内容.

iphone cocoa-touch objective-c

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