CodeGym/Java Blog/Willekeurig/De checklist van een Java-ontwikkelaar. Wat een ontwikkel...
John Squirrels
Niveau 41
San Francisco

De checklist van een Java-ontwikkelaar. Wat een ontwikkelaar moet weten

Gepubliceerd in de groep Willekeurig
Hoi! Vandaag zullen we het hebben over het groeipad van een Java-ontwikkelaar en wat hij of zij moet weten om gewild te zijn. De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 1In een interview kan elke ontwikkelaar de sollicitant grillen. Ze kunnen bijvoorbeeld vragen gaan stellen over specifieke onderwerpen die ze zijn tegengekomen in hun huidige project. Maar niet alles weten is normaal. Dat je sommige vragen niet kunt beantwoorden is ook normaal. Als algemene regel geldt dat elke Java-programmeur een basiskennis moet hebben van softwareontwikkeling. Laten we dus eens kijken naar wat als "basis" wordt beschouwd.

1. Basisalgoritmen

Het eerste dat u moet aanpakken als u begint met programmeren (niet alleen Java) is de basis begrijpen. Bijvoorbeeld algoritmen. Er zijn er oneindig veel, en je zou geen hele jaren van je leven moeten doden om zoveel mogelijk algoritmen te leren: de meeste zullen niet nuttig voor je zijn. Het benodigde minimum aan kennis kun je halen uit het boek "Grokking Algorithms". Dit is genoeg om je op weg te helpen, maar als je wilt, kun je leren van het boek "Structures and Algorithms" of "Algorithms in Java" van Robert Sedgewick en Kevin Wayne. Ik raad je ook aan om je kennis van de basisprincipes van informatica te verbeteren. Dit kan met de Harvard CS50 cursus.

2. Java-syntaxis

Nadat we de basisprincipes van algoritmen hebben geleerd, moeten we de Java-syntaxis leren. We studeren hier tenslotte allemaal om Java-programmeur te worden, toch? De cursus CodeGym is hier perfect voor. Terwijl je talloze taken uitvoert, krijg je Java-syntaxis in handen en vervolgens, zonder veel aarzelen, schrijf/lees je Java-code alsof het je moedertaal is. CodeGym is oefenen, maar daarnaast moet je ook naar de theorie kijken om te begrijpen wat je doet. Om dit te doen, kunt u boeken lezen. Bijvoorbeeld een van de volgende:
  • "Hoofd eerst Java",
  • "Java voor Dummies" door Barry Bird;
  • "Java: een beginnershandleiding" door Herbert Schildt.
Na het lezen van deze boeken kun je aan de slag met moeilijkere boeken:
  • "Denken op Java," Bruce Eckel;
  • "Effectief Java" door Joshua Bloch;
  • "Java: de complete referentie" door Herbert Schildt.
De laatste drie boeken zijn niet gemakkelijk te lezen voor beginners, maar bieden wel een solide basis in de Java-theorie. Vergeet ook de CodeGym-artikelen niet, aangezien deze uitleg geven voor de meeste onderwerpen die u mogelijk interesseren. Je kunt een relevant artikel vinden door het onderwerp dat je interesseert in de zoekbalk te typen: De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 2ik raad ook ten zeerste aan om te zoeken naar vragen uit Java-interviews. Dit zal u helpen begrijpen wat u precies moet leren en op welke vragen u zich moet voorbereiden.

3. Ontwerppatronen

