Ontwikkeling in Go - cursus 130.000 wrijven. van GeekBrains, training 15 maanden, Datum: 10 juni 2023.
Gemengde Berichten / / November 29, 2023
Voor beginners
Golang is geweldig als eerste programmeertaal. Het heeft een eenvoudige syntaxis en korte documentatie. Je hebt geen technische achtergrond nodig om het onder de knie te krijgen.
Ontwikkelaars met ervaring
Veel bedrijven stappen over op Go en zijn op zoek naar tweetalige professionals. Als je PHP, C/C++, JavaScript, Ruby of andere talen kent, kun je meer verdienen.
Basisprincipes van programmeren
Programma, variabelen en gegevenstypen
• Stroomdiagrammen en vertakkingen
• Cycli
• Functies
• Arrays
HTML/CSS. Interactieve cursus
- Maak kennis met webtechnologieën en maak een eenvoudige website.
Basisconcepten in webontwikkeling
• Basisprincipes van de opmaaktaal voor HTML-documenten
• Basisprincipes van de CSS-documentstijltaal
• Pseudo-klassen en pseudo-elementen, tabelindeling
• Vorming van een blokmodel, blokindeling
• Werk met ontwerpmockup in PSD-formaat
• Website-opmaak en introductie tot Bootstrap
• Webstandaarden en ondersteunende tools
Basis videocursus over Git
- Maak kennis met Git, een versiebeheersysteem dat programmeurs actief gebruiken in educatieve en commerciële projecten.
Inleiding tot Git
• Git installeren en configureren
• Basisterminalopdrachten
• Werken met repository's
• Bestandsbeheer in opslagplaatsen
• Geschiedenis van veranderingen
• Werken met repositoryvertakkingen
• Een repository publiceren
• Filiaalfusies
• Versiebeheer
• Maak een pull-aanvraag
• Complexe operaties
• Werken met Fork-repository's
Javascript-basiscursus
- Leer JavaScript-programmeren om eenvoudige webpagina's te maken.
Basisbeginselen van JavaScript-taal
• Basisoperatoren
• Lussen, arrays, datastructuren
• Voorwerpen
• Inleiding tot DOM
• Gebeurtenisafhandeling
• Workshoples
• Anonieme functies, sluitingen
Linux. Werkstation
- Backend Go-applicaties worden vaak op Linux ingezet. Je raakt vertrouwd met de mogelijkheden van Linux en kunt efficiënter ontwikkelen.
Het Linux-besturingssysteem installeren
• De opdrachtregelinterface aanpassen
• Gebruikers- en groepsbeheer
• Processen, besturingssysteem laden
• Bestandssysteemapparaat. Bestand en map
• Inleiding tot bash-scripts. crontab en bij taakplanners
• Beheer pakketten en opslagplaatsen. Basisprincipes van netwerkbeveiliging
• Inleiding tot docker
Gaan. Niveau 1
- Maak kennis met de basishulpmiddelen en belangrijkste gegevenstypen van Go en leer hoe u eenvoudige consoletoepassingen kunt maken.
Kenmerken en geschiedenis van de Go-taal. Werken met de basisprincipes van speeltuin en toolchain.
• Basisgegevenstypen. Basisprincipes van het werken met het I/O-subsysteem van het besturingssysteem. Basisprincipes van het structureren van Go-applicaties
• Operators en besturingsstructuren, basisfuncties
• Complexe gegevenstypen: arrays, segmenten en kaarten
• Complexe datatypen: structuren, functies en methoden
• Complexe gegevenstypen: pointers
• Interfaces. Fouten. Basisprincipes van foutafhandeling
• Basisprincipes van applicatieconfiguratie
• Werken met het bestandssysteem
• Grondbeginselen van het testen van Go-applicaties
• Eindoverleg over de cursus. Antwoorden op vragen
Gaan. Level 2
- Maak kennis met opties voor het implementeren van parallel computing in een competitief model, leer afhankelijkheden beheren en schrijf eenvoudige asynchrone applicaties.
Geavanceerde generatie en afhandeling van fouten en werken met paniek. Uitgestelde functieaanroepen
• Cross-compilatie in Go en dieper duiken in de toolchain
• Werken met externe afhankelijkheden
• Gelijktijdigheid, deel 1. Goroutines en kanalen
• Gelijktijdigheid, deel 2. Basisprincipes van gegevenstypen uit het synchronisatiepakket
• Gelijktijdigheid, deel 3. Goroutine planner, raceconditie en controle op aanwezigheid ervan
• Reflectie en codegeneratie in de Go-taal.
• Basisprincipes van het werken met de Go-standaardbibliotheek. Voorbereiding op het cursusproject
Best practices voor de ontwikkeling van Go-applicaties
- Maak kennis met moderne ontwikkelpraktijken in Go en leer hoe u deze in uw projecten kunt implementeren. Ze zijn nuttig bij het ontwikkelen van elke toepassing: van eenvoudige hulpprogramma's tot zwaarbelaste services.
Afhandeling van fouten van services van derden en signalen van het besturingssysteem
• Loggen
• Geavanceerde testpraktijken
• Overleg
• Principes voor het structureren van Go-applicaties
• Linters: gevorderd niveau
• Bouw applicaties en automatiseer repetitieve handelingen
Backend-ontwikkeling. Niveau 1
- Leer applicaties ontwikkelen in Go, ontwerp en ondersteun hun backend. Maak aan het einde van de cursus een project: een linkverkorter.
Basisprincipes van netwerken
• HTTP- en RESTful API-ontwerp
• Implementatie en testen van HTTP-handlers
• Een router en bibliotheken selecteren. Middelware. Vraag context aan.
• Oefening, deel 1. Serverimplementatie
• Oefening, deel 2. Het implementeren van een webapplicatie
• Kenmerken van dockerisatie van Go-applicaties.
• Bouw en implementeer de applicatie. CI/CD
Database
- Je leert hoe relationele databases werken, je kunt je eigen databases maken, hun structuur wijzigen en gegevens beheren met behulp van SQL.
Inleiding tot de relationele databasetheorie
• Basisconcepten van databasestructuur
• Gegevensdefinitie, basisgegevensbewerkingen
• Gegevensbemonstering, gegevensaggregatie
• Geneste query's en UNION
• MEEDOEN
• Geavanceerde SQL-mogelijkheden
• Vensterfuncties, indexen, werken in een grafische client
Postgres voor Go-ontwikkelaars
- Probeer jezelf uit als databasebeheerder, leer werken met het PostgreSQL-beheersysteem en implementeer het in uw projecten.
Aan de slag met PostgreSQL: basistools, vergelijking met andere DBMS'en
• Werken met databasestructuur, CTE, analyseren van vereisten bij het zoeken naar gegevens
• Analyse van de uitvoering van query's en gegevensindexering
• PostgreSQL gebruiken vanuit een Go-applicatie
• Applicatiestructuur, testen, migraties, ORM
• Isolatieniveaus, gelijktijdigheid, opschoning, replicatie
Waarneembaarheid en optimalisatie
- Leer hoe u de programmaprestaties kunt analyseren en optimaliseren met behulp van profilering, tracering en caching.
Toezicht + waarschuwing
• Logging + foutafhandeling
• Profilering en tracering
• Optimalisatie en caching
Backend-ontwikkeling. Level 2
- Leer applicaties implementeren en beheren in Kubernetes, maak kennis met verschillende API-protocollen en microservice-ontwerpprincipes.
Principes van interactie tussen microservices
• JSON-RPC en gRPC
• GrafiekQL
• Go-applicaties draaien op Kubernetes. Configuratie Toezicht houden. Foutopsporing.
• Kubernetes-cluster
• Wachtrijen
• Functioneel testen/BDD
• Ga naar de basisbeginselen van applicatiebeveiliging
Voorbereiding op een Go Developer-interview
- Maak een aantrekkelijk CV en bereid je voor op een technisch interview. U kunt uw eigen GitHub-portfolio van uw projecten maken.
Een GitHub-portfolio maken
• Soft skills van een Go-ontwikkelaar
• Het slagen voor een technisch interview
• Portfolioconsultatie
Teamontwikkeling van een microserviceproject
- Je leert hoe je ontwikkeling kunt uitvoeren in een snel veranderende omgeving: leer werken met grote taken van klanten, demonteer deze in delen en stel de juiste prioriteiten. Implementeer uw eigen microservices in teamwerk.
Meewerken aan serviceontwerp. RFC's en ontwerpdocumenten
• Samenwerkingspraktijken met Git. Codebeoordeling
• Gezamenlijk testen en inzetten van diensten
• Verantwoordelijkheid van de ontwikkelaar. Controlelijsten voor productiegereedheid
• Praktijk van wachtdienst. Incidenten en autopsie
• Drie consultaties over uw project
Sergej Gonchar
16.07.2022 G.
Nu studeer ik om Go-ontwikkelaar te worden - over het algemeen is het niet slecht. Tot nu toe heb ik er geen spijt van dat ik hun cursussen heb gekocht. De programma’s zijn interessant en nuttig, maar webinars van 2 uur zijn niet bepaald prettig. Ik geef de voorkeur aan vooraf opgenomen video's van 20-30 minuten met taken. Soms voel je bij sommige cursussen een sterke toename van de moeilijkheidsgraad van onderwerpen en opdrachten. Je doorloopt de lessen, maakt het huiswerk, alles lijkt duidelijk...