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

Администрирование

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

Вызовы автоматизации: NFC-метки на металлической поверхности

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

О самой технологии NFC (Near Field Communication) написано множество статей, в том числе и здесь на Хабре. Активно данная технология находит применение в промышленности.  В частности, компанией «Сибур», ведущим игроком в области нефтехимической промышленности, в целях повышения эффективности и для обеспечения контроля и автоматизированного сбора информации внедрены тысячи защищенных NFC-меток. «Защищенность» подразумевает наличие сертификата по соответствующему классу взрывозащиты. Вообще на объектах такого уровня все устройства должны быть взрывозащищенными, так как их применение предполагается во взрывоопасных средах.

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

Обнаружение SSH-туннелей по размеру пакетов

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

Иллюстрация из книги «Справочник киберсантехника»

Протокол SSH — очень мощный инструмент, который используется для удалённой консоли или передачи файлов (scp, sftp). Есть менее известная функция перенаправления портов. Такие SSH-туннели используются для пробития файрволов и хорошо скрываются от обнаружения стандартными средствами мониторинга типа Trisul, Zeek (ранее был известен как Bro), Suricata и Snort. Поэтому для их обнаружения в корпоративной сети используются другие методы.
Читать дальше →
Всего голосов 73: ↑69 и ↓4 +65
Комментарии 23

Настраиваем логирование с помощью Loki и Grafana

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

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

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

Минимализм / Минималист / TMUX.config

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

Заметили, что мир становится намного красочнее, пестрее, ярче и контрастнее?

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

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

В ИТ мире тоже происходит такой сдвиг, программы для разработки (IDE) походят больше на елку с гирляндой или какие-то детские квесты из 2000-х. Странность заключается в том, что центр внимания программиста смещается со знаний, на все что угодно, но только не на написание качественного кода, изучения алгоритмов или разобраться как же все таки работает Garbage Collector (.Net мем). Становятся популярны какие-то странные супер фичи будущего, выбор красивой подсветки ошибок, умные помощники и т.д. Но самое странное все начинают называть себя экспертами всех этих ценностей.

https://github.com/paulbuzakov/tmuxconfig

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

Истории

Где изучать DevOps. Бесплатные курсы, книги и полезные материалы

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

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

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

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

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

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

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

В статье я собрал большой список курсов, книг, репозиториев и ресурсов, которые помогут вам стать DevOps-инженером🧑‍💻.

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

Как потерять управление оболочкой… Расследование

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

image


Несколько недель назад я занимался хаком языковых серверов в Zed, пытаясь заставить Zed определять, когда заданный бинарник языкового сервера, например gopls, уже присутствует в $PATH. Если так, вместо загрузки нового бинарника Zed должен использовать его.


Трудность: часто $PATH динамически изменяется такими инструментами, как direnv, asdf, mise и другими, которые позволяют в данной папке установить определённый $PATH. Почему эти инструменты так делают? Потому что это даёт возможность, скажем, в начале $PATH добавить ./my_custom_binaries, пока вы находитесь в my-cool-project. Поэтому нельзя просто использовать $PATH, связанный с процессом Zed, нужен $PATH, как он есть, когда выполняется cd в каталог проекта.


Легко, подумал я. Просто запусти $SHELL, выполни cd в проект, чтобы запустить direnv и всё такое, запусти env, сохрани окружение, выбери $PATH, найди в нём бинарники. И это было легко. Вот часть кода, та часть, которая запускает $SHELL, cd и получает env:


fn load_shell_environment(dir: &Path) -> Result<HashMap<String, String>> {
    // Получает $SHELL
    let shell = std::env::var("SHELL")?;

    // Конструирует команду, которую хочется выполнить в $SHELL
    let command = format!("cd {:?}; /usr/bin/env -0;", dir);

    // Запускает $SHELL как интерактивную оболочку (чтобы использовались файлы пользователя rc).
    // и выполняет `command`:
    let output = std::process::Command::new(&shell)
        .args(["-i", "-c", &command])
        .output()?;

    // [... проверка кода выхода, получение stdout, превращение stdout в HashMap и т. д. ...]
}

За исключением одного: после запуска экземпляра Zed в терминале, который выполнял эту функцию, я больше не мог убить Zed, нажав Ctrl-C.

Что?
Всего голосов 15: ↑13 и ↓2 +11
Комментарии 8

ShIoTiny5 — OTA, часы, Encoder и прочие новости от v0.26 до v0.32

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

Это продолжение цикла статей о хобби-проекте ShIoTiny5 - встраиваемой системе графического программирования микроконтроллеров семейства ESP8266.

Изменения, новшества, планы - за последние несколько месяцев.

Для тех, кто не знает о чём речь

Для тех, кто слышит о проекте ShIoTiny5 впервые - можно посмотреть сайт проекта и там же найти подробную инструкцию прошивки v0.32 и саму прошивку.

Кроме того, в конце статьи есть ссылки, которые помогут понять о чём речь.

Для написания программ для ShIoTiny5 не нужно ничего, кроме интернет-браузера и модуля на базе ESP8266, соединённого с компьютером или ноутбуком по WiFi.

Если интересно, то жми сюда!
Всего голосов 13: ↑13 и ↓0 +13
Комментарии 5

Дополненная реальность на производстве: как МТС и компания «Дайгер» ПО для промышленных AR-очков создавали

Время на прочтение 8 мин
Количество просмотров 829

Привет, Хабр! В сегодняшней статье расскажем о том, как команда МТС совместно с компанией «Дайгер» под руководством её технического директора Сергея Головина разработали специализированное ПО для устройств дополненной реальности, используемых на промышленных объектах. В «Дайгер» появилась идея проекта, после чего её команда стала его реализовывать. Команда МТС принимала активное участие в работе с середины 2023 года.

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

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

Юзабилити-тестирование сайта

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

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

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

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

Септик и автономная канализация. Часть 1. Основы

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

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

Погрузиться в чтение
Всего голосов 26: ↑20 и ↓6 +14
Комментарии 40

И вновь KolibriOS! И вновь ассемблер!.

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

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

Но далеко не всё так плохо как кажется! В KolibriOS есть готовый редактор кода с подсветкой CEdit, и он поддерживает подсветку для нескольких языков программирования. Но я не уверен что он умеет компилировать под все эти языки. Но как минимум текст набрать можно. Fasm поддерживается полностью и собирать/запускать/отлаживать приложения можно "используя" данный редактор (не совсем, редактор запускает отдельно компилятор и так же запускает отдельно отладчик), что и позволяет полноценно разрабатывать программы.

Я бы хотел сразу предупредить, практически ни какого обучения в статье не будет. Всё рассчитано на то, что вы уже хотя бы немного знаете ассемблер x86 и уже создавали простые программы под данную архитектуру (под Windows, Dos, Linux, а так может и MacOS).

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

Сэм Альтман: создатель искусственного интеллекта, который боится восстания машин

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

Если к вам неожиданно подойдет на улице блогер с видеокамерой, и попросит назвать имена основателей или руководителей крупнейших технологических корпораций, вы наверняка вспомните Билла Гейтса, Стива Джобса, Сергея Брина, Илона Маска, Марка Цукерберга, и, возможно, даже Джефа Безоса. А вот сходу озвучить фамилию соучредителя руководителя компании OpenAI, создавшей ChatGPT и DALL-E, смогут далеко не все. Хотя Сэмюэл Харрис Олтмен, (которого у нас чаще называют Сэм Альтман) считается одним из самых авторитетных и известных деятелей Кремниевой долины.
Читать дальше →
Всего голосов 16: ↑13 и ↓3 +10
Комментарии 3

Её величество Плоская таблица

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

Слева красиво! Но ничего не понятно. Куча объектов с непонятными связями. Каша, какая-то.

Справа техническая красота :) Всё разложено по полочкам, всё находится под контролем. Никакие детали не могут ускользнуть от нашего внимания.

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

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

Ближайшие события

Московский туристический хакатон
Дата 23 марта – 7 апреля
Место
Москва Онлайн
Геймтон «DatsEdenSpace» от DatsTeam
Дата 5 – 6 апреля
Время 17:00 – 20:00
Место
Онлайн

Пиррова победа Domain-Driven Design

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

TL;DR: DDD неизбежно ведёт к избыточному (на порядки больше минимально необходимого) количеству саг в проекте, которые, в свою очередь, неизбежно ведут к нарушению целостности данных в БД.

DDD вполне успешно решает поставленную задачу: дать разработчикам инструменты, которые позволят им справиться (корректно реализовать и поддерживать) со сложной предметной областью. Но эта победа оказалась пирровой: инструменты, обеспечивающие корректность данных в памяти, оказались неспособны гарантировать корректность данных в БД. А что толку от изначально корректных данных в памяти, если со временем (после их сохранения в БД и последующего чтения) они перестают быть корректными? По сути, у DDD есть фатальный недостаток: DDD неизбежно приводит к нарушению целостности данных (инварианта бизнес-логики) в БД.

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

Клонируем ноутбук при помощи NVME over TCP

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

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

Читать далее
Всего голосов 27: ↑26 и ↓1 +25
Комментарии 25

SQL HowTo: один индекс на два диапазона

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

В прошлой статье я показал, как условие с парой однотипных неравенств, плохо поддающееся индексации с помощью btree, можно переделать на эффективно gist-индексируемое в PostgreSQL условие относительно диапазонных типов, а наш сервис анализа планов запросов explain.tensor.ru подскажет, как именно это сделать.

Но что делать, если неравенств у нас не два, а целых четыре, да еще и с разными типами участвующих полей? Например, для целей бизнеса это может быть задачей вроде "найди мне все продажи за декабрь на сумму 10-20K", что на SQL будет выглядеть примерно так:

dt >= '2023-12-01'::date AND dt <= '2023-12-31'::date AND

sum >= 10000::numeric AND sum <= 20000::numeric

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

Надежный обход блокировок в 2024: протоколы, клиенты и настройка сервера от простого к сложному

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

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

Вы, наверняка, помните отличный цикл статей на Хабре в прошлом году от пользователя MiraclePtr, который рассказывал о разных методах блокировок, о разных методах обхода блокировок, о разных клиентах и серверах для обходов блокировок, и о разных способах их настройки (раз, два, три, четыре, пять, шесть, семь, восемь, десять, десять, и вроде были еще другие), и можете спросить, а зачем еще одна? Есть две основные причины для этого.

Читать далее
Всего голосов 491: ↑483 и ↓8 +475
Комментарии 315

Энергетика большой страны. Почему  мы все не можем отапливаться электричеством?

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

Кто и как нам обеспечивает постоянное наличие 220 вольт в розетке и тепло в батареях зимой?

В википедии по запросу  «Энергетика Москвы» можно узнать следующую информацию:

«По состоянию на начало 2021 года, на территории Москвы эксплуатировалась 41 электростанция общей мощностью 10 865 МВт, в том числе три гидроэлектростанции, 32 тепловые электростанции (в том числе 16 энергоцентров, обеспечивающих энергоснабжение отдельных предприятий), три мусоросжигательных завода с попутной выработкой электроэнергии, две электростанции на биогазе и один пневмоэлектрогенераторный энергоблок. В 2019 году они произвели 52 559 млн кВт·ч электроэнергии[1][2][3]. Основное топливо: природный газ.

Общая тепловая мощность источников теплоснабжения, расположенных на территории Москвы, составляет 54 86 1 Гкал/ч.»

По информации из этой обзорной статьи мы имеем две цифры мощности: 10 865 МВт  электрической  и 54 86 1 Гкал/ч тепловой генерации , которые надо сравнить.

Нужно ещё сделать  пересчёт для разных единиц мощности МВт и 1 Гкал/ч, чтобы сравнивать в единой размерности.

 1 Гкал/ч - это мощность, равная  энергия для нагрева 1 миллиарда грамм воды на 1 градус за один час, что эквивалентно  мощности электрической энергии:

  Nэл  =1*4,19*10^9/3600 =1,164 МВт /( Гкал/ч)

Тогда тепловая мощность  при переводе на МВт будет равна:

54 861 Гкал/ч = 54 861*1,164=63 858МВт

То есть в г Москве мощности на отопление и  электроэнергию относятся как:

=63 858/10 865= 5,88

Получается почти 6-ти кратное отношение  максимальных мощностей  потребляемой в Москве электрической и тепловой энергии, причём с перевесом почти в 6 раз в пользу тепловой энергии.

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

«Иногда твоя работа выглядит магией»: что делают дата-сайентисты в промышленности и почему так востребованы

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

Привет, Хабр! Меня зовут Светлана Потапова, я руковожу «Северсталь Диджитал» — подразделением ИТ-функции Северстали, которое занимается разработкой и внедрением решений на основе машинного обучения.

Data Science уже давно вышла за пределы ИТ-компаний, шагнула дальше банков и телекома и пришла в промышленность, в том числе тяжёлую. Все обратили внимание на работу с данными, ведь они справедливо считаются новой нефтью, а их правильное использование даёт компаниям существенные преимущества. Обилие разнообразных задач со своей спецификой привело к появлению отдельного направления — Data Science (DS) в промышленности. 

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

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

Покрытие архитектуры as Code тестами

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

💬 На самом деле, моя идея написания тестов на архитектуру настолько проста, легко реализуема и при этом полезна, что я до сих пор толком не понимаю, почему я не встречал материалов на эту тему, и сама тема всё ещё не используется повсеместно 🙂
Статья написана по следам моих докладов на трёх крупных ИТ-конференциях, на каждой из которых ко мне подходили архитекторы и разработчики российских бигтехов, говорили, что я очень точно попал в их боли и предложил суперпрактику, которую они теперь будут внедрять. На всех трёх конференциях я получил высшие оценки от аудитории, а на двух из них доклад был признан лучшим в своей секции. В конце статьи приведена ссылка на видео доклада с одной из конференций.
В статье я поделюсь своей идеей и OpenSource-реализацией решения для написания тестов, разберу примеры тестов на небольшой учебной микросервисной архитектуре, а также расскажу про личный опыт и профит от применения этой практики.
Для разработчиков монолита тоже есть небольшой бонус: в OpenSource-репозитории появилась реализация и примеры тестов на архитектуру модульного монолита.

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