对于后台应用程序(LSUIElement = 1),如果用户在已经运行的情况下双击应用程序图标,那么弹出"首选项"或"配置"窗口的最优雅方式是什么?
这假设用户无法从其他任何位置访问应用程序的首选项(例如菜单栏状态项菜单).
我认为理想的方法会阻止prefs窗口在初始启动时显示,但是足够聪明,可以在随后双击应用程序的图标时显示它.
谢谢
我对我的一些控制器操作进行了一系列重复测试,所有操作都需要进行身份验证.因此,您最终会看到许多代码,如下所示:
describe "authentication requests" do
it "should return 401 for unauthenticated :show" do
get :show
...
end
it "should return 401 for unauthenticated :create" do
post :create
...
end
end
Run Code Online (Sandbox Code Playgroud)
有没有更好的方法来干这个代码,以便控制器中需要身份验证的任何操作都可以在一个测试中描述?
我需要一种通过xpath选择元素的方法(不是CSSpath或任何其他方法,必须严格地是xpath)
$(document).find("/html[1]/body[1]/div[4]/div[2]/div[1]/h1[1]/a[1]").css("background-color", "yellow")
Run Code Online (Sandbox Code Playgroud)
这似乎不起作用.
什么更安全?VNC或Citrix或HTTPS
所以他们都有相同的安全性.
他们最终是否使用相同的加密算法?
(早期的问题,递归(?)将LINQ谓词组合成单个谓词,与此类似但我实际上问了错误的问题......那里的解决方案满足了提出的问题,但实际上并不是我需要的问题.虽然不一样.诚实.)
鉴于以下搜索文本:
"keyword1 keyword2 ... keywordN"
Run Code Online (Sandbox Code Playgroud)
我想最终得到以下SQL:
SELECT [columns] FROM Customer
WHERE (
Customer.Forenames LIKE '%keyword1%'
OR
Customer.Forenames LIKE '%keyword2%'
OR
...
OR
Customer.Forenames LIKE '%keywordN%'
) AND (
Customer.Surname LIKE '%keyword1%'
OR
Customer.Surname LIKE '%keyword2%'
OR
....
OR
Customer.Surname LIKE '%keywordN%'
)
Run Code Online (Sandbox Code Playgroud)
实际上,我们将搜索文本拆分为空格,修剪每个标记,根据每个标记构造一个多部分OR子句,然后将这些子句一起进行AND运算.
我在Linq-to-SQL中这样做,我不知道如何根据任意长的子预测列表动态编写谓词.对于已知数量的子句,可以轻松地手动编写谓词:
dataContext.Customers.Where(
(
Customer.Forenames.Contains("keyword1")
||
Customer.Forenames.Contains("keyword2")
) && (
Customer.Surname.Contains("keyword1")
||
Customer.Surname.Contains("keyword2")
)
);
Run Code Online (Sandbox Code Playgroud)
简而言之,我需要一种技术,给定两个谓词,将返回使用提供的运算符组成两个源谓词的单个谓词,但仅限于Linq-to-SQL明确支持的运算符.有任何想法吗?
我正在尝试创建一个覆盖,类似于jQuery UI Dialog使用的覆盖.我可以像这样创建叠加层:
var $overlay = $('<div class="ui-widget-overlay"></div>').hide().appendTo('body');
//...later in my script
$overlay.fadeIn();
Run Code Online (Sandbox Code Playgroud)
但是当我向下滚动时,叠加会中断.我注意到jQuery UI正在动态地设置该div的宽度和高度.所以我想重用这个功能而不是重新发明轮子.如何创建这样的叠加层,或者在jQuery UI中重用它?
将叠加层的宽度/高度设置为文档的宽度/高度,然后在窗口调整大小事件上绑定一个函数以调整叠加宽度/高度以匹配新文档的宽度/高度:
$(document).ready(function(){
var $overlay = $('<div class="ui-widget-overlay"></div>').hide().appendTo('body');
$('.trigger').click(function(){
$('div').slideDown();
$('.ui-widget-overlay').fadeIn();
setOverlayDimensionsToCurrentDocumentDimensions(); //remember to call this when the document dimensions change
});
$(window).resize(function(){
setOverlayDimensionsToCurrentDocumentDimensions();
});
});
function setOverlayDimensionsToCurrentDocumentDimensions() {
$('.ui-widget-overlay').width($(document).width());
$('.ui-widget-overlay').height($(document).height());
}
Run Code Online (Sandbox Code Playgroud)
请注意,只要文档的高度发生变化(添加元素,向下滑动动画元素等),您就需要调整叠加层的大小.
有人可以证明为什么使用这样的解决方案是一个坏习惯:
在django中,98%的案例需要使用
from django.http import HttpResponseRedirect
from django.core.urlresolvers import reverse
from django.utils.translation import ugettext as _
Run Code Online (Sandbox Code Playgroud)
无论如何在我的项目中我的每个视图都有这些导入,并且几乎在视图的每个第二个函数中都使用了所有内容:
from datetime import datetime
from django.conf import settings
from django.contrib.auth.models import User
from django.core.urlresolvers import reverse
from django.core import paginator
from django.db import connection
from django.db.models import Q
from django.http import HttpResponseRedirect, Http404, HttpResponse
from django.shortcuts import render_to_response, get_object_or_404
from django.template import RequestContext
from django.utils.translation import ugettext as _
Run Code Online (Sandbox Code Playgroud)
现在添加一些模型和表单,我有50行废话,根本无法读取.
我头脑中的第一件事当然是提出更多观点,分割一些操作等等.但仍然有大约30行导入在代码中杀死了我的方向.
然后我决定将95%的时间内在视图中使用的所有内容放到目录/project/app/imports/view.py中.现在我有一些常见的东西,只有一个导入,但我的同事攻击我,这是非常难以阅读这种代码,因为你无法看到什么是导入,以及为什么这么难打开一个IDE中的更多选项卡.. ??? [特别是vim用户,他们有FRAMES,他正在使用vim]
我对模型做了同样的事情,我的模型有它自己的目录,因为它在那里超过50个,而且那些文件不小 - 每个约150行..即使这些文件内部的模型很少..所以我只是在做就像是 :
from myapp.models.mymodel import …Run Code Online (Sandbox Code Playgroud) 我编写了一个python脚本来使用gstreamer(pygst和gst模块)来计算replaygain标签,并且它与各种gobject错误不一致.我发现你可以通过在脚本顶部放置以下样板来解决这个问题:
import gobject
gobject.threads_init()
Run Code Online (Sandbox Code Playgroud)
我试了一下,它运作了.任何人都可以解释为什么这些行是必要的,为什么pygst本身不这样做?
我们有一些表,其结构如下:
start, - datetime
end, - datetime
cost - decimal
因此,例如,可能会有一行如下:
01/01/2010 10:08 am,
01/01/2010 1:56 pm,135.00 01/01/2010 11:01 am,01/01/2010 3:22 pm,118.00
01/01/2010 06:19 pm,01/02/2010 1:43 am,167.00
等等...
我想把它变成一种格式(带有函数?),它以如下格式返回数据:
上午10:00,上午10:15,X,Y,Z
上午10:15,上午10:30,X,Y,Z
上午10:30,上午10:45,X,Y,Z
上午10:45,上午11:00,X,Y ,Z
上午11:00,上午11:15,X,Y,Z
....
其中:
X =匹配的行数
Y =该大块时间的成本/费用
Z =此期间的总时间量
IE,对于上述数据,我们可能会:
上午10:00,上午10:15,1,(135/228分钟*7),7
....
上午11:00,上午11:15,2,((135 + 118)/((228 + 261)分钟*(15 + 14)),29
....
我相信我已经在这里完成了数学计算,但是需要弄清楚如何将它变成PG函数,以便它可以在报告中使用.
理想情况下,我希望能够以任意持续时间调用该函数,即15分钟,或30分钟,或60分钟,并根据它分开.
有任何想法吗?
我正在看Lhotka CSLA.NET对象库(Lhotka.NET).这似乎很有趣,但有一点没有意义的是业务规则是用C#编写的.如果这些不是在代码之外编码的(即使它是一个未与应用程序的主逻辑耦合的库,规则仍然可以改变并需要重新编译).
谢谢