Notación de nombre de dominio inverso

La notación de nombre de dominio de inversa o DNS-inverso (en inglés: reverse-DNS) es una convención para nombrar los componentes, paquetes, y los tipos utilizados por un lenguaje de programación, un sistema o un framework.

Una característica del las cadenas de texto DNS-inversa es que están basados en dominios registrados, y es únicamente invertido para ordenar cosas. Por ejemplo, si una compañía que hace un producto llamado "MiProducto" y tiene el nombre de dominio registrado "ejemplo.com", podrían utilizar el DNS-inverso "com.ejemplo.MiProducto" para describirlo.

Historia editar

El DNS-inverso primero devenía ampliamente utilizado con la plataforma Java, y desde entonces ha sido utilizado para otros sistemas, por ejemplo, para los paquetes de ActionScript 3.[cita requerida]

Ejemplos editar

Ejemplos de sistemas que usan DNS-inverso son: Java de Sun Microsystems, Uniform Type Identifier (UTI) de Apple. El sistema operativo Android también hace uso de la notación para clasificar las aplicaciones, como la máquina virtual Dalvik que hace uso de Java.

Ejemplos de DNS-inverso:

  • com.adobe.postscript-font (cadena de texto UTI para las fuentes de Adobe Systems)
  • com.apple.ostype (cadena de texto UTI para OSType de Apple)
  • org.omg.CORBA (librería de Java para CORBA)
  • org.w3c.dom (librería de Java para el Document Object Model (DOM) de la W3C)
  • dconf que es la herramienta de configuración GNOME.

Expresión regular editar

^[Un-Za-z]{2,6}((?!-)[Un-Za-z0-9-]{1,63}(?<!-)\\.)+$

Código editar

C# editar

static string ReverseDomainName(string domain)
{
    return string.Join(".", domain.Split('.').Reverse());
}

JavaScript editar

function reverseDomain(domain) {
    return domain.split('.').reverse().join('.');
}

PHP editar

function reverseDomain(domain) {
    return implode('.', array_reverse(explode('.', domain)));
}

Python editar

def reverse_domain(domain):
    return '.'.join(reversed(domain.split('.')))

Ruby editar

def reverse_domain(domain)
  domain.sp­lit('.').r­everse.j­oin('.')
end

Swift editar

func reverseDomain(domain:String) -> String{
    return domain.componentsSeparatedByString(".").reverse().joinWithSeparator(".")
}

Referencias editar

Enlaces externos editar