Het korte antwoord is dat we Flask gebruiken voor Python op de backend, Backbone voor Javascript op de front-end, en onze gegevens opslaan in MongoDB, Redis en ElasticSearch. We worden gehost op AWS.
Wat is een stapel?
Er zijn heel veel technologie vereist om een website aan u te leveren en ze vervullen een verscheidenheid aan functies, waaronder:
- Pagina's in een browser of app maken, deze (kleur, lettertypen) stylen en interactief maken (bijvoorbeeld het hart rood maken en een opmerkingenvak weergeven wanneer u erop klikt). Dit wordt het front-end, of client-side
- Verzamel de informatie die nodig is voor een pagina (bijvoorbeeld de vraag, het antwoord, de gebruikersnamen en afbeeldingen, het aantal harten) en verzend deze naar uw computer of telefoon. Dit wordt het backend of server-side
- Deze informatie opslaan zodat deze altijd beschikbaar is en ons in staat stelt precies de informatie te vinden die we nodig hebben. Dit wordt de database of datastore genoemd
- Computers die met internet zijn verbonden en altijd aan staan zodat iedereen op elk gewenst moment toegang heeft tot de website. De computers worden gebeld servers en zij zijn gehost ergens.
- Veel andere kritische en minder belangrijke functies
Bij elk van deze lagen zijn een aantal goede opties beschikbaar en de keuzes die een team maakt, zijn gebaseerd op de ervaring en het comfort van de teamleden, evenals praktische zaken zoals kosten en specifieke prestatievereisten.
Onze (bijna) volledige stapel
Sommige technologieën worden geïnstalleerd, bijgewerkt en beheerd door leden van ons team op onze eigen servers en laptops. Ze bevatten:
- Backbone om onze Javascript te organiseren
- Kompas om onze CSS opnieuw te gebruiken en te organiseren
- Flask, een Python-framework voor de JSON + HTML API en voor het weergeven van volledige HTML-pagina's
- pyres voor onze takenwachtrijen (waarschijnlijk binnenkort Celery)
- MongoDB om onze gegevens op te slaan (mogelijk binnenkort Postgres)
- Redis om zaken zoals de feeds rond de site te cachen, trending vragen en allerlei gebruiksstatistieken
- ElasticSearch om het zoeken te stroomlijnen
- Nginx om de site te bedienen
- Grunt om onze Javascript en CSS te verkleinen, comprimeren en herzien
- Capistrano om onze app te implementeren en een paar andere nuttige taken uit te voeren
- Puppet om de software in te stellen die we nodig hebben op nieuwe servers
Sommige technologieën zijn services die door andere bedrijven worden gebouwd en beheerd. Het is vaak efficiënter om iemand anders te laten focussen op specifieke problemen in plaats van alles zelf te doen. Sommige diensten die we gebruiken zijn:
- AWS aka Amazon Web Services om onze servers, statische activa en als een CDN te hosten
- Cloudflare voor DNS, caching en een bepaald niveau van beveiliging
- Google Analytics en Mixpanel voor analyse
- Papertrail voor gecentraliseerd loggen
- Sentry voor het opsporen van fouten aan clientzijde
- DataDog voor het monitoren van onze servers en services
- Nieuwe relikwie voor het monitoren van de prestaties van de Flask-app
- Customer.io om e-mails te verzenden op basis van wat u wel of niet doet in de app
- Github voor code-samenwerking en hosting
En waarschijnlijk vele anderen.
Het kost veel moeite om een website te bouwen en te exploiteren, maar met de hulp van goed gebouwde tools is het niet zo moeilijk!
Dit is een voorbeeld van warmteoverdracht door wat? + Voorbeeld
Dit is convectie. Dictionary.com definieert convectie als "de overdracht van warmte door de circulatie of beweging van de verwarmde delen van een vloeistof of gas." Het betrokken gas is lucht. Convectie vereist geen bergen, maar dit voorbeeld heeft ze.
Wat betekent chiasmus? Wat is een voorbeeld? + Voorbeeld
Chiasmus is een apparaat waarin twee zinnen tegen elkaar worden geschreven en hun structuur omkeren. Waar A het eerste herhaalde onderwerp is, en B tweemaal ertussenin. Voorbeelden kunnen zijn "Never let a Fool Kiss You or a Kiss Fool You." Nog een exemplaar van John F. Kennedy is "vraag niet wat uw land voor u kan doen, vraag wat u voor uw land kunt doen". Ik hoop dat dit helpt :)
Wat is een concreet voorbeeld? + Voorbeeld
Een concreet voorbeeld is een voorbeeld dat kan worden aangeraakt of waargenomen in tegenstelling tot een abstract voorbeeld dat niet kan zijn. Een concreet voorbeeld is een voorbeeld dat kan worden aangeraakt of waargenomen in tegenstelling tot een abstract voorbeeld dat niet kan zijn. Laten we zeggen dat ik toevoeging probeer te beschrijven. Een abstract voorbeeld van toevoegen is ongeveer zo: wanneer we toevoegen, nemen we de waarde van één set en verhogen deze met de waarde van een andere set om een som te bereiken. Nu is hier een concreet voorbeeld: wanneer we de nummers 1 en 2 toevoegen, kunnen we 1 munt n