我使用终端来访问现有的和新的程序.我讨厌这样一个事实:我总是需要:syntax on在命令行上启动以使语法变得丰富多彩.有没有人有一个方法,我怎么能确保我的终端总是用丰富多彩的语法开始?
我有一个数据库表,维护一些信息,并需要保留订单.基本上如果我列出了元素1到5,并且我想添加一个新元素,那么它可以插入到现有行中的任何位置,可以是最后一个,5之后,1之前的开始或中间的某个位置,例如3之后有没有办法使用MySQL INSERT语句并指定我们应该在哪一行插入索引?
我认为不是.所以我的策略是创建另一个列'order_number',它基本上记录了元素的顺序.例如,如果记录表具有主键(record_id)和并排列出的order_number,它将如下所示:
record_id order_number
1 1
2 2
3 3
4 4
5 5
Run Code Online (Sandbox Code Playgroud)
要在第3行之后向此行添加新元素,生成的结束表将如下所示:
record_id order_number
1 1
2 2
3 3
**6** **4** <------ added row
4 **5** <-- changed order_number
5 **6** <-- changed order_number
Run Code Online (Sandbox Code Playgroud)
在这种情况下,我可以通过简单地选择我想要的数据并提供Order By order_number asc子句来清楚地实现我想要的顺序.
但是,正如您所看到的,要做一个简单的Insert,它需要我更新它之后出现的每个其他行的order_number.该表预计至少具有大量的行(大小为100,000),并且在每次单个插入操作时简单地更新每隔一行(因此锁定表)根本不可行.
在这种情况下,什么是更好的推荐策略?
我使用Paypal的API进展缓慢.目前,进行API调用会产生超时错误(ERRORCODE:10001):
**HttpResponseTIMESTAMP=2013-03-08T01:25:56Z&CORRELATIONID=e00b64a9e4c97&ACK=Failure&L_ERRORCODE0=10001&L_SHORTMESSAGE0=Internal Error&L_LONGMESSAGE0=Timeout processing request**
Run Code Online (Sandbox Code Playgroud)
除了已经超时之外,上述错误并不能说明多少.这意味着它要么超时尝试执行交易,要么超时,因为它无法验证帐户?这是Name-value-pair字符串,
**METHOD=DoDirectPayment
&VERSION=99.0
&PWD=1362597445
&USER=paypro_1362597411_biz_api1.hotmail.com
&SIGNATURE=AFcWxV21C7fd0v3bYYYRCpSSRl31AA.mtioVVAeUWZAnm4W4LmSKUmC8
&IPADDRESS=192.168.237.124
&PAYMENTACTION=SALE
&AMT=660
&CREDITCARDTYPE=VISA
&ACCT=4926081645578645
&EXPDATE=3/2018
&CVV2=333
&FIRSTNAME=Parijat
&LASTNAME=Kalia
&STREET=3302+Folsom+Street
&CITY=3302+Folsom+Street
&STATE=CA
&ZIP=94110
&COUNTRYCODE=US
&CURRENCYCODE=$**
Run Code Online (Sandbox Code Playgroud)
另一个可能有用的提示是当我尝试登录Sandbox测试站点时
使用提到的凭据,它不会让我登录.但是,在我的paypal开发者网站内,在测试帐户下,明确说明了相同的凭据,我100%只是简单地复制粘贴用户名,密码和API.一位朋友表示,那些API调用的测试帐户不会让您登录到沙盒测试站点,这个站点非常可疑.
信息?方案?批评?
我有一个EmberApp,它有一个'keyDown'事件,我打算在渲染特定视图时使用,让我们称之为'PostsCommentView',为此,我这样做:
App.PostsCommentView = Ember.View.extend({
eventManager:Ember.Object.extend({
keyDown:function(event,view){
console.log("keydown"); // I CAN see this
},
click: function(event,view){
console.log("clicked"); // I CAN see this
}
})
didInsertElement:function(){
console.log("I have been inserted"); // I CAN see this
}
});
Run Code Online (Sandbox Code Playgroud)
正如您可以从我的代码中读取的那样,视图肯定会插入,而click事件会将"clicked"记录到控制台中,但不会记录为keydown事件.
我四处搜索,似乎,我需要将注意力集中在'视图'上,以便注册'keyDown'事件.所以我将它添加到我的'didInsertElement'函数中:
this.$().focus();
Run Code Online (Sandbox Code Playgroud)
但是,这也不起作用.在旁注中,我将'keyDown'事件添加到扩展Ember.TextArea的Textarea视图中,并且DID注册了keyDown事件.
我在这里错过了什么?
我写下了一个简单的函数,它确定str1是否是str2的前缀.这是一个非常简单的函数,看起来像这样(在JS中):
function isPrefix(str1, str2) // determine if str1 is a prefix of a candidate string
{
if(str2.length < str1.length) // candidate string can't be smaller than prefix string
return false;
var i = 0;
while(str1.charAt(i) == str2.charAt(i) && i <= str1.length)
i++;
if(i < str1.length) // i terminated => str 1 is smaller than str 2
return false;
return true;
}
Run Code Online (Sandbox Code Playgroud)
如您所见,它循环遍历前缀字符串的整个长度,以衡量它是否是候选字符串的前缀.这意味着它的复杂性是O(N),这也不错,但是当我有一个庞大的数据集来考虑循环以确定哪些字符串具有前缀字符串作为前缀的一部分时,这就成了一个问题.这使得复杂性像O(M*N)一样多,其中M是给定数据集中的字符串总数.不好.
我稍微探讨了互联网,以确定最佳答案是Patricia/Radix trie.字符串存储为前缀的位置.即使这样,当我尝试插入/查找字符串时,如果我使用上述前缀测量功能,则字符串匹配会有相当大的开销.
假设我有一个前缀字符串'rom'和一组候选词
var dataset = ["random","rapid","romance","romania","rome","rose"];
在基数trie中想要这样:
r
/ \
a o
/ \ / \
ndom …Run Code Online (Sandbox Code Playgroud) 我有一个奇怪的问题困扰我的Drupal网站.点击"添加内容"后,我的Drupal网站会自动重定向到我使用"添加内容类型"功能创建的几种自定义内容类型.出于某种原因,所有现有的核心内容类型,如"基本页面","文章","书籍"都已消失.
进一步探测,当我单击"结构>内容类型"中的"内容类型"链接时,所有这些内容类型都存在并列出,但由于某种原因我无法使用它们.
我不知道我在哪里搞砸了,所以我想问你们,并检查一下是什么问题.
谢谢,
在我的EmberApp中,我有一个视图,在完成一个动作后,调用另一个"视图"动作.这是一个childView,我基本上这样做:
<button {{action "doSomething" target="view"}}>DO something</button>
Run Code Online (Sandbox Code Playgroud)
在父视图中,
Ember.View.extend({
actions:{
doSomething: function(){
//perform tasks related to this view
this.get('childViewName').triggerAction({action:"someAction", target:this.get('childViewName')})
// invoke action that belongs to a child view
}
Run Code Online (Sandbox Code Playgroud)
});
在http://emberjs.com/api/classes/Ember.ViewTargetActionSupport.html#method_triggerAction中指定的子视图传入Ember.TargetActionSupport mixin,并在其自己的操作中具有以下内容:
Ember.ChildView.extend(Ember.ViewTargetActionSupport,{
actions:{
someAction:function(){
console.log("some action called from the Parent view"); // executes fine
}
}
});
});
Run Code Online (Sandbox Code Playgroud)
如您所知,这段代码按照应有的方式执行.但是,' someAction ' 实际上接受参数(模型).通过提供' this '关键字作为参数,可以非常轻松地将此模型提供给我的Handlebars按钮表达式.
<button {{action "doSomething" this target="view"}}>DO something</button>
Run Code Online (Sandbox Code Playgroud)
它也可以在'doSomething'acton中通过简单地声明doSomething接受参数来检索,如下所示:
doSomething(modelInstance){
// modelInstance parameter will map to this keyword as specified in the handlebars action …Run Code Online (Sandbox Code Playgroud) 我正在检查一些用UnderscoreJS编写的Javascript代码.在这里,有很多JS代码的实例是这样编写的:
if(length === +length){ //do something}
Run Code Online (Sandbox Code Playgroud)
要么
if(length !== +length){ //do something }
Run Code Online (Sandbox Code Playgroud)
这究竟是什么计算的?我以前从未见过这个.
我注意到UnderScoreJS具有许多围绕本机Javascript函数的包装函数。
举个例子:
_.isArray, _.isBoolean, _.isNaN?
Run Code Online (Sandbox Code Playgroud)
有什么理由吗?还是在使用underscoreJS库时仅仅是为了确保代码一致性而已,还是无论如何都只是增强了这些功能?
例如,_。isArray函数可以简化为:
_.isArray = nativeIsArray || function(obj) {
return toString.call(obj) === '[object Array]';
};
Run Code Online (Sandbox Code Playgroud)
任何的想法?
我有一堆无序列表元素彼此并排堆叠.为此,通常应用的样式规则是:
#slide ul,li{
float:left;
list-style-type:none;
}
Run Code Online (Sandbox Code Playgroud)
我需要引入另一个无序的元素列表,其行为ul与li元素通常的行为方式相同; 这是堆叠在彼此之上但没有任何list-style-type,并实现此目的:
.stack ul,li{
list-style-type:none
}
?
Run Code Online (Sandbox Code Playgroud)
问题是ul,li的堆栈类的样式不适用,并且元素彼此叠加,因为它们是针对#slide的ul,li的情况.
看看这个js小提琴:
我的选择者错了吗?
PS:我用class/id和两者的各种组合尝试了这个,但结果总是一样的.
ember.js ×2
javascript ×2
code-design ×1
css ×1
drupal ×1
drupal-7 ×1
html ×1
html-lists ×1
if-statement ×1
keydown ×1
keypress ×1
macos ×1
mysql ×1
paypal ×1
paypal-nvp ×1
prefix ×1
prefix-tree ×1
schema ×1
terminal ×1
vim ×1