问题列表 - 第7719页

在Python中只捕获一些运行时错误

我正在导入一个模块,在某些情况下会引发以下错误:RuntimeError:pyparted需要root访问权限

我知道我可以在导入之前检查root访问权限,但我想知道如何通过try/except语句捕获这种特殊类型的错误以供将来参考.有没有办法区分这个RuntimeError和其他可能引发的错误?

python exception-handling runtime-error try-catch

6
推荐指数
3
解决办法
1万
查看次数

使用与域实体的一对一接口是好的还是坏的做法?为什么?

我在一些DDD企业应用程序中看到的一件事是,使用与域实体相同的接口,以及属性和功能的一对一映射.实际上,域对象总是通过它的一对一接口使用,并且所有域实体都具有这种风格的一对一接口.

例如:

域对象帐户:

public class Account : IAccount
{
     public string Name {get;set;}
     //...some more fields that are also in IAccount
     public decimal Balance {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

它是匹配的界面

public interface IAccount
{
   string Name {get;set;}
   //... all the fields in Account
   decimal Balance {get;set;}
}
Run Code Online (Sandbox Code Playgroud)

但最近我越来越相信这实际上是一种反模式.
我是由开源社区的一些架构师运行的,他们说这是基于设计错误或缺陷,在设计链的某个地方.

所以我告诉我的同事他们应该退出为Domain对象创建接口.因为它们没有任何意义,所以每当更新域实体时都必须更新接口.

首先声称这些接口提供了"解耦",但我反驳说,因为接口与域实体有一对一的关系,它们实际上并没有提供任何解耦,接口的改变意味着改变域实体,反之亦然.

下一个主张是我们需要接口用于测试目的.我的反击是Rhino-mocks提供了具体类的模拟和存根.但是他们声称Rhino-mocks在具体课程方面遇到了麻烦.我不知道我是否购买,即使rhino-mocks在具体类中遇到问题,也不一定意味着我们应该使用域实体的接口.

所以我很好奇:

为什么你的域实体有一对一的接口?

为什么不?

为什么这是一个好的或坏的做法?

谢谢阅读!

编辑:我应该注意,我一直使用接口,我相信如果它被要求我将使用一个接口.但我特别指的是具有一对一接口的域实体.

dns design-patterns domain-driven-design interface

26
推荐指数
3
解决办法
3243
查看次数

PHP字符编码问题

我需要一个字符编码问题的帮助,我想一劳永逸地排序.以下是我从XML提要中提取的一些内容的示例,插入到我的数据库然后拔出.

你看不到,很多特殊的html字符被破坏/破坏.

我怎么能一劳永逸地阻止这个呢?我如何能够支持所有类型的角色等?

我已经尝试过我能找到的每一段编码,它有时会纠正它,但其他一些都被破坏了.

php xml utf-8 character-encoding

4
推荐指数
2
解决办法
9753
查看次数

在数据仍在内存中时确定将来文件的大小

这是C#/.NET 2.0.

所以我有一个包含XML文件未来内容的字符串.它包含来自图像文件的元数据和二进制数据.一旦我将字符串中的数据写入文件系统,我想以某种方式确定XML文件的大小.

我尝试过以下内容并且都不起作用:

Console.Out.WriteLine("Size: " + data.Length/1024 + "KB");
Run Code Online (Sandbox Code Playgroud)

Console.Out.WriteLine("Size: " + (data.Length * sizeof(char))/1024 + "KB");
Run Code Online (Sandbox Code Playgroud)

两者都不起作用(生成的文件的实际大小与这些方法中的任何一个返回的大小不同).我显然在这里遗漏了一些东西.任何帮助,将不胜感激.

XML序列化:

// doc is an XMLDocument that I've built previously
StringWriter sw = new StringWriter();
doc.Save(sw);
string XMLAsString = sw.ToString();
Run Code Online (Sandbox Code Playgroud)

写入文件系统(XMLAsString作为变量命名数据传递给此函数):

Random rnd = new Random(DateTime.Now.Millisecond);      
FileStream fs = File.Open(@"C:\testout" + rnd.Next(1000).ToString() +  ".txt", FileMode.OpenOrCreate);
StreamWriter sw = new StreamWriter(fs);
app.Diagnostics.Write("Size of XML: " + (data.Length * sizeof(char))/1024 + "KB");
sw.Write(data);
sw.Close();
fs.Close();
Run Code Online (Sandbox Code Playgroud)

谢谢

c#

4
推荐指数
1
解决办法
1256
查看次数

python中的抽象类+ mixin +多重继承

所以,我认为代码可能解释了我想要做的比我言语更好,所以这里是:

import abc

class foo(object):
    __metaclass__ = abc.ABCMeta
    @abc.abstractmethod
    def bar(self):
        pass


class bar_for_foo_mixin(object):
    def bar(self):
        print "This should satisfy the abstract method requirement"


class myfoo(foo, bar_for_foo_mixin):
    def __init__(self):
        print "myfoo __init__ called"
        self.bar()

obj = myfoo()
Run Code Online (Sandbox Code Playgroud)

结果:

TypeError: Can't instantiate abstract class myfoo with abstract methods bar
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用mixin类来满足abstract/interface类的要求.我错过了什么?

python abstract-class multiple-inheritance mixins

22
推荐指数
1
解决办法
1万
查看次数

通过Django管理站点添加数据时更改大小写(上/下)

我正在配置我的新项目的管理站点,我有点怀疑我该怎么做,在通过管理站点添加数据时点击"保存",一切都转换为大写...

编辑:好的我知道.upper属性,我做了一个视图,我知道怎么做,但我想知道管理站点上的字段配置是否有任何可用的属性:P

python django admin case

4
推荐指数
1
解决办法
1万
查看次数

OpenID委派如何在依赖方上工作?最近的规格有变化吗?

考虑这种情况.我有我自己的网站,我为我的标识使用,但我用第三方OpenID提供商(在我的雅虎),如所描述这里,登录上依赖方(RP)等网站计算器和sourceforge上.

这似乎是明智之举:

  • 我没有被OpenID提供商锁定,因为如果/当雅虎不再提供服务,或者将开始收取服务,或者我将不再信任他们,我可以无痛地切换提供商
  • 我没有在我的服务器上安装和维护OpenID提供程序的经济,管理和安全负担

RP如何运作?我的理解是它应该使用 提供的标识符,并仅使用提供程序(yahoo)进行身份验证(而不是用于标识).那是对的吗?最近发生了什么变化?为了清楚起见,我的意思是我的身份应该是

http://www.mysite.com/myPreferredUrl

并不是

https://me.yahoo.com/myYahooId(这是我的网站"重定向"认证,如上述网站所述)

边注

我也问这个问题,因为现在似乎有些事情被打破了(几个月前它们还可以).如果我尝试登录stackoverflow,我写了mysite.com网址,我正确地"重定向"到我登录的雅虎网站,它询问我是否要"继续使用stackoverflow",我说是的,它"重定向",在stackoverflow网站上,我看到"这是我们以前从未见过的OpenID",它显示了我的雅虎ID,我实际上已经被锁定了!

这是一个错误,还是我错过了什么?

PS:如果你想知道我是怎么写这个问题的,那是因为在我使用的众多机器之一上,浏览器仍然有一个有效的cookie ....

编辑:Andrew Arnott在下面的回答提出了一种解决我的问题的方法(即切换到另一个提供商).但我仍然对一些细节感兴趣:从OpenID 1.1到2.0的变化是什么,关于授权?为什么在规范中选择让提供商"打破"授权?你解释得越多,接受答案的机会就越大.

openid specifications

4
推荐指数
1
解决办法
605
查看次数

在Windows上使用rails或ASP.NET作为网站

我需要创建一个与某些Windows应用程序交互的站点.目前这是通过直接调用完成的,所以我希望这些在网络服务器上运行.这意味着该站点必须在基于Windows的系统上运行.

我最近一直在做一些红宝石,我非常热衷于在网站上使用rails,但同时也看到了很多令人沮丧的帖子.

我应该更喜欢使用ASP.NET(MVC)用于Windows系统还是rails足够稳定来处理这个问题?

asp.net-mvc ruby-on-rails

2
推荐指数
1
解决办法
112
查看次数

当我们将div显示为可见时,隐藏div中的TinyMCE不会显示为已启用

我遇到了tinyMCE(WYSIWYG编辑器)的问题.我实际上是在像DIV这样的HTML元素中添加textarea,它当前具有样式属性"display:none".

当我将DIV显示样式更改为可见时,tinyMCE编辑器显示为已禁用.

重要说明:导致问题的设置是"auto_resize"选项.这是我打开/关闭的唯一选项,使tinyMCE编辑器进入编辑或只读模式.

这是我的代码:

tinyMCE.init({
    mode: "specific_textareas",
                editor_selector: /(RichTextArea)/, 
                theme: "advanced",
                auto_reset_designmode: true,
                auto_resize:true,
                theme_advanced_buttons1: "bold,italic,underline,strikethrough,|,fontselect,fontsizeselect,|,forecolor,backcolor,|,bullist,numlist,|,justifyleft,justifycenter,justifyright,justifyfull",
                theme_advanced_buttons2: "",
                theme_advanced_buttons3: "",
                theme_advanced_buttons4: "",
                theme_advanced_more_colors: 0,
                theme_advanced_toolbar_location: "external",
                theme_advanced_toolbar_align: "left"
});
Run Code Online (Sandbox Code Playgroud)

...

<a href="#" onclick='document.getElementById("myHiddenDiv").style.display = "block"; return false;'>Show WYSIWYG</a><br/>
<div id="myHiddenDiv" style="display:none">
    <!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
    <textarea class="RichTextArea" id="elm1" name="elm1" rows="15" cols="80" style="width: 80%">
        &lt;p&gt;This is the first paragraph.&lt;/p&gt;
        &lt;p&gt;This is the second paragraph.&lt;/p&gt;
        &lt;p&gt;This is the third paragraph.&lt;/p&gt;
    </textarea>
</div> …
Run Code Online (Sandbox Code Playgroud)

javascript tinymce

5
推荐指数
1
解决办法
8809
查看次数

updatepanel中的文本框问题 - 不会导致OnTextChanged事件

我有以下情况:我在ajax updatepanel中有一个文本框.无论用户在文本框中输入什么,我都必须显示一条消息(不同的消息取决于用户输入的数据).

     <asp:UpdatePanel ID="UpdatePanel1" runat="server" UpdateMode="Always">
        <ContentTemplate>
            <asp:TextBox ID="txtMyTexbox" runat="server" Width="500px" OnTextChanged="txtMyTexbox_TextChanged" AutoPostBack="true"></asp:TextBox>
            <br />
            <asp:Label ID="lblMessage" runat="server" CssClass="errorMessage" Visible="false">Hello World</asp:Label>
         </ContentTemplate>
            <Triggers>
             <asp:AsyncPostBackTrigger ControlID="txtMyTexbox" />
            </Triggers>
      </asp:UpdatePanel>
Run Code Online (Sandbox Code Playgroud)

在服务器端,我在页面加载时写了以下内容

ScriptManager.GetCurrent(this).RegisterAsyncPostBackControl(txtMyTexbox);           
Run Code Online (Sandbox Code Playgroud)

和这样的方法

protected void txtMyTexbox_TextChanged(object sender, EventArgs e)
    {           
            if (.....)
            {
                lblMessage.Visible = false;
            }
            else
            {
                lblMessage.Visible = true;
            }            
    }
Run Code Online (Sandbox Code Playgroud)

我现在的问题是:当用户键入文本框时,它不会导致OnTextChanged事件.

我错过了什么吗?

asp.net ajax updatepanel

12
推荐指数
3
解决办法
3万
查看次数