JavaRush /Blog Java /Random-PL /Lista kontrolna programisty Java. Co programista powinien...

Lista kontrolna programisty Java. Co programista powinien wiedzieć

Opublikowano w grupie Random-PL
Cześć! Dzisiaj porozmawiamy o ścieżce rozwoju programisty Java i o tym, co musi wiedzieć, aby być poszukiwanym. Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 1Każdy programista podczas rozmowy kwalifikacyjnej może „zawieść” kandydata na stanowisko. Przykładowo zacznie zadawać pytania dotyczące konkretnych tematów, z którymi spotkał się w bieżącym projekcie. Ale nie ma nic złego w tym, że nie wiesz wszystkiego. To, że nie odpowiadasz na niektóre pytania, jest również normalne. Generalnie każdy programista Java powinien posiadać podstawową wiedzę z zakresu programowania. Przyjrzyjmy się więc, jakie technologie są uważane za „podstawowe”.

1. Podstawowe algorytmy

Pierwszą rzeczą, którą powinieneś się zająć rozpoczynając naukę programowania (nie dotyczy to tylko Javy) jest analiza podstaw. Na przykład algorytmy. Jest ich nieskończona liczba i nie powinieneś spędzać całych lat próbując nauczyć się jak największej liczby algorytmów: większość z nich nie będzie dla ciebie przydatna. Wymaganą minimalną wiedzę można uzyskać z książki „ Algorytmy Grockinga ”. To wystarczy, aby rozpocząć podróż, ale jeśli chcesz, możesz uczyć się, korzystając z książek „ Struktury i algorytmy ” lub „Algorithms in Java” Roberta Sedgwicka i Kevina Wayne’a. Radzę również udoskonalić swoją wiedzę z podstaw informatyki. Można to zrobić w JavaRush korzystając z kursu CS50 .

2. Składnia Java

Po zapoznaniu się z podstawami algorytmów musimy poznać składnię Java. W końcu wszyscy uczymy się tutaj programisty Java, prawda? Kurs JavaRush jest do tego idealny. Wykonując wiele zadań, opanujesz płynnie składnię języka Java i będziesz pisać/czytać kod w języku Java bez większego namysłu, tak jakby był to Twój język ojczysty. JavaRush to praktyka i oprócz niej musisz także przyjrzeć się teorii, aby zrozumieć, co dokładnie robisz. Aby to zrobić, możesz przeczytać książki, na przykład jedną z następujących:
  • Najpierw Java ”;
  • „Java for Dummies” Barry’ego Birda;
  • "Jawa. Przewodnik dla początkujących” Herberta Schildta.
Po przeczytaniu tych książek możesz zabrać się za trudniejsze książki:
  • „Filozofia Jawy”, Bruce Eckel;
  • „Efektywne programowanie”, Joshua Bloch;
  • "Jawa. Kompletny przewodnik”, Herbert Schildt.
Trzy ostatnie książki nie są łatwą lekturą dla początkujących, ale mogą zapewnić solidne podstawy w teorii Java. Nie zapomnij także o artykułach na JavaRush, ponieważ można w nich znaleźć wyjaśnienia na większość interesujących Cię tematów. Możesz znaleźć potrzebny artykuł, wpisując interesujący Cię temat: Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 2Gorąco polecam również szukanie pytań do rozmowy kwalifikacyjnej w języku Java, takich jak ten zbiór pytań na temat klas abstrakcyjnych i interfejsów . Pomoże Ci to zrozumieć, czego dokładnie potrzebujesz się uczyć i na jakie pytania się przygotować.Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 3

3. Wzorce programowania

