Ресурсы и умение ими пользоваться — введение в Java 036 #
Мы немного оторвёмся от самого кодинга и осмотримся по сторонам.
Яве исполнилось четверть века и за эти годы появилось множество статей, книг, рефератор, полезных и конечно же бесполезных ресурсов. И в этом хаосе мы попробуем найти островки логики и порядка.
- Сайт Oracle - именно там лежит официальная документация к языку. Им надо научиться пользоваться и научиться читать документацию. С умением читать официальную документацию Oracle программистом будет стать намного легче. Нас прежде всего интерисует Java восьмой и выше версии.
- Baeldung - сайт посвящённый фреймворку Java Spring, самой Java, JVM, Kotlin и всему окружению. Сайт начинался одним энтузиастом и превратился в серьёзный проект.
- Javarush - на сайте множество хорошего и полезного контента. И этот контент очень часто полезный, на русском языке и бесплатный.
- Github - десятки тысяч Java - проектов начинающих программистов занимаются тем же, что и вы. Пишут “Hello World”, расчёт процентов вклада банка, труб в бассейне и прочих задач, которые решают все начинающие программисты в самом начале своего пути. Многие из этих проектов лежат в паблике и гитхаб предоставляет возможность просматривать эти проекты и искать в них на ключевые слова. bitbucket.org и gitlab.com предлагают такой же сервис, как и github. Вполне возможно, что вам они тоже смогу помочь.
- stackoverflow.com - самый полезный сайт для программистов. Обычно там уже задан тот вопрос, который вас мучает и даже получен ответ и не один.
- Хабр - прекрасный технический ресурс на русском языке с новостями и мануалами от новичков и опытных программистов.
- Medium.com - подпишитесь на технический хаб своего развития и получается регулярные обновления в удбоной для вас форме.
- Coursera - главное не купить, а пройти. На сайте достаточно полноценных курсов программирования.
- Udemy - ещё один ресурс с хорошими курсами.
- Youtube.com/ - здесь так много интересных каналов, что советовать только один, это обижать другие.
- Spring - Существует мнение, что бэкенд сайта может быть только на строготипизированном языке. За бэкенд на Java отвечает фреймворк Spring.
- regex101 - сайт, который должен помогать с регулярными выражениями.
- hackerrank - на сайте регулярно появляются новые задачи в популярных языках, алгоритмах, базах данных и прочих цифровых науках. И там можно решать задачи на скорость, соревнуясь с друзьями.
Книги #
Очень тяжело советовать книги. Для начинающих с картинками. Для продвинутых с непонятными формулами. Я перечислю книги для тех, кто в самом начале пути, с небольшими пояснениями.
Вы можете покупать любую книгу, которая описывает Java 8 и выше. На данный момент, 2020-ый год, обучение основам Java на восьмой или выше версии ни чем друг от друга не отличается. И скорее всего не будет отличаться и в будущем. Java славится своей стабильностью, постоянностью и обратной совместимостью.
- Чистый код. Создание, анализ и рефакторинг - Robert Martin. Эта книга будет полезна вам уже сейчас. С примерами автор поясняет что такое хороший, а что такое плохой код. Очень рекомендую.
- “Изучаем Java”, O´Reilly - Head First Java. Некоторые вещи там действительно рассказаны неплохо. Для начинающих и с “картинками”. Это не самая обязательная книга, но она даёт взглянуть на Java простым взглядом. Эту книгу можно вполне брать для второго мнения к любому уроку для закрепления материала. Издательство O´Reilly страется выпускать качественный материал.
Effective Java - Joschua Bloch. Полезная книга, для всех Java - программистов. Эта книга поможет вам, если вы решите соединить свой дальнейший путь с Java.
Паттерны проектирования, O´Reilly - Например «Head First. Паттерны проектирования. Обновленное юбилейное издание» от Эрик Фримен, Элизабет Фримен, Кэтти Сьерра, Берт Бейтс.
«Приёмы объектно-ориентированного проектирования. Паттерны проектирования» - паттерны проектирования от «Банда четырёх»: Эрих Гамма, Ричард Хелм, Ральф Джонсон, Джон Влиссидес. Эту книгу учат не только джависты. Банда четырёх широко известна. Обязательное чтиво.
Алгоритмы. Теория и практическое применение, Род Стивенс. Надеюсь, вы понимаете важность алгоритмов.
“Полное руководство Java”, Герберт Шилдт - The Complete Reference, Herbert Schildt. Я признаюсь, что сам ещё не осилил всю книгу. Один из моих учителей практически молился на этого автора. Для продвинутых.
MySQL по максимуму - Oreilly - Бэрон Шварц, Петр Зайцев, Вадим Ткаченко. Базы данных для тех, кто хочет с ними работать.
Тестирование Дот Ком, или Пособие по жестокому обращению с багами в интернет-стартапах. Художественная книга о тестировании.
Домашнее задание #
- Зарегистрироваться на Github, bitbucket, gitlab, habr, medium, stackoverflow, hackerrank. Создать себе емайл для работы /цифровой личности.
- Выбери себе отдельный браузер для работы. В работе с сайтами используй разные пароли. Пароли можно хранить например здесь https://lastpass.com/
- План развития разработчика - https://javarush.ru/groups/posts/2398-java-plan-deystviy
- Если вы будете продолжать обучение, то эта ссылка поможет вам очень сильно - https://habr.com/ru/post/488144/. Немного о современной Java и JDK.