我正在为我们的应用程序创建一个显示对象库.它们在各种视图中呈现许多常见对象(用户,对话,消息等)的html.通过视图我的意思是对象可以用不同的标记吐出不同的"缩放级别".
一些显示对象包含要渲染的其他显示对象,例如.用户列表对象在特定视图中呈现用户对象(此特定视图将它们反映在列表项中,以便它们适合列表)
我试图将这些转换为在ZF中正确处理的方式,但我无法确定这些是否应该都是视图助手,或者它们是否都是视图脚本/部分.
只是让他们查看脚本并使用 - > render()渲染它们似乎有点脏,因为我想传递给它们的任何信息或参数都必须分配给视图对象.
Partial看起来更正确,除了不确定它们是否适合在这些中做显示逻辑(如果'showNotificationStatus'作为参数传递,渲染此跨度).或者如果它用于部分渲染其他部分(用户列表呈现用户对象)的犹太洁食.
查看帮助程序似乎可能是正确的方法,但我不知道是否过度使用视图帮助程序.每个对象都可以是一个视图助手,并接受一个对象视图参数,因此它知道要渲染自己的缩放级别/容器,或者每个对象视图甚至可以是它自己的帮助器(因此对象内部没有大的switch语句).关于视图的一个好处是你可以传递参数,如果你需要那个级别的东西,它仍然可以访问视图上下文.
其中大部分将接受模型,少数需要一些额外的参数来知道该做什么(例如上面的showNotificationStatus).什么是适当的工具?
JQuery"has"方法有效地选择了具有特定后代的所有元素.
我想根据他们有特定祖先的事实来选择元素.我知道父母([选择器])和父母([选择器]),但这些选择父母而不是父母的孩子.
那么有一个祖先相当于"有"吗?
注意:我已经在层次结构的下面有一个元素的上下文,我将基于此选择,所以我不能进行"自上而下"查询.
更新
我显然在这里解释得非常糟糕,所以我会试着澄清一下:
<ul class="x">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ul class="y">
<li>4</li>
<li>5</li>
<li>6</li>
</ul>
Run Code Online (Sandbox Code Playgroud)
我有一个jQuery对象,它已经包含2,3,4和5个元素.我想选择那些父类为class = x的元素.
希望更有意义.
我有一个冗长的JavaScript文件传递JSLint,除了"在定义之前使用"错误.
我使用了正常的函数声明,如...
function whatever() {do something;}
Run Code Online (Sandbox Code Playgroud)
而不是......
var whatever = function(){do something;};
Run Code Online (Sandbox Code Playgroud)
假设您使用function关键字声明所有函数,我认为它成为一个编程风格的问题.就个人而言,我更喜欢以一种看似合乎逻辑的方式构造我的函数,并使代码尽可能可读.例如,和你一样,我会在顶部放置一个init函数,因为它是从一切开始的地方.
...我喜欢按照对我有意义的顺序查看功能.
该脚本在几个测试的浏览器中完美运行(例如,FireFox,Safari,Mobile Safari,Fennec,IE,Chrome,Midori等).
这就是问题所在:我想在使用Titanium构建的iPhone应用程序中使用该脚本,但其编译器会因"使用前定义"错误而停止.
我怎么能绕过这个?
这可能是一个愚蠢的问题,但也......如果函数需要以特定的顺序调用,如何解决需要回调最初调用它的函数的被调用函数的问题?例如...
function buildMenu(){
Display a list of five menu items, each of which calls a function to build the associated screen.
}
function screen1() {
Display the screen associated with menu item #1.
}
Run Code Online (Sandbox Code Playgroud)
如果函数需要按顺序声明,则function screen1需要先于function buildMenu.但是,如果在某些情况下,无法构建screen1并因此想重新显示菜单(即调用技术上尚未声明的函数),该怎么办?
哦,是的......还有一个问题:是否有网站或程序会自动重新排序函数,而不是要求程序员手动完成?
我在C#中使用'RijndaelManaged'和'CryptoStream'类来加密文件.在加密文件之前,我想检查文件是否已加密.
我尝试使用File.GetAttributes()方法检查加密,但它无法正常工作.
我需要一些提示,我可以检查文件是否已经加密.
所以在MUCH $ head-> desk()之后,我已经解决了.
记住孩子,要警惕你使用的即时客户端版本,这取决于虚拟化设置!
我一直在安装通用的即时客户端(不知道我们的ESX服务器位于AMD处理器上,而不是英特尔),而且内部工作正常(CentOS安装是32位,因为我们的内部ESXi服务器不是64位).好吧,即使您在位于AMD64上的虚拟化服务器上运行32位安装,您安装的即时客户端仍然很重要.
这是我想要检查的最后一件事但是看起来现在一切都运行正常.
我要感谢所有帮助我完成所有可能测试的人,但最终,我没有意识到虚拟化的差异.
更新(2010年5月21日) 当我在内部安装新VM时,我认为这个错误已经逃脱了,但我现在发现了一个缩小的链接.
当我发布这个时,我试图在我们的生产服务器上安装它.经过一周没有进展并且需要重新开发之后,我在我们的内部服务器上配备了一个全新安装的Crap ... CentOS,以及全新安装的即时客户端和oci8.
工作得很完美.
但是,我们只是将VM的精确副本上传到我们的生产服务器,它神奇地不再有效.尝试重新安装一切,无济于事.
所以我唯一可以解决的问题是防火墙问题(虽然我在尝试127.0.0.1时遇到同样的问题)或可能是ESX(我们的生产服务器)服务器问题,但内部服务器正在运行ESXi.
有什么想法吗?
更新(2010年3月8日)我安装了Xdebug并让它跟踪我的代码.这是我得到的输出:
TRACE START [2010-03-08 17:53:05]
0.2090 327864 -> {main}() /data/aims3/http/octest.php:0
0.2091 327988 -> ini_set(string(14), string(1)) /data/aims3/http/octest.php:3
0.2093 327920 -> error_reporting(long) /data/aims3/http/octest.php:4
0.2094 328048 -> oci_connect(string(8), string(8), string(25)) /data/aims3/http/octest.php:6
Run Code Online (Sandbox Code Playgroud)
跟踪在此时停止.
我已经在本地服务器上以相同的方式安装了一切,它工作正常.说我完全失败就会轻描淡写.
*注意:我运行了make test并且在每次测试时都返回了FAIL.我从来没有在我的工作机器上运行它,看它是否报告相同的错误.知道为什么make test会报告FAIL但是make不会报告任何错误吗?
我已经安装了没有报告错误的Oracle Instantclient以及OCI8 PECL软件包而且不知所措.每当我尝试使用oci_connect打开连接时,它都会暂停我的整个PHP脚本.
例:
<?php
ini_set ("display_errors", "1");
error_reporting(E_ALL);
echo "before";
$conn = oci_connect("username", "password", "host");
echo "after";
?>
Run Code Online (Sandbox Code Playgroud)
返回一个完整的空白页面.加载模块(在phpinfo中看到),所有安装都没有错误.
我完全失去了.
CentOS:5.4
Apache:2.2.3
PHP:5.3.1
InstantClient:11.2
oci8:1.4.1
有什么想法吗? …
我的ASP.NET(3.5)应用程序允许用户运行一些复杂的查询,最多可能需要4分钟才能返回结果.
当我正在进行长循环代码时,我会Response.IsClientConnected()偶尔检查,以便在用户关闭浏览器或点击停止按钮时我可以结束页面.
但是在查询SQL Server时,我的.NET代码在调用时被阻止GetDataReader().
是否有一种直接的方式来异步地执行GetDataReader()所以我可以等待它,但仍然检查,比如每5-10秒查看用户是否仍然连接,如果他们已经离开,就保释数据库查询?
还是有其他一些我没想到的选择?
注意:在发布这个问题之前,我发现有一个更好的方法来做我想要完成的事情(我觉得它很愚蠢):
IEnumerable<string> checkedItems = ProductTypesList.CheckedItems.Cast<string>();
filter = p => checkedItems.Contains(p.ProductType);
Run Code Online (Sandbox Code Playgroud)
好的,是的,我已经意识到这一点.但是,无论如何,我发布了这个问题,因为我仍然不明白为什么我(愚蠢地)试图做的事情不起作用.
我觉得这很容易.原来它让我很头疼.
基本思路:显示ProductType在a中检查其属性值的所有项目CheckedListBox.
实施:
private Func<Product, bool> GetProductTypeFilter() {
// if nothing is checked, display nothing
Func<Product, bool> filter = p => false;
foreach (string pt in ProductTypesList.CheckedItems.Cast<string>()) {
Func<Product, bool> prevFilter = filter;
filter = p => (prevFilter(p) || p.ProductType == pt);
}
return filter;
}
Run Code Online (Sandbox Code Playgroud)
但是,如果在ProductTypesList(a CheckedListBox)中检查了"权益"和"ETF"项目.然后由于某种原因,以下代码仅返回"ETF"类型的产品:
var filter = GetProductTypeFilter();
IEnumerable<Product> filteredProducts = allProducts.Where(filter);
Run Code Online (Sandbox Code Playgroud)
我猜想它可能与一些自我引用的混乱有关filter,其本质上是本身 …
我正在运行Visual Studio 2008,SSIS教程描述于:http: //msdn.microsoft.com/en-us/library/ms167106.aspx
我完成了所有任务但是遇到了以下错误:
错误1验证错误.提取样本货币数据:提取样本货币数据:输入列"CurrencyAlternateKey"(123)具有先前未在数据流任务中使用的谱系ID 55.第1课.dtsx 0 0
错误2验证错误.提取样本货币数据SSIS.Pipeline:输入列"CurrencyAlternateKey"(123)具有以前未在数据流任务中使用的谱系ID 55.第1课.dtsx 0 0
你能说出我需要做些什么才能使这个版本没有错误吗?
我有一个table地方如果用户已经达到了一些像3 penalities的我应该算的,所以如果用户达到或超过3分,他被禁止:
table_warnings
- id
- user_id
- warning
- warning_date
id user_id warning warning_date
1 5478 1 2010-02-25 12:59:00
2 5478 1 2010-02-28 08:27:00
3 5478 2 2010-03-01 22:44:11
Run Code Online (Sandbox Code Playgroud)
我已经开始提出这个问题了,用户KM帮助我解决了SELECT类似这样的解决方案:
SELECT COUNT(warning)
FROM table_warnings AS w
INNER JOIN table_users AS u
ON w.user_id = u.user_id
WHERE w.user_id = 5478 AND warning_date >= '2010-02-05 12:59:00'
HAVING COUNT(warning) >= 3
Run Code Online (Sandbox Code Playgroud)
我可以找到一种方法SELECT来检索用户在过去30天内获得了多少个点数吗?
有没有办法从不同的模型中将命名范围嵌套在彼此之内?
例:
class Company
has_many :employees
named_scope :with_employees, :include => :employees
end
class Employee
belongs_to :company
belongs_to :spouse
named_scope :with_spouse, :include => :spouse
end
class Spouse
has_one :employee
end
Run Code Online (Sandbox Code Playgroud)
有没有什么好方法让我找到一家公司,同时包括这样的员工和配偶:
Company.with_employees.with_spouse.find(1)
或者我是否有必要在公司中定义另一个named_scope:
:with_employees_and_spouse, :include => {:employees => :spouse}
在这个人为的例子中,它并不是太糟糕,但嵌套在我的应用程序中要深得多,如果我不需要在嵌套的每个级别添加un-DRY代码重新定义include,我会喜欢它.
php ×3
c# ×2
javascript ×2
.net ×1
activerecord ×1
aes ×1
asp.net ×1
asynchronous ×1
dataflow ×1
delegates ×1
encryption ×1
include ×1
jquery ×1
jslint ×1
linq ×1
mysql ×1
named-scope ×1
nested ×1
oci8 ×1
oracle ×1
pdo ×1
pecl ×1
predicate ×1
select ×1
sql-server ×1
ssis ×1
titanium ×1