здрасти Днес ще говорим за пътя на развитие на Java разработчика и Howво трябва да знае той or тя, за да бъде търсен. Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 1По време на интервю всеки предприемач може да обърка кандидата за работа. Например, те могат да започнат да задават въпроси относно конкретни теми, които са срещнали в текущия си проект. Но да не знаеш всичко е нормално. Фактът, че не можете да отговорите на някои въпроси, също е нормален. Като общо правило всеки Java програмист трябва да има основни познания за разработката на софтуер. Така че нека да разгледаме Howво се счита за "основно".

1. Основни алгоритми

Първото нещо, с което трябва да се захванете, когато започнете да изучавате програмиране (не само Java), е да разберете основите. Например, алгоритми. Има безкраен брой от тях и не трябва да убивате цели години от живота си, опитвайки се да научите възможно най-много алгоритми: повечето от тях няма да ви бъдат полезни. Можете да получите необходимия минимум от знания от книгата "Grokking Algorithms". Това е достатъчно, за да започнете, но ако искате, можете да научите от книгата „Структури и алгоритми“ or „Алгоритми в Java“ от Робърт Седжуик и Кевин Уейн. Също така препоръчвам да подобрите знанията си по основи на компютърните науки. Това може да стане с курса Harvard CS50.

2. Синтаксис на Java

След като научим основите на алгоритмите, трябва да научим синтаксиса на Java. В края на краищата, ние всички учим да станем Java програмисти тук, нали? Курсът CodeGym е идеален за това. Докато изпълнявате безброй задачи, ще се докоснете до синтаксиса на Java и след това, без много колебание, ще пишете/четете Java code, сякаш е вашият роден език. CodeGym е практика, но освен това трябва да погледнете и теорията, за да разберете Howво правите. За да направите това, можете да четете книги. Например едно от следните:
  • „Head First Java“,
  • "Java for Dummies" от Бари Бърд;
  • „Java: Ръководство за начинаещи“ от Хърбърт Шилд.
След като прочетете тези книги, можете да се заемете с по-трудни книги:
  • „Мислене в Java“, Брус Екъл;
  • „Ефективна Java“ от Джошуа Блок;
  • „Java: Пълната справка“ от Хърбърт Шилд.
Последните три книги не са лесни за четене за начинаещи, но осигуряват солидна основа в теорията на Java. Също така, не забравяйте за статиите на CodeGym, тъй като те предоставят обяснения за повечето теми, които може да ви интересуват. Можете да намерите подходяща статия, като напишете темата, която ви интересува, в лентата за търсене: Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 2Силно препоръчвам също да търсите въпроси от интервюта за Java. Това ще ви помогне да разберете Howво точно трябва да научите и за Howви въпроси да се подготвите.

3. Шаблони за проектиране

Моделите на проектиране са определени повтарящи се модели, които решават проблеми в често срещани контексти. Те включват основни, прости модели, които всеки уважаващ себе си програмист трябва да знае. За да разберете тази тема, вземете книгата "Head First Design Patterns". Обяснява основните модели на проектиране по достъпен начин. Но в книгата се говори много за Java, така че когато консумирате тази книга, ще имате нужда също да владеете свободно този език за програмиране. За по-задълбочено гмуркане в моделите можете също да прочетете „Design Patterns: Elements of Reusable Object-Oriented Software“ от Gang of Four (Бележка на редактора: Gang of Four е екип от автори, който включва Ерих Гама, Ричард Хелм, Ралф Джонсън, Джон Влисайдс.). След като сте изучor тази тема, ще започнете да виждате модели почти навсякъде във вашия code. Обърнете внимание на това, особено на моделите, използвани през пролетта, тъй като това е популярен въпрос за интервю.

4. Парадигми на програмиране. Чистота на codeа

Освен стандартните модели на проектиране, има различни принципи и парадигми, които трябва да знаете ( SOLID , GRASP ). Също така трябва да поддържате codeа си чист и четим. За всичко, което трябва да знаете по тази тема, вижте Чист code от Робърт Мартин or вижте „Кодът е завършен“ от Стив Макконъл.

5. SQL

Следващата ни стъпка е да изучаваме език за релационни бази данни — SQL . Базите данни са мястото, където се съхранява информацията (данните), използвана от уеб приложение. Базата данни се състои от няколко таблици (addressната книга на вашия телефон е прост пример). Java разработчиците са отговорни не само за Java приложението, но и за базата данни, с която то взаимодейства и където съхранява своите данни. В релационните бази данни (които са най-често срещаният тип) цялото взаимодействие се осъществява чрез специален език, наречен Structured Query Language or SQL. За да разберете тази тема, всичко, което трябва да направите, е да прочетете една от тези книги:
  • „Изучаване на SQL“ от Алън Болю;
  • "SQL" от Крис Фехor;
  • „Head First SQL“ от Лин Бийли.
Но практиката без теория не се справя, нали? А на интервюта можете да очаквате проверка на знанията ви по SQL. Интервюиращите често (почти винаги) дават една or две задачи, които включват писане на SQL заявка. В резултат на това е много важно да усъвършенствате практическите си SQL умения, за да се покажете в добра светлина.

6. MySQL/PostgreSQL

След като научите езика SQL, трябва да се запознаете с конкретна реализация на база данни. В зависимост от базата данни, някои команди може да варират драстично. И има доста забележими разлики във възможностите на базата данни. Най-често срещаните релационни бази данни са MySQL и PostgreSQL . Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 3MySQL е много по-опростен, но PostgreSQL има много по-широки възможности. Да сте запознати с поне един от тях е достатъчно, за да започнете. Можете да изучавате внедряването на бази данни, ако използвате уменията си за гугъл — намерете подходящи статии и уроци в YouTube. Ще трябва да култивирате способността си да създавате правилни заявки за търсене на въпросите, на които трябва да отговорите. В края на краищата, програмистът е човек с черен колан по гугъл.

7. Maven/Gradle

Трябва да научите рамката Gradle or Maven . Те са за изграждане на проекти и за вас Java вече е не само за задачи, включващи няколко класа, но и език за писане на пълноценни applications. Трябва да разберете How да изградите проект, Howви са етапите на изграждане, How да заредите необходимите външни библиотеки с code на трети страни и много повече. Въпреки факта, че Gradle е по-нов и по-сбит, Maven се използва в повечето случаи. Така че, обърнете специално внимание на жизнения цикъл на изграждане на Maven.

8. Git

Git е разпределена система за контрол на версиите. Тази технология позволява на разработчиците да си сътрудничат върху едно приложение, без да си пречат. Разбира се, има и други системи за контрол на версиите. Например Subversion . Но Git се използва най-широко и трябва да можете да работите с него.Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 4В допълнение към многото статии за Git, които можете да намерите онлайн, YouTube има повече от достатъчно видеоклипове, за да ви помогне да овладеете тази технология стъпка по стъпка. Първоначално е по-добре да използвате Git от командния ред, а не няHowва реализация на GUI, защото ще бъдете принудени да правите всичко с помощта на команди. В интервютата хората често обичат да питат за няколко Git команди, така че препоръчвам да ги напишете и да ги държите някъде наблизо. Също така препоръчвам да си водите бележки, като следите най-важните точки, за да ги прегледате преди интервюто и да опресните паметта си.

9. JDBC

Тази технология свързва вашето Java приложение и релационна база данни. За основите препоръчвам да прочетете всеки JDBC урок. Има изобorе от статии, които обясняват JDBC и предоставят елементарни примери, въпреки че никой вече не използва директно голи JDBC.

10. JPA. Хибернация

JPA е начин за установяване на връзка между Java приложение и база данни, точно като JDBC. Но в същото време JPA е технология от по-високо ниво и следователно по-лесна за използване. Но JPA е само спецификация, а не изпълнение. Има нужда от конкретно изпълнение. Много от тях съществуват, но най-близо до идеалите на JPA, най-популярният и най-разработеният е Hibernate. Ще срещнете тази технология повече от веднъж в кариерата си за разработка на софтуер. Така че, в допълнение към запознаването с тази технология чрез четене на статии, може да си струва да помислите за четене на книга, например "Java Persistence API".

11. Пролет

Когато станете Java разработчик, Spring вече не е просто дума за вас. Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 5Познаването на тази рамка сега е също толкова важно, колкото познаването на синтаксиса на Java. Може да се каже, че Spring има брат, т.е. Java EE. Но Java EE е остаряла и вече не се използва в нови проекти. Преобладаващото мнозинство от разработчиците на Java сега са разработчици на Java-Spring, така че познаването на някои основни технологии на Spring е задължително. Spring не е просто рамка, а цяла рамка от рамки: Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 6И това е само подмножество от рамките, които Spring предоставя. За начинаещ е достатъчно да познава само няколко от тях:

  • Пружинно ядро

