我知道我不是唯一一个不喜欢进度条或时间估计的人,他们在软件中给出了不切实际的估计.最好的例子是安装程序,在10秒内从0%跳到90%,然后花一个小时完成最后的10%.
大多数时候程序员只是估计完成任务的步骤,然后以百分比显示currenttep/totalsteps,忽略了每个步骤可能需要不同时间才能完成的事实.例如,如果将行插入数据库,插入时间可能会随着插入行数的增加而增加(简单示例),或者复制文件的时间不仅取决于文件的大小,还取决于文件的位置.磁盘和碎片是多么碎片化.
今天,我问自己是否有人已经尝试过对此进行建模,并且可能创建了一个带有可配置稳健估算器的库.我知道很难给出可靠的估计,因为外部因素(网络连接,用户运行其他程序等)发挥了作用.
也许还有一种解决方案使用分析来建立更好的估算器,或者可以使用机器学习方法.
有谁知道这个问题的高级解决方案?
与此相关,我发现文章重新思考进度条非常有意义.它显示了进度条如何改变时间感,以及如何使用这些洞察力创建似乎更快的进度条.
编辑:我可以想办法如何手动调整时间估计,即使使用"估算器库",我将不得不微调算法.但我认为这个问题可以用统计工具解决.当然,估算器会在流程期间收集数据,以便为后续步骤创建更好的估算值.
我现在所做的是采取上一步所采取的平均时间(按类型分组的步骤,并通过例如文件大小,交易大小进行标准化),并将此平均值作为后续步骤的估计值(再次:计算不同类型和大小).
现在,我知道有更好的统计工具来创建估算器,我想知道是否有人将这些应用于问题.
language-agnostic statistics estimation machine-learning progress-bar
就像一个白痴,当我第一次构建一个收集日期时间数据的应用程序时,我完全忽略了时区设置.
这不是一个问题,因为我所做的只是"时间 - 风格"比较和排序.现在我需要做完整的报告来显示实际的日期时间,当然,它们都存储在America/Chicago(荒谬的Django默认值).
是的 我有一个中等大小的数据库,这些日期不正确.我想改变settings.TIME_ZONE,'UTC'但这对我现有的数据没有帮助.
什么是最好的(读取:最简单,最快)的方式来转换所有模型数据集成?
(所有数据都来自过去两个月,所以谢天谢地没有DST转换)
这个项目目前在SQLite上,但我在PostgreSQL上有另一个项目有类似的问题,我可能想在DST开始之前做同样的事情......所以理想情况下是一个与数据库无关的答案.
根据为什么我们不允许在接口中指定构造函数的答案?,
因为接口描述了行为.构造函数不是行为.如何构建对象是一个实现细节.
如果interface描述行为,为什么interface允许声明状态?
public interface IStateBag
{
object State { get; }
}
Run Code Online (Sandbox Code Playgroud) 我有一个TextArea,我想用它来代码输入(xml).如何允许输入标签(按Tab键将焦点移动到nect控制位置)?
我想运行一个只从特定字段返回第一个单词的查询,这个字段有多个用空格分隔的单词,我想我可能需要执行一些正则表达式来完成这个工作吗?我知道如何在PHP中使用几种方法来做到这一点,但这最好在数据库方面进行.任何想法都非常感激.谢谢.
我已经阅读了有关站点地图格式的Google文档,但有一件事他们不清楚:搜索引擎是否会自动查找并找到/sitemap_index.xml,或者你必须通过/robots.txt或者主要来告诉他们/sitemap.xml?你有没有 /sitemap.xml,仍然可以依赖/sitemap_index.xml找到并收获?
我正在编写一个孩子姐妹加密函数,我需要一个PRNG,它可以在OS上产生一致的结果(所以没有浮点数学,利用硬件或系统级软件).如果PRNG的持续时间超过2 30,这将是一件好事,但并非必要.
我目前正在使用32位Xorshift:
#!/usr/bin/perl
use strict;
use warnings;
{
use integer; #use integer math
my $x = 123456789;
my $y = 362436069;
my $w = 88675123;
my $z = 521288629;
sub set_random_seed {
$w = shift;
}
sub random {
my $t = $x ^ ($x << 11);
$x = $y;
$y = $z;
$z = $w;
my $rand = $w = ($w ^ ($w >> 19)) ^ ($t ^ ($t >> 8));
return $rand …Run Code Online (Sandbox Code Playgroud) 在分析一些ASP.NET MVC项目时,我看到了遍布各地的匿名类型.
HTML助手有它们:
<%=Html.TextBox("view.Address", "address", new { Class = "text_field" })%>
Run Code Online (Sandbox Code Playgroud)
很多动作的返回类型都有:
JsonNetResult jsonNetResult = new JsonNetResult
{
Formatting = Formatting.Indented,
Data = new {Something= “”}
}
Run Code Online (Sandbox Code Playgroud)
我知道这来自LINQ:
from p in context.Data
select new { p.Name, p.Age };
Run Code Online (Sandbox Code Playgroud)
这些是否真的是在LINQ之外完成任务的正确方法?它们是否会损害代码的可重用性和可读性?
好的,我的数据库按此顺序如下:
id(主要 - auto_increment),用户名(唯一),密码,fname,邮件
我有它,以便用户注册用户名和密码,并将其添加到数据库,首先.没有用户名可以是相同的,当它确实将数据添加到数据库时,它会自动增加ID.所有这些都有效,但现在我创建了一个帐户设置页面,用户可以在其中更改其电子邮件和名字,但它无法正常工作.我让用户在一个页面上的表单中输入变量,并将其名字发布为ufname(用于更新名字)和umail(用于更新邮件).然后在下一页更新数据库我有这个代码:
session_start();
if(!isset($_SESSION['userId'])) {
die(" You are not signed in. Please <a href='login.php'>click here</a> to sign in.");
} else {
$changeTXT = $_SESSION['username'];
$changeTXT = strtolower($changeTXT);
$changeTXT = ucfirst($changeTXT);
echo "Account Settings: <font color='red'>" . $changeTXT . "</font><br /><br />";
$ufname = $_POST['ufname'];
$umail = $_POST['umail'];
mysql_connect("localhost", "root", "sp1151") or die(mysql_error());
mysql_select_db("usersys") or die(mysql_error());
mysql_query("INSERT INTO userdb (id, username, password, fname, mail) VALUES('','','','$ufname', '$umail') ");
echo $umail . "<br /><br />";
echo $ufname;
}
Run Code Online (Sandbox Code Playgroud)
哦,我也有用户登录会话.
但是,如何插入用户输入数据库中特定行的名字和电子邮件?我的数据库名是userdb.
是否可以在没有Spring的情况下将TomF与Tomcat一起使用?如果是这样,怎么样?
.net ×2
mysql ×2
php ×2
apache-flex ×1
c# ×1
cxf ×1
django ×1
estimation ×1
interface ×1
java ×1
linq ×1
perl ×1
prng ×1
progress-bar ×1
python ×1
pytz ×1
seo ×1
sitemap ×1
sql ×1
statistics ×1
timezone ×1
tomcat ×1
user-input ×1
web-services ×1