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

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

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

Вы не понимаете теорию калорийности

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

“Все сложнее, чем просто калории. Как можно до сих пор думать, что калории на что-то влияют?”

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

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

Так и формулу энергетического баланса в бытовом использовании можно легко свести к простым Calories In, Calories Out именно потому, что множество систем работают так отлажено и слаженно, что на выходе всё кажется простым.

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

Именно кажущаяся избыточная простота и пересечение множества факторов (которые, на самом деле, мы знаем и учитываем) порождают это недопонимание.

В действительности почти всё, что ставят против теории калорийности, на самом деле её только подтверждает. Как именно? Сейчас обсудим.

Читать далее

Безопасность Kubernetes-кластеров: вредные советы или bullshit bingo

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

Как погубить кластер, действуя во благо? Подборка вредных советов из реальных кейсов и опыта от специалиста по безопасности контейнеров и Kubernetes. Вместе установим антивирус на ноды, просканируем хостовую ОС и заблокируем выкатки образов с чувствительной информацией.

Привет, Хабр! Меня зовут Дмитрий Евдокимов. Я — Founder & CTO Luntry в компании по созданию решений для безопасности контейнеров и Kubernetes, CFP конференций DevOpsConf и Highload, автор курса «Cloud-Native безопасность в Kubernetes» и телеграм-канала k8s (in) security. Эта статья написана по мотивам моего доклада для DevOpsConf 2024. Так как я проработал в сфере информационной безопасности больше 15 лет и специализируюсь именно на безопасности контейнеров и кластеров, дам несколько «вредных» советов, как сделать Kubernetes-кластер «безопасным».

Читать, чтобы НЕ погубить кластер

Нужна ли асинхронщина на проектах: пара наблюдений про Spring и неблокирующее API для самых маленьких

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

Всем привет! Я работаю на собственном проекте Максилекта. Это высоконагруженная AdTech платформа, включающая Ad Exchange сервер и сопутствующие компоненты. Но в этой статье речь пойдет не совсем о проекте. Я бы хотел поговорить об асинхронщине в задачах подобного масштаба. Просто на примеры из проекта мне будет удобно ссылаться. 

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

Читать далее

Операционная система в 1 000 строках кода (часть 1)

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

Всем привет! В этой небольшой книге (серии статей, — прим. пер.) мы с нуля, шаг за шагом, напишем скромную ОС.

▍ Навигация по частям



Вы можете насторожиться, услышав, что разработка ОС или ядра, в частности, их базовых функций на удивление проста. Даже система Linux, которая воспринимается как масштабный опенсорсный проект, на стадии версии 0.01 включала всего 8 413 строк кода. Сегодня ядро Linux действительно огромно, но начиналось оно, как и типичный хобби-проект, с крохотной базы кода.

В рамках предстоящей серии статей мы на языке С реализуем базовое переключение контекста, страничное распределение памяти, режим пользователя, командную оболочку, драйвер дискового устройства и операции чтения/записи. И хотя такой объём работы может показаться масштабным, всё это уместится всего в 1 000 строк кода.

Но сразу предупрежу — процесс окажется не так прост, как выглядит на первый взгляд. Самой сложной частью создания собственной ОС является отладка. И мы не сможем использовать для этого printf, пока её не реализуем. Здесь вам потребуется освоить различные техники и приёмы отладки, которые в разработке ПО вы никогда не использовали. В частности, начиная «с нуля», вы будете встречать сложные этапы вроде процесса загрузки и страничной организации памяти. Но не пугайтесь, «отлаживать ОС» мы тоже научимся!

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

Zigbee датчик давления воды EFEKTA_PST_V1

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров15K
Приветствую всех читателей Habr, хочу рассказать вам о своем новом проекте EFEKTA_PST_V1. Это небольшой датчик для измерения давления жидкостей и газов с питанием от двух батареек ААА, работающий по протоколу zigbee. Такие датчики используются в системах отопления для безопасности и обнаружения протечек или необходимости подпитки, простого мониторинга. Так же такие датчики могут отслеживать наполнение накопительных емкостей, работу насосного оборудования и водоподготовки, использоваться в системах автополива для контроля давления и расчета продолжительности полива.


Читать дальше →

Как ArgoCD секреты из Vault не расшифровывал, или при чем тут App of Apps

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

Привет, Хабр! Меня зовут Антон, я DevOps-инженер в YADRO, работаю с платформой машинного обучения. Недавно столкнулся с интересным случаем, над которым мне пришлось поломать голову. Одной из задач нашей команды стало развертывание helm-чарта для Airflow с использованием ArgoCD. Это потребовалось для реализации DAG-пайплайнов, необходимых для обработки данных и автоматизации процессов в проектах машинного обучения.

В статье расскажу о сложностях при расшифровке секретов с использованием плагина ArgoCD Vault, о паттерне App of Apps для обхода этих сложностей и небольшом погружении в детали установки плагина в кластер, из-за которых возможно неочевидное поведение ArgoCD Applications.

Читать далее

Ищу себе офисное кресло: как я протестировал YOGA 4D Triumph

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

Привет, Хабр! На связи снова Андрей aka @megalloid. Мне уже за тридцать, пришло время внимательнее относиться к своему здоровью. Ну и ещё хочется не снижать рабочую эффективность. Покажите мне того, кто не желал бы за меньшее время делать больше. Поэтому приходится оценивать, что влияет на качество моей работы, на усидчивость и способность оставаться в фокусе. Начал я с питания, потом перешёл к двигательной активности, затем ко сну: ведь мы спим почти треть жизни. Но основную часть времени (хотя не сразу это осознал) я провожу на рабочем месте. А осознав, задался вопросом: как влияет то, на чём я сижу, на мою спину, позвоночник? Какие перспективы мне светят с моим обычным креслом? Раньше и не думал, что в этом вопросе так много нюансов, но теперь понял, что выбором кресла нужно серьёзно озадачиться. Своими мыслями на эту тему хочу поделиться в статье.

В чём проблема?

Сказ о том, как я «умный дом» делал

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

Давным-давно был такой фильм "Один дома". А в фильме был эпизод с автоматически включающимся светом в домах - имитация присутствия.
И вот тогда-то и захотелось сделать что-то подобное.

Времена были дикие, никаких "умных домов" тогда в наших краях не знали, не ведали, и пришлось городить колхоз лютый, самолепный.
За основу был взят старый компьютер, из тех, у которых были аппаратные LPT-порты.
Там было как минимум 8 проводов, на которых можно было выставить 0 или 1 (+5в), просто записав в порт соответствующий байт.
(забегая вперед - это почти то же самое что сейчас использовать Ардуино).

Читать далее

ZFS: архитектура, особенности и отличия от других файловых систем

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

Я, Георгий Меликов, являюсь контрибьютором проектов OpenZFS и ZFS on Linux. Также я занимаюсь разработкой IaaS в команде облачной платформы Mail.ru Cloud Solutions. Хотя в продакшене нашего подразделения мы и не используем ZFS, но хозяева подкаста SDCast пригласили меня рассказать именно о нём. Из выпуска и родилась эта статья, а вот тут можно послушать аудиоверсию.

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

Читать далее

Дедупликация в OpenZFS теперь хороша, но использовать её не стоит

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

Вот-вот выйдет релиз OpenZFS 2.3.0 с новой функцией Fast Dedup. Это огромный шаг вперёд по сравнению со старой дедупликацией и отличный фундамент для будущих доработок.

Контрибьютор OpenZFS @gmelikov и команда VK Cloud совместно перевели статью об этом релизе, в которой новая функция сравнивается со старой дедупликацией и описывается максимально подробно с практическими примерами. В 2023–2024 коллеги из Klara много работали над этой функцией, и мы согласны с ними, что она весьма хороша! 

После релиза Fast dedup на многих ресурсах в обсуждениях продолжили писать, что «новый дедуп всё так же плох, он требует столько же ОЗУ и также убивает производительность». Но эта информация лишь отчасти близка к правде и повторяет всё тот же мотив, который когда-то кто-то озвучивал на форумах.

Винить в этом никого не хочется. И не стоит, так как дедупликация в OpenZFS и правда была очень требовательной к правильному применению. Найти качественные гайды тоже не просто, ответ по умолчанию — «не используйте её» — был и (в целом) остаётся правильным. Но, по прошествии почти 20 лет жизни дедупа в OpenZFS, настало время вернуться к этому вопросу.

Посмотрим на свежую информацию об имплементации дедупа в OpenZFS, как он работал до улучшений, в чём была его проблема, что поменяли в fast dedup, и почему же это всё ещё не дефолт.

Читать далее

Пишем ping на Go: сможем ли составить конкуренцию стандартному ping?

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

Всем привет! Меня зовут Игорь Горбунов, я разрабатываю платформу базовой станции в YADRO и изучаю Golang почти год. Уже перевалил рубеж «вывести на экран сумму четных элементов среза» и захотел написать что-то более сложное.

Я интересуюсь сетями, и решил посмотреть, как в Go реализуется работа с протоколами ICMP и ICMPv6. Наиболее простая задача, связанная с ними, — реализация программы ping. Она отправляет указанному узлу сети запросы ICMP типа Echo-Request и ожидает ответы типа Echo-Reply.

На первый взгляд — простейшая задача, поэтому усложним ее: построим приложение, похожее на утилиту ping в UNIX-подобных системах. Под катом расскажу, как я решал задачу и с какими подводными камнями столкнулся.

Читать далее

Конфигуратор. Как подготовиться к развертыванию инфраструктур компаний по одной кнопке (Ansible)

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

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

Основная идея — в удобном инструменте (WEB-portal). Желательно в GUI рисовать схему цифровой инфраструктуры и передавать ее в систему развертывания (Deployer).

Читать далее

Сэм Альтман знает, как достичь AGI. Я тоже, и сейчас расскажу как

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

