jueves, 28 de febrero de 2019

Unidad No.1- Exposiciones(SQLite)

Link para descargar IDE de SQLite(SQLite Manager): https://www.sqlabs.com/sqlitemanager.php

¿Que es?
Es una herramienta de software libre que permite almacenar informacion en dispositivos empotrados de forma sencilla como por ej: un celular

Historia
Surge a partir de un trabajo de software de la fuerza naval de USA. Su creador es Richard Hipp

Caracteristicas:
La base de datos completa se encuentra en solo archivo
Puede funcionar enteramente en memoria, lo hace muy rapida
Es totalmente autocontenidad
Cuenta con librerias de acceso para muchos lenguajes de programacion
Soporta funciones SQL
El codigo fuente es de dominio publico

Aplicacion:
Es una excelente opcion por su facilidad de configuracion. El inconveniente es que no escala a base de datos demasiado grandes.

Ventajas:
Tiene una pequeña memoria y una unica biblioteca es necesaria para acceder a base de datos
Realiza operaciones de manera eficiente y es mas rapido que Mysql y posgreSQL
Se ejecuta en muchas plataformas y sus bases de datos
Cuenta con diferentes interfaces del API
Es de dominio publico

Desventajas:
Limitaciones en where
Falta de clave foranea
No tiene manejador grafico

Como Administrador de base de datos
Pros:
Permite un acceso simultaneo de varios servicios
Es una base de datos ACID
incorpora triggers
permite ciertas consultas de datos complejas

Contras:
No soporta los triggers completos
Complicaciones al utilizar llaves foraneas

Quien usa SQLite:
Adobe Photoshop Elements
Mozilla Firefox 
Opera
Skype
Apple Mail


Visualizando tablas del proyecto en SQLite Manager



martes, 26 de febrero de 2019

Unidad No.1-Exposiciones(MariaDB)

Historia:
Desarrollada por MYSQL AB para cubrir carencia de necesidades

Caracteristicas:
Es muy popular en el mundo
es de codigo abierto
convierte los datos en informacion estructurada en una amplia gama de aplicaciones
es una mejora de Mysql, incluye plugins

Verisones:
Enterprise(precio 2500-5000 dlls al año) y comunidad(es gratis)

Funciones:
Maneja hasta 32 segmentos clave por clave
Eliminacion de tablas

Ventajas:
Proporciona estadisticas de indices y tabla
Columnas dinamicas
Utiliza InnoDB

Desventajas:
Retardo a liberar la version estable
Incompatibilidades entre MariaDB y MySQL
Toma un poco mas de memoria que MSQL

Comandos:
Los mismos que MSQL: Insert, Delete, Update... etc

Tendencias de uso:
Mysql es mas utilizado que MariaDB

Frameworks:
Django
Yii
Zend
ADO.NET
Slim






Unidad No.-1 Exposiciones(PostgreSQL)

Que es?
Es gratuito y libre, es conocido como uno de los mejores manejadores de base de datos

Historia:
Inicio en 1982

Sitios:
Existen dos para comunidad y para enterprise

Caracteristicas:
Es una base de datos ACID
Soporta distintos tipos de datos
Herencia entre tablas
Copias de seguridad en linea
Caracteres internacionales
Disponible para linux y unix

Desventajas:
Es lento en base de datos pequeñas
No cuenta con soporte en linea 
Sintaxis no intuitiva

Ventajas:
Instalacion gratis
Estabilidad
Escabilidad
Estandar SQL
Herramienta pgAdmin

Version enterprise(30 dias) y version comunidad(es gratis)

Frameworks:
Django
Drupal
Cake, Mambo,Joomla
.Net Based
Rails

Herramientas:
Navicat.-Interfaz que te permite utilizar comandos de forma grafica 
pgadmin.-Interfaz que te permite ingresar comandos (viene por default)

Entre Access, Maria DB Y PostgreSQL access es el que mas utiliza la gente 

Unidad No.1- Exposiciones (Microsoft Access)

Access:
Caracteristicas:
es grafico
facilita la administracion de datos
es posible producir formularios e informes sofisticados y efectiso
permite lograr un considerable aumento en la productividad 

Ventajas:
Otorga capacidades para aprovechar la informacion sin necesidad de ser un experto
en base de datos
Es grafica

Desventajas:
No es funcional por base de datos de gran calible
No es multiplaforma

Funciones:
Almacenamiento de datos
Informacion de consulta
Entrada de datos
Reportes
Tareas automatizadas

Costo: 
1749--Premium--por año
1299--Basico--por año

Versiones:
Demo de 30 dias

Historia:
Desde office 95 se incluye microsoft access en el paquete de office 

