Вы находитесь на странице: 1из 5

Herramientas y Tecnologas

Lenguaje de Programacin backend (Python)


Python es un lenguaje de programacin interpretado cuya filosofa hace hincapi en
una sintaxis que favorezca un cdigo legible.
Se trata de un lenguaje de programacin multiparadigma, ya que soporta orientacin a
objetos, programacin imperativa y, en menor medida, programacin funcional. Es un
lenguaje interpretado, usa tipado dinmico y es multiplataforma.
Caractersticas y paradigmas
Python es un lenguaje de programacin multiparadigma. Esto significa que ms que forzar a los
programadores a adoptar un estilo particular de programacin, permite varios estilos: programacin
orientada a objetos, programacin imperativa y programacin funcional. Otros paradigmas estn
soportados mediante el uso de extensiones.
Python usa tipado dinmico y conteo de referencias para la administracin de memoria.
Una caracterstica importante de Python es la resolucin dinmica de nombres; es decir, lo que enlaza un
mtodo y un nombre de variable durante la ejecucin del programa (tambin llamado enlace dinmico de
mtodos).

Framework de desarrollo web (Django)


Django es un framework de desarrollo web de cdigo abierto, escrito en
Python, que respeta el patrn de diseo conocido como Modelovista
controlador.
La meta fundamental de Django es facilitar la creacin de sitios web complejos. Django pone nfasis en el
re-uso, la conectividad y extensibilidad de componentes, el desarrollo rpido y el principio No te repitas
(DRY, del ingls Don't Repeat Yourself). Python es usado en todas las partes del framework, incluso en
configuraciones, archivos, y en los modelos de datos.
Algunas caractersticas de Django son:
Un mapeador objeto-relacional.
Aplicaciones "enchufables" que pueden instalarse en cualquier pgina gestionada con Django.
Una API de base de datos robusta.
Un sistema incorporado de "vistas genricas" que ahorra tener que escribir la lgica de ciertas
tareas comunes.
Un sistema extensible de plantillas basado en etiquetas, con herencia de plantillas.
Un despachador de URLs basado en expresiones regulares.
Un sistema "middleware" para desarrollar caractersticas adicionales; por ejemplo, la distribucin

principal de Django incluye componentes middleware que proporcionan cacheo, compresin de la


salida, normalizacin de URLs, proteccin CSRF y soporte de sesiones.
Soporte de internacionalizacin, incluyendo traducciones incorporadas de la interfaz de
administracin.
Documentacin incorporada accesible a travs de la aplicacin administrativa (incluyendo
documentacin generada automticamente de los modelos y las bibliotecas de plantillas aadidas
por las aplicaciones).

Sistema Gestor de Bases de Datos (PostgreSQL)


PostgreSQL es un Sistema de gestin de bases de datos relacional orientado a
objetos y libre, publicado bajo la licencia PosgreSQL.
Caractersticas
Alta concurrencia
Mediante un sistema denominado MVCC (Acceso concurrente multiversin, por sus siglas en ingls)
PostgreSQL permite que mientras un proceso escribe en una tabla, otros accedan a la misma tabla sin
necesidad de bloqueos. Cada usuario obtiene una visin consistente de lo ltimo a lo que se le hizo
commit. Esta estrategia es superior al uso de bloqueos por tabla o por filas comn en otras bases,
eliminando la necesidad del uso de bloqueos explcitos
Amplia variedad de tipos nativos
PostgreSQL provee nativamente soporte para:
Nmeros de precisin arbitraria.
Texto de largo ilimitado.
Figuras geomtricas (con una variedad de funciones asociadas).
Direcciones IP (IPv4 e IPv6).
Bloques de direcciones estilo CIDR.
Direcciones MAC.
Arrays.
Otras caractersticas

Claves ajenas tambin denominadas Llaves ajenas o Claves Forneas (foreign keys).
Disparadores (triggers): Un disparador o trigger se define como una accin especfica que se
realiza de acuerdo a un evento, cuando ste ocurra dentro de la base de datos. En PostgreSQL
esto significa la ejecucin de un procedimiento almacenado basado en una determinada accin
sobre una tabla especfica. Ahora todos los disparadores se definen por seis caractersticas:
El nombre del disparador o trigger
El momento en que el disparador debe arrancar
El evento del disparador deber activarse sobre...
La tabla donde el disparador se activar
La frecuencia de la ejecucin
La funcin que podra ser llamada
La funcin no es correcta

Ventajas
-Seguridad en trminos generales
-Integridad en BD: restricciones en el dominio
-Integridad referencial
-Afirmaciones (Assertions)
-Disparadores (Tiggers)
-Autorizaciones
-Conexin a DBMS
-Transacciones y respaldos

Entorno de desarrollo (Editor Sublime Text)


Sublime Text es un editor de texto y editor de cdigo fuente est escrito en C++ y
Python para los plugins.
Caractersticas
Minimapa: consiste en una previsualizacin de la estructura del cdigo,
es muy til para desplazarse por el archivo cuando se conoce bien la
estructura de este.
Multi Seleccin: Hace una seleccin mltiple de un trmino por diferentes partes del archivo.
Multi Cursor: Crea cursores con los que podemos escribir texto de forma arbitraria en diferentes
posiciones del archivo.
Multi Layout: Trae siete configuraciones de plantilla podemos elegir editar en una sola ventana o
hacer una divisin de hasta cuatro ventanas verticales o cuatro ventanas en cuadrcula.
Soporte nativo para infinidad de lenguajes: Soporta de forma nativa 43 lenguajes de
programacin y texto plano.
Syntax Highlight configurable: El remarcado de sintaxis es completamente configurable a travs
de archivos de configuracin del usuario.
Bsqueda Dinmica: Se puede hacer bsqueda de expresiones regulares o por archivos,
proyectos, directorios, una conjuncin de ellos o todo a la vez.
Auto completado y marcado de llaves: Se puede ir a la llave que cierra o abre un bloque de una
forma sencilla.
Soporte de Snippets y Plugins: Los snippets son similares a las macros o los bundles adems de
la existencia de multitud de plugins.
Configuracin total de Keybindings: Todas las teclas pueden ser sobrescritas a nuestro gusto.
Acceso rpido a lnea o archivo: Se puede abrir un archivo utilizando el conjunto de teclas
Cmd+P en Mac OS X o Ctrl+P en Windows y Linux y escribiendo el nombre del mismo o navegando
por una lista. Tambin se puede ir a una lnea utilizando los dos puntos ":" y el nmero de lnea.
Paleta de Comandos: Un intrprete de Python diseado solo para el programa con el cual se
puede realizar infinidad de tareas.
Coloreado y envoltura de sintaxis: Si se escribe en un lenguaje de programacin o marcado,
resalta las expresiones propias de la sintaxis de ese lenguaje para facilitar su lectura.
Pestaas: Se pueden abrir varios documentos y organizarlos en pestaas.
Resaltado de parntesis e indentacin: Cuando el usuario coloca el cursor en un parntesis,
corchete o llave, resalta sta y el parntesis, corchete o llave de cierre o apertura correspondiente.

Sistema de Control de Versiones (Git y Github)


Git es un software de control de versiones diseado por Linus Torvalds,
pensando en la eficiencia y la confiabilidad del mantenimiento de
versiones de aplicaciones cuando stas tienen un gran nmero de
archivos de cdigo fuente. Al principio, Git se pens como un motor de
bajo nivel sobre el cual otros pudieran escribir la interfaz de usuario o front end como Cogito o StGIT. Sin
embargo, Git se ha convertido desde entonces en un sistema de control de versiones con funcionalidad
plena. Hay algunos proyectos de mucha relevancia que ya usan Git, en particular, el grupo de programacin
del ncleo Linux.
GitHub es una forja (plataforma de desarrollo colaborativo) para alojar
proyectos utilizando el sistema de control de versiones Git. Utiliza el
framework Ruby on Rails por GitHub, Inc. El cdigo se almacena de forma
pblica, aunque tambin se puede hacer de forma privada, creando una
cuenta de pago.
Caractersticas
wiki para cada proyecto
pgina web para cada proyecto1
grfico para ver cmo los desarrolladores trabajan en sus repositorios y bifurcaciones del proyecto
funcionalidades como si se tratase de una red social, como por ejemplo: seguidores;
bueno para trabajo colaborativo entre programadores.

Servidor Web/Proxy (Nginx)


Es un servidor web/proxy inverso ligero de alto rendimiento y un
proxy para protocolos de correo electrnico (IMAP/POP3).
El sistema es usado por una larga lista de sitios web conocidos, como: WordPress, Netflix, Hulu, GitHub,
Ohloh, SourceForge, TorrentReactor y partes de Facebook (como el servidor de descarga de archivos zip
pesados).
Originalmente, nginx fue desarrollado para satisfacer las necesidades de varios sitios web de Rambler que
reciban unas 500 millones de peticiones al da en septiembre de 2008.7
De acuerdo con el estudio de Netcraft, Netcraft's Jul 2014 Web Server Survey, nginx es el segundo servidor
web ms usado en dominios activos (14,35%) superando a Microsoft Information Server. Adems, pas la
marca de ser usado en ms de 100 millones de sitios.
Caractersticas bsicas del servidor web

Servidor de archivos estticos, ndices y autoindexado.


Proxy inverso con opciones de cach.
Balanceo de carga.
Tolerancia a fallos.
Soporte de HTTP y HTTP2 sobre SSL.
Soporte para FastCGI con opciones de cach.

Servidores virtuales basados en nombre y/o en direccin IP.


Streaming de archivos FLV y MP4.9
Soporte para autenticacin.
Compatible con IPv6
Soporte para protocolo SPDY
Compresin gzip.
Habilitado para soportar ms de 10.000 conexiones simultneas.

Servidor WSGI (Gunicorn)


Es un servidor WSGI (Web Server Gateway Interface) escrito
totalmente en Python para Unix. Es el encargado de enviar todo el contenido dinmico hacia el gateway. Es
compatible con muchos frameworks de desarrollo web, entre ellos, Django. Es simple de implementar,
ligero y muy rpido.
Funcionamiento e integracin de Django, Gunicorn y Nginx

Вам также может понравиться