Pull to refresh
-22
-1.1
Send message

Повышаем надёжность промышленного оборудования с помощью компьютерного зрения

Reading time11 min
Views2.9K

Привет, Хабр! Меня зовут Павел Криницин. Я работаю на крупном металлургическом предприятии по производству и переработке алюминиевой продукции, где слежу за работой оборудования. В этой статье я расскажу, как мы исследовали способы раннего диагностирования повреждений конвейерных лент с применением компьютерного зрения. Эта статья будет полезна широкому кругу специалистов, занятых в различных областях промышленности, где применяют конвейерные транспортные системы. Описанные в статье подходы делают диагностику оборудования и поиск дефектов более точными, а планирование ремонтных работ — более эффективным.

Читать далее
Total votes 12: ↑12 and ↓0+12
Comments6

Что нового в мире обхода блокировок Интернета в середине 2024

Level of difficultyEasy
Reading time13 min
Views158K

Представляю вашему вниманию короткий обзор что же произошло в России и в мире в области цензуры интернета и того, как этому противостоят энтузиасты. На всякий случай напоминаю, что статья «Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному» заблокирована на Хабре для пользователей из РФ, но по‑прежнему без проблем открывается через прокси/VPN с иностранных адресов. Ну а мы сейчас разберем, что же изменилось с тех пор.

Сегодня в программе: Замедление YouTube — проблемы с Google Cache или намеренное вредительство? Можно ли заблокировать Shadowsocks и как РКН смог это сделать? Новые транспорты в XRay: HTTPUpgrade и SplitTunnel. Новости из мира Tor, и многое другое.

Читать далее
Total votes 167: ↑162 and ↓5+190
Comments105

Строим плоскую L2-сеть между ВМ и железом в разных локациях

Level of difficultyMedium
Reading time4 min
Views7.5K

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

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

В ряде случаев вам и вовсе придется объединить эти подходы. Такую задачу легко решить, если достаточно L3-связности между виртуальными и физическими серверами. Например, между масштабируемым отказоустойчивым кластером веб‑приложений на виртуальных машинах (ВМ) и кластером баз данных на физических серверах.

Но иногда требуется объединить сервисы в L2-сеть. Например, на ВМ у вас установлен DCImanager — наша платформа для управления ИТ‑инфраструктурой. DCImanager должен управлять физическими серверами. Если всё ваше железо расположено физически в одном месте и у вас есть доступ к сетевому оборудованию, останется лишь настроить VLAN на портах коммутаторов и в гипервизоре (например, в системе управления виртуализацией VMmanager)

Что делать, если ваше оборудование расположено в разных локациях и доступа к коммутаторам и маршрутизатором дата‑центра нет? В таком случае необходимо настроить L2VPN между вашими площадками. Далее поделюсь одним из способов решения такой задачи.

Читать далее
Total votes 4: ↑4 and ↓0+6
Comments3

Переписывая историю: от инструментов версионирования БД к практике

Level of difficultyEasy
Reading time23 min
Views3.2K

Пожалуй, почти каждый Spring разработчик сталкивается в своей практике с версионированием баз данных. На эту тему есть отличный доклад на Joker 2023 от Александра Шустанова, в котором спикер сравнивает 2 самых популярных инструмента для миграций БД: Flyway и Liquibase. Редакция Spring АйО приводит транскрипт доклада, для тех, у кого нет 45 минут для просмотра видео.

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

Читать далее
Total votes 11: ↑10 and ↓1+11
Comments11

Как собрать дешевую клавиатуру дорого

Level of difficultyEasy
Reading time10 min
Views15K

Я не паял примерно десять лет и идея собрать какой‑то гаджет пришла спонтанно. Мы делали довольно крупный проект, моя задача была писать бекенд на Rust, что на расте я делал впервые и довольно сильно уставал. Так что задумавшись над способами релаксации решил немного помахать паяльником.

Чтобы не перегружаться еще сильнее, изучением углубленных мануалов, решил купить готовый набор компонентов и плат. Здесь на Хабре я и узнал про их существование. Пайка и сборка отняла около трех дней. Работал по вечерам и в выходные. Сейчас сборка уже окончена и результатом я доволен, но на работу эту клавиатуру я не возьму. И работать на ней не буду.

Читать далее
Total votes 24: ↑23 and ↓1+33
Comments42

Карты, шлейфы, два чипа, или Аппаратный менеджер паролей для особых случаев

Reading time8 min
Views4.2K

Менеджер паролей — штука удобная, а иногда и незаменимая, ведь количество комбинаций, которые приходится помнить среднестатистическому ИТ-специалисту, не позволяет ему рассчитывать только на собственную память. Подобные менеджеры давно научились генерировать не только пароли требуемой сложности, но и автоматически вводить их в типовые экранные формы. Наиболее продвинутые решения умеют входить в аккаунт в сложных, заранее настроенных сценариях. Вот только в ситуациях, когда парольный менеджер недоступен (например, при локальном входе в систему), пароль приходится вводить «по старинке». Кроме того, существуют специфические риски: при компрометации мастер-пароля (что нередко происходит при взломе пользовательского устройства) все пароли пользователя считаются украденными. Это значительный риск, в особенности для ИТ-администраторов.

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

Если пароли администратора не могут храниться в программном менеджере паролей, то, возможно, проблему решит программно-аппаратное устройство, подключаемое к нужному хосту лишь на время использования. Такое устройство обладало бы основными возможностями обычных программных менеджеров паролей, но при этом было бы более устойчивым к атакам. Энтузиасты уже создали множество подобных решений для личного использования, и было бы странно создавать еще одно. Однако у всех них наблюдаются проблемы с безопасностью, от которых я решил попробовать избавиться. Тем более что это техническое творчество помогло мне скоротать несколько холодных вечеров :) Рассказываю, что из этого получилось.

Читать далее
Total votes 15: ↑14 and ↓1+20
Comments15

«Некрасивое» получение TCP-статистики существующего сетевого соединения в desktop-приложении .NET для Windows

Level of difficultyMedium
Reading time4 min
Views1.6K

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

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

Эта заметка о том, как без использования Wireshark добавить в приложение.NET Framework /.NET 5+ для Windows код получения статистики TCP‑соединения (количество перезапрошенных (retransmitted) и переупорядоченных (reordered) байт, а также некоторую другую информацию).

Вполне вероятно, эти данные пригодятся и вам — если вы используете долгоживущие или «бесконечные» TCP‑соединения (по типу Twitter Streaming API).

Итак, приступим!

Читать далее
Total votes 5: ↑5 and ↓0+7
Comments0

Битый или небитый? Как обеспечить целостность данных в Postgres Pro

Level of difficultyEasy
Reading time9 min
Views4.6K

Следим за целостностью данных в PostgreSQL. Мысль о возможной катастрофе неприятна, поэтому люди часто не принимают серьезных предупредительных мер.

Администратор любой IT системы должен знать о всех возможных проблемах, которые могут возникнуть на вверенном ему оборудовании: аппаратные сбои системы хранения, сбои файловой системы, повреждения страниц в оперативной памяти, сбои в кэше хранилищ и так далее. Для серверов баз данных выявление и исправление таких ошибок особенно важно, так как информация в БД должна быть в согласованном состоянии и некорректность только части данных портит БД целиком. В этой статье мы расскажем с помощью каких инструментов можно защитить ваши данные в СУБД Postgres и обнаруживать ошибки до того, как они становятся реальными проблемами.

Читать далее
Total votes 11: ↑11 and ↓0+17
Comments5

5 небанальных проектов на базе одноплатников — от сортировки конфет и счетчика пчел до медицины

Reading time4 min
Views9.5K

На основе одноплатных компьютеров, особенно Raspberry Pi, можно сделать очень многое. Любители электроники постоянно выпускают новые устройства и могут соревноваться друг с другом в находчивости. Несколько таких необычных работ мы собрали под катом. А если у вас есть свой такой проект — расскажите о нем в комментариях, будет интересно!

Читать далее
Total votes 16: ↑16 and ↓0+25
Comments10

Применение Identity Server 4 в распределенном монолите

Level of difficultyEasy
Reading time6 min
Views1.9K

Некоторое время назад перед нами возникла задача разграничения прав доступа к ресурсам, то есть задача аутентификации и управления аутентификацией. Поскольку архитектура основных проектов представляла нечто похожее на распределенный монолит, мы решили остановиться на Identity Server.

Читать далее
Total votes 1: ↑1 and ↓0+3
Comments12

Docker для Angular-приложений: от простого к несложному

Level of difficultyMedium
Reading time16 min
Views5.3K

Привет, Хабр! Меня зовут Артём, я разрабатываю фронтенд систем управления сетью в YADRO. С Docker знаком давно и часто его использую. Но когда столкнулся с задачами, где недостаточно просто скопировать шаблонный Docker-файл и подправить пару строчек, решил больше погрузиться в эту тему. 

В статье я разберу типовые вопросы, связанные с запуском Angular-приложений в контейнерах, — это поможет в дальнейшем справиться с более замысловатыми задачами. Текст будет полезен тем, кто уже что-то знает про Docker, но не углублялся в детали или хочет освежить знания на практике.

Читать далее
Total votes 18: ↑17 and ↓1+18
Comments4

Встречаем Orange Pi CM5: альтернативу Raspberry Pi CM4 с 16 ГБ ОЗУ и 256 ГБ eMMC

Reading time3 min
Views12K

Источник: 3dnews
Некоторые из одноплатников, которые вышли за последний год, по характеристикам едва ли не равны ряду ноутбуков с невысокой производительностью. Это можно сказать о пятой «малинке». Кроме того, сейчас появился еще один девайс — Orange Pi CM5, характеристики которого тоже на высоте. Давайте посмотрим, что это за девайс.

Читать дальше →
Total votes 27: ↑27 and ↓0+36
Comments21

Четыре принципа разработки ПО, которым я научился на горьком опыте

Reading time4 min
Views24K
Недавно я спроектировал и написал огромный сервис, и в прошлом месяце (наконец-то) состоялся его запуск. В процессе проектирования и имплементации я обнаружил, что ряд закономерностей, которые я приведу ниже, раз за разом всплывает в самых разных сценариях.

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

Хотелось бы отметить здесь одну вещь: разумеется, для каждого из принципов есть свое место и время. Как и во всех прочих случаях, важно учитывать нюансы. Я склонен держаться этих заключений в общем случае, по той причине что, как я вижу по опыту инспекции кода и документации, люди часто принимают противоположный образ действия как вариант по умолчанию.
Читать дальше →
Total votes 47: ↑45 and ↓2+54
Comments55

Делаем вентилятор умным или как улучшить микроклимат в ванной комнате с помощью домашней автоматизации

Level of difficultyMedium
Reading time6 min
Views31K


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

Наверное многие из вас понимают, что одним из ключевых моментов при эксплуатации ванной комнаты является поддержание оптимального микроклимата, поскольку избыточная влажность создает идеальную среду для развития плесени и грибка на любых пористых поверхностях, будь-то штукатурка или межшовное пространство кафеля. Для нормализации уровня влажности, в первую очередь необходимо обеспечить нормальную вентиляцию, как правило, данная задача решается установкой вытяжного вентилятора. Вместе с тем, для обеспечения эффективности, немаловажно автоматизировать процесс работы вытяжной вентиляции. В данной статье я хочу поделиться своим опытом реализации «домашней» автоматизации для решения этого вопроса. Впереди DIY и много картинок, присоединяйтесь!
Читать дальше →
Total votes 50: ↑49 and ↓1+59
Comments85

Создание 3D модели местности по видео с дрона

Reading time3 min
Views8.2K

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

Читать далее
Total votes 14: ↑13 and ↓1+17
Comments29

Markdown в IntelliJ IDEA как отдельный вид искусства. Рисуем диаграммы и вызываем bash команды

Level of difficultyEasy
Reading time3 min
Views12K

Spring разработчики часто пишут документацию и README/HELP файлы к своим приложениям. Часто это делается в Markdown файлах. Markdown плагин в IntelliJ IDEA распознает файлы, предоставляет специальный редактор с подсветкой, автокомплитом и форматированием, а также дает визуальное отображение в панели предварительного просмотра в реальном времени. Кроме стандартной функциональности в IntelliJ IDEA есть пару уникальных фич, которые команда Spring АйО хотела бы выделить особенно.

Читать далее
Total votes 22: ↑21 and ↓1+21
Comments13

Mamiya C330 – средний формат для портретов и не только

Level of difficultyEasy
Reading time5 min
Views5.6K

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

Читать далее
Total votes 8: ↑8 and ↓0+9
Comments17

Google Colab вместо Jupyter Notebook: плюсы и особенности работы для новичков

Level of difficultyMedium
Reading time5 min
Views6K

Привет! Меня зовут Ольга Матушевич, я наставница на курсе «Аналитик данных» в Яндекс Практикуме. С Jupyter Notebook я впервые столкнулась шесть лет назад, когда начала изучать Python и анализ данных. И именно установка Jupyter Notebook стала самым сложным этапом моей учёбы — ни чистка данных, ни градиентный бустинг, ни бутстрэп не доставляли мне столько трудностей.

Если установка программного обеспечения даётся вам так же трудно, то эта статья для вас. В ней я рассказываю о не требующем установки сервисе Google Colab, сравниваю его с Jupyter Notebook и даю советы для лёгкого старта.

Читать далее
Total votes 5: ↑3 and ↓2+1
Comments11

Большие и не очень технологии в маленьком доме

Level of difficultyEasy
Reading time6 min
Views3.3K

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

Читать далее
Total votes 7: ↑7 and ↓0+7
Comments22

Git. Скачем между ветками как древесные лягушки

Level of difficultyEasy
Reading time6 min
Views26K

Статей на тему много, но, видимо, недостаточно: время от времени слышу от коллег (последние 10 лет, в 4-х разных компаниях):

«Не могу пошарить экран с кодом, у меня другая ветка сейчас».

«Не хочу переключать ветку, придется запускать кодогенерацию, у меня сбросятся build-файлы, потом это опять пересобирать!»

«Стаскивать ветку для просмотра ПР? Это же неудобно, надо "стэшить" изменения, ветку переключать».

Читать далее
Total votes 85: ↑85 and ↓0+101
Comments71

Information

Rating
Does not participate
Registered
Activity

Specialization

Fullstack Developer
Middle
C#
.NET Core
ASP.Net
Docker
Git
Linux
Python
English
SQL