𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 – Telegram
𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩
12 subscribers
54 photos
2 videos
5 files
46 links
𝘼𝙣𝙙𝙧𝙤𝙞𝙙 𝘿𝙚𝙫𝙚𝙡𝙤𝙥𝙢𝙚𝙣𝙩 & 𝙇𝙞𝙛𝙚𝙨𝙩𝙮𝙡𝙚
Download Telegram
#обучение
Давно не было технической информации...
Dependency Injection🔎

Изучая MVVM в очередной раз наткнулся на внедрение зависимостей, нужно разобрать это более детально.💡

Какую проблему решает?
В первую очередь, уменьшает связность кода, что очень важно при разработке, помогает при модульном тестировании (где тестируются отдельные модули программы), расширение приложения становится проще,
количество шаблонного кода сокращается.

Понятие
DI(Dependency Injection) - это когда вы своему компоненту (например, классу) предоставляете нужные для него зависимости извне, а не создаете их сами в конструкторе.
НО, важно понимать что DI - это реализация принципа ООП IoC(Inversion of Control).
Суть IoC в том, что каждый элемент нашей программы (класс например) должен быть наиболее изолированным от других.
Кстати, также реализовать IoC можно не только с помощью DI, но также используя Factory Method, Service Locator.

Библиотеки/Фреймворки для внедрения зависимости:
-Dagger 2
-Koin (специально под Kotlin)
Кто пишет на Kotlin, стоит обратить внимание на Koin.

3 типа внедрения Зависимостей:
1)constructor injection - зависимости передаются через конструктор класса
2)setter injection - добавляем setter-метод, с помощью которого injection внедряет зависимость.
3)interface injection - зависимости передаются через интерфейс.
#отчёт
День 72:
$Программирования:
Всего 3.36 часа
(2.05 часа практики, 1.31 теории)

Прикоснулся к технологии DI(dependency injection), узнал про IoC(Inversion of Control)
Не сосчитать сколько мною просмотрено видео, но приятно осознавать, что механизм начинает складываться.
MVVM всё ещё в процессе, учу по нескольким урокам. Сначала пробую спроектировать на пустом проекте, позже полученную информацию внедрить в свой с приложением.

Подзабыл про EPAM курс и книгу, которую я всё-таки планирую дочитать. Дела всё же нужно доводить до конца, раз уж начал!
Завтра с утра приступим.

$Английский:
-
#отчёт
День 73:
$Программирования:
Всего 2.35 часа
(1.45 часа практики, 0.50 теории)

Всё как и планировал.
Продолжил читать книгу и просматривать курс от EPAM.
По книге пройдено 2 главы:
-Глава 8 числа numbers;
-Глава 9 стандартные функции: let, apply, run, with, also, takeIf, takeUnless.
По курсу EPAM:
-Типы данных, углублялся в Java, хотя на курсе дают примеры также и для C++, Python, поэтому немного ознакомился с синтаксисом этих языков.

Также продолжил изучать архитектуру. Понял, что желательно углубиться основательно, поэтому нашёл плейлист из 12 уроков, в котором от основ Use Case'ов вплоть до Unit тестов всё рассказано в деталях.

https://habr.com/ru/post/500128/
Для улучшения теории читал на хабре этот пост, впринципе полезен, хоть и написан не самым понятным языком.
Всё же нужно совмещать теорию в текстовом формате + видео + практику. Такое комбо уже можно назвать работоспособным👍🙂


$Английский:
-
#обучение
Use Case в контексте архитектуры Android.
Пройдёмся по циклу видео Clean Architecture.
Каждый из уроков постараюсь вкратце конспектировать.

Use Case - это бизнес-логика, которую возможно описать простым предложением.
Приведу пример, из приложения с фильмами:
"Войти в аккаунт LoginByEmailUseCase", "Посмотреть детали GetMovieDetailsUseCase".
Исходя из этого, можно составить диаграмму, в которой изобразим все возможные Use Cases.
Use Cases мы помещаем в domain package нашего проекта.
#отчёт
День 74:
$Программирования:
Всего 5.58 часов
(1.45 часа практики, 3.03 теории)

Сегодня аж три скриншота прикладываю :)
Первый - Приложение, которое я сделал по видеоуроку. Вкратце, изучал Use Case на практике, приложение должно было сохранять данные и передавать их по нажатию.
Использовал 2 Use Case'а. Дам совет, кто тоже начинает изучать, обязательно учитесь строить диаграммы! Без этого никак, и на собесах спрашивают, и в коде легче разобраться.
Второй - диаграмма Use Case. Для наглядности.
Третий - тест по английскому, проходил на сайте EF SET.

Много времени с утра уделил книге и курсу EPAM, скажу так, до обеда уже чувствуешь себя, как выжатый лимон🙃
Но небольшие перерывы очень выручают.

По книге изучал списки и множества (list & set), по курсу EPAM (операторы и выражения).

$Английский:
1
.09 час.
Lesson 06.part 1. Moving abroad topic.

*Кстати, прокачиваю Linkedin, кто хочет держать связь, добро пожаловать :)
https://www.linkedin.com/in/yuriy-kravets-01902822a/
👍1🔥1
#отчёт
День 75:
$Программирования:
Всего 2.28 часов
(1.23 часа практики, 1.04 теории)

По обычаю, с утра сел за книгу, прочитал две главы.
А именно: ассоциативные массивы, обьявления классов (11, 12 главы)
Познакомился с инкапсуляцией, хоть и теоретически ранее о ней знал)
Также неплохо подтянул знания по модификаторам видимости в Kotlin(public, private, protected, internal).

Сегодня готовился к защите курсовой работы, завтра уже сдача, поэтому активности от меня сейчас немного)

$Английский:
-
🔥1
#отчёт
День 76:
$Программирования:
Всего 0.00 часов
(0.00 часа практики, 0.00 теории)

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

$Английский:
-
👍2
#отчёт
День 77:
$Программирования:
Всего 0.00 часов
(0.00 часа практики, 0.00 теории)

Задачи всё те же, "кое-что дооформить" по курсовому проекту затянулось на какое-то время, за выходные нужно оформить всё, распечатать и сдать. Целый день просидел над этим, и возможно, завтра будет аналогичная ситуация.
Очень хочется программировать, но понимаю, если буду прыгать между двумя задачами сразу, то ни там, ни там толку не будет.

Планирую закончить и потихоньку переходить на программирование.

$Английский:
-
#отчёт
День 78:
$Программирования:
Всего 57 минут
(0.28 часа практики, 0.29 теории)

Курсач сдал на проверку, будут ещё доработки, но я 100% целый день уже буду посвящать разработке.

По clean architecture, сегодня изучаю слой Data, его особенности и практическое применение.
Сколько изучаю Android, впервые, ключевое слово, "глубоко" ознакомился с SharedPreferences.
Если кратко и своими словами, то это хранилище в Android, которое используется в приложениях для хранения настроек.
Оно постоянное, но пользователь может зайти в настройки и очистить все данные в хранилище. (Во вкладке приложения - Выбираем приложение - Очистить кеш/очистить данные). Я, к примеру, всегда перед удалением это делаю, чтобы не засорять память телефона, что и вам советую)

https://www.fandroid.info/sharedpreferences-sohranenie-dannyh-v-postoyannoe-hranilishhe-android/
Оставлю статью для чтения, думаю будет полезно.



$Английский:
-
#roadmap

Приветствую всех, кто присоединился🙂

Отдельная благодарность @Hey_008 за прилив активности в мой блог. Хотя, назвать блогом это пока сложно, скорее дневник, где ежедневно публикуется отчётность о моём продвижении в обучении и жизни в целом. Это даёт мотивацию продолжать работать мне и тем, кто на меня подписан.

Интерес к IT-сфере у меня появился с момента поступления в колледж, в 2019 году, тогда с горем пополам, я изучал html, а позже забросил и сменил несколько подработок. Занимался и ведением пабликов в инстаграм, и копирайтингом, и маркетингом. Всё это было сначала небольшим хобби, а позже перетекало в заработок.

В 2022 году, на 3-м курсе у меня сформировалось видение, хоть и приблизительное, что мне нравится и чего я хочу в жизни.
Поэтому, само собой выбрал направление мобильной разработки, а именно под операционную систему Android.

Блог поможет собрать, хоть и небольшое, но осознанное комьюнити.
P.S. Не бойтесь писать под постами и вступать в дискуссии, это повысит ваши скиллы💡
🔥4👍1
#отчёт
День 79:
$Программирования:
Всего 2.23 часа
(1.54 часов практики, 0.29 теории)

Продолжаю изучать clean architecture, хочу разобраться и внедрить в своём приложении с фильмами, которое всё ещё на этапе разработки.
Просмотрел 3-й урок плейлиста "Уроки по архитектуре" от Тимофея Коваленко. Кратко, понятно, структурированно🔎

Прикладываю диаграмму программы, структуру в Android Studio и приложение, которое я создал для практики.
-В presentation слое мы размещаем Activity
-В domain слое, модельки, юз кейсы и интерфейс (userRepository)
-Для того, чтобы слой domain ни от кого не зависил, мы реализуем его с помощью userRepositoryImplementation в data слое.


В приложении мы прописываем, так называемый, user name, сохраняем его и получаем его обратно, только теперь нажимая кнопку get user data.💡

$Английский:
-
👍1
#отчёт
День 80:
$Программирования:
Всего 0.00 часа
(0.00 часов практики, 0.00 теории)

Уже не сосчитать сколько дней работаю над курсовой работой, оформление занимает чуть ли не всё свободное время, плюс к этому постоянные правки. На днях уже полностью с этим справлюсь, а далее сессия🙂🥲

На завтра, кстати договорился о важной встрече, попозже детально распишу всё :)

Всем спокойной ночи и лёгкого обучения💡

$Английский:
-
👍2
#отчёт
День 81,82:
$Программирования:
Всего 4.10 часа
(4.10 часа практики)

Итак
, всем присоединившимся привет, да и тем кто читал раньше тоже😉
Читая мои отчёты, могли заметить что много времени уходит на учёбу, но моя цель остаётся неизменной.
Поэтому, сейчас, помимо обучения, я подыскиваю работу и сфокусировался на выполнении тестового задания - все силы направил именно сюда.

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

$Английский:
Занятие
перенесли, пока эту неделю английский отпадает, в связи с причинами выше :)
Последнее время перед сном завёл привычку смотреть контент, связанный с технологиями.
Наткнулся на плейлист от команды Wylsacom, тут и про историю созданию интернета, и про конкуренцию больших IT корпораций, даже про браузеры есть :)

Каждому, кто хоть как-то видит себя в сфере технологий, данная информация must have🔎

https://www.youtube.com/watch?v=P_r8gYuyy8U&list=PL_48a05FlkcyuhzCAxXcdQp991HbjFP0c&index=5
#отчёт
День 83:
$Программирования:
Всего 2.25 часа
(Практика - 2 часа, 25 минут теории)

Рад вернуться к блогу!👍
С момента, как мне поступило тестовое, я столкнулся с трудностями и понял, что некоторые вещи нужно довести до автоматизма. Для этого сосредоточусь на pet-проекте и добавлю туда несколько обновлений, которые давно планировал.

Кстати, попробовал себя в сфере продаж, осознал для себя, что сфера стрессовая и мне не по вкусу. Вот и решил для себя, что программирование, несмотря на все сложности, наиболее интересная, логичная и структурированная сфера, в которой ты действительно всегда нужен, как специалист👨‍💻

Сегодня решил довести своё приложение до путя, поэтому работал над внедрением трейлера.
Использовал библиотеку android youtube player. Трейлер уже появился, но не по тематике, то есть высвечивает рандомный клип какого-то исполнителя. Нужно будет привязать отображение трейлера к моему конкретному API.

Также чувствую, что язык программирования хромает, поэтому с помощью JetBrains Academy прокачиваю Kotlin. Все специалисты сильно советуют данный ресурс.


$Английский:
-
#отчёт
День 84:
$Программирования:
Всего 2.3 часа
(Не засекал время, приблизительно такие цифры)

Сегодня решил заострить внимание на Kotlin, а именно ресурсе JetBrains Academy.
Вроде на первых этапах, а уже возникают первые проблемы, взять те же функции print и println. Задания кажутся простыми, но ошибки никто не отменял.
Из примера, нужно было вывести некую таблицу, в виде крестики нолики. Скажу я вам, посидел над заданием минут 30.
Поэтому, чисто физически меня на андроид студио сегодня не хватило🙃
Буду навёрстывать завтра.

$Английский:
-Пока подзабил, планирую возвращать прежний режим и продолжать заниматься английским.

!ОБЩЕЕ!
На кодинг нужно стараться выделять минимум часов 5-6 в день, для того чтобы как-то двигаться. С моим теперешним темпом я просто топчусь на месте. Буду исправлять!
👍2