Все потоки
- Новые
- Лучшие
- Все
- ≥0
- ≥10
- ≥25
- ≥50
- ≥100
Jetpack Compose — как легко построить UI на Android
В июле этого года вместе с Android Studio Arctic Fox вышла одна из долгожданных библиотек — Jetpack Compose. Она позволяет создавать пользовательский интерфейс в декларативном стиле и обещает быть революцией в построении UI.
Разбираемся, так ли это на самом деле, какие у библиотеки преимущества и недостатки. Подробности — в статье.
Руководство Google по стилю в C++. Часть 5
…
Часть 4. Классы
Часть 5. Функции
…
Эта статья является переводом части руководства Google по стилю в C++ на русский язык.
Исходная статья (fork на github), обновляемый перевод.
Как финансировать стартап на этапе MVP? Краткое руководство по первичному финансированию
Как финансировать стартап на этапе MVP? Краткое руководство по первичному финансированию
Деньги на собственный бизнес — самая заветная мечта начинающего предпринимателя, не так ли?
Именно получение гранта может воплотить ее в жизнь. И пока владельцы малого бизнеса мечтают о гранте чтобы профинансировать свой стартап, процесс его получения выдается не таким легким и безоблачным как кажется на первый взгляд.
Однако если знать где искать тот самый фонд и как подать заявку, путь к получению капитала для развития бизнеса может значительно сократиться.
Сколько мы переплачиваем за сервера используя Ruby on Rails
В прошлой статье я разбирался с тем как работает GIL, а сегодня меня захватила идея узнать насколько дорого обходится этот GIL для кода, который исполняется у нас на бэкенде. Для этого я решил пропатчить MRI и добавить пару переменных, в которые буду засекать сколько времени поток реально выполнял код, а сколько ничего не делал и ждал пока ему удастся завладеть локом.
FOSS News №90 — дайджест материалов о свободном и открытом ПО за 20—26 сентября 2021 года
Всем привет!
Продолжаем дайджесты новостей и других материалов о свободном и открытом ПО и немного о железе. Всё самое главное про пингвинов и не только, в России и мире.
Главные темы нового выпуска:
- В Linux Foundation отмечают острый спрос компаний на профессиональных опенсорс-разработчиков.
- Срок поддержки Ubuntu 14.04 и 16.04 увеличен до 10 лет.
- 1 октября в Москве состоится конференция Russian Open Source Summit.
- HackerOne реализовал выплату вознаграждений за выявление уязвимостей в открытом ПО.
- Google меняет модель развития Android на более близкую к ядру Linux.
- Arm разработал архитектуру и инструменты для транспортных средств со значительной ролью ПО.
- Предложения экспертов «Базальт СПО» включены в проект государственной стратегии развития СПО в России.
- Михаил Мишустин «анонсировал» российский аналог GitHub.
- Представлен модуль ядра, способный в разы ускорить OpenVPN.
- Проект Waydroid развивает пакет для запуска Android в дистрибутивах GNU/Linux.
И многое другое…
Сервис отложенных запросов для Retrofit на Android
Как Вы обрабатываете отсутствие доступа в интернет в своем приложении? Показываете сообщение "Нет интернета, попробуйте позже"? Допустим случай, когда мы хотим гарантировать выполнение сетевого запроса пользователя, а не заставлять его искать интернет и снова повторять не удавшиеся запросы. Давайте создадим такую ситуацию и научимся ее обрабатывать. Реализованный пример, как обычно можно скачать по ссылке на GitHub в конце статьи!
Почему экология не может быть плохой?
Со второй половины ХХ в мы всё чаще слышим из средств массовой информации выражения «плохая экология», «сохранить экологию», «экология строительных материалов». Но, к сожалению, не многие знают, что такое «экология» на самом деле. Для разгадки тайн экологии нам предстоит окунуться в удивительный мир науки...
Flutter: о разработке плагинов с интерфейсом ActivityAware
В былые времена клиенты присылали цветные изображения документов со сканера по емейлу. Кто ленился или не мог — отправлял свой загранник по почте. С этим неплохо справлялось решение от ABBYY. Потом появились телефоны и люди стали присылать фотографии паспортов. ABBYY сломался. Перешли на решение от Smart Engines и даже с фотографиями, посланными через WhatsApp особых проблем не было. Но потом пошли умные мобилки с включенными по умолчанию водяными знаками типа «Xiaomi 9T» часто перекрывающими важнейшую часть паспорта. Вдобавок к этому наличие в кадре на фотографии пальцев и бликов тормозило общение с клиентом.
Когда паспорт распознается в видеопотоке на телефоне клиента, то этой проблемы так остро не стоит. Почему?
- Мобильное ядро отображает рамку документа в процессе распознавания, не просто маску поверх видео, а именно рамку документа, находящегося в руках. По моим ощущениям, это дает человеку понимание, где не должно быть его пальцев. Вообще, это интересная тема для отдельного исследования.
- Система использует механизм сатурации данными и готова выдать результат только после определенной уверенности в них.
Будь строже к себе: как ограничения помогают сделать код лучше
Если вам приходилось задумываться о построении эффективной экосистемы проекта и определении ролей тимлида и разработчика — статья Артема Прозорова из ZeBrains для вас.
Предлагаю вам задуматься над одним вопросом. Но не спешите с ответом, потому что он не так очевиден, как может показаться:
Какая из команд может реализовать более технически стабильный продукт?
Команда №1: Проектный менеджер, аналитик, тестировщик и несколько разработчиков, у каждого из которых за плечами минимум три года опыта. Все работают в одном офисе, посвящая свое время одному проекту в режиме fulltime.
Команда №2: Один сильный разработчик. Ему помогают множество не знакомых между собой людей из разных часовых поясов. У каждого — свой набор компетенций и уровень опыта. Работой над проектом участники занимаются в свободном режиме, по несколько часов в неделю.
* * *
Ответ на этот вопрос получим к концу статьи.
Дайджест интересных материалов для мобильного разработчика #412 (20 — 26 сентября)
Открытый проект для поиска генов устойчивости к антибиотикам от специалистов Университета ИТМО
Вчера мы обсудили наши свежие исследования и на этот раз возвращаемся к открытым проектам. Ранее мы говорили об инструменте для сравнительного анализа метагеномных данных MetaFast. Сегодня на очереди MetaCherchant — еще одно программное средство от коллектива МНЦ «Компьютерные технологии» Университета ИТМО для поиска генов устойчивости к антибиотикам.
Вектор? Растр? А может — и то, и другое?
Изображение для верхней части сайта
Речь идёт о подготовке изображения, рассчитанного на использовании в верхней правой части сайта jamstackconf.com. Мы, в маркетинговой команде Netlify, используем Figma. Первая моя попытка экспорта этого изображения для использования его на сайте оказалась далеко не самой удачной.
KODI: собираем удобный и функциональный медиацентр для дома. Часть 9. Spotify
Продолжаем тему интеграции в наш медиацентр онлайн-сервисов прослушивания музыки. Ранее мы уже «подружили» медиацентр KODI с сервисом Яндекс.Музыка. Сегодня на очереди не менее популярный сервис – Spotify.
Структуры данных LinkedList и TreeMap для JavaScript
Развитие языка JavaScript постепенно переносит всю тяжесть вычислений с одного сервера на сеть пользовательских компьютеров. Это супер-хорошо. Программирование на стороне сервера вынуждало очень тщательно оптимизировать код по быстродействию и занимаемой памяти, в то же время разработка клиентской части несколько отставала.
Для удобного и быстрого кодирования можно применять структуры данных. Именно так и поступают при разработке на Java:
https://habr.com/ru/post/237043/
А вот для аналогичной работы с JavaScript оптимизированных инструментов по умолчанию не предоставляется. Реализация Array(), Set() и Map() перекладывается на сторонних разработчиков браузерных движков, а их разработки на сегодняшний день далеки от оптимальности:
https://habr.com/ru/company/ruvds/blog/518032/
Зададимся вопросом — а что если требуются прямо сейчас оптимальные по производительности и памяти структуры данных. Какой минимальный набор достаточно оптимальных структур реализовать и поддерживать? Один из вариантов ответа — это сделать двунаправленный связный список и сбалансированное дерево поиска.
Что это нам даст?
Реализуя связный список LinkedList мы получаем сразу список, двунаправленную очередь и стек. И если это сделать без JavaScript Array(), а лишь используя простые ссылки на объекты, то получаем стандартную и достаточно оптимальную структуру данных.
Если же сделать бинарное сбалансированное дерево поиска TreeMap, например AVL-дерево:
https://habr.com/ru/post/150732/
тогда используя эту реализацию можно получить следующие структуры данных:
Универсальная система коррекции ошибок — как она устроена
Инженеры MIT представили чип, способный работать с любым типом данных, передаваемых по сети. Под катом обсуждаем возможности и перспективы разработки, а также альтернативные решения для квантовых компьютеров.
Уроки по SDL 2: Урок 10 изменение цвета и прозрачность текстуры
изменение цвета у спрайтов, позволяет получить нам новый спрайт, а благодаря аппаратному ускорению, прозрачность создается гораздо быстрее чем в первом SDL
приступим к коду:
ОС для работы со звуком — что она умеет
Один из предыдущих материалов мы посвятили инструментам для сборки цифровой звуковой рабочей станции (DAW). Еще мы говорили об open source проектах, в рамках которых можно сделать собственный синтезатор или педалборд.
Сегодня продолжим тему и расскажем об открытой ОС Elk Audio, построенной на базе Linux. Она заточена под обработку звука на встраиваемых системах.
Как выбрать язык программирования для проекта
Когда выбираешь для проекта:
Чаще всего — не выбираешь.
Если все же выбираешь. Не так важно какой язык больше подходит, важнее, какой компания сможет поддерживать — тут все зависит от количества специалистов в компании, их уровень на рынке и, соответственно, их зарплаты.
Когда выбираешь для себя:
Смотри на компании и бизнес, которые тебе нравятся, наличие свободной документации, перспективы, комьюнити и зарплаты на HH.
Под катом подробнее текстом минут на 7 чтения, и ссылочка на получасовой подкаст для тех, кому удобнее слушать.
gRPC + Dart, Сервис + Клиент, напишем? Часть 4: подключаем мобильное Flutter приложение
В этой части мы сделаем рефакторинг проекта и подключим клиентское мобильное Flutter приложение к сервису Umka.
В статье даны ссылки на исходный код, а в конце приведён пример команд, которыми проект можно запустить на своём локальном компьютере и "поиграться" с приложением.