Tendencia:
En comparacion con mysql, microsoft access es mas usado por las personas 

Descarga:
El procedimiento es el mismo que conocemos 

Frameworks:
Power access
Power SQL 

Unidad No.1- Creando un proyecto propio en Django desde cero

Paso 1: Entrar al cmd e ingresar a la carpeta scripts de tu version de python para poder crear un proyecto, este se crea mediante la siguiente instruccion: django-admin startproject nomproyecto.

Asi mismo se verifica que el proyecto se haya creado mediante la visualizacion de sus directorios en pantalla utilizando la instruccion dir/p


Paso 2: Hacer una migracion de datos mediante la instruccion python.exe manage.py migrate


Paso 3: Una vez hecha la migracion se procede a entrar al servidor mediante la instruccion python.exe manage.exe runserver




Paso 4: Una vez creada la aplicacion y dado de alta el servidor se procede a ir a nuestro IDE pycharm y abrir el proyecto creado, ya dentro del proyecto ir a settings, installed_apps, ahi daremos de alta la app asi que en este caso escribiremos 'apk'


Paso 5: Ir al apartado models dentro de nuestra app, para crear nuestro propio modelo, es necesario borrar el codigo que se encuentra y escribir lo siguiente:

from django.db import models
from django.utils import timezone


class Post(models.Model):
    author = models.ForeignKey('auth.User', on_delete=models.CASCADE)
    title = models.CharField(max_length=200)
    text = models.TextField()
    created_date = models.DateTimeField(
            default=timezone.now)
    published_date = models.DateTimeField(
            blank=True, null=True)

    def publish(self):
        self.published_date = timezone.now()
        self.save()

    def __str__(self):
        return self.title


Paso 6: Una vez creado el modelo, es necesario crear las tablas que van a almacenar la informacion, para crearlas es necesario que la aplicacion tenga el privilegio de migrar para eso escribir python.exe manage.py makemigrations apk, despues escribir python.exe manage,py migrate apk.


Paso 7: Para permitir que el administrador edite, borre o inserte valores es necesario escribir lo siguiente dentro del apartado admin.py de nuestra aplicacion:

from django.contrib import admin
from .models import Post

admin.site.register(Post)


Paso 8: El paso anterior se importo el modelo con el que estabamos trabajando, pero para poder hacerlo visible es necesario registrarlo, por lo que es importante entrar a nuestro servidor mediante la liga http://127.0.0.1:8000/admin/ claro esta, siempre y cuando el servidor este abierto desde el cmd



Paso 9: Ya dentro del servidor es necesario acceder mediante un usuario y una contraseña, para poder entrar se debe crear primero un super usuario el cual tenga todos los privilegios para poder manipular el proyecto, para crearlo es necesario acceder al cmd y escribir la siguiente instruccion python.exe manage.py createsuperuser.
Nota: por motivos de seguridad la contraseña no sera visible





Paso 10: Una vez accedido con el super usuario se procede a manipular el proyecto creando usuario, posts o grupos


martes, 19 de febrero de 2019

Unidad No.1.-Explorando el proyecto en django


Modificación de ''admin'' por ''inicio''




Template.-Son puros archivos HTML donde hay configuraciones de autentificacion



Databases.-Es donde se puede configurar los diferentes tipos de base de datos


Validadores de passwords.-Verifica la forma en la que se crearon las contraseñas para
dar acceso a los usuarios


Languaje_Code.- Es el idioma en el que se va a presentar la pagina 



Css, JavaScript nos permite visualizar las imagenes

Admin.-Es donde se encuentra el administrador 

Apps.-No cambiar el nombre predeterminado 




Models.-Es donde van a estar las tablas que se van a migrar 

Test.-Es donde se pueden hacer pruebas de codigo 






miércoles, 6 de febrero de 2019

Unidad No.1-Tipos de errores mas comunes en HTPP

Cuando se carga una página web se devuelve un código de estado HTTP que nos indica cómo ha ido la carga de la página.

Normalmente ese código de estado es invisible de cara al usuario que está visitando la web. Solo en caso de que se produzca un error en la carga es posible que en el navegador se nos muestre el tipo de error que se está produciendo.

Vamos a hacer aquí un repaso a los tipos de errores HTTP más comunes, para saber así cómo interpretarlos y tomar las medidas oportunas para corregirlos.

200: esto no es un error HTTP, sino todo lo contrario. Significa que la página ha cargado de forma correcta.

En general todos los códigos de estado que sean 2XX (un 2 seguido de 2 números) indican que la carga ha ido bien.

Por tanto, si el HTTP status de tu página web es 200 todo va como la seda. ¡Enhorabuena!

301 o 302: esto tampoco se trata de un error HTTP.
Estos códigos indican que se está haciendo una redirección de una página a otra.

Esta redirección puede ser permanente (código 301) o temporal (código 302).

Es decir, cuando se ha ido a cargar una cierta página se nos ha redirigido a otra.
Supuestamente esto ocurre porque lo hemos configurado así, ya sea aplicando la redirección en el archivo .htaccess (para servidores Apache) o con otro método.

Las redirecciones se suelen crear cuando queremos cambiar el dominio de nuestra página web (por ejemplo, de www.viejadireccion.com a www.nuevadireccion.com) o cuando queremos cambiar un enlace concreto de la página.

En general, todos los códigos de estado 3XX (un 3 seguido de 2 números) indican una redirección.

4XX: se refieren a errores de cliente. Suelen darse cuando la página que se carga no existe o se tiene el acceso bloqueado a ella. Vamos a revisar los más comunes:

400: la solicitud tiene una sintaxis incorrecta. Significa que las dirección de la página web que se quiere cargar (la URL) tiene un formato no válido.
403: indica que la página solicitada existe pero se ha denegado el acceso a la misma. Por ejemplo, podría tratarse de un contenido exclusivo para usuarios registrados.
401: similar al error 403, pero en este caso existiría una posibilidad de acceso a la misma que no se ha pasado o todavía no se ha superado. Por ejemplo, al cargar la página se podría mostrar una solicitud de usuario y contraseña, que deben ser rellenados para poder acceder a la página. Ninguna página de inicio de una web debería mostrar un error de este tipo, a menos que sea exclusiva de uso interno, no de cara al público.
404: posiblemente el error más común. Indica que la página que se está tratando de cargar no se ha encontrado. Esto puede ocurrir porque hemos escrito mal la dirección de la página web que queremos cargar, que hemos cargado la página a través de un enlace erróneo, o que la página sí que existió en su momento pero ahora ya no.
406: indica que la página ha devuelto un código que no puede ser interpretado por el navegador con el que estamos cargando la página web.
5XX: se refieren a errores del servidor. Pueden generarse por un error en el código de la página web o dentro del propio servidor. Vemos los más usuales:

500: otro error muy común. Indica un error interno, lo que se puede traducir que la página web tiene algún error en el código, por lo que el servidor no puede generar el código HTML para devolver al usuario. Por ejemplo, si en un WordPress existe un error de php, se podría producir ese error 500. Si vemos que nos sale este error tendremos que revisar el log de errores para tratar de localizar el archivo que está generando el error y aplicar las correcciones oportunas.
504: indica que el tiempo de espera para devolver la página web se ha agotado. Puede estar generado por un error en el propio servidor (por ejemplo, se ha “colgado” el Apache) o porque nuestra página web contiene algún código que nunca termina de ejecutarse (por ejemplo, un bucle del que nunca se sale).
509: indica que se ha superado el límite de ancho de banda disponible en el servidor para nuestra página web. Es común que con la contratación del hosting se indique un limite mensual en el ancho de banda, es decir, el número de datos que se puede devolver desde el servidor a los visitantes de nuestra página web.
En caso de que tengamos un error de este tipo deberemos ponernos en contacto con el proveedor de nuestro servicio de hosting.

También será conveniente tomar medidas para evitar que esto ocurra.
Por ejemplo, es posible que estemos usando imágenes que ocupan demasiado espacio, u ofreciendo archivos muy pesados para su descarga que podríamos colocar en servicios externos.

Tal como comentaba al principio, existen muchos más códigos de estado HTTP, pero los que aquí hemos repasado son los que nos encontraremos con mayor frecuencia.

Unidad No.1-Crear una app dentro de un proyecto con Django

Creación de la app dentro del proyecto "proyectouno" y verificación del mismo:


Entramos al servidor:


Verificamos la app dentro de pycharm y observamos el apartado "settings.py"

3

Intentamos hacer una modificación al apartado de "import os", nos daremos cuenta que al hacer esto no es posible conectar con el servidor:



Modificamos el archivo settings.py y notamos que ya podemos conectar al servidor:




Si quitamos la opción "admin" dentro del archivo settings.py notaremos que no podemos conectar al servidor:



De igual manera volviendo a colocar esta instrucción podremos acceder al servidor:



Tambien es posible agregar comentarios al archivo settings.py y el servidor conectará



viernes, 1 de febrero de 2019

Unidad No.1-Creación de un proyecto con django desde el cmd

Creación del proyecto:

Verificación de la creación del proyecto:

Ejecución del servidor:

Verificando el servidor:



Migrando el proyecto:

Verificación de migración: