Archivo del autor: Ignacio Pérez Martín

amazon-logo

¿Cómo recibir facturas de Amazon con IVA español?

En otro post anterior hablaba sobre el magnífico Servicio de Atención al Cliente de Amazon y la garantía de sus productos, sin embargo todavía había algo que hacía que esa experiencia no fuese del todo satisfactoria: no sabía como recibir facturas de Amazon con IVA. Sin embargo, he descubierto que, para mi vergüenza, no podía ser más fácil.

Continúe leyendo

presupuesto_pagina_web

¿Cuánto cuesta una página web?

Podría empezar preguntándome: ¿Por qué es tan difícil responder a esta pregunta? Todos sabemos lo que vale un coche, un cartón de leche o, incluso, una vivienda.

Entonces, ¿por qué es distinto en el caso de las páginas web? ¿Es porque los programadores se aprovechan de los clientes y cada uno le pone el precio que le da la gana?.

Continúe leyendo

are-you-too-busy-to-improve2

Me gustaría tener o mejorar mi página web pero no tengo tiempo…

(Imagen sacada del blog de Hakan Forss. Traducción: ¿Estás demasiado ocupado para mejorar? No, gracias. Estamos muy ocupados.)

¿Cuántas veces he oído esa frase? A empresarios, autónomos, particulares que se plantean montar su negocio en Internet… Pero claro, están muy ocupados para poder dedicarle tiempo a «las tecnologías».

Y no mienten, es verdad, la culpa la tiene la multitud de innovaciones que han sufrido que no han mejorado su trabajo. Lo explican frases como: «Desde que tenemos el nuevo sistema tenemos que registrarlo todo dos veces» o «Antes se hacían las cosas más rápido, ahora hay que usar el nuevo programa«.

Continúe leyendo

dni_python

Código Python para comprobar si un DNI, NIF o NIE es válido

def validoDNI(dni):
    tabla = "TRWAGMYFPDXBNJZSQVHLCKE"
    dig_ext = "XYZ"
    reemp_dig_ext = {'X':'0', 'Y':'1', 'Z':'2'}
    numeros = "1234567890"
    dni = dni.upper()
    if len(dni) == 9:
        dig_control = dni[8]
        dni = dni[:8]
        if dni[0] in dig_ext:
            dni = dni.replace(dni[0], reemp_dig_ext[dni[0]])
        return len(dni) == len([n for n in dni if n in numeros]) \
            and tabla[int(dni)%23] == dig_control
    return False

Eso comprueba que:

  • Tenga una longitud de 9 dígitos, todos numéricos menos el primero (extranjeros) y el último (control) que pueden estar entre unas letras concretas.
  • Si es extranjero se sustituye la primera letra por su número correspondiente antes de calcular el dígito de control.
  • Se comprueba el dígito de control (última cifra).

Devuelve True o False.

Más información sobre el cálculo del dígito de control del NIF/NIE (Ministerio del Inerior, interior.gob.es).

django

Tema 6: Django

Lo explicado en este tema debería ser suficiente para crear un proyecto Django simple que interactúe con una base de datos. Aquí se van a ir exponiendo los conceptos y los distintos elementos que intervienen. En el tema siguiente, donde explicaré el trabajo del curso, podréis ver un proyecto Django al completo y comprender mejor como se unen todas las piezas del curso: HTML + CSS + Python + Django.

Continúe leyendo