我一直在看一些文章,说Ruby中的类变量很糟糕.他们建议使用元类(或单例类).这是我的示例代码
class Joe
class << self # here we're putting methods in Joe's "meta class"
attr_accessor :foo
end
def self.foo2
end
def self.foo2=value
end
end
puts Joe.singleton_methods
Run Code Online (Sandbox Code Playgroud)
我知道foo和foo2基本相同,但是没有办法将attr_accesor与foo2一起使用.
我不知道怎么回事class << self syntax.是否有某种连接发生,或者......它是什么?这是某种扩展,继承还是猴子修补?
编辑(奖金):虽然我在这里,有没有办法在视图助手上缓存数据?我已经尝试过使用这个类<< self thing,但帮助器方法找不到访问器.
问题是我需要创建传递类的新实例
有没有办法重写这个函数,所以它可以接受任意数量的参数?
function createInstance(ofClass, arg1, arg2, arg3, ..., argN){
return new ofClass(arg1, arg2, arg3, ..., argN);
}
Run Code Online (Sandbox Code Playgroud)
此函数应创建传递的类的实例.例:
var SomeClass = function(arg1, arg2, arg3){
this.someAttr = arg3;
.....
}
SomeClass.prototype.method = function(){}
var instance = createInstance(SomeClass, 'arg1', 'arg2', 'arg3');
Run Code Online (Sandbox Code Playgroud)
所以这应该是真的.
instance instanceof SomeClass == true
Run Code Online (Sandbox Code Playgroud)
现在,我只是将N限制在25,希望很少使用更多的参数.
当我读取某些JPG文件时,颜色会变平.这是一个简单的例子,它读取jpg并将相同的图像写入另一个文件.
import java.awt.image.BufferedImage;
import java.io.File;
import javax.imageio.ImageIO;
public class JPegReadTest {
public static void main(String[] args) {
if (args.length == 2) {
try {
BufferedImage src = ImageIO.read(new File(args[0]));
ImageIO.write(src, "jpg", new File(args[1]));
} catch (Exception e) {
e.printStackTrace();
}
} else {
System.err.println("Usage: java JPegReadTest src dest");
}
}
}
Run Code Online (Sandbox Code Playgroud)
如果您使用例如http://www.flickr.com/photos/visualpanic/233508614/sizes/l/尝试此操作,目标图像的颜色与源文件不同.这是为什么?怎么解决?
还尝试将图像保存为png,但颜色也很淡(所以假设颜色信息无法正确读取).
我在这里安装SQL Server 2008 Developer,并在安装的服务器配置步骤中询问有关服务帐户的信息.我在这里选择什么?
我可以在屏幕截图中看到可用的,但在大多数情况下,我只能选择其中的两个或三个.当我单击" 为所有SQL Server 2008服务使用相同的帐户"按钮时,我可以在NT AUTHORITY\NETWORK SERVICE和NT AUTHORITY\SYSTEM之间进行选择.
我在这里选择什么,为什么?
为了更好地平衡我正在处理的页面,我想找到一种方法来根据屏幕分辨率增加DIV的上边距.使用jQuery或Javascript设置这些维度的最佳方法是什么?
我们的团队刚刚开始进行单元测试和模拟,我们在考虑扩展方法时遇到了一些讨论.问题是什么是测试类的好方法,它使用扩展方法.即我们有这样的Enum ..
public enum State
{
[LangID(2817)]
Draft = 0,
[LangID(2832)]
Booked = 1,
[LangID(1957)]
Overdue = 2,
[LangID(2834)]
Checked = 3,
}
Run Code Online (Sandbox Code Playgroud)
其中使用了扩展方法:
public static string GetDescription(this Enum _enum)
{
Type type = _enum.GetType();
MemberInfo[] memInfo = type.GetMember(_enum.ToString());
if (memInfo != null && memInfo.Length > 0)
{
object[] attrs = memInfo[0].GetCustomAttributes(typeof(LangID), false);
if (attrs != null && attrs.Length > 0)
return LanguageDB.GetString(((LangID)attrs[0]).ID);
}
return _enum.ToString();
}
Run Code Online (Sandbox Code Playgroud)
这将再次由被测试的类调用,如此...
public class SUT(){
public void MethodUnderTest(){
string description = SomeObject.Status.GetDescription();//Status is Type …Run Code Online (Sandbox Code Playgroud) 我正在尝试编写一个代理,它从一个服务器读取一个图像并将其返回给提供的HttpContext,但我只是回到了字符流.
我正在尝试以下方法:
WebRequest req = WebRequest.Create(image);
WebResponse resp = req.GetResponse();
Stream stream = resp.GetResponseStream();
StreamReader sr = new StreamReader(stream);
StreamWriter sw = new StreamWriter (context.Response.OutputStream);
sw.Write (sr.ReadToEnd());
Run Code Online (Sandbox Code Playgroud)
但正如我之前提到的,这只是回应文本.
我该怎么说它是一张图片?
编辑:我正在img标记的source属性的网页中访问它.将内容类型设置为application/octet-stream提示保存文件并将其设置为image/jpeg只响应文件名.我想要的是调用页面返回和显示的图像.
单击该按钮后,它会抛出"viewstate MAC failed的验证"异常.我知道MVC不支持PostBack但是有什么方法可以解决这个问题吗?
或者我们需要在MVC中使用HtmlHelper?
以下是我在View中的代码:
<asp:Content ID="Content2" ContentPlaceHolderID="MainContent" runat="server">
<form id="form1" runat="server">
<h2>Hello World</h2>
<asp:Label ID="Label1" runat="server" Text="Label"></asp:Label>
<br />
<br />
<asp:Button ID="Button1" runat="server" Text="Button" />
</form>
</asp:Content>
Run Code Online (Sandbox Code Playgroud) 有人请帮助我选择是否使用hibernate或cayenne来比较它们如何处理大型数据库.这是更适合处理大型数据库的.
谢谢
我们开始了一个新的项目推出了很多我们不那么熟悉的新技术,而我们没有大量的练习中的架构.换句话说,接口和服务类的东西,我们的"等等之间的相互作用由于内部和客户的反馈,重建是相当不稳定的,更是如此.虽然我一直在不断移动的规范沮丧,我认为这在一定程度上建立的东西,我们以前从来没有建的必要组成部分 - 如果我们只是坚持原来的设计和范围,最终产品可能会是比它成为一个创新和有用的要少得多.
我还介绍了测试驱动开发(TDD),因为它的好处已有详细记录,从概念上讲我喜欢这个想法.还有两个要学习的新东西--NUnit和嘲弄 - 但是看到所有那些绿色圆圈使得这一切都值得.
然而,随着时间的推移,那些不断变化的设计似乎意味着我花了很多时间来改变我的测试,而不是编写代码本身.仅仅因为这个原因,我已经回到了旧的测试方式 - 也就是说,不是自动化的.
虽然我毫不怀疑这个应用程序在数百个优秀的单元测试中会更加强大,但我发现推出该产品的时间权衡是不可接受的.我的问题是,那么 - 你们是否还发现如果你正在构建一个测试版/建立测试版,那么TDD会很麻烦?TDD是否更加自然地与规范更加固定的东西,或者开发人员在语言和技术方面拥有更多经验的东西相提并论?或者我做过一些根本错误的事情?
请注意,我并不想在这里批评TDD - 只是我不确定它总是最适合所有情况.
c# ×2
java ×2
javascript ×2
unit-testing ×2
asp.net-mvc ×1
hibernate ×1
http ×1
image ×1
installation ×1
jpeg ×1
jquery ×1
margins ×1
nunit ×1
orm ×1
postback ×1
resolution ×1
ruby ×1
screen ×1
settings ×1
sql-server ×1
stream ×1
syntax ×1
tdd ×1
testing ×1