Как стать автором
Обновить
18
0
Абакар Магомедов @Ab0cha

Android TechLead

Отправить сообщение

Как я в 22 года получил «лычку» Senior

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров28K

Привет, читатель! Хотел поделиться историей о том, как я пришёл в IT в 18 лет и к 22 годам получил статус Senior в EPAM. Senior — тот самый Священный Грааль, о котором мечтают все новички.

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

Читать далее
Всего голосов 75: ↑28 и ↓47-14
Комментарии62

API vs ABI: разницу видят не только лишь все

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров6K

Привет, дорогой читатель! Думаю, ты точно знаешь, что такое API и как сделать, чтобы твои изменения были API-совместимыми. На самом деле я сам никогда не задумывался, что существует ABI-совместимость, до момента, пока не столкнулся с разработкой библиотеки.

У нас в компании есть библиотеки, которые используются несколькими проектами. При разработке этих библиотек мы всегда думали об API-совместимости, но не задумывались о вопросе ABI-совместимости, а это довольно важный вопрос. В статье расскажу, почему этот тема стоит вашего внимания.

Читать далее
Всего голосов 18: ↑17 и ↓1+17
Комментарии14

8 вещей, которые я усвоил за 6 лет карьеры разработчика

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров18K

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

Читать далее
Всего голосов 25: ↑21 и ↓4+17
Комментарии9

Возможна ли жизнь после плеймаркета?

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров7.8K

Привет, старина! Представь свой обычный рабочий день андроид разработчиком. Ты открываешь почту и видишь сообщение как на картинке. Твои действия?

Читать далее
Всего голосов 34: ↑32 и ↓2+32
Комментарии31

8 типичных нетипичных советов Android-разработчику перед интервью

Уровень сложностиПростой
Время на прочтение6 мин
Количество просмотров6.3K

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

У меня богатый опыт собеседований, только в Альфе я успел провести больше 200. Я выделил несколько советов, которых стоит придерживаться кандидатам. Какие-то из советов могут показаться капитанскими :)

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии8

Как мы играли в тесты на Groovy и проиграли

Уровень сложностиСредний
Время на прочтение6 мин
Количество просмотров3K

В начале у меня будет один вопрос к тебе дорогой читатель. Писал ли ты когда-нибудь unit-тесты на Groovy ? Если ты андроид-разработчик, то вероятность этого крайне мала. И я с таким не сталкивался пока не пришел на проект Альфы. Небольшой дисклеймер: если ты до этого никогда не писал unit-тесты, то этот материал может показаться тебе непонятным.

Давай представим, ты приходишь на проект и видишь тест, как на картинке. Что ты будешь делать дальше?

Читать далее
Всего голосов 28: ↑28 и ↓0+28
Комментарии21

Топ 3 странности андроида с которыми мне приходилось сталкиваться

Время на прочтение2 мин
Количество просмотров6.3K

Топ 3 странности андроида с которыми мне приходилось сталкиваться

Disclaimer: Это мой личный топ и субъективное мнение, материала получилось немного, но я надеюсь он будет интересным для тебя.

Читать далее
Всего голосов 5: ↑4 и ↓1+4
Комментарии5

Самый запутанный краш в моей жизни

Время на прочтение4 мин
Количество просмотров12K

Я работаю над приложением Альфа Мобайл для физических лиц. Однажды с утра пораньше мне прилетел тикет, в котором была описана проблема с лагающим UI. Этот баг воспроизводился только на 21 api. Собственно как делали наши предки я решил для начала попытаться воспроизвести этот баг. Запускаю я билд и вижу вот такое:

Читать далее
Всего голосов 35: ↑33 и ↓2+36
Комментарии10

Jetpack Compose оптимизация производительности списка

Время на прочтение2 мин
Количество просмотров5K
image

Я в своем время наткнулся на довольно интересное поведение composable функций в списках, тогда мне помогла статья с медиума и чтение книги по compose internals, ссылки на них я приложу в конце статьи. Решил поделиться, возможно кому-то это поможет)

Отображение списков распространенный кейс для большинства приложений и зачастую эти списки динамические, в них меняется контент, позиции элементов и т.д. Есть довольно быстрый способ оптимизировать ваш список в compose.
Но для начала рассмотрим, что такое «место вызова» (call site), composable функции.
Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии1

11 Советов самому себе в джуновское прошлое

Время на прочтение7 мин
Количество просмотров23K

11 Советов самому себе в джуновское прошлое

Читать далее
Всего голосов 26: ↑19 и ↓7+18
Комментарии21

Как дать максимально хреновую оценку задаче

Время на прочтение4 мин
Количество просмотров7.8K
image

Известно, что практически каждому разработчику доводится давать оценку задач на проектах. Для кого-то это время горя, а для кого-то время радости (таких людей не существует). Рассчитывать количество трудозатрат на задачу не самый тривиальный челлендж, поэтому я решил дать несколько советов, как следует себя вести, когда к вам пришли с просьбой оценить задачу.
Читать дальше →
Всего голосов 8: ↑7 и ↓1+9
Комментарии15

Как устроен билд APK файла внутри

Время на прочтение6 мин
Количество просмотров26K

Процесс создания APK и компиляции кода


Рассматриваемые темы


  • Архитектура процессоров и необходимость для виртуальной машины
  • Понимание Java виртуальной машины
  • Компиляция исходного кода
  • Виртуальная машина Андроид
  • Процесс компиляции в .dex файл
  • ART против Dalvik
  • Описание каждой части билд процесса
  • Исходный код
  • Файлы ресурсов
  • AIDL файлы
  • Модули библиотек
  • AAR библиотеки
  • JAR библиотеки
  • Android Asset Packaging Tool
  • resources.arsc
  • D8 и R8
  • Dex и Multidex
  • Подписывание APK файла
  • Ссылки

Читать дальше →
Всего голосов 12: ↑9 и ↓3+6
Комментарии14

Так для чего же нам все таки нужен MVI в мобильной разработке

Время на прочтение6 мин
Количество просмотров6.8K
Много уже сказано про MVI, о том как его правильно прожарить и настроить. Однако не так много времени уделяется тому, насколько этот метод упрощает жизнь в определенных ситуациях, в сравнении с остальными подходами.

Цель этой статьи


Я не буду углубляться в то как технически реализуется MVI (способов больше одного и у каждого есть свои плюсы и минусы). Моя главная цель в короткой статье заинтересовать тебя изучать эту тему в дальнейшем и возможно побудить внедрить данный паттерн на своих боевых проектах или хотя бы проверить на домашних заготовках.

С какой проблемой можно столкнуться


Мой дорогой друг, давай представим такую ситуацию, у нас имеется интерфейс вью, с которым
предстоит работать:

interface ComplexView { 
   fun showLoading()   
   fun hideLoading()   
   fun showBanner()    
   fun hideBanner()    
   fun dataLoaded(names: List<String>)    
   fun showTakeCreditDialog()
   fun hideTakeCreditDialog()
}
Читать дальше →
Всего голосов 7: ↑7 и ↓0+7
Комментарии28

Информация

В рейтинге
5 115-й
Откуда
Россия
Дата рождения
Зарегистрирован
Активность