CodeGym /Java kursus /All lectures for DA purposes /En Java-udviklers tjekliste

En Java-udviklers tjekliste

All lectures for DA purposes
Niveau , Lektie
Ledig

Enhver Java-programmør skal have en grundlæggende forståelse af softwareudvikling. Så lad os tage et kig på, hvad der betragtes som "basic".

1. Grundlæggende algoritmer

Den første ting at tage fat på, når du begynder at lære programmering (ikke kun Java), er at forstå det grundlæggende. For eksempel algoritmer.

Der er et uendeligt antal af dem, og du bør ikke dræbe hele år af dit liv ved at prøve at lære så mange algoritmer som muligt: ​​de fleste af dem vil ikke være nyttige for dig. Du kan få det nødvendige minimum af viden fra bogen "Grokking Algorithms". Dette er nok til at komme i gang, men hvis du vil, kan du lære af bogen "Structures and Algorithms" eller "Algorithms in Java" af Robert Sedgewick og Kevin Wayne.

2. Java-syntaks

Efter at have lært det grundlæggende i algoritmer, skal vi lære Java-syntaks. Når alt kommer til alt, læser du til Java-programmør, ikke? CodeGym-kurset er perfekt til dette.

Efterhånden som du udfører utallige opgaver, vil du få fingre i Java-syntaks, og så vil du uden megen tøven skrive/læse Java-kode, som om det var dit modersmål.

Ud over praksis skal du også se på teorien for at forstå, hvad du laver. For at gøre dette kan du læse bøger. For eksempel en af ​​følgende:

  • "Head First Java",
  • "Java for Dummies" af Barry Bird;
  • "Java: A Beginner's Guide" af Herbert Schildt.

Efter at have læst disse bøger, kan du komme ned til sværere bøger:

  • "Tænker på Java," Bruce Eckel;
  • "Effektiv Java" af Joshua Bloch;
  • "Java: The Complete Reference" af Herbert Schildt.

De sidste tre bøger er ikke lette at læse for begyndere, men de giver et solidt fundament i Java-teori.

3. Design mønstre

Designmønstre er visse gentagelige mønstre, der løser problemer i ofte stødte sammenhænge. De inkluderer grundlæggende, enkle mønstre, som enhver programmør med respekt for sig selv bør kende. For at forstå dette emne, tag fat i bogen "Head First Design Patterns".

Den forklarer de grundlæggende designmønstre på en tilgængelig måde. Men bogen taler meget om Java, så når du bruger denne bog, skal du også beherske dette programmeringssprog.

For et dybere dyk ned i mønstre kan du også læse "Design Patterns: Elements of Reusable Object-Oriented Software" fra Gang of Four ( Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides ). Når du har studeret dette emne, vil du begynde at se mønstre stort set overalt i din kode.

Vær opmærksom på dette, især til de mønstre, der blev brugt i foråret, da dette er et populært interviewspørgsmål.

4. Programmeringsparadigmer. Kode renlighed

Udover standarddesignmønstrene er der forskellige principper og paradigmer at være opmærksom på (SOLID, GRASP).

Du skal også holde din kode ren og læsbar. For alt skal du vide om dette emne, se Clean Code af Robert Martin, eller tjek "Code Complete" af Steve McConnell.

5. SQL

Vores næste skridt er at studere et sprog til relationelle databaser - SQL.

Databaser er det sted, hvor de oplysninger (data), der bruges af en webapplikation, opbevares. En database består af flere tabeller (adressebogen på din telefon er et simpelt eksempel).

Java-udviklere er ikke kun ansvarlige for Java-applikationen, men også den database, den interagerer med, og hvor den gemmer sine data.

I relationelle databaser (som er den mest almindelige type) sker al interaktion gennem et særligt sprog kaldet Structured Query Language eller SQL.

For at forstå dette emne skal du blot læse en af ​​disse bøger:

  1. "Learning SQL" af Alan Beaulieu;
  2. "SQL" af Chris Fehily;
  3. "Head First SQL" af Lynn Beighley.

