Pull to refresh
-11
0.6
Send message

Как использовать S3-хранилище в Kubernetes: руководство с примерами

Reading time11 min
Views5.1K

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

Привет, Хабр! Меня зовут Филипп, я DevOps-инженер в Selectel. В своей обзорной статье хочу разобрать, какие есть решения для работы с объектным хранилищем из K8s. Соберу тестовый стенд из кластера Managed Kubernetes и покажу, как установить и настроить нужные компоненты через Terraform. Начинаем!
Читать дальше →
Total votes 25: ↑25 and ↓0+29
Comments5

Новее, мощнее и лучше: одноплатник Orange Pi 5 Max. Что за устройство?

Reading time3 min
Views9.2K

Источник
Одноплатников становится больше. Часто появляются весьма удачные модели, которые можно использовать как в DIY-проектах, так и на производстве. Сегодня поговорим о новом девайсе — Orange Pi 5 Max. По словам разработчиков, у новинки современный модуль связи, есть поддержка SSD и много других технических особенностей. Поехали!
Читать дальше →
Total votes 23: ↑22 and ↓1+32
Comments15

Свой контроллер для Oculus Quest 2 на ESP32

Level of difficultyEasy
Reading time8 min
Views2.9K
Стандартные контроллеры популярных VR-гарнитур имеют сильно ограниченные возможности взаимодействия с виртуальным миром и некоторые задачи управления им практически не под силу, напр. имитация руля с коробкой передач. По схожей причине в мире игр уже давно существуют кастомные контроллеры и, пожалуй, наиболее известные из них — световой пистолет для NES и гитара Guitar Hero. У VR такого разнообразия нет, и отчасти из-за того, что производители не спешат предоставлять возможность подключения стороннего оборудования. Как это исправить и сделать свой контроллер для ходьбы — под катом.
Читать дальше →
Total votes 5: ↑5 and ↓0+8
Comments3

Вычисление любого математического выражения в C# (.NET)

Level of difficultyMedium
Reading time3 min
Views1.4K

Для улучшения возможностей научных вычислений в C# я реализовал evaluator, способный вычислять любое математическое строковое выражение с исключительной производительностью. Он также поддерживает пользовательские переменные и функции. Библиотека .NET под названием MathEvaluator и её документация доступны на GitHub.

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

Читать далее
Total votes 6: ↑5 and ↓1+8
Comments23

ИТ с пеленок: игры, которые знакомят детей с программированием. Часть 2

Reading time4 min
Views1.3K

Привет, Хабр! Меня зовут Дарья Фролова. Я редактор в МТС Диджитал, а еще — родитель, который старается подбрасывать детям полезный контент получается не всегда.

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

Читать далее
Total votes 7: ↑6 and ↓1+12
Comments1

Каждая капля на счету или как я счетчик умным делал

Level of difficultyMedium
Reading time9 min
Views14K


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

В предыдущей статье я уже описывал бюджетное решение для интеграции электросчетчика в системы умного дома, где всё было реализовано на базе своего DIY устройства. Но не только из электросчетчика состоит «домашний» учет энергоресурсов, поэтому в данной статье хочу поделиться личным опытом разработки аппаратного устройства для интеграции бытовых счетчиков воды в системы домашней автоматизации. Присоединяйтесь, будет интересно!
Читать дальше →
Total votes 34: ↑34 and ↓0+44
Comments58

Как я решил сделать серию видео про устройство интерпретатора CPython

Level of difficultyEasy
Reading time4 min
Views4.8K

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

Давайте знакомиться: меня зовут Никита Соболев, я core‑разработчик CPython, mypy и typeshed. Некоторое время назад я понял, что на русском языке довольно мало контента про устройство CPython внутри. В основном доклады с конференций и статьи. Где‑то про память, где‑то про GIL, где‑то про парсер. Но чтоб системно и по всем основным частям в одном месте — такого я не нашел.

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

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

ИТ с пеленок. 6 игр, которые познакомят детей с программированием. Часть 1

Reading time3 min
Views11K

Если ты влюблен в программирование, перетащить своего ребенка «на эту сторону» тоже однажды захочется. Годовасику про JSON рассказывать, конечно, рано (хотя за колыбельную прокатит), а вот с детьми 4+ уже можно прикоснуться к основам. Помогут в этом специальные игры для детей — 6 из них собрали в этом посте. Некоторые подойдут для дошкольников, другие — для детей постарше.

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

Читать далее
Total votes 20: ↑19 and ↓1+23
Comments13

10 лет с солнечной электростанцией

Level of difficultyEasy
Reading time9 min
Views33K

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

Читать далее
Total votes 116: ↑113 and ↓3+135
Comments305

Аккумуляторы жадного человека

Level of difficultyMedium
Reading time4 min
Views25K

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

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

Всё это сильно раздражает жабу и требует найти возможность использовать всю имеющуюся в аккумуляторах энергию. И заряжать до максимума и не больше. Как же у каждого аккумулятора взять столько энергии сколько он может дать, и зарядить до максимального уровня не теряя на балансировке?

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

Исследуя мир изображений: PicTrace и искусственный интеллект в действии

Level of difficultyHard
Reading time5 min
Views939

.В современном мире, где количество визуальной информации растет с каждым днем, умение быстро и точно находить аналогичные изображения становится все более важным. Представьте, что вы можете загрузить изображение, и в считанные секунды получить список самых похожих на него картинок из большой базы данных. Звучит интересно? Именно этого я добиваюсь достичь в своём веб‑приложение — PicTrace.

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

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

.NET на SBC максимально канонично

Level of difficultyEasy
Reading time11 min
Views6.7K

В интернетах всегда кто‑то не прав. В этот раз, по моему максимально предвзятому мнению, оказался не прав @bodyawm. Для меня.NET в каждой бочке затычка, поэтому меня бобмануло от использования mono в 2024 году. В этой статье я покажу своё видение того, как максимально канонично и современно писать на.NET для GNU/Linux и SBC (Single‑board computer, aka одноплатник).

Читать далее
Total votes 45: ↑45 and ↓0+62
Comments8

Умная квартира с террасой на крыше: осталось уговорить мужа

Level of difficultyEasy
Reading time6 min
Views3.9K

Людмила и Леонид приобрели трехкомнатную квартиру 180 м² в Казани с черновой отделкой на 18 этаже, к которой на крыше примыкала терраса площадью 50 м², — можно выбраться из «человейника» и побыть на свежем воздухе. Такую большую квартиру обязательно стоит сделать умной, решила Людмила.

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

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

Читать далее
Total votes 13: ↑12 and ↓1+15
Comments40

pytest-unordered: сравнение коллекций без учёта порядка

Level of difficultyEasy
Reading time6 min
Views2.7K

Во время работы над проектом на Django Rest Framework (DRF) я столкнулся с необходимостью писать тесты для API, которые возвращали неотсортированные данные. Сортировка данных в API не требовалась, и делать её только ради тестов казалось нелогичным. Использовать для решения этой задачи множества оказалось невозможным, так как элементы множества должны быть хэшируемыми, коими словари не являются. Я искал встроенный способ сравнивать неотсортированные данные в pytest, но таких средств не нашёл. Зато наткнулся на обсуждение в сообществе pytest, где пользователи просили реализовать такую возможность, а разработчики pytest предлагали сделать это кому-то другому в виде плагина. Так родилась идея создания pytest-unordered.

Читать далее
Total votes 8: ↑7 and ↓1+10
Comments13

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

Reading time11 min
Views2.6K

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

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

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

Level of difficultyEasy
Reading time13 min
Views108K

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

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

Читать далее
Total votes 165: ↑160 and ↓5+188
Comments102

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

Level of difficultyMedium
Reading time4 min
Views6.1K

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

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

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

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

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

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

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

Level of difficultyEasy
Reading time23 min
Views2.7K

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

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

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

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

Level of difficultyEasy
Reading time10 min
Views14K

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

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

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

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

Reading time8 min
Views3.8K

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

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

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

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

Information

Rating
1,753-rd
Registered
Activity

Specialization

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