Пакет Supabase — это бесплатный аналог облачных сервисов Google Firebase (БД, аутентификация, хранение файлов, realtime обмен данными, framework для популярных языков). Перечисленные инструменты позволяют разработчикам быстро создавать как простые мобильные приложения и сайты, так и сложные корпоративные системы. Кроме того, при использовании Supabase вам не нужно уметь управлять сервером, пользователями и обслуживать базу данных — для этого в пакете присутствует готовая административная панель.
Пользователь
Бесплатная open-source альтернатива Google Photos и iCloud Photos
Как-то мы лежали в кровати с нашим малышом и жена сказала, что фотографий и видео с ним стало больше и она не хочет использовать платное приложение. Примерно так начинается рассказ создателя Immich – бесплатного open-source решения для хранения фотографий и видео.
Надо сказать, в последние годы я тоже регулярно пытался найти бесплатную self-hosted альтернативу Google Photos и iCloud, однако до сегодняшнего дня функциональных и вместе с тем простых в настройке решений я не встречал. Тот же Nextcloud всегда казался чересчур громоздким. Immich же, напротив, сразу завоевал моё сердце, и вот, после нескольких недель его использования, с радостью делюсь своим рабочим примером.
Сентябрьские мини-ПК: 5 отличных моделей на все случаи жизни
Время бежит быстро. Вроде только подборку за февраль делали, а уже сентябрь, близится конец года. Даже странно немного. Но не будем предаваться осенней хандре, лучше посмотрим на миниатюрные ПК, представленные производителями из разных стран. Традиционно в подборке несколько моделей, которые годятся для разных задач. Подробности под катом!
Ускоряем Android-приложения с помощью Baseline Profiles
Привет, меня зовут Даниль Гатиатуллин, я инженер юнита Performance в Авито. В этой статье я рассказываю, что такое Baseline Profiles, как он ускоряет запуск программы и каким приложениям он принесет больше пользы. В качестве примера возьму наш эксперимент, который ускорил время запуска приложения на 15%. Также расскажу, как мы автоматизировали добавление профилей в каждый релиз.
JavaScript: структуры данных и алгоритмы. Часть 4
Привет, друзья!
В этой серии статей мы разбираем структуры данных и алгоритмы, представленные в этом замечательном репозитории. Это четвертая часть серии.
Сегодня мы рассмотрим дерево отрезков, дерево Фенвика, а также граф (направленный и ненаправленный).
Код, представленный в этой и других статьях серии, можно найти в этом репозитории.
Интересно? Тогда прошу под кат.
Kotlin Coroutines. От А до Я
Полный разбор корутинного мира с нуля, который может послужить отличной шпаргалкой на собеседовании!
Разберем разницу между многопоточностью и асинхронностью; раскроем все основные понятия корутин, параллельно ссылаясь на исходники kotlinx.coroutines; посмотрим их применение на практике и в конце напишем свой собственный CoroutineScope.
Простые коммуникации в Java-приложении
Привет,
Как вы уже, наверное, знаете, Jmix — это такая платформа для разработки корпоративных приложений, построенная на основе фреймворков Spring, Vaadin и других классных технологий с открытым исходным кодом.
Ее использование позволяет абстрагироваться от многих сложностей фронтенд-разработки. Разработчикам не обязательно учить JavaScript/TS, погружаться в особенности популярных фронтенд-фреймворков, тренироваться в верстке, чтобы иметь возможность создавать полнофункциональные веб-приложения. Достаточно просто писать код на Java и немного компоновать экраны в XML. При разработке интерфейса для Jmix под капот уходят также некоторые механики, связанные с «перекладыванием джейсонов», что открывает дополнительные возможности для написания интерактивных веб-приложений с использованием готовых компонентов и дополнений.
Сегодня мы попробуем убедиться в этом на примере, создав MVP приложения для взаимодействия пользователей.
Введение в Identity Management с OpenIDM
В этой статье мы рассмотрим, что такое Identity Management (IDM) и его основные задачи. А так же рассмотрим решение нескольких типовых задач Identity Management и использованием продукта с открытым исходным кодом OpenIDM. В конце статьи будет обзор основных возможностей OpenIDM.
Перевод статьи «Injecting Java in-memory payloads for post-exploitation»
В марте Synacktiv описали способы эксплуатации небезопасной десериализации в приложениях, написанных на Java. Позже, команда красных автора столкнулась с Java-приложениями, в которых были обнаружены другие уязвимости, приводящие к исполнению кода. А уже в этой статье автор представил несколько приемов, которые использовались для внедрения полезной нагрузки в память на примере широко известных приложений.
Ну а мы, авторы telegram-канала AUTHORITY, перевели эту статью на русский.
Аутентификация в SPA приложении через OpenAM используя OAuth2/OIDC
Данная статья будет полезна разработчикам браузерных (SPA) приложений, которые хотят настроить аутентификацию пользователей. Для аутентификации будет использоваться OAuth2/OIDC протокол c PKCE. В качестве сервера аутентификации будет использоваться сервер управления аутентификации с открытым исходным кодом OpenAM.
PinLockSreen на основе KeyStore. Kotlin. Jetpack Compose
В данной любительской статье разберемся, что такое KeyStore в контексте мобильной разработки, для чего нужен и применим его в крайне легком варианте. Также погрузимся в разработку экрана входа в ваше приложение. Статья будет разделена на 3 так называемых раздела — KeyStore, UI и ViewModel.
Kotlin Coroutines под капотом
Вероятнее всего у вас спрашивали на собесе «как работают корутины под капотом?», вы не долго думая выбрасывали что‑то в стиле «там под капотом стейт‑машина, она определяет какая suspend функция будет выполняться», но понимали ли вы на самом деле всё о чем говорили? Возможно, только вам это известно, но если честно я очень плохо понимал собственные ответы на такие вопросы как бы это парадоксально не звучало и даже после десятка пройденных собесов у меня не было полноценной картины как работает внутрянка этой поистине невероятной библиотеки «сладкой асинхронщины».
Книга: «Реальная криптография»
Криптография — это фундамент информационной безопасности. Чтобы быть на шаг впереди хакеров, атакующих ваши системы, необходимо разбираться в инструментах, структурах и протоколах, защищающих ваши сети и приложения. В книге просто и наглядно описываются аутентификация, шифрование, подписи, хранение секретов и другие криптографические понятия.
Изучите приемы, которые используют разработчики, системные администраторы и специалисты по безопасности в своей повседневной работе. Вы не встретите ни сложных математических выкладок, ни умопомрачительного жаргона: современные криптографические методы рассматриваются с помощью понятных графиков и практических примеров. Познакомьтесь с хеш-функциями и подписями, криптографическими протоколами и безопасным обменом сообщениями, а также с передовыми достижениями, такими как постквантовая криптография и криптовалюты. Читать «Реальную криптографию» одно удовольствие и, возможно, она спасет, когда в следующий раз злоумышленники покусятся на ваши данные.
Как я написал загрузчик YouTube видео на Ktor + HTMX. Убийца React?
Мы вырастили монстра, который больше не нужен (с)
Рассмотрим возможности применения модного фреймворка HTMX в связке с Ktor на примере написания загрузчика видео.
Обзор и тестирование Blackview MP100: доступный мини-ПК на Ryzen 7 5700U. Мощный, тихий и компактный
Компания Blackview выпустила недорогой, но интересный домашний компьютер в миниатюрном корпусе на 0,72 литра. Девайс получил мощный восьмиядерный процессор Ryzen 7 5700U, двухканальную оперативную память с поддерживаемым объемом до 64 GB, современный WiFi 6 модуль и возможность одновременного подключения до 3 SSD-накопителей. Я очень люблю такие устройства, поэтому сегодня вас ожидает детальный разбор новинки, всевозможные бенчмарки и конечно же мои мысли.
Публикация web-карт с GeoServer: от установки до интеграции с Mapbox GL JS
Приветствую, хабравчане!
Это моя первая статья, и она посвящена GeoServer`у и его использованию в web-картах.
Статья ориентирована на людей, имеющих опыт публикации своих картографических проектов посредством HTML, CSS и JavaScript, и столкнувшихся с необходимостью хотя бы время от времени обновлять отображаемые данные. Статья будет полезна также и для тех, кто хочет узнать о более продвинутых методах работы с геоданными в web.
В рамках статьи будет рассмотрено:
Зачем нужен GeoServer?
Покупка домена, аренда сервера и их связка
Публикация собственного сайта с картой
Установка GeoServer и его использование с Mapbox GL JS.
Shared Element Transition в Jetpack Compose
Привет, Хабр! Меня зовут Артем и я занимаюсь разработкой приложений под Android, а еще с недавнего времени я стал рассказывать об этом.
Это текстовый вариант видео на моем YouTube канале Android Insights
В этой статье я хочу рассказать о том, как можно оживить ваше приложение, используя Shared Element Transition в Jetpack Compose
RxJs для самых маленьких
В этой статье мы подробно рассмотрим такую библиотеку как RxJs. Разберем несколько простых примеров и поймем что такое поточность в программировании.
Настройка аутентификации по протоколу WebAuthn в OpenAM
WebAuthn - протокол, разработанный консорциумом W3C и FIDO Alliance для аутентификации без паролей. Используя WebAuthn, можно аутентифицироваться, используя биометрию мобильного телефона или ноутбука. Можно так же использовать аутентификацию при помощи аппаратных USB токенов. В данной статье мы настроим вход по протоколу WebAuthn в системе управления аутентификацией с открытым исходным кодом - OpenAM
Разработчикам: рецензия на книгу «Создание микрофронтендов» (Building Micro-Frontends) Луки Меццалиры
Продолжаем рецензии на книги по ИТ‑тематике с промокодом от нашего блога. Сегодня это перевод известной книги «Building Micro‑Frontends» O'REILLY по микросервисам, вышедший в издательстве БХВ‑Петербург весной 2024г. Книга рассчитана на широкий круг веб‑разработчиков, архитекторов и руководителей команд, работающих с веб‑приложениями. А в целом, полезна всем, кто столкнулся с проблемами масштабируемости, параллельной разработки и организации кодовой базы при создании сложных фронтенд‑приложений.
Информация
- В рейтинге
- Не участвует
- Зарегистрирован
- Активность