Ciao! Oggi parleremo del percorso di sviluppo di uno sviluppatore Java e di cosa deve sapere per essere richiesto. Qualsiasi sviluppatore durante un colloquio può "bocciare" un candidato per una posizione. Ad esempio, inizierà a fare domande su argomenti specifici che ha incontrato nel progetto attuale. Ma va bene non sapere tutto. Anche il fatto che non rispondi ad alcune domande è normale. In generale, ogni programmatore Java dovrebbe avere una conoscenza di base dello sviluppo. Quindi, diamo un'occhiata a quali tecnologie sono considerate "di base".
Dovrebbe essere in primo luogo capire cos'è Spring: cosa sono un contenitore Spring, bean, DI, IoC e così via. Per così dire, comprendi la filosofia stessa dell'utilizzo di Spring. Ulteriori studi sui framework Spring avranno luogo sulla base di questa base. Potrebbe valere la pena creare la tua piccola applicazione, alla quale aggiungerai gradualmente le nuove tecnologie che hai appreso.
In precedenza abbiamo parlato della tecnologia JDBC come tecnologia per creare una connessione a un database. In generale, l’uso “nudo” della tecnologia potrebbe non essere presente nei progetti al momento, quindi potrebbe sembrare che l’apprendimento di JDBC non sia necessario. Ma non è così. Osservando l'ossatura di JDBC, puoi vedere la tecnologia a un livello inferiore e comprenderne i problemi e le carenze. Una volta che inizi ad apprendere Spring JDBC, capirai esattamente cosa migliora, ottimizza e nasconde ai nostri occhi questo framework.
Come con JDBC semplice, questo framework migliora l'uso di una tecnologia esistente, in questo caso Hibernate. Se consideri l'utilizzo di Hibernate senza Spring, capirai esattamente qual è il vantaggio dell'utilizzo di Spring Hibernate.
In precedenza abbiamo parlato di JPA e di come sia solo una specifica per la quale esistono varie implementazioni. Tra queste implementazioni, Hibernate è quella più vicina all'ideale. Spring ha la sua implementazione ideale di JPA, che utilizza Hibernate "sotto il cofano" ed è il più vicino possibile all'ideale delle specifiche JPA. Questa tecnologia si chiama Spring JPA. A proposito, semplifica notevolmente l'accesso al database. Puoi imparare solo JPA senza imparare JDBC, Hibernate, Spring JDBC, Spring Hibernate. Ma in questo caso, la tua conoscenza della connessione a un database sarà molto superficiale.
Con questa tecnologia possiamo mostrare agli utenti l'interfaccia web della nostra applicazione e consentire all'interfaccia di comunicare con il resto dell'applicazione. La tecnologia può funzionare anche senza visualizzazione, quando è presente un'applicazione responsabile della visualizzazione e l'utente interagisce con tale applicazione utilizzando richieste e risposte utilizzando la tecnologia RESTful . Per comprendere meglio le informazioni sulla primavera, oltre agli articoli e alle conferenze su YouTube, puoi leggere diversi libri. Mi è piaciuto molto il libro “Spring in Action” di Walls Craig. Sfortunatamente, in russo ora esiste solo la terza versione, considerata obsoleta. Ti consiglio di leggere la versione 6 se conosci bene l'inglese. Un altro ottimo libro sulla primavera è “Spring 5 for Professionals”. È più difficile da imparare e assomiglia più a una Bibbia primaverile che è meglio tenere a portata di mano piuttosto che leggere da cima a fondo.
Questa tecnologia semplifica notevolmente l'utilizzo di Spring. Lo metto alla fine dell'elenco per un motivo, perché nasconde molto sotto il “cappuccio” e per una persona che non ha familiarità con la Primavera normale, molti punti potrebbero non essere ovvi e incomprensibili. Innanzitutto, per una migliore comprensione di come funzionano i framework Spring, dovresti utilizzare Spring normale, quindi tutti i vantaggi maggiori derivanti dall'utilizzo di Spring Boot. Ti consiglio anche di familiarizzare con Spring Security e Spring AOP. Ma a differenza delle tecnologie di cui sopra, ora non è necessaria una conoscenza approfondita di queste due. Questa tecnologia non è per i principianti. Durante le interviste, ai ragazzi non viene chiesto nulla in merito (tranne forse una domanda superficiale). Leggi in generale cosa sono queste tecnologie e come funzionano. In questo articolo ho più volte menzionato la lettura di libri. Da un lato, questo non è necessario. Puoi diventare un programmatore senza leggere un solo libro, avendo studiato tutto ciò di cui hai bisogno da articoli e video di formazione. D'altra parte, al momento la concorrenza nel mercato per gli sviluppatori alle prime armi è elevata, il che alza il livello delle conoscenze iniziali richieste per un principiante. Pertanto, più cose sai, più velocemente potrai ottenere il tuo primo lavoro impressionando l'intervistatore con il tuo livello di conoscenza. Grazie a tutti e che Java sia con voi .
1. Algoritmi di base
La prima cosa che dovresti fare quando inizi a imparare a programmare (questo vale non solo per Java) è un'analisi delle basi. Ad esempio, algoritmi. Ce ne sono un'infinità e non dovresti passare anni interi cercando di apprendere quanti più algoritmi possibili: la maggior parte di essi non ti sarà utile. Le conoscenze minime richieste possono essere ottenute dal libro “ Grocking Algorithms ”. Questo sarà sufficiente per iniziare il viaggio, ma se lo desideri, puoi imparare con l'aiuto del libro “ Strutture e algoritmi ” o “Algoritmi in Java” di Robert Sedgwick e Kevin Wayne. Ti consiglio anche di migliorare la tua conoscenza delle basi dell'informatica. Questo può essere fatto in JavaRush utilizzando il corso CS50 .2. Sintassi Java
Dopo aver appreso le basi degli algoritmi, dobbiamo imparare la sintassi Java. Dopotutto, stiamo tutti imparando a diventare programmatori Java, no? Il corso JavaRush è perfetto per questo. Nell'eseguire numerose attività, diventerai fluente nella sintassi Java e scriverai/leggerai il codice Java senza pensarci troppo, come se fosse la tua lingua madre. JavaRush è pratica e, oltre a ciò, devi anche guardare la teoria per capire cosa stai facendo esattamente. Per fare ciò, puoi leggere libri, ad esempio uno dei seguenti:- “ Testa prima Java ”;
- “Java for Dummies” di Barry Bird;
- "Giava. Una guida per principianti” Herbert Schildt.
- “La filosofia di Java”, Bruce Eckel;
- “Programmazione efficace”, Joshua Bloch;
- "Giava. La guida completa”, Herbert Schildt.
3. Modelli di programmazione
I modelli di programmazione sono alcuni modelli ripetibili che rappresentano una soluzione a un problema in un contesto ricorrente. Tra questi ci sono template basilari e semplici che ogni programmatore che si rispetti dovrebbe conoscere. Per comprendere questo argomento, utilizzare il libro “ Head First. Modelli di progettazione ." Spiegherà chiaramente i modelli di programmazione di base. Ma il libro parla molto di Java , quindi al momento di studiare il libro devi padroneggiare questo linguaggio di programmazione. Per un approfondimento sui pattern, puoi anche leggere “Tecniche di progettazione orientata agli oggetti. Design Patterns” della Gang of Four ( Gang of Four: un team di autori che comprende Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides - ndr) . Dopo aver studiato questo argomento, inizierai a vedere modelli praticamente ovunque nel tuo codice. Presta attenzione a questo, in particolare ai modelli utilizzati in Spring , poiché questa è una domanda popolare nelle interviste.4. Paradigmi di programmazione. Pulizia del codice
Oltre ai modelli di programmazione standard, ci sono vari principi e paradigmi che devi conoscere ( SOLID , GRASP ). È inoltre necessario garantire che il codice sia pulito e leggibile. Tutto quello che devi sapere su questo argomento lo trovi nel libro “ Clean Code ” di Robert Martin oppure prendi il libro “Perfect Code” di Steve McConnell.5.SQL
Il nostro prossimo passo è studiare il linguaggio dei database relazionali: SQL . I database sono i luoghi in cui vengono archiviate le informazioni (dati) di un'applicazione web. Un database è composto da molte tabelle (la rubrica del telefono è l'esempio più semplice di tali tabelle). Puoi leggere ulteriori informazioni sui database in questo articolo . Per gli sviluppatori Java l'area di responsabilità non è solo l'applicazione Java, ma anche il database con cui interagisce e dove memorizza i dati. Nei database relazionali (i più comuni), tutta l'interazione avviene tramite un linguaggio speciale: Structured Query Language o SQL. Per comprendere questo argomento sarà sufficiente leggere uno dei libri:- “Imparare SQL”, Alan Bewley;
- “SQL”, Chris Fiaily;
- "Head First SQL" di Lynn Bailey.
GO TO FULL VERSION