Как стать автором
Обновить

Все потоки

Сначала показывать
Порог рейтинга
Уровень сложности

Пиксельные Пои или Pixel Poi на основе Black Pill

Уровень сложности Простой
Время на прочтение 3 мин
Количество просмотров 146
Программирование микроконтроллеров *Компьютерное железо Робототехника Фототехника Электроника для начинающих
Обзор

В этом посте речь пойдет о применении модуля WeAct Black Pill V3.0 (MiniF4 V3.0) или "Черная таблетка" с AliExpress для реализации пиксельных пои. Итак, пиксельные пои представляют световой реквизит для артистов, при вращении которого можно видеть разнообразные картинки, эффекты, надписи и т.п.

https://www.youtube.com/watch?v=jZjQfKud8ak

Итак, модуль разработки "STM32F411CEU6 Black Pill" - отладочный модуль, построен на базе микроконтроллера ARM 32-bit Cortex-M4 STM32F411CEU6. Данный модуль на своем "борту" имеет три кнопки, SWD порт, кварцевый резонатор, коннектор USB Type-C, два светодиода (красный и синий), место для установки дополнительной SPI Flash памяти и многочисленные выводы по периметру.

Читать далее
Рейтинг 0
Комментарии 0

Новости

Как создать монорепозиторий с несколькими сервисами, используя Lerna и Yarn?

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 398
JavaScript *DevOps *
Из песочницы
Перевод

Для разработчиков построение масштабируемых и поддерживаемых приложений может быть значительным вызовом, особенно при работе с большими кодовыми базами и несколькими сервисами. К счастью, использование подхода монорепозитория в сочетании с мощными инструментами, такими как NX, Lerna и Yarn, может обеспечить упрощенный процесс разработки, который повышает общность кода и возможность повторного использования.

Это подробное руководство нацелено на помощь разработчикам в настройке монорепозитория с использованием NX, Lerna и Yarn. Руководство включает подробную информацию о начальной настройке, структуре каталогов, управлении зависимостями, тестировании и развёртывании.

После освоения туториала разработчик получат полное понимание того, как создавать масштабируемые и поддерживаемые приложения, используя подход монорепозитория. Он также получит знания о необходимых инструментах и знаниях для перехода на новый уровень разработки. Давайте приступим!

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 0

Pastilda: ещё одна прошивка

Уровень сложности Средний
Время на прочтение 3 мин
Количество просмотров 1.5K
Информационная безопасность *Программирование микроконтроллеров *Производство и разработка электроники *Носимая электроника Электроника для начинающих
Репортаж

Существует очень своеобразный прибор Пастильда. Это аппаратный хранитель паролей. Было продано нескольких сотен таких устройств. Потом этот проект стал Open Source(ным). Я составил еще одну прошивку для Пастильды (плата Pas~ r 1.1).

Если у вас есть Пастильда или отладочная плата Olimex-STM32-H407, то я могу прислать вам прошивку аппаратного менеджера паролей с расширенным функционалом.

Читать далее
Всего голосов 10: ↑8 и ↓2 +6
Комментарии 12

Гугл таблица как бд для телеграм бота

Уровень сложности Простой
Время на прочтение 5 мин
Количество просмотров 1.3K
JavaScript *API *
Туториал

В этом посте рассмотрим в деталях, как непосредственно использовать гугл таблицы в качестве базы данных. Попробуем написать бота, который забирает вопросы квиза с вариантами ответов из гугл таблицы и записывает ответы назад.

Читать далее
Всего голосов 3: ↑3 и ↓0 +3
Комментарии 2

Истории

Как я проводил стажировку продактов

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 444
Карьера в IT-индустрии

Кратко расскажу о том, как я организовал стажировку для Продакт менеджеров из студентов онлайн-школы и успешно нанял одного из них. А так же вы узнаете какие плюсы и минусы для бизнеса есть в стажировке.

Читать далее
Всего голосов 3: ↑0 и ↓3 -3
Комментарии 0

Что в DI-Контейнере твоем, С++? Пробуем написать

Уровень сложности Простой
Время на прочтение 6 мин
Количество просмотров 1.4K
C++ *
Из песочницы

Доброго времени суток, жители Хабра.

Из-за наличия довольно большого опыта разработки на C# мне хотелось наличия таких же удобных DI-контейнеров на C++. Особенно после того, как побывал на нескольких плюсовых проектах, где были фабрики, синглтоны и прочие штуки. И я начал искать, хотя ожидал, что многого я не найду.

Итак, что же было найдено?
Всего голосов 13: ↑11 и ↓2 +9
Комментарии 0

Пошаговое руководство: как склеить старые дропы с молодым доменом

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 409
Веб-аналитика *Интернет-маркетинг *Поисковая оптимизация *
Туториал

Продвижение молодого сайта может быть сложной задачей, особенно если конкуренция в нише высокая. Одним из способов ускорить процесс и повысить видимость сайта является использование старых дроп доменов. В этом пошаговом руководстве мы рассмотрим, как правильно выбрать и склеить старые дропы с молодым доменом для улучшения SEO-показателей.

Читать далее
Всего голосов 3: ↑0 и ↓3 -3
Комментарии 0

Установка OpenCV под Windows

Уровень сложности Простой
Время на прочтение 4 мин
Количество просмотров 1.2K
Open source *C++ *
Из песочницы

В данной статье будет описан способ сборки OpenCV из исходников с помощью cmake и Microsoft Visual Studio, и пример запуска своего проекта на cmake. Большая часть статьи является повторением официальной документации.

Читать далее
Всего голосов 9: ↑9 и ↓0 +9
Комментарии 4

Разбираем ошибки начинающих iOS-разработчиков

Уровень сложности Средний
Время на прочтение 19 мин
Количество просмотров 745
Блог компании Яндекс Практикум Разработка под iOS *Разработка мобильных приложений *Swift *
FAQ

Привет! Я Александра Башкирова, iOS-инженер в Clover и старший код-ревьюер на курсе «iOS-разработчик» в Яндекс Практикуме. На момент подготовки этой статьи мы уже проверили более тысячи работ студентов и успели заметить повторяющиеся ошибки.

В этой статье я разберу несколько популярных ошибок начинающих iOS-разработчиков, чтобы вы могли не повторять их в своей работе. Мы вместе посмотрим, к чему они приводят и как их можно избежать. Начнём с вёрстки, а потом посмотрим на код и выработаем стратегии для хороших практик.

Читать далее
Всего голосов 1: ↑0 и ↓1 -1
Комментарии 1

Краткий обзор нововведений C++23: deducing this

Уровень сложности Средний
Время на прочтение 6 мин
Количество просмотров 2.3K
Программирование *C++ *
Обзор

Документ «deducing this», принятый в последний стандарт C++, вводит новый, третий тип методов классов, сочетающий в себе свойства двух уже существующих: нестатических и статических, открывающий перед нами новые горизонты:

1. Дедупликация большого количества кода.

2. Вытеснение CRTP (Curiously Recuring Template Pattern) на свалку истории, его замена более простой и очевидно понятной записью.

3. Рекурсивные лямбды.

И другое.

Но прежде чем рассмотреть само нововведение и его практические применения, углубимся немного в историю и попытаемся понять, почему в нем собственно возникла необходимость.

Читать далее
Всего голосов 24: ↑24 и ↓0 +24
Комментарии 18

Neural Network Optimization: океан в капле

Уровень сложности Простой
Время на прочтение 14 мин
Количество просмотров 814
Блог компании Doubletapp Серверная оптимизация *Обработка изображений *Машинное обучение *Искусственный интеллект
Обзор
🤖 Сезон machine learning

Всех приветствую, меня зовут Антон Рябых, работаю в Doubletapp. Вместе с коллегой Данилом Гальпериным мы написали статью про важный этап в процессе обучения нейронных сетей и получения необходимых нам результатов —  оптимизацию модели. Зачем нужно оптимизировать модель, если и так все работает? Но как только вы начнете разворачивать модель на устройстве, которое будет ее обрабатывать, перед вами встанет множество проблем.

Более крупные модели занимают больше места для хранения, что затрудняет их распространение. Более крупные модели требуют больше времени для работы и могут потребовать более дорогого оборудования. Это особенно важно, если вы создаете модель для приложения, работающего в реальном времени.

Оптимизация моделей направлена на уменьшение размера моделей при минимизации потерь в точности и производительности.

Методы оптимизации

Pruning — устранение части параметров нейронной сети.
Quantization — уменьшение точности обрабатываемых типов данных.
Knowledge distillation — обновление топологии исходной модели до более эффективной, с уменьшенным количеством параметров и более быстрым выполнением.
Weight clustering — сокращение количества уникальных параметров в весах модели.
OpenVino, TensorRT — фреймворки, с помощью которых можно оптимизировать модели.

Читать далее
Всего голосов 18: ↑18 и ↓0 +18
Комментарии 0

Инструкция по установке LineageOS 20 + MicroG на Google Pixel 6 Pro

Уровень сложности Средний
Время на прочтение 8 мин
Количество просмотров 2K
Open source *
Из песочницы

LineageOS - это одна из самых популярных прошивок с открытым исходным кодом для Android-устройств, которая основана на исходном коде операционной системы Android. Вот несколько причин, по я считаю LineageOS лучшим выбором по сравнению с другими прошивками:

Читать далее
Всего голосов 8: ↑5 и ↓3 +2
Комментарии 22

5 паттернов параллельного программирования в GO, которые сделают ваш следующий проект лучше

Время на прочтение 10 мин
Количество просмотров 1.7K
Блог компании OTUS Программирование *Go *Параллельное программирование *
Перевод

Параллельное программирование — одна из самых интересных фич, которые может предложить вам Golang. Идея, лежащая в основе параллелизма, заключается в одновременной работе над несколькими разными процессами, что помогает избежать застревания в задачах, выполнение которых занимает много времени.

Читать далее
Всего голосов 9: ↑7 и ↓2 +5
Комментарии 1

Как chatGPT меняет привычный интерфейс

Время на прочтение 1 мин
Количество просмотров 3.7K
Искусственный интеллект *

С появлением больших языковых моделей, нас, похоже, ждут большие изменения в том, что до сих пор подразумевалось под «интуитивно понятным» и «дружественным пользователю» интерфейсом.

Читать далее
Всего голосов 8: ↑6 и ↓2 +4
Комментарии 21

Сахар для слоненка -  быстрый старт c PostgreSQL для команд в НЛМК

Уровень сложности Простой
Время на прочтение 8 мин
Количество просмотров 1.3K
Блог компании Группа НЛМК PostgreSQL *DevOps *
Туториал

На протяжении более чем 10 лет работы с PostgreSQL, периодически наблюдаю, как команды на начальном этапе, зачастую, не уделяют внимание ролевой модели базы, или как вся команда работает под суперпользователем postgres и забывает про версионирование схемы.

В процессе общения с различными командами в НЛМК у меня появилась идея предложить им «преднастроенный PostgreSQL». Как в итоге сделали — под катом.

Читать далее
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 0

SRE: управление инцидентами

Уровень сложности Простой
Время на прочтение 12 мин
Количество просмотров 583
Блог компании OTUS IT-инфраструктура *DevOps *
Кейс

Привет Хабр! Не так давно общался с SRE в нашей команде и он рассказал мне о базовых принципах процесса управления инцидентами, теперь я поделюсь этим с вами, быть может кому‑то поможет.

Управление инцидентами включает в себя мониторинг, анализ, планирование и выполнение. SRE работают с операционными группами, экспертами по техническим вопросам, разработчиками, инженерами DevOPs, владельцами приложений и другими.

При оценке инцидентов SRE обращают внимание на такие критерии, как импакт и частота повторения — для того, чтобы определить, какие инциденты требуют дальнейшего анализа.

Читать далее
Всего голосов 9: ↑8 и ↓1 +7
Комментарии 0

Очередной проект для себя или что такое MPS

Уровень сложности Средний
Время на прочтение 18 мин
Количество просмотров 606
*nix *
Из песочницы

Здравствуйте, Хабровцы... Хабровичане... В общем, всем привет! В последнее время я помогал другу с его соц. сетью и столкнулся с кучей проблем, поняв что мыслю быстрее времени, но при этом отстаю от него, ведь у меня уже давно расписаны проекты решающие все эти проблемы, но не реализованы... Дак вот, относительно недавно я наконец полностью доделал один из них и хочу узнать ваше мнение и получить пару советов по его улучшению.

Читать далее
Всего голосов 5: ↑5 и ↓0 +5
Комментарии 0

Книга «Kafka Streams и ksqlDB: данные в реальном времени»

Время на прочтение 17 мин
Количество просмотров 752
Блог компании Издательский дом «Питер» Администрирование баз данных *Профессиональная литература *Распределённые системы *
image Привет, Хаброжители!

Работа с неограниченными и быстрыми потоками данных всегда была сложной задачей. Но Kafka Streams и ksqlDB позволяют легко и просто создавать приложения потоковой обработки. Из книги специалисты по обработке данных узнают, как с помощью этих инструментов создавать масштабируемые приложения потоковой обработки, перемещающие, обогащающие и преобразующие большие объемы данных в режиме реального времени.

Митч Сеймур, инженер службы обработки данных в Mailchimp, объясняет важные понятия потоковой обработки на примере нескольких любопытных бизнес-задач. Он рассказывает о достоинствах Kafka Streams и ksqlDB, чтобы помочь вам выбрать наиболее подходящий инструмент для каждого уникального проекта потоковой обработки. Для разработчиков, не пишущих код на Java, особенно ценным будет материал, посвященный ksqlDB.
Кому адресована книга
Эта книга адресована специалистам по обработке данных, желающим научиться создавать масштабируемые приложения потоковой обработки для перемещения и преобразования больших объемов данных в режиме реального времени. Подобные умения часто необходимы для поддержки интеллектуальной обработки данных, аналитических конвейеров, обнаружения угроз, обработки событий и многого другого. Специалисты по данным и аналитики, занимающиеся анализом потоков данных в реальном режиме времени и желающие усовершенствовать свои навыки, тоже смогут почерпнуть немало полезного из этой книги. В ней автору удалось отойти от привычной пакетной обработки, которая обычно доминировала в этих областях. Предварительный опыт работы с Apache Kafka не требуется, хотя некоторое знакомство с языком программирования Java облегчит знакомство с Kafka Streams.
Читать дальше →
Всего голосов 7: ↑7 и ↓0 +7
Комментарии 0

Дублирующий скрипт: как с его помощью мы ускорили бизнес-процесс с двух рабочих дней до семи минут

Уровень сложности Средний
Время на прочтение 14 мин
Количество просмотров 916
Блог компании Банк «Открытие» Python *Big Data *DevOps *
Кейс

Как известно, при создании промышленного процесса, в котором регламентирован каждый шаг, все участвующие подразделения стараются максимально облегчить выполнение своей части работы. Поэтому часто применяются упрощения, которые не позволяют учесть все нюансы процесса, отслеживаемые в ручном режиме каждым аналитиком. По сути, перед автоматизаторами стоит задача охватить наибольшее число вариаций и при этом не усложнить процесс так, чтобы с ним было невозможно работать. Под усложнениями понимаются различные блокирующие процесс проверки, многочисленные итерации согласований по той или иной задаче, формы дополнительного ручного ввода данных и т.п.

В итоге формируются упрощенные требования, которые не позволяют в полной мере реализовать контроль как над ручными ошибками пользователей, так и над ошибками, допущенными при разработке требований и алгоритмов автоматизируемого процесса.

Вас приветствуют Гевонд Асадян и Илья Мясников. В банке «Открытие» в управлении риск-технологий мы занимаемся внедрением моделей оценки кредитного риска. В этой статье на примере большого и сложного процесса выдачи экспресс-кредитов мы расскажем, как нам удалось реализовать полноценный дубль процесса на стороне одного проверочного скрипта и ускорить процесс выдачи экспресс-кредитов с двух рабочих дней до семи минут.

Далее про наш кейс
Всего голосов 2: ↑2 и ↓0 +2
Комментарии 0

Менеджмент сертификатов – как застраховаться от просрочки

Время на прочтение 7 мин
Количество просмотров 1.5K
Блог компании QIWI Информационная безопасность *Сетевые технологии *

Для обеспечения защищенного соединения между партнерами, подписи документов, а также организации защищенных каналов связи используются сертификаты. Они позволяют шифровать трафик либо ставить цифровую подпись, которая равнозначна рукописной подписи. Так как это дело обычное и частое, то в компаниях, которые так или иначе связаны с онлайном, таких сертификатов великое множество.

Эти сертификаты имеют срок годности, они выпускаются не на 100 лет (технически это возможно, но по понятным причинам вариант не пользуется популярностью), а обычно на год. И частенько они просрочиваются – срок сертификата подходит к концу, об этом забывают и пропускают его смену, что приводит к потере денег или времени. Боль, на самом деле, повсеместная, и немногие пытаются успешно с ней бороться. У нас это получилось, и мы хотим поведать вам о нашем пути, который еще не закончен.

Читать далее
Всего голосов 16: ↑15 и ↓1 +14
Комментарии 8