在部署为WAR文件的JRuby应用程序中配置变量的最佳方法是什么?操作组将需要根据我的应用程序部署位置配置数据库设置和其他环境变量.因为它是WAR文件,但它们不能直接访问database.yml或任何环境文件.
我希望能够对他们需要配置的任何内容进行变量化,并将它们放入Tomcat app.config/web.config中.这可能吗?你如何将这些价值观带入JRuby?
我正在开发一个SDG(单显示器组件)应用程序,为此我需要多个游标(最简单的不同颜色)用于单个窗口.我开始知道使用C#你可以使用黑白游标,但这并不能解决我的问题.所以请帮我解决这个问题.
提前致谢.
这两个函数如何解析?
> (** (1/2)) $ 40
6.324555320336759
it :: Double
> ((**) (1/2)) $ 40
9.094947017729282e-13
it :: Double
Run Code Online (Sandbox Code Playgroud) 我有一个tcp客户端 - 服务器实现在同一程序中运行,在不同的后台工作线程上.在多台计算机上会有这个程序的实例,因此它们可以在彼此之间发送和接收文件.我可以使用网络流在计算机之间顺序发送文件,但是如何从计算机A到B同时发送多个文件.
通过一个连接(套接字)发送多个文件很好,但是有多个网络流将数据发送到客户端,客户端不知道哪个数据块与哪个文件分开?
是否有可能客户端连接两次到服务器(在差异端口上,因为"随机"/未使用的端口被分配给连接)然后每个连接都有自己的流,允许在同时?
感谢您的时间和精力.
我想从我的delphi应用程序连接到facebook聊天,更改状态消息或在墙上发布一些内容?你知道我能用这种方式吗?
类似于在Ruby中获取system()调用的输出,我正在运行系统命令,但在这种情况下,我需要在命令运行时输出STDOUT.
我正在研究原型使用文档数据库(目前MongoDB,可能会改变),并发现.NET驱动程序有点痛苦,所以我想我会用Repository模式抽象数据访问.这应该可以很容易地将你正在使用的任何驱动程序(NoRM,mongodb-csharp,simple-mongob)替换为你的杀手f#mongodb驱动程序,它在准备就绪时不会吮吸.
我的问题是关于添加操作.这将对数据库产生一些副作用,因此对All的后续调用将会有所不同.我应该关心吗?在C#传统上我不会,但我觉得在F#我应该.
这是通用存储库接口:
type IRepository<'a> =
interface
abstract member All : unit -> seq<'a>
// Add has a side-effect of modifying the database
abstract member Add : 'a -> unit
end
Run Code Online (Sandbox Code Playgroud)
以下是MongoDB实现的外观:
type Repository<'b when 'b : not struct>(server:MongoDB.IMongo,database) =
interface IRepository<'b> with
member x.All() =
// connect and return all
member x.Add(document:'b) =
// add and return unit
Run Code Online (Sandbox Code Playgroud)
在整个应用程序中,我将使用IRepository,从而可以轻松更改驱动程序和可能的数据库.
调用All很好,但是添加我希望的是而不是返回单元,返回一个新的存储库实例.就像是:
// Add has a side-effect of modifying the database
// but …Run Code Online (Sandbox Code Playgroud) 我正在使用带有Eclipse Helios 3.6的GlassFish 3服务器适配器.我可以使用Eclipse中的Servers视图启动服务器,运行得很好 - 但是我无法调试我的代码.
使用GF管理控制台启用调试(配置→JVM设置→调试,然后重新启动服务器)后,单击调试(Ctrl+ Alt+ D)会给出一个错误窗口:

我猜这是因为Eclipse无法连接到JVM的调试端口(默认为9009).
在Helios中设置GlassFish 3调试的正确方法是什么?
回复:@The Elite Gentleman,控制台中没有任何错误.这是一个例子:
Nov 29, 2010 11:47:42 AM com.sun.enterprise.admin.launcher.GFLauncherLogger info
INFO: JVM invocation command line:
C:\Program Files\Java\jdk1.6.0_22\bin\java.exe
-cp
C:/glassfishv3/glassfish/modules/glassfish.jar
-XX:+UnlockDiagnosticVMOptions
-XX:MaxPermSize=192m
-XX:NewRatio=2
-XX:+LogVMOutput
-XX:LogFile=C:\glassfishv3\glassfish\domains\myDomain/logs/jvm.log
-Xmx512m
-client
-javaagent:C:/glassfishv3/glassfish/lib/monitor/btrace-agent.jar=unsafe=true,noServer=true
-Dosgi.shell.telnet.maxconn=1
-Djdbc.drivers=org.apache.derby.jdbc.ClientDriver
-Dfelix.fileinstall.dir=C:\glassfishv3\glassfish/modules/autostart/
-Djavax.net.ssl.keyStore=C:\glassfishv3\glassfish\domains\myDomain/config/keystore.jks
-Dosgi.shell.telnet.port=6666
-Djava.security.policy=C:\glassfishv3\glassfish\domains\myDomain/config/server.policy
-Dfelix.fileinstall.poll=5000
-Dcom.sun.aas.instanceRoot=C:\glassfishv3\glassfish\domains\myDomain
-Dcom.sun.enterprise.config.config_environment_factory_class=com.sun.enterprise.config.serverbeans.AppserverConfigEnvironmentFactory
-Dosgi.shell.telnet.ip=127.0.0.1
-Djava.endorsed.dirs=C:\glassfishv3\glassfish/modules/endorsed;C:\glassfishv3\glassfish/lib/endorsed
-Dcom.sun.aas.installRoot=C:\glassfishv3\glassfish
-Djava.ext.dirs=C:\Program Files\Java\jdk1.6.0_22/lib/ext;C:\Program Files\Java\jdk1.6.0_22/jre/lib/ext;C:\glassfishv3\glassfish\domains\myDomain/lib/ext
-Dfelix.fileinstall.bundles.new.start=true
-Djavax.net.ssl.trustStore=C:\glassfishv3\glassfish\domains\myDomain/config/cacerts.jks
-Dcom.sun.enterprise.security.httpsOutboundKeyAlias=s1as
-Djava.security.auth.login.config=C:\glassfishv3\glassfish\domains\myDomain/config/login.conf
-DANTLR_USE_DIRECT_CLASS_LOADING=true
-Dfelix.fileinstall.debug=1
-Dorg.glassfish.web.rfc2109_cookie_names_enforced=false
-Djava.library.path=C:/glassfishv3/glassfish/lib;C:/Program Files/Java/jdk1.6.0_22/bin;C:/glassfishv3/glassfish;C:/Windows/Sun/Java/bin;C:/Windows/System32;C:/Windows;C:/Program Files/Java/jdk1.6.0_22/jre/bin/server;C:/Program Files/Java/jdk1.6.0_22/jre/bin;C:/Program Files/Java/jdk1.6.0_22/jre/lib/amd64;C:/Python26/Scripts;C:/Python26;C:/Windows/System32/wbem;C:/Program Files (x86)/ATI Technologies/ATI.ACE/Core-Static;C:/Program …Run Code Online (Sandbox Code Playgroud) 我正在使用深度排序进行基本对象透明度.作为深度,我使用从相机到模型三角形的每个中心的距离(平方),我计算为{(x1 + x2 + x3)/ 3,(y1 + y2 + y3)/ 3,(z1 + z2 + z3)/ 3}.虽然结果差不多好,但也有一些错误.
猴子头没有排序

与排序

我能对这些错误做些什么吗?
我在拥有数百名用户的公共频道中运行我的机器人.昨天有人进来,只是滥用了它.
我想让任何人使用机器人,但如果他们连续发送垃圾邮件命令,并且如果他们不是像我这样的机器人"所有者",那么我想将它们添加到一个被忽略的列表中,该列表在一小时左右到期.
我想的一种方法是在所有用户中保存所有命令,例如:
({
'meder@freenode': [{command:'.weather 20851', timestamp: 209323023 }],
'jack@efnet': [{command:'.seen john' }]
})
Run Code Online (Sandbox Code Playgroud)
我会设置一个cron作业来每24小时刷新一次,但我基本上会确定一个人是否在15秒的持续时间内发出了X个命令并将它们添加到忽略列表中.
实际上,当我写这个答案时,我想到了一个更好的想法..也许不是存储每个用户命令,只是将机器人的命令存储在列表中并继续推动直到它达到15的限制.
lastCommands = [], limit = 5;
function handleCommand( timeObj, action ) {
if ( lastCommands.length < limit ) {
action();
} else {
// enumerate through lastCommands and compare the timestamps of all 5 commands
// if the user is the same for all 5 commands, and...
// if the timestamps are all within the vicinity of 20 seconds
// add the user …Run Code Online (Sandbox Code Playgroud)