Запуск бинарных файлов из 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 | Другие наши каналы
Всем привет! Как многие знают, с 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
«Стеклянный мир» iOS 26. Адаптируем приложение под новые гайдлайны
Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.
Наш дизайнер интерфейсов Фёдор Миронов поделится наблюдениями о новых гайдлайнах и расскажет, какие изменения принесёт Liquid Glass. А ещё покажет несколько примеров обновления интерфейсов тестового приложения и нашего финтех-проекта Moneon.
Читать далее
Читать: https://habr.com/ru/companies/cleverpumpkin/articles/943434/
@a_cup_of_java | Другие наши каналы
Уже скоро релиз iOS 26 и обновления SDK приложений. Apple снова вносит корректировки, а разработчики и дизайнеры снова подстраиваются. У текущих приложений будет переходный период, но вопрос с обновлением интерфейсов рано или поздно настанет и придется адаптировать под новый SDK и стиль Liquid Glass, чтобы продукт выглядел современно.
Наш дизайнер интерфейсов Фёдор Миронов поделится наблюдениями о новых гайдлайнах и расскажет, какие изменения принесёт Liquid Glass. А ещё покажет несколько примеров обновления интерфейсов тестового приложения и нашего финтех-проекта Moneon.
Читать далее
Читать: https://habr.com/ru/companies/cleverpumpkin/articles/943434/
@a_cup_of_java | Другие наши каналы
❤3👍3🔥3
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 | Другие наши каналы
Всем привет! Это Светлана Газизова, директор по построению процессов DevSecOps и безопасности ИИ, Positive Technologies, и Николай Анисеня, руководитель разработки первого российского сервиса по защите мобильных приложений от реверс-инжиниринга PT MAZE, Positive Technologies. Почему мы вообще решили написать целую статью про одну недавно обнаруженную уязвимость?
Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости CVE-2025-43300 и показать на ее примере, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее
Читать: https://habr.com/ru/companies/pt/articles/943312/
@a_cup_of_java | Другие наши каналы
👍1👀1
Мессенджер
Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?
Топ-10 лучших нейросетей для генерации картинок по описанию. Создавай изображения онлайн бесплатно и без фотошопа за пару минут.
— Читать дальше «Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?»
Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?
Топ-10 лучших нейросетей для генерации картинок по описанию. Создавай изображения онлайн бесплатно и без фотошопа за пару минут.
— Читать дальше «Топ 10 лучших нейросетей для создания картинок по описанию - как сгенерировать картинку по описанию бесплатно?»
❤2
Взлом через картинку в Apple: уроки громкой уязвимости для разработчиков
Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости PT-2025-34177 (CVE-2025-43300) – zero-day, которая, говоря простыми словами, позволяет злоумышленнику совершить атаку через вредоносную картинку, открытую пользователем на своем устройстве. И на этом примере показать, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее
Читать: https://habr.com/ru/companies/pt/articles/943630/
@a_cup_of_java | Другие наши каналы
Мир устроен так, что самые опасные угрозы обычно скрываются там, где их меньше всего ожидают. Мы в ИБ привыкли к фишинговым письмам и вирусам, но редко думаем, что обычная картинка в мессенджере может превратиться в инструмент шпионажа. Именно поэтому мы решили рассказать о громкой уязвимости PT-2025-34177 (CVE-2025-43300) – zero-day, которая, говоря простыми словами, позволяет злоумышленнику совершить атаку через вредоносную картинку, открытую пользователем на своем устройстве. И на этом примере показать, почему безопасность разработки — это не абстрактная теория, а жизненно важная практика для бизнеса, разработчиков, обычных пользователей и нас самих. Да-да, мошенники пишут даже сотрудникам службы ИБ, и картинки тоже отправляют.
Читать далее
Читать: https://habr.com/ru/companies/pt/articles/943630/
@a_cup_of_java | Другие наши каналы
👍2😱2🤝1
Android. Glance Widget. Часть 2. Конфигурация данных для виджета
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Android. Glance Widget. Часть 2. Конфигурация данных для виджета
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Рассмотрим, как добавить конфигурационную activity для виджета, как сохранять, доставать и применять настройки.
Читать далее
Читать: https://habr.com/ru/articles/943678/
@a_cup_of_java | Другие наши каналы
Apple
На GitHub появился коммит 1978 года за авторством Microsoft
Microsoft выложила на GitHub исходники BASIC 1.1 для MOS 6502, оформив коммит датой 1978 года. Это исторический код, стоявший у истоков компании
— Читать дальше «На GitHub появился коммит 1978 года за авторством Microsoft»
На GitHub появился коммит 1978 года за авторством Microsoft
Microsoft выложила на GitHub исходники BASIC 1.1 для MOS 6502, оформив коммит датой 1978 года. Это исторический код, стоявший у истоков компании
— Читать дальше «На GitHub появился коммит 1978 года за авторством Microsoft»
❤2
Жизненный цикл UIViewController в 2025 году: что изменилось и что устарело
В 2022 году я написал статью «Жизненный цикл UIViewController», где подробно разобрал порядок вызова методов и основные сценарии работы с ними.
С тех пор прошло больше трёх лет, и в iOS появилось несколько изменений, которые делают старую статью уже не до конца актуальной.
Читать далее
Читать: https://habr.com/ru/articles/943778/
@a_cup_of_java | Другие наши каналы
В 2022 году я написал статью «Жизненный цикл UIViewController», где подробно разобрал порядок вызова методов и основные сценарии работы с ними.
С тех пор прошло больше трёх лет, и в iOS появилось несколько изменений, которые делают старую статью уже не до конца актуальной.
Читать далее
Читать: https://habr.com/ru/articles/943778/
@a_cup_of_java | Другие наши каналы
👍4❤3
Как сделать 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 | Другие наши каналы
Flutter & GitLab CI/CD. Сборка и подписание мобильных приложений
Привет! Меня зовут Данил Абдрафиков, я мобильный разработчик в компании TAGES. Эта статья является продолжением первой части руководства по настройке GitLab CI/CD для Flutter приложений, в котором мы подробно разобрали настройку физической машины и подготовили GitLab Runner для работы. Теперь, когда инфраструктура готова, перейдем к самому интересному – автоматизации сборки и подписания мобильных приложений.
Готовы превратить сборку мобильных приложений из рутинной задачи в полностью автоматизированный процесс? Тогда начинаем!
Читать далее
Читать: https://habr.com/ru/articles/943154/
@a_cup_of_java | Другие наши каналы
👎2👍1🔥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 | Другие наши каналы
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🤔1
Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер
Инженер собрал слайдер-смартфон: взял сломанный Galaxy Z Flip5 и встроил в него клавиатуру BlackBerry Q10, получив рабочий гибрид с ностальгией по 2000-м
— Читать дальше «Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер»
Инженер собрал слайдер-смартфон: взял сломанный Galaxy Z Flip5 и встроил в него клавиатуру BlackBerry Q10, получив рабочий гибрид с ностальгией по 2000-м
— Читать дальше «Сломанный Galaxy Z Flip5 + клавиатура BlackBerry Q10 = необычный современный слайдер»
👍2🤔1
Мой путь новичка в разработке: FreeSpace — мобильное приложение для любителей космоса
Меня зовут Маша, я ученица «IT Школы Samsung». Хочу рассказать о своём проекте — мобильном приложении FreeSpace, которое объединяет новости о космосе, интерактивную карту и сообщество энтузиастов. Это не просто рассказ о коде, но и история моего пути в Android-разработке.
Читать далее
Читать: https://habr.com/ru/companies/samsung/articles/943884/
@a_cup_of_java | Другие наши каналы
Меня зовут Маша, я ученица «IT Школы Samsung». Хочу рассказать о своём проекте — мобильном приложении FreeSpace, которое объединяет новости о космосе, интерактивную карту и сообщество энтузиастов. Это не просто рассказ о коде, но и история моего пути в Android-разработке.
Читать далее
Читать: https://habr.com/ru/companies/samsung/articles/943884/
@a_cup_of_java | Другие наши каналы
🔥1
Dota Diviner: Когда математика побеждает интуицию
«Мы не выбираем, когда приходит момент, чтобы всё доказать.Только решаем. Поедем ли мы ради этого.»
Однажды я решил, что хочу работать аналитиком в реальной киберспортивной команде.
Не онлайн-переписка, не голосовой чат — а вживую.
Где за плечами игроков стоят люди, которые знают, почему матчи выигрываются.
Написал товарищу, который тогда был тренером по CS в Севастополе.
Он ответил: «Приезжай завтра».
Просто так. Без подробных вопросов. Просто потому, что мы оба понимали: аналитика — это не только цифры. Это опыт, болезненные ошибки и попытки найти закономерность в хаосе игры.
Собрал рюкзак. Ноутбук. Пара футболок.
И отправился на автостанцию...
Читать далее
Читать: https://habr.com/ru/articles/924726/
@a_cup_of_java | Другие наши каналы
«Мы не выбираем, когда приходит момент, чтобы всё доказать.Только решаем. Поедем ли мы ради этого.»
Однажды я решил, что хочу работать аналитиком в реальной киберспортивной команде.
Не онлайн-переписка, не голосовой чат — а вживую.
Где за плечами игроков стоят люди, которые знают, почему матчи выигрываются.
Написал товарищу, который тогда был тренером по CS в Севастополе.
Он ответил: «Приезжай завтра».
Просто так. Без подробных вопросов. Просто потому, что мы оба понимали: аналитика — это не только цифры. Это опыт, болезненные ошибки и попытки найти закономерность в хаосе игры.
Собрал рюкзак. Ноутбук. Пара футболок.
И отправился на автостанцию...
Читать далее
Читать: https://habr.com/ru/articles/924726/
@a_cup_of_java | Другие наши каналы
🗿6🥱4🤪2❤1
Квиз: Кто ты из российских мессенджеров
Готов погрузиться в атмосферу русского киберпанка? Наш новый квиз определит, какой ты отечественный мессенджер. Ответь на несколько вопросов о работе, апдейтах и зомби-апокалипсисе, чтобы узнать всю правду.
— Читать дальше «Квиз: Кто ты из российских мессенджеров»
Готов погрузиться в атмосферу русского киберпанка? Наш новый квиз определит, какой ты отечественный мессенджер. Ответь на несколько вопросов о работе, апдейтах и зомби-апокалипсисе, чтобы узнать всю правду.
— Читать дальше «Квиз: Кто ты из российских мессенджеров»
🔥2🤣2
[Перевод] Next.js меня окончательно достал
Наконец, настал этот момент, и я решился написать статью. Давно хотел, но как-то не хватало мотивации. А ведь, знаете, как говорят: «гнев — лучший мотиватор». Есть же такое выражение?
Предыстория
Я приглашаю вас в путешествие, но сначала нужно расставить декорации. Представьте, что вы работаете в некой компании X, и один из ваших сервисов на Next.js крякнулся. Ну и поскольку это Next.js, то мы понятия не имеем, что конкретно произошло, так как логирование процессов по умолчанию включено только при разработке.
И теперь перед нами квест — найти и настроить механизм логирования для продакшена. Будет нелегко, но нам как бы не привыкать.
Читать далее
Читать: https://habr.com/ru/companies/ruvds/articles/943728/
@a_cup_of_java | Другие наши каналы
Наконец, настал этот момент, и я решился написать статью. Давно хотел, но как-то не хватало мотивации. А ведь, знаете, как говорят: «гнев — лучший мотиватор». Есть же такое выражение?
Предыстория
Я приглашаю вас в путешествие, но сначала нужно расставить декорации. Представьте, что вы работаете в некой компании X, и один из ваших сервисов на Next.js крякнулся. Ну и поскольку это Next.js, то мы понятия не имеем, что конкретно произошло, так как логирование процессов по умолчанию включено только при разработке.
И теперь перед нами квест — найти и настроить механизм логирования для продакшена. Будет нелегко, но нам как бы не привыкать.
Читать далее
Читать: https://habr.com/ru/companies/ruvds/articles/943728/
@a_cup_of_java | Другие наши каналы
❤2👎1
Мобильная разработка за неделю #601 (1 — 7 сентября)
В новом дайджесте «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/944754/
@a_cup_of_java | Другие наши каналы
В новом дайджесте «стеклянный мир» iOS 26 и Flow-контейнеры в Compose, Android Glance Widget и жизненный цикл UIViewController 2025, лучшие практики агентного программирования, как замедлить программу и почему это может быть полезно, приложения, вышедшие в июле, и заработавшие больше $50,000, и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/944754/
@a_cup_of_java | Другие наши каналы
❤2👍1
Важные изменения ASO в 2025 году
Год еще не закончился, но больших апдейтов в ASO набралось на полноценный разбор. Apple и Google обновляют сторы: меняют поиск, добавляют новые поверхности и страны, внедряют AI-инструменты, делают модерацию строже и многое другое.
Конкуренция за видимость остается высокой, но ASO все еще остается одним из немногих каналов, где мобильным продуктам можно получить качественный бесплатный трафик. Под катом — короткий обзор ключевых апдейтов.
Читать далее
Читать: https://habr.com/ru/articles/944782/
@a_cup_of_java | Другие наши каналы
Год еще не закончился, но больших апдейтов в ASO набралось на полноценный разбор. Apple и Google обновляют сторы: меняют поиск, добавляют новые поверхности и страны, внедряют AI-инструменты, делают модерацию строже и многое другое.
Конкуренция за видимость остается высокой, но ASO все еще остается одним из немногих каналов, где мобильным продуктам можно получить качественный бесплатный трафик. Под катом — короткий обзор ключевых апдейтов.
Читать далее
Читать: https://habr.com/ru/articles/944782/
@a_cup_of_java | Другие наши каналы
Поддержка PWA в Аврора 5.2
В версии ОС «Аврора» 5.2 наш браузер получает долгожданную поддержку Progressive Web Apps (PWA) - технологии, которая позволяет веб-приложениям выглядеть и работать как полноценные нативные приложения.
Казалось бы, в результате пользователь видит лишь простую иконку в общем списке приложений, но на деле реализация PWA требует тесной интеграции браузерного движка с самой операционной системой. Именно о технических подробностях этой интеграции, а также о внутреннем устройстве PWA в целом, я и хочу рассказать в этой статье.
Меня зовут Тимур Валеев, я руковожу командой, которая занимается развитием браузера для ОС «Аврора», и сегодня мы разберем, как это было реализовано.
Читать далее
Читать: https://habr.com/ru/companies/rostelecom/articles/943456/
@a_cup_of_java | Другие наши каналы
В версии ОС «Аврора» 5.2 наш браузер получает долгожданную поддержку Progressive Web Apps (PWA) - технологии, которая позволяет веб-приложениям выглядеть и работать как полноценные нативные приложения.
Казалось бы, в результате пользователь видит лишь простую иконку в общем списке приложений, но на деле реализация PWA требует тесной интеграции браузерного движка с самой операционной системой. Именно о технических подробностях этой интеграции, а также о внутреннем устройстве PWA в целом, я и хочу рассказать в этой статье.
Меня зовут Тимур Валеев, я руковожу командой, которая занимается развитием браузера для ОС «Аврора», и сегодня мы разберем, как это было реализовано.
Читать далее
Читать: https://habr.com/ru/companies/rostelecom/articles/943456/
@a_cup_of_java | Другие наши каналы
👍6👎2❤1
Apple
Календарь iCloud использовали для рассылки фишинговых писем
Мошенники используют iCloud Calendar для фишинга: рассылка писем с серверов Apple помогает обходить спам-фильтры и угрожает пользователям.
— Читать дальше «Календарь iCloud использовали для рассылки фишинговых писем»
Календарь iCloud использовали для рассылки фишинговых писем
Мошенники используют iCloud Calendar для фишинга: рассылка писем с серверов Apple помогает обходить спам-фильтры и угрожает пользователям.
— Читать дальше «Календарь iCloud использовали для рассылки фишинговых писем»
🤔2
Как упростить разработку: опыт и размышления (компиляция из моей переписки)
В процессе разработки программного обеспечения часто возникает вопрос: нужно ли заранее проектировать структуру кода и устанавливать строгие правила, чтобы облегчить работу команды? Недавний диалог между разработчиками Азазелем и Сашей проливает свет на этот вопрос и предлагает интересный взгляд на организацию процесса разработки.
Азазель предложил идею, которая кажется логичной и полезной:
Читать далее
Читать: https://habr.com/ru/articles/944946/
@a_cup_of_java | Другие наши каналы
В процессе разработки программного обеспечения часто возникает вопрос: нужно ли заранее проектировать структуру кода и устанавливать строгие правила, чтобы облегчить работу команды? Недавний диалог между разработчиками Азазелем и Сашей проливает свет на этот вопрос и предлагает интересный взгляд на организацию процесса разработки.
Азазель предложил идею, которая кажется логичной и полезной:
Читать далее
Читать: https://habr.com/ru/articles/944946/
@a_cup_of_java | Другие наши каналы
👎1