Как стать автором
Обновить
12
0
Максим Марашан @mmarashan

Инженер

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

Про поставки и релизы в мобильной разработке

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

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

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

Jetpack Compose Navigation в многомодульном проекте

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

Всем привет! Я на Мосбирже занимаюсь мобильной разработкой под Android. Осенью этого года мы начали разрабатывать приложение для платформы личных финансов Финуслуги и воспользовались возможностью делать UI сразу на Jetpack Compose. Как и всегда, сразу встал вопрос выбора архитектуры многомодульности и механизма навигации. Решение должно быть, с одной стороны, достаточно лаконичным и понятным для новых разработчиков. С другой стороны, оно должно быть масштабируемым, чтобы рост числа и размера модулей не создавал неприятностей, таких как раздражающее времени сборки или частые merge-конфликты.

Читать дальше →
Всего голосов 8: ↑7 и ↓1+6
Комментарии17

Корутинная эволюция в Kotlin. Чем отличаются Channels, Broadcast channels, Shared flows, State flows

Время на прочтение5 мин
Количество просмотров39K
Эта публикация — перевод поста Романа Елизарова «Shared flows, broadcast channels». Опубликовано с одобрения автора оригинала. Примечания переводчика выделены курсивом.

Давным-давно в Kotlin были представлены корутины, одной из особенностей которых является легковесность (создание корутин дешевле, чем с запуск новых Threads). Мы можем запускать несколько корутин, и нам нужен способ взаимодействия между ними избегая “mutable shared state”
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии40

Как инженер делал модный стартап про CV и AdTech

Время на прочтение5 мин
Количество просмотров2.7K
Я — инженер. Во-первых, по образу мышления, во-вторых, после выпуска из МГТУ им. Н.Э.Баумана, эта фраза стала мантрой. Я живу с постоянной потребностью изобретать и творить. Плюс в том, что работа в удовольствие и это плодотворно. Минус — из-за этого когнитивного смещения инженер в вакууме рискует вложить много ресурсов в продукт, который оказывается нужен только в его фантазиях.

Здесь я поделюсь своим путем, выводами, а главное, ошибками, которые я приобрел запуская стартап. Часть из них могут повторять много раз описанные рекомендации и быть банальными для опытной аудитории. Но я думаю их полезно держать в голове при старте своего проекта, особенно человеку с восприятием мира, смещенным в сторону технологий.
Всего голосов 12: ↑11 и ↓1+10
Комментарии2

#ЯМыРабота. Решение, которое может оказаться правильным

Время на прочтение2 мин
Количество просмотров7K
Этот пост не является техническим, если Вы хотите посвятить время исключительно техническим статьям, не читайте его.

Также здесь не будет поднадоевшего уху слова на букву «к».

Я хочу призвать к одному простому, не требующему перемен планов, решению тех, у кого есть для этого возможность.
Читать дальше →
Всего голосов 85: ↑59 и ↓26+33
Комментарии75

Wi-Fi и много других аббревиатур. Как в Android приложении получить данные об узлах Wi-Fi и не опухнуть

Время на прочтение10 мин
Количество просмотров14K
Однажды мне понадобилось сканировать из Android приложения сети Wi-Fi и получать подробную выкладку данных о точках доступа.
Читать дальше →
Всего голосов 6: ↑6 и ↓0+6
Комментарии0

Proof-of-Proof-of-Work на пальцах. На пути к разумному блокчейну

Время на прочтение4 мин
Количество просмотров8.3K
Блокчейн-протоколы должны обеспечивать консенсус среди нод децентрализованной системы. Пожалуй, самым известным алгоритмом консенсуса можно считать «тормозунутый, но надежный, потому что тормознутый» алгоритм Proof-of-Work: каждая нода, имея набор новых транзакций перебирает некоторое число nonce, являющееся полем блока. Блок считается валидным, если валидны все транзакции внутри него и хэш-функция от заголовка блока имеет некоторую общепринятую особенность (например, количество нулей в начале, как в Bitcoin):

Hash(  Block{transaction,nonce,…} ) = 000001001...

Как известно, блокчейн — это цепочка блоков. Цепочкой он является потому, что внутри каждого блока записан id (как правило хэш от заголовка) предыдущего блока. Для последующих рассуждений блокчейн в упрощенном виде можно представить так:

image
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии7

Правила эффективного создания прототипа продукта

Время на прочтение2 мин
Количество просмотров5.5K
Эта статья в первую очередь пригодится тем, кто пишет ТЗ для программистов, и программистам, которые решили разрабатывать прототип самостоятельно.

Многие относятся к созданию визуального прототипа, написанию ТЗ, как к некоему творческому, порой спонтанному процессу. И во многом они правы. В этой статье приводятся полезные для практики правила (о большинстве из которых мы знаем, но часто забываем воспользоваться), принятие которых поможет повысить качество результата и снизить временные затраты.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии4

Информация

В рейтинге
Не участвует
Зарегистрирован
Активность

Специализация

Mobile Application Developer