Wzorce programistyczne to pewne powtarzalne wzorce, które reprezentują rozwiązanie problemu w często spotykanym kontekście. Wśród nich znajdują się podstawowe, proste szablony, które powinien znać każdy szanujący się programista. Aby zrozumieć ten temat, skorzystaj z książki „ Najpierw głowa. Wzorce projektowe ." W przejrzysty sposób wyjaśni podstawowe wzorce programowania. Ale książka mówi dużo o Javie , więc w czasie jej studiowania musisz opanować ten język programowania. Aby głębiej zagłębić się we wzorce, możesz także przeczytać „Techniki projektowania obiektowego. Design Patterns” od Gangu Czterech ( Gang Czterech: zespół autorów, w skład którego wchodzą Erich Gamma, Richard Helm, Ralph Johnson, John Vlissides – przyp. red.) . Po przestudiowaniu tego tematu zaczniesz widzieć wzorce praktycznie wszędzie w swoim kodzie. Zwróć na to uwagę, zwłaszcza na wzorce stosowane w Springu , gdyż jest to popularne pytanie podczas rozmów kwalifikacyjnych.

4. Paradygmaty programowania. Czystość kodu

Oprócz standardowych wzorców programowania istnieją różne zasady i paradygmaty, które musisz znać ( SOLID , GRASP ). Należy także zadbać o to, aby kod był czysty i czytelny. Wszystko, co musisz wiedzieć na ten temat, znajdziesz w książce „ Clean Code ” Roberta Martina lub sięgnij po książkę „Perfect Code” Steve’a McConnella.

5.SQL

Naszym kolejnym krokiem jest poznanie języka relacyjnych baz danych - SQL . Bazy danych to miejsce, w którym przechowywane są informacje (dane) aplikacji internetowej. Baza danych składa się z wielu tabel (najprostszym przykładem takich tabel jest książka adresowa w telefonie). Więcej o bazach danych możesz przeczytać w tym artykule . Dla programistów Java obszarem odpowiedzialności jest nie tylko aplikacja Java, ale także baza danych, z którą współdziała i gdzie przechowuje dane. W relacyjnych (najpopularniejszych) bazach danych cała interakcja odbywa się poprzez specjalny język - Structured Query Language, czyli SQL. Aby zrozumieć ten temat, wystarczy przeczytać jedną z książek:
  • „Nauka SQL”, Alan Bewley;
  • „SQL”, Chris Fiaily;
  • „Najpierw głowa SQL” Lynn Bailey.
Ale praktyka bez teorii nie działa, prawda? A podczas rozmów kwalifikacyjnych sprawdzających znajomość SQL często (prawie zawsze) dają jeden lub dwa problemy z napisaniem zapytania SQL. Dlatego bardzo ważne jest, aby doskonalić swoje praktyczne umiejętności SQL, aby pokazać się w dobrym świetle. Doskonałym źródłem wiedzy o praktyce SQL może być zasób sql-ex.ru .

6. MySQL/PostgreSQL

Po nauczeniu się języka SQL należy zapoznać się z konkretną implementacją bazy danych. W zależności od bazy danych niektóre polecenia mogą się znacznie różnić. A różnica w możliwościach baz danych jest dość zauważalna. Najpopularniejszymi relacyjnymi bazami danych są MySQL i PostgreSQL . Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 4MySQL jest znacznie prostszy, ale PostgreSQL ma więcej możliwości. Na początek wystarczy zapoznać się przynajmniej z jednym z nich. Implementacje baz danych możesz przestudiować, jeśli wykorzystasz swoje umiejętności googlowania - znajdź potrzebne artykuły i tutoriale na Youtube. Trzeba nauczyć się poprawnie wyszukiwać interesujące Cię pytania, bo programista to osoba „z czarnym pasem” w wyszukiwarkach Google.

7. Maven/Gradle

Musisz przestudiować jeden z frameworków Gradle lub Maven , które są przeznaczone do asemblowania projektów, ponieważ teraz Java to dla Ciebie nie tylko zadania z kilku klas, ale także język do pisania pełnoprawnych aplikacji. Musisz zrozumieć, jak złożyć projekt, jakie są etapy montażu, jak załadować niezbędne biblioteki zewnętrzne z gotowym kodem i wiele więcej. Mimo że Gradle jest nowszy i bardziej zwięzły, w większości przypadków używany jest Maven. Dlatego należy zwrócić szczególną uwagę na cykl życia jego montażu.

