Pull to refresh
14
-2
Александр Панкратов @xtrime

Web разработчик

Send message

Используй Силу, Люк: Single Pane of Glass в Мире SRE

Level of difficultyMedium
Reading time11 min
Views1.7K

Привет, Хабр! Меня зовут Кирилл, я работаю в IT более 13 лет. Сначала инженером по внедрению, потом DevOps, потом SRE, также работал руководителем группы сопровождения. Сейчас SRE в VK Рекламе, поэтому знаю, как важно делать правильные инструменты для анализа проблем. 

В любом проекте и компании я иногда сталкивался, а иногда сам создавал проблему: огромное количество дашбордов. Вспомните ситуацию, когда вы в Grafana ищете какой-нибудь дашборд, пишете, например, «Tarantool», и вам выпадает огромный список дашбордов, которые кто-то до вас насоздавал. Это могут быть кастомные дашборды, которые кто-то делал для какого-нибудь инцидента, или просто созданные другими специалистами. Часто бывает, что половина этих дашбордов нерабочие или на них нет чего-то полезного. 

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

Читать далее
Total votes 31: ↑31.5 and ↓-0.5+32
Comments0

Книга «Эволюционная архитектура. Автоматизированное управление программным обеспечением. 2-е межд. изд.»

Reading time19 min
Views3K
image Привет, Хаброжители!

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

«Эта книга знаменует собой важную веху, обозначающую нынешний уровень понимания проблемы. По мере того как люди начинают осознавать роль ПО в XXI веке, информация о том, как реагировать на изменения, сохраняя достигнутое, становится важнейшим навыком в области создания программного обеспечения». — Мартин Фаулер.
Читать дальше →
Total votes 10: ↑10 and ↓0+10
Comments9

Спекулировать нельзя инвестировать

Level of difficultyMedium
Reading time16 min
Views2.4K

Бум IPO российских компаний и взрывной рост акций третьего эшелона в 2023 году вызывают чувство дежавю. Где-то это уже было... Напоминает время бурного развития криптоактивов пару лет назад — после широкого распространения Биткойна и Эфира.

Ряд компаний провели IPO буквально в течение нескольких месяцев и ещё больше стоят в очереди на выпуск в ближайшее время. Незапланированный бал дебютанток в поисках денег инвесторов застал, честно говоря, врасплох. Какое-то безумие. Одновременно, ряд компаний, уже ставших публичными, проводят SPO. Не менее впечатляющий пайплайн сделок запланирован и на 2024 год. СМИ и инвестиционные паблики винят во всем загадочные, запертые в России, деньги, которым некуда деваться, а им дай лишь волю вырваться. И по мейнстримной теории они вырываются в IPO. Очень удобное и интуитивное объяснение, которое быстро все подхватили и повторяют как мантру. Но так ли это?

Узнать больше о запертых деньгах в России
Total votes 20: ↑17 and ↓3+14
Comments2

Обзор NativePHP. Инструмент для создания собственных нативных desktop приложений на Laravel

Level of difficultyMedium
Reading time7 min
Views13K

Привет, коллеги!

В этой статье я сделаю небольшой обзор NativePHP, который появился на последнем Laracon. Что из себя представляет NativePHP? Перед нами фреймворк, который позволяет нам писать нативные десктоп приложения, используя PHP. Приложения кроссплатформенные - можно писать под Mac, Windows и Linux. И все это с использованием нашего любимого PHP с использованием Laravel. Но как обещают разработчики в будущем появятся и другие драйверы.

Читать далее
Total votes 21: ↑19 and ↓2+17
Comments53

Разворачиваем приложение в кластере Kubernetes под управлением Deckhouse c помощью werf

Level of difficultyMedium
Reading time24 min
Views5.6K

В статье мы рассмотрим, как подступиться к миру Kubernetes в первый раз — развернуть кластер под управлением платформы Deckhouse, разработать и подготовить приложение, развернуть его с помощью утилиты werf, предназначенной для построения рабочего процесса по принципам CI/CD, а также настроить сертификаты для доступа по HTTPS.

Читать далее
Total votes 29: ↑29 and ↓0+29
Comments0

Как «эффективный менеджмент» создаёт катастрофы: изучаем причины техногенных аварий. Часть 2

Level of difficultyEasy
Reading time26 min
Views26K

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

В первой части уже были описаны некоторые яркие катастрофы с выделением причин их наступления, в этой — продолжим описание этих печальных событий.

