Red de notificación de la danza (4 / 6 paso)

Paso 4: El web servidor

Elección de web server
Una herramienta común para el prototipado web Heroku, que es un servicio que le permite fácilmente lanzar una aplicación web. Soporta una variedad de frameworks de aplicación web (formas estandarizadas de programas de estructura que ejecutan sitios web) en una variedad de idiomas, con gran documentación sobre cómo hacerlo. Elimina la necesidad de hacer girar su propio servidor Linux (que maravillosamente se esconde bajo el capó) para hospedar la aplicación web. Si no sabes lo que significa o tiene alguna idea de cómo hacerlo, alaban los cielos Heroku existe. Y para más cosas que usted necesitará hacer para prototipos, es gratis.

Dentro de Heroku existen muchos frameworks de aplicación web con que podría ir. He sido amante la simplicidad de Python y la gran variedad de módulos creados para él, así que decidí ir con Python ejecutando botella y frasco. Matraz es un simple marco de web de Python que se encarga de la dirección de sus páginas y se ejecuta las estructuras lógica y tiene acceso a bases de datos según sea necesario. Frasco entonces utiliza el módulo de Python botella como un motor: botella toma sobre todo rellena previamente plantillas HTML creó y de la alimentación en información dinámica de mis bases de datos cada vez que acceda al sitio Web. (técnico de botella puede hacer todo frasco creo que puedo, pero se me recomendó usar matraz de enrutamiento con Heroku y botella para las plantillas).

Obtener una solicitud en línea
Para iniciar una aplicación de web de trabajo en Heroku por primera vez en una hora solo tutoriales siguientes. Los pasos principales son:

Use su propia dirección web
Heroku asigna a su solicitud una dirección (generalmente APPNAME.herokuapp.com). Si desea utilizar su propio dominio de la aplicación (por ejemplo quería www.istripdancing.com en vez de dancebutton.herokuapp.com), usted necesitará comprar su propio dominio y redirigirlo a la dirección de Heroku. Solía asomar para comprar mi dominio por $10 por un año. He escuchado puede conseguir dominios más barato a través de otros servicios, pero no miré en él todavía. Después de que usted ha comprado el dominio, es increíblemente sencilla adelante peticiones a su dominio a la aplicación de Heroku (ver foto).

Detalles de Heroku
Una vez que tengas todo para arriba y funcionando, si no has hecho cosas como esta antes de que hay varias herramientas que voy aprendiendo como usted transformará su primera aplicación de Heroku para hacer su hacer una oferta. Aquí está un breve resumen para conseguir su cabeza en el lugar correcto.

Aplicación básica de Heroku ejecutar proceso
Para ejecutar una aplicación en Heroku con Python y matraz, Heroku busca el archivo app.py, que debe ser estructurada según los matices del matraz. Antes de ejecutar el archivo, Heroku mira el archivo requirements.txt para determinar qué módulos de Python son necesarios para ejecutar el servidor. Hay módulos de Python 1 millón y cada aplicación necesita generalmente solamente algunos módulos instalados para ejecutar. Heroku instala los módulos y luego centrifuga una instancia de Python ejecuta su aplicación. Es importante que al desarrollar la aplicación entienda el Virtualenv Python (entorno virtual) y cómo actualizar requirements.txt correctamente (se describe a continuación). App.py cuenta Heroku qué hacer cuando se hace una petición a ciertas direcciones/rutas dentro de su sitio (una función para el servidor web se ejecute está asociada con cada ruta). Estas funciones de enrutamiento devolución el código crudo que se mostrará en el navegador. El ejemplo más sencillo se demuestra en el tutorial de Heroku para empezar: la ruta de aplicación predeterminada devuelve simplemente el texto "Hola mundo", que se mostrará en el navegador cuando alguien va a esa dirección.

Creación de páginas web dinámicas con Heroku
Si desea algo más interesante volver al navegador, podría devolver HTML determinada basada en el estado de su servidor. Para ello, utilicé el módulo Python botella. Crear una plantilla HTML con todos los textos estáticos y formato que quiero que en mi página y luego especificar envases información dinámica dentro de la plantilla con {{variable}} (un detalle de la botella). Para rellenar ese espacio con la información de mi servidor, utilizo la función de plantilla dentro de la botella en la línea de retorno de mi función de frasco (bottle.template(...)).

Cambio y redistribución de la aplicación web con Heroku
Con Heroku, trabaja en los archivos locales en su computadora, entonces cuando desee actualizar su servidor, que "empujar" los cambios en Heroku con Git. Git es una lata de gusanos dentro de una lata de gusanos, pero esencialmente es un sistema de control de revisión de código - una manera elegante de decirlo hace un seguimiento de los cambios para usted. Escribes el código, y cada vez que quieras Git para almacenar su código actual, "comprometer" a los cambios y puede restaurar su código a cualquier estado previamente cometida cuando quieras. GIT se puede configurar para tener la principal revisión base de datos en línea (un ejemplo libre es GitHub). En nuestro caso, el repositorio principal es Heroku, y cuando queremos actualizar el servidor, simplemente "empujamos" nuestra versión más reciente a él. Usted puede encontrar los detalles Cómo utilizar Git con Heroku aquí. Si quieres aprender más sobre Git:

Local de trabajo
Las dependencias pueden ser una enorme fuente de dolores de cabeza a la gente que usa Python en máquinas diferentes, si no eres cuidadoso. Imaginar hice mi propio módulo de Python que me permite llamar a myModule.myFunction(), y utilizo en mi programa de Python. Si simplemente te doy mi archivo Python sin el módulo, el equipo no tendrá ninguna idea qué mimodulo se refiere a. Para solucionar esto, usamos un entorno virtual con Virtualenv, o una instancia aislada de Python donde tenemos control directo sobre lo que está instalado, así como un flujo de trabajo bien diseñado para el funcionamiento de nuestros programas en máquinas diferentes. Una manera más simple de visualizar esto: usted tiene dos equipos, uno que tiene Adobe Photoshop y Microsoft Office, el otro con ningún software. Los archivos de Excel y las imágenes se crea en el primer equipo no se puede abrir en el segundo porque el ordenador no tiene los programas (o módulos) que sabe leer los archivos. Un virtualenv sería similar a tener una cuenta en cada equipo que usted puede iniciar sesión en con programas idénticos. Cualquier momento que empezar a usar un nuevo programa en una cuenta, quieres una forma para la misma cuenta en el otro equipo que también para que pueda abrir todos los archivos. Virtualenv es para Python.

El flujo de trabajo para el entorno virtual con Heroku es:

-instalar Virtualenv

-activar virtualenv

fuente venv/bin/activa

-instalar nuevos módulos con pip o easy_install (gestores de la instalación de Python)

-actualizar requirements.txt por "congelar" las dependencias de Virtualenv en el archivo (requirements.txt mantiene un seguimiento de los módulos se instalan en el virtualenv)

congelar pip > requirements.txt

Explicación alternativa de Virtualenv para quienes me confunde (lo sentimos!).

Después tienes Heroku, Git, y configuración de Virtualenv y has escrito algo de código en el archivo app.py, que puede ejecutar un servidor de prueba local antes de empujar el código a Heroku, para verificar que funciona primero. Para ejecutar un servidor local, mientras que en el virtualenv en consola ejecutar:

capataz de inicio

Esto ejecutará un servidor local en 0.0.0.0:5000 en su navegador. Allí, probar la funcionalidad del servidor. Si errores pop-up, les mostrará el navegador, y usted puede comprobar la consola para los mensajes de depuración.

Una vez que su feliz con la funcionalidad del servidor en la consola ejecuta:

Añadir nuevos archivos a la copia local de Git
Añadir git.

Guardar los cambios en su copia local de Git
git commit -m "Añadir su mensaje de confirmación que describe los cambios realizados desde la última vez".

Te copiar copia local al repositorio o copia de Heroku
maestro de heroku git push

Y viola! El código se ejecuta ahora en Heroku y puede accederse por las Internets! Necesito describir cómo grabar eventos de tecla en el servidor utilizando una base de datos, pero esto hará más adelante. Ahora sigamos hablando con Facebook.

Artículos Relacionados

Moto fiesta sonido Trailer

Moto fiesta sonido Trailer

construir un sistema móvil de sonido para los conciertos fuera de la red y las partes de la danza!Esta configuración utiliza doble 12" PA altavoces.  Una batería de 24V ocultos debajo de tablero mantiene el manejo estable.  El diseño de remolque de c
Usando Kinect Hacks para el entrenamiento de la danza