Men praksis uden teori skærer det ikke, gør det? Og ved samtaler kan du forvente en test af din viden om SQL. Interviewere giver ofte (næsten altid) en eller to opgaver, der involverer at skrive en SQL-forespørgsel.

Som et resultat er det meget vigtigt at finpudse dine praktiske SQL-færdigheder for at vise dig selv i et godt lys.

6. MySQL/PostgreSQL

Efter at have lært SQL-sproget, skal du blive fortrolig med en specifik databaseimplementering. Afhængigt af databasen kan nogle kommandoer variere dramatisk. Og der er ret mærkbare forskelle i databasefunktioner.

De mest almindelige relationsdatabaser er MySQL og PostgreSQL. MySQL er langt enklere, men PostgreSQL har meget bredere muligheder. At være bekendt med mindst én af dem er nok til at komme i gang.

Du kan studere databaseimplementeringer, hvis du bruger dine googlingsevner - find relevante artikler og tutorials på YouTube. Du bliver nødt til at dyrke din evne til at lave korrekte søgeforespørgsler til de spørgsmål, du har brug for svar på. En programmør er jo en med sort bælte i google.

7. Maven/Gradle

Du skal lære enten Gradle- eller Maven-rammen. De er til byggeprojekter, og for dig er Java nu ikke kun til opgaver, der involverer et par klasser, men også et sprog til at skrive fuldgyldige applikationer.

Du skal forstå, hvordan man bygger et projekt, hvad byggestadierne er, hvordan man indlæser de nødvendige eksterne biblioteker med tredjepartskode og meget mere.

På trods af at Gradle er nyere og mere kortfattet, bruges Maven i de fleste tilfælde. Så vær særlig opmærksom på Maven build-livscyklussen.

8. Git

Git er et distribueret versionskontrolsystem. Denne teknologi lader udviklere samarbejde om en enkelt applikation uden at forstyrre hinanden.

Selvfølgelig er der andre versionskontrolsystemer. For eksempel Subversion. Men Git bruges mest, og du skal kunne arbejde med det. Ud over de mange artikler om Git, du kan finde online, har YouTube mere end nok videoer til at hjælpe dig med at mestre denne teknologi, trin for trin.

I første omgang er det bedre at bruge Git fra kommandolinjen i stedet for en slags GUI-implementering, fordi du vil blive tvunget til at gøre alt ved hjælp af kommandoer. I interviews kan folk ofte godt lide at spørge om et par Git-kommandoer, så jeg anbefaler, at du skriver dem ud og holder et sted i nærheden.

9. JDBC

Denne teknologi forbinder din Java-applikation og en relationel database. For det grundlæggende læs enhver JDBC tutorial.

Der er en overflod af artikler, der forklarer JDBC og giver rudimentære eksempler, selvom ingen bruger nøgen JDBC direkte længere.

10. JPA. Gå i dvale

JPA er en måde at etablere en forbindelse mellem en Java-applikation og en database på, ligesom JDBC. Men samtidig er JPA en teknologi på højere niveau og derfor lettere at bruge.

Men JPA er kun en specifikation, ikke en implementering. Det kræver en konkret implementering. Mange af dem findes, men det tætteste på JPA-idealerne, det mest populære og mest udviklede er Hibernate.

Du vil støde på denne teknologi mere end én gang i din softwareudviklingskarriere. Så udover at stifte bekendtskab med denne teknologi ved at læse artikler, kan det være værd at tænke på at læse en bog, for eksempel "Java Persistence API".

11. Forår

Når du bliver Java-udvikler, er Spring ikke længere kun et ord for dig. At kende denne ramme er nu lige så vigtigt som at kende Java Syntax. Man kan sige, at Spring har en søskende, altså Java EE. Men Java EE er forældet og bruges ikke længere på nye projekter.

Det overvældende flertal af Java-udviklere er nu Java-Spring-udviklere, så det er et must at kende nogle grundlæggende Spring-teknologier.

