Pull to refresh
7
Karma
0
Rating
Валерий Полищук @vpolishchuk

DevOps

Куда уходит время? Боремся за миллисекунды в Kubernetes

Ozon Tech corporate blog High performance *System administration *IT Infrastructure *Kubernetes *

Привет, Хабр! Меня зовут Вова, я разрабатываю observability-платформу в Ozon. Как-то раз в наш уголок на 42 этаже заглянули коллеги — и поделились наблюдением. Если открыть рядом графики времён запросов и ответов двух живущих в Kubernetes и общающихся между собой микросервисов, то иногда можно наблюдать большую разницу в высоких квантилях: клиент считает, что один ответ из сотни ему приходит за сто миллисекунд, сервер же говорит, что успевает ответить за десять.

Куда ушло время? Можно ли его вернуть? Под катом расскажу о том, с какими граблями может столкнуться микросервис, живущий в типичной инсталляции Kubernetes.

Читать далее
Total votes 141: ↑140 and ↓1 +139
Views 12K
Comments 23

Ускоряем Ansible с помощью Mitogen

System administration *DevOps *
Tutorial

Ansible стал одним из самых популярных Configuration Management систем. После того как был куплен Red Hat в 2015 году число участников проекта превысило тысячи и Ansible стал наверное самым используемой системой развертывания и оркестрации. Его широкие области применения очень впечатляют.


Ansible работает через SSH соединения к удаленным хостам. Он открывает SSH сессию, делает логин, копирует код на Python по сети и записывает его в отдельный временный файл. После этого он запускает этот файл на удаленной машине. Вся эта последовательность операций довольно долгая и нудная, поэтому существуют различные способы ее оптимизировать.

Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Views 11K
Comments 26

Визуализация времени возрождения Рошана

C++ *Game development *Reverse engineering *
Sandbox
В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2.

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



Disclaimer: Автор не несет ответственности за применение вами знаний полученных в данной статье или ущерб в результате их использования. Вся информация здесь изложена только в познавательных целях. Особенно для компаний разрабатывающих MOBA, чтобы помочь им бороться с читерами. И, естественно, автор статьи ботовод, читер и всегда им был.
Читать дальше →
Total votes 134: ↑133 and ↓1 +132
Views 46K
Comments 22

Книга «React в действии»

Издательский дом «Питер» corporate blog JavaScript *Professional literature ReactJS *
image Привет, Хаброжители! Книга «React в действии» знакомит фронтенд-разработчиков с фреймворком React и смежными инструментами. Сначала вы познакомитесь с библиотекой React, затем освежите материал о некоторых фундаментальных идеях в данном контексте и узнаете о работе с компонентами. Вы на практике освоите чистый React (без транспиляции, без синтаксических помощников), перейдете от простейших статических компонентов к динамическим и интерактивным.

Во второй половине книги рассмотрены различные способы взаимодействия с React. Вы изучите базовые методы жизненного цикла, научитесь создавать поток данных, формы, а также тестировать приложения. На закуску вас ждет материал об архитектуре React-приложения, взаимодействии с Redux, экскурс в серверный рендеринг и обзор React Native.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Views 9.7K
Comments 10

Делаем современное веб-приложение с нуля

Website development *Python *Programming *ReactJS *Flask *
Tutorial
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

В этой статье мы попробуем набросать boilerplate простейшего веб-приложения со следующей архитектурой:


Что мы покроем:

  • настройка dev-окружения в docker-compose.
  • создание бэкенда на Flask.
  • создание фронтенда на Express.
  • сборка JS с помощью Webpack.
  • React, Redux и server side rendering.
  • очереди задач с RQ.
Читать дальше →
Total votes 64: ↑56 and ↓8 +48
Views 116K
Comments 123

Книга «Прикладной анализ текстовых данных на Python»

