Aan de slag met Fullstack Web Development
Tegenwoordig is moderne full-stack ontwikkeling erg populair in zowel kleine agentschappen als grotere bedrijven met een toegewijd technisch team. Full stack-webengineers werken aan een hele webstack van technologieën, waaronder frontend-, backend- en serverbeheer .
Veel mensen beweren dat volledige stack alleen maar leidt tot een 'jack of all trades, master of none'. Vanuit een bepaald gezichtspunt kan dit waar zijn, maar skillset is alleen zo belangrijk als wat ermee kan worden bereikt. Veel full-stack-ontwikkelaars bieden waarde omdat ze een idee kunnen aannemen, vanaf de conceptie tot de lancering, en elke stap van het proces volledig begrijpen.
Als je erover denkt om de Full Stack-route te gaan gebruiken, dan is dit artikel iets voor jou. Ik zal de algemene vereisten van een full-stack ontwikkelaar uitleggen, wat de rol inhoudt en hoe de skillset nuttig kan zijn voor freelancers / contractanten die direct voor klanten of in hun eigen projecten willen werken.
Volledige stapelbeginselen
De moderne ontwikkeling van de volledige stapel heeft een lange weg afgelegd, omdat de webtechnologie veel is veranderd. Volledige stapelvereisten moeten worden gebruikt als richtlijnen om het volgende te overwegen. Over het algemeen stelt een "stapel" de technologieën voor die samen werken om een website te laten werken . Dit betekent frontendcode, back-endcode, een databasesysteem en een webserverplatform + besturingssysteem voor de server.
Het basisprincipe van de ontwikkeling van volledige stacks is om alle aspecten van het bouwen van een website te begrijpen. Dit betekent niet dat u kennis hebt van ontwerp of UI / UX-werk, hoewel dat uw levensvatbaarheid en werkkwaliteit aanzienlijk kan verbeteren.
- De fundamenten van frontend omvatten HTML / CSS en JavaScript, hoogstwaarschijnlijk met een framework, zoals Angular of React.
- Voor een backend-taal wil je iets kiezen dat kan worden gekoppeld aan een databasesysteem. PHP / MySQL is de meest voorkomende en gemakkelijkst te leren omdat het vele CMS-engines aanstuurt, zoals WordPress. Ook de LAMP- stack is onmiskenbaar de meest populaire webstack van vandaag.
- Serverkennis kan zo eenvoudig of gedetailleerd zijn als u wilt. De absolute basis is kennis van een serverprogramma zoals Apache gekoppeld aan een database zoals MySQL of PostgreSQL .
- U kunt zelfs nog verder gaan met kennis van het installeren van e-mailservers of prestatiegereedschappen, zoals memcached of Varnish.
Technische kennisdiepte
Een grote vraag over volledige stapelontwikkeling is hoe diep het is om elk gebied binnen te gaan . Is een ingenieur met een volledige stack ooit echt een meester in alles? Sommigen beweren dat het mogelijk is, maar dat is misschien niet het doel van full-stack gaan .
De meeste bedrijven willen full stack-engineers inhuren die overal een beetje kennis hebben. Deze technici kunnen zich op een bepaald gebied specialiseren, maar ze kunnen elke rol vervullen wanneer dat nodig is .
Ontwikkelaars die net op dit pad beginnen, moeten op alle gebieden rondspelen en 'net genoeg' leren om problemen op te lossen als ze zich voordoen . Dit geeft een echte wereldinterpretatie aan de technologieën om te zien hoe verschillende problemen van toepassing zijn op echte projecten.
Het grootste voordeel van volledige stackcodering is de mogelijkheid om uw eigen applicaties te bouwen zonder voor iemand anders te werken.Als je elke fase van het ontwikkelingsproces leert, kun je alles zelf doen. Je hoeft geen PHP-meester te zijn om een aangepaste Laravel-app te bouwen. En je hoeft geen JavaScript-goeroe te zijn om een flexibele vervolgkeuzelavigatie te maken, vooral nu er zoveel open source-code op internet beschikbaar is.
Dus hoe diep moet je naar een van deze gebieden gaan? Dit is geheel aan jou en je antwoord zal waarschijnlijk in de loop van de tijd veranderen.
Maar wanneer je net begint, ga dan gewoon diep genoeg om wat je hebt geleerd om te zetten in een echt project . Wanneer je iets tegenkomt dat je niet begrijpt, gebruik het dan als een kans om dieper te gaan en meer te leren over dat specifieke onderwerp .
Talen kiezen
Het is een beetje een raadsel voor de nieuwe ontwikkelaar om te kiezen welke technologieën hij moet leren. Om de benodigdheden uit de weg te ruimen, zijn HTML en CSS absoluut vereist . JavaScript is ook een noodzaak, maar je hoeft jezelf niet als een JS-meester te beschouwen. U moet echter geïnteresseerd zijn om meer te weten te komen dan alleen JavaScript.
De meeste ontwikkelaars leren jQuery ook, maar frameworks zoals React, Ember, Angular, Vue of Backbone bieden allemaal een eenvoudiger proces voor het bouwen van full-scale webapplicaties.
Het is mogelijk om nog diepgaander te leren van fancy JavaScript-effecten, zoals animaties, maar ze zijn volledig optioneel. Een ontwikkelaar van een volledige stack zou precies genoeg moeten weten om de klus te klaren en van daaruit verder te gaan.Backend taalkeuze heeft minder te maken met technisch voordeel en meer met comfort. De meeste programmeurs realiseren zich dat Python een veelzijdiger taal is dan PHP, maar de meeste websites draaien op PHP-servers. Dit maakt PHP een waardevolle taal voor meer bedrijven.
Kies de taal die bij u past, of biedt u de beste vooruitzichten. Houd ook in gedachten dat je niet voor altijd vastzit met één backend-taal . Als je met Ruby begint maar overschakelt naar Python, verlies je niets in het proces.Ik raad echter aan dat als je eenmaal een backend taal vindt die je leuk vindt, dieper graaft met die taal, en een gerelateerd kader oppikt . PHP heeft Laravel, Ruby heeft Rails en Python heeft Django - naast vele andere opties. Deze frameworks zullen uw ontwikkelingsproces versnellen en u helpen uw applicaties op de juiste manier te structureren.
Databases en servers
Het kiezen van een database-engine komt neer op projectvereisten en serverstack. PHP werkt vaak met MySQL, dus dat is de voorkeur. De twee grootste webstacks van vandaag zijn LAMP (Linux-Apache-MySQL-PHP) en MEAN (MongoDB-ExpressJS-AngularJS-Node.js).
De meeste hostingbedrijven bieden LAMP vanaf het begin zonder installatie aan. Maar met aangepaste oplossingen zoals Digital Ocean kunt u bijna alles met een beetje elleboogvet uitvoeren. U vindt meer webstacks in deze lijst of door online rond te zoeken.
Uw database naar keuze is vaak gekoppeld aan uw backend-taal . Python wordt standaard geleverd met SQLite-ondersteuning en RoR-ontwikkelaars kunnen meestal met alles werken. En eerlijk gezegd, elke taal kan meestal met elke database werken.
Maar u wilt iets kiezen dat gebruikelijk genoeg is om te gebruiken in de meeste webprojecten. SQL is een algemene taal en gebruikt meestal dezelfde syntaxis voor alle databasemotoren. U zult verschillen vinden in het instellen en beheren van de tabel, maar deze zijn meestal van ondergeschikt belang.
Naast databases, zijn hier enkele technische onderwerpen over de server waarover u meer wilt weten.- CDN's en inhoudhosting
- Installatie en updates van serversoftware
- Beste serverconfigs voor verkeerspieken en laadtijden
- Cacheoplossingen voor zowel databasevragen als bestandssysteemopslag
- Geautomatiseerde back-ups van databases en platte bestanden of back-ups van back-ups van schijven
- HTTPS-instellingen met domeinbeheer (DNS-servers, CNAME-records, etc.)
- Meer gedetailleerde onderwerpen, zoals e-mail, microservices en taakverdeling
Een van de beste manieren om te leren is sleutelen aan servers tijdens het bouwen van projecten. Pak een standaard VPS- account en probeer uw eigen stacks in te stellen. Deze VPS's zijn complete virtuele serveromgevingen waar je de volledige controle hebt om alles te configureren (of te vernietigen). De bovenstaande lijst is ook geen vereiste routekaart voor alle full-stack-ontwikkelaars.
De enige kennis die u echt nodig hebt, is alles wat nodig is om een lege serveromgeving te creëren en de software te installeren die nodig is om een website te draaien . Vanaf daar is al het andere gewoon betere kennis. Als je ooit vragen hebt of wilt leren van professionals, kijk dan eens naar de Reddit's / r / SysAdmin-community.
De weg voor ons
Als je echt de volledige stackontwikkeling wilt leren, maak dan een lijst van alle technologieën die je wilt leren . Van daaruit kun je ze één voor één aanpakken bij het maken van je eigen oefenprojecten om te testen wat je leert.
Webontwikkeling is een steeds veranderende industrie, dus je moet altijd bereid zijn om meer te leren. Test verschillende stapels en talen totdat u vindt wat u leuk vindt. Maar wees altijd bereid om dieper te gaan en beter te worden!
Is de ontwikkeling van een volledige stapel de moeite waard? Dat is aan jou om te beslissen. Maar hier zijn enkele gerelateerde berichten die u kunnen helpen om dat uit te zoeken.
- Over de legitimiteit van "Full-Stack" (heapsortjobs.com)
- Dus je wilt een full-stack ontwikkelaar worden (rubysteps.com)
- 7 tips om een Full Stack-ontwikkelaar te worden (usersnap.com)
Hoe YouTube-video's automatisch te transcriberen
Veel van ons weten het misschien niet, maar YouTube bevat vele handige functies, zoals vertalen voor titels en een beschrijving en sneltoetsen op YouTube, enz. Zo zijn er ook manieren om YouTube-video's te transcriberen. Omdat de spraakherkenningssoftware tegenwoordig veel is verbeterd, kunt u een betrouwbare automatische transcriptie krijgen die gemakkelijk en met weinig tot geen moeite kan worden bewerkt
Deze site weet het als je online accounts zijn gehackt
In de loop der jaren zijn veel websites en services gehackt door groepen black hat-hackers. Uit deze hacks komen lijsten met besmette e-mails en de bijbehorende wachtwoorden, die door deze groepen vaak worden gebruikt als ruilmiddel om hun slachtoffers voor geld af te persen.Vanwege de hoeveelheid gegevens die van deze hacks wordt gestolen, kan het een saaie aangelegenheid zijn om de informatie te doorzoeken om te achterhalen of uw e-mailadres en wachtwoord kunnen worden aangetast