CodeGym/Java kurs/All lectures for NO purposes/En sjekkliste for Java-utviklere

En sjekkliste for Java-utviklere

Tilgjengelig

Hver Java-programmerer må ha en grunnleggende forståelse av programvareutvikling. Så la oss ta en titt på hva som anses som "grunnleggende".

1. Grunnleggende algoritmer

Det første du må ta tak i når du begynner å lære programmering (ikke bare Java) er å forstå det grunnleggende. For eksempel algoritmer.

Det er et uendelig antall av dem, og du bør ikke drepe hele år av livet ditt ved å prøve å lære så mange algoritmer som mulig: de fleste av dem vil ikke være nyttige for deg. Du kan få det nødvendige minimum av kunnskap fra boken "Grokking Algorithms". Dette er nok til å komme i gang, men hvis du vil kan du lære av boken «Structures and Algorithms» eller «Algorithms in Java» av Robert Sedgewick og Kevin Wayne.

2. Java-syntaks

Etter å ha lært det grunnleggende om algoritmer, må vi lære Java-syntaks. Tross alt, du studerer for å bli Java-programmerer, ikke sant? CodeGym-kurset er perfekt for dette.

Når du utfører utallige oppgaver, vil du få hendene på Java-syntaks og deretter, uten mye å nøle, vil du skrive/lese Java-kode som om det var ditt morsmål.

Utover praksis, må du også se på teorien for å forstå hva du gjør. For å gjøre dette kan du lese bøker. For eksempel ett av følgende:

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

Etter å ha lest disse bøkene, kan du gå ned til vanskeligere bøker:

  • "Thinking in Java," Bruce Eckel;
  • "Effektiv Java" av Joshua Bloch;
  • "Java: The Complete Reference" av Herbert Schildt.

De tre siste bøkene er ikke lettlest for nybegynnere, men de gir et solid grunnlag i Java-teori.

3. Design mønstre

Designmønstre er visse repeterbare mønstre som løser problemer i ofte opptrådte sammenhenger. De inkluderer grunnleggende, enkle mønstre som enhver programmerer med respekt for seg selv bør kjenne til. For å forstå dette emnet, ta tak i boken "Head First Design Patterns".

Den forklarer de grunnleggende designmønstrene på en tilgjengelig måte. Men boken snakker mye om Java, så når du bruker denne boken, trenger du også flyt i dette programmeringsspråket.

For et dypere dykk i mønstre kan du også lese «Design Patterns: Elements of Reusable Object-Oriented Software» fra Gang of Four ( Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides ). Når du har studert dette emnet, vil du begynne å se mønstre nesten overalt i koden din.

Vær oppmerksom på dette, spesielt til mønstrene som ble brukt om våren, siden dette er et populært intervjuspørsmål.

4. Programmeringsparadigmer. Kode renslighet

I tillegg til standard designmønstre, er det ulike prinsipper og paradigmer å være klar over (SOLID, GRASP).

Du må også holde koden ren og lesbar. For alt trenger du å vite om dette emnet, se Clean Code av Robert Martin, eller sjekk ut "Code Complete" av Steve McConnell.

5. SQL

Vårt neste trinn er å studere et språk for relasjonsdatabaser - SQL.

Databaser er hvor informasjonen (dataene) som brukes av en nettapplikasjon lagres. En database består av flere tabeller (adresseboken på telefonen din er et enkelt eksempel).

Java-utviklere er ikke bare ansvarlige for Java-applikasjonen, men også for databasen den samhandler med og hvor den lagrer dataene sine.

I relasjonsdatabaser (som er den vanligste typen) skjer all interaksjon gjennom et spesielt språk kalt Structured Query Language, eller SQL.

For å forstå dette emnet, er alt du trenger å gjøre å lese en av disse bøkene:

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

Men praksis uten teori kutter det vel ikke? Og ved intervjuer kan du forvente en test av kunnskapen din om SQL. Intervjuere gir ofte (nesten alltid) en eller to oppgaver som innebærer å skrive en SQL-spørring.