«Теперь мы уверены, что знаем, как построить AGI в том виде, в каком мы традиционно его понимали… Сейчас это звучит как научная фантастика, и даже говорить об этом как-то безумно. Все в порядке — мы уже были там раньше и не против оказаться там снова.» Такое сообщение 6 января опубликовал Сэм Альтман.

Человечество нашло дорогу, по которой можно дальше и дальше улучшать качество моделей, и мы не видим здесь никакого предела. Про эту дорогу знает Альтман, и скоро узнаете вы.

Поехали в AGI

Сравнение Bash и Python при написании скриптов в Linux

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

Sh (от shell) является обязательным командным интерпретатором для UNIX‑совместимых систем по стандарту POSIX. Однако по возможностям он ограничен, поэтому зачастую вместо него используются более богатые возможностями командные интепретаторы, такие как Bash или Ksh. Ksh обычно используется в операционных системах семейства BSD, в то время как Bash — в операционных системах семейства Linux. Командные интерпретаторы облегчают решение мелких задач, связанных с работой с процессами и файловой системой. В данной статье будут рассматриваться операционные системы Linux, поэтому речь пойдёт о Bash.

Python, в свою очередь, является полноценным интерпретируемым языком программирования, и он также нередко используется для написания скриптов или решения мелких прикладных задач при работе с операционной системой. Современную UNIX‑подобную систему сложно представить как без Sh, так и без Python, если только это не устройство с минималистичной ОС вроде маршрутизатора. Например, в Ubuntu Oracular пакет python3 удалить не получится хотя бы потому, что от него зависит пакет grub‑common, от которого, в свою очередь зависят пакеты grub2-common и, соответственно, grub‑pc, то есть непосредственно загрузчик операционной системы. Таким образом, Python 3 можно смело использовать как замену Bash в случае необходимости.

Читать далее

Ищем работу в 2025 году: что происходит с рынком IT и как к нему адаптироваться

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

Ну что, 2025 год уже наступил и многие из нас,  в новом году,  задумались о смене работы. В том числе и я. В этот раз, я решил собрать всю доступную мне информацию по поиску работы в РФ/СНГ и за рубежом.

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

Читать далее

Особенности удаленной работы в 2025

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

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

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

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

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

Итак, допустим, у нас есть наша BigCRM, работающая на сервере 192.168.100.1, и подключиться к ней снаружи никак невозможно, а классические VPN у нас запрещены некими внешними враждебными силами.

На помощь приходит упоминавшаяся ранее технология i2p.

Читать далее

250 откликов за 20 минут: как я автоматизировал процесс ответов на вакансии

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

Будем откровенны: поиск работы — это отстой.

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

Обратим внимание на следующее: повторяющиеся задачи + структурированный процесс = идеальный кандидат для автоматизации.

Поэтому я поступил так, как поступил бы любой разработчик в здравом уме — создал систему автоматизации всей этой фигни. В конечном итоге я смог разослать 250 откликов на вакансии за 20 минут. (Ирония заключается в том, что я получил оффер ещё до того, как закончил создавать эту систему. Подробнее об этом ниже.)

В статье я расскажу, как я это сделал.
Читать дальше →

Как построить бастион-хост и превратить его в неприступную крепость

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

Привет, меня зовут Сергей Истомин, я DevOps‑инженер в KTS.

Осталось ли бастион‑хостам место в мире, в котором инфраструктуру можно защитить оверлейными сетями, нативными прокси и VPN? Задавшись этим вопросом, мы провели анализ материалов некоторых авторов (ссылки на материалы в конце статьи), перевели, порассуждали и обобщили полученные выводы.

В статье рассказываю, зачем нужен бастион‑хост, какие есть ему альтернативы, а также как его возвести и укрепить.

Читать далее

Резервный мониторинг послушного дома

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

Хотя концепция "умного дома" в полном объёме мало кем используется в жизни (и ещё меньше кем самостоятельно реализована), отдельные его компоненты - разного рода датчики, умные розетки, камеры и прочее, с доступом через "облако" - давно не редкость. До покупки дачи меня всё это слабо волновало - в квартире я вполне обходился механическими выключателями и градусником на окне. Тем не менее, необходимость следить за состоянием загородного дома вынудила заняться этим вопросом и я пошёл по самому простому пути с MiHome и кучей датчиков. Конечно, в нём хватает проблем - баги, которые не устраняют годами, датчики для разных регионов, периодически [кратковременно] отваливающееся облако. В целом, однако, всё это удовлетворительно работает уже не первый год, технического интереса не представляет и рассказать я хотел не об этом.

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

Читать далее

Катастрофическое падение производительности из-за hyperthreading

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

Недавно я писал статью - что такое 50% cpu? На системах с hyperthreading 50% cpu по метрикам означает, что большая часть ресурсов сервера уже использована. То есть cpu>50% - это уже "желтая зона", и мы ожидаем замедление всего, чего можно. Но я никогда не думал до экспериментов, что падение может быть столь катастрофическим.

Для экспериментов я использую MSSQL. Если вы не связаны с базами, прочитайте первую часть по диагонали до выводов.

Читать далее

Информация

В рейтинге
3 732-й
Зарегистрирован
Активность