TGViewer
Channel Public Channel
Next Level Dev

Next Level Dev

@andrdevnotes

Делюсь опытом с ИИ, менторю начинающих android-разрабов

Roadmap для начинающих андроид-разрабов в личке @ilia_a_popov
Там же запись на менторство и консультации

О менторстве: https://androidmentor.ru
Subscribers
620
Photos
32
Videos
2
Links
60

Showing posts older than #99 · Back to latest

Older Posts 16 shown
Post #98 706
Любые комментарии / идеи / пожелания автору канала 👇👇👇
  • 👍 5
Post #92 425
Привет, друзья!

Этот канал я веду для того, чтобы помогать начинающим разработчикам быстрее и легче входить в профессию.

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

Пожалуйста, уделите пару минут вашего времени и пройдите опросы ниже 👇👇👇
Это поможет мне лучше понять, какая информация для вас сейчас актуальна.
Post #91 550
А теперь внимание – правильный ответ!

Да какой правильный ответ, лол, это же архитектура, тут у всех своя правда.

Как многие из вас отметили, наблюдается проблема с инкапсуляцией. Нельзя делать в родителе стейт и трогать его и из родителя, и из наследников – иначе начнётся жуткая путаница, будет непонятно, что где вызывается и в каких местах меняется.

Из-за этой путаницы любой написанный в родителе или наследнике код может вести к неприятным сайдэффектам и с каждым разом приводить к новым костылям и усилению связности кода.

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

А лучше в родителе обходиться абстрактными переменными и функциями, а также не абстрактными protected функциями.

И вообще, помним: предпочитаем композицию, а не наследование!

#android #вопросы #рефакторинг

@andrdevnotes | Обучение android
  • 👍 6
  • ❤ 2
  • 😁 1
Post #88 561
Худшая ошибка, которую можно совершить при наследовании, или "Не шутите с SOLIDом"

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

Эта ошибка до сих пор красуется в проде и ежедневно бесит меня и моих коллег. Ух, дойдут у меня руки её порефакторить! Но теперь это будет куда тяжелее, она пустила корни и разрослась.

"А теперь он расскажет, в чём эта ошибка состоит", – подумали вы. А вот и не угадали.

🤔 Ваша очередь мне в комментариях рассказывать, в чём я тогда накосячил! И стало ли лучше справа, чем слева. И что бы вы ещё доработали. 👇👇👇

Посмотрим, как у вас с DRY–KISS–SOLID'ом дела обстоят 😏

#android #вопросы #рефакторинг

@andrdevnotes | Обучение android
  • 🤔 3
  • 👀 3
  • 🔥 1
Post #87 659
Запись второй серии лайвкодинг-стрима

Спасибо всем, кто был со мной!
И приятного просмотра тем, кто будет смотреть в записи :)

Пишите в комментарии на ютубе, как вам стрим!
Это важный вклад в поддержку канала.

@andrdevnotes | Обучение android
YouTube Создаём android-приложение с нуля: Часть 2 Стек: XML, REST, MVVM, MultiModule Clean, Hilt, Glide, Room, ViewBinding, Gson, Coroutines, Retrofit, WorkManager Телеграм-канал: https://t.me/andrdevnotes Обучение android: https://androidmentor.ru
  • ❤ 7
  • 🔥 4
  • 👍 3
  • 💯 3
  • 😍 1
Post #86 542
Next Level Dev 💥 А ты знал, что сложно не одному тебе? 💥 В андроид-разработке полно всяких ситуаций, которые нельзя предсказать, а потому невозможно их предвосхитить и избежать. Ты все равно будешь время от времени хвататься за голову, гуглить странные ошибки, а решения…
Стрим начнётся через час, залетайте!

@andrdevnotes | Обучение android
YouTube Создаём android-приложение с нуля: Часть 2 Стек: XML, REST, MVVM, MultiModule Clean, Hilt, Glide, Room, ViewBinding, Gson, Coroutines, Retrofit, WorkManager Телеграм-канал: https://t.me/andrdevnotes Обучение android: https://androidmentor.ru
  • 👍 5
  • ❤ 2
  • 🔥 2
  • 😍 1
Post #85 520
💥 А ты знал, что сложно не одному тебе? 💥

В андроид-разработке полно всяких ситуаций, которые нельзя предсказать, а потому невозможно их предвосхитить и избежать. Ты все равно будешь время от времени хвататься за голову, гуглить странные ошибки, а решения из StackOverFlow будут приводить к ещё более странным ошибкам.

Хочешь посмотреть, как это буду делать я?

🔜 В четверг 20 июня, в 19:00 будет вторая серия стрима "Создаём проект с нуля"!

Вместе с вами будем писать приложение для отображения списка персонажей из Rick and Morty. "Вместе с вами" – это не пустые слова, без ваших комментариев и живого обсуждения я быстро стухну.

📋 У нас в планах:
– перенести логику во фрагменты
– завезти ViewBinding
– добавить в элементы списка картинку с помощью Glide
– пагинация и бесконечный скролл с лоадером и пулл-ту-рефрешем
– обработать клик по картинке с переходом на DetailsFragment
– кэширование: InMemory и Persistent (Room)

