小编Tod*_*arp的帖子

生成加权随机数

我正试图设计一种(好的)方法,从一系列可能的数字中选择一个随机数,其中该范围内的每个数字都被赋予一个权重.简单地说:给定数字范围(0,1,2)选择一个数字,其中0有80%被选中的概率,1有10%的几率,2有10%的几率.

我的大学统计课程已经过去了大约8年,所以你可以想象这个适当的公式让我逃脱了.

这是我提出的"便宜又脏"的方法.此解决方案使用ColdFusion.你可以使用你想要的任何语言.我是程序员,我想我可以处理它.最终我的解决方案需要在Groovy中 - 我在ColdFusion中写了这个,因为它很容易在CF中快速编写/测试.

public function weightedRandom( Struct options ) {

    var tempArr = [];

    for( var o in arguments.options )
    {
        var weight = arguments.options[ o ] * 10;
        for ( var i = 1; i<= weight; i++ )
        {
            arrayAppend( tempArr, o );
        }
    }
    return tempArr[ randRange( 1, arrayLen( tempArr ) ) ];
}

// test it
opts = { 0=.8, 1=.1, 2=.1  };

for( x = 1; x<=10; x++ )
{
    writeDump( weightedRandom( opts ) …
Run Code Online (Sandbox Code Playgroud)

javascript groovy actionscript

45
推荐指数
7
解决办法
4万
查看次数

MySQL'截断错误的INTEGER值'

当我运行以下UPDATE查询时,我得到一个奇怪的'截断错误的INTEGER值'错误:

update tbl
set projectNumber = right(comments, 7)
where createdBy = 'me'
and length(CONVERT(right(comments, 7), SIGNED INTEGER)) = 7 
and CONVERT(right(comments, 7), SIGNED INTEGER) > 0
and CONVERT(right(comments, 7), SIGNED INTEGER) is not null
and createdOn > '2011-01-31 12:00:00'
and projectNumber is null
Run Code Online (Sandbox Code Playgroud)

projectNumber是varchar(10).

当我将其作为直接选择运行时,我没有收到错误,我看到了预期的结果.有任何想法吗?本质上我正在尝试更新projectNumber字段,其中导入的注释中的注释的结尾是7个数字字符(但是projectNumber并不总是 7数字,这就是字段为varchar(10)的原因).

mysql

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

运行错过的Quartz作业

我正在使用Quartz with Spring在每个月的第一天午夜运行特定任务.我已经通过将我的服务器日期和时间设置为当月最后一天的11:59来测试该作业,启动服务器并在转到12:00时观察任务运行,但我担心的情况是服务器(无论出于何种原因)可能不会在本月的第一天午夜运行.

我认为Quartz中的失火处理会关心这一点,但也许我错了吗?

任何人都可以告诉我如何处理这个问题?我真的不想创建一个每隔'x'秒/分钟/小时运行的作业,并检查是否需要运行该作业,如果我可以避免它.

我也很好奇为什么我没有看到任何与Quartz相关的日志信息,但这是次要问题.

这是我的任务弹簧配置:

<bean id="schedulerService" class="com.bah.pams.service.scheduler.SchedulerService">
    <property name="surveyResponseDao" ref="surveyResponseDao"/>
    <property name="organizationDao" ref="organizationDao"/>
</bean>

<bean name="createSurveyResponsesJob" class="org.springframework.scheduling.quartz.JobDetailBean">
    <property name="jobClass" value="com.bah.pams.service.scheduler.jobs.CreateSurveyResponsesJob"/>
    <property name="jobDataAsMap">
        <map>
            <entry key="schedulerService" value-ref="schedulerService"/>
        </map>
    </property>
</bean>
<!-- Cron Trigger -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
    <property name="jobDetail" ref="createSurveyResponsesJob"/>
    <property name="cronExpression" value="0 0 0 1 * ? *"/>
    <!--if the server is down at midnight on 1st of month, run this job as soon as it starts up next -->
    <property name="misfireInstructionName" value="MISFIRE_INSTRUCTION_FIRE_ONCE_NOW"/>
</bean>

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

    <property …
Run Code Online (Sandbox Code Playgroud)

java groovy spring scheduled-tasks quartz-scheduler

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