Мобильная разработка
Ir al canal en Telegram
Актуальное по мобильной разработке — Android, iOS, кроссплатформа Разместить рекламу: @tproger_sales_bot Правила общения: https://tprg.ru/rules Другие каналы: @tproger_channels Сайт: https://tprg.ru/site Регистрация в перечне РКН: https://tprg.ru/oVBP
Mostrar más2025 año en números

13 926
Suscriptores
-524 horas
-277 días
-9830 días
Archivo de publicaciones
Игра
Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер
Инженер собрал слайдер-смартфон: взял сломанный Galaxy Z Flip5 и встроил в него клавиатуру BlackBerry Q10, получив рабочий гибрид с ностальгией по 2000-м
— Читать дальше «Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер»
👍 2🤔 1
Календарь домашних тренировок — 10 улучшений в пет-проекте
5 месяцев назад я публиковал материал про пет-проект календаря домаших тренировок. Сегодня хочу рассказать, что было сделано мной за прошедшее с тех пор время.
Самим приложением пользуюсь регулярно. На главной странице для незарегистрированных пользователей в качестве примера как раз показывается моя статистика. Помимо меня есть ещё 53 зарегистрированных пользователя с подтверждённым email.
https://github.com/dergunovs/fit - исходный код приложения
https://vkvideo.ru/playlist/15313879_11 - видео про разработку
Frontend: Typescript, Vite, Vue, Tanstack Query, Vitest, Vue I18n, Tauri
Backend: Typescript, Fastify, Mongoose, MongoDB, Swagger
Публикация приложения в RuStore
С помощью Tauri добавил генерацию формата APK. Зарегистрировался в RuStore в качестве разработчика, заполнил поля с описанием, сделал скриншоты. Модерация прошла очень быстро. Теперь приложение можно удобно скачивать и обновлять. Сам APK файл весит около 10 мегабайт. За 4 месяца с момента публикации в RuStore оттуда было 65 установок приложения.
Дизайн
Читать далее
Читать: https://habr.com/ru/articles/943834/
@a_cup_of_java | Другие наши каналы
👍 3🤔 1
Photo unavailableShow in Telegram
Как сделать GitLab CI/CD вашим лучшим другом для сборки и доставки Flutter приложений. Часть 2
Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений
Привет! Меня зовут Данил Абдрафиков, я мобильный разработчик в компании TAGES. Эта статья является продолжением первой части руководства по настройке GitLab CI/CD для Flutter приложений, в котором мы подробно разобрали настройку физической машины и подготовили GitLab Runner для работы. Теперь, когда инфраструктура готова, перейдем к самому интересному – автоматизации сборки и подписания мобильных приложений.
Готовы превратить сборку мобильных приложений из рутинной задачи в полностью автоматизированный процесс? Тогда начинаем!
Читать далее
Читать: https://habr.com/ru/articles/943154/
@a_cup_of_java | Другие наши каналы
👎 2👍 1🔥 1
Photo unavailableShow in Telegram
Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
В 2022 году я написал статью «Жизненный цикл UIViewController», где подробно разобрал порядок вызова методов и основные сценарии работы с ними.
С тех пор прошло больше трёх лет, и в iOS появилось несколько изменений, которые делают старую статью уже не до конца актуальной.
Читать далее
Читать: https://habr.com/ru/articles/943778/
@a_cup_of_java | Другие наши каналы
👍 4❤ 3
Apple
На GitHub появился коммит 1978 года за авторством Microsoft
Microsoft выложила на GitHub исходники BASIC 1.1 для MOS 6502, оформив коммит датой 1978 года. Это исторический код, стоявший у истоков компании
— Читать дальше «На GitHub появился коммит 1978 года за авторством Microsoft»
❤ 2
Photo unavailableShow in Telegram
Android. Glance Widget. Часть 2. Конфигурация данных для виджета
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Photo unavailableShow in Telegram
Android. Glance Widget. Часть 2. Конфигурация данных для виджета
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Photo unavailableShow in Telegram
Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков
Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости PT-2025-34177 (CVE-2025-43300) – zero-day, которая, говоря простыми словами, позволяет злоумышленнику совершить атаку через вредоносную картинку, открытую пользователем на своем устройстве. И на этом примере показать, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее
Читать: https://habr.com/ru/companies/pt/articles/943630/
@a_cup_of_java | Другие наши каналы
👍 2😱 2🤝 1
Мессенджер
Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?
Топ-10 лучших нейросетей для генерации картинок по описанию. Создавай изображения онлайн бесплатно и без фотошопа за пару минут.
— Читать дальше «Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?»
❤ 2
SEE NO EVIL: чему нас учит уязвимость CVE-2025-43300
Всем привет! Это Светлана Газизова, директор по построению процессов DevSecOps и безопасности ИИ, Positive Technologies, и Николай Анисеня, руководитель разработки первого российского сервиса по защите мобильных приложений от реверс-инжиниринга PT MAZE, Positive Technologies. Почему мы вообще решили написать целую статью про одну недавно обнаруженную уязвимость?
Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости CVE-2025-43300 и показать на ее примере, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее
Читать: https://habr.com/ru/companies/pt/articles/943312/
@a_cup_of_java | Другие наши каналы
👍 1👀 1
Photo unavailableShow in Telegram
«Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны
Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.
Наш дизайнер интерфейсов Фёдор Миронов поделится наблюдениями о новых гайдлайнах и расскажет, какие изменения принесёт Liquid Glass. А ещё покажет несколько примеров обновления интерфейсов тестового приложения и нашего финтех-проекта Moneon.
Читать далее
Читать: https://habr.com/ru/companies/cleverpumpkin/articles/943434/
@a_cup_of_java | Другие наши каналы
🔥 3❤ 2👍 2
Photo unavailableShow in Telegram
Да сколько можно уже сидеть на этих бесконечных созвонах?!
Это время можно потратить с гораздо большей пользой — доделать фичу, попробовать хоть раз уложиться в дедлайн или просто отдохнуть. Но вдруг там скажут что-то важное, а вы не услышите? На этот случай есть простое решение.
Войси — это мастер по транскрибации и анализу текста. Он может сам прослушать всё, о чём говорили на встрече, в видео или в голосовом сообщении и подготовить вам расшифровку текста с таймкодами, саммари, списком задач или даже текстом для статьи на основе диалога. Владеет 54 языками, так что может даже перевести для вас на русский статью того самого индийского программиста, если вы захотите.
Чтобы вы сами могли оценить качество его работы сейчас доступны полтора часа бесплатной транскрибации всем новым пользователям. Попробовать можно прямо в Telegram, забрав промокод по ссылке: https://tprg.ru/9xQo
❤ 3
Запуск бинарных файлов из data/data на Android 10+ (Обход SELinux)
Всем привет! Как многие знают, с Android 10 (Target sdk 29) google ввели новую политику безопасности. Новая политика SELinux звучит просто: "Нельзя исполнять файлы из той директории, в которую можно записывать". Всё это очень хорошо, но многие проекты сломались (В том числе и мой). Termux из google play УМЕЕТ запускать бинарные файлы на target sdk 29+. Я решил поделится как выполнить бинарный файл из data/data/com.ваш.пакет/files на новых версиях sdk БЕЗ полного клонирования Termux и БЕЗ С/C++ части. Сам метод запуска будет именно на java. Репозиторий termux, откуда был взят способ: https://github.com/termux-play-store/termux-apps
В чём суть, любой бинарный файла который вы запускаете имеет свой контекст. Если вы запускаете через нативную директорию (data/app/и так далее) перед этим положив бинарные файлы в jniLins - контекст у такого бинарного файла будет правильным и SELinux даст разрешение на запуск (Granted), но в случае с data/data другой случай, оттуда SELinux УЖЕ ОТКАЖЕТСЯ запускать бинарный файл (Denied). Разрешил SELinux запуск или отклонил можно смотреть в logcat. Однако, в системе существует системная утилита которая может запустить бинарник, а самое главное - SELinux РАЗРЕШИТ ей запустится, так как она системная. Её имя - linker или linker64 (Зависит от разрядности, 32 бита или 64)
Запустив линкер и передав ему наш бинарный файл из data/data - SELinux разрешит ему выполнится и сразу разрешит исполнение нашего бинарного файла. Тут сразу возникает вопрос, а если бинарный файл попробует подключить so библиотеку? Ей будет отказано? Здесь тоже есть решение, существует termux-exec. Это бинарный файл, который перехватывает попытку подключения чего либо и выполняет трюк с линкером. (linker или linker64 определяет автоматически). Вы можете собрать его из исходников (https://github.com/termux-play-store/termux-exec), но лично я полностью скопировал среду (Где этот уже собранный файл идёт в usr/lib) termux, так как мне нужно было запускать OpenJDK 17 под termux.
Читать далее
Читать: https://habr.com/ru/articles/943188/
@a_cup_of_java | Другие наши каналы
❤ 7