Издательский дом «Питер» corporate blog Python *Professional literature Machine learning *
image Технологии анализа текстовой информации стремительно меняются под влиянием машинного обучения. Нейронные сети из теоретических научных исследований перешли в реальную жизнь, и анализ текста активно интегрируется в программные решения. Нейронные сети способны решать самые сложные задачи обработки естественного языка, никого не удивляет машинный перевод, «беседа» с роботом в интернет-магазине, перефразирование, ответы на вопросы и поддержание диалога. Почему же Сири, Алекса и Алиса не хотят нас понимать, Google находит не то, что мы ищем, а машинные переводчики веселят нас примерами «трудностей перевода» с китайского на албанский? Ответ кроется в мелочах – в алгоритмах, которые правильно работают в теории, но сложно реализуются на практике. Научитесь применять методы машинного обучения для анализа текста в реальных задачах, используя возможности и библиотеки Python. От поиска модели и предварительной обработки данных вы перейдете к приемам классификации и кластеризации текстов, затем приступите к визуальной интерпретации, анализу графов, а после знакомства с приемами масштабирования научитесь использовать глубокое обучение для анализа текста.

Читать дальше →
Total votes 12: ↑10 and ↓2 +8
Views 10K
Comments 3

Инкапсуляция в Python 3

Python *Programming *
Sandbox

image


Определение


Значение термина «инкапсуляция» расплывчато и отличается от источника к источнику. Принято считать, что инкапсуляция — один из основополагающих принципов ООП, хотя некоторые научные статьи вовсе упускают инкапсуляцию из списка. К примеру, Джон Митчелл в книге «Концепты в языках программирования» при перечислении основных концептов в ООП упоминает только абстракцию — термин который принято считать близким к инкапсуляции по значению, но все-же более обширным и высокоуровневым. С другой стороны, Роберт Мартин в его книге «Чистая архитектура» явно говорит о том, что инкапсуляция, наследование и полиморфизм считается фундаментом ООП.


Разнообразие определений, данных термину «инкапсуляция», сложно привести к общему знаменателю. В целом можно выделить два подхода к значению этого термина. Инкапсуляция может быть рассмотрена как:


  • связь данных с методами которые этими данными управляют;
  • набор инструментов для управления доступом к данным или методам которые управляют этими данными.

Инкапсуляция как связь

Читать дальше →
Total votes 23: ↑17 and ↓6 +11
Views 43K
Comments 10

10 шагов к успешному Python-проекту

RUVDS.com corporate blog Website development *Python *
Translation
Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению качества, единообразия и безопасности кода. Предполагается, что у читателя этого материала уже есть некоторый опыт Python-разработки и проект на Python, с которым он, в ходе чтения, будет экспериментировать. Если такого проекта у вас нет — здесь можно узнать о том, как подготовить среду разработки и создать Python-пакет. Примеры, которые будут здесь приводиться, подготовлены с использованием macOS и Python 3.7.


Читать дальше →
Total votes 33: ↑30 and ↓3 +27
Views 29K
Comments 4

6 занимательных системных багов при эксплуатации Kubernetes [и их решение]

Флант corporate blog System administration *Server Administration *DevOps *Kubernetes *


За годы эксплуатации Kubernetes в production у нас накопилось немало занимательных историй, как баги в различных системных компонентах приводили к неприятным и/или непонятным последствиям, влияющим на работу контейнеров и pod'ов. В этой статье мы сделали подборку некоторых наиболее частых или интересных из них. Даже если вам никогда не повезёт столкнуться с такими ситуациями, читать о подобных кратких детективах — тем более, «из первых рук» — всегда занятно, разве не так?..
Читать дальше →
Total votes 59: ↑58 and ↓1 +57
Views 15K
Comments 7

Стальной манипулятор HEXAPOD

DIY
image

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

Читать дальше →
Total votes 91: ↑88 and ↓3 +85
Views 39K
Comments 26

Прототип. От идеи до опытной партии. Литье в силикон

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


Читать дальше →
Total votes 168: ↑166 and ↓2 +164
Views 101K
Comments 75

Паяльная станция своими руками на базе Arduino

