![](https://habrastorage.org/r/w1560/getpro/habr/upload_files/38d/770/f88/38d770f88aede605100c233b2f1527d2.png)
Сборная солянка из существующих best practices по работе с Grafana и немного с Prometheus, проверенных мной лично. Можно просто положить в закладки — когда-нибудь да пригодится.
Программист
Сборная солянка из существующих best practices по работе с Grafana и немного с Prometheus, проверенных мной лично. Можно просто положить в закладки — когда-нибудь да пригодится.
В серии статей по теме DevOps мы рассказываем о проверенных инструментах выстраивания инфраструктуры, которыми с недавнего времени пользуемся сами. В первой части мы остановились на основных предпосылках внедрения и выбранном подходе. В этой статье вместе с Lead DevOps инженером департамента информационных систем ИТМО Михаилом Рыбкиным рассмотрим подробнее фундамент нашей инфраструктуры — Kubernetes.
Разумеется, статей об этом оркестраторе огромное множество, и можно на протяжении всей карьеры узнавать о нем что-то новое. Сразу уточним — в этой части мы не планируем копать глубоко. Попытаемся дать основы, описать Kubernetes так, чтобы сложилось базовое представление об этом инструменте.
Бывало ли у вас такое, что вы совершали одни и те же действия из раза в раз и наконец-то решили избавиться от всей этой рутины? Но вы решили отложить это решение на некоторое время, в частности из-за занятости или лени. Но вот вы решаете взять себя в руки и всё изменить! Также было и со мной - и вот в конце концов я решился пойти на оптимизацию развертывания сервисов в Kubernetes при помощи Helm и написать об этом статью!
Я уже успел развернуть несколько приложений в Kubernetes. Но в последнее время взаимодействовать с ресурсами через kubectl становится невыносимо больно. Поэтому я решил осуществить свою давнюю затею - написать свой Helm чарт. Сегодня мы вместе с тобой, Хабрюзер, создадим свой чарт, который можно будет использовать для деплоя собственных приложений!
Приветствую!
На пути инженера данных часто встречаются задачи связанные с DevOps. Одна из таких - развернуть Airflow в Kubernetes кластере. Если до этого похожего опыта работы не было, то эта задача может показаться нетривиальной. Конечно, можно выполнить несколько команд из официального гайда, но если нужно будет что-то поправить, то без понимания, что происходит внутри, обойтись будет сложно.
Эта статья призвана облегчить данную задачу. Она поможет тем, кто уже работал с Airflow, но еще не касался технологии Kubernetes.
ВНИМАНИЕ! Если у вас нет шума в ушах (тиннитуса) и/или нейросенсорной тугоухости, но есть особенности психики в части психосоматики или подобного – покиньте данный пост не читая.
Самые важные победы в мире – победы над собой
Всем привет. Меня зовут Паша Герасимов, мне 38, я – инженер в ИТ, геймер, и у меня диагноз НСТ (нейросенсорная тугоухость), а также субъективный шум в ухе (тиннитус) и гидропс правого лабиринта. По ощущениям, это комбо – шум/гул/свист в ухе, снижение слуха, чувство заложенности за перепонкой, и гиперакузия (повышенная чувствительность к некоторым звукам). Для тех, кто не в теме – представьте, что у вас ухо заложено ваткой, а внутри уха – звук неработающего канала ТВ (как видео пример, или mp3). И так – регулярно, месяцами, без возможности исправления.
До 37 лет я практически не болел и не ходил по поликлиникам, это повлияло на всю историю с тиннитусом, поэтому для многих очевидные вещи, я понял на своей шкуре.
Привет уважаемые, хабровчане!
Иногда возникает потребность выдать доступ пользователям только к одному веб ресурсу в компании. Самый очевидный вариант сделать это через урезанный VPN, но тут возникают препятствия в виде девайсов, с которых подключаются пользователи, и качество интернета, которым они пользуются. OpenVPN, который мы пробовали использовать для этих целей, не дал желаемого результата, подключение было медленным и нестабильным. Поэтому было найдено альтернативное решение.
В этой статье я расскажу о том, как и зачем подписывать и верифицировать коммиты в git при помощи gpg.
K3s - проект, созданный Rancher Labs, который представляет собой легковесную и простую в установке версию Kubernetes. K3s предлагает решение для разработчиков, которые хотят использовать Kubernetes в своих проектах, но не хотят сталкиваться со сложностью установки и управления полной версией Kubernetes.
В последние годы PHP динамично развивался с появлением новых версий языка, содержащих ряд новых фич, депрекаций и более строгий синтаксис. Кроме того, библиотеки и фреймворки, такие как Symfony, постоянно претерпевают изменения: каждые полгода появляются новые минорные релизы, а каждые два года - мажорные, наиболее существенные. Для нас в Westwing очень важно регулярно обновлять имеющуюся кодовую базу, чтобы она оставалась работоспособной, безопасной и актуальной. К счастью, в сообществе PHP появилось множество инструментов, способствующих улучшению кодовой базы.
При реализации потоковой обработки и анализа данных может возникнуть необходимость агрегирования записей для объединения нескольких независимых поток данных или обогащения какой-либо модели данных. Для этой цели может использоваться Kafka Streams, которая позволяет выполнять обработку данных в режиме реального времени.
В этой статье мы рассмотрим основные компоненты Kafka Streams и теоретические аспекты их использования. Мы будем использовать последние версии технологий, доступных на сегодня: Kafka 3.4.0 и Java 17 в качестве языка программированию. Для снижения входного порога мы будем использовать только нативные возможности Kafka и Kafka Streams, и не будем рассматривать решения с использованием различных фреймворков вроде Spring.
Распространено мнение, будто современные высокопроизводительные процессоры x86 работают так: декодируют «сложные» инструкции x86 в «простые» RISC-подобные инструкции, которые затем обрабатываются в оставшейся части конвейера. Но насколько эта идея на самом деле отражает, как именно устроен внутри процессор?
Чтобы ответить на этот вопрос, давайте проанализируем, как следующий простой цикл обрабатывают различные процессоры x86, от P6 (первой микроархитектуры Intel «современного» типа до современных конфигураций). Код сделан 32-разрядным лишь для того, чтобы можно было затронуть и очень старые процессоры с архитектурой x86.
Для начала хотелось бы затронуть так называемую «микросервисную архитектуру», которая стала довольно популярной. Но называть её архитектурой не совсем корректно, как заметил Роберт Мартин в своей книге «Чистая архитектура». Микросервис — это один из способов представления компонента общего приложения. Но архитектура, взаимодействие между компонентами, при этом может остаться такой же. Под компонентом понимается наименьшая единица развёртывания — пакет, библиотека или отдельное приложение, сервис, микросервис. В книге критикуется данная «микросервисная архитектура», а точнее, неправильное и неуместное её применение, которое есть во многих случаях и влечёт за собой негативные или крайне негативные последствия для проекта, и происходит «благодаря» низкой компетентности разработчиков или управляющих, которые хотят найти несуществующую здесь «серебряную пулю».
В книге «Чистая архитектура» выделяется два основных слоя: инфраструктура и бизнес-логика. В различной литературе выделяют и другие слои, но какой-то относительно чёткой информации об этом я не встречал. Под инфраструктурой будем понимать логику более характерную для многих приложений, не только для данного, какие-то конкретные интеграции со сторонними компонентами, а также подготовку данных для бизнес-логики. Под бизнес-логикой — логику более характерную для данного приложения она и представляет наибольшую ценность, её нужно стараться выделять, делать более независимой от инфраструктуры. Во-первых, чтобы было проще её читать, тестировать, модифицировать, а во-вторых, чтобы была возможность с наименьшими затратами заменить инфраструктуру или её части, если потребуется.
«Если бы WASM+WASI существовали в 2008 году, нам бы не пришлось создавать Docker. WebAssembly на сервере — будущее компьютерных технологий», — считает Соломон Хайкс, соучредитель корпорации Docker и автор Docker Open Source Initiative.
Сравнительно недавно Docker объявил о поддержке WebAssembly на базе WasmEdge. А мы перевели фундаментальный, но практичный материал о том, как пользоваться этой технологией в экосистеме Docker и чем Wasm-контейнер отличается от классического.
Здравствуйте, коллеги! Мы продолжаем наш рассказ о том, как максимально быстро и эффективно выучить английский язык.
Первую часть статьи вы можете прочитать здесь.
Содержание статьи
1. Самый эффективный способ выучить английский
2. Какую методику для изучения английского выбрать?
3. Большая подборка учебных материалов
4. Что делать для «погружения в язык»?
5. Как учить лексику и запоминать новые слова
6. Что делать, если вы плохо воспринимаете слова на слух
7. Что делать, если не хватает разговорной практики
8. Как подтянуть грамматику?
9. Эффективны ли занятия онлайн по Zoom или Skype?
10. Что делать, если я не очень люблю учить языки, но надо?
11. Как избавиться от акцента?
12. Краткое резюме и подведение итогов.
И снова приглашаем погрузиться в команды GNU/Linux, которые удобно использовать разработчику для решения повседневных задач. Напоминаем, подборка ориентирована на тех, кто не хочет залезать глубоко в систему, но по работе вынужден иногда ходить на Linux-сервер.
В первой части мы обсудили запросы общей информации о пользователях и системе, работу с файлами, процессами и текстом. Сегодня речь пойдет о возможностях bash, работе с сетью и ssh.
Статья написана по мотивам ИТ-посиделки, где мы обменивались полезными лайфхаками.
Сразу скажу, что под искусственным интеллектом здесь будет пониматься использование обученных нейросетей, т.е. мы будем обучать нейросеть, потом торговый робот на основании обученной модели будет принимать решение о покупке актива и выполнять действие - покупать актив.
Эта тема последовательно раскрывается в этой статье, сразу приведу основные этапы по созданию такого торгового робота:
1) получение исторических данных по торговым инструментам;
2) подготовка датасета из этих исторических данных по определенной логике для нейросети;
3) обучение нейросети и выбор лучшей обученной модели по параметрам loss, accuracy, val_loss, val_accuracy;
4) проверка предсказаний сделанных нейросетью;
5) проверка подключения к API Финама;
6) определение торговой логики для открытия позиций;
7) запуск live стратегии с использованием выбранной лучшей модели обученной нейросети с нашей торговой логикой.
Мы часто сталкиваемся с задачами, которые требуют работы нашего кода дольше, чем длится простой HTTP-запрос. Это могут быть как выгрузки данных для интеграции с партнёрами, так и просто приложения, которые должны реагировать на события в системе в момент их появления. Конечно, можно использовать другие языки программирования, но это увеличит стек и усложнит систему.
Меня зовут Александр Пряхин, я TechUnit Lead в Авито. В IT работаю уже 14 лет. Из них 8 лет руковожу командами. Параллельно с этим преподаю и менторю. Сегодня разберём, как готовить демонов на PHP — от А до Я, и почему это актуально.