🚰 Топ-7 утечек памяти Android
Утечки памяти — тихие убийцы производительности приложений. Даже в 2025 году, когда Jetpack Compose доминирует в разработке пользовательских интерфейсов и появляются новые модные инструменты, эти ошибки все еще преследуют разработчиков.
Автор статьи разберет 7 наиболее распространенных виновников и вооружит вас проверенными в бою решениями.
👉 Читать статью
Библиотека мобильного разработчика #свежак
Утечки памяти — тихие убийцы производительности приложений. Даже в 2025 году, когда Jetpack Compose доминирует в разработке пользовательских интерфейсов и появляются новые модные инструменты, эти ошибки все еще преследуют разработчиков.
Автор статьи разберет 7 наиболее распространенных виновников и вооружит вас проверенными в бою решениями.
👉 Читать статью
Библиотека мобильного разработчика #свежак
👍5🥱2❤1
🗓️ Апрель будет насыщен конференциями и профильными тусовками разного масштаба.
🔹 Gamedev CityFest
• Когда: 5 апреля
• Где: Новосибирск
• Формат: офлайн
• Участие: платное
Конференция будет интересна разработчикам игр: как профессионалам направления, так и новичкам, издателям, гейм-дизайнерам, художникам, продюсерам, рекрутерам и другим специалистам индустрии. Участников ждёт три потока докладов, воркшоп и дискуссионная панель на актуальные темы.
🔹 HolyJS 2025 Spring
• Когда: 7-8 апреля
• Где: Москва
• Формат: онлайн и офлайн
• Участие: платное
Спикеры на конференции разберут JS-разработку с разных ракурсов: веб-технологии, Node.js, графика и анимации, web3, блокчейн. Будут разобраны реальные кейсы и подняты вопросы безопасности. Участники обменяются опытом, обсудят обновление языка JavaScript, поговорят о фреймворках и инструментах, а также поучаствуют в дискуссиях со спикерами.
👉 Читать полностью
Библиотека мобильного разработчика #свежак
🔹 Gamedev CityFest
• Когда: 5 апреля
• Где: Новосибирск
• Формат: офлайн
• Участие: платное
Конференция будет интересна разработчикам игр: как профессионалам направления, так и новичкам, издателям, гейм-дизайнерам, художникам, продюсерам, рекрутерам и другим специалистам индустрии. Участников ждёт три потока докладов, воркшоп и дискуссионная панель на актуальные темы.
🔹 HolyJS 2025 Spring
• Когда: 7-8 апреля
• Где: Москва
• Формат: онлайн и офлайн
• Участие: платное
Спикеры на конференции разберут JS-разработку с разных ракурсов: веб-технологии, Node.js, графика и анимации, web3, блокчейн. Будут разобраны реальные кейсы и подняты вопросы безопасности. Участники обменяются опытом, обсудят обновление языка JavaScript, поговорят о фреймворках и инструментах, а также поучаствуют в дискуссиях со спикерами.
👉 Читать полностью
Библиотека мобильного разработчика #свежак
❤2
🎭 Dev Memes: 1 апреля, а баги всё те же
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для мобильного разработчика, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
Библиотека мобильного разработчика
Сегодня день официально разрешённого троллинга — и мы не могли пройти мимо. Собрали подборку мемов для мобильного разработчика, которые вызывают лёгкое желание уволиться.
👉 Всё это — из нашего мемного канала «Библиотека IT-мемов»
Библиотека мобильного разработчика
😁7
🎰 Инструмент недели: SDK для скретч-карт
Scratchify — это легкий и настраиваемый SDK для скретч-карт, созданный с использованием Jetpack Compose Multiplatform (поддерживает Android и iOS). Он позволяет создавать интерактивные скретч-поверхности, на которых пользователи могут соскрести верхний слой, чтобы открыть скрытый под ней контент. Идеально подходит для поощрений, скидок, сюрпризов и элементов геймификации в вашем приложении.
⚙️ Scratchify на GitHub
Библиотека мобильного разработчика #буст
Scratchify — это легкий и настраиваемый SDK для скретч-карт, созданный с использованием Jetpack Compose Multiplatform (поддерживает Android и iOS). Он позволяет создавать интерактивные скретч-поверхности, на которых пользователи могут соскрести верхний слой, чтобы открыть скрытый под ней контент. Идеально подходит для поощрений, скидок, сюрпризов и элементов геймификации в вашем приложении.
⚙️ Scratchify на GitHub
Библиотека мобильного разработчика #буст
❤3
Forwarded from Proglib.academy | IT-курсы
🧐 Разбираемся: FAANG — не мечта, а капкан
Раньше работа в Google или Meta казалась вершиной айтишной карьеры. Сейчас — всё чаще звучат слова «стресс», «сокращения», «выгорание».
➡️ В статье разбираем
— Почему бывшие сотрудники бегут из FAANG
— Как изменилась культура внутри Big Tech
— Где теперь искать стабильность и уважение
— Реальные комментарии от действующих инженеров
— И что на самом деле стоит за блестящей обёрткой FAANG
Если вы всё ещё решаете LeetCode ради «заветной должности» — обязательно прочитайте нашу статью.
📎 Ссылка
🔵 Включайся в обучение и устраивайся куда хочешь, тебя ждет продвинутый этап нашего курса «Алгоритмы и структуры данных»
Раньше работа в Google или Meta казалась вершиной айтишной карьеры. Сейчас — всё чаще звучат слова «стресс», «сокращения», «выгорание».
— Почему бывшие сотрудники бегут из FAANG
— Как изменилась культура внутри Big Tech
— Где теперь искать стабильность и уважение
— Реальные комментарии от действующих инженеров
— И что на самом деле стоит за блестящей обёрткой FAANG
Если вы всё ещё решаете LeetCode ради «заветной должности» — обязательно прочитайте нашу статью.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1🤔1
📝 Промпт для идеального код ревью
Чтобы облегчить код ревью, используйте этот промпт для ChatGPT:
⚡ Как вы обычно проводите код ревью? Делитесь в комментариях!
Библиотека мобильного разработчика #буст
Чтобы облегчить код ревью, используйте этот промпт для ChatGPT:
1. Проанализируй приведенный [язык] код на предмет признаков проблемного кода и предложи улучшения: [фрагмент кода].
2. Проверь [язык] код на предмет правильности логирования и мониторинга: [фрагмент кода].
3. Проанализируй [язык] код на предмет потенциальных проблем масштабируемости: [фрагмент кода].
4. Оцени тестовое покрытие этого [язык] кода: [фрагмент кода].
5. Оцени [язык] код на совместимость с [платформой или технологией]: [фрагмент кода].
⚡ Как вы обычно проводите код ревью? Делитесь в комментариях!
Библиотека мобильного разработчика #буст
🤩2
💻 How to: реализовать кастомный делегат
Чтобы написать кастомный делегат, нужно определить класс, который реализует интерфейс
Классы, реализующие
•
•
Например, рассмотрим создание кастомного делегата для логирования изменения значения свойства:
Здесь мы определяем класс
Затем мы можем использовать наш кастомный делегат следующим образом:
Здесь мы создаем экземпляр класса
👉 Подробнее в статье
Библиотека мобильного разработчика #буст
Чтобы написать кастомный делегат, нужно определить класс, который реализует интерфейс
ReadOnlyProperty
для делегата val
или ReadWriteProperty
для делегата var.Классы, реализующие
ReadOnlyProperty
и ReadWriteProperty
, содержат два метода:•
getValue(thisRef: T, property: KProperty<*>): R,
который должен возвращать значение свойства.•
setValue(thisRef: T, property: KProperty<*>, value: R)
, который должен устанавливать значение свойства.Например, рассмотрим создание кастомного делегата для логирования изменения значения свойства:
class LoggingDelegate(private var value: T) : ReadWriteProperty {override fun getValue(thisRef: Any?, property: KProperty): T {println(«Getting value of ${property.name}: $value»)return value}override fun setValue(thisRef: Any?, property: KProperty, value: T) {println(«Setting value of ${property.name} to $value»)this.value = value}}
Здесь мы определяем класс
LoggingDelegate
, который реализует интерфейс ReadWriteProperty
. Метод getValue
выводит в консоль текущее значение свойства и возвращает его, а метод setValue
выводит новое значение свойства в консоль и сохраняет его в переменной value
.Затем мы можем использовать наш кастомный делегат следующим образом:
class MyClass {var myProperty: Int by LoggingDelegate(0)}fun main() {val obj = MyClass()obj.myProperty = 42 // Setting value of myProperty to 42println(obj.myProperty) // Getting value of myProperty: 42}
Здесь мы создаем экземпляр класса
MyClass
, который содержит свойство myProperty
, использующее наш кастомный делегат LoggingDelegate
. При установке значения свойства или получении его значения будут вызываться соответствующие методы нашего делегата, и мы увидим соответствующие сообщения в консоли.👉 Подробнее в статье
Библиотека мобильного разработчика #буст
🤩2👍1
⚔️ Микросервисы vs. Монолит
В мире разработки программного обеспечения выбор архитектурного подхода — это один из самых важных и стратегических шагов.
На одной стороне баррикад стоят микросервисы, обещающие гибкость, масштабируемость и независимость команд. На другой — монолитные приложения, которые, несмотря на свою кажущуюся устарелость, продолжают привлекать разработчиков своей простотой и целостностью.
Какой подход лучше? Микросервисы действительно обеспечивают более быструю разработку и развёртывание, или же монолиты всё ещё имеют свои преимущества в стабильности и управляемости?
❤️ — Микросервисы
🤝 — Монолит
Библиотека мобильного разработчика #междусобойчик
В мире разработки программного обеспечения выбор архитектурного подхода — это один из самых важных и стратегических шагов.
На одной стороне баррикад стоят микросервисы, обещающие гибкость, масштабируемость и независимость команд. На другой — монолитные приложения, которые, несмотря на свою кажущуюся устарелость, продолжают привлекать разработчиков своей простотой и целостностью.
Какой подход лучше? Микросервисы действительно обеспечивают более быструю разработку и развёртывание, или же монолиты всё ещё имеют свои преимущества в стабильности и управляемости?
❤️ — Микросервисы
🤝 — Монолит
Библиотека мобильного разработчика #междусобойчик
🤝8❤6🥱4
⛓️ Распутываем легаси-код на Android проекте
Попадая на новый проект с долгой историей, вас неизбежно ждёт легаси-код. Возможно, проект прошёл через несколько команд, и теперь он в ваших руках. Бывает, что на проекте уже нет контекст-овнера, а на любой вопрос тимлид отвечает: «Так исторически сложилось».
Приложение может тормозить, состояние определяться десятками мутабельных переменных. Фризы, утечки памяти, файлы на сотни, а то и тысячи строк кода. Год-обжекты. Знакомо?
Автор даёт несколько советов, которые помогут разобраться в происходящем и распутать спагетти-код.
👉 Читать статью
Библиотека мобильного разработчика #свежак
Попадая на новый проект с долгой историей, вас неизбежно ждёт легаси-код. Возможно, проект прошёл через несколько команд, и теперь он в ваших руках. Бывает, что на проекте уже нет контекст-овнера, а на любой вопрос тимлид отвечает: «Так исторически сложилось».
Приложение может тормозить, состояние определяться десятками мутабельных переменных. Фризы, утечки памяти, файлы на сотни, а то и тысячи строк кода. Год-обжекты. Знакомо?
Автор даёт несколько советов, которые помогут разобраться в происходящем и распутать спагетти-код.
👉 Читать статью
Библиотека мобильного разработчика #свежак
❤2😢1
Forwarded from Proglib.academy | IT-курсы
Математика в действии — как уравнения, придуманные века назад, сегодня управляют интернетом, медициной, космосом и вашими финансами.
— Как египтяне строили пирамиды с помощью математики
— Почему Wi-Fi и JPEG невозможны без преобразования Фурье
— Что объединяет кота Шредингера и квантовые компьютеры
— Как формула Гаусса управляет фондовыми рынками
— И при чём тут Джеймс Гарфилд и i² = –1
🔗 Читайте статью
Proglib Academy
Please open Telegram to view this post
VIEW IN TELEGRAM
❤1
Forwarded from Библиотека нейросетей | ChatGPT, Midjourney, DeepSeek, Sora
Новый тренд среди разработчиков — «вайб-кодинг». Это когда ты не продумываешь архитектуру, не пишешь руками, а просто даёшь задание ИИ и ждёшь, что он всё сам сделает. Быстро, магически… и с кучей подводных камней.
⠀
Что в статье:
⠀
Это не нытьё про «машины нас заменят», а здравый взгляд на технологии без розовых очков.
⠀
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🥱2🤝1
📱 Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
🔹 Как правильно организовать проект c модульной архитектурой в iOS-разработке
🔹 Документируем код с помощью DocC
🔹 Разбираем чистую архитектуру в Android: от а до я
🔹 Все знают, какие приложения установлены на вашем телефоне
🔹 Dart / Flutter — применяя zero / empty объекты ко всему
Библиотека мобильного разработчика #свежак
🔹 Как правильно организовать проект c модульной архитектурой в iOS-разработке
🔹 Документируем код с помощью DocC
🔹 Разбираем чистую архитектуру в Android: от а до я
🔹 Все знают, какие приложения установлены на вашем телефоне
🔹 Dart / Flutter — применяя zero / empty объекты ко всему
Библиотека мобильного разработчика #свежак
❤3👍1