如何将XSD转换为Python类

我只想知道是否有一个程序可以将JAXB用于Java的XSD文件转换为Python类?

追查Spring的“不符合自动代理条件”的原因

当你开始搞乱Spring的自动代理的东西,你经常遇到这样的行为logging: 实现BeanPostProcessor接口的类是特殊的,所以它们被容器区别对待。 所有BeanPostProcessors及其直接引用的Bean将在启动时实例化,作为ApplicationContext的特殊启动阶段的一部分,然后所有BeanPostProcessors将以已sorting的方式注册 – 并应用于所有其他bean。 由于AOP自动代理被实现为一个BeanPostProcessor本身,所以没有BeanPostProcessors或直接引用的Bean有资格进行自动代理(因此不会有“编织”的方面)。 对于任何这样的bean,您应该看到一条信息日志消息:“Bean'foo'不适合所有BeanPostProcessors处理(例如:不适合自动代理)”。 换句话说,如果我编写自己的BeanPostProcessor,并且该类直接引用上下文中的其他Bean,那么这些引用的Bean将不具备自动代理的资格,并且会为此logging一条消息。 我的问题是跟踪直接引用的位置可能非常困难,因为“直接引用”实际上可能是一个传递依赖链,最终在应用程序上下文中占用一半的bean。 所有的spring给你的是单一的信息消息,并没有什么帮助,除了告诉你什么时候一个bean被引用到这个网页中。 我正在开发的BeanPostProcessor确实具有对其他bean的直接引用,但它是一组非常有限的引用。 尽pipe如此,根据日志消息,几乎我的上下文中的每个bean都被排除在自动代理之外,但是我无法看到依赖关系在哪里发生。 有没有人find一个更好的方法来跟踪这个呢?

我应该创build映射器对象还是在SQLAlchemy中使用声明性语法?

有两个(三个,但我不算Elixir ,因为它不是“官方”)用SQLAlchemy定义一个持久对象的方法: 映射器对象的显式语法 from sqlalchemy import Table, Column, Integer, String, MetaData, ForeignKey from sqlalchemy.orm import mapper metadata = MetaData() users_table = Table('users', metadata, Column('id', Integer, primary_key=True), Column('name', String), ) class User(object): def __init__(self, name): self.name = name def __repr__(self): return "<User('%s')>" % (self.name) mapper(User, users_table) # &lt;Mapper at 0x…; User&gt; 声明语法 from sqlalchemy.ext.declarative import declarative_base […]

在ASP.NET MVC 2中的每个控制器操作之前,如何获得某些代码?

我想检查有关会话状态,用户代理等的一些事情,并可能采取行动,并在控制器方法有机会执行之前返回一个特殊的视图。 例如: 最常见的: 用户请求主页/索引 系统检查以确保x!= 0。 x不等于零,所以Home / Index控制器像正常一样执行。 但是有时: 用户请求主页/索引 系统检查以确保x!= 0。 x等于零。 用户必须被通知,并且所请求的控制器动作不能被允许执行。 我认为这涉及使用ActionFilters。 但是我已经阅读了他们,我不明白,如果我可以抢占控制器的方法,并返回一个视图执行之前。 我确信我可以在控制器方法运行之前执行代码,但是如何避免它在某些情况下运行并返回自定义视图,或者直接转到其他控制器方法? 更新:我实施了RM的解决scheme。 这就是我所做的: public class MyAttribute : ActionFilterAttribute { public override void OnActionExecuting(ActionExecutingContext filterContext) { if (myValue == wrongValue) { filterContext.Result = new ViewResult{ViewName = "Notice"}; } base.OnActionExecuting(filterContext); } } 现在,当myValue错误时,这些用户将获得通知视图,并且所请求的控制器将永远不会执行。 为了使这个工作,我把它应用到我所有的控制器inheritance的ControllerBase。

如何过滤(或replace)UTF-8中需要超过3个字节的unicode字符?

我正在使用Python和Django,但是我遇到了由于MySQL限制而导致的问题。 根据MySQL 5.1文档 ,他们的utf8实现不支持4字节的字符。 MySQL 5.5将使用utf8mb4支持4字节字符; 而且将来有一天, utf8也可能会支持它。 但是我的服务器还没有准备好升级到MySQL 5.5,因此我只能使用3个字节或更less的UTF-8字符。 我的问题是: 如何过滤(或replace)将需要超过3个字节的Unicode字符? 我想用官方的\ufffd ( U + FFFDreplace字符 )replace所有的4字节字符,还是用? 。 换句话说,我想要一个与Python自己的str.encode()方法非常相似的行为(当传递'replace'参数时)。 编辑:我想要一个类似于encode()的行为,但我不想实际编码string。 我想在过滤后仍然有一个unicodestring。 在存储到MySQL之前,我不想逃避这个angular色,因为那意味着我需要将我从数据库中获得的所有string都取消,这是非常烦人和不可行的。 也可以看看: 将某些unicode字符保存到MySQL (在Django票证系统中) 时出现“错误的string值”警告 '𠂉'不是一个有效的unicode字符,但在unicode字符集? (在堆栈溢出) [编辑]增加了有关build议解决scheme的testing 所以我得到了很好的答案。 谢谢,人民! 现在,为了select其中之一,我做了一个快速testing,find最简单,最快速的一个。 #!/usr/bin/env python # -*- coding: utf-8 -*- # vi:ts=4 sw=4 et import cProfile import random import re # How many times to […]

为什么phpstring连接运算符是一个点(。)?

在PHP中, string运算符点(。)用于连接string。 例如: $msg = "Hello there, " . $yourName; 点运算符在第一次看到它的时候似乎总是让人们(包括我自己)迷惑,特别是当你使用它连接2个string时,操作不会抛出错误,只是“默默地”失败。 在不使用此操作符的PHP和其他语言(如JavaScript,Python等)之间切换时也是一个常见的错误。 我的问题是,为什么该语言使用点(。)运算符而不是一个更广泛接受的运算符,如加号(+)? 有没有什么历史原因可以指出为什么这个运营商被选中? 只是因为点可以将其他variablestypes转换为string? 例如: echo 1 . 2; //prints the string "12" 谢谢!

JMS连接,会话和生产者/消费者之间的关系

我想发送一批20k JMS消息到同一个队列。 我使用10个线程分割任务,所以每个线程都会处理2k个消息。 我不需要交易。 我想知道是否有一个连接,一个会话,10个生产者是否是推荐的方式? 如果我有一个生产者共享所有线程怎么样? 我的邮件是否会被损坏或是否会被同步发送(不会提高性能)? 如果我总是连接到相同的队列,那么决定是否创build新连接或会话的一般准则是什么? 谢谢你,很抱歉,一次问很多。 (这里有一个类似的问题,但是它并没有完全回答我正在寻找的东西。 长时间的JMS会话。保持JMS连接/ JMS会话总是打开一个不好的实践? )

Android:以编程方式设置首选项

我有一个喜好的小ap。 在这个类中,我设置了onPreferenceClick从GPS获取坐标。 当听者返回时,我的希望是自动设置纬度/长度textedits。 我已经尝试了每个源代码样本,没有运气: public void onLocationChanged(Location l) { Log.d("H","Location Received: "+l.toString()); prefLocation.setSummary(l.toString()); SharedPreferences settings = getSharedPreferences(PREFS_NAME, MODE_PRIVATE); SharedPreferences.Editor editor1 = settings.edit(); editor1.putString("posLat","xxx"); editor1.commit(); } 当我点击我的PreferenceScreen并且位置侦听器返回时执行这段代码时,带有“posLat”键的EditTextPreference仍然显示旧值。 我疯了试图找出什么是错的! 我的prefs.xml: <?xml version="1.0" encoding="utf-8"?> <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" android:key="My_Shared_Preferences"> <PreferenceCategory android:title="Your Location"> <PreferenceScreen android:title="Find Location…" android:key="location" android:summary="Click here to read your location automatically"/> <EditTextPreference android:title="Latitude" android:key="posLat" /> <EditTextPreference android:title="Longtitude" android:key="posLong" […]

为什么当我发现自己在100%的时间使用非primefaces时,“primefaces”是Objective C中默认的@property限定符?

在我担任iOS开发人员的几年中,我不认为自己曾经在一个属性上使用primefaces 。 如果由于线程的原因,我可以看到潜在的竞争条件或数据完整性问题,那么对@property使用primefaces将永远不会有帮助。 我使用传统的事务/工作单元线程安全技术(使用机制锁,信号灯或其他)。 有没有人有(或知道)在什么地方使用primefaces的实际例子? (我很想看看一些实际的/实际的代码示例) 在写了十亿次非primefaces之后,我还想知道为什么苹果决定把primefaces作为默认值。

你应该为Java枚举定义一个null / unknown值吗?

当你定义一个枚举的东西,可以在你的界面“未定义”,如果你 定义一个单独的枚举值,或 只是使用enumValue = null这些情况? 例如, serviceX.setPrice(Price priceEnum) enum Price { CHEAP, EXPENSIVE, VERRRY_EXPENSIVE, UNKNOWN } 和priceEnum.UNKNOWN需要时 要么 enum Price { CHEAP, EXPENSIVE, VERRRY_EXPENSIVE } 和priceEnum = null时需要? 对此有一点辩论。 一些想到的点: 使用Price.UNKNOWN保存一些“if(price == null)”代码。 您可以在一个开关柜中处理价格x的所有值 根据视图技术,可能更容易本地化Price.UNKNOWN 在代码中使用Price.UNKNOWNtypes的原因“幻数”问题,IMO。 这里我们有Price.UNKNOWN,其他地方可能是Color.UNDEFINED,Height.NULLVALUE等等 使用priceValue = null与Java中处理其他数据types的方式更加一致。 对于未知值,我们有Integer i = null,DomainObject x = null,String s = null,不是吗? Price.UNKNOWN强制您决定是否允许所有用例的空值。 我们可能有方法Price getPrice(),它可能会返回Price.UNKNOWN和setPrice(Price p),这是不允许接受Price.UNKNOWN的。 由于Price.UNKNOWN总是包含在枚举的值中,所以这些接口看起来有点不清洁。 […]