В процессе постараюсь объяснять, что делаю, и время от времени отвечать на вопросы.

⏱ Стрим будет идти ориентировочно 1.5 - 2 часа.

Стрим в live смотреть куда интереснее, так что советую жать колокольчик на ютубе и не пропускать ;)

Репозиторий

Ставьте +, кто придёт!

#android #видео #стрим

@andrdevnotes | обучение android
YouTube Создаём android-приложение с нуля: Часть 2 Стек: XML, REST, MVVM, MultiModule Clean, Hilt, Glide, Room, ViewBinding, Gson, Coroutines, Retrofit, WorkManager Телеграм-канал: https://t.me/andrdevnotes Обучение android: https://androidmentor.ru
  • 👍 8
  • 🔥 5
  • ❤ 2
Post #82 527
Виды кэширования

1️⃣ In-Memory Cache
Это кэш, который живёт вместе с приложением, перезапуск он не переживает.

Типичная реализация – синглтон, в переменных которого вы сохраняете нужную информацию.

➕ Плюсы: быстрое чтение и запись, не надо морочиться с БД.

➖ Минусы: нет всех плюсов хорошей обёртки над БД типа Room, всё надо делать самому руками. Да и тяжёлые данные в In-memory кэше забивают память и могут усложнять использование кэша.

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

2️⃣ Persistent Cache
Это кэш, который переживает приложение, сохраняясь в памяти устройства.

Чаще всего это или уже знакомые вам преференсы, или Room, который я буду завозить в наше приложение на стриме в четверг.

➕ Плюсы: удобное и гибкое использование через Room, переживает перезапуск, хорошо оптимизирован для хранения и чтения больших и сколь угодно сложно связанных данных.

➖ Минусы: медленнее, чем просто достать данные из памяти приложения, и надо потратить время, чтобы разобраться.

Чаще всего в приложении используются оба типа кэша, а как ими управлять, сколько каждый из них живёт по времени и тд – ответственность репозитория.

#android #лайфхаки

@andrdevnotes | androidmentor.ru
  • 👍 8
  • 🔥 2
  • ❤ 1
  • 🫡 1
Post #81 568
Настало время планировать следующую неделю!

В четверг 20 июня в 19-00 нас ждёт вторая серия стрима "Создаём проект с нуля". На этой серии стримов мы пишем приложение для отображения списка персонажей из Rick and Morty.

В прошлой серии мы успели сделать:
– первичную структуру: 3 модуля, пакеты-заглушки
– сетевой слой для запроса списка персонажей (без пагинации)
– маппер, ретрофит и репозиторий
– для всего вышеперечисленного сделали инъекцию зависимостей хилтом
– простейшую вёрстку через RecyclerView и ListAdapter с DiffUtil и отображение списка через вьюмодель

Дальше у нас в планах:
– перенести логику во фрагменты
– завезти ViewBinding
– добавить в элементы списка картинку с помощью Glide
– пагинация и бесконечный скролл с лоадером и пулл-ту-рефрешем
– обработать клик по картинке с переходом на DetailsFragment
– кэширование: InMemory и Persistent (Room)

Репозиторий

Закидывайте в комментарии ваши предложения по тому, что хотелось бы увидеть на стриме!

А кто смотрел предыдущий стрим – напишите в комментариях на youtube, что понравилось или не понравилось. Это важно для продвижения канала :)
  • 👍 6
  • ⚡ 3
  • 🥰 1
  • 🆒 1
Post #80 600
❇️ Два простых способа сохранить данные при перезапуске приложения ❇️

Рассказываю про SharedPreferences и DataStore.
P.S.: а для особо внимательных задание: найдите на видео моего помощника =)

Приятного просмотра! 🚀

Мне будет приятно, если поддержите лайками и комментариями 👀

https://youtu.be/A_1dnLqZdsY?si=vIygP7xoJEB8lIRv

#android #видео #лайфхаки

@andrdevnotes | androidmentor.ru
  • 👍 6
  • 🔥 2
  • ❤ 1
  • 👏 1
  • 🤩 1
Post #79 775
Один из мощных плюсов андроид-разработки

Я в индустрии 10 лет, бывал и разработчиком на C++, и на Java, и сайты / веб-приложения делал на HTML / CSS / JS, и бэкенд и нейронки на python. Это я к тому, что мне есть с чем сравнивать android-коммьюнити. И я не перестаю удивляться, насколько оно всё-таки крутое.

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

У нас есть замечательный чат Android Developers, в котором много людей, готовых бесплатно подсказывать и помогать. И это куда быстрее, полезнее и приятнее, чем идти на StackOverFlow и выслушивать, какой же ты тупой.

Я уверен, что Android – уникальная платформа, которая своей гибкостью и сложностью объединяет вокруг себя разработчиков. Будь она простой для освоения – коммьюнити не было бы таким дружным. Мы все бьёмся против общего "врага" ! И с каждой закрученной гуглом гайкой, с каждым очередным усложнением фоновой работы мы становимся всё дружнее и сильнее. Нас не победить!)

И знаете что? Так далеко не везде.

#android #мотивация
  • 🔥 12
  • 👍 5
  • ❤ 2
  • 🥰 2
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →