问题列表 - 第15765页

为什么Perl不支持normal []运算符来索引字符串?

为什么Perl不支持normal []运算符来索引字符串?

几乎所有主流编程语言都支持这个运算符,特别是另外两个'P':Python和PHP.而且,我认为应该很容易实现这个小语法.另外,作为Perl编程语言的哲学 - 尽可能地懒惰,为什么我们懒得使用函数来索引字符串?

Perl 6会支持这种语法吗?

string indexing perl

11
推荐指数
7
解决办法
1831
查看次数

jqGrid中的隐藏列

有没有办法隐藏jqGrid表中的列,但是在表单编辑器模式对话框中编辑行时,它是否显示为只读?

javascript jquery jqgrid

54
推荐指数
4
解决办法
14万
查看次数

Apache服务器不断崩溃,"抓住SIGTERM,关闭"

这种情况刚刚开始三周左右.我的网站内容没有改变,它只是一个使用MySQL作为后端的phpBB论坛.

在一年多的时间里没有任何改变,但是最近,每两天左右,服务器只关闭而根本无法访问,我必须通知我的服务提供商实际重启机器.

它似乎与我在日志中发现的这些SIGTERM错误有关.问题是我不知道如何解决这些问题或找到根本原因,因为我缺乏这方面的技能.

任何人都有任何想法可能会发生什么?

Apache/2.2.3(CentOS)

20051115

Linux 2.6.18-028stab057.4#1 SMP Fri Aug 1 10:47:59 MSD 2008 x86_64

从错误日志:[Sun Nov 01 15:18:53 2009] [通知]抓住了SIGTERM,关闭了

不完全确定是什么导致了我的问题,但这听起来不是一件好事.

如果需要,我可以发布更多日志信息

