Telegram Web
🚀 A/B-тестирование в Android-разработке: гайд для middle+ разрабов

A/B-тестирование — это не только инструмент для продуктовых команд. Это суперспособность и для Android-разработчиков.

В этой статье автор рассказывает, как опытные инженеры могут проектировать, реализовывать и грамотно завершать эксперименты, которые действительно влияют на продукт, не захламляя кодовую базу. От Firebase Remote Config до паттернов чистой архитектуры — всё, чтобы делать более умные и осознанные Android-приложения.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
3
🎉🐙🐱 20 лет Git: все такой же необычный, все такой же великолепный

Легендарному Git стукнуло 20! Вспоминаем, как проект, который Линус Торвальдс называл «тупым менеджером контента», стал незаменимым инструментом для всех, кто хоть раз писал код или даже просто хранил файлы.

👉 Читать статью

🐸 Библиотека мобильного разработчика
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8
🌐 How to: работать с Room Database в Android

Как это работает

Room — это ORM-библиотека для Android, которая упрощает работу с SQLite. Она автоматически генерирует boilerplate-код для операций с БД, проверяет SQL-запросы на этапе компиляции и предоставляет удобные абстракции:

- @Entity — определяет таблицу в БД.

- @Dao (Data Access Object) — содержит методы для запросов (вставка, обновление, выборка).

- @Database — главный класс, который связывает сущности и DAO.

Если названия полей в классе и таблице не совпадают, используйте @ColumnInfo:
@Entity(tableName = "users")
data class User( @PrimaryKey val id: Int,
@ColumnInfo(name = "user_name") val name: String
)

Как начать

1.Добавьте зависимости в build.gradle (Module):
implementation "androidx.room:room-runtime:2.6.0"
kapt "androidx.room:room-compiler:2.6.0" // для Kotlin


2.Создайте Entity, Dao и Database:
@Dao
interface UserDao { @Query("SELECT * FROM users")
fun getAll(): List<User>

@Insert
fun insert(user: User)
}

@Database(entities = [User::class], version = 1)
abstract class AppDatabase : RoomDatabase() {
abstract fun userDao(): UserDao
}

3.Инициализируйте БД в приложении:
val db = Room.databaseBuilder(
context, AppDatabase::class.java, "my-database"
).build()



Лучшие практики

➡️ Миграции БД: Если меняете структуру таблиц, увеличивайте version и добавляйте миграцию:
val migration = object : Migration(1, 2) {
override fun migrate(database: SupportSQLiteDatabase) { database.execSQL("ALTER TABLE users ADD COLUMN age INTEGER")
}
}

➡️ Асинхронные запросы: Room поддерживает Kotlin Coroutines и RxJava. Пример с Flow:
@Query("SELECT * FROM users")
fun getAllFlow(): Flow<List<User>>


Где применять

🔵 Кеширование данных из API.

🔵 Оффлайн-режим в приложениях.

🔵 Сложные запросы с JOIN и вложенными объектами.

Используете Room? Делитесь лайфхаками в комментах!

Библиотека мобильного разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5🥰2🥱2🔥1
📝 Промт для оптимизация производительности

Промпт:

Проанализируй этот код на предмет проблем с производительностью. Предложи способы повышения эффективности, обращая внимание на временную сложность, сложность пространства и использование ресурсов. Дай краткое объяснение каждому предложению: [вставьте код здесь]


Почему это важно:

Оптимизация производительности может позволить ускорить работу приложений и улучшить впечатления пользователей.

⚡️ Как вы обычно оптимизируете производительность? Делитесь в комментариях!

Библиотека мобильного разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
5
⚡️ Metro — новый фреймворк внедрения зависимостей для Android

Metro — это фреймворк для внедрения зависимостей во время компиляции, во многом вдохновленный Dagger, Anvil и Kotlin-Inject. Он стремится объединить их лучшие функции в одно целостное решение, добавив несколько новых и реализуя их в виде плагина компилятора.

Сообщество Kotlin давно хотело создать библиотеку, объединяющую различные инструменты и функции. Хотя для этих задач есть отдельные решения, пока нет единого, которое связало бы их вместе, устранило ограничения и добавило новые возможности. Metro — это попытка дать такой ответ.

👉 Подробнее в статье

🐸 Библиотека мобильного разработчика #свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👍4
🔥 5 горячих клавиш VS Code, которые ускорят вашу работу

1️⃣ Создать структуру документа

! и Tab

Это сочетание клавиш за секунду создаёт базовую структуру кода или вложенные теги.

<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>

</html>


2️⃣ Быстро добавить комментарий

Windows — Ctrl + /
macOS — Command + /

Чтобы добавить комментарий, нужно перейти в начало строки и дописать туда два слеша. Это медленно. Быстрее нажать в любом месте строки Ctrl + /, и строка закомментируется, если она ещё не. А если уже да, то комментарий исчезнет.

3️⃣ Перейти к строке под номером

Windows — Ctrl + G
macOS — Control + G

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

4️⃣ Поменять строку местами с соседними

Windows — Alt + ↑ / ↓
macOS Option + ↑ / ↓

Случается такое, что ваш алгоритм — не алгоритм. Всё пошло не так, а вместо числа 42 вывелось сообщение «Данные удалены». Кому-то для этого нужно переписать весь код, но иногда бывает достаточно поменять строки местами и всё заработает.

5️⃣ Дублировать строку

Windows Shift + Alt + ↓ / ↑
macOS Shift + Option + ↓ / ↑

Это для тех, кто не хочет копировать и вcтавлять несколько раз одно и то же.

👉 Узнать больше

🐸 Библиотека мобильного разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
4
Forwarded from Библиотека программиста | программирование, кодинг, разработка
💼🚫 Собес провален? 8 советов, как извлечь пользу из каждого отказа

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

Однако отказ — это всего лишь один из этапов в поиске работы и не стоит воспринимать его как конец света.

Читать статью

🐸 Библиотека программиста
😁8
👶 Объясни как пятилетке: Что такое фрагменты (Fragments) в Android?

Задача: Расскажи, что такое Fragment и зачем он нужен, так, чтобы понял даже пятилетний ребенок.

Пример:
«Фрагмент — это как кусочек пазла в твоём приложении. Один кусочек может показывать список мультиков, другой — сам мультик, а вместе они собираются в одну большую картинку на экране телефона!»


А теперь ваша очередь! Напишите в комментариях своё объяснение — самое простое и понятное победит 👇

🐸 Библиотека мобильного разработчика

#междусобойчик
Please open Telegram to view this post
VIEW IN TELEGRAM
4🥱2👍1
Когда сроки горят, а разработчиков не хватает

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

Решение проблемы — задействовать дополнительные ресурсы на аутсорсе или аутстаффе. Например, обратиться в Proglib. Да-да, мы запустили свою студию веб-разработки!

Что мы предлагаем:

• Опытные специалисты для аутстаффа (frontend, backend, DevOps, UI/UX, PM, BA) 

• Полноценная разработка проектов под ключ 

• Гибкое масштабирование команды под потребности клиента 

• Прозрачная коммуникация и регулярная отчетность

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

Заполните форму, чтобы ускорить свою разработку 👉 https://forms.yandex.ru/u/67e548a4eb614622efa0bcb2/
👍1
👨‍💻 Топ-вакансий для мобильных разработчиков за неделю

IOS-разработчик — от 250 000 до 450 000 ₽, гибрид (Москва)

Android-разработчик (Погода)от 250 000 до 450 000 ₽, гибрид (Москва, Санкт-Петербург, Минск)

Разработчик ядра iOS / системный программист / iOS Kernel Developerот 500 000 ₽, удалёнка

Flutter Developer от 150 000 до 300 000 ₽, удалёнка

Мобильный разработчик (React Native) от 200 000 ₽, гибрид

➡️ Еще больше топовых вакансий — в нашем канале Mobile jobs

🐸 Библиотека мобильного разработчика

#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
2
⬇️ How to: Заставить RecyclerView плавно скроллиться (даже с тяжелыми элементами)

Проблема
:

При быстром скролле списка с картинками или сложной разметкой начинаются тормоза. Как это исправить?

Решение:

1️⃣ Используйте RecyclerView.setHasFixedSize(true)

recyclerView.setHasFixedSize(true) // Если все элементы одинакового размера


Это избавит RecyclerView от лишних расчетов при скролле.

2️⃣ Оптимизируйте onBindViewHolder

// Загружайте изображения асинхронно (Glide/Picasso)
Glide.with(context)
.load(items[position].imageUrl)
.into(holder.imageView)

// Избегайте тяжелых операций здесь!
}


3️⃣ Добавьте DiffUtil для умных обновлений

val diffResult = DiffUtil.calculateDiff(callback)
diffResult.dispatchUpdatesTo(adapter)


Это предотвратит мерцание и перерисовку всех элементов.

Бонус:

🔵 Для сложной анимации используйте RecyclerView.ItemAnimator = null (если не нужна стандартная анимация).

🔵 Включите логирование пропущенных кадров: recyclerView.setItemViewCacheSize(20).

Результат:

➡️ Список будет скроллиться как масло, даже на слабых устройствах.

🐸 Библиотека мобильного разработчика #буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🤔1
🌍💻 Сравнение найма IT-специалистов в Западной и Восточной Европе

Рынок IT-специалистов в Европе является одним из самых динамичных и конкурентных в мире. Западная и Восточная Европа представляют собой два уникальных «региона» с разными экономическими, культурными и образовательными особенностями, которые влияют на процессы найма IT-специалистов.

Цель данной статьи — провести сравнительный анализ подходов к найму IT-специалистов в этих европейских зонах, выделить ключевые различия и сходства.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#cвежак
Please open Telegram to view this post
VIEW IN TELEGRAM
😁5
🗓 Инструмент недели: ToastKit

ToastKit — это легкий и полностью настраиваемый Swift-пакет, который поможет вам отображать информационные сообщения (тосты) в вашем приложении.

Он прост в использовании, поддерживает различные встроенные стили, такие как success, warning, info, error, отображение SF Symbols и иконок и т.п., а также позволяет полностью настраивать их под ваши нужды.

💻 ToastKit на GitHub

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
2👍2
🤖 Как работает Robolectric и почему это важно знать

Представьте, что можно тестировать android-код без эмулятора, запуская тесты за секунды вместо минут. Именно это обещает Robolectric — библиотека, которую либо любят, либо ненавидят, но точно не игнорируют.

За кажущейся простотой «просто добавь зависимость» скрывается удивительная магия модификации байткода, о которой не рассказывают в статьях. Предлагаю разобраться, как на самом деле работает магия Robolectric и почему эти знания пригодятся любому android-разработчику.

👉 Читать статью

🐸 Библиотека мобильного разработчика

#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1😁1
2025/07/14 14:31:26
Back to Top
HTML Embed Code: