Как стать автором
Обновить
4
0
Александр @avbochagov

Пользователь

Отправить сообщение

Неожиданные последствия запуска PostgreSQL в Docker: замедление запросов в 100 раз

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров29K

У одного из клиентов нашей системы мониторинга PostgreSQL серверов возникла проблема сильного замедления запросов при запуске базы в Docker. В этой статье расскажем о возможных последствиях использования PostgreSQL в Docker с конфигурацией по умолчанию.

Читать далее
Всего голосов 75: ↑75.5 и ↓-0.5+76
Комментарии41

Микросеть: настройка роутера для ИТшной семьи

Уровень сложностиСредний
Время на прочтение8 мин
Количество просмотров26K

Привет, читатель!

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

Вперед к настройке
Всего голосов 20: ↑19 и ↓1+18
Комментарии32

Внутренний мир: Java NIO

Уровень сложностиСредний
Время на прочтение15 мин
Количество просмотров6.7K

Привет, Хабр!

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

Неблокируемый ввод/вывод был реализован в пакете java.nio Java SE 1.4. К сожалению, в ежедневной практике нечасто приходится иметь дело с низкоуровневым I/O, и намного чаще при необходимости используются стримы из java.io. В этой статье будет описано содержание Java NIO, несколько примеров и принцип работы неблокируемого I/O.

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

Сначала войдите через Телеграм

Время на прочтение5 мин
Количество просмотров38K

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

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

Обзор схемотехнических решений BMS для литиевых батарей

Уровень сложностиПростой
Время на прочтение17 мин
Количество просмотров22K
Давно ушли те времена, когда для контроля за состоянием аккумуляторной батареи было достаточно стрелочного амперметра. Литиевые аккумуляторы вполне заслуженно обрели популярность в современных автономных устройствах. Они обладают достаточно высокими характеристиками при весьма доступной стоимости, но очень капризны в эксплуатации.

image

В этой статье представлен краткий обзор на специализированные микросхемы мониторинга и защиты для литиевых аккумуляторов. Давайте вместе попробуем разобраться, как максимально эффективно и безопасно использовать эти аккумуляторы в своих устройствах и какие схемы для этого лучше подойдут.
Читать дальше →
Всего голосов 73: ↑73 и ↓0+73
Комментарии76

Что внутри мощного мини-компьютера Mini A5? Разборка нового неттопа от Geekom на базе процессора Ryzen 7-5800H

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров5.8K
Заменит ли компактный мини-ПК полноценный десктоп? Проверка тестами нового мощного неттопа Geekom Mini A5 на базе Ryzen 7-5800H. Обзор с разборкой и бенчмарками.



Читать дальше →
Всего голосов 6: ↑5 и ↓1+4
Комментарии24

Как IT-специалисты помогли выиграть суд у банка

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров25K

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

Автор статьи выражает благодарность разработчикам Роману и Александру. Специалисты проделали огромную и кропотливую работу, нашли выход в безнадежной (с точки зрения юристов) ситуации.

Читать далее
Всего голосов 202: ↑201 и ↓1+200
Комментарии102

CG Charger BQ: как TP4056, только на стероидах (BQ25895)

Уровень сложностиСредний
Время на прочтение16 мин
Количество просмотров13K


Сегодня на нашем операционном столе очередное гениальное изобретение компании ClimateGuard — девайс под не менее гениальным названием CG Charger BQ. Расшифровке того, что же всё-таки скрывается под этими загадочными буквами BQ (что означают буквы CG постоянные читатели моего блога уже знают) и посвящена эта статья.

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

Правда для осмысленной работы с BQ25895 вам понадобятся пара высших образований в Computer Science (смайл) и… эта статья…
Читать дальше →
Всего голосов 57: ↑56 и ↓1+55
Комментарии40

far2l в Ubuntu 23.10

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров21K

Ура! В новой версии Ubuntu, наконец-то, можно установить Far Manager (far2l) самым обычным sudo apt install far2l — прямо из коробки, без всяких ppa и кастомных сборок! Под катом — немного подробностей, а также обычный дайджест новостей проекта за прошедшее время.

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

Самый маленький Docker образ Rust приложения

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров9.3K

Привет %username%, эта статья про то, как поместить Rust приложение в Docker и получить образ размером с бинарный файл (6 Мб). А также про причины, которые привели к переходу с NodeJS на Rust. Отдельная пара слов о проблемах вначале, переходе на Go, и том, как команда Rust устранила эти проблемы за пол года.

TL;DR Dockerfile в конце статьи и ссылка на example репозиторий

Читать далее
Всего голосов 45: ↑44 и ↓1+43
Комментарии16

Проблема «error: future cannot be sent between threads safely» при использовании Rust-библиотек Tokio и Actix

Уровень сложностиСредний
Время на прочтение3 мин
Количество просмотров2.6K

Приложения на Rust часто используют асинхронные библиотеки, такие как Tokio и Actix. Эти библиотеки предоставляют инструменты для асинхронного ввода-вывода и параллельных вычислений и т.д. Однако иногда возникают проблемы при совместном использовании разных асинхронных библиотек.

Сегодня я хочу поделиться с вами опытом решения одной из распространенных проблем при работе с библиотеками Tokio и Actix. Конкретно, мы рассмотрим ошибку "error: future cannot be sent between threads safely", которая может возникнуть, когда вы пытаетесь использовать клиент Actix внутри асинхронной функции, запущенной с помощью Tokio. Я расскажу вам, как преодолеть эту проблему.

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

Compile Time Dependency Injection в С++: как обуздать зависимости не прибегая к позднему связыванию