8. Git

Git to rozproszony system kontroli wersji. Technologia ta umożliwia programistom wspólne tworzenie jednej aplikacji bez wzajemnej ingerencji. Oczywiście istnieją analogie do tego systemu kontroli wersji. Na przykład Subversion . Ale głównie używany jest Git i musisz umieć z nim pracować. Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 5Oprócz artykułów edukacyjnych na ten temat, na Youtube jest wystarczająco dużo filmów, które pomogą Ci krok po kroku opanować tę technologię. Na początku lepiej jest używać konsoli Git, a nie jakiejś implementacji interfejsu, ponieważ w niej będziesz musiał zrobić wszystko za pomocą poleceń. Podczas rozmów kwalifikacyjnych ludzie często proszą o jakieś polecenia Gita , dlatego radzę je zapisać i trzymać gdzieś pod ręką. Radzę również zachować notatkę, w której zaznaczysz najważniejsze punkty, aby przed rozmową kwalifikacyjną móc ją przejrzeć i odświeżyć pamięć.

9. JDBC

Technologia ta ma na celu zapewnienie łączności pomiędzy aplikacją Java a relacyjną bazą danych. Aby zapoznać się z podstawami polecam przeczytać artykuł JDBC czyli Where It All Begins. Artykułów wyjaśniających technologię JDBC i podających elementarne przykłady jest mnóstwo, mimo że nikt już nie używa bezpośrednio nagiego JDBC.

10.JPA. Hibernować

JPA to sposób na ustanowienie połączenia pomiędzy aplikacją Java a bazą danych, podobnie jak JDBC. Ale jednocześnie JPA jest technologią wyższego poziomu i dlatego łatwiejszą w użyciu. Ale JPA to tylko specyfikacja (koncepcja), która nie jest zaimplementowana i wymaga konkretnej implementacji. Takich implementacji jest wiele, jednak najbliższą ideałom JPA, popularną i rozwiniętą, uważa się za Hibernate . W swojej karierze programistycznej zetkniesz się z tą technologią więcej niż raz. Dlatego oprócz zapoznania się z tą technologią poprzez artykuły, warto rozważyć przeczytanie o niej książki, np. „ Java Persistence API ”.

11. Wiosna

Kiedy zostajesz programistą Java, Spring nie jest już dla Ciebie tylko słowem. Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 6Obecnie ten framework zajmuje pierwsze miejsce wraz z koniecznością znajomości składni języka Java. Można powiedzieć, że Spring ma swój odpowiednik, czyli technologie Java EE. Jednak Java EE jest przestarzała i nie jest już używana w nowych projektach. Zdecydowana większość programistów Java to obecnie programiści Java Spring, dlatego znajomość niektórych podstawowych technologii Spring jest obowiązkowa. Spring to nie tylko framework, ale cała platforma frameworków: Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 7A to tylko część frameworków, które zapewnia Spring. Początkującemu wystarczy znajomość tylko kilku z nich:

  • Rdzeń wiosenny

Przede wszystkim powinieneś zrozumieć, czym jest Spring: czym jest kontener Spring, fasola, DI, IoC i tak dalej. Że tak powiem, zrozum samą filozofię korzystania ze Springa. Dalsze badania frameworków Spring będą odbywać się w oparciu o tę bazę. Może warto stworzyć własną małą aplikację, do której stopniowo będziesz dodawać nowe, poznane technologie.

  • Wiosna JDBC

Wcześniej mówiliśmy o technologii JDBC jako technologii tworzenia połączenia z bazą danych. Ogólnie rzecz biorąc, w projektach nie można obecnie spotkać się z „nagim” wykorzystaniem technologii, więc może się wydawać, że nauka JDBC nie jest konieczna. Ale tak nie jest. Patrząc na gołe kości JDBC, można zobaczyć technologię na niższym poziomie i zrozumieć jej problemy i niedociągnięcia. Gdy zaczniesz uczyć się Spring JDBC, zrozumiesz, co dokładnie ten framework poprawia, optymalizuje i ukrywa przed naszymi oczami.

  • Wiosenna hibernacja

