Java кабала
7.52K subscribers
46 photos
8 videos
6 files
104 links
Рассказываю про мир Java разработчиков. Делюсь опытом. Обучаю Java
По всем вопросам - @fonatik_kabal
Download Telegram
Кабальчики, сразу два новых видео! Мы уже много говорили про JDK. Самое время его установить!

Установка JDK на мак: https://youtu.be/_c3CiijITLs
Установка JDK на винду: https://youtu.be/3yUyFjUy8TQ

Установку на винду всем настоятельно рекомендую посмотреть, так как там я рассказываю как установить JDK шаг за шагом, без всяких утилит типа sdkman, как в случае с маком.
🔥26👍6👏1🤩1
На какую тему хотите увидеть пост? У вас есть уникальная возможность предложить тему!
🔥38👍3👏1
Для всех, кто по неведомым мне причинам до сих пор не знает что такое IDE - https://youtu.be/Q2Us5snXtG8

На всякий случай напоминаю - JDK и IDE это две совершенно разные программы. Про JDK мы уже знаем все, что нужно на данном этапе. Теперь дошел через посмотреть и на IDE.
20🔥8👍1🤩1
Много огонечков на комментарии «Начало кодинга,с чего начать,как разобраться в структуре».

Как я в свое время разобрался и с чего начал: начал читать книгу Шилдт, Полное руководство. С самого начала там идет разбор синтаксиса и базовых структур. Наряду с чтением делайте небольшие проекты (пишите какие-нибудь простенькие программки).

Со следующей недели я начну выкладывать видео, где все это буду объяснять. Поэтому можете валять дурака и ждать моих видео, а можете уже сегодня начать читать книгу, а моими видео закрепить тему.

Теперь к вопросу «как разобраться в структуре» - ответ банальный: «сидеть и разбираться». Садитесь перед компуктером и начинайте разбираться. Начните с книги, что я упомянул. Параллельно смотрите туториалы. Пишите небольшие програмки с использованием того, что вы только что изучили. Ищите ответы на вопросы любыми доступными вам способами.

Вуаля, вы синьер девелопер
62👍12🔥8🤩2
Ну что, теперь то мы с вами можем написать нашу первую программу! Это, конечно, не Facebook, однако все начинали именно с этого. Нет людей, которые бы родились со знаниями Java.

https://youtu.be/BAViVLTSq1o
30🔥6👍2
Еще один залайканный комментарий к предыдущему опросу: «RoadMap для новичков, чтобы стать Junior разработчиком».

Этим постом можно было бы лишить хлеба всех, кто предоставляет платные курсы, но… ахах увы. Большинству, даже если всё на блюдечке принести, всё равно нихрена делать не будут. Поэтому, я без зазрения совести пишу вам роадмап.

1. Берете книгу Шилдт - «Полное руководство» и читаете первые 450 страниц. Вот вам уже и роад мап для изучения Java. В этих 450 страницах есть 70% того, что вам нужно знать в плане языка на позиции джуниор разработчика.
2. Параллельное с книгой смотрите уроки на ютубе по каждой теме. Так как информация преподносится по разному - появляется возможность нивелировать недопонимания. Ваша задача сделать так, чтобы пазл в голове сложился. Если не поняли какую-то тему в книге, поищите видео в ютубе.
3. Читайте статьи связанные с пройденной темой. В статьях люди делятся реальным опытом работы и лучшими практиками. Также, пока вы будете читать статью - постоянно будут всплывать слова, которых вы не знаете. Их тоже учите, это позволит вам расширить технологический кругозор.
4. Делайте проектики. Закрепляйте каждую пройденную тему выполнением заданий и написанием небольших проектов.
5. Если есть возможность - посещайте конференции. Еще лучше, если это оффлайн конференция. Там вы сможете встретить огромное количество единомышленников, которые уже прошли тот путь, на котором вы сейчас находитесь.

Выше я привел фаталити-комбо для изучения любой технологии, не только джава. Однако, там мы поговорили только про 450 страниц из книги Шилдта. Это, конечно, джуном вас не сделает.
Что же дальше? Теперь, когда вы более менее уверенно пишете на джаве, необходимо начать изучать библиотеки и фреймворки, а не изобретать собственные велосипеды. Мир не стоит на месте и за вас, по большому счету, все давно придумано. Ваша задача научиться пользоваться этим. Методика обучения точно такая же.
43👍10🔥5
Система контроля версий:
Ни один проект не обходится без системы контроля версий. ахахах хотя я знал ребят, которые в банке Карл! В Банке! пилили фронт не используя CVS (control version system [система контроля версий]). Но с нашим приходом ребят быстренько попросили уйти… что не удивительно.
В современном мире по праву доминирует git. Вы можете потратить время изучив другие системы, но не рекомендую вам этого делать. Поэтому, изучаем и используем git.

Системы сборки проектов:
Я надеюсь, что вы понимайте, чтобы создать проект, не достаточно воспользоваться командой javac. Поставка продукта это вообще большой, интересный и сложный процесс под названием CI/CD. На первое время, вам не нужно досконально понимать, как это все устроено (да вы и не сможете, не поработав с этим). Однако! Нужно уметь хотя бы на базовом уровне работать с системами сборки проектов. Представляю вашему вниманию два самых популярных сборщика Java проектов:
Gradle - обожаю
Maven - пойдет
По крайней мере в РФ Gradle более распространен, нежели Maven. Но это не значит, что мавен редко встречается. Тоже довольно частый чувачок.

Фреймворки:
Spring - ну куда же без него. Если вы пишите на JVM языке, едва ли вы обойдетесь без спринга.
Hibernate (либо JOOQ, однако он менее распространен) - практически ни одно интерпрайз приложение не обходится без ORM.
Apache - это не фреймворк, а набор библиотек, которые упрощают ваш код (lang3, collections4, commons-io и др)

СУБД:
А вы как думали? Будете пилить stateless сервисы и все у вас будет хорошо? Не тут то было. Обязательно, хотя бы поверхностное понимание работы СУБД - что такое ACID, что такое транзакция, какие уровни изоляции бывают, какие феномены они закрывают, а какие нет, как работают индексы. Пока говорим только про реляционные. Если еще и NoSQL подтяните будет совсем хорошо.
Но тут могу сказать, что большинство джуниоров (даже синьеров…) нихрена этого не знают.

SQL:
А вы думали в сказку попали? Нафига вам знать, как работает СУБД, если вы не одного запроса не можете туда отправить. Рекомендую заложить время на его изучение и практику. Это очень важно.

OS:
Если вы планируйте стать бэкенд разработчиком, то базовое понимание работы unix систем вам очень поможет. Базовое администрирование будет большим плюсом, хотя на первое время и не обязательно.

Docker:
Куда же в современном мире бэкэндеру без докера. Как от джуниоров, от вас не требуется глубокого понимания того, как это работает, однако какое-то общее понимание у вас должно быть. А еще лучше, если вы попрактикуйтесь в этом - напишите проект, соберите его вашей любимой системой сборки, а потом упакуйте в контейнер и запустите его.

Английский язык:
Это не требование, а лишь моя рекомендация. Его нужно знать, учить практиковать.

Заключение.
Дальше все будет зависеть от следующих факторов:
- на сколько хорошо вы знайте ту или иную тему, и на сколько она важна для потенциального работодателя
- сколько денег вы попросили
- кто также как и вы претендует на ваше место

В общем, все что вам нужно, это просто быть лучше, чем другие, вот и все.
🔥5214👍11
Ну Тинькофф как всегда — предлагает крутые условия для опытных Java/Kotlin-разработчиков. Будут масштабные финтех-задачи, продукты для 30 млн пользователей и хорошая зарплата.

Еще можно работать из любого города и получить ДМС со стоматологией. Детали тут: https://v.tinkoff.ru/javakotlin
21🤩2👍1
This media is not supported in your browser
VIEW IN TELEGRAM
Обычно разработчиков зовут работать, а тут внезапно предлагают отдохнуть. Финтех Яндекса проводит закрытую вечеринку, где можно и в квиз сыграть, и поболтать про стек технологий. Ребята поделятся планами на будущее и покажут, как это вообще — быть частью Финтеха.