Трябва да поставите това на първо място, за да можете да разберете Howво е Spring — всичко за Spring контейнери, бобови компоненти, DI, IoC и т.н. Да разберем самата философия на използването на Spring, така да се каже. По-нататъшното ви изучаване на Spring frameworks ще надгражда върху тази база. Може би трябва да създадете свое собствено малко приложение, в което постепенно да включите всички новонаучени технологии.

  • Пролет JDBC

По-рано споменахме JDBC като технология за създаване на връзка с база данни. Като цяло, „голото“ използване на технологията вече не може да се намери в проекти, така че можете да заключите, че изучаването на JDBC не е необходимо. Това не е съвсем правилно отношение. Като изследвате голото (директно) използване на JDBC, можете да видите технологията на по-ниско ниво и да разберете нейните проблеми и недостатъци. След това, когато започнете да изучавате Spring JDBC, ще разберете Howво точно подобрява, оптимизира и скрива тази рамка.

  • Пролетен хибернация

Аналогично на ситуацията с гол JDBC, тази рамка използва съществуваща технология, в този случай Hibernate. Ако обмислите използването на Hibernate без Spring, определено ще осъзнаете предимствата, които Spring Hibernate предлага.

  • Пролетна JPA

По-рано говорихме за JPA и споменахме, че това е само спецификация, въпреки че има различни реализации. Сред тези реализации Hibernate се доближава най-много до идеала. Spring има своя идеална реализация на JPA, която използва Hibernate под капака. Той е възможно най-близо до идеала на спецификацията на JPA. Нарича се Spring JPA. С една дума, това значително опростява достъпа до базата данни. Можете да научите само JPA, без да научите JDBC, Hibernate, Spring JDBC or Spring Hibernate. Но ако приемете този подход, знанията ви за това How да се свържете с база данни ще бъдат много повърхностни.

  • Пролетен MVC

Тази технология прави възможно показването на уеб интерфейса на нашето приложение на потребителите и улеснява комуникацията между интерфейса и останалата част от приложението. Технологията може да се използва и без дисплей, когато имате приложение, което отговаря за обработката на дисплея и взаимодействате с приложението чрез RESTful технология. За да попиете по-добре информацията за пролетта, освен статии и лекции в YouTube, можете да прочетете няколко книги. Много ми хареса книгата "Пролетта в действие" на Крейг Уолс. Съветвам ви да прочетете 6-та version, ако знаете добре английски. Друга страхотна книга за пролетта е „Пролет 5 за професионалистите“. По-плътно е. По-скоро като препратка, която е по-ценно да държите под ръка, отколкото да четете от корица до корица.Контролен списък за разработчик на Java.  Какво трябва да знае разработчикът - 7

  • Пролетен ботуш

Тази технология значително опростява използването на Spring. Не го сложих в края на списъка по прищявка. Наистина, той крие много под капака и за някой, който не е запознат с Vanilla Spring, много точки може да са неясни or неразбираеми. Първо, за да разберете по-добре How работят Spring frameworks, трябва да използвате обикновен Spring и след това да вземете всички по-големи предимства от използването на Spring Boot. Също така препоръчвам да се запознаете с Spring Security и Spring AOP. Но за разлика от технологиите по-горе, все още не са необходими задълбочени познания за тези две. Тази технология не е за начинаещи. На интервюта младши разработчици няма да бъдат питани за тях (освен един повърхностен въпрос, може би). Прочетете преглед на това Howво представляват тези технологии и принципите зад тяхната работа. В тази статия Многократно съм споменавал четенето на книги. От една страна, това не е задължително. Можете да станете програмист, без да прочетете нито една книга, придобивайки всички необходими знания от онлайн статии и видеоклипове за обучение. От друга страна, на пазара на труда конкуренцията сред начинаещите разработчици в момента е висока, което вдига летвата за това, което един начинаещ трябва да знае. Така че, колкото повече знаете, толкова по-бързо ще намерите първата си работа, като впечатлите интервюиращия с нивото си на знания. Благодаря на всички и нека Java бъде с вас. което вдига летвата за това, което един начинаещ трябва да знае. Така че, колкото повече знаете, толкова по-бързо ще намерите първата си работа, като впечатлите интервюиращия с нивото си на знания. Благодаря на всички и нека Java бъде с вас. което вдига летвата за това, което един начинаещ трябва да знае. Така че, колкото повече знаете, толкова по-бързо ще намерите първата си работа, като впечатлите интервюиращия с нивото си на знания. Благодаря на всички и нека Java бъде с вас.