DIY
Sandbox
Всем привет! Как-то я затронул тему паяльной станции на Arduino и сразу меня завалили вопросами (как/где/когда). Учитывая массовость запросов, я решил написать обзор простой паяльной станции (только паяльник) на базе Arduino.
Читать дальше →
Total votes 52: ↑45 and ↓7 +38
Views 176K
Comments 73

Arduino, модуль Nokia 5110 LCD и любая картинка

Developing for Arduino *
Sandbox


Наверное, у меня, как и у всех Arduino-строителей, появилась какая-то бредовая идея в голове. Заказал в Китае все необходимые детали. Ждать пришлось очень долго, но тут раньше срока был доставлен клон платы Arduino Uno и LCD-дисплей Nokia 5110. Так как до этого с электроникой и программированием я был не знаком, решил не терять время зря и начал учиться выводить информацию на данный модуль.
Читать дальше →
Total votes 25: ↑21 and ↓4 +17
Views 45K
Comments 17

Атака на банкомат с помощью Raspberry Pi

Positive Technologies corporate blog Information Security *
image

Что только не делают с банкоматами: их выдирают из стены, привязав тросом к автомобилю, сверлят, взрывают и режут (иной раз в здании Госдумы). По статистике EAST, преступники стали реже использовать скимминг, предпочитая траппинг и физические диверсии. Немало хлопот специалистам по безопасности доставляет и еще один новый тренд — вирусные атаки на банкоматы. Тут и Trojan.Skimer, и Backdoor.Ploutus, и совсем свежий зловред Tyupkin, и другие «приложения», известные и не очень. Малварь загружается в компьютер банкомата, как правило с внешних носителей, и используется для несанкционированной выдачи денег или перехвата карточных данных. Еще один способ атаки описали эксперты Positive Technologies Ольга Кочетова и Алексей Осипов на конференции по компьютерной безопасности Black Hat Europe 2014, проходившей в октябре в Амстердаме.
Читать дальше →
Total votes 59: ↑53 and ↓6 +47
Views 89K
Comments 29

Боевой HID-эмулятор на Arduino

Digital Security corporate blog Information Security *
image
За последние годы многие стали с некоторой осторожностью относиться к съемным носителям данных. И вполне обоснованно. Ведь все так или иначе встречались с autorun.inf в корне флешки. Но, к сожалению, автозапуск с носителя – далеко не единственный вектор атаки при подключении устройства. При проведении внутренних тестов на проникновение нередко возникает необходимость проверить и продемонстрировать заказчику все возможные векторы, в том числе обход device-lock’ов.
Под катом рассмотрим пример устройства на arduino-подобном МК, эмулирующего HID-клавиатуру, с последующим выполнением кода на атакуемой системе.
Читать дальше →
Total votes 41: ↑35 and ↓6 +29
Views 70K
Comments 23

Роль сна в контексте личной эффективности

Lumber room
Оказывается, физиология полезная наука, если слушать, понимать и делать практические выводы. Расскажу своими словами не претендуя на академичность и научную достоверность.

Роль сна в контексте личной эффективности

Ночью, во время полноценного сна, наш мозг фильтрует все, что прошло через него за день и либо складывает это дело в долгосрочную память (и тогда мы про это помним), либо сбрасывает то, что по разным причинам в памяти нам не нужно. Самый простой пример, который иллюстрирует этот механизм — видеомагнитофон с лентой, которая перематывается назад каждую ночь, потом проматывается с той же скоростью весь день (и это важный момент: скорость проигрывания примерно равна скорости записи) и вырезает из него куски, которые сбрасывает. На эту работу мозгу нужно примерно столько же времени, сколько на само проживание заполненных кусков жизни (то есть не каждый вдох-выдох, а тему, разговор, вопрос, письмо, строку или блок кода, тест-кейс и т.д.). Есть люди, у которых эти процессы идут медленнее или быстрее, тогда им надо соотв. меньше или больше времени на поспать. Но, в среднем по больнице, если ты работаешь мозгами часов 8, то и поспать надо те же 8 часов.

