StairwayToJava | Блог – Telegram
StairwayToJava | Блог
30 subscribers
15 photos
14 links
Рассказываю о своём пути в IT и не только.

Итоги недели, полезная информация, конспекты книг и многое другое.

Ссылка для друга: https://news.1rj.ru/str/becoder22
Download Telegram
#итоги2
🤔Неделя 11🤔

После завершения пет-проекта вернулся к структурам данных, стоит их ещё раз повторить.

Затупилось умение решать задачи на leetcode, нужно возвращаться к практике.

Peace.
🤔1
#итоги2
🪫Неделя 12🪫

Постепенно наращиваю темп обучения. Закрепляю знания практикой на leetcode.

Кое-как разобрался с двоичными деревьями, к ним я ещё вернусь.

После того, как закреплю оставшиеся задачки, пойду щупать stream api и многопоточность.

Peace.
👍2
#итоги2
📅 Неделя 13 / Итоги марта 📅

За этот месяц хоть я и не изучил много новых тем, я очень много практиковался. Допилил первый пет проект, решил уйму алгоритмических задач.

Все еще наращиваю темп.

Peace
👍1
#итоги2
Неделя 14

Наконец-то начал углубляться в core, узнав больше про StreamAPI и многопоточность. Также решил снова закрепить ООП.

Peace
👍2
#итоги2
📊 Недели 15-16 📊

Прошедшие 2 недели были направлены на изучение базы многопоточности в Java Core. Я потратил довольно большое количество времени в поиске хорошего источника информации помимо документации и, наконец приступил к изучению.

На данный момент прошел курс на степике, изучив разницу параллелизма и многопоточности, что такое асинхронизм, прощупал создание потоков, прерывания, Executors, Synchronized/volatile, wait/notify, future, блокирующую очередь, lock/reentrant lock и основные проблемы, которые могут возникнуть при работе с многопоточностью в Java.

Сейчас ищу проект, на котором можно было бы закрепить полученные знания, а также осталось разобрать Concurrency, immutable classes и deadlock.

Результатом доволен, Peace.
👍1
#итоги2
Неделя 17

Наконец-то завершил знакомство с многопоточностью, закрепив это небольшим пет-проектом.

В кратце: это поиск проводника Windows, только хуже 🙈

Этот проект закрепил мои знания в многопоточности, работе с файлами и ООП. Теперь со спокойной душой можно приступать к Spring.

К этой теме буду возращаться еще не один раз, поэтому время от времени буду повторять материал.

Ссылка на проект: https://github.com/abkolia/RapidSearch
#итоги2
Неделя 18

Наконец приступил к изучению Spring Framework, узнал про бины, Application Context, Lifecycle. Изучил базовые аннотации.

Пока все идет гладко, хотя материал дается непросто.
👏2🤔1
#итоги2
Неделя 19
Прошелся по основам Spring Core, решил повторить Git и ООП с многопоточкой, все-таки пробелы имеются.

В остальном - все идет хорошо, параллельно с повторением Core начинаю разбирать Postgres и Hibernate.
#закрываемпробелы
Что такое исключения в Java и как с ними бороться.

Представь, что ты разрабатываешь калькулятор и тебе нужно реализовать деление. Вроде всё идёт хорошо, деление работает, но ты решил разделить число на 0 и вдруг💥БАЦ💥и программа завершается. Поздравляю, ты столкнулся с исключением.

Исключение - это возникающие во время выполнения и нарушающие ход программы события.

Но что делать?
Все просто - нужно это исключение обработать.

Обработка исключений
- это способ не дать исключениям сломать твой код.

Существует 2 способа обработки исключений:
1. При помощи блоков try-catch - когда нужно завершить код, который может вызывать исключение.
2. При помощи оператора throws - когда нужно явно создать исключение.

⬇️ На картинках ниже пример кода
#закрываемпробелы
Типы исключений и их иерархия в Java.

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

Существуют 2 типа исключений:
Проверяемые (Checked) — это те, которые проверяются компилятором перед запуском программы.
Прим.: IOException, SQLException, ClassNotFoundException.

Непроверяемые (Unchecked) — возникающие во время работы программы. Являются ошибкой в логике программы.
Прим.: ArrayIndexOutOfBoundsException, NullPointerException, ArithmeticException.

Иерархия исключений
Структура классов в виде дерева, где на вершине находится класс Throwable, от которого наследуются 2 подкласса: Error и Exception.
👍1
#итоги2
Неделя 20

На этой неделе я наконец взялся за Postgres, ознакомился с основами и попрактиковался в создании баз данных на этом языке.

Также закрепил Исключения.

Я планировал на эту неделю чересчур много, нужно чуток сбавить количество тасков, повысив углубление в темы.
👍2
#итоги2
Недели 21-22

Ознакомился пока-что с самой сложной темой для меня - JDBC. Огромное количество кода делает ее ещё хуже.

Изучил ACID, транзакции, работу с HikariCP.

На следующей неделе приступлю к Hibernate.
👍1👏1🤔1