Продолжить погружение в бездну катастроф
Total votes 88: ↑86 and ↓2+84
Comments125

Как воспитать GPT модель в домашних условиях [LLaMA Update]

Level of difficultyMedium
Reading time11 min
Views52K

Мы решили проверить технологию, на которой основан ChatGPT, посмотреть актуальное состояние open-source GPT-like моделей и ответить на вопрос — можно ли обучить GPT-like модель в домашних условиях?

Для эксперимента выбрали LLaMA и GPT-J и не самый мощный ПК с видеокартой Nvidia GTX 1080TI с 11 GB VRAM. Оказалось, что этого достаточно не только, чтобы загрузить модель, но и дообучить ее (fine-tune). Рассказываем — как мы это сделали.

Читать далее
Total votes 48: ↑46 and ↓2+44
Comments25

Chrome Headless против cloudflare JS challenge

Level of difficultyMedium
Reading time41 min
Views21K

Автоматизация сбора информации с различных ресурсов - обычная задача для людей разных сфер деятельности. Жаль, что не всегда бывает достаточно сделать простой GET запрос и разобрать полученный html. Веб-сайты, с которых собираются данные, принимают защитные меры для предотвращения автоматизированных запросов. Одной из таких мер является использование cloudflare. Сегодня мы посмотрим, как cloudflare выявляет ботов через javascript и коснёмся темы деобфускации скриптов.

Читать далее
Total votes 82: ↑82 and ↓0+82
Comments6

Как сайты определяют ботов? Деобфускация Akamai Bot Manager 2.0

Level of difficultyMedium
Reading time47 min
Views21K

Akamai Technologies - американская компания, занимающаяся защитой веб-ресурсов от ботов с помощью своего продукта Bot Manager. В её портфолио числятся такие гиганты ритейла, как Nike, Adidas и Asos, для которых особенно важен контроль за ботами, автоматизирующими процесс выкупа редких/лимитированных товаров с целью их перепродажи по завышенной цене. В данной статье мы взглянем на скрипт антибота Akamai и рассмотрим, какие методы обнаружения через JavaScript в нём используются. Не знаете почему обнаруживается ваш selenium? Добро пожаловать!

Читать далее
Total votes 106: ↑106 and ↓0+106
Comments37

“Приказать или научить?”. 4 модели помощи сотруднику, во время уточняющих вопросов

Reading time5 min
Views3.6K
image

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

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

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


Модель “Приказать”


Модель подразумевает, что сотруднику во время его уточняющего вопроса выдается прямой и полный ответ, который не требует и не предполагает обсуждения. К примеру, сотрудник приходит к руководителю с вопросом: “Иван Александрович, у меня дилемма. Я провел анализ подрядчиков и у меня есть 3 финалиста. Я никак не могу выбрать”. На что руководитель отвечает: “Будем работать с “Супер Технолоджи”.
Читать дальше →
Total votes 10: ↑8 and ↓2+6
Comments0

4,2 гигабайта, или как нарисовать что угодно

Reading time9 min
Views42K
В нашем мире мы можем сделать всё, что захотим. Всё что угодно.

Боб Росс, The Joy Of Painting, сезон 29, эпизод 1

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

Я представил огромный инопланетный объект, висящий в горящем оранжевом небе над давно покинутым Сиэтлом, здания которого покрыты зарослями.

Тем же вечером я за несколько часов создал вот такое изображение:


Простите за низкое разрешение — к сожалению, у моего GPU всего 12 ГБ памяти.

Поскольку очевидно, что я талантливый художник, имеющий за плечами буквально десятки минут опыта, мне захотелось поделиться тем, как я создал данный шедевр.
Читать дальше →
Total votes 160: ↑160 and ↓0+160
Comments92

Правило 3-х часов: Сколько нужно работать в день

Reading time3 min
Views58K

Размытое зрение, стук по клавиатуре и одно глобальное правило продуктивности.

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

Делаю что-нибудь творческое в течение нескольких часов, и это утомительно.

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

Великие умы всех времен имеют нечто общее:

Читать далее
Total votes 88: ↑84 and ↓4+80
Comments89

20 лет проблем приема платежей

Reading time11 min
Views21K
image
За логотип спасибо yarbabin

Электронные системы расчетов существуют в интернете уже давно, а баги на них встречаются двадцатилетней давности. Мы находили критические уязвимости, позволяющие угнать деньги и накрутить баланс. Сегодня мы разберем типовые реализации приема платежей и связанные с ними проблемы безопасности.
Читать дальше →
Total votes 133: ↑132 and ↓1+131
Comments20

