敏捷有哪些神话或误解?
有一些与敏捷有关的误解可能会导致普通新人陷入困境.敏捷世界有什么误解,你如何证明这是一种误解呢?
更新:敏捷神话总结
阅读以下答案,了解有关上述神话和更多神话的更多信息.
在SQL数据库中处理并发更新的常用方法是什么?
考虑一个简单的SQL模式(约束和默认值未显示..)之类的
create table credits (
int id,
int creds,
int user_id
);
Run Code Online (Sandbox Code Playgroud)
目的是为用户存储某种信用,例如stackoverflow的声誉.
如何处理该表的并发更新?一些选择:
update credits set creds= 150 where userid = 1;
在这种情况下,应用程序检索当前值,计算新值(150)并执行更新.如果其他人同时做同样的事情,那么这就是灾难.我猜测包装当前值的撤销和事务中的更新将解决这个问题,例如,Begin; select creds from credits where userid=1; do application logic to calculate new value, update credits set credits = 160 where userid = 1; end;
在这种情况下,您可以检查新信用是否<0,如果负信用没有意义,则将其截断为0.
update credits set creds = creds - 150 where userid=1;
这种情况不需要担心并发更新,因为数据库负责一致性问题,但是有一些缺陷,即信用很高兴会变成负面的,这可能对某些应用程序没有意义.
那么简单地说,处理上面提到的(非常简单的)问题的公认方法是什么,如果db抛出错误怎么办?
有谁知道应该使用PostgreSQL HASH而不是B-TREE的情况,因为在我看来这些东西都是陷阱.它们比B-TREE花费更多的时间来创建或维护(至少10倍),它们也占用更多空间(对于我的一个table.columns,B-TREE占用240 MB,而HASH会占用拿4 GB)我似乎从谷歌搜索中了解到,他们选择的速度不比B-TREE快; 然而HASH最近可能已经优化或谷歌错了.
无论如何,我想要你的家伙的意见和经验.如果这些HASH是邪恶的,人们应该知道.
谢谢
:MySQL的HASH怎么样?
当我注意到一些非常特殊的东西时,我一直在测试另一个问题.FF4/5无法触发focus
jQuery事件.可能被认为是重复的另一个问题已被关闭并被接受而没有真正的答案.
对于问题本身,我尝试了以下简单的代码:
$('#target').focusout(function() {
$(this).focus();
});
Run Code Online (Sandbox Code Playgroud)
它在Chrome和IE中运行良好,但在FF上失败.这是我们中间懒人的jsFiddle.
谁能解释这种行为?或者它是一个已知的错误?
我正在创建一个DOM元素(div),将其添加到DOM,然后在javascript中快速更改其宽度.这在理论上应该触发CSS3过渡,但结果直接从A到B,没有两者之间的过渡.
如果我通过单独的测试点击事件更改宽度,一切都按预期工作.
这是我的JS和CSS:
JS(jQuery):
var div = $('<div />').addClass('trans').css('width', '20px');
$('#container').append(div);
div.css('width', '200px');
Run Code Online (Sandbox Code Playgroud)
CSS(只需mozilla):
.trans {
-moz-transition-property: all;
-moz-transition-duration: 5s;
height: 20px;
background-color: cyan;
}
Run Code Online (Sandbox Code Playgroud)
我搞砸了这里,还是"一气呵成"并不是应该做的事情?
所有帮助都非常感谢.
是否有可能改变jQuery的方向$("selector").show('slow')
和hide('slow')
效果?
我可以定义其他效果的方向,例如幻灯片和剪辑,但是没有显示或选项的选项 hide('slow')
我当然有两个字空间,前后有很多空格,我需要做的是删除之前和之后的空格,而不需要介于两者之间.
如何删除之前和之后的空格?
所以我开始更深入地研究MVC(真正的MVC,而不是框架MVC),并且我正在尝试开发一个小框架.我正在阅读其他框架,如Symphony和Zend,看看他们是如何完成自己的工作,并尝试自己实现它.
我遇到的地方是URL路由系统:
<?php
namespace Application\Common;
class RouteBuilder {
public function create($name, $parameters) {
$route = new Route($name);
$route->resource = array_keys($parameters)[0];
$route->defaults = $parameters["defaults"];
$notation = $parameters["notation"];
$notation = preg_replace("/\[(.*)\]/", "(:?$1)?", $notation);
foreach ($parameters["conditions"] as $param => $condition) {
$notation = \str_replace($param, $condition, $notation);
}
$notation = preg_replace("/:([a-z]+)/i", "(?P<$1>[^/.,;?\n]+)", $notation);
//@TODO: Continue pattern replacement!!
}
}
/* How a single entry looks like
* "main": {
"notation": "/:action",
"defaults": {
"resource" : "Authentication",
},
"conditions": {
":action" : "(login)|(register)"
}
}, …
Run Code Online (Sandbox Code Playgroud) 我已经阅读了很多与我要提出的问题非常相似的帖子,但我只是想确保没有更复杂的方法来做到这一点.任何反馈都非常感谢.
我想创建一种机制来检查登录用户是否可以访问当前正在调用的php脚本.如果是这样,脚本将继续; 如果没有,脚本就会失败,使用类似的东西die('you have no access')
.
我想出了两种方法来完成这个:
(请假设我的会话内容已编码/工作正常 - 即我调用session_start(),正确设置会话变量等)
首先定义一个全局变量,然后检查所需头文件中的全局变量.例如:
current_executing_script.php的内容:
// the role the logged in user must have to continue on
$roleNeedToAccessThisFile = 'r';
require 'checkRole.php''
Run Code Online (Sandbox Code Playgroud)
checkRole.php的内容:
if ($_SESSION['user_role'] != $roleNeedToAccessThisFile) die('no access for you');
Run Code Online (Sandbox Code Playgroud)在头文件中定义一个函数,并在包含/要求后立即调用该函数:
checkRole.php的内容:
function checkRole($roleTheUserNeedsToAccessTheFile) {
return ($_SESSION['user_role'] == $roleTheUserNeedsToAccessTheFile);
}
Run Code Online (Sandbox Code Playgroud)
current_executing_script.php的内容:
require 'checkRole.php';
checkRole('r') or die('no access for you');
Run Code Online (Sandbox Code Playgroud)我想知道是否有一种方法基本上只是将参数传递给checkRole.php作为include或require构造的一部分?
提前致谢.
jquery ×4
php ×4
sql ×2
agile ×1
comet ×1
concurrency ×1
css ×1
css3 ×1
database ×1
direction ×1
firefox ×1
include ×1
indexing ×1
long-polling ×1
parameters ×1
postgresql ×1
regex ×1
require ×1
routes ×1
scrum ×1
show ×1
transitions ×1