Идея интересная: на вечеринке можно оценить атмосферу и офис, познакомиться с коллегами и сразу понять, будут ли они смеяться над твоими шутками. Заодно встретишься с тимлидом и оценишь размер синяков у него под глазами (если что, чем меньше — тем лучше). И если всё понравится — можно вернуться снова, но уже как часть команды.

Вечеринка пройдёт в московском офисе Яндекса. Чтобы получить инвайт, даже собеседования не нужны — достаточно решить задачи →
17👍5🔥2🤩1
82🤩10🔥8👍6👏2
Кратко о статусах протокола http.
81👍13👏9🤩3
Курс «Английский для разработчиков» Яндекс Практикума

Для тех, кто хочет изменить свою профессиональную жизнь и работать в международной команде.

Обучение построено не вокруг абстрактной теории, а вокруг рабочих ситуаций и полезных для карьеры навыков:

Стендапы. Подготовитесь обсуждать задачи, задавать вопросы и просить о помощи.
👨‍💻 Работа с заказчиками. Научитесь презентовать решения, говорить про баги и фичи.
📣 Митапы. Сможете понимать на слух доклады и выступать сами.
😎 Собеседования. Научитесь рассказывать про свой опыт, понимать вопросы и тактично переспрашивать.
👯 Неформальное общение с коллегами. Сможете рассказать о своих интересах, опыте, планах на будущее.
💻 Код-ревью. Сможете описать сделанное, дать обратную связь, тактично отстоять своё мнение.

Запишитесь на бесплатную консультацию. Кураторы определят ваш уровень языка и расскажут подробнее про обучение.
👍13🤩21
Сегодняшняя тема - идентификаторы.

Тема важная, так как от того, какие названия вы будете давать своим классам, методам, переменным и т.д. зависит читаемость вашего кода. На сколько просто другим разработчикам будет в нем разбираться. На сколько доступна и прозрачная будет логика и ход вашей мысли.
Так же, рекомендую отдельно почитать книгу Роберта Мартина «Чистый код». Эта книга не всегда прямое руководство к действию. Скорее то, к чему нужно стремиться и какими соображениями руководствоваться при выборе имени.

Новое видео: https://youtu.be/tmVhHK63m7o
🔥17👏42👍1
60🤣52🤩4
Скорее всего баян, но я поржал =)
🤣194👍1610👏3🔥1🤩1
Задачка посвящается тем, кто приступил к изучениюю ООП. Кстати говоря, в уроках на YouTube мы вплотную подошли к этой теме. Осталось буквально еще пару важных уроков и будем говорить про объекты.

Давайте создадим фабрику супергероев.
Что я хочу видеть:
- Должна быть фабрика (соответственно класс), который умеет создавать супергероев (это поведение объекта).
- Фабрика должна уметь создавать разных супергероев – бэтмэн, аквамэн, халк, человек-паук, росомаха, супермен.
- У каждого супергероя должно быть имя, уровень силы по 10 бальной шкале и признак принадлежности к лейблу: DC или Marvel.
- У каждого героя должна быть какая-то суперспособность (это поведение). Пусть это будет обычный вывод в консоль. Например, у бэтмэна «Ааа, я бэтмэн!». Сомнительная суперспособность, но нас устроит.

Задание со звездочкой:
Создать арену гладиаторов. На арену можно отправлять двух супергероев. Победитель должен определяться в зависимости от того, какой супергерой сильнее. Имя победителя нужно выводить в консоль. При этом, когда супергерои дерутся, они должны использовать свои суперспособности.

Задание с двумя звездочками:
Можете добавить уровень неопределенности в то, какой супергерой победит. Иначе, если всегда будет побеждать супергерой, у которого уровень силы больше, то это не очень интересно. В жизни бывает так, что сильнейший не всегда побеждает.
43👍9🤩1