Search
Write a publication
Pull to refresh
13
2
Виталий Перятин @infinity_coder

Android разработчик

Send message

Что не пишут в документации Kotlin Contracts: тёмные закоулки и пасхалки

Level of difficultyHard
Reading time9 min
Views2.2K

Контракты в Kotlin — это «тёмная лошадка» языка — они загадочные и чуть-чуть магические. И под капотом у них спрятано гораздо больше, чем можно найти в официальной документации.

Привет! Меня зовут Виталий. Я работаю Android‑разработчиком в Альфа‑Банке. В этой статье я делюсь пасхалками и неожиданными фичами Kotlin компилятора, связанными с Kotlin Contracts: как парсится список эффектов, как работает новый Contracts API изнутри, и почему, чёрт возьми, на уровне компилятора можно использовать контракты не только на уровне функций.

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

Читать далее

Не хотите поговорить о Kotlin Contracts?

Level of difficultyMedium
Reading time12 min
Views4.6K

Привет! Меня зовут Виталий. Я — Android‑разработчик в Альфа‑Банке. За время собеседований я заметил одну любопытную вещь: даже опытные котлиноводы частенько не в курсе такой мощной фичи, как Kotlin Contracts.

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

Всё максимально честно, с живыми иллюстрациями и практическими советами. Даже если раньше вы смотрели на Contracts как на тайный клуб для избранных — после этой статьи они перестанут быть чем‑то пугающим.

Читать далее

Механизм экспорта растровых изображений в Figma: как изменяется качество изображения

Level of difficultyEasy
Reading time3 min
Views4.9K

Механизм экспорта растровых изображений с масштабированием в Figma полезен для разработчиков Android и iOS. Это связано с разной плотностью пикселей на экранах мобильных устройств. Для максимального использования возможностей устройств рекомендуется экспортировать изображения под конкретную плотность пикселей.

Android-разработчики при экспорте из Figma используют масштабирование x1, x1.5, x2, x3 и x4. iOS-разработчики предпочитают x1, x2 и x3.

Читать далее

Избегайте внедрения внешних библиотек в свой проект

Reading time5 min
Views9.8K
Часто можно услышать фразу: «Зачем писать свой велосипед? Возьми готовую либу и пользуйся! За тебя уже все написали». Особенно часто подобные выражения слышат начинающие разработчики. При решении любой задачи они начинают смотреть готовые либы и бездумно тянуть их в свой проект. В этой статье Вы узнаете к каким последствиям может привести бездумное внедрение сторонних библиотек.
Читать дальше →

Information

Rating
403-rd
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity

Specialization

Mobile Application Developer
Lead
From 800,000 ₽
Android development
Kotlin
Jetpack Compose
Kotlin Multiplatform
Development management