精华内容
下载资源
问答
  • Descriptor

    2016-08-24 17:48:49
    /// /// Descriptor information. /// public class Descriptor { /// /// Key. /// public K Key { get; set; } /// /// Name. ///
    /// <summary>
        /// Descriptor information.
        /// </summary>
        public class Descriptor<K> {
    
            /// <summary>
            /// Key.
            /// </summary>
            public K Key { get; set; }
    
            /// <summary>
            /// Name.
            /// </summary>
            public String Name { get; set; }
    
            /// <summary>
            /// Description
            /// </summary>
            public String Description { get; set; }
    
            /// <summary>
            /// Get descriptor caption.
            /// </summary>
            public String Caption {
                get {
                    if (String.IsNullOrEmpty(Description))
                        return Name;
    
                    return String.Format("{0} - {1}", Name, Description);
                }
            }
    
            /// <summary>
            /// To String
            /// </summary>
            /// <returns>Default string display on binding list</returns>
            public override string ToString() {
                return Caption;
            }
    
            /// <summary>
            /// Equals
            /// </summary>
            /// <param name="obj">Equals object</param>
            /// <returns>When object has same key return true else return false</returns>
            public override bool Equals(object obj) {
                if (obj is Descriptor<K>) {
                    return ((Descriptor<K>)obj).Key.Equals(Key);
                }
    
                return base.Equals(obj);
            }
    
            /// <summary>
            /// Get hashcode.
            /// </summary>
            /// <returns>Hashcode</returns>
            public override int GetHashCode() {
                return Key.GetHashCode();
            }
        }


            /// <summary>
            /// Get all resource descriptors.
            /// </summary>
            /// <returns>Resource descriptor list</returns>
            public static async Task<IList<Descriptor<Int32>>> GetAllDescriptors() {
                using (MesproContext db = GetContext()) {
                    return await db.Resources
                                   .OrderBy(m => m.Name)
                                   .Select(m => new Descriptor<Int32>() { Key = m.ID, Name = m.Name, Description = m.Description })
                                   .ToListAsync();
                }
            }


    展开全文
  • Report Descriptor

    2017-03-20 23:09:58
    Report Descriptor分析
  • ORA-12505: TNS: 监听程序当前...ORA-12505, TNS:listener does not currently know of SID given in connect descriptor 说明给到的sid有误,很有可能就是服务名和sid混淆使用。 首先了解数据库url的写法有两种 ...

    ORA-12505: TNS: 监听程序当前无法识别连接描述符中所给出的SID

    给程序配置新的数据库的时候,出现了以下错误 

    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor

    说明给到的sid有误,很有可能就是服务名和sid混淆使用

    首先了解数据库url的写法有两种

    //监听sid服务,表示sid为orcl
    database.url=jdbc:oracle:thin:@171.xxx.96.xx:xxxx:orcl
    //监听服务名,表示服务名为orcl
    database.url=jdbc:oracle:thin:@171.xxx.96.xx:xxxx/orcl

    第一种是监听sid服务,第二种则是监听服务名

    所以发现是自己的sid写错导致出现这个错误,把服务名当做了sid

    把orcl的 “ : ” 改为 “ / ”  访问正常

    展开全文
  • freak descriptor

    2014-01-22 22:03:01
    paper on a new binary descriptor
  • python descriptor

    2015-12-22 21:39:34
    python descriptor
    #! /usr/bin/python
    class des(object):
         def __init__(self, value):
             self.value = value
             self.instance = {}
         def __get__(self, instance, owner):
             if instance in self.instance:
                return self.instance[instance]
             else:
                self.instance[instance] = None
                return None
         def __set__(self, instance, value):
             self.instance[instance] = value
    
    class test(object):
         attr = des(0)
         def __init__(self, name, school):
             self.name = name
             self.school = school
    
    
    if __name__ == '__main__':
       print test.attr
       print '*' * 6
       t = test("test1", "test2")
       print t.__dict__
       print t.attr
       t.attr = 14
       print t.attr
       print t.__dict__
       print '*' * 6
       t1 = test("test3", "test4")
       print t.__dict__
       print t1.attr
       t1.attr = 35
       print t1.attr
       print t1.__dict__
       print "*" * 6
       print test.attr

    执行结果为:

    None
    ******
    {'school': 'test2', 'name': 'test1'}
    None
    14
    {'school': 'test2', 'name': 'test1'}
    ******
    {'school': 'test2', 'name': 'test1'}
    None
    35
    {'school': 'test4', 'name': 'test3'}
    ******
    None


    我们可以看到,t和t1的__dict__里面没有attr这个属性,所以我们在查找实例t和t1的属性attr时,实例本身是不存在attr属性的,所以我们找到test类变量attr,既然时test的类变量,那么test和test的实例t、t1均可以访问这个实例属性。



    关于python descriptor

    1.简介

    我们可以自定义python descriptor,同时python也有许多内置的descriptor,包括functions、property、static method、class method

    2.定义与介绍

    通常而言,descriptor是一个对象属性,但是其拥有“绑定”的方法。访问这些对象属性我们要遵循descriptor定义的规则。descriptor定义了__get__() __set__() __delete__()方法。如果某个对象定义了上述方法中的一个,那么它就是一个descriptor。其实可以说类中定义的所有的方法均为类的属性。

    descriptor是method、property、static method、class method背后的魔法。

    3.descriptor定义的方法

    descr.__get__(self, obj, type=None) 此方法返回值为value。

    descr.__set__(self, obj, value)此方法的返回值为None。

    descr.__delete__(self, obj) 此方法的返回值为None。

    如果一个对象定义了上述方法的任意一个,那么这个对象就可以称为descriptor。

    如果一个对象定义了__get__()和__set__()方法,那么这个对象可以看作是一个data descriptor。如果一个对象只定义了__get__()方法,那么此对象可以称之为non-data descriptor(比如说class method、static method、instance method等)。

    data descriptor的优先级要高于本地的同名属性。而本地的同名属性的优先级则要高于non-data descriptor。

    如果需要定义一个只读的data descriptor,那么我们需要定义__get__() __set__()方法,但是在__set__方法中我们需药引发AttributeError异常。

    一个例子如下:

    class RevealAccess(object):
        """A data descriptor that sets and returns values
           normally and prints a message logging their access.
        """
    
        def __init__(self, initval=None, name='var'):
            self.val = initval
            self.name = name
    
        def __get__(self, obj, objtype):
            print 'Retrieving', self.name
            return self.val
            #return obj.x__, 返回实例自己的值
        def __set__(self, obj, val):
            print 'Updating', self.name
            self.val = val
            #obj.x__ = value, 这里为使用RevealAccess的类实例均有自己的实例属性值,RevealAccess仅仅作属性访问赋值控制
    >>> class MyClass(object):
        x = RevealAccess(10, 'var "x"')
        y = 5
    
    >>> m = MyClass()
    >>> m.x
    Retrieving var "x"
    10
    >>> m.x = 20
    Updating var "x"
    >>> m.x
    Retrieving var "x"
    20
    >>> m.y
    5
    这里有一个问题,MyClass类中的RevealAccess实例是类实例,我们的MyClass所有对象均需要访问这同一个类实例,我们对调用某个类实例对RevealAccess作出的更改,那么所有派生于MyClass的实例均受此影响。( 我们之前定义了类实例,当类实例重新对类属性赋值时,其实时定义了一个本实例内的一个同名属性,而且我们通过类实例访问这个同名属性时,本地属性优先级要高于类属性,那么我们获得了本地属性值,但是在descriptor中,data decsriptor的优先级则要高于同名的本地属性,此时无论我们对此属性进行赋值还是访问都是实用类定义的类属性)。 Properties, bound and unbound methods, static methods, and class methods都是基于descriptor的。

    4.property

    property就是一个内置的data descriptor。使用python实现的property的代码如下所示:

    class Property(object):
        "Emulate PyProperty_Type() in Objects/descrobject.c"
    
        def __init__(self, fget=None, fset=None, fdel=None, doc=None):
            self.fget = fget
            self.fset = fset
            self.fdel = fdel
            if doc is None and fget is not None:
                doc = fget.__doc__
            self.__doc__ = doc
    
        def __get__(self, obj, objtype=None):
            if obj is None:
                return self
            if self.fget is None:
                raise AttributeError("unreadable attribute")
            return self.fget(obj)
    
        def __set__(self, obj, value):
            if self.fset is None:
                raise AttributeError("can't set attribute")
            self.fset(obj, value)
    
        def __delete__(self, obj):
            if self.fdel is None:
                raise AttributeError("can't delete attribute")
            self.fdel(obj)
    
        def getter(self, fget):
            return type(self)(fget, self.fset, self.fdel, self.__doc__)
    
        def setter(self, fset):
            return type(self)(self.fget, fset, self.fdel, self.__doc__)
    
        def deleter(self, fdel):
            return type(self)(self.fget, self.fset, fdel, self.__doc__)


    4.functions & methods

    Python’s object oriented features are built upon a function based environment. Using non-data descriptors, the two are merged seamlessly.

    类的字典将类中定义的方法存储为函数。在类定义中,方法是用def或者lambda来定义。方法和普通函数一个差异是第一个参数是类实例对象。

    为了支持方法的调用,类中存储的函数(方法)作为non-data descriptor使用__get__方法来判断第一个传入的参数是类实例还是类本身,并且判断是否是绑定方法。


    5.staticmethod & classmethod

    class StaticMethod(object):
     "Emulate PyStaticMethod_Type() in Objects/funcobject.c"
    
     def __init__(self, f):
          self.f = f
    
     def __get__(self, obj, objtype=None):
          return self.f

    使用@Staticmethod语法躺,等同于func=StaticMethod(func),当使用instance.func时其实是调用instance.func.__get__(instance, instance.__class__)


    class ClassMethod(object):
         "Emulate PyClassMethod_Type() in Objects/funcobject.c"
    
         def __init__(self, f):
              self.f = f
    
         def __get__(self, obj, klass=None):
              if klass is None:
                   klass = type(obj)
              def newfunc(*args):
                   return self.f(klass, *args)
              return newfound
    上两个classmethod和staticmethod python descriptor的实现的non-data descriptor( 优先级低于本地赋值的变量



    展开全文
  • Configuration Descriptor

    2019-08-16 10:59:29
    整個Configuration 分成4大部分 : configuration interface, class or vendor specific( 如 HID, ...以一个usb audio 的设备configuration descriptor来举例: typedef struct { configuration_descriptor cd; /...

    整個Configuration 分成4大部分 :

    1. configuration
    2. interface,
    3. class or vendor specific( 如 HID, Audio)
    4. endpoint
      在这里插入图片描述
      以一个usb audio 的设备configuration descriptor来举例:
      typedef struct
      {
      configuration_descriptor cd; // Configuration descriptor
      interface_descriptor id0; // Audio control interface
      audio_header_descriptor ahd; // Audio control header
      input_terminal_descriptor itd; // Audio input terminal
      feature_unit_descriptor fud; // Audio feature unit
      output_terminal_descriptor otd; // Audio output terminal
      interface_descriptor id1_0; // Audio zero-bandwidth interface
      interface_descriptor id1_1; // Audio streaming interface
      stream_interface_descriptor sid; // Audio stream descriptor
      typeI_format_descriptor tfd; // Audio format descriptor
      stream_endpoint_descriptor sed; // Streaming endpoint descriptor
      audio_endpoint_descriptor aed; // Audio endpoint descriptor
      interface_descriptor id2; // HID interface descriptor
      hid_descriptor hd; // HID descriptor
      endpoint_descriptor ed1; // GET_REPORT input endpoint
      endpoint_descriptor ed2; // SET_REPORT output endpoint
      } complete_configuration; // End of complete_configuration

    configuration_descriptor:
    { // Standard configuration descriptor
    0x09, // bLength (9)
    0x02, // bDescriptorType (CONFIGURATION)
    0x9100, // wTotallength (145)
    0x03, // bNumInterfaces (3)
    0x01, // bConfigurationValue (1)
    0x00, // iConfiguration (none)
    0x80, // bmAttributes (bus-powered)
    0x32, // bMaxPower (100 mA)
    },
    有3个interface,configuration No is 1, 没有字符串描述

    第一个interface 是  interface_descriptor id0;              // Audio control interface
    {                                   // Audio control interface
      0x09,                            // bLength (9)
      0x04,                            // bDescriptorType (INTERFACE)
      0x00,                            // bInterfaceNumber (0)
      0x00,                            // bAlternateSetting (none)
      0x00,                            // bNumEndpoints (none)
      0x01,                            // bInterfaceClass (AUDIO)
      0x01,                            // bInterfaceSubClass (AUDIO_CONTROL)
      0x00,                            // bInterfaceProtocol (none)
      0x00                             // iInterface (none)
    

    },
    interface 序号是0, endpoints 个数为0, AUDIO CLASS, AUDIO_CONTROL
    包含一个Header, Input_terminal further unit,OUTPUT_TERMINAL
    因为interface是audio 类,后边跟类描述符
    { // Audio class-specific interface header
    0x09, // bLength (9)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x01, // bDescriptorSubtype (HEADER)
    0x0001, // bcdADC (1.0)
    0x2B00, // wTotalLength (43)
    0x01, // bInCollection (1 streaming interface)
    0x01 // baInterfaceNr (interface 1 is stream)
    },
    { // Audio class-specific input terminal
    0x0C, // bLength (12)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x02, // bDescriptorSubtype (INPUT_TERMINAL)
    0x01, // bTerminalID (1)
    0x1007, // wTerminalType (radio receiver)
    0x00, // bAssocTerminal (none)
    0x02, // bNrChannels (2)
    0x0300, // wChannelConfig (left, right)
    0x00, // iChannelNames (none)
    0x00 // iTerminal (none)
    },
    { // Audio class-specific feature unit
    0x0D, // bLength (13)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x06, // bDescriptorSubtype (FEATURE_UNIT)
    0x02, // bUnitID (2)
    0x01, // bSourceID (input terminal 1)
    0x02, // bControlSize (2 bytes)
    0x0100, // Master controls
    0x0000, // Channel 0 controls
    0x0000, // Channel 1 controls
    0x00 // iFeature (none)
    },
    { // Audio class-specific output terminal
    0x09, // bLength (9)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x03, // bDescriptorSubtype (OUTPUT_TERMINAL)
    0x03, // bTerminalID (3)
    0x0101, // wTerminalType (USB streaming)
    0x00, // bAssocTerminal (none)
    0x02, // bSourceID (feature unit 2)
    0x00 // iTerminal (none)
    },

    第二个interface { // Audio zero-bandwidth interface
    0x09, // bLength (9)
    0x04, // bDescriptorType (INTERFACE)
    0x01, // bInterfaceNumber (1)
    0x00, // bAlternateSetting (0)
    0x00, // bNumEndpoints (0)
    0x01, // bInterfaceClass (AUDIO)
    0x02, // bInterfaceSubClass (AUDIO_STREAMING)
    0x00, // bInterfaceProtocol (none)
    0x00 // iInterface (none)
    },

    第三个interface
    { // Audio streaming interface (alternate)
    0x09, // bLength (9)
    0x04, // bDescriptorType (INTERFACE)
    0x01, // bInterfaceNumber (1)
    0x01, // bAlternateSetting (1)
    0x01, // bNumEndpoints (1)
    0x01, // bInterfaceClass (AUDIO)
    0x02, // bInterfaceSubClass (AUDIO_STREAMING)
    0x00, // bInterfaceProtocol (none)
    0x00 // iInterface (none)
    },
    { // Audio class-specific stream interface
    0x07, // bLength (7)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x01, // bDescriptorSubtype (AS_GENERAL)
    0x03, // bTerminalLink (terminal 3)
    0x00, // bDelay (none)
    0x0100 // wFormatTag (PCM format)
    },
    { // Audio class-specific type I format
    0x0B, // bLength (11)
    0x24, // bDescriptorType (CS_INTERFACE)
    0x02, // bDescriptorSubtype (FORMAT_TYPE)
    0x01, // bFormatType (TYPE_I)
    0x02, // bNrChannels (2)
    0x02, // bSubFrameSize (2)
    // The next field should be 10, but 16 works with more standard software
    0x10, // bBitResolution (16)
    0x01, // bSamFreqType (1 sampling frequency)
    0x80, // 48,000 Hz (byte 0)
    0xBB, // 48,000 Hz (byte 1)
    0x00 // 48,000 Hz (byte 2)
    },
    { // Audio streaming isochronous endpoint
    0x09, // bLength (9)
    0x05, // bDescriptorType (ENDPOINT)
    0x83, // bEndpointAddress (EP3 in)
    0x05, // bmAttributes (asynchronous)
    0x0002, // wMaxPacketSize (512)
    0x01, // bInterval (1 millisecond)
    0x00, // bRefresh (0)
    0x00 // bSynchAddress (no synchronization)
    },
    { // Audio isochronous endpoint
    0x07, // bLength (7)
    0x25, // bDescriptorType (CS_ENDPOINT)
    0x01, // bDescriptorSubtype (EP_GENERAL)
    0x00, // bmAttributes (none)
    0x02, // bLockDelayUnits (PCM samples)
    0x0000 // wLockDelay (0)
    },

    HID interface 还有endpoints
    { // HID interface
    0x09, // bLength (9)
    0x04, // bDescriptorType (INTERFACE)
    0x02, // bInterfaceNumber (2)
    0x00, // bAlternateSetting (0)
    0x02, // bNumEndpoints (2)
    0x03, // bInterfaceClass (HID)
    0x00, // bInterfaceSubClass (none)
    0x00, // bInterfaceProtocol (none)
    0x00 // iInterface (none)
    },
    { // HID descriptor
    0x09, // bLength (9)
    0x21, // bDescriptorType (HID_DESCRIPTOR)
    0x1101, // bcdHID (1.11)
    0x00, // bCountryCode (none)
    0x01, // bNumDescriptors (1 class descriptor)
    0x22, // bClassDescriptorType (report descr.)
    LE(HID_REPORT_SIZE) // wDescriptorLength (203)
    },
    { // HID interrupt in endpoint
    0x07, // bLength (7)
    0x05, // bDescriptorType (ENDPOINT)
    0x81, // bEndpointAddress (EP1 in)
    0x03, // bmAttributes (interrupt)
    0x4000, // wMaxPacketSize (64)
    0x0A // bInterval (10 milliseconds)
    },
    { // HID interrupt out endpoint
    0x07, // bLength (7)
    0x05, // bDescriptorType (ENDPOINT)
    0x02, // bEndpointAddress (EP2 out)
    0x03, // bmAttributes (interrupt)
    0x4000, // wMaxPacketSize (64)
    0x01 // bInterval (1 millisecond)
    }

    HID report descriptor 一般独立于 configuration之外
    HidReportDesc
    {

    0x06, 0x00, 0xFF, // USAGE_PAGE (Vendor Defined Page 1)
    0x09, 0x01, // USAGE (Vendor Usage 1)
    0xA1, 0x01, // COLLECTION (Application)
    0xC0 // END_COLLECTION

    };

    展开全文
  • @descriptor

    2018-10-08 14:02:01
    const log = (target, name, descriptor) =&gt; { //ES6实现AOP const _handler = descriptor.value; descriptor.value = function(){ console.log(arguments); _handler.apply(this,arguments); }; ...
  • Deployment descriptor

    2019-03-13 22:58:52
    A deployment descriptor (DD) refers to a configuration file for an artifact that is deployed to some container/engine. In the Java Platform, Enterprise Edition, a deployment descriptor describes how a...
  • 主要向我们详细介绍了Python描述器descriptor,需要的朋友可以参考下
  • Object descriptor has become one of the key factors for a robust and accurate tracker. In this paper, we propose an object descriptor combining color information and motion detection. A tracked object...
  • HID Descriptor Tool

    2010-10-06 12:18:24
    HID Descriptor Tool HID Descriptor Tool
  • HID descriptor

    2011-07-08 15:06:07
    a file for descript PS2 HID descriptor and its asocitation with the keycode
  • TypeError: Expected a message Descriptor, got Descriptor 问题解决: 有资料表示是由于tensorflow与protobuf版本不匹配,tensorflow与protobuf的版本对应关系如下: tensorflow 1.5 --------------- protobuf ...
  • FileDescriptor详解

    2020-05-29 11:03:27
    FileDescriptor 介绍 FileDescriptor 是“文件描述符”。 FileDescriptor 可以被用来表示开放文件、开放套接字等。 以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor...
  • FileDescriptor使用

    千次阅读 2017-08-19 08:50:18
    FileDescriptor 介绍 FileDescriptor 是“文件描述符”。 FileDescriptor 可以被用来表示开放文件、开放套接字等。 以FileDescriptor表示文件来说:当FileDescriptor表示某文件时,我们可以通俗的将FileDescriptor...
  • deployment descriptor

    2019-03-18 10:36:40
    servlet写好这后你要部署...Descriptor是接口 所有超级接口: Cloneable, Serializable 所有已知实现类: DescriptorSupport, ImmutableDescriptor --------------------------------------------------------...
  • Python descriptor

    2017-10-07 11:10:30
    从attribute到property, 现在又出现了descriptor. 刚读到Fluent Python里的这一章(Chapter 20)时, 内心阴影面积着实很大, 要理清它们的关系确实不那么容易.什么是descriptor?一种协议, 协议方法有仨: __get__, __set...
  • 本文给大家分Python 中的 descriptor相关知识,非常不错,具有参考借鉴价值,需要的朋友参考下吧
  • howto-descriptor.pdf

    2021-04-22 11:12:54
    howto-descriptor.pdf
  • 本文给大家介绍的是Python中比较重要的一个知识点--描述符(Descriptor),描述符(descriptor)是Python语言核心中困扰我时间最长的一个特性,但是一旦你理解了之后,描述符的确还是有它的应用价值的。
  • Python 在 2.2 版本中引入了descriptor(描述符)功能,也正是基于这个功能实现了新式类(new-styel class)的对象模型,同时解决了之前版本中经典类 (classic class) 系统中出现的多重继承中的 MRO(Method Resolution...
  • PHOG descriptor

    千次阅读 2013-12-28 21:29:10
    PHOG descriptor Code Download the PHOG code. It computes the PHOG descriptor over a Region Of Interest (ROI). If you want to compute the descriptor for the whole image the ROI is the ...
  • In this paper, an effective and rigorous shape descriptor is developed for shape recognition under affine transformations. To reflect the gray information of the shape, two extended centroids with ...
  • LDT descriptor

    2012-04-05 09:04:03
    显然,GDT(global descriptor table)是系统与所有进程共用的。相对于 LDT(local descriptor table)则是进程独享的。GPRs、selector registers、stack pointers、eflags、LDT descriptor、CR3 构成了一个进程的...
  • 主要介绍了Python 描述符descriptor使用原理解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 166,526
精华内容 66,610
关键字:

descriptor