This media is not supported in your browser
VIEW IN TELEGRAM
7 октября стартует второй поток курса «AI-агенты для DS-специалистов».
За 5 недель вы научитесь собирать агентов, которые уже сейчас будут помогать бизнесу.
В кружке выше Максим Шаланкин, наш преподаватель, рассказывает подробнее — включай, чтобы не пропустить.
Please open Telegram to view this post
VIEW IN TELEGRAM
RecyclerView умеет превращать обычные операции с данными в плавные анимации. Когда вы добавляете элемент в список, остальные элементы плавно расступаются. При удалении — схлопываются. Эта магия происходит благодаря ItemAnimator.
В этой статье автор погрузится в архитектуру системы анимаций RecyclerView, проследит путь от вызова
notifyItemInserted()
до финальной анимации на экране.#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3🥱1
This media is not supported in your browser
VIEW IN TELEGRAM
❗ Так, владелец макбука. Хватит позировать в кофейне.
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
Настоящее портфолио — это не стикеры на крышке, а проект с чистым кодом, README и рабочей демкой.
Не знаешь, как такой собрать? Научим. Наш курс «ML для старта в Data Science» — это пошаговый гайд к проекту, за который не стыдно.
ОСТАЛАСЬ НЕДЕЛЯ, чтобы забрать его по старой цене в 44.000 ₽. С 1 сентября — всё.
🎁 И да, при покупке курса ML до 1 сентября — курс по Python получаешь бесплатно.
👉 Апгрейд от «вайба» до «оффера» тут
🥱1🌚1
Please open Telegram to view this post
VIEW IN TELEGRAM
😁2
adb shell am start
– запуск Activity с кастомными флагами и параметрамиМощная команда для запуска конкретных экранов вашего приложения прямо из терминала, с возможностью передавать данные и управлять поведением Activity.
adb shell am start -n com.package.name/.ActivityName
🎯 Полезные сценарии:
1. Запуск с deep link:
adb shell am start -a android.intent.action.VIEW -d "myapp://detail/123"
2. Запуск с передачей данных (extras):
adb shell am start -n com.package/.MainActivity --es "key" "value" --ei "number" 42
•
--es
– строка•
--ei
– integer•
--ez
– boolean3. Запуск с флагами очистки стека (clear task):
adb shell am start -n com.package/.ActivityName --activity-clear-task
4. Запуск в дебаг-режиме:
adb shell am start -D -n com.package/.ActivityName
• Узнать package name:
adb shell pm list packages | grep your_app
• Узнать доступные Activity:
adb shell cmd package resolve-activity -c android.intent.category.LAUNCHER your_package
Какие параметры вы чаще всего передаете при запуске? Делитесь в комментах
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Мы сделаем вам предложение, от которого невозможно отказаться 🤌
Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.
Предложение действует только до 1 сентября. Ничего личного, просто математика.
👉 Принять предложение
Вы покупаете себе курс «Математика для Data Science» от преподавателей ВМК МГУ, а мы дарим второй такой же курс вашему другу.
Предложение действует только до 1 сентября. Ничего личного, просто математика.
👉 Принять предложение
📢 Какой сетап идеально подойдёт для разработки AI-агента?
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
Голосуйте за свой вариант и пишите в комментариях, в каком режиме вы реально кодите.
❤️ — 1
👍 — 2
⚡️ — 3
👏 — 4
🔥 — 5
🎉 — 6
😁 — 7
😍 — 8
🤩 — 9
Какой бы сетап ни был, без AI-агентов в 2025 всё равно далеко не уедешь.
👉 Научим, как строить агентов, которые кодят с тобой
👍8🔥7😍5❤3🎉3
Убедись, что твое приложение летает, а не тормозит.
Какие важные пункты мы забыли?
Пишите в комментариях
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2🥱1
Сколько реально занимает стек в вашем iOS/macOS-приложении? Автор разберёт, как в рантайме:
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3
Собрали лучшее о мобильной разработке. Включаем и смотрим по пути на работу.
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
⏰ Осталось 48 часов!
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
Обратный отсчёт пошёл: только до воскресенья 23:59 можно купить курс «AI-агенты для DS-специалистов» и начать учиться уже с 15 сентября.
⚡️ Это ваши +3 недели форы, чтобы спокойно разобраться в самых сложных темах и прийти к первому занятию 7 октября уже подготовленным.
👉 Забрать место
🥱2
Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2😢1
🤓 «Сначала выучу Python идеально, а потом пойду в ML»
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Звучит логично, но на практике — ловушка.
Python огромный: фреймворки, библиотеки, нюансы синтаксиса. Учить «всё сразу» можно бесконечно.
В итоге — месяцы зубрёжки, а до ML руки так и не доходят.
На старте достаточно баз: типы данных, циклы, функции, работа с библиотеками. Всё остальное лучше подтягивать в процессе решения ML-задач.
⚠️ До 1 сентября курсы можно забрать по старым ценам. Это последние выходные, когда:
— ML идёт за 34 000 вместо 44 000 ₽ + Python в подарок,
— два в одном: оплатите курс по математике и получите второй доступ в подарок,
— и главное: можно купить все курсы до подорожания.
👉 ML для старта в Data Science
А для будущих Data Scientist’ов у нас ещё:
— Базовые модели ML и приложения
— Математика для Data Science
— AI-агенты для DS-специалистов (2-й поток скоро)
Please open Telegram to view this post
VIEW IN TELEGRAM
😁9
ПОСЛЕДНИЙ ДЕНЬ❗
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
КУРСЫ ПОДОРОЖАЮТ ЗАВТРА‼️
— ML за 34к вместо 44к + Python в подарок
— Математика → второй доступ в подарок
— Ранний доступ к AI-агентам с 15 сентября
— И МОЖНО УСПЕТЬ КУПИТЬ ВСЁ ДО ПОДОРОЖАНИЯ
👉 Proglib Academy
Приготовили для вас дайджест по актуальному из мира iOS, Android и кроссплатформы.
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
❤2
❗️Прогресс в технологическом стеке
С 2022 IT-рынок в России продолжает расти с высокой скоростью, однако в последнее время начал падать темп роста. Роль в этом сыграло и санкционное давление, и дефицит кадров, и необходимость быстрой перестройки после ухода западных продуктов.
Однако изменились и критерии оценки технологий — на первый план вышли
устойчивость, заменяемость компонентов, информационная безопасность.
Технологический стек и отношение к нему бизнеса напрямую влияет на жизнь простых разработчиков.
В статье автор рассматривает новые приоритеты бизнеса и предлагает уже доказавшие свою стабильность, проверенные решения
👉 Читать статью
🐸 Библиотека мобильного разработчика
#свежак
С 2022 IT-рынок в России продолжает расти с высокой скоростью, однако в последнее время начал падать темп роста. Роль в этом сыграло и санкционное давление, и дефицит кадров, и необходимость быстрой перестройки после ухода западных продуктов.
Однако изменились и критерии оценки технологий — на первый план вышли
устойчивость, заменяемость компонентов, информационная безопасность.
Технологический стек и отношение к нему бизнеса напрямую влияет на жизнь простых разработчиков.
В статье автор рассматривает новые приоритеты бизнеса и предлагает уже доказавшие свою стабильность, проверенные решения
👉 Читать статью
#свежак
Please open Telegram to view this post
VIEW IN TELEGRAM
🥰2
⚡️ Команда дня:
Когда коммиты множатся быстрее, чем баги на проде, приходит время навести порядок в истории. И тут спасает интерактивный ребейз.
Что он умеет?
— squash (s) — объединить несколько коммитов в один. Удобно при 10-ти коммитах «fix»
— reword (r) — поменять сообщение коммита, не трогая сам код
— edit (e) — остановиться на коммите, чтобы поправить код прямо в процессе переписывания истории
— drop (d) — удалить ненужный коммит
— pick (p) — оставить коммит как есть (по умолчанию)
Когда это пригодится?
🔸Перед созданием merge/pull request, чтобы не тащить в историю «мусорные» коммиты
🔸 Чтобы объединить мелкие правки в один логичный коммит
🔸 Чтобы откатить или отредактировать только часть изменений без лишнего шума
💡 А вы часто squash-ите коммиты или оставляете как есть?
🐸 Библиотека мобильного разработчика
#буст
git rebase -i
Когда коммиты множатся быстрее, чем баги на проде, приходит время навести порядок в истории. И тут спасает интерактивный ребейз.
Что он умеет?
— squash (s) — объединить несколько коммитов в один. Удобно при 10-ти коммитах «fix»
— reword (r) — поменять сообщение коммита, не трогая сам код
— edit (e) — остановиться на коммите, чтобы поправить код прямо в процессе переписывания истории
— drop (d) — удалить ненужный коммит
— pick (p) — оставить коммит как есть (по умолчанию)
Когда это пригодится?
🔸Перед созданием merge/pull request, чтобы не тащить в историю «мусорные» коммиты
🔸 Чтобы объединить мелкие правки в один логичный коммит
🔸 Чтобы откатить или отредактировать только часть изменений без лишнего шума
💡 А вы часто squash-ите коммиты или оставляете как есть?
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4❤2🤩1
📉💼 Грейдинг умер, ИИ захватил собесы: 5 трендов IT-найма 2025
Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.
🔗 Читать статью
🐸 Библиотека мобильного разработчика
Помнишь времена, когда можно было поменять работу и сразу получать на 50% больше? Забудь. В 2025-м правила игры кардинально изменились — теперь компании боятся ChatGPT на собесах, а искать работу через LinkedIn стало бесполезно. Разбираем 5 трендов, которые перевернули IT-найм с ног на голову.
🔗 Читать статью
Please open Telegram to view this post
VIEW IN TELEGRAM
😁3❤1
Проблема
Пользователи удаляют приложения из-за:
• Долгой загрузки экранов
•Подвисаний интерфейса
•Высокого потребления батареи
Мониторинг производительности помогает выявлять и исправлять проблемы до того, как они повлияют на рейтинг приложения.
• Время запуска приложения (Cold/Warm/Hot start)
• Частота кадров (FPS) на основных экранах
• Потребление памяти (RAM)
• Использование CPU и батареи
• Скорость загрузки данных (сеть)
1. Firebase Performance Monitoring (Android/iOS)
// Android: добавьте в build.gradle
implementation 'com.google.firebase:firebase-perf:20.5.1'
// iOS: добавьте в Podfile
pod 'FirebasePerformance'
2. Создание кастомных трейсов:
// Android
val trace = Firebase.performance.newTrace("screen_load")
trace.start()
// Выполнение работы...
trace.stop()
// iOS
let trace = Performance.startTrace(name: "screen_load")
// Работа...
trace.stop()
3. Отслеживание скорости загрузки экрана:
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
val trace = Firebase.performance.newTrace("main_activity_create")
trace.start()
setContentView(R.layout.activity_main)
// Инициализация UI
trace.stop()
}
}
Android (Choreographer)
class FpsMonitor : Choreographer.FrameCallback {
private var frameCount = 0
private var startTime = 0L
override fun doFrame(frameTimeNanos: Long) {
if (startTime == 0L) {
startTime = frameTimeNanos
}
frameCount++
val elapsed = (frameTimeNanos - startTime) / 1_000_000
if (elapsed >= 1000) {
val fps = (frameCount * 1000 / elapsed).toFloat()
// Отправка метрики
frameCount = 0
startTime = frameTimeNanos
}
Choreographer.getInstance().postFrameCallback(this)
}
}
iOS (CADisplayLink)
class FpsMonitor {
private var displayLink: CADisplayLink?
private var lastTimestamp: CFTimeInterval = 0
private var frameCount: Int = 0
func startMonitoring() {
displayLink = CADisplayLink(target: self, selector: #selector(step))
displayLink?.add(to: .main, forMode: .common)
}
@objc func step(displayLink: CADisplayLink) {
if lastTimestamp == 0 {
lastTimestamp = displayLink.timestamp
return
}
frameCount += 1
let delta = displayLink.timestamp - lastTimestamp
if delta >= 1 {
let fps = Double(frameCount) / delta
// Отправка метрики
frameCount = 0
lastTimestamp = displayLink.timestamp
}
}
}
• Firebase Console – готовые графики и отчеты
• Custom dashboards – Grafana, Data Studio
• Оповещения – при падении FPS ниже 50 или росте потребления памяти
• Мониторьте в продакшене – реальные данные пользователей
• Сегментируйте данные – по устройствам, версиям ОС, сетям
• Установите целевые показатели – например, 60 FPS, холодный запуск < 2 сек
#буст
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3