Отсюда простое прямое правило и не очень очевидное правило обратное, про которое мы и поговорим далее.

Прямое правило: сколько поработал, столько и поспал.
Обратное правило: сколько поспал, столько и поработал.

Если ты ночью поспал 3 часа и «бодрячком» поехал на работу, то в твоем наличии «кассета магнитофона», которая свободна только на 3 часа.
Читать дальше →
Total votes 54: ↑39 and ↓15 +24
Views 16K
Comments 71

Спать мало, но правильно?

Lifehacks for geeks Health
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43 +627
Views 464K
Comments 420

Слежение за статистикой в WoT c помощью Arduino

DIY
Sandbox


Привет, Хабр. Вспоминая свою инженерную молодость, захотелось снова поковыряться с железками. Возвращаться к PIC'акм и программингу на асме было откровенно лень (травматические детские воспоминания о ручной работе без сторонних библиотек с шиной i2c и HD44780), по этому полез в интернет и узнал о существовании платформы Arduino.

Беглый взгляд показал, что это как раз то, что мне нужно для удовлетворения ностальгических позывов. Неделю назад был приобретен набор. Мигать светодиодом бывшему инженегру электронщику с пятилетним стажем как-то не комильфо, по этому и родилась идея замерителя статистики в танках (каюсь, грешен...). Это мой своеобразный «Hello, Habr!» и «Hello, World!».
Читать дальше →
Total votes 33: ↑23 and ↓10 +13
Views 26K
Comments 5

Ардуино на службе здоровья

DIY
Sandbox
В статье описан путь от идеи до создания домашнего портативного анализатора качества воздуха (CO2, влажность, температура, давление).

Вступление


В сети много гуляет разных кошмаров про безжалостную черную плесень, которая убивает людей, а плесень любит влажные помещения. Бороться с плесенью тяжело, но самое первое, за чем нужно следить – это влажность воздуха. Еще о влажности стоит вспомнить с наступлением зимы, так как нагревая холодный воздух мы тем самым понижаем его влажность, а слишком сухой воздух негативно сказывается на слизистых оболочках, резко снижая иммунитет.
Читать дальше →
Total votes 57: ↑52 and ↓5 +47
Views 70K
Comments 37

Особенности переустановки предустановленной Windows 8

Laptops IT-companies
Sandbox
… или как создать себе проблему, а затем героически её преодолеть.

Хочу поделиться полученным опытом, чтобы вы избежали моих ошибок и сэкономили себе время, силы, и самое главное — нервы. Массу нервов. Принесли мне вчера для обслуживания ультрабук свежих серий, двухбуквенной компании, с описанием «ужасно тормозит, не работают браузеры». Первичный осмотр показал заражение парой троянцев, неработоспособность ни одного из четырех браузеров, установленных пользователями в системе, общую замусоренность системы утилитами из разряда «поставь меня — увеличь себе ускорь компьютер» и некоторый урон, нанесенный утилитами для «очистки» реестра, поставленных пользователями в надежде победить проблемы. После осмотра я решил (святая наивность), что проще будет переустановить систему по-чистой, чем лечить и восстанавливать это всё, благо, как я думал, за счет хранящегося на жестком диске раздела восстановления с родным программным обеспечением это будет минутным делом. Дальнейший рассказ покажет, как жестоко я ошибался в этом.

Итого, имеем ультрабук с Windows 8, рабочим разделом восстановления и отсутствием каких-либо дисков в комплекте поставки (этот момент важен). Бук в качестве стартового ПО имеет UEFI, что в принципе для использования с Windows 8 логично, и даже было бы удобно, если бы не одно но — ключ для установки системы зашит в таблицу данных ACPI, в поддтаблицу MSDM. На тот момент я ещё этого не знал, да и не думал, что мне это понадобится.

Читать дальше →
Total votes 112: ↑106 and ↓6 +100
Views 326K
Comments 142
1

Information

Rating
Does not participate
Location
Иркутск, Иркутская обл., Россия
Date of birth
Registered
Activity