ru
Feedback
Java кабала

Java кабала

Открыть в Telegram

Рассказываю про мир Java разработчиков. Делюсь опытом. Обучаю Java По всем вопросам - @fonatik_kabal

Больше
8 980
Подписчики
-424 часа
-307 дней
-15830 день
Архив постов
photo content

Братишки, кто хочет помимо Java освоить фронт энд технологии, посмотрите канал моего хорошего знакомого: https://t.me/evstratov_online С ним уже некоторые из вас знакомы - это с ним мы замутили интервью на ютубе) скоро сделаем еще что-нибудь интересное.

Гайз, для того, чтобы быть on the same page, мне нужно понимать, какой у вас возраст. Судя по тикток и вопросам в инсте большинство ещё в школе. Я сделал ставку🤣 завтра выложу скрин и посмотрим, какое нихуя я выиграл
Anonymous voting

Если вы все еще думаете, что программирование, это неимоверно сложно, то подумайте о том, что синтаксис Java состоит из 50 слов из которых даже я некоторых не знаю, потому что никогда не использую. Структура кода состоит всего из трех базовых вещей: класс, переменная, метод. Все остальное - дело техники и углубления в изучение. Если бы мы жили в 80х годах, я бы сказал, что программирование пиздец какое сложное. Но мы живем в 2021, и сейчас, чтобы решать рядовые задачи не нужно иметь семь пядей во лбу, или где там... Захотите стать рок звездой программирования - пожалуйста, углубляйте ваши знания, и решайте задачи, которые другие не могут решить. Вы будете топовым разработчиком. Но не всем это нужно. Многим, достаточно просто стать разработчиком и в ус не дуть. Поэтому запомните, сегодня, стать разработчиком не сложнее, чем стать любым другим специалистом. Вы сможете решать рядовые задачи и приносить бабки бизнесу. Пока мы можем это делать - у нас есть работа. Программирование само по себе не имеет никакого смысла, если оно не решает какую-то проблему. Поэтому не бздите ничего. Жизнь одна. Если хотите знать - учите. Нравится - делайте.

Давайте ка я немного расскажу вам про то, что такое git. Сначала немного сухости из википедии: распределённая система управления версиями. Проект был создан Линусом Торвальдсом для управления разработкой ядра Linux, первая версия выпущена 7 апреля 2005 года. Для чего же это нужно и как это работает? Программисты пишут код. Пишут его где? Правильно - на компьютерах. Давайте подумаем, к каким проблемам это все приводит. 1. Ну, первая, пожалуй, самая очевидная - комп или еще хуже, жесткий диск могут наебнуться. Тогда мы потеряем все, над чем работали. 2. Я работаю над кусочком программы, а мой коллега работает над другим кусочком этой же программы, но очень часто случается так, что мы должны использовать кусочки кода друг друга. Мне нужны кусочки его кода, а ему кусочки моего. Но как сделать так, чтобы мой код, который находится на моем компьютере появился на его компьютере и наоборот? Очевидно, я должен каждый раз ему его как-то передавать, а он мне. Немного ебала, учитывая то, что мы меняем код по сто раз на день, и то, что я ему дал пару часов назад, может быть уже не актуальным. А теперь еще хуже - у нас целая команда разработчков, или еще хуже - целый трайб разработчиков (много команд). Все одновременно меняют кодовую базу. Это просто нереально что-то кому-то передавать. 3. Если мы работаем над одним участком кода одновременно, то у нас появляются конфликты. Я переделал строчку кода, а коллега ее и вовсе удалил. Что считается актуальным? Как это объединить в единое целое? Эти проблемы решает "Система Контроля Версий". Git - это один из вариантов такой системы. Есть и другие, но git самый распространенный. В системе контроля версий есть такое понятие как ветка. Представьте, что вы разработчик, который начинает с нуля писать код. Вы накидали немного кода, и "сохранили" его в основную ветку (такая ветка называется master). Но эта ветка все равно пока что находится только у вас на компьютере. Тут приходят на помощь хостинги IT-проектов. Примеры таких хостингов: GitHub, GitLab, Bitbucket. Они позволяют загружать ваш код на сервера хостера, откуда ваш код может "скачать" любой ваш коллега. Делается это очень удобно - нажатием пары кнопок. Супер, мы решили как минимум первые две проблемы. Теперь весь наш код хранится не только у нас на компьютере, а еще на серверах хостера + на компьютерах всех наших коллег. Так же мы в любой момент может обновиться и увидеть самый (почти) актуальный код. Осталось решить последнюю проблему: проблема конфликтов. Git помогает решать эти благодаря тем самым веткам. Дело в том, что всегда существует главная ветка (master) - в которой находится рабочий код. Если мы хотим сделать какие-то изменения, то мы отводим новую ветку от master. Это будет точная копия главной ветки (короче, все равно что сделать копию проекта, и работать с копией, а не с основным проектом). В своей ветке вы делаете изменения, которые вам нужны и потом "сливаете" их в основную ветку. Этот процесс называется merge (мёрж). Гит за нас автоматически применит изменения из нашей ветки (копии) к основной ветки. И если вдруг случится так, что гит обнаружит, что код в основной ветки уже кем-то другим был изменен, то выдаст нам конфликт, и заставит его решить. И только после этого, мы сможем слить наши изменения в основную ветку. Подробнее можно посмотреть тут: https://www.youtube.com/watch?v=PEKN8NtBDQ0&list=PLY4rE9dstrJyTdVJpv7FibSaXB4BHPInb

