A resposta curta é que usamos Flask para Python no backend, Backbone para Javascript no front-end e armazenamos nossos dados no MongoDB, Redis e ElasticSearch. Estamos hospedados na AWS.
O que é uma pilha?
São necessárias muitas peças de tecnologia para entregar um website a você e elas executam uma variedade de funções, incluindo:
- Criação de páginas em um navegador ou aplicativo, estilizando-as (coloridas, fontes) e tornando-as interativas (por exemplo, transformando o coração em vermelho e mostrando uma caixa de comentários quando você clica nele). Isso é chamado de front end ou client-side
- Reunir as informações necessárias para uma página (por exemplo, a pergunta, a resposta, os nomes e imagens dos usuários, o número de corações) e enviá-las para o seu computador ou telefone. Isso é chamado de backend ou do lado do servidor
- Armazenar essas informações para que estejam disponíveis a qualquer momento e permitir que procuremos exatamente as informações de que precisamos. Isso é chamado de banco de dados ou armazenamento de dados
- Computadores conectados à Internet e sempre ligados para que qualquer pessoa possa acessar o site a qualquer momento. Os computadores são chamados servidores e eles são hospedado algum lugar.
- Muitas outras funções críticas e secundárias
Em cada uma dessas camadas, várias opções estão disponíveis e as escolhas que qualquer equipe faz são baseadas na experiência e no conforto dos membros da equipe, além de questões práticas, como custo e requisitos específicos de desempenho.
Nossa pilha (quase) completa
Algumas tecnologias são instaladas, atualizadas e gerenciadas por membros de nossa equipe em nossos próprios servidores e laptops. Eles incluem:
- Backbone para organizar o nosso Javascript
- Bússola para reutilizar e organizar o nosso CSS
- Flask, uma estrutura Python para servir a API JSON + HTML e para renderizar páginas HTML completas
- pyres para nossas filas de tarefas (provavelmente Celery em breve)
- MongoDB para armazenar nossos dados (possivelmente Postgres em breve)
- Redis para armazenar em cache coisas como os feeds do site, perguntas sobre tendências e todos os tipos de estatísticas de uso
- ElasticSearch para poder pesquisar
- Nginx para servir o site
- Grunt para minimizar, comprimir e revisar nosso Javascript e CSS
- Capistrano para implantar nosso aplicativo e realizar algumas outras tarefas úteis
- Fantoche para configurar o software que precisamos em novos servidores
Algumas tecnologias são serviços construídos e gerenciados por outras empresas. Geralmente, é mais eficiente deixar que outra pessoa se concentre em problemas específicos, em vez de fazer tudo sozinhos. Alguns serviços que usamos são:
- AWS aka Amazon Web Services para hospedar nossos servidores, ativos estáticos e como um CDN
- Cloudflare para DNS, cache e algum nível de segurança
- Google Analytics e Mixpanel para análise
- Papertrail para log centralizado
- Sentinela para rastrear erros do lado do cliente
- DataDog para monitorar nossos servidores e serviços
- New Relic para monitorar o desempenho do aplicativo Flask
- Customer.io para enviar e-mails com base no que você faz ou não faz no aplicativo
- Github para colaboração e hospedagem de código
E provavelmente muitos outros.
É preciso muitas peças para construir e operar um site, mas com a ajuda de ferramentas bem construídas, não é tão difícil!
O que significa quiasmo? O que é um exemplo? + Exemplo
O quiasmo é um dispositivo no qual duas sentenças são escritas umas contra as outras, revertendo sua estrutura. Onde A é o primeiro tópico repetido e B ocorre duas vezes entre eles. Exemplos podem ser: "Nunca deixe um Louco Beijá-lo ou um Beijo Tolo". Outro de John F. Kennedy é "não pergunte o que seu país pode fazer por você; pergunte o que você pode fazer pelo seu país". Espero que isto ajude :)
O que é um exemplo de uma sequência aritmética? + Exemplo
Os números pares, os números ímpares, etc. Uma sequência aritmética é construída adicionando um número constante (chamado diferença) seguindo este método a_1 é o primeiro elemento de uma sequência aritmética, a_2 será por definição a_2 = a_1 + d, a_3 = a_2 + d, e assim por diante Exemplo1: 2,4,6,8,10,12, .... é uma sequência aritmética porque existe uma diferença constante entre dois elementos consecutivos (neste caso 2) Exemplo 2: 3,13 , 23,33,43,53, .... é uma seqüência aritmética, porque há uma di
O que é engenharia de recursos hídricos? + Exemplo
A gestão e controlo dos recursos hídricos ... O controlo da água e a utilização da água são duas tarefas importantes no campo da engenharia dos recursos hídricos. Sob a primeira tarefa, o projeto do bueiro da rodovia e a mitigação da inundação são dois exemplos. Abastecimento de água para cidades, indústrias e campos agrícolas, estruturas de energia hidrelétrica e melhorias na navegação podem ser listados sob a utilização da água. Quantidade, qualidade, disponibilidade (ecohidrologia) para diferentes setores, econo