Som et resultat er det veldig viktig å finpusse dine praktiske SQL-ferdigheter for å vise deg selv i et godt lys.

6. MySQL/PostgreSQL

Etter å ha lært SQL-språket, må du bli kjent med en spesifikk databaseimplementering. Avhengig av databasen kan noen kommandoer variere dramatisk. Og det er ganske merkbare forskjeller i databasefunksjoner.

De vanligste relasjonsdatabasene er MySQL og PostgreSQL. MySQL er langt enklere, men PostgreSQL har mye bredere muligheter. Å være kjent med minst én av dem er nok til å komme i gang.

Du kan studere databaseimplementeringer hvis du bruker googlingsferdighetene dine – finn relevante artikler og opplæringsprogrammer på YouTube. Du må dyrke din evne til å lage riktige søk for spørsmålene du trenger svar på. En programmerer er tross alt en med svart belte i googling.

7. Maven/Gradle

Du må lære deg enten Gradle- eller Maven-rammeverket. De er for byggeprosjekter, og for deg er Java nå ikke bare for oppgaver som involverer et par klasser, men også et språk for å skrive fullverdige applikasjoner.

Du må forstå hvordan du bygger et prosjekt, hva byggestadiene er, hvordan du laster de nødvendige eksterne bibliotekene med tredjepartskode og mye mer.

Til tross for at Gradle er nyere og mer kortfattet, brukes Maven i de fleste tilfeller. Så vær spesielt oppmerksom på Maven bygge livssyklus.

8. Git

Git er et distribuert versjonskontrollsystem. Denne teknologien lar utviklere samarbeide om en enkelt applikasjon uten å forstyrre hverandre.

Selvfølgelig finnes det andre versjonskontrollsystemer. For eksempel Subversion. Men Git brukes mest, og du må kunne jobbe med det. I tillegg til de mange artiklene om Git du kan finne på nettet, har YouTube mer enn nok videoer for å hjelpe deg med å mestre denne teknologien, steg for steg.

Til å begynne med er det bedre å bruke Git fra kommandolinjen i stedet for en slags GUI-implementering, fordi du vil bli tvunget til å gjøre alt ved å bruke kommandoer. I intervjuer liker folk ofte å spørre om noen få Git-kommandoer, så jeg anbefaler at du skriver dem ut og holder et sted i nærheten.

9. JDBC

Denne teknologien kobler sammen Java-applikasjonen din og en relasjonsdatabase. Les en hvilken som helst JDBC-opplæring for det grunnleggende.

Det er en overflod av artikler som forklarer JDBC og gir rudimentære eksempler, selv om ingen bruker naken JDBC direkte lenger.

10. JPA. Gå i dvale

JPA er en måte å etablere en forbindelse mellom en Java-applikasjon og en database på, akkurat som JDBC. Men samtidig er JPA en teknologi på høyere nivå og derfor enklere å bruke.

Men JPA er bare en spesifikasjon, ikke en implementering. Det trenger en konkret gjennomføring. Mange av dem finnes, men den som er nærmest JPA-idealene, den mest populære og mest utviklede er Hibernate.

Du vil komme over denne teknologien mer enn én gang i din programvareutviklingskarriere. Så, i tillegg til å bli kjent med denne teknologien ved å lese artikler, kan det være verdt å tenke på å lese en bok, for eksempel "Java Persistence API".

11. Vår

Når du blir Java-utvikler, er Spring ikke lenger bare et ord for deg. Å kjenne til dette rammeverket er nå like viktig som å kjenne til Java Syntax. Man kan si at Spring har et søsken, altså Java EE. Men Java EE er utdatert og brukes ikke lenger på nye prosjekter.

Det overveldende flertallet av Java-utviklere er nå Java-Spring-utviklere, så det er et must å kjenne til noen grunnleggende Spring-teknologier.

Våren er ikke bare en ramme, men en hel ramme av rammer:

Og dette er bare en undergruppe av rammene som Spring gir. For en nybegynner er det godt nok å kjenne bare noen få av dem:

Fjærkjerne

Du bør sette dette i utgangspunktet, slik at du kan forstå hva Spring er - alt om Spring-beholdere, bønner, DI, IoC og så videre. For å forstå selve filosofien med å bruke Spring, for å si det sånn. Din videre studie av Spring-rammer vil bygge på toppen av denne basen. Kanskje du bør lage din egen lille applikasjon der du gradvis kan inkorporere alle de nylærte teknologiene.

Spring JDBC

Tidligere nevnte vi JDBC som en teknologi for å lage en databaseforbindelse. Generelt kan "naken" bruk av teknologien ikke lenger finnes i prosjekter, så du kan konkludere med at det ikke er nødvendig å lære JDBC. Dette er ikke helt riktig holdning.

Ved å utforske naken (direkte) bruk av JDBC, kan du se teknologien på et lavere nivå og forstå dens problemer og mangler. Så når du begynner å lære Spring JDBC, vil du innse hva akkurat dette rammeverket forbedrer, optimerer og skjuler.

Spring Hibernate

Analogt med situasjonen med naken JDBC, utnytter dette rammeverket en eksisterende teknologi, i dette tilfellet Hibernate. Hvis du vurderer å bruke Hibernate uten Spring, vil du definitivt innse fordelene som Spring Hibernate tilbyr.

Spring JPA

Tidligere snakket vi om JPA og nevnte at det bare er en spesifikasjon, selv om den har forskjellige implementeringer. Blant disse implementeringene kommer Hibernate nærmest idealet.

Spring har sin egen ideelle JPA-implementering som bruker Hibernate under panseret. Det er så nært som mulig til JPA-spesifikasjonens ideal.

Det kalles Spring JPA. Kort sagt, det forenkler databasetilgangen betydelig.

Du kan bare lære JPA uten å lære JDBC, Hibernate, Spring JDBC eller Spring Hibernate. Men hvis du tar denne tilnærmingen, vil kunnskapen din om hvordan du kobler til en database være veldig overfladisk.

Fjær MVC

Denne teknologien gjør det mulig å vise vår applikasjons nettgrensesnitt til brukere og lette kommunikasjonen mellom grensesnittet og resten av applikasjonen. Teknologien kan også brukes uten skjerm når du har en applikasjon som er ansvarlig for å håndtere skjermen og du samhandler med applikasjonen ved hjelp av RESTful-teknologi.

For å bedre suge til deg informasjon om Våren kan du i tillegg til artikler og YouTube-forelesninger lese flere bøker. For eksempel "Spring in Action" av Craig Walls. En annen flott bok om våren er "Vår 5 for de profesjonelle". Det er tettere. Mer som en referanse som er mer verdifull å ha for hånden enn å lese perm til perm.

Fjærstøvel

Denne teknologien forenkler bruken av Spring betraktelig. Jeg satte det ikke på slutten av listen på et innfall. Det skjuler seg faktisk mye under panseret, og for noen som ikke er kjent med vaniljefjæren, kan mange punkter være uklare eller uforståelige.

Først, for å få en bedre forståelse av hvordan Spring-rammeverk fungerer, bør du bruke vanlig Spring, og deretter plukke opp alle de høyere fordelene ved å bruke Spring Boot.

Du bør også gjøre deg kjent med Spring Security og Spring AOP. Men i motsetning til teknologiene ovenfor, er det ikke nødvendig med dyp kunnskap om disse to ennå.

Denne teknologien er ikke for nybegynnere. Ved intervjuer vil ikke juniorutviklere bli spurt om dem (unntatt et overfladisk spørsmål, kanskje). Les en oversikt over hva disse teknologiene er og prinsippene bak arbeidet deres.

Jo mer du vet, jo raskere finner du din første jobb.

Kommentarer
  • Populær
  • Ny
  • Gammel
Du må være pålogget for å legge igjen en kommentar
Denne siden har ingen kommentarer ennå