Usando Kinect Hacks para el entrenamiento de la danza

este es un proyecto que trabajamos en el programa de honor el gobernador de Georgia durante el verano en nuestra gran tecnología! Nos pusimos a recoger cualquier proyecto que deseaba así que optamos por combinar tecnología utilizando el tecnología de
Colgante galleta red

Colgante galleta red

Un componente importante de o Liminal proyecto masivo fue diseño de un sistema de sub para la estructura impresa 3D colgar de. Este sistema estructural contiene todos los puntos de montaje para el resto de componentes. Es la base para la electrónica,
Luz de notificación de nuevo correo electrónico

Luz de notificación de nuevo correo electrónico

En este Instructable construimos un divertido gadget de escritorio para que le avise cuando llegue un nuevo correo electrónico en su bandeja de entrada.Paso 1: materialesMateriales:Frambuesa Pi (RadioShack #277-196)Protoboard (RadioShack #276-168)res
Sistemas de sonido de fiesta fuera de la red

Sistemas de sonido de fiesta fuera de la red

si su para un partido de bicicleta móvil o un concierto con alimentación solar, un sistema de sonido 12V o 24V es la clave.  Recientemente Construí varios sistemas para partes móviles de la bicicleta y este artículo tiene un montón de detalles.  Tamb
Key Fob notificación alerta

Key Fob notificación alerta

Introducción¿Usted siempre preocupado acerca de un familiar o amigo de anciano o discapacitado? Qué pasa si necesita ayuda y no puede llegar un teléfono o llamar por ayuda. ¿Y si tenían un mando a distancia alrededor de su cuello y podría empujar el
ESP8266 y sistema de notificación de IFTTT Autobot

ESP8266 y sistema de notificación de IFTTT Autobot

Un día estaba caminando por la ciudad y me encontré con este brillante mirada, LED retroiluminado insignia de Autobot. Pensé al instante "Quiero hackear esto" y finalmente decidí que quería ser un sistema de notificación para todo tipo de cosas.
Noteu: Dispositivo de notificación física USB

Noteu: Dispositivo de notificación física USB

¿Qué es Noteu?Por favor haga clic abajo para visitar nuestra página de Kickstarter para Noteu y si su interés para usted pre-ordenar un modelo de producción.https://www.Kickstarter.com/projects/1600235162/no...Noteu es un dispositivo USB para notific
Detector de terremoto con el sistema de notificación

Detector de terremoto con el sistema de notificación

Shubham Sinha y Ankit Vyas(students of IIT Guwahati) he hecho un Detector sísmico. Fue la primera experiencia trabajando con la plataforma de perno-IOT. Es muy emocionante. Inicialmente trabajé con Arduino, y era bastante simples, pero aquí ya que in
Bot de danza

Bot de danza

¡ Hola! ¿Quieres bailar con tu robot? ¿Quieres escuchar la música? Bueno, no te preocupes! ¡ Mira el Bot de danza!P.S. Se puede decorar sin embargo le gustaría. No pudimos debido a limitaciones de tiempo.Paso 1: Reunir todas tus materias! Materiales:
Centro de la red de Steampunk

Centro de la red de Steampunk

Hola todo el mundoEstoy tan contenta de presentaros mi último objeto steampunk después de un largo tiempo de ausencia.Tengo la idea para este proyecto después de ver el pájaro Nido de cables detrás de mis equipos de red.Organizando el desorden de cab
Red Hum Detector / Detector de electricidad estática

Red Hum Detector / Detector de electricidad estática

Bienvenida,Este instructable es un circuito pequeño y sencillo que detecta red Hum, es decir, que se puede detectar donde se encuentran desde fuera de la pared los cables de red. También detecta electricidad estática y también puede ser disfrazado co
Descubrimiento de red octubre rojo.

Descubrimiento de red octubre rojo.

La base de este Instructable se basa en el cuadro de diálogo de la película conocida como "La caza para octubre rojo". En la película, una de las líneas claves fue pensar "un ping y un ping solo". Ping es un método por submarinos equip
Cómo hacer una red doméstica en Windows 7

Cómo hacer una red doméstica en Windows 7

este video te enseñará cómo sus ordenadores en casa usando un cable conexión (LAN) o inalámbrica para compartir archivos de red. También cuenta cómo compartir una impresora en tu red.Este video fue presentado para el cumplimiento de nuestros requisit