Ontwerppatronen zijn bepaalde herhaalbare patronen die problemen in veel voorkomende contexten oplossen. Ze bevatten eenvoudige basispatronen die elke zichzelf respecterende programmeur zou moeten kennen. Om dit onderwerp te begrijpen, pak het boek "Head First Design Patterns". Het legt de basisontwerppatronen op een toegankelijke manier uit. Maar in het boek wordt veel over Java gesproken, dus als je dit boek leest, moet je deze programmeertaal ook vloeiend beheersen. Voor een diepere duik in patronen kunt u ook "Design Patterns: Elements of Reusable Object-Oriented Software" lezen van de Gang of Four ( Noot van de redactie: de Gang of Four is een team van auteurs met onder meer Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Als je dit onderwerp eenmaal hebt bestudeerd, zul je vrijwel overal in je code patronen gaan zien. Besteed hier aandacht aan, vooral aan de patronen die in Spring worden gebruikt, aangezien dit een populaire interviewvraag is.

4. Programmeerparadigma's. Code reinheid

Naast de standaard ontwerppatronen zijn er verschillende principes en paradigma's waar je je bewust van moet zijn ( SOLID , GRASP ). U moet uw code ook schoon en leesbaar houden. Voor alles wat je moet weten over dit onderwerp, zie Clean Code van Robert Martin, of bekijk "Code Complete" van Steve McConnell.

5. SQL

Onze volgende stap is het bestuderen van een taal voor relationele databases: SQL . In databases wordt de informatie (gegevens) die door een webapplicatie wordt gebruikt, opgeslagen. Een database bestaat uit meerdere tabellen (het adresboek op je telefoon is een eenvoudig voorbeeld). Java-ontwikkelaars zijn niet alleen verantwoordelijk voor de Java-toepassing, maar ook voor de database waarmee deze communiceert en waar de gegevens worden opgeslagen. In relationele databases (het meest voorkomende type) vindt alle interactie plaats via een speciale taal genaamd Structured Query Language of SQL. Om dit onderwerp te begrijpen, hoef je alleen maar een van deze boeken te lezen:
  • "SQL leren" door Alan Beaulieu;
  • "SQL" door Chris Fehily;
  • "Head First SQL" door Lynn Beighley.
Maar oefenen zonder theorie redt het niet, toch? En bij sollicitatiegesprekken kun je een test van je kennis van SQL verwachten. Interviewers geven vaak (bijna altijd) een of twee taken waarbij een SQL-query moet worden geschreven. Daarom is het erg belangrijk om je praktische SQL-vaardigheden aan te scherpen om jezelf in een goed daglicht te stellen.

6. MySQL/PostgreSQL

Nadat u de SQL-taal hebt geleerd, moet u vertrouwd raken met een specifieke database-implementatie. Afhankelijk van de database kunnen sommige opdrachten sterk variëren. En er zijn behoorlijk opvallende verschillen in databasemogelijkheden. De meest voorkomende relationele databases zijn MySQL en PostgreSQL . De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 3MySQL is veel eenvoudiger, maar PostgreSQL heeft veel bredere mogelijkheden. Bekend zijn met ten minste één van hen is voldoende om aan de slag te gaan. U kunt database-implementaties bestuderen als u uw google-vaardigheden gebruikt - vind relevante artikelen en tutorials op YouTube. U moet uw vermogen cultiveren om de juiste zoekopdrachten te maken voor de vragen die u beantwoord wilt hebben. Een programmeur is tenslotte iemand met een zwarte band in googlen.

7. Maven/Gradle

U moet het Gradle- of Maven- framework leren. Ze zijn voor het bouwen van projecten, en voor jou is Java nu niet alleen voor taken met een paar klassen, maar ook een taal voor het schrijven van volwaardige applicaties. U moet begrijpen hoe u een project bouwt, wat de bouwfasen zijn, hoe u de benodigde externe bibliotheken laadt met code van derden, en nog veel meer. Ondanks dat Gradle nieuwer en beknopter is, wordt Maven in de meeste gevallen gebruikt. Besteed dus speciale aandacht aan de levenscyclus van de Maven-build.

8. Git

Git is een gedistribueerd versiebeheersysteem. Met deze technologie kunnen ontwikkelaars samenwerken aan één applicatie zonder elkaar te hinderen. Natuurlijk zijn er andere versiebeheersystemen. Subversie bijvoorbeeld . Maar Git wordt het meest gebruikt en je moet ermee kunnen werken.De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 4Naast de vele artikelen over Git die je online kunt vinden, heeft YouTube meer dan genoeg video's om je stap voor stap te helpen deze technologie onder de knie te krijgen. In het begin is het beter om Git vanaf de opdrachtregel te gebruiken in plaats van een soort GUI-implementatie, omdat je gedwongen zult worden om alles met behulp van opdrachten te doen. In interviews vragen mensen vaak naar een paar Git-commando's, dus ik raad je aan ze op te schrijven en ergens bij de hand te houden. Ik raad je ook aan om aantekeningen te maken en de belangrijkste punten bij te houden om ze voor het interview door te nemen en je geheugen op te frissen.

9. JDBC

Deze technologie verbindt uw Java-toepassing en een relationele database. Voor de basis raad ik aan om elke JDBC-tutorial te lezen. Er is een overvloed aan artikelen die JDBC uitleggen en rudimentaire voorbeelden geven, ook al gebruikt niemand meer naakte JDBC.

10. PPV. Overwinteren

JPA is een manier om een ​​verbinding tot stand te brengen tussen een Java-applicatie en een database, net als JDBC. Maar tegelijkertijd is JPA een technologie van een hoger niveau en daarom gemakkelijker te gebruiken. Maar JPA is slechts een specificatie, geen implementatie. Het vraagt ​​om een ​​concrete uitvoering. Er zijn er veel, maar het dichtst bij de JPA-idealen, de meest populaire en meest ontwikkelde is Hibernate. U zult deze technologie meer dan eens tegenkomen in uw carrière als softwareontwikkelaar. Dus naast het leren kennen van deze technologie door artikelen te lezen, kan het de moeite waard zijn om na te denken over het lezen van een boek, bijvoorbeeld "Java Persistence API".

11. Lente

Als je een Java-ontwikkelaar wordt, is lente niet langer alleen maar een woord voor jou. De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 5Het kennen van dit framework is nu net zo belangrijk als het kennen van Java Syntax. Je zou kunnen zeggen dat Spring een broer of zus heeft, namelijk Java EE. Maar Java EE is verouderd en wordt niet meer gebruikt voor nieuwe projecten. De overgrote meerderheid van Java-ontwikkelaars zijn nu Java-Spring-ontwikkelaars, dus kennis van enkele basis Spring-technologieën is een must. Spring is niet alleen een raamwerk, maar een heel raamwerk van raamwerken: De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 6en dit is slechts een subset van de raamwerken die Spring biedt. Voor een beginner is het goed genoeg om er maar een paar te kennen:

  • lente kern

Je moet dit op de eerste plaats zetten, zodat je begrijpt wat Spring is - alles over Spring-containers, bonen, DI, IoC, enzovoort. Om zogezegd de filosofie van het gebruik van Spring te begrijpen. Je verdere studie van Spring-frameworks bouwt voort op deze basis. Misschien moet u uw eigen kleine applicatie maken waarin u geleidelijk alle nieuw geleerde technologieën kunt integreren.

  • Lente JDBC

Eerder noemden we JDBC als een technologie voor het maken van een databaseverbinding. Over het algemeen is "naakt" gebruik van de technologie niet meer terug te vinden in projecten, dus je zou kunnen concluderen dat het leren van JDBC niet nodig is. Dit is niet helemaal de juiste houding. Door naakt (direct) gebruik van JDBC te verkennen, kun je de technologie op een lager niveau zien en de problemen en tekortkomingen ervan begrijpen. Wanneer u vervolgens Spring JDBC gaat leren, zult u zich realiseren wat dit raamwerk precies verbetert, optimaliseert en verbergt.

  • Lente winterslaap

Analoog aan de situatie met naakte JDBC, maakt dit raamwerk gebruik van een bestaande technologie, in dit geval Hibernate. Als u overweegt om Hibernate zonder Spring te gebruiken, zult u zich zeker realiseren welke voordelen Spring Hibernate biedt.

  • Lente PPV

Eerder hadden we het over JPA en vermeldden dat het slechts een specificatie is, hoewel het verschillende implementaties heeft. Van deze implementaties komt Hibernate het dichtst bij het ideaal. Spring heeft zijn eigen ideale JPA-implementatie die Hibernate onder de motorkap gebruikt. Het benadert zo dicht mogelijk het ideaal van de JPA-specificatie. Het heet Lente PPV. Kortom, het vereenvoudigt de toegang tot de database aanzienlijk. U kunt alleen JPA leren zonder JDBC, Hibernate, Spring JDBC of Spring Hibernate te leren. Maar als u deze aanpak volgt, zal uw kennis over hoe u verbinding kunt maken met een database erg oppervlakkig zijn.

  • Lente MVC

Deze technologie maakt het mogelijk om de webinterface van onze applicatie aan gebruikers weer te geven en de communicatie tussen de interface en de rest van de applicatie te vergemakkelijken. De technologie kan ook zonder weergave worden gebruikt wanneer u een toepassing hebt die verantwoordelijk is voor het afhandelen van de weergave en u communiceert met de toepassing met behulp van RESTful- technologie. Om informatie over Lente beter tot je te nemen, kun je naast artikelen en YouTube-lezingen ook verschillende boeken lezen. Ik vond het boek "Spring in Action" van Craig Walls erg leuk. Ik raad je aan om de 6e versie te lezen, als je goed Engels kent. Een ander geweldig boek over de lente is "Spring 5 for the Professionals". Het is dichter. Meer als een naslagwerk dat waardevoller is om bij de hand te houden dan om van kaft tot kaft te lezen.De checklist van een Java-ontwikkelaar.  Wat een ontwikkelaar moet weten - 7

  • Lente laars

Deze technologie vereenvoudigt het gebruik van Spring enorm. Ik heb het niet in een opwelling aan het einde van de lijst gezet. Het verbergt inderdaad veel onder de motorkap, en voor iemand die niet bekend is met de vanilla Spring kunnen veel punten onduidelijk of onbegrijpelijk zijn. Ten eerste, voor een beter begrip van hoe Spring-frameworks werken, moet u de reguliere Spring gebruiken en vervolgens alle hogere voordelen van het gebruik van Spring Boot oppikken. Ik raad u ook aan om vertrouwd te raken met Spring Security en Spring AOP. Maar in tegenstelling tot de bovenstaande technologieën is diepgaande kennis van deze twee nog niet nodig. Deze technologie is niet voor beginners. Tijdens interviews zullen junior ontwikkelaars er niet naar worden gevraagd (behalve misschien een oppervlakkige vraag). Lees een overzicht van wat deze technologieën zijn en de principes achter hun werk. In dit artikel, Ik heb herhaaldelijk het lezen van boeken genoemd. Enerzijds is dit niet verplicht. Je kunt programmeur worden zonder ook maar één boek te lezen, waarbij je alle benodigde kennis opdoet uit online artikelen en trainingsvideo's. Aan de andere kant is de concurrentie op de arbeidsmarkt momenteel hoog tussen beginnende ontwikkelaars, wat de lat hoger legt voor wat een beginner moet weten. Dus hoe meer u weet, hoe sneller u uw eerste baan zult vinden door indruk te maken op de interviewer met uw kennisniveau. Iedereen bedankt, en moge Java met je zijn. wat de lat hoger legt voor wat een beginner moet weten. Dus hoe meer u weet, hoe sneller u uw eerste baan zult vinden door indruk te maken op de interviewer met uw kennisniveau. Iedereen bedankt, en moge Java met je zijn. wat de lat hoger legt voor wat een beginner moet weten. Dus hoe meer u weet, hoe sneller u uw eerste baan zult vinden door indruk te maken op de interviewer met uw kennisniveau. Iedereen bedankt, en moge Java met je zijn.
Opmerkingen
  • Populair
  • Nieuw
  • Oud
Je moet ingelogd zijn om opmerkingen te kunnen maken
Deze pagina heeft nog geen opmerkingen