[Sun Nov 01 05:07:17 2009] [notice] Digest: generating secret for digest authentication ...
[Sun Nov 01 05:07:17 2009] [notice] Digest: done
[Sun Nov 01 05:07:19 2009] [notice] mod_python: Creating 4 session mutexes based on 10 max processes and 0 max threads.
[Sun Nov 01 05:07:19 2009] [warn] RSA server certificate CommonName (CN) `plesk' does NOT match …

linux apache crash sigterm

51
推荐指数
2
解决办法
19万
查看次数

scala:'def foo = {1}'vs'def foo {1}'

在这些定义foo的每种形式中发生了什么?:

scala> def foo = {1}
foo: Int

scala> foo
res2: Int = 1
Run Code Online (Sandbox Code Playgroud)

但:

scala> def foo {1}
foo: Unit

scala> foo

scala>
Run Code Online (Sandbox Code Playgroud)

methods scala

12
推荐指数
1
解决办法
1922
查看次数

Jetty 6 - QueuedThreadPool与ThreadPool

我正在使用Jetty 6,并想知道何时应该在ThreadPool上使用QueuedThreadPool?默认情况下,Jetty 6配置了QueuedThreadPool.

我的服务器安装了Java 6,所以我认为我应该使用ThreadPool:

<New class="org.mortbay.thread.QueuedThreadPool">
            <Set name="minThreads">10</Set>
            <Set name="maxThreads">200</Set>
            <Set name="lowThreads">20</Set>
            <Set name="SpawnOrShrinkAt">2</Set>
        </New>

<New class="org.mortbay.thread.concurrent.ThreadPool">
            <Set name="corePoolSize">50</Set>
            <Set name="maximumPoolSize">50</Set>
        </New>
Run Code Online (Sandbox Code Playgroud)

谢谢,沃尔特

optimization configuration jetty

6
推荐指数
0
解决办法
4567
查看次数

SVN Visual Studio存储库的工作目录结构

我刚刚在我们公司的Visual Studio项目中引入了SVN,并创建了一个看起来像这样的存储库("解决方案"是Visual Studio解决方案,包含1..n个项目):

/solution1/trunk/projectA/...
                /projectB/...
/solution2/trunk/projectC/...
/customerX/solution3/trunk/projectD/...
          /solution4/trunk/projectE/...
                          /projectF/...
Run Code Online (Sandbox Code Playgroud)

现在,我有两个选项来构建本地工作目录:

选项A:让用户使用AnkhSVN单独检出每个解决方案,从而产生如下结构:

/solution1/projectA/...
          /projectB/...
/solution2/projectC/...
/solution3/projectD/...
/solution4/projectE/...
          /projectF/...
Run Code Online (Sandbox Code Playgroud)

或者,如果我告诉用户手动创建customerX子目录:

/solution1/projectA/...
          /projectB/...
/solution2/projectC/...
/customerX/solution3/projectD/...
/customerX/solution4/projectE/...
                    /projectF/...
Run Code Online (Sandbox Code Playgroud)

优点:用户只能查看他真正需要的解决方案.缺点:每个解决方案都需要单独检出/更新.

选项B:告诉用户使用TortoiseSVN签出整个存储库,导致结构与存储库完全相同:

/solution1/trunk/projectA/...
                /projectB/...
/solution2/trunk/projectC/...
/customerX/solution3/trunk/projectD/...
          /solution4/trunk/projectE/...
                          /projectF/...
Run Code Online (Sandbox Code Playgroud)

优点:"svn更新所有内容"非常容易.缺点:用户还拥有所有分支和标签的本地副本.


问题:由于某些项目是在解决方案之间共享的(比方说,例如,projectA是一个也被解决方案3使用的库),我们需要修复一个目录结构,以确保解决方案文件中的相对路径是正确的.你推荐哪个选项?为什么?


编辑:感谢您的所有优秀答案,特别是提及svn:externals和强调良好的存储库设计的重要性.我最终更新了我的存储库结构:

/trunk/solution1/projectA/...
                /projectB/...
      /solution2/projectC/...
      /customerX/solution3/projectD/...
                          -svn:external to projectA
                /solution4/projectE/...
                          /projectF/...
Run Code Online (Sandbox Code Playgroud)

这确保了在解决方案3上工作的开发人员需要检查解决方案3(而不是解决方案1),并且可以将解决方案签出到任何目录,即工作目录不需要固定的结构.

svn visual-studio

9
推荐指数
1
解决办法
2010
查看次数

多人UDP联网策略,需要建议

我正在尝试为实时3D游戏创建一个C++插件.虽然我相信对UDP的理论,它是如何工作的,它的优点和缺点有一个坚定的把握,但我关注的主要问题是性能,可扩展性和可能的​​统计数据.我知道,在UDP甚至TCP方面,我可能只知道海洋的价值下降.

问题:

某种情况下,典型的专用服务器在任何时候都能够应对多少玩家.

现在为场景......

让我们假设我们有一个MMORPG游戏,所有玩家都可以在"游戏世界"的任何地方.每个人都向同一个服务器/服务器中心发送和接收数据,因为每个人都必须能够......在他们的路径最终交叉时看到并与其他人互动.这是一个实时的第一人称游戏,所以玩家的位置必须是最新的,非常及时.

让我们说我们有1000名(甚至10000名)在线玩家......

这里需要做三件事:

  1. 每个玩家通过UDP将其数据流式传输到游戏服务器,例如每秒14次发送.简而言之,这些数据包括每个玩家的身份,地点和内容.发送的数据已经过标准化,并针对大小和速度进行了优化,以鼓励最小的带宽使用.

  2. 服务器每秒14次接收这些分组多达1000个(用于演示目的的非虚构图),因此每秒处理14 000个分组.该处理阶段通常涉及更新中央存储器数据结构,其中玩家旧的x,y,z位置数据将用他的新位置和时间戳更新.服务器上的此数据结构包含整个游戏世界中所有玩家的所有数据.

  3. 服务器(可能是一个单独的线程,甚至可能是一个单独的机器)现在需要将数据包广播给所有其他玩家,因此他们可以更新他们的屏幕以显示地图上的其他玩家.这也是每秒发生14次.(其中14可能通常是动态数字,根据使用的CPU容量,繁忙的CPU,较少的帧速率而反之亦然).

重要的是:对于玩家X,只有他位置的视觉范围内的其他玩家的数据被发送到相应的玩家.因此,如果玩家Y在2英里外,他的数据需要发送到X,但如果玩家Z在行星的另一边,他的数据不会被分派到X作为节省带宽的尝试.这当然涉及更多的处理,因为必须使用最有效的索引解决方案来迭代和过滤数据.

现在我担心的是,从客户端机器发送数据包,将其送入服务器RAM,稍微处理更新数据,并选择性地将信息广播给其他玩家,需要时间.这意味着,服务器能够处理某个阈值,是的,取决于我的实现的有效性,所用硬件的速度和能力,当然还有其他外部因素,如互联网速度,交通和nr.太阳耀斑每秒击中地球......开个玩笑.

我试图从其他人那里了解,他们已经完成了这个过程,陷阱是什么,以及在创建多人插件时我可以期待的典型表现.

我可以很容易地说:"我想要同时为同一台服务器上的10000个人提供服务",你可能会说:"每个服务器100个是更现实和可能的数字."

所以我知道我可能需要提出一个多服务器/云计算中心来处理我的数千个请求和调度,在多台机器上分配处理负载.所以我可能有一些机器只处理接收数据,一个巨大的中央盒子,就像所有接收和调度机器以某种方式共享的内存数据库,当然还有一系列调度机器.

显然,存在技术限制,我真的不知道会发生什么以及它们是什么.并且在问题上抛出额外的CPU和服务器盒将不会成功地解决问题,因为机器之间的更多相互通信也将使该过程减慢一些.我认为你投入的CPU越多,可能会降低效率甚至在某个阈值时反转CPU工作效率.

可以而且我应该考虑P2P(Peer To Peer)进行多人游戏!

我是否现实地说我能够在任何时候满足2500名玩家的需求?

几年后可以扩展到10000名玩家吗?

我知道这个问题很长,所以请接受我真诚的道歉.

networking udp multiplayer

5
推荐指数
1
解决办法
2825
查看次数

绘制科学数据的软件

我正在寻找一种用于绘制科学数据的软件,主要是矢量,坐标系和图表,例如:

示例图

drawing vector

5
推荐指数
2
解决办法
2079
查看次数

PDO mysql:如何知道插入是否成功

我正在使用PDO插入记录(mysql和php)

$stmt->bindParam(':field1', $field1, PDO::PARAM_STR);
$stmt->bindParam(':field2', $field2, PDO::PARAM_STR);
$stmt->execute();
Run Code Online (Sandbox Code Playgroud)

有没有办法知道它是否成功插入,例如,如果没有插入记录,因为它是重复的?

编辑:当然我可以查看数据库,但我的意思是程序化反馈.

php mysql database pdo

87
推荐指数
5
解决办法
10万
查看次数

使用Capistrano将Rails应用程序部署到多个Web服务器

我目前正在为Rails应用程序设置一个新的生产环境,该应用程序包括多个负载均衡的应用程序服务器(目前只有两个,但随着时间的推移会增加).

我想使用Capistrano(我已经用于现有的单个服务器)在单个命令中处理应用程序到所有这些服务器的部署.我可以看到这样做的唯一方法是使用capistrano-ext(我其实已经使用部署到我的测试和试运行环境),通过定义一个新的"环境"为每个应用服务器(app1,app2等等),并进行了使用部署就像是:

cap app1 app2 app3 deploy
Run Code Online (Sandbox Code Playgroud)

这是推荐的做法还是有更好的方法?

deployment capistrano ruby-on-rails

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