Неплохой ресурс для подготовки к собеседованию: https://javastudy.ru/reference/interview/ Там очень много различных вопросов на множество тем. НО! обратите внимание, что очень много тем - это гавно мамонта, которое уже никто не использует, и если вас будут это спрашивать, советую бежать с такого собеседования 😂 Например, такие вещи как JSP, JSF и Servlet уже не актуальны

Ответ на распространенный вопрос: "Что лучше, учти после 9го или пойти в 10й класс?" Сложно сказать, что лучше. Тут все зависит от того, какую цель вы преследуете. Если вы пойдете в колледж, то велика вероятность, что он вас порядком подзаебет и вы уже не пойдете в универ. Опять таки, нужен вам диплом о высшем образовании или нет - решать вам. Без диплома вы будете ограничены в некоторых моментах. Например: - Поиск работы. Некоторые компании требую высшее образование - Занимаемая должность. Чтобы занимать некоторые руководящие должности требуется высшее образование. - Миграционные и релокационные визы для специалистов. Чтобы получить некоторые визы вам так же нужно высшее образование. - и др. (поисследуйте сами) Вот и смотрите сами. Если вы считаете, что без высшего образования в будущем вы выстрелите себе в ногу и оно вам пригодится, тогда логичнее принять решение в его пользу. Если же вы ок с этими ограничениями, и считаете, что оно вам не нужно, ну, тогда, принимайте соответствующее решение. Проблема в том, что в будущее заглянуть нельзя, и никогда не знаешь, что тебе может пригодиться. Если говорить про знания, то ни в колледже, ни в универе вы не получите адекватные знания. Один хрен, вам придется учиться самостоятельно. Однако тут хочу оговориться: и колледж и универ учат вас учиться. Они прививают хорошие навыки поиска и фильтрации информации, систематизации. В общем, из всего можно вынести пользу. По итогу: это больше к вопросу социального одобрения, нежели каких-то реальных знаний. Никто не может вам дать знания, зато вы можете их получить. Какой инструмент использовать для их получения - решать вам.

Друзья! Кто хочет узнать меня немного поближе, но вам впадлу заходить в linkedin, предлагаю посмотреть 30 минутное интервью - https://www.youtube.com/watch?v=S40xF3spUKM Да да, уже интервью берут, сам в ахуе. Рассказываю, как я докатился до такой жизни, даю советы начинающим программистам. Приятного просмотра. Захватите попкорн. Так же, подписывайся на канал. Это не последняя наша совместная работа

Короче, я в ближайшее время проведу первую лекцию бесплатно. Любой желающий сможет поучаствовать и понять для себя норм ему или нет

Дорогущий курс
Anonymous voting

Мои маленькие любители Java, работа над курсом в самом разгаре (2 дня уже нихуя не делал). Сейчас мне нужно прикинуть, сколько потенциально человек хотят пройти обучение. Обучение будет стоить примерно 25-30к руб. Будет зависеть от количества лекций. Я стараюсь ужать материал, но это не всегда получается. Курс будет ориентирован на нулевых людей. По крайней мере, сейчас, пока я обкатываю лекции, люди с нулевыми знаниями все (почти) понимают. Курс в целом будет разбит на две части: Java SE и Java EE. Java SE будет включать в себя базовые вещи - синтаксис, основные конструкции, паттерны, концепции, стандартные библиотек, sql + практические задания. Так же будут небольшие проекты. Java EE будет включать в себя работу с Spring, Spring Boot, ORM, Концепции микросервисной архитектуры и также практика и проект. Ниже сделаю пост с голосованием.

Отличие JDK от JRE от JVM JDK - Java Development Kit. Этот дистрибутив содержит в себе все остальные - JRE и JVM. Помимо этог
Отличие JDK от JRE от JVM JDK - Java Development Kit. Этот дистрибутив содержит в себе все остальные - JRE и JVM. Помимо этого, так же содержит компилятор и утилиты. JRE - Java Runtime Environment. Отвечает за запуск и выполнение Java программ. Содержит в себе непосредственно сам JVM, Class Loader и стандартные библиотеки. Абстрагирует работу конкретной ОС. JVM - Java Virtual Machine. Отвечает за работу Java приложений. Является интерпретатором байт кода в машинный код.

На каких ресурсах должны быть ваши профили? Если вы хотите, чтобы предложений по работе было как можно больше, тогда у вас должны быть заполненные профили на следующих ресурсах: 1. https://hh.ru/ 2. https://www.linkedin.com/ 3. https://career.habr.com/ 4. https://github.com/ Ресурсы указаны в порядке важности. Большинство оферов прилетает именно с hh.ru если ваше резюме открыто. На втором месте linkedin. Третье место хабр карьер. Я в свое время забыл про него, и у меня там был устаревший профиль. И я не понимал, какого черта рекрутеры предлагают мне позиции в Тольятти и Самаре 😄. Ну и да, некоторые рекрутеры смотрят на активность вашего github профиля.

photo content

Если вы боитесь алгоритмы, то пора с этим завязывать. Для этого, с ними нужно просто поближе познакомиться. Алгоритм - это просто заданная последовательность действий, не более. В повседневной жизни вы каждый день с ними сталкиваетесь. Например: Задача - поход на горшок: 1. Опустить стульчак 2. Снять штаны 3. Сесть 4. Потужиться 5. Все? если да, то идем дальше, если нет, возвращаемся на пункт 4 6. Вытереться 7. Смыть 8. Встать 9. Сильно зафакапили? Если да, идем на шаг 10, если нет, идем на шаг 11 10. Использовать ершик 11. Надеть штаны В программировании все тоже самое, только без ёршика. Мы манипулируем данными. Наша задача - придумать такой алгоритм, который позволяет наиболее оптимально достичь желаемого результата. Ведь сходить в туалет можно и с другим алгоритмом, например, не снимая штанов - что, мягко говорят, не очень оптимально. Если у вас уже есть небольшой опыт написания кода, то можете попрактиковаться в написании простеньких алгоритмов на следующих ресурсах: https://www.hackerrank.com/ https://www.codewars.com/ Лично я когда-то сидел на hacker rank. Там за каждую решенную задачу дают баллы. В зависимости от сложности получаете разное кол-во баллов. Есть общий мировой рейтинг. Очень прикольно в этом плане состязаться. Алгоритмы это не страшно. Просто некоторые нужно знать, так сказать, заучить. Но чаще всего, вам они пригодятся только на собеседовании. Т.к. подобные вещи уже давно реализованы, и не нужно изобретать свой велосипед. Алгоритмы, которые вам предстоит придумывать, вероятнее всего будут ad hock алгоритмы, т.е. решения для конкретного случая.

Страхи у программистов 😱 Сегодня увидел интересный комментарий, в котором попросили рассказать про страхи программистов 😄 Мне будет сложно говорить за всех программистов, я могу сказать за себя и своих знакомых. 1. Наверное, самый большое страх это выгорание. Некоторые разработчики очень сильно фанатеют от того, что делают, из-за чего проводят по 12, а то и больше, часов за работой. И не важно, основная это работа, либо совмещение со своим проектом. Если работать в таком режиме 3-6 месяцев, то в конце концов очень сильно устаешь. Особенно, если не видишь результата. Нужно себя чем-то отвлекать. Обязательно нужно какое-то хобби, которое отвлекает вас от программирования. Для меня это тикток. Также, нужно прислушиваться к самому себе. Если чувствуете, что вас начинает "тошнить" - отвлекитесь. Делайте работу в минимально необходимом объеме, остальное время, посвятите чему-то другому. Никому не нужен выгоревший специалист. 2. Уронить прод😨😁, а еще хуже, потерять данные... Расскажу на собственном примере. Я работаю в банке, и у нас все серьезно. Я отвечаю за каждый бит данных, которые мы получаем. Иногда, даже лучшие системы штормит, и приходится, так сказать, делать "операции на открытом сердце". Иногда, это просто плановое обновление софта или релиз новой функциональности. В любом случае, в эти моменты, я всегда держу руку на пульсе и слежу за всеми доступными мне метриками. 3. Ну и, пожалуй, третий страх - провалить собеседование в компанию, в которую ты очень хочешь. Это, конечно, не то чтобы страх, но всегда есть мандраж. Мне кажется, это основные страхи, которые могут преследовать программистов. Буду очень рад, если в комментариях вы поделитесь своими страхами, связанными с вашей профессиональной сферой 😄

Что учить Java или Python? Что лучше? Очень распространенный вопрос. Нельзя сравнивать языки вне контекста решаемой задачи. Вы можете сделать сравнительный анализ, но сделать вывод из него и однозначно сказать, что лучше, а что хуже - нельзя! Все решает контекст задачи, которую вы собираетесь решать. Каждый язык, в силу своих особенностей, лучше подходит для решения тех или иных задач. В связи с этим, каждый язык обладает огромным количеством библиотек и фреймворков, которые, наилучшим образом помогают решить связанную с этим задачу. Есть второй аспект проблемы - порочный круг. Хороший пример это Java. Когда люди начинают учить язык программирования, то многие выбирают Java, просто потому, что это наиболее востребованный и распространенный язык программирования. На нем работает огромное количество систем - начиная от микроволновки заканчивая банковскими и телеком системами. В свою очередь, когда очередной бизнес уходит в онлайн, как думаете какой язык он выберет? Правильно, скорее всего Java, т.к. Java разработчиков очень много и их проще найти. А почему так? Потому что много людей выбирают Java, т.к. много вакансий, а вакансий много, потому что... Это не значит, что в Java огромная конкуренция. Нет! Мы не могли найти разработчика полгода! Полгода Карл! И не потому что люди отказываются. А потому что мы не берем их, т.к. они не удовлетворяют нашим предпочтениям. И это Java. Представьте, сколько мы должны отстегнуть, например, за хорошего C++ разработчика.

Друзья, спасибо большое всем, кто откликнулся! 🤗 В итоге я выбрал 4х кандидатов. Не расстраивайтесь, если вы не попали в команду альфа-тестирования. Я продолжу писать полезные посты здесь и параллельно готовить курс.

❗️Друзья, я планирую создать курс по Java и для этого необходимо сделать кучу материала.❗️ Для того, чтобы он был качественный и его могла понять даже мама в декрете, я хочу постепенно обкатывать новый материал. Я хочу провести первую лекцию и мне нужны три добровольца, которые желают поучаствовать в этом 😃 Чтобы никого не мучал вопрос - все бесплатно. Лекция будет проходить в Zoom. По длительности это будет ориентировочно 90 минут. По времени договоримся, но скорее всего вечер. Все, кто хочет поучаствовать, пожалуйста, заполните форму https://forms.gle/CVTyLF1JBpTtajgL8 На основании данных из формы, я смогу сформировать группу наилучшим образом. О чем будет первая лекция. Я расскажу про основные концепции и термины, что такое Java, из чего она состоит и как запустить свою первую программу😀 Пререквизиты. В идеале, участникам лекции нужно будет предварительно выполнить небольшое задание - установить Java и IDE. Я вышлю инструкцию о том, как это сделать. Спасибо 😙