Foråret er ikke bare en ramme, men en hel ramme af rammer:

Og dette er blot en delmængde af de rammer, som Spring giver. For en nybegynder er det godt nok at kende nogle få af dem:

Fjederkerne

Du bør sætte dette i første omgang, så du kan forstå, hvad Spring er - alt om Spring-beholdere, bønner, DI, IoC og så videre. At forstå selve filosofien med at bruge Spring, så at sige. Din videre undersøgelse af forårets rammer vil bygge oven på denne base. Måske skulle du lave din egen lille applikation, hvor du gradvist kan inkorporere alle de nylærte teknologier.

Spring JDBC

Tidligere nævnte vi JDBC som en teknologi til at skabe en databaseforbindelse. Generelt kan "nøgen" brug af teknologien ikke længere findes i projekter, så du kan konkludere, at det ikke er nødvendigt at lære JDBC. Det er ikke helt den rigtige holdning.

Ved at udforske nøgen (direkte) brug af JDBC kan du se teknologien på et lavere niveau og forstå dens problemer og mangler. Så når du begynder at lære Spring JDBC, vil du indse, hvad denne ramme præcist forbedrer, optimerer og skjuler.

Spring Hibernate

Analogt med situationen med nøgne JDBC, udnytter denne ramme en eksisterende teknologi, i dette tilfælde Hibernate. Hvis du overvejer at bruge Hibernate uden Spring, vil du helt sikkert indse de fordele, som Spring Hibernate tilbyder.

Forår JPA

Tidligere talte vi om JPA og nævnte, at det kun er en specifikation, selvom det har forskellige implementeringer. Blandt disse implementeringer kommer Hibernate tættest på idealet.

Spring har sin egen ideelle JPA-implementering, der bruger Hibernate under hætten. Det er så tæt som muligt på Den Blandede Parlamentariske Forsamlings specifikation ideal.

Det kaldes Spring JPA. Kort sagt, det forenkler databaseadgangen betydeligt.

Du kan kun lære JPA uden at lære JDBC, Hibernate, Spring JDBC eller Spring Hibernate. Men hvis du tager denne tilgang, vil din viden om, hvordan du forbinder til en database, være meget overfladisk.

Fjeder MVC

Denne teknologi gør det muligt at vise vores applikations webgrænseflade til brugerne og lette kommunikationen mellem grænsefladen og resten af ​​applikationen. Teknologien kan også bruges uden display, når du har en applikation, der er ansvarlig for at håndtere skærmen, og du interagerer med applikationen ved hjælp af RESTful-teknologi.

For bedre at kunne opsuge information om foråret kan du udover artikler og YouTube-foredrag læse flere bøger. For eksempel "Spring in Action" af Craig Walls. En anden god bog om foråret er "Forår 5 for de professionelle". Det er mere tæt. Mere som en reference, der er mere værdifuld at have ved hånden end at læse fra ende til anden.

Fjederstøvle

Denne teknologi forenkler i høj grad brugen af ​​Spring. Jeg satte det ikke i slutningen af ​​listen på et indfald. Det gemmer sig faktisk meget under motorhjelmen, og for en, der ikke er bekendt med vaniljeforåret, kan mange punkter være uklare eller uforståelige.

For det første, for at få en bedre forståelse af, hvordan Spring-frameworks fungerer, bør du bruge almindelig Spring og derefter få alle de større fordele ved at bruge Spring Boot.

Du bør også sætte dig ind i Spring Security og Spring AOP. Men i modsætning til ovenstående teknologier er der ikke behov for dyb viden om disse to endnu.

Denne teknologi er ikke for begyndere. Ved interviews vil juniorudviklere ikke blive spurgt om dem (undtagen et overfladisk spørgsmål, måske). Læs en oversigt over, hvad disse teknologier er, og principperne bag deres arbejde.

Jo mere du ved, jo hurtigere finder du dit første job.

Kommentarer
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION