Cześć! Dzisiaj porozmawiamy o ścieżce rozwoju programisty Java oraz o tym, co musi wiedzieć, aby być poszukiwanym. Podczas rozmowy kwalifikacyjnej każdy programista może przesłuchać kandydata do pracy. Na przykład mogą zacząć zadawać pytania dotyczące konkretnych tematów, z którymi zetknęli się w bieżącym projekcie. Ale niewiedza o wszystkim jest normalna. Fakt, że nie możesz odpowiedzieć na niektóre pytania, jest również normalny. Zasadniczo każdy programista Java musi mieć podstawową wiedzę na temat tworzenia oprogramowania. Przyjrzyjmy się więc temu, co jest uważane za „podstawowe”.
Powinieneś umieścić to na pierwszym miejscu, abyś mógł zrozumieć, czym jest Spring — wszystko o kontenerach Spring, komponentach bean, DI, IoC i tak dalej. Aby zrozumieć samą filozofię używania Springa, że tak powiem. Twoje dalsze badanie frameworków Spring będzie opierać się na tej podstawie. Być może powinieneś stworzyć własną małą aplikację, do której będziesz mógł stopniowo włączać wszystkie nowo poznane technologie.
Wcześniej wspomnieliśmy o JDBC jako o technologii tworzenia połączenia z bazą danych. Ogólnie rzecz biorąc, „nagiego” wykorzystania technologii nie można już znaleźć w projektach, więc można dojść do wniosku, że nauka JDBC nie jest konieczna. To nie jest do końca właściwa postawa. Badając nagie (bezpośrednie) użycie JDBC, możesz zobaczyć technologię na niższym poziomie i zrozumieć jej problemy i niedociągnięcia. Kiedy zaczniesz uczyć się Spring JDBC, zdasz sobie sprawę, co dokładnie ten framework poprawia, optymalizuje i ukrywa.
Analogicznie do sytuacji z nagim JDBC, ten framework wykorzystuje istniejącą technologię, w tym przypadku Hibernate. Jeśli rozważasz użycie Hibernate bez Springa, z pewnością zdasz sobie sprawę z korzyści, jakie oferuje Spring Hibernate.
Wcześniej rozmawialiśmy o JPA i wspomnieliśmy, że jest to tylko specyfikacja, choć ma różne implementacje. Wśród tych implementacji Hibernate jest najbliżej ideału. Spring ma własną idealną implementację JPA, która pod maską wykorzystuje Hibernate. Jest jak najbardziej zbliżony do ideału specyfikacji JPA. Nazywa się Spring JPA. Jednym słowem znacznie ułatwia dostęp do bazy danych. Możesz nauczyć się tylko JPA bez uczenia się JDBC, Hibernate, Spring JDBC lub Spring Hibernate. Ale jeśli przyjmiesz takie podejście, twoja wiedza o tym, jak połączyć się z bazą danych, będzie bardzo powierzchowna.
Technologia ta umożliwia wyświetlanie użytkownikom interfejsu webowego naszej aplikacji oraz ułatwia komunikację pomiędzy interfejsem a resztą aplikacji. Tej technologii można również używać bez wyświetlania, gdy masz aplikację odpowiedzialną za obsługę wyświetlacza i wchodzisz w interakcję z aplikacją przy użyciu technologii RESTful . Aby lepiej chłonąć informacje o Wiosnie, oprócz artykułów i wykładów na YouTube, można przeczytać kilka książek. Bardzo podobała mi się książka „Wiosna w akcji” Craiga Wallsa. Radzę przeczytać wersję 6, jeśli dobrze znasz angielski. Kolejną świetną książką na temat wiosny jest „Spring 5 for the Professionals”. Jest bardziej gęsty. Bardziej jak odniesienie, które bardziej warto mieć pod ręką niż czytać od deski do deski.
Ta technologia znacznie upraszcza korzystanie ze Springa. Nie umieściłem go na końcu listy dla kaprysu. Rzeczywiście, kryje wiele pod maską, a dla kogoś niezaznajomionego z waniliową wiosną wiele punktów może być niejasnych lub niezrozumiałych. Po pierwsze, aby lepiej zrozumieć, jak działają frameworki Springa, powinieneś użyć zwykłego Springa, a następnie czerpać wszystkie wyższe korzyści z używania Spring Boot. Polecam również zapoznanie się z Spring Security i Spring AOP. Ale w przeciwieństwie do powyższych technologii, głęboka wiedza na temat tych dwóch nie jest jeszcze potrzebna. Ta technologia nie jest dla początkujących. Podczas wywiadów młodsi programiści nie będą o to pytani (może z wyjątkiem jednego powierzchownego pytania). Przeczytaj przegląd tych technologii i zasady ich działania. W tym artykule, Wielokrotnie wspominałem o czytaniu książek. Z jednej strony nie jest to obowiązkowe. Możesz zostać programistą, nie czytając ani jednej książki, zdobywając całą wymaganą wiedzę z artykułów online i filmów szkoleniowych. Z drugiej strony na rynku pracy konkurencja wśród początkujących programistów jest obecnie duża, co podnosi poprzeczkę w zakresie tego, co początkujący powinien wiedzieć. Im więcej wiesz, tym szybciej znajdziesz swoją pierwszą pracę, imponując rozmówcy swoim poziomem wiedzy. Dziękuję wszystkim i niech Java będzie z wami. co podnosi poprzeczkę dla tego, co powinien wiedzieć początkujący. Im więcej wiesz, tym szybciej znajdziesz swoją pierwszą pracę, imponując rozmówcy swoim poziomem wiedzy. Dziękuję wszystkim i niech Java będzie z wami. co podnosi poprzeczkę dla tego, co powinien wiedzieć początkujący. Im więcej wiesz, tym szybciej znajdziesz swoją pierwszą pracę, imponując rozmówcy swoim poziomem wiedzy. Dziękuję wszystkim i niech Java będzie z wami.
1. Podstawowe algorytmy
Pierwszą rzeczą, z którą należy się zmierzyć, rozpoczynając naukę programowania (nie tylko Javy), jest zrozumienie podstaw. Na przykład algorytmy. Jest ich nieskończona liczba i nie powinieneś tracić całych lat życia, próbując nauczyć się jak największej liczby algorytmów: większość z nich nie będzie dla ciebie przydatna. Niezbędne minimum wiedzy możesz zdobyć z książki „Grokking Algorithms”. To wystarczy, aby zacząć, ale jeśli chcesz, możesz uczyć się z książki „Struktury i algorytmy” lub „Algorytmy w Javie” autorstwa Roberta Sedgewicka i Kevina Wayne'a. Polecam również pogłębienie wiedzy z podstaw informatyki. Można to zrobić za pomocą kursu Harvard CS50.2. Składnia Javy
Po zapoznaniu się z podstawami algorytmów musimy nauczyć się składni języka Java. W końcu wszyscy uczymy się tutaj, aby zostać programistami Java, prawda? Kurs CodeGym jest do tego idealny. Wykonując niezliczone zadania, opanujesz składnię języka Java, a następnie bez większego wahania będziesz pisać/czytać kod Java tak, jakby był to Twój język ojczysty. CodeGym to praktyka, ale poza tym musisz również spojrzeć na teorię, aby zrozumieć, co robisz. Aby to zrobić, możesz czytać książki. Na przykład jedno z poniższych:- „Najpierw Jawa”,
- „Java for Dummies” Barry'ego Birda;
- „Java: przewodnik dla początkujących” Herberta Schildta.
- „Myślenie w Javie”, Bruce Eckel;
- „Efektywna Java” Joshua Blocha;
- „Java: pełne źródło informacji” Herberta Schildta.
3. Wzorce projektowe
Wzorce projektowe to pewne powtarzalne wzorce, które rozwiązują problemy w często spotykanych kontekstach. Zawierają podstawowe, proste wzorce, które powinien znać każdy szanujący się programista. Aby zrozumieć ten temat, sięgnij po książkę „Head First Design Patterns”. W przystępny sposób wyjaśnia podstawowe wzorce projektowe. Ale książka mówi dużo o Javie, więc kiedy będziesz ją czytać, będziesz potrzebować również biegłości w tym języku programowania. Aby głębiej zagłębić się we wzorce, możesz także przeczytać „Wzorce projektowe: elementy oprogramowania obiektowego wielokrotnego użytku” autorstwa Gang of Four (od redakcji: Gang of Four to zespół autorów, w skład którego wchodzą Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides.). Po przestudiowaniu tego tematu zaczniesz dostrzegać wzorce praktycznie wszędzie w kodzie. Zwróć na to uwagę, zwłaszcza na wzory używane wiosną, ponieważ jest to popularne pytanie podczas rozmów kwalifikacyjnych.4. Paradygmaty programowania. Czystość kodu
Oprócz standardowych wzorców projektowych istnieją różne zasady i paradygmaty, o których należy pamiętać ( SOLID , GRASP ). Musisz także utrzymywać swój kod w czystości i czytelności. Aby dowiedzieć się wszystkiego na ten temat, zobacz Czysty kod Roberta Martina lub sprawdź „Code Complete” Steve'a McConnella.5. SQL
Naszym kolejnym krokiem jest nauka języka dla relacyjnych baz danych — SQL . Bazy danych to miejsca, w których przechowywane są informacje (dane) używane przez aplikację internetową. Baza danych składa się z kilku tabel (prostym przykładem jest książka adresowa w telefonie). Programiści Java są odpowiedzialni nie tylko za aplikację Java, ale także za bazę danych, z którą współpracuje i gdzie przechowuje swoje dane. W relacyjnych bazach danych (które są najbardziej powszechnym typem) cała interakcja odbywa się za pośrednictwem specjalnego języka o nazwie Structured Query Language lub SQL. Aby zrozumieć ten temat, wystarczy przeczytać jedną z następujących książek:- „Nauka języka SQL” autorstwa Alana Beaulieu;
- „SQL” autorstwa Chrisa Fehily'ego;
- „Head First SQL” autorstwa Lynn Beighley.
GO TO FULL VERSION