Не одним CRDT едины или как решать конфликты в local-first приложениях
Сегодня поговорим про реализации решения конфликтов подходов local / offline-first – это когда ваше приложение позволяет пользователям работать полностью или частично оффлайн, а когда они выходят в сеть, синхронизировать все их изменения.
Примеры таких приложений: Notion-like редакторы, Figma-like вайтборды или Linear-like таск менеджеры.
Основная идея – коллаборация, а коллаборация несет за собой конфликты, разберем очень наглядный пример:
Читать далее
Читать: https://habr.com/ru/articles/946722/
@a_cup_of_java | Другие наши каналы
Сегодня поговорим про реализации решения конфликтов подходов local / offline-first – это когда ваше приложение позволяет пользователям работать полностью или частично оффлайн, а когда они выходят в сеть, синхронизировать все их изменения.
Примеры таких приложений: Notion-like редакторы, Figma-like вайтборды или Linear-like таск менеджеры.
Основная идея – коллаборация, а коллаборация несет за собой конфликты, разберем очень наглядный пример:
Читать далее
Читать: https://habr.com/ru/articles/946722/
@a_cup_of_java | Другие наши каналы
❤3🗿1
Разработка Pipes Counting: от идеи до публикации
Pipes Counting — технический разбор (мобильная разработка + ML)
Приветствуем вас, дорогие читатели! В этой статье мы, ученики 10 класса из школы "Летово", хотим поделиться своим опытом разработки мобильного приложения PipesCounting, созданного для автоматизированного подсчета труб в пачке. За 6 месяцев мы прошли путь от идеи и до публикации приложения, в том числе сбор и расширение датасета, обучение моделей и сборки приложения. Здесь мы хотим поделиться нашим опытом и трудностями с которыми мы столкнулись, чтобы облегчить процесс для тех, кто будет заниматься чем-то похожим, рассказать о возможных подходах и предупредить о сложностях.
С приложением PipesCounting мы заняли второе место в престижном международном конкурсе AI Challenge в категории “Металлургия”, а также постели с ним международную конференцию AI Journey.
Читать далее
Читать: https://habr.com/ru/articles/946758/
@a_cup_of_java | Другие наши каналы
Pipes Counting — технический разбор (мобильная разработка + ML)
Приветствуем вас, дорогие читатели! В этой статье мы, ученики 10 класса из школы "Летово", хотим поделиться своим опытом разработки мобильного приложения PipesCounting, созданного для автоматизированного подсчета труб в пачке. За 6 месяцев мы прошли путь от идеи и до публикации приложения, в том числе сбор и расширение датасета, обучение моделей и сборки приложения. Здесь мы хотим поделиться нашим опытом и трудностями с которыми мы столкнулись, чтобы облегчить процесс для тех, кто будет заниматься чем-то похожим, рассказать о возможных подходах и предупредить о сложностях.
С приложением PipesCounting мы заняли второе место в престижном международном конкурсе AI Challenge в категории “Металлургия”, а также постели с ним международную конференцию AI Journey.
Читать далее
Читать: https://habr.com/ru/articles/946758/
@a_cup_of_java | Другие наши каналы
👎4👍1
Сделай удобно: подборка UI/UX-кейсов из цифровых и нецифровых продуктов (#21)
Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Под катом: Revolut, Intsagram, Matreshka.
Читать далее
Читать: https://habr.com/ru/articles/946798/
@a_cup_of_java | Другие наши каналы
Продолжаю изучать различные UI/UX/CX кейсы в мобильных приложениях, веб-сайтах и в реальном мире. Дизайнерам и менеджерам по продукту, чтобы вдохновиться и добавить в заметки.
Под катом: Revolut, Intsagram, Matreshka.
Читать далее
Читать: https://habr.com/ru/articles/946798/
@a_cup_of_java | Другие наши каналы
Мобильная разработка за неделю #602 (8 — 14 сентября)
В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/946820/
@a_cup_of_java | Другие наши каналы
В этом выпуске построение современного BLE-сервиса и повышение производительности за счет лучшего сокращения ресурсов, Swift на Android и эволюция презентационных паттернов, MAX без оболочки, эмоциональное решение проблем, трудные уроки инди-хакинга и многое другое. Заходите!
Читать далее
Читать: https://habr.com/ru/articles/946820/
@a_cup_of_java | Другие наши каналы
👍1
WEAR модуль AndroidAPS, доработка и отладка связи при зависании
Используемые устройства - телефон Samsung Galaxy S8+ (SM-G955FD), часы Galaxy Watch 5 Pro (P0ED)
Я столкнулся с проблемой зависания данных на часах, что стало проблемой, особенно когда речь идет о занятии сопртом. Мне нравится велосипед и во время тренировки удобно отсматривать показатели только одной рукой и управление спортивным режимом (в этом форке он нами так же добавлен в основное приложение) желательно только на часах.
Дополнено включение и настройка спортивного режима не только в app, но и в wear, а так же была исследована проблема залипания данных (когда на часы данные о глюкозе приходят не вместе с обновлением на телефоне, а гораздо позже или переодически например всего несколько раз в час, не стабильно). При этом сейчас данные приходят как правило быстрее чем за 7 минут (на часы). Если быть точным - обновление и показ происходит не позже 7 минут.
Ниже показываю что происходит внутри программы, какие события удалось отследить в логах (некоторые логи были добавлены мной) и как диагностировал проблему.
Читать далее
Читать: https://habr.com/ru/articles/946832/
@a_cup_of_java | Другие наши каналы
Используемые устройства - телефон Samsung Galaxy S8+ (SM-G955FD), часы Galaxy Watch 5 Pro (P0ED)
Я столкнулся с проблемой зависания данных на часах, что стало проблемой, особенно когда речь идет о занятии сопртом. Мне нравится велосипед и во время тренировки удобно отсматривать показатели только одной рукой и управление спортивным режимом (в этом форке он нами так же добавлен в основное приложение) желательно только на часах.
Дополнено включение и настройка спортивного режима не только в app, но и в wear, а так же была исследована проблема залипания данных (когда на часы данные о глюкозе приходят не вместе с обновлением на телефоне, а гораздо позже или переодически например всего несколько раз в час, не стабильно). При этом сейчас данные приходят как правило быстрее чем за 7 минут (на часы). Если быть точным - обновление и показ происходит не позже 7 минут.
Ниже показываю что происходит внутри программы, какие события удалось отследить в логах (некоторые логи были добавлены мной) и как диагностировал проблему.
Читать далее
Читать: https://habr.com/ru/articles/946832/
@a_cup_of_java | Другие наши каналы
👎1
Делаем Jetpack Navigation 3 удобнее
Jetpack Navigation 3 дает полный контроль над навигацией через NavBackStack, но прямая работа с ним превращается в написание шаблонного кода и усложняет использование из ViewModel. В статье предлагается решение этих проблемы, добавляя привычный API с командами
Если вы работаете с Navigation 3 или планируете на неё переходить — эта статья поможет сделать процесс разработки приятнее.
Читать далее
Читать: https://habr.com/ru/articles/946878/
@a_cup_of_java | Другие наши каналы
Jetpack Navigation 3 дает полный контроль над навигацией через NavBackStack, но прямая работа с ним превращается в написание шаблонного кода и усложняет использование из ViewModel. В статье предлагается решение этих проблемы, добавляя привычный API с командами
push(), pop(), replace().Если вы работаете с Navigation 3 или планируете на неё переходить — эта статья поможет сделать процесс разработки приятнее.
Читать далее
Читать: https://habr.com/ru/articles/946878/
@a_cup_of_java | Другие наши каналы
Как я научил Jetpack Compose показывать рекомпозиции в реальном времени
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
🔥7👀6👍2
Как я научил Jetpack Compose показывать рекомпозиции в реальном времени
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Меня зовут Иван Кузнецов, я Android‑разработчик в Кинопоиске. Сегодня расскажу историю разработки своего пет‑проекта, которая началась с код‑ревью очередного экрана на Jetpack Compose.
Представьте, вы открываете пул‑реквест и взгляд цепляется за знакомые паттерны: нестабильный параметр в Composable‑функции, remember без ключа, применение трансформаций на Layout‑фазе. Сразу хочется написать комментарий‑лекцию о том, почему это ударит по производительности и почему лучше так не делать.
Вот только объяснения отнимают время и не всегда наглядно доносят суть проблемы. Особенно это актуально для новичков, которым сложно сопоставить абстракции с реальным поведением UI. А ведь для сложных асинхронных штук вроде RxJava или корутин есть визуализаторы — RxMarbles и FlowMarbles, а для самой частой головной боли в Compose до сих пор нет. Вот бы вместо стены текста просто кинуть ссылку со словами: «Смотри, вот что твой код делает на самом деле».
В этой статье я расскажу о разработке собственного приложения, которое в реальном времени визуализирует рекомпозиции. Чтобы заставить его работать, пришлось залезть под капот компилятора Kotlin и подружиться с его внутренними API: FIR и IR.
Читать далее
Читать: https://habr.com/ru/companies/yandex/articles/945276/
@a_cup_of_java | Другие наши каналы
👍2👎1
2 причины смертельной болезни проекта: устаревшие технологии и монополия на знания. Рассказываем, как это лечить
В США до сих пор работают федеральные IT-системы возрастом 8–51 год, их поддержка обходится в $337 млн ежегодно. Бизнес тоже живёт на легаси: компании закладывают бюджет на модернизацию — в среднем это $2,7 млн в год, но 60–80% денег всё равно уходит на штопанье старого кода. При этом каждая такая система — дыра в безопасности: средний ущерб от утечки данных в 2024-м достиг $4,88 млн.
Корни таких ситуаций лежат в монополии на знания о вашей системе, когда всё держится на двух‑трёх людях. Они в голове носят знания, которых нет ни у кого. И если что-то с ними случится, то все процессы встанут.
Я — Владимир Макеев, CEO Surf. В мобильной разработке часто сталкиваюсь с аналогичными внутренними процессами у заказчиков. В статье расскажу, как «вечная» система тянет компанию ко дну, сколько бюджета тратится на старый стек и как перейти на новый без больших потерь для бизнеса.
Читать далее
Читать: https://habr.com/ru/companies/surfstudio/articles/947362/
@a_cup_of_java | Другие наши каналы
В США до сих пор работают федеральные IT-системы возрастом 8–51 год, их поддержка обходится в $337 млн ежегодно. Бизнес тоже живёт на легаси: компании закладывают бюджет на модернизацию — в среднем это $2,7 млн в год, но 60–80% денег всё равно уходит на штопанье старого кода. При этом каждая такая система — дыра в безопасности: средний ущерб от утечки данных в 2024-м достиг $4,88 млн.
Корни таких ситуаций лежат в монополии на знания о вашей системе, когда всё держится на двух‑трёх людях. Они в голове носят знания, которых нет ни у кого. И если что-то с ними случится, то все процессы встанут.
Я — Владимир Макеев, CEO Surf. В мобильной разработке часто сталкиваюсь с аналогичными внутренними процессами у заказчиков. В статье расскажу, как «вечная» система тянет компанию ко дну, сколько бюджета тратится на старый стек и как перейти на новый без больших потерь для бизнеса.
Читать далее
Читать: https://habr.com/ru/companies/surfstudio/articles/947362/
@a_cup_of_java | Другие наши каналы
❤2
Как Swift Runtime влияет на производительность iOS-приложений
Привет, Хабр! Я Кристиан Бенуа, iOS-разработчиĸ в Т-Банĸе. В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.
Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.
В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия.
Читать далее
Читать: https://habr.com/ru/companies/tbank/articles/947486/
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Я Кристиан Бенуа, iOS-разработчиĸ в Т-Банĸе. В современном мире производительность приложения — ĸритичесĸи важный фаĸтор, определяющий его успех. Пользователи ожидают мгновенного отĸлиĸа и плавной работы, даже небольшие задержĸи могут негативно сĸазаться на восприятии приложения.
Для больших iOS-приложений, написанных на Swift, понимание работы Swift Runtime и его влияния на производительность — важный навыĸ разработчиĸов. Swift Runtime при исполнении ĸода отвечает за фундаментальные вещи языĸа Swift: управление памятью и систему типов в рантайме.
В статье сосредоточимся на механизмах приведения типов и создания generic-типов внутри Swift Runtime и рассмотрим один ĸонĸретный метод, ĸоторый является узĸим местом в производительности приложения. Разберем примеры ĸода, демонстрирующие, ĸогда и почему этот метод вызывается, ĸаĸово его влияние на отзывчивость приложения и ĸаĸие стратегии использовать для смягчения негативного воздействия.
Читать далее
Читать: https://habr.com/ru/companies/tbank/articles/947486/
@a_cup_of_java | Другие наши каналы
❤2
Расширяем возможности GitHub Copilot для IDEA или как писать unit-тесты в пару кликов
В этой статье расскажу, как мне удалось «влезть» в плагин GitHub Copilot, обойти ограничения проприетарного инструмента и научить его помогать писать unit-тесты буквально в пару кликов. Думаю это будет полезно тем, кто хочет узнать как влезать в работу сторонних плагинов, ускорить написание тестов и тем, кто ищет способы прокачать работу с ИИ-помощниками в своих проектах.
Читать далее
Читать: https://habr.com/ru/companies/cian/articles/920328/
@a_cup_of_java | Другие наши каналы
В этой статье расскажу, как мне удалось «влезть» в плагин GitHub Copilot, обойти ограничения проприетарного инструмента и научить его помогать писать unit-тесты буквально в пару кликов. Думаю это будет полезно тем, кто хочет узнать как влезать в работу сторонних плагинов, ускорить написание тестов и тем, кто ищет способы прокачать работу с ИИ-помощниками в своих проектах.
Читать далее
Читать: https://habr.com/ru/companies/cian/articles/920328/
@a_cup_of_java | Другие наши каналы
«Большие вызовы»: как школьники за 3 недели собрали модуль для офлайн-распознавания документов на Android
Привет, Хабр! Меня зовут Олег Милосердов, я руковожу проектами по компьютерному зрению в ВТБ. В июле мы с коллегами приняли участие в научно-технологической программе «Большие вызовы» от образовательного центра «Сириус» в качестве наставников. Мы предложили школьникам спроектировать и внедрить автономный модуль распознавания MRZ-зоны документов, удостоверяющих личность, прямо на мобильном устройстве под Android, которое работает без интернета, серверов и облака. В этой статье расскажу, как талантливые старшеклассники справились с задачей, какой опыт получили и какие выводы мы можем сделать как наставники.
Читать далее
Читать: https://habr.com/ru/companies/vtb/articles/947510/
@a_cup_of_java | Другие наши каналы
Привет, Хабр! Меня зовут Олег Милосердов, я руковожу проектами по компьютерному зрению в ВТБ. В июле мы с коллегами приняли участие в научно-технологической программе «Большие вызовы» от образовательного центра «Сириус» в качестве наставников. Мы предложили школьникам спроектировать и внедрить автономный модуль распознавания MRZ-зоны документов, удостоверяющих личность, прямо на мобильном устройстве под Android, которое работает без интернета, серверов и облака. В этой статье расскажу, как талантливые старшеклассники справились с задачей, какой опыт получили и какие выводы мы можем сделать как наставники.
Читать далее
Читать: https://habr.com/ru/companies/vtb/articles/947510/
@a_cup_of_java | Другие наши каналы
Полный айсберг Android. Часть 1
Android кажется давно изученной системой, но на самом деле это настоящий айсберг, большая часть которого скрыта под водой. За привычным интерфейсом прячутся технологии и архитектурные фишки, о которых знают лишь настоящие знатоки. Пора перестать скользить по поверхности. Давайте вместе нырнем в глубины Android, чтобы понять, что скрывает зеленый робо-дроид. Детали внутри.
Читать далее
Читать: https://habr.com/ru/companies/selectel/articles/947484/
@mobi_dev | Другие наши каналы
Android кажется давно изученной системой, но на самом деле это настоящий айсберг, большая часть которого скрыта под водой. За привычным интерфейсом прячутся технологии и архитектурные фишки, о которых знают лишь настоящие знатоки. Пора перестать скользить по поверхности. Давайте вместе нырнем в глубины Android, чтобы понять, что скрывает зеленый робо-дроид. Детали внутри.
Читать далее
Читать: https://habr.com/ru/companies/selectel/articles/947484/
@mobi_dev | Другие наши каналы
👎7❤1
Мобильная разработка
Как освоить ассемблер для разработчиков Swift: первые шаги
Освойте основы ассемблера для Swift: узнайте, как работают регистры, настройте Xcode для компиляции .s-файлов и напишите первую программу на ассемблере. Практическое руководство для iOS-разработчиков.
— Читать дальше «Как освоить ассемблер для разработчиков Swift: первые шаги»
Как освоить ассемблер для разработчиков Swift: первые шаги
Освойте основы ассемблера для Swift: узнайте, как работают регистры, настройте Xcode для компиляции .s-файлов и напишите первую программу на ассемблере. Практическое руководство для iOS-разработчиков.
— Читать дальше «Как освоить ассемблер для разработчиков Swift: первые шаги»
Доверенный open source в российских продуктах: фантазия или рабочая цель?
Всем привет!
Сегодня представляем нового эксперта в нашей команде: Дмитрий Белков, руководитель консалтинга Application Security ГК «Солар». В своей первой колонке для Habr Дмитрий оценил вероятность появления доверенного open source и поделился своим мнением о процессах в основе безопасной разработки. Поехали!
Open source дал разработчикам главное — скорость и гибкость. Сторонние библиотеки ускоряют вывод релизов, снижают стоимость лицензий, расширяют функциональность. Но вместе с удобством пришли и угрозы: атаки через зависимости, бэкдоры, эксплойты. Мы все помним Log4j и OpenSSL: когда до 80% библиотек остаются не обновленными, отсутствие контроля зависимостей становится системным риском.
Может ли на этом фоне появиться доверенный open source — открытые компоненты, которые можно использовать без компромиссов по безопасности? Да. Но важно договориться о критериях и инфраструктуре.
Читать далее
Читать: https://habr.com/ru/companies/solarsecurity/articles/947882/
@mobi_dev | Другие наши каналы
Всем привет!
Сегодня представляем нового эксперта в нашей команде: Дмитрий Белков, руководитель консалтинга Application Security ГК «Солар». В своей первой колонке для Habr Дмитрий оценил вероятность появления доверенного open source и поделился своим мнением о процессах в основе безопасной разработки. Поехали!
Open source дал разработчикам главное — скорость и гибкость. Сторонние библиотеки ускоряют вывод релизов, снижают стоимость лицензий, расширяют функциональность. Но вместе с удобством пришли и угрозы: атаки через зависимости, бэкдоры, эксплойты. Мы все помним Log4j и OpenSSL: когда до 80% библиотек остаются не обновленными, отсутствие контроля зависимостей становится системным риском.
Может ли на этом фоне появиться доверенный open source — открытые компоненты, которые можно использовать без компромиссов по безопасности? Да. Но важно договориться о критериях и инфраструктуре.
Читать далее
Читать: https://habr.com/ru/companies/solarsecurity/articles/947882/
@mobi_dev | Другие наши каналы
❤2👍1
И ещё немного про то, что const в dart надо ставить где попало
В статье рассказал про случай из реальной жизни, когда использование const и линтера на него помогли бы мне сэкономить полдня рабочего времени и сохранить нервы
Читать далее
Читать: https://habr.com/ru/articles/948074/
@mobi_dev | Другие наши каналы
В статье рассказал про случай из реальной жизни, когда использование const и линтера на него помогли бы мне сэкономить полдня рабочего времени и сохранить нервы
Читать далее
Читать: https://habr.com/ru/articles/948074/
@mobi_dev | Другие наши каналы
👍4
Андроид всё еще не готов к RAW-видео
Уверен, что многих возмутит уже само название этой статьи. А некоторые сразу же побегут в комментарии указывать на приложение, которое “смогло”. Но не стоит спешить, друзья!
Сегодня вам предстоит увлекательное путешествие по стыку технологий, кода и технических решений, которые и расскажут вам то, о чем адепты съемки мобильного RAW-видео предпочитают не говорить.
Читать далее
Читать: https://habr.com/ru/articles/947578/
@mobi_dev | Другие наши каналы
Уверен, что многих возмутит уже само название этой статьи. А некоторые сразу же побегут в комментарии указывать на приложение, которое “смогло”. Но не стоит спешить, друзья!
Сегодня вам предстоит увлекательное путешествие по стыку технологий, кода и технических решений, которые и расскажут вам то, о чем адепты съемки мобильного RAW-видео предпочитают не говорить.
Читать далее
Читать: https://habr.com/ru/articles/947578/
@mobi_dev | Другие наши каналы
Как создать собственный RenderObject
Наверняка вы слышали, что Flutter позволяет управлять содержимым каждого пикселя на экране. И что он помогает реализовать любой интерфейс, который только можно вообразить.
Меня зовут Александр, я Flutter-разработчик в Surf, и сегодня мы сделаем ещё один небольшой шаг к этим крутейшим возможностям — мы научимся создавать собственные RenderObject.
В этой статье мы разберём, как RenderObject появляются на свет, какие задачи решают, зачем может понадобиться создание собственных RenderObject, а также рассмотрим процесс создания собственного RenderObject с примерами и без танцев с бубном.
Читать дальше
Читать: https://habr.com/ru/companies/surfstudio/articles/947394/
@mobi_dev | Другие наши каналы
Наверняка вы слышали, что Flutter позволяет управлять содержимым каждого пикселя на экране. И что он помогает реализовать любой интерфейс, который только можно вообразить.
Меня зовут Александр, я Flutter-разработчик в Surf, и сегодня мы сделаем ещё один небольшой шаг к этим крутейшим возможностям — мы научимся создавать собственные RenderObject.
В этой статье мы разберём, как RenderObject появляются на свет, какие задачи решают, зачем может понадобиться создание собственных RenderObject, а также рассмотрим процесс создания собственного RenderObject с примерами и без танцев с бубном.
Читать дальше
Читать: https://habr.com/ru/companies/surfstudio/articles/947394/
@mobi_dev | Другие наши каналы
❤4👍1
Android
Зачем нужны приложения, можно ли писать код на смартфоне — ответы эксперта на самые безумные вопросы о мобильной разработке
Ответы на самые странные и частые вопросы о мобильной разработке: в чем разница между iOS и Android, почему нужно платить $99 для тестирования на iPhone и можно ли писать код на смартфоне. Обсуждаем Flutter, нативную разработку, пуши и безумные требования менеджеров с экспертом Аней Жарковой.
— Читать дальше «Зачем нужны приложения, можно ли писать код на смартфоне — ответы эксперта на самые безумные вопросы о мобильной разработке»
Зачем нужны приложения, можно ли писать код на смартфоне — ответы эксперта на самые безумные вопросы о мобильной разработке
Ответы на самые странные и частые вопросы о мобильной разработке: в чем разница между iOS и Android, почему нужно платить $99 для тестирования на iPhone и можно ли писать код на смартфоне. Обсуждаем Flutter, нативную разработку, пуши и безумные требования менеджеров с экспертом Аней Жарковой.
— Читать дальше «Зачем нужны приложения, можно ли писать код на смартфоне — ответы эксперта на самые безумные вопросы о мобильной разработке»
👍4
Стоит ли переносить правила из Cursor в Copilot и Windsurf: проверка на практике
Недавно я показывал, как ускорить создание админ-панели с помощью Admiral — фреймворка от команды dev.family для построения бэк-офиса на React. Тогда я использовал Cursor rules — набор текстовых правил, которые инструмент автоматически превращает в код.
Со временем я заметил, что такие правила универсальны: это обычные .md-файлы, которые можно использовать не только в Cursor, но и в других средах. Например, в GitHub Copilot, Windsurf, Replit, Zed, Continue и т.д. Возникает логичный вопрос: дадут ли они такой же эффект там, где изначально не задумывались?
Чтобы это проверить, я сравнил, как три популярных инструмента — Cursor, Copilot и Windsurf — справляются с одними и теми же инструкциями для админки. В статье разберём:
Choose your fighter
Читать: https://habr.com/ru/articles/948604/
@mobi_dev | Другие наши каналы
Недавно я показывал, как ускорить создание админ-панели с помощью Admiral — фреймворка от команды dev.family для построения бэк-офиса на React. Тогда я использовал Cursor rules — набор текстовых правил, которые инструмент автоматически превращает в код.
Со временем я заметил, что такие правила универсальны: это обычные .md-файлы, которые можно использовать не только в Cursor, но и в других средах. Например, в GitHub Copilot, Windsurf, Replit, Zed, Continue и т.д. Возникает логичный вопрос: дадут ли они такой же эффект там, где изначально не задумывались?
Чтобы это проверить, я сравнил, как три популярных инструмента — Cursor, Copilot и Windsurf — справляются с одними и теми же инструкциями для админки. В статье разберём:
Choose your fighter
Читать: https://habr.com/ru/articles/948604/
@mobi_dev | Другие наши каналы
Большой гайд как соответствовать ожиданиям работодателя в IT
Ты думаешь, что в IT достаточно быть сильным специалистом? Ошибаешься. Работодатели ждут от тебя гораздо большего, и часто об этом не говорят прямо.
Читать далее
Читать: https://habr.com/ru/articles/948680/
@mobi_dev | Другие наши каналы
Ты думаешь, что в IT достаточно быть сильным специалистом? Ошибаешься. Работодатели ждут от тебя гораздо большего, и часто об этом не говорят прямо.
Читать далее
Читать: https://habr.com/ru/articles/948680/
@mobi_dev | Другие наши каналы
👍3🔥2