Podobnie jak w przypadku bare-bone JDBC, ten framework usprawnia wykorzystanie istniejącej technologii, w tym przypadku Hibernate. Jeśli rozważysz użycie Hibernate bez Springa, dokładnie zrozumiesz, jakie są korzyści z używania Spring Hibernate.

  • Wiosenne WZP

Wcześniej rozmawialiśmy o JPA i o tym, że jest to tylko specyfikacja, dla której istnieją różne implementacje. Spośród tych implementacji Hibernate jest najbliższy ideału. Spring ma swoją własną idealną implementację JPA, która wykorzystuje Hibernate „pod maską” i jest jak najbardziej zbliżona do ideału specyfikacji JPA. Technologia ta nazywa się Spring JPA. Swoją drogą znacznie upraszcza to dostęp do bazy danych. JPA można nauczyć się tylko bez nauki JDBC, Hibernate, Spring JDBC, Spring Hibernate. Ale w tym przypadku Twoja wiedza na temat łączenia się z bazą danych będzie bardzo powierzchowna.

  • Wiosenny MVC

Dzięki tej technologii możemy wyświetlić użytkownikom interfejs sieciowy naszej aplikacji i pozwolić interfejsowi na komunikację z resztą aplikacji. Technologia może działać również bez wyświetlacza, gdy istnieje jakaś aplikacja odpowiedzialna za wyświetlanie, a użytkownik wchodzi w interakcję z tą aplikacją za pomocą żądań i odpowiedzi przy użyciu technologii RESTful . Aby lepiej zrozumieć informacje o wiośnie, oprócz artykułów i wykładów na YouTube, możesz przeczytać kilka książek. Bardzo podobała mi się książka „Wiosna w działaniu” Wallsa Craiga. Niestety w języku rosyjskim dostępna jest obecnie tylko trzecia wersja, uważana za przestarzałą. Radzę przeczytać wersję 6, jeśli dobrze znasz angielski. Kolejną świetną książką o wiośnie jest „Spring 5 for Professionals”. Trudniej się jej nauczyć i bardziej przypomina wiosenną Biblię , którą lepiej mieć pod ręką, niż czytać od deski do deski.Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 8

  • Wiosenne buty

Technologia ta znacznie upraszcza użytkowanie Springa. Nie bez powodu umieściłem go na końcu listy, ponieważ kryje on wiele pod „maską” i dla osoby nieobeznanej ze zwykłym Springiem wiele punktów może być nieoczywistych i niezrozumiałych. Po pierwsze, aby lepiej zrozumieć, jak działają frameworki Spring, powinieneś użyć zwykłego Springa, a następnie wszystkich wyższych korzyści płynących z używania Spring Boot. Radzę także zapoznać 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 teraz potrzebna. Ta technologia nie jest dla początkujących. Podczas rozmów kwalifikacyjnych juniorzy nie są o nie pytani (z wyjątkiem jednego, powierzchownego pytania). Przeczytaj ogólnie, czym są te technologie i jak działają. W tym artykule wielokrotnie wspominałem o czytaniu książek. Z jednej strony nie jest to konieczne. Możesz zostać programistą bez czytania ani jednej książki, po przestudiowaniu wszystkiego, czego potrzebujesz z artykułów i filmów szkoleniowych. Z drugiej strony, w tej chwili konkurencja na rynku początkujących programistów jest duża, co podnosi poprzeczkę wymaganej wiedzy początkowej dla początkującego. Dlatego im więcej wiesz, tym szybciej znajdziesz swoją pierwszą pracę, imponując rozmówcy poziomem swojej wiedzy. Dziękuję wszystkim i niech Java będzie z wami .Lista kontrolna programisty Java.  Co programista powinien wiedzieć - 9
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION