Доброе утро всем👋
В общем ребят, этой ночью я слишком много дискутировал на тему работы в IT.
Выбор направления, возможности в сфере и т.д.
Очень много людей давали советы по дальнейшему продвижению и я всё-таки сформировал своё мнение💡
У меня есть не самая лучшая черта, я часто начинаю очень самоуверенно, а позже всё это идёт резко на спад, со мной было подобное в сфере рекламы, которую я изучал раньше :(
Но в этот раз есть отличие, и крайне весомое, мой Блог в котором меня могут поддержать и дать напутствие другие люди, соответственно и я могу сделать тоже самое для других💪
В этот раз я не заброшу то, что начал, независимо от обстоятельств. По крайней мере, буду стремиться быстрее попасть на работу Android dev'om !
Спасибо, что следите и даёте советы, я всегда рад дискуссиям и осознанной аудитории в моём блоге :)
В общем ребят, этой ночью я слишком много дискутировал на тему работы в IT.
Выбор направления, возможности в сфере и т.д.
Очень много людей давали советы по дальнейшему продвижению и я всё-таки сформировал своё мнение💡
У меня есть не самая лучшая черта, я часто начинаю очень самоуверенно, а позже всё это идёт резко на спад, со мной было подобное в сфере рекламы, которую я изучал раньше :(
Но в этот раз есть отличие, и крайне весомое, мой Блог в котором меня могут поддержать и дать напутствие другие люди, соответственно и я могу сделать тоже самое для других💪
В этот раз я не заброшу то, что начал, независимо от обстоятельств. По крайней мере, буду стремиться быстрее попасть на работу Android dev'om !
Спасибо, что следите и даёте советы, я всегда рад дискуссиям и осознанной аудитории в моём блоге :)
🔥2
#обучение
Итак, сразу пост, как обычно:)
Кто-то из вас проходил обучение на сайте Google Developers?
У меня тут есть несколько бейджей(пройденных курсов), слышал недавно вышел курс по Compose официальный.
Думаю стоит пройти, а вы как думаете?
Итак, сразу пост, как обычно:)
Кто-то из вас проходил обучение на сайте Google Developers?
У меня тут есть несколько бейджей(пройденных курсов), слышал недавно вышел курс по Compose официальный.
Думаю стоит пройти, а вы как думаете?
#обучение
Давно не было технической информации...
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 - зависимости передаются через интерфейс.
Давно не было технической информации...
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 - зависимости передаются через интерфейс.
Как вам подобная тех. инфа?
Anonymous Poll
80%
пили ещё!
20%
лучше оформить в telegraph
0%
вообще не делать :)
#отчёт
День 72:
$Программирования:
Всего 3.36 часа
(2.05 часа практики, 1.31 теории)
Прикоснулся к технологии DI(dependency injection), узнал про IoC(Inversion of Control)
Не сосчитать сколько мною просмотрено видео, но приятно осознавать, что механизм начинает складываться.
MVVM всё ещё в процессе, учу по нескольким урокам. Сначала пробую спроектировать на пустом проекте, позже полученную информацию внедрить в свой с приложением.
Подзабыл про EPAM курс и книгу, которую я всё-таки планирую дочитать. Дела всё же нужно доводить до конца, раз уж начал!
Завтра с утра приступим.
$Английский:
-
День 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/
Для улучшения теории читал на хабре этот пост, впринципе полезен, хоть и написан не самым понятным языком.
Всё же нужно совмещать теорию в текстовом формате + видео + практику. Такое комбо уже можно назвать работоспособным👍🙂
$Английский:
-
День 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/
Для улучшения теории читал на хабре этот пост, впринципе полезен, хоть и написан не самым понятным языком.
Всё же нужно совмещать теорию в текстовом формате + видео + практику. Такое комбо уже можно назвать работоспособным👍🙂
$Английский:
-
Хабр
Архитектура и дизайн Android приложения (мой опыт)
Хабр, привет! Сегодня я хочу рассказать об архитектуре, которой я следую в своих Android приложениях. За основу я беру Clean Architecture, а в качестве инструментов использую Android...
#обучение
Use Case в контексте архитектуры Android.
Пройдёмся по циклу видео Clean Architecture.
Каждый из уроков постараюсь вкратце конспектировать.
Use Case - это бизнес-логика, которую возможно описать простым предложением.
Приведу пример, из приложения с фильмами:
"Войти в аккаунт LoginByEmailUseCase", "Посмотреть детали GetMovieDetailsUseCase".
Исходя из этого, можно составить диаграмму, в которой изобразим все возможные Use Cases.
Use Cases мы помещаем в domain package нашего проекта.
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/
День 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).
Сегодня готовился к защите курсовой работы, завтра уже сдача, поэтому активности от меня сейчас немного)
$Английский:
-
День 75:
$Программирования:
Всего 2.28 часов
(1.23 часа практики, 1.04 теории)
По обычаю, с утра сел за книгу, прочитал две главы.
А именно: ассоциативные массивы, обьявления классов (11, 12 главы)
Познакомился с инкапсуляцией, хоть и теоретически ранее о ней знал)
Также неплохо подтянул знания по модификаторам видимости в Kotlin(public, private, protected, internal).
Сегодня готовился к защите курсовой работы, завтра уже сдача, поэтому активности от меня сейчас немного)
$Английский:
-
🔥1
#отчёт
День 76:
$Программирования:
Всего 0.00 часов
(0.00 часа практики, 0.00 теории)
Защитил курсовой проект, осталось кое-что дооформить и готово)
Постараюсь завтра это доделать и вливаться в разработку. С учёбой всё-таки дело серьёзное, если вовремя долги не закрыть, потом ещё тяжелее.
$Английский:
-
День 76:
$Программирования:
Всего 0.00 часов
(0.00 часа практики, 0.00 теории)
Защитил курсовой проект, осталось кое-что дооформить и готово)
Постараюсь завтра это доделать и вливаться в разработку. С учёбой всё-таки дело серьёзное, если вовремя долги не закрыть, потом ещё тяжелее.
$Английский:
-
👍2
#отчёт
День 77:
$Программирования:
Всего 0.00 часов
(0.00 часа практики, 0.00 теории)
Задачи всё те же, "кое-что дооформить" по курсовому проекту затянулось на какое-то время, за выходные нужно оформить всё, распечатать и сдать. Целый день просидел над этим, и возможно, завтра будет аналогичная ситуация.
Очень хочется программировать, но понимаю, если буду прыгать между двумя задачами сразу, то ни там, ни там толку не будет.
Планирую закончить и потихоньку переходить на программирование.
$Английский:
-
День 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/
-
День 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.
Приветствую всех, кто присоединился🙂
Отдельная благодарность @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.💡
$Английский:
-
День 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 теории)
Уже не сосчитать сколько дней работаю над курсовой работой, оформление занимает чуть ли не всё свободное время, плюс к этому постоянные правки. На днях уже полностью с этим справлюсь, а далее сессия🙂🥲
На завтра, кстати договорился о важной встрече, попозже детально распишу всё :)
Всем спокойной ночи и лёгкого обучения💡
$Английский:
-
День 80:
$Программирования:
Всего 0.00 часа
(0.00 часов практики, 0.00 теории)
Уже не сосчитать сколько дней работаю над курсовой работой, оформление занимает чуть ли не всё свободное время, плюс к этому постоянные правки. На днях уже полностью с этим справлюсь, а далее сессия🙂🥲
На завтра, кстати договорился о важной встрече, попозже детально распишу всё :)
Всем спокойной ночи и лёгкого обучения💡
$Английский:
-
👍2
#отчёт
День 81,82:
$Программирования:
Всего 4.10 часа
(4.10 часа практики)
Итак, всем присоединившимся привет, да и тем кто читал раньше тоже😉
Читая мои отчёты, могли заметить что много времени уходит на учёбу, но моя цель остаётся неизменной.
Поэтому, сейчас, помимо обучения, я подыскиваю работу и сфокусировался на выполнении тестового задания - все силы направил именно сюда.
Поделюсь подробностями после выполнения. Вас без полезного контента оставлять тоже не хочу, т.к. понимаю большинство моих читателей имеют похожие цели и хотят подчерпнуть с блога интересной и полезной информации💡
$Английский:
Занятие перенесли, пока эту неделю английский отпадает, в связи с причинами выше :)
День 81,82:
$Программирования:
Всего 4.10 часа
(4.10 часа практики)
Итак, всем присоединившимся привет, да и тем кто читал раньше тоже😉
Читая мои отчёты, могли заметить что много времени уходит на учёбу, но моя цель остаётся неизменной.
Поэтому, сейчас, помимо обучения, я подыскиваю работу и сфокусировался на выполнении тестового задания - все силы направил именно сюда.
Поделюсь подробностями после выполнения. Вас без полезного контента оставлять тоже не хочу, т.к. понимаю большинство моих читателей имеют похожие цели и хотят подчерпнуть с блога интересной и полезной информации💡
$Английский:
Занятие перенесли, пока эту неделю английский отпадает, в связи с причинами выше :)
Последнее время перед сном завёл привычку смотреть контент, связанный с технологиями.
Наткнулся на плейлист от команды Wylsacom, тут и про историю созданию интернета, и про конкуренцию больших IT корпораций, даже про браузеры есть :)
Каждому, кто хоть как-то видит себя в сфере технологий, данная информация must have🔎
https://www.youtube.com/watch?v=P_r8gYuyy8U&list=PL_48a05FlkcyuhzCAxXcdQp991HbjFP0c&index=5
Наткнулся на плейлист от команды Wylsacom, тут и про историю созданию интернета, и про конкуренцию больших IT корпораций, даже про браузеры есть :)
Каждому, кто хоть как-то видит себя в сфере технологий, данная информация must have🔎
https://www.youtube.com/watch?v=P_r8gYuyy8U&list=PL_48a05FlkcyuhzCAxXcdQp991HbjFP0c&index=5
YouTube
Как Apple и Google УБИЛИ своих конкурентов или Раньше было ЛУЧШЕ
Больше информации о ноутбуке HP Victus 16-e0012ur - https://bit.ly/33Wjoss
Илья ждёт вас в Инстаграме https://www.instagram.com/jc_ru/
Разбираемся почему современные смартфоны и мир технологий вокруг них перестали быть интересными. Погрузимся в историю…
Илья ждёт вас в Инстаграме https://www.instagram.com/jc_ru/
Разбираемся почему современные смартфоны и мир технологий вокруг них перестали быть интересными. Погрузимся в историю…