La respuesta corta es que usamos Flask for Python en el backend, Backbone para Javascript en el front-end y almacenamos nuestros datos en MongoDB, Redis y ElasticSearch. Estamos alojados en AWS.
¿Qué es una pila?
Se requiere una gran cantidad de piezas de tecnología para entregarle un sitio web, y realizan una variedad de funciones, que incluyen:
- Crear páginas en un navegador o una aplicación, aplicarles un estilo (color, fuentes) y hacerlas interactivas (por ejemplo, convertir el corazón en rojo y mostrar un cuadro de comentarios al hacer clic en él). Esto se llama front-end, o del lado del cliente
- Recopilar la información necesaria para una página (por ejemplo, la pregunta, la respuesta, los nombres de usuario y las imágenes, el número de corazones) y enviarla a su computadora o teléfono. Esto se llama backend, o servidor
- Almacenar esta información para que esté disponible en cualquier momento que sea necesaria, y nos permite buscar exactamente la información que necesitamos. Esto se llama la base de datos, o almacén de datos
- Computadoras conectadas a Internet y siempre encendidas para que cualquier persona pueda acceder al sitio web en cualquier momento. Las computadoras se llaman servidores y estan alojado algun lado.
- Muchas otras funciones críticas y menores.
En cada una de estas capas, hay una serie de buenas opciones disponibles y las decisiones que toma cualquier equipo se basan en la experiencia y la comodidad de los miembros del equipo, así como en cuestiones prácticas como el costo y los requisitos específicos de rendimiento.
Nuestra (casi) pila completa
Los miembros de nuestro equipo instalan, actualizan y administran algunas tecnologías en nuestros propios servidores y computadoras portátiles. Incluyen:
- Backbone para organizar nuestro Javascript.
- Brújula para reutilizar y organizar nuestro CSS.
- Flask, un framework Python para servir la API JSON + HTML y para representar páginas HTML completas
- piras para nuestras colas de tareas (probablemente apio pronto)
- MongoDB para almacenar nuestros datos (posiblemente Postgres pronto)
- Redise para almacenar en caché cosas como las fuentes en el sitio, las preguntas de tendencias y todo tipo de estadísticas de uso
- ElasticSearch para potenciar la búsqueda
- Nginx para servir el sitio
- Haga clic para minimizar, comprimir y revisar nuestro Javascript y CSS.
- Capistrano para implementar nuestra aplicación y realizar algunas otras tareas útiles
- Puppet para configurar el software que necesitamos en nuevos servidores.
Algunas tecnologías son servicios construidos y gestionados por otras empresas. A menudo es más eficiente dejar que alguien más se centre en problemas específicos en lugar de hacerlo todo por nosotros mismos. Algunos de los servicios que utilizamos son:
- AWS también conocido como Amazon Web Services para alojar nuestros servidores, activos estáticos y como CDN
- Cloudflare para DNS, almacenamiento en caché y cierto nivel de seguridad
- Google Analytics y Mixpanel para Analytics
- Papertrail para la tala centralizada
- Sentry para el seguimiento de errores del lado del cliente
- DataDog para monitorear nuestros servidores y servicios
- New Relic para monitorear el rendimiento de la aplicación Flask
- Customer.io para enviar correos electrónicos según lo que haga o no haga en la aplicación
- Github para código de colaboración y hosting.
Y probablemente muchos otros.
Se necesita un montón de piezas para construir y operar un sitio web, pero con la ayuda de herramientas bien construidas, ¡no es tan difícil!
¿Qué significa chiasmo? ¿Qué es un ejemplo? + Ejemplo
El quiasmo es un dispositivo en el que se escriben dos oraciones una contra la otra, invirtiendo su estructura. Donde A es el primer tema repetido, y B ocurre dos veces en el medio. Los ejemplos pueden ser "Nunca dejes que un tonto te bese o un beso te engañe". Otro de John F. Kennedy es "No preguntes qué puede hacer tu país por ti; pregunta qué puedes hacer por tu país". Espero que esto ayude :)
¿Qué es un ejemplo de un auto-antígeno? + Ejemplo
Los glóbulos rojos son buenos ejemplos de antígenos propios, los antígenos de los glóbulos rojos poseen en su superficie, es en muchos tipos, como el antígeno A, el antígeno B, etc., que determina el grupo sanguíneo de una persona.
¿Qué es la ingeniería de recursos hídricos? + Ejemplo
La gestión y el control de los recursos hídricos ... El control del agua y la utilización del agua son dos tareas importantes en el campo de la ingeniería de recursos hídricos. En la primera tarea, el diseño de la alcantarilla y la mitigación de inundaciones son dos ejemplos. El suministro de agua a ciudades, industrias y campos agrícolas, estructuras de energía hidroeléctrica y mejoras de navegación pueden enumerarse bajo la utilización del agua. Cantidad, calidad, disponibilidad (ecohidrología) para diferentes sectores, economía, aspectos sociales, etc