Search
Write a publication
Pull to refresh
4
0
Michael Elin @vanelm

Consulting Network Engineer

Send message

Вы тоже заказываете платы, компоненты и всячину здесь?

Reading time11 min
Views33K

Что такое коллективный экспресс (7$/кг) и как его использовать?

Почему с 45$/кг бывает дешевле, чем с 23$/кг?

Как заказать компоненты/всячину с сайтов JLC (jlcfa, lcsc, jlcpcb, …)?

С 1688, Тао бао и других китайских площадок?

Привезти из Европы, США (Маузера, Диджикея и т. д.)?

Где платы с размерами >100х100 мм будут дешевле?

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

Читать далее

Применение языка Python в инженерной практике. Точность измерений и вычислений. Погрешности и неопределённости

Level of difficultyMedium
Reading time5 min
Views3.7K

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

Погрешность измерения — это отклонение измеренного значения величины от её истинного (действительного) значения. Погрешность измерения является характеристикой точности измерения. Выяснить с абсолютной точностью истинное значение измеряемой величины, как правило, невозможно, поэтому невозможно и указать величину отклонения измеренного значения от истинного. Это отклонение принято называть ошибкой измерения. Возможно лишь оценить величину этого отклонения, например, при помощи статистических методов. На практике вместо истинного значения используют действительное значение величины x_Д, то есть значение физической величины, полученное экспериментальным путём и настолько близкое к истинному значению, что в поставленной измерительной задаче может быть использовано вместо него. Такое значение обычно вычисляется как среднестатистическое значение, полученное при статистической обработке результатов серии измерений. Это полученное значение не является точным, а лишь наиболее вероятным. Поэтому при записи результатов измерений необходимо указывать их точность. Например, запись T = 2.8 \plusminus 0.1 \; s \\; \; P = 0.95 означает, что истинное значение величины T лежит в интервале от 2.7 s до 2.9 s с доверительной вероятностью 95%. Количественная оценка величины погрешности измерения — мера сомнения в измеряемой величине — приводит к такому понятию, как неопределённость измерения. Синонимом термина "погрешность измерения" (англ. measurement error) является "неопределённость измерения" (англ. measurement uncertainty). Таким образом мы плавно и ненавязчиво подошли к названию модуля языка Питон, которому посвящён настоящий туториал - uncertainties (неопределённости).

Читать далее

Расследование: Почему Let's Encrypt не видит TXT-запись? Детективная история с wildcard-сертификатами на DNS Selectel

Level of difficultyEasy
Reading time4 min
Views2.8K

Привет, Хабр! Я разработчик сервиса Leopult.ru— платформы для создания сайтов муниципальных учреждений. Уже 11 лет мы помогаем десяткам тысяч клиентов в России запускать и поддерживать их веб-ресурсы. Сегодня я расскажу о своем расследовании загадочной ошибки при выпуске wildcard-сертификатов через Let's Encrypt.

Если вы сталкивались с acme: error: 403 :: urn:ietf:params:acme:error:unauthorized :: No TXT record found, то эта история для вас. Погрузимся в мир DNS, API и, возможно, теней РКН, чтобы понять, почему сертификаты перестали выдаваться, и как я это починил.
Спойлер: виноваты не только DNS-серверы!

Читать далее

Создание wildcard сертификата от Let`s Encrypt

Level of difficultyEasy
Reading time4 min
Views5K

Данный туториал является компиляцией информации по выпуску wildcart сертификата от let`s encrypt, с полезными дополнениями, без которых выпуск сертификата оказывается затруднительным. В статье используется bind9 - dns сервер и предполагается что вы уже делегировали ваш домен на свои DNS сервера.

Читать далее

Создаём свою легкую реализацию LISP'а на Python

Reading time5 min
Views1.9K

Всем привет! Сегодня мы с вами сделаем реализацию LISP'а. Конечно же не полного.

Возможно, когда то я доведу этот лисп до ума и напишу новую статью... Но не обещаю.

Читать далее

Мониторим ONU/ONT с помощью Python/Flask и snmpwalk

Level of difficultyEasy
Reading time4 min
Views2.7K

Всем привет. Я сетевой инженер в интернет провайдере. В данном посте я расскажу, как я сделал для техподдержки инструмент, для мониторинга абонентских ONU на Python. И избавился от кучи ручной работы.

Читать далее

Проектирование контроллера двигателей с GitHub Copilot

Reading time8 min
Views6.1K

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

Читать далее

Введение в WebRTC

Level of difficultyMedium
Reading time15 min
Views6.7K

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

Читать 📞📞📞

Первые анекдоты о программистах: как выглядел юмор айтишников в 1996-1998 годах?

Level of difficultyEasy
Reading time16 min
Views88K

Задолго до появления и падения Башорга, в ноябре 1995 года, в юном ещё Рунете появился сайт Анекдот.ру. Он остался в истории как первый русскоязычный ресурс с почти ежедневными обновлениями — и сразу же был завален тысячами популярных в домемную эпоху анекдотов. В отличие от многих сайтов Веб 1.0, включая возникшего позже конкурента Kulichki, он продолжает функционировать по сей день — и представляет собой старейший архив юмора Рунета ещё до появления мемов в современном понимании. Большинство из размещённых там шуток представляют собой выложенные в сети анекдоты на оффлайновые темы, бытовавшие в обществе того времени — но на Анекдоте.ру можно наблюдать, как в это пространство проникали, закреплялись и становились популярными шутки программистов и о программистах на околокомпьютерные темы. Совершим небольшую экскурсию и вспомним времена зарождения IT-юмора на русском языке с характерными чертами эпохи: боль от Windows 95, хейт к Биллу Гейтсу, вопиющая компьютерная безграмотность «юзверей», неспособных найти «эни кей», популярность DOOM-2 и прочее, прочее, прочее.
Читать дальше →

