我正在设计一个小项目,我没有对所有类的接口使用编程.我发现有些类几乎不需要改变,所以我让它们被客户端类作为具体类引用.
所以,假设我们已经ClassB消费了以下消费ClassA:

class ClassB {
}
Run Code Online (Sandbox Code Playgroud)
我的问题是,我应该建立ClassB在ClassA,或者我应该传递责任"向上"的层次?我将描述两种情况:
class ClassA {
private ClassB classB;
public ClassA() {
this.classB = new ClassB();
}
}
Run Code Online (Sandbox Code Playgroud)
要么
class ClassA {
private ClassB classB;
public ClassA(ClassB classB) {
this.classB = classB;
}
}
Run Code Online (Sandbox Code Playgroud)
我想知道你将如何做到这一点以及它背后的理由是什么!
谢谢
鉴于以下关联,我需要引用从模型中附加的Questiona .我一直在尝试使用它来执行此操作.ChoiceChoicebelongs_to :question, through: :answer
class User
has_many :questions
has_many :choices
end
class Question
belongs_to :user
has_many :answers
has_one :choice, :through => :answer
end
class Answer
belongs_to :question
end
class Choice
belongs_to :user
belongs_to :answer
belongs_to :question, :through => :answer
validates_uniqueness_of :answer_id, :scope => [ :question_id, :user_id ]
end
Run Code Online (Sandbox Code Playgroud)
我正进入(状态
NameError未初始化的常量
User::Choice
当我尝试做的时候 current_user.choices
它工作正常,如果我不包括
belongs_to :question, :through => :answer
Run Code Online (Sandbox Code Playgroud)
但我想用它,因为我希望能够做到这一点 validates_uniqueness_of
我可能忽略了一些简单的事情.任何帮助,将不胜感激.
我正在TUI模式下使用GDB执行我的第一步.
在调试会话期间,我看到输出到控制台的每一行都出现在一行中(在您看到的图中222222以红色突出显示).这就像拥有一行的输出窗格.
最重要的是,每个\n都不清理该行,因此所有字符串都会相互覆盖,使我的输出非常混乱.
你能帮我解决一下这个问题,还是指点一些关键命令来寻找干净的输出?
我还突出显示了另一个区域(图中1111111),因为第一个字符串是在那里输出的,然后是源代码窗口框架上的所有其他字符串.

我有一个问题是将h:selectBooleanCheckbox的列表绑定到我的bean.有人帮忙吗?
这不起作用:
<ui:repeat value="#{cartBean.productsList}" var="cartProduct" varStatus="i">
<h:selectBooleanCheckbox binding="#{cartBean.checkboxes[i.index]}" />
</ui:repeat>
public class CartBean extends BaseBean {
public List<Product> getProductsList() {...}
private HtmlSelectBooleanCheckbox[] checkboxes;
public HtmlSelectBooleanCheckbox[] getCheckboxes() {
return checkboxes;
}
public void setCheckboxes(HtmlSelectBooleanCheckbox[] checkboxes) {
this.checkboxes = checkboxes;
}
}
Run Code Online (Sandbox Code Playgroud)
我收到错误:
javax.faces.FacesException: javax.el.PropertyNotFoundException: /WEB-INF/flows/main/cart.xhtml @26,97 binding="#{cartBean.checkboxes[i.index]}": Target Unreachable, 'checkboxes' returned null
Run Code Online (Sandbox Code Playgroud)
我解决了我的问题.我使用下面的代码得到我想要的东西(感谢BalusC博客 - http://balusc.blogspot.com/2006/06/using-datatables.html#SelectMultipleRows):
<ui:repeat value="#{cartBean.productsList}" var="cartProduct" varStatus="i">
<h:selectBooleanCheckbox value="#{cartBean.selectedIds[cartProduct.id]}" />
</ui:repeat>
public class CartBean extends BaseBean {
private Map<Integer, Boolean> selectedIds = new HashMap<Integer, Boolean>();
public Map<Integer, Boolean> …Run Code Online (Sandbox Code Playgroud) 我想使用Core Audio扩展音频文件服务框架来读取mp3文件,将其作为PCM处理,然后将修改后的文件作为mp3文件写回.我能够将mp3文件转换为PCM,但无法将PCM文件作为mp3写回.
我已经关注并分析了Apple ExtAudioFileConvertTest示例,但也无法使其工作.失败点是我为输出文件设置客户端格式(设置为规范PCM类型).这失败了,错误"fmt?" 如果输出目标类型设置为mp3.
可以在iPhone上做mp3 - > PCM - > mp3吗?如果我删除失败的行,为输出文件设置kExtAudioFileProperty_ClientDataFormat,代码将失败并显示"pkd?" 当我稍后尝试写入输出文件时.所以基本上我有2个错误:
1)"fmt?" 尝试为输出文件设置kExtAudioFileProperty_ClientDataFormat时
2)"pkd?" 当试图写入输出文件时
以下是设置文件的代码:
NSURL *fileUrl = [NSURL fileURLWithPath:sourceFilePath];
OSStatus error = noErr;
//
// Open the file
//
error = ExtAudioFileOpenURL((CFURLRef)fileUrl, &sourceFile);
if(error){
NSLog(@"AudioClip: Error opening file at %@. Error code %d", sourceFilePath, error);
return NO;
}
//
// Store the number of frames in the file
//
SInt64 numberOfFrames = 0;
UInt32 propSize = sizeof(SInt64);
error = ExtAudioFileGetProperty(sourceFile, kExtAudioFileProperty_FileLengthFrames, &propSize, &numberOfFrames);
if(error){
NSLog(@"AudioClip: Error …Run Code Online (Sandbox Code Playgroud) 好的,非常简单的问题.我在javascript参加速成课程.
如果我
timer = setTimeout(..., 500)用来设置定时器,然后clearTimeout(timer)清除定时器,定时器的整数值不会改变,所以我的问题是如何知道定时器是超时还是清除?
我想使用if (timer) {...},但显然正整数总是返回true.
我需要一个Perl脚本,它将数字作为输入示例222,它应该输出为二百二十二.
我公司最近做了一个POC,并决定使用商业CMS.它正在实施,我们被要求进行测试.在已经过测试并在市场上销售的第三方CMS中有什么待测试?任何方向都会很棒!
在我启动的开发机器上启动SSMS(2008 R2)之后
"D:\Program Files\Microsoft SQL Server\100\Tools\Binn\VSShell\Common7\IDE\Ssms.exe" -nosplash -S localhost -d testdata
Run Code Online (Sandbox Code Playgroud)
没有做任何事情,
在Activity Monitor中观察一些会话(TestData是我的默认数据库)

第51场会议详情:
select @@spid;
select SERVERPROPERTY('ProductLevel');
Run Code Online (Sandbox Code Playgroud)
第52场会议详情:
DBCC INPUTBUFFER(52)
Run Code Online (Sandbox Code Playgroud)
第53次会议详情:
SELECT
CAST(serverproperty(N'Servername') AS sysname) AS [Name],
'Server[@Name=' + quotename(CAST(
serverproperty(N'Servername')
AS sysname),'''') + ']' + '/JobServer' AS [Urn]
ORDER BY
[Name] ASC
Run Code Online (Sandbox Code Playgroud)
会议54的详细信息:
SET NOCOUNT ON;
DECLARE @previous_collection_time datetime;
DECLARE @previous_request_count bigint;
DECLARE @current_collection_time datetime;
DECLARE @current_request_count bigint;
DECLARE @batch_requests_per_sec bigint;
DECLARE @interval_sec bigint;
-- Get the previous snapshot's time and batch request count
SELECT TOP 1 …Run Code Online (Sandbox Code Playgroud) 例如,以下代码:
class FoosController < ApplicationController
def index
if !@foo.nil?
render :locals => {:bar => @foo}
return
else
@foo = rand 10
render :locals => {:bar => @foo}
end
end
end
Run Code Online (Sandbox Code Playgroud)
如果我加载localhost:3000/foos多次,它将显示不同的值,并且如果它是开发模式也就不足为奇了,因为每次浏览器请求进入时Rails都会重新加载控制器(以及模型和视图).
但即使在生产模式下,当所有内容都被加载并停留在那里时,@foo浏览器请求的价值也不会停留?每次在Web浏览器上重新加载页面时,都会显示不同的编号.那么Rails每次都会擦除所有值的清洁?如果我们不使用DBMS,有没有办法在请求之间缓存或"记忆"结果?
令人惊讶的是,我只是尝试使用类变量,并且在开发模式下,每次都会给出不同的数字.在生产模式下,Firefox上的数字保持不变,然后Chrome也会一直显示该数字,直到服务器重新启动:
class FoosController < ApplicationController
@@foo = nil
def index
if !@@foo.nil?
render :locals => {:bar => @@foo}
return
else
@@foo = rand 10
render :locals => {:bar => @@foo}
end
end
end
Run Code Online (Sandbox Code Playgroud)
为什么类变量memoize但实例变量不能?在Rails 2.x,3.x和Ruby 1.8.7和1.9.2中使用类变量是否可靠地在请求中"记住事物"?
activerecord ×1
binding ×1
c# ×1
checkbox ×1
core-audio ×1
cpan ×1
debugging ×1
gdb ×1
iphone ×1
java ×1
javascript ×1
jsf ×1
memoization ×1
numbers ×1
objective-c ×1
oop ×1
perl ×1
perl-module ×1
ruby ×1
session ×1
settimeout ×1
sql-server ×1
ssms ×1
testing ×1