Всем привет, совсем недавно я начал изучать протокол USB на STM32F103C8, а именно HID-устройства. Я такой человек, который не сильно любит теорию, но обожает учиться всему на практике, поэтому я тут же начал думать над будущим проектом. И я вспомнил, что совсем недавно заказал себе wifi модуль - ESP8266.
Пользователь
Demhack 2: пришел, напрогал, победил
20 и 21 марта 2021 года прошел хакатон проектов в сфере приватности и открытости информации DemHack 2, организованный Роскомсвободой и Privacy Accelerator. Хакатон собрал интересные идеи и талантливых разработчиков, выявил несколько по-настоящему перспективных проектов и наградил два из них! Некоторые решения были высоко оценены жюри и менторами, что дает им отличные шансы на дальнейшую экспертную поддержку, нетворкинг и дальнейшее сотрудничество с бизнес-инвесторами или профильными НКО.
Serverless-архитектура сегодня: как бессерверные решения меняют разработку
Привет, Хабр! В комментариях к статьям из нашего хаба часто спорят: полезна ли Serverless. Хочу поднять флаг миротворца — и сказать, что бессерверная технология меняет весь рабочий процесс и взгляд на разработку. Для этого есть несколько причин.
Serverless смещает оплату в сторону подхода pay-as-you-go: вы платите столько, сколько израсходовано процессорного времени (плюс-минус 100 мс). Вы не ждёте запуска сервера, не распределяете нагрузку и не заморачиваетесь с техобслуживанием. Задача написана — задача исполнена. С другой стороны, возникают проблемы холодного старта, а многим проектам не подходит отсутствие чёткого контроля контейнера. В этой статье я расскажу, в каких именно случаях может пригодиться Serverless и когда к ней надо присмотреться.
Погружение в Serverless. Функции как основной элемент системы
Внимание на Serverless я обратил с подачи Евгения Потапова. Мне довелось с ним беседовать в качестве ведущего в подкасте «The Art Of Programming». И меня безумно захватила эта идея. Погрузившись в мир «Бессерверных вычислений», я познакомился с массой интересных людей, занятых созданием экосистемы Serverless в Yandex.Cloud. И после недолгих метаний решил устроить серию интервью, открывающих этот удивительный мир для вас и написанных в дружеской неофициальной манере вечерних посиделок за бокальчиком пенного. Первый мой гость, Глеб Борисов, наверно, один из главных людей, занятых созданием инструментов для запуска функций в Yandex.Cloud.
Вот мы с тобой сидим, идет 2021 год, и у меня стойкое дежавю. Как будто бы идея Serverless — это повторение идеи, с которой я сталкивался, когда только появился интернет. Тогда тоже не было серверов, а были только CGI-скрипты, которые я писал, складывал на чей-то хостинг, и они выполнялись
Google Cloud Storage c PHP: сохранение файлов с публичным доступом
В данной статье будет рассмотрено 2 варианта настройки GCS для загрузки файлов (в примере будет реализована загрузка изображения) с помощью php-клиента и с помощью существующего sdk (утилита gsutil) используя shell. Итак, поехали!
Как я создал, а затем развалил свою компанию
Веб-компоненты: обзор и использование в продакшне
Привет! Я использую веб-компоненты в разработке фронтэнда. В данной статье я опишу все возможности веб-компонентов, а также то, как их можно использовать сегодня с учётом пока ещё не высокой поддержки.
Кратко про веб-компоненты: это набор технологий, которые позволяют использовать компонентный подход с инкапсуляцией стилей и скриптов в вебе нативно, без подключения каких-либо библиотек или фейрмворков. Если вам интересно, что предлагают стандарты вместо привычных уже React или Angular, и как это использовать при разработке под старые браузеры, прошу под кат.
Как CSS Grid меняет представление о структурировании контента
<div>
— являются важным строительным блоком для контроля над макетом.HTML5 представил новые семантические элементы, чтобы помочь в этом. И хотя они являются фантастическим дополнением к языку, они немного похожи на украшение к нашему супу из
<div>
элементов.С приходом CSS Grid, нам больше не нужно полагаться на элементы
<div>
для создания структуры страницы или даже более сложного компонента. Структура буквально определяется родительским элементом, а не тем, как расположено содержимое внутри него.Это значит, что мы можем получить хороший простой макет, который структурирует содержимое, не обращая внимание на то, как оно изначально организовано с помощью элементов
<div>
.Как проводить код-ревью
В этом руководстве приведены рекомендации по оптимальному проведению код-ревью, основанные на многолетнем опыте. Все вместе они составляют один документ, разбитый на множество разделов. Необязательно читать их все, но часто для себя и команды лучше изучить руководство полностью.
- Стандарт код-ревью
- Что проверять в коде
- Навигация по списку изменений (CL)
- Скорость код-ревью
- Как писать комментарии
- Как преодолевать сопротивление
См. также Руководство автора CL, в котором даются подробные советы разработчикам, чьи коммиты проходят ревью.
Революция или боль? Доклад Яндекса о React Hooks
— Хуки — это просто еще один способ описывать логику ваших компонентов. Он позволяет добавить к функциональным компонентам некоторые возможности, ранее присущие только компонентам на классах.
Работа с callbacks в React
За время своей работы, я периодически сталкивался с тем, что разработчики не всегда четко представляют, каким образом работает механизм передачи данных через props, в частности колбеков, и почему их PureComponents обновляется так часто.
Поэтому в данной статье мы разберемся, как передаются callbacks в React, а также обсудим особенности работы event handlers.
Щелкаем реле правильно: коммутация мощных нагрузок
Управление мощными нагрузками — достаточно популярная тема среди людей, так или иначе касающихся автоматизации дома, причём в общем-то независимо от платформы: будь то Arduino, Rapsberry Pi, Unwired One или иная платформа, включать-выключать ей какой-нибудь обогреватель, котёл или канальный вентилятор рано или поздно приходится.
Традиционная дилемма здесь — чем, собственно, коммутировать. Как убедились многие на своём печальном опыте, китайские реле не обладают должной надёжностью — при коммутации мощной индуктивной нагрузки контакты сильно искрят, и в один прекрасный момент могут попросту залипнуть. Приходится ставить два реле — второе для подстраховки на размыкание.
Вместо реле можно поставить симистор или твердотельное реле (по сути, тот же тиристор или полевик со схемой управления логическим сигналом и опторазвязкой в одном корпусе), но у них другой минус — они греются. Соответственно, нужен радиатор, что увеличивает габариты конструкции.
Я же хочу рассказать про простую и довольно очевидную, но при этом редко встречающуюся схему, умеющую вот такое:
- Гальваническая развязка входа и нагрузки
- Коммутация индуктивных нагрузок без выбросов тока и напряжения
- Отсутствие значимого тепловыделения даже на максимальной мощности
Но сначала — чуть-чуть иллюстраций. Во всех случаях использовались реле TTI серий TRJ и TRIL, а в качестве нагрузки — пылесос мощностью 650 Вт.
ООП мертво, да здравствует ООП
Источники вдохновения
Этот пост возник благодаря недавней публикации Араса Пранцкевичуса о докладе, предназначенном для программистов-джуниоров. В нём рассказывается о том, как адаптироваться к новым ECS-архитектурам. Арас следует привычной схеме (объяснения ниже): показывает примеры ужасного ООП-кода, а затем демонстрирует, что отличным альтернативным решением является реляционная модель (но называет её «ECS», а не реляционной). Я ни в коем случае не критикую Араса — я большой фанат его работ и хвалю его за отличную презентацию! Я выбрал именно его презентацию вместо сотен других постов про ECS из Интернета потому, что он приложил дополнительные усилия и опубликовал git-репозиторий для изучения параллельно с презентацией. В нём содержится небольшая простая «игра», используемая в качестве примера выбора разных архитектурных решений. Этот небольшой проект позволил мне на конкретном материале продемонстрировать свои замечания, так что спасибо, Арас!
Слайды Араса выложены здесь: http://aras-p.info/texts/files/2018Academy — ECS-DoD.pdf, а код находится на github: https://github.com/aras-p/dod-playground.
Я не буду (пока?) анализировать получившуюся ECS-архитектуру из этого доклада, но сосредоточусь на коде «плохого ООП» (похожего на уловку «чучело») из его начала. Я покажу, как бы он выглядел на самом деле, если бы правильно исправили все нарушения принципов OOD (object-oriented design, объектно-ориентированного проектирования).
Спойлер: устранение всех нарушений OOD приводит к улучшениям производительности, аналогичным преобразованиям Араса в ECS, к тому же использует меньше ОЗУ и требует меньше строк кода, чем ECS-версия!
TL;DR: Прежде чем прийти к выводу, что ООП отстой, а ECS рулит, сделайте паузу и изучите OOD (чтобы знать, как правильно использовать ООП), а также разберитесь в реляционной модели (чтобы знать, как правильно применять ECS).
Как доить коров роботами и сделать на этом промышленный стартап. История разработки R-SEPT
В 2017 году в СМИ звучала крайне интересная история про стартап, который роботизирует доение коров на промышленных молочных фермах. Компания называется R-SEPT, и тогда она получила 10 миллионов рублей инвестиций. Но год прошел, а новостей, что произошло дальше, все нет. Мы связались с Алексеем Хахуновым (AlexeiHahunov), основателем стартапа и поговорили о разработке. Оказывается весь год его команда доводила прототип робота до ума, и как раз неделю назад провела первые полевые испытания на ферме.
Под катом — история, как студент-робототехник, выросший на родительской ферме, превратил университетский диплом в промышленный стартап, как собирал с друзьями первые манипуляторы, а потом выходил на уровень государственных программ по роботизации сельского хозяйства. Ну и самое главное — чем железная рука робота и машинное зрение лучше живой доярки.
Зацените: сделал стол
TL;DR В статье описывается мой опыт постройки стола c нуля из фанеры. От проектирования до сборки.
Я очень долго страдал от плохих столов. Все они неудобные, плохого качества, маленькие и, самое главное, ШАТКИЕ. Более-менее приличные столы стоили тысячи долларов. В итоге я решил изготовить стол самостоятельно.
Основные требования к столу:
- Устойчивость! Предметы на столе не должны трястись, если резко положить руки на стол или оттолкнуться от него. Мой стол весит ~120кг. С его края можно делать сальтухи, при этом на другом конце паять SMD компоненты.
- Ширина и глубина столешницы. Столы шириной 60 см — это унижение. Мне нужно иметь запас по глубине, чтобы можно было отодвинуть ноутбук вперед, и при этом получить достаточное рабочее пространство.
- Вместительность. Мне нужны полки, чтобы разместить там оборудование: паяльники, лабораторный блок питания, осциллограф, аудио усилитель и т.д. При этом полки должны быть так же устойчивы, как и стол.
- Цена. Я не готов выложить за стол несколько тысяч долларов. Мой стол обошелся в ~$300 с учётом покупки всего инструмента для сборки и покраски.
Конструкция async/await в JavaScript: сильные стороны, подводные камни и особенности использования
Пишем скрипт для синхронизации папок с Google Drive, плюс учимся использовать Google Drive API
В этой статье мы рассмотрим основные инструменты работы с Google Drive REST API, осуществим "прямую" и "обратную" синхронизацию папки на компьютере с папкой в облаке Гугл Диска, а заодно выясним какие сложности могут возникнуть при работе с Google Docs через API Диска и как правильно их импортировать и экспортировать чтобы (почти) никто не пострадал.
Как легко работать с OneDrive из приложений UWP
Продолжаю рассказывать об интересных/полезных вещах из мира XAML/C# приложений UWP. OneDrive API является частью Microsoft Graph. Для работы с OneDrive можно использовать OneDrive REST API, которое использует протокол HTTP и в частности его методы GET, POST, DELETE, PUT…
Кроме того, в соответствии с новыми принципами работы Microsoft, была создана библиотека обертка OneDrive SDK for CSharp, которая облегчает работу и использование сервиса из кода ваших приложений.
Ассортимент — классическая задача оптимизации
Ассортимент очень влияет на выручку магазина, но управляется не самим магазином. Судя по последним исследованиям, ассортиментом в России в целом мало кто управляет эффективно. Просто если поддерживать нужные товары в нужном количестве в нужных местах, можно дико поднять эффективность продаж многих магазинов. Дико — это, например, на треть.
Естественно, мы не исключение, косяки у нас такие же примерно, как у всей страны. Правда, мы умеем наносить этим косякам ответный удар. Сейчас расскажу про то, как отомстить недостаточному наличию и злобно над ним надругаться.
Первый вопрос в том, почему вообще может не быть какого-то товара. Это очевидная вещь для любого человека из розницы, но крайне нелогичная для человека со стороны. Столетиями работает рынок, так почему, чёрт побери, до сих пор случаются неувязки?
Информация
- В рейтинге
- Не участвует
- Откуда
- Королев, Москва и Московская обл., Россия
- Дата рождения
- Зарегистрирован
- Активность