Кровь и бетон. Как не надо писать

Reading time8 min
Views41K

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

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

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

Читать далее
Total votes 253: ↑224 and ↓29+195
Comments183

Как я хакнул свой автомобиль

Reading time10 min
Views58K
image

Машина


Прошлым летом я купил Hyundai Ioniq SEL 2021 года. Это хороший экономящий топливо гибрид с приличным набором функций: беспроводные Android Auto/Apple CarPlay, беспроводная зарядка для телефона, сиденья с подогревом и люк в крыше.

Особенно мне понравилась в этой машине система In-Vehicle Infotainment (IVI). Как я говорил ранее, у машины есть беспроводное Android Auto, что довольно редко для такого ценового диапазона. Приложение имеет красивые плавные анимации меню, поэтому я понял, что ЦП/GPU не такие уж и слабые; или, по крайней мере, ПО ест не слишком много ресурсов.

Как и со всеми остальными моими гаджетами, я решил немного поэкспериментировать и посмотреть, что можно сделать с этой системой.
Читать дальше →
Total votes 341: ↑340 and ↓1+339
Comments71

Почему некоторым так сложно учиться программированию?

Reading time15 min
Views108K

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

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

Читать далее
Total votes 293: ↑267 and ↓26+241
Comments720

Не трогайте разработчиков. Отстаньте. Просто не беспокойте

Reading time13 min
Views74K


Всем привет! Меня зовут Ян, я руководитель разработки Департамента ИТ инвестиционного бизнеса Газпромбанка. Совершенно неожиданно я занял первое место на конференции Highload++ с докладом про то, как организована работа в наших командах разработки.

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

В результате из простой задачи «не трогайте разработчиков» получилось сделать и очень правильное обучение (если вы дежурите, то у вас нет шансов не разбираться во всех процессах команды), и снижение техдолга (дежурный не берёт таски по фичам на спринты, но может заниматься документацией и всякими вещами в наведении порядка, до чего обычно не доходят руки), и много чего ещё. Сначала казалось, что за это мы платим снижением эффективности команды на 8–10 % (ведь мы выключаем дежурного из разработки), но на деле оказалось, что эффективность даже растёт. Есть ряд вещей, которые очень поменялись и в управлении такими командами в лучшую сторону.

Естественно, такой подход имеет кучу подводных камней и подходит далеко не всем и не каждому типу команд.

Сейчас расскажу про практический опыт.
Читать дальше →
Total votes 190: ↑172 and ↓18+154
Comments79

Девять граблей Elasticsearch, на которые я наступил

Reading time7 min
Views72K
Автор иллюстрации — Anton Gudim


«Подготовленный человек тоже наступает на грабли.
Но с другой стороны — там, где ручка.»


Elasticsearch — прекрасный инструмент, но каждый инструмент требует не только настройки и ухода, но и внимания к мелочам. Некоторые — незначительны и лежат на поверхности, а другие спрятаны так глубоко, что на поиск уйдет не один день, не один десяток кружек кофе и не один километр нервов. В этой статье расскажу про девять замечательных граблей в настройке эластика, на которые я наступил.
Давайте приступим
Total votes 59: ↑58 and ↓1+57
Comments69

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

Reading time10 min
Views24K

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

Однажды мои знакомые попросили сделать им хранилище изображений для их проекта по модерации внешних ресурсов. Условия: срок хранения до трех лет, фотографии при этом присылаются неравномерно, в среднем поток — 150.000 картинок в сутки.

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

Читать далее
Total votes 54: ↑53 and ↓1+52
Comments7

Анатомия атаки: Как я взломал StackOverflow

Reading time4 min
Views85K
Почти два года назад я наткнулся на довольно значительную уязвимость в сети сайтов StackExchange. Я говорю «наткнулся» потому, что я не пытался взломать сайт. Обстоятельства приоткрыли мне дверь. Сама уязвимость является довольно интересной, и содержит урок для всех, кто создает и занимается поддержкой сайтов или серверной инфраструктуры. Итак, вот история о том, как я взломал StackOverflow
Читать дальше →
Total votes 143: ↑127 and ↓16+111
Comments52

Information

Rating
Does not participate
Location
Москва, Москва и Московская обл., Россия
Date of birth
Registered
Activity