Hoi! Vandaag zullen we het hebben over het groeipad van een Java-ontwikkelaar en wat hij of zij moet weten om gewild te zijn. In 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.
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.
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.
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.
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.
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.
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.
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.
- "Denken op Java," Bruce Eckel;
- "Effectief Java" door Joshua Bloch;
- "Java: de complete referentie" door Herbert Schildt.
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.