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

DevOps

Send message

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

Reading time7 min
Views21K

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

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

Читать далее
Total votes 119: ↑118 and ↓1+139
Comments23

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

Reading time56 min
Views52K
В данной статье рассматривается перехват функций графического API на примере DirectX 9 под x64 применительно к игре Dota 2.

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



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

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

Reading time8 min
Views12K
image Привет, Хаброжители! Книга «React в действии» знакомит фронтенд-разработчиков с фреймворком React и смежными инструментами. Сначала вы познакомитесь с библиотекой React, затем освежите материал о некоторых фундаментальных идеях в данном контексте и узнаете о работе с компонентами. Вы на практике освоите чистый React (без транспиляции, без синтаксических помощников), перейдете от простейших статических компонентов к динамическим и интерактивным.

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

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

Reading time31 min
Views149K
Итак, вы решили сделать новый проект. И проект этот — веб-приложение. Сколько времени уйдёт на создание базового прототипа? Насколько это сложно? Что должен уже со старта уметь современный веб-сайт?

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


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

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

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

Reading time7 min
Views12K
image Технологии анализа текстовой информации стремительно меняются под влиянием машинного обучения. Нейронные сети из теоретических научных исследований перешли в реальную жизнь, и анализ текста активно интегрируется в программные решения. Нейронные сети способны решать самые сложные задачи обработки естественного языка, никого не удивляет машинный перевод, «беседа» с роботом в интернет-магазине, перефразирование, ответы на вопросы и поддержание диалога. Почему же Сири, Алекса и Алиса не хотят нас понимать, Google находит не то, что мы ищем, а машинные переводчики веселят нас примерами «трудностей перевода» с китайского на албанский? Ответ кроется в мелочах – в алгоритмах, которые правильно работают в теории, но сложно реализуются на практике. Научитесь применять методы машинного обучения для анализа текста в реальных задачах, используя возможности и библиотеки Python. От поиска модели и предварительной обработки данных вы перейдете к приемам классификации и кластеризации текстов, затем приступите к визуальной интерпретации, анализу графов, а после знакомства с приемами масштабирования научитесь использовать глубокое обучение для анализа текста.

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

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

Reading time5 min
Views75K

image


Определение


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


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


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

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

Читать дальше →
Total votes 23: ↑17 and ↓6+11
Comments10

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

Reading time9 min
Views34K
Материал, перевод которого мы сегодня публикуем, посвящён инструментам, которые позволяют оснащать Python-проекты средствами форматирования кода, тестирования, непрерывной интеграции и анализа зависимостей. Это помогает ускорить процесс разработки, способствует повышению качества, единообразия и безопасности кода. Предполагается, что у читателя этого материала уже есть некоторый опыт Python-разработки и проект на Python, с которым он, в ходе чтения, будет экспериментировать. Если такого проекта у вас нет — здесь можно узнать о том, как подготовить среду разработки и создать Python-пакет. Примеры, которые будут здесь приводиться, подготовлены с использованием macOS и Python 3.7.


Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments4

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

Reading time10 min
Views17K


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

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

Reading time7 min
Views76K
image

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

Читать дальше →
Total votes 91: ↑88 and ↓3+85
Comments26

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

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


Читать дальше →
Total votes 168: ↑166 and ↓2+164
Comments75

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

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

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

Reading time2 min
Views79K


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

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

Reading time3 min
Views89K
image

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

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

Reading time5 min
Views74K
image
За последние годы многие стали с некоторой осторожностью относиться к съемным носителям данных. И вполне обоснованно. Ведь все так или иначе встречались с autorun.inf в корне флешки. Но, к сожалению, автозапуск с носителя – далеко не единственный вектор атаки при подключении устройства. При проведении внутренних тестов на проникновение нередко возникает необходимость проверить и продемонстрировать заказчику все возможные векторы, в том числе обход device-lock’ов.
Под катом рассмотрим пример устройства на arduino-подобном МК, эмулирующего HID-клавиатуру, с последующим выполнением кода на атакуемой системе.
Читать дальше →
Total votes 41: ↑35 and ↓6+29
Comments23

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

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

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

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

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

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

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

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

Reading time7 min
Views898K
Навеяно этим постом от юзера case. Пост не новый, и на главную он не попал.
Но я вот наткнулся на него сегодня и решил написать кое-что о сне. Уверен, что это будет полезно многим хабравчанам, да и случайным читателям тоже.
Читать дальше →
Total votes 713: ↑670 and ↓43+627
Comments420

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

Reading time7 min
Views52K


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

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

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

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

Вступление


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

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

Reading time8 min
Views543K
… или как создать себе проблему, а затем героически её преодолеть.

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

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

Читать дальше →
Total votes 112: ↑106 and ↓6+100
Comments142

Эволюция банкоматных скиммеров

Reading time5 min
Views315K


Мы все привыкли к словосочетанию «технический прогресс». Уже довольно много лет назад смена поколений всевозможных устройств и гаджетов стала таким же привычным явлением, как смена времён года. И никого не удивляет, по большей части. Мы привыкли, к метаморфозам мобильных телефонов, домашних телевизоров, компьютерных мониторов, теперь вот подтянулись часы и даже очки. Однако есть некий немногочисленный класс устройств, о которых многие слышали, их опасаются, но в живую видели единицы. Речь идёт о скиммерах.

В России банкоматы до сих пор не столь распространены, несмотря на 23 года официального капитализма. Но даже у нас скиммеры стали некой городской страшилкой. И мало кто задумывается, что эти устройства, использующие высокотехнологичные компоненты, тоже со временем эволюционируют. И потому особый интерес представляет недавно опубликованный материал, в котором наглядно представлены этапы «модернизации» скиммеров, вплоть до современных новейших разработок криминальных умельцев.
Читать дальше →
Total votes 177: ↑175 and ↓2+173
Comments199
1

Information

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