Уровень сложностиСредний
Время на прочтение26 мин
Количество просмотров7.4K

Начав свою карьеру в качестве C# разработчика, я постоянно сталкивался с использованием техники внедрения зависимостей (Dependency Injection). За то время, что я работаю с C++, я не заметил здесь такого же широкого распространения этой идеи.

В то же время мне показалась весьма интересной такая возможность C++, как написание кода, который частично либо полностью может быть выполнен на этапе компиляции.

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

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

Как собрать бюджетный умный дом. Общие принципы проектирования на оборудовании Wiren Board

Уровень сложностиСредний
Время на прочтение28 мин
Количество просмотров38K

Сборник коротких рецептов по автоматизации инженерных систем дома, офиса и любого другого объекта на оборудовании Wiren Board.

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

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

ESP32 в окружении VSCode

Время на прочтение15 мин
Количество просмотров40K

В нескольких следующих статьях я хотел бы детально рассмотреть настройку окружения VSCode для работы с фреймворком ESP-IDF. Не совсем популярная комбинация ПО обладает как преимуществами, так и недостатками, которые при детальном рассмотрении мы попытаемся исправить, обойти или превратить в достоинства.

Изыскания проводятся в рамках разработки программно-аппаратного комплекса полетного контроллера на чистых кватернионах, без применения углов Эйлера.

Поскольку предполагается многопользовательская удаленная разработка, то мы решили вначале отработать выбор и настройку самой среды разработки. После нескольких экспериментов с Eclipse, Visual Studio и QT Creator выбор пал на кроссплатформенный VSCode и плагин от разработчика Espressif IDF для работы с фреймворком ESP-IDF.

В качестве «сердца» контроллера рассмотрим двухъядерный микроконтроллер ESP32, который обладает рядом преимуществ, и которые планируется использовать и раскрыть в проекте, а именно:

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

Самый роскошный радиоконструктор с Али

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров59K


Вы бы хотели собрать своими руками девятидиапазонный супергетеродинный радиоприёмник с верньером, в прочном красивом корпусе с решёткой громкоговорителя из перфолиста, с отсеками для пальчиковых батареек AA и литиевого аккумулятора BL-5C и даже с функцией неплохого светодиодного фонарика?

Если вы имеете минимальный опыт пайки электронных компонентов поверхностного монтажа, то этот радиоконструктор на основе легендарной микросхемы 2003 вас очень порадует.

Вы спросите, разве на усилителе мощности звуковой частоты TDA2003 или UTC2003 можно построить серьёзный радиоприёмник? Или, может быть, на ULN2003, которую многие привыкли называть «драйвером шагового двигателя», тогда как на самом деле это сборка из семи дарлингтоновых пар?

Сегодня пойдёт речь и о них, и о CD2003 (TA2003) — одной из самых удачных аналоговых микросхем для АМ/ЧМ радио.
Читать дальше →
Всего голосов 41: ↑38 и ↓3+35
Комментарии53

Windows — причина медленного интернета

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров102K

Если вы столкнулись с «особой» проблемой медленного интернета и никакие танцы с бубном вам не помогают, то это статья для вас.

Провайдер, роутер, интернет-кабели, rg-45, обжимка, cat5e, порты, драйвера, программы уменьшающие скорость, утилиты, вирусы, настройки сетевого адаптера — это не какие-то страшные слова, на самом деле это всё не причина замедления интернета. В случае, если вы прошли всю эту цепочку и ничего не изменилось, тогда читайте дальше.

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

Читать далее
Всего голосов 167: ↑161 и ↓6+155
Комментарии316

Подпись коммитов в git при помощи gpg

Уровень сложностиПростой
Время на прочтение13 мин
Количество просмотров9K

В этой статье я расскажу о том, как и зачем подписывать и верифицировать коммиты в git при помощи gpg.

Читать далее
Всего голосов 25: ↑23 и ↓2+21
Комментарии19

Циклоидный редуктор + BLDC мотор своими руками

Уровень сложностиСложный
Время на прочтение9 мин
Количество просмотров16K

Всем привет! Эта статья открывает собой серию статей по разработке манипулятора. Тут я попробую рассказать о циклоидном редукторе и зачем он вообще мне понадобился. Разумеется, мы проведём его расчёт и воплотим его в физическое представление при помощи PLA пластика. Ну и как бонус соберём из хлама BLDC мотор для тестирования этого редуктора. Погнали.
Читать дальше →
Всего голосов 102: ↑102 и ↓0+102
Комментарии111

1-Wire датчик QT18B20 — долгожданный аналог DS18B20 или очередная подделка? Исследуем в лаборатории

Время на прочтение10 мин
Количество просмотров20K

DS18B20 — хороший цифровой датчик температуры, популярный не только у ардуинщиков, но и у проектировщиков автоматизаций инженерных систем.

Но есть нюанс — DS18B20 часто подделывают, что заставляет проверять каждую купленную партию на оригинальность. И вот однажды нам попалась не просто очередная подделка, а почти настоящий аналог со своим даташитом. Почему «почти»? Подробности под катом.

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

Подключение инкрементального энкодера к микроконтроллеру ATmega8

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров4.2K

Типовая схема подключения энкодера к микроконтроллеру ATmega8 представлена на рисунке 1. На схеме тактовые выводы A и B подтянуты с помощью резисторов R1 и R2 к питанию и дают низкий сигнал при срабатывании.

Читать далее
Всего голосов 18: ↑14 и ↓4+10
Комментарии19
1
23 ...

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Зарегистрирован
Активность