Как я встраивал wysiwyg редактор в свой django проект

Level of difficultyEasy
Reading time3 min
Views1.6K

Разрабатывая сервис генерации AI курсов, я столкнулся с тем, что мне захотелось решить вопрос с удобным редактированием уроков.

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

Почитав разные статьи про то, какие есть редакторы, я остановился на TinyMCE.

Читать далее

Автоматизация рутины в Postman (часть 1): 10 pre-request скриптов, которые мне упростили жизнь

Level of difficultyMedium
Reading time22 min
Views10K

Если вы ежедневно работаете с API-тестированием и используете Postman, то наверняка сталкиваетесь с повторяющимися задачами: ручное получение и обновление токенов авторизации, изменение параметров запросов для разных сред разработки, копирование данных из ответов для использования в следующих запросах. Эта рутина отнимает время и силы, а также увеличивает вероятность ошибок. Что если большую часть этих действий можно автоматизировать?

В этой серии из двух статей мы пошагово разберем 10 самых полезных pre-request и 10 post-request скриптов, которые, по моему опыту, являются наиболее востребованными при тестировании API, особенно для начинающих QA инженеров. В этой и следующей статьях выполнено ранжирование этих скриптов по их важности и частоте использования, чтобы вы могли сразу осваивать и применять на практике самые необходимые из них. Каждый из 20 скриптов будет сопровождаться простым, понятным примером кода на JavaScript, готовым к применению, а также примерами из практики.

Читать далее

Как работает fillfactor и как его настраивать вручную в PostgreSQL

Level of difficultyEasy
Reading time4 min
Views2.5K

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

Сегодня рассмотрим, как работает fillfactor в PostgreSQL — тот самый параметр, который никто не трогает, пока таблицы не начинают раздуваться как на дрожжах. Разберём, зачем он нужен, что происходит при UPDATE, когда стоит менять его вручную и как не наломать дров.

Читать далее

Как писать красивый и чистый код питонистам?

Level of difficultyEasy
Reading time6 min
Views8.9K

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

Читать далее

Настройка среды разработки: VSCode, Docker для Python-проектов. Debug внутри контейнера

Level of difficultyEasy
Reading time9 min
Views7.8K

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

Читать далее

«Зачем нужна шина данных, если есть Apache Kafka?» и еще 3 популярных аргумента против ESB

Reading time5 min
Views5K

На связи Сергей Скирдин, технический директор ИТ-интегратора «Белый код». Недавно получил такой комментарий к одному из обзоров ESB: «Я считаю, что интеграционные платформы больше не нужны», а спустя время в Телеграм-сообществе «Шины не для машины» развернулась дискуссия на тему «Паттерн ESB безнадежно устарел». Решил собрать в одной статье популярные вопросы по теме и ответить на них.

Читать далее

Как мы подняли современный портал документации из россыпи .md файлов: пошаговое руководство по MkDocs + Material

Level of difficultyMedium
Reading time5 min
Views4.4K

От хаоса в Markdown-файлах до стильного, быстрого сайта с поиском, темами и мультиязычностью за один вечер.
В жизни почти каждого IT-проекта наступает момент, когда количество файлов README.md, GUIDE.md, docs.txt и заметок в Confluence достигает критической массы. Документация становится фрагментированной, поиск нужной информации превращается в квест, а новые члены команды тратят часы на то, чтобы просто понять, "что где лежит".

Читать далее

Docker + Neovim: поднимаем конфиг на любом сервере и не засоряем систему

Level of difficultyEasy
Reading time6 min
Views7.8K

Иногда нужно запустить nvim на старом сервере. Но тут сразу куча проблем: одно не поставить, другое не собрать, а если что-то обновить — можно развалить весь проект.

Этот подход удобен и для новых систем. Docker позволяет поднять nvim с последним Python, nvim-treesitter и своим конфигом прямо в контейнере, не засоряя основную ОС.

При этом можно редактировать локальные файлы на сервере так, как будто nvim установлен на самой системе. В статье показано, как всё это запустить на CentOS 7.
А если заработало там — значит, на любом современном Linux тем более проблем не будет.

Читать далее

Практическое использование Kafka в микросервисных приложениях на примере Open Source платформы Ensi

Level of difficultyMedium
Reading time11 min
Views8.5K

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

Решать выше перечисленные проблемы можно разными способами. В своей работе в компании Greensight в качестве senior backend developer при разработке заказных проектов на базе Open Source платформы Ensi, я с коллегами перепробовал множество решений.

Данная статья описывает практическое использование Kafka в микросервисных приложениях для решения этих проблем.

Читать далее

Навсегда избавляемся от дребезга и дружим микроконтроллер с кнопкой

Reading time4 min
Views13K

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

Читать далее

Как я проектирую и разрабатываю реальные расширения для Python на Rust

Reading time14 min
Views4.2K

Вы, вероятно, уже видели немало статей с заголовками вроде «Python, Rust — производительность, бла-бла-бла…». Печально, но почти все эти статьи демонстрируют лишь самые простые примеры уровня «hello world». В отличие от них, в этой статье я хочу поделиться тем, как я проектирую крупные расширения для реальных проектов и почему принимаю при этом те или иные решения.
Читать дальше →
1
23 ...

Information

Rating
Does not participate
Location
Praha, Hlavni Mesto Praha, Чехия
Registered
Activity