Pull to refresh
64
0
Илья @Aist

User

Send message

Capacity allocation — совмещаем разработку, поддержку и выплату техдолга без смс и регистраций

Reading time 11 min
Views 4.9K

Этот материал для тех, к кому когда-то подошли и сказали: «Некогда объяснять, ты теперь тимлид (или начальник отдела)». Может быть, теперь вы уже профессионал своего дела, знаете кучу различных инструментов для решения своих задачи. Но давайте посмотрим чуть-чуть с другой стороны и разберем, как вы управляете потоком своих задач. Как справляетесь с работой, которая к вам приходит. Возможно, это поможет немного ее пересмотреть.

Меня зовут Алексей Пименов, я сертифицированный инструктор альянса  ICAgile, аккредитованный тренер и консультант Kanban University. Пионер Kanban-метода в России.  Моя цель — развить и поднять уровень менеджмента. Kanban многие сопоставляют с DevOps-культурой и практиками DevOps, но это всего лишь один из инструментов, который должен быть в вашем менеджерском ящике.

Читать далее
Total votes 25: ↑21 and ↓4 +17
Comments 0

Секреты observability. Часть 3: распределённая трассировка с Jaeger и OpenTelemetry

Reading time 8 min
Views 15K

image
Фото Bertrand Bouchez, Unsplash.com


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


В этой статье мы расширим возможности observability (наблюдаемости) приложения — создадим спаны (span) и экспортируем их в распределённую опенсорс-систему Jaeger. Но сначала разберемся, что такое трейс.

Читать дальше →
Total votes 10: ↑10 and ↓0 +10
Comments 0

Полезные консольные Linux утилиты

Reading time 13 min
Views 106K

В этой подборке представлены полезные малоизвестные консольные Linux утилиты. В списке не представлены Pentest утилиты, так как у них есть своя подборка.


Осторожно много скриншотов. Добавил до ката утилиту binenv.


binenv — cамая интересная утилита для установки новых популярных программ в linux, но которых нет в пакетном менеджере.

Читать дальше →
Total votes 118: ↑114 and ↓4 +110
Comments 110

Лучшие вопросы средней сложности по SQL на собеседовании аналитика данных

Reading time 14 min
Views 84K
Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%.

С 2015 по 2019 годы я прошёл четыре цикла собеседований на должность аналитика данных и специалиста по анализу данных в более чем десятке компаний. После очередного неудачного интервью в 2017 году — когда я запутался в сложных вопросах по SQL — я начал составлять задачник с вопросами по SQL средней и высокой сложности, чтобы лучше готовиться к собеседованиям. Этот справочник очень пригодился в последнем цикле собеседований 2019 года. За последний год я поделился этим руководством с парой друзей, а благодаря дополнительному свободному времени из-за пандемии отшлифовал его — и составил этот документ.

Есть множество отличных руководств по SQL для начинающих. Мои любимые — это интерактивные курсы Codecademy по SQL и Select Star SQL от Цзы Чон Као. Но в реальности первые 70% из курса SQL довольно просты, а настоящие сложности начинаются в остальных 30%, которые не освещаются в руководствах для начинающих. Так вот, на собеседованиях для аналитиков данных и специалистов по анализу данных в технологических компаниях часто задают вопросы именно по этим 30%.

Удивительно, но я не нашёл исчерпывающего источника по таким вопросам среднего уровня сложности, поэтому составил данное руководство.
Читать дальше →
Total votes 29: ↑27 and ↓2 +25
Comments 17

Apache Kafka для чайников

Reading time 11 min
Views 233K
Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на Windows 10. Также мы создадим проект, используя Intellij IDEA и Spring Boot.
Читать дальше →
Total votes 29: ↑26 and ↓3 +23
Comments 14

Работа под давлением

Reading time 11 min
Views 17K
Кто из нас не ронял продакшн, не обнаруживал, что база побилась, а бэкапов нет, не обваливал работу системы перед демо коммитом «ну сейчас рюшечку поправлю только, она же точно ничего не поломает», не выкатывал на всю аудиторию мобильное приложение со 100%-воспроизводящимся критичным багом, не обнаруживал продакшн-сервер взломанным, да мало ли бывает замечательных действий… Некомфортная ситуация влияет на наше состояние, не дает принимать взвешенные решения, заставляет поступать так, как в спокойной обстановке мы бы не поступили — только диву даешься, как же вот этого не увидел или вот этого не сделал. И хочется разобраться, что же происходит, понять, как лучше в следующий раз и вообще научиться с ним справляться. Как? В статье мы с AlbinoKoala систематизировали свой опыт и даже прочитали митап перед коллегами.

image

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

Статический анализ больших объёмов Python-кода: опыт Instagram. Часть 1

Reading time 6 min
Views 14K
Серверный код в Instagram пишут исключительно на Python. Ну, в основном это именно так. Мы используем немного Cython, а в состав зависимостей входит немало C++-кода, с которым можно работать из Python как с C-расширениями.



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

Наша серверная система — это монолит, который очень часто меняется. Каждый день сотни программистов делают сотни коммитов в код. Мы непрерывно разворачиваем эти изменения, делая это каждые семь минут. В результате развёртывание проекта в продакшне выполняется около ста раз за сутки. Мы стремимся к тому, чтобы между попаданием коммита в ветку master и развёртыванием соответствующего кода в продакшне проходило бы менее часа (вот выступление об этом, сделанное на PyCon 2019).

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

Этот материал посвящён тому, как мы пользуемся линтингом и автоматическим рефакторингом для того чтобы облегчить управление кодовой базой, написанной на Python.

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

Вторая часть
Читать дальше →
Total votes 46: ↑42 and ↓4 +38
Comments 4

Приводим в порядок плейлист Торрент-ТВ («Суперпомойка»)

Reading time 15 min
Views 119K
UPD. Сервис Торрент-ТВ, который был основным источником контента, умер, так что статья лишена практического смысла.

Потоки в нелегальном сервисе Торрент-ТВ («Суперпомойка») в подавляющем большинстве являются оригинальными потоками от операторов или со спутника без пережатия. В основном это потоки с чересстрочным видео. Торрент-ТВ обеспечивает максимально возможное качество, но низкую стабильность. Сегодня одни каналы есть, завтра нет. Сегодня одни каналы работают хорошо, завтра плохо. Этот сервис не подходит для постоянного беспроблемного использования — за что заплатили, т.е. не платили, то и получили. Но он отлично подходит, когда нужно посмотреть что-то с высоким качество (если канал в тот момент будет работать стабильно). Ещё одна проблема — это формирование удобного персонального плейлиста. Об этом как раз и пойдёт речь в заметке.


Total votes 26: ↑25 and ↓1 +24
Comments 11

Нагрузочное тестирование с locust. Часть 2

Reading time 6 min
Views 19K
Для тех, кому понравилась моя предыдущая статья, продолжаю делится впечатлениями об инструменте для нагрузочного тестирования Locust.

Постараюсь наглядно показать преимущества написания нагрузочного теста python кодом, в котором можно удобно как подготавливать любые данные для теста, так и обрабатывать результаты.

Читать дальше →
Total votes 10: ↑9 and ↓1 +8
Comments 9

Как я проходил тестовое задание на летнюю стажировку в Яндекс

Reading time 13 min
Views 106K
image

Привет Хабр, сегодня я расскажу о том, как я проходил тестовое задание на летнюю стажировку в Яндекс. Эта публикация будет полезна начинающим разработчикам, любителям олимпиадного программирования, тем кто неравнодушен к С++ и Java, или просто хочет прочесть интересную статью после трудного рабочего дня.

Чего ожидать от этой статьи?

  • Introduction, о том что такое стажировки в Яндкесе, как и когда на них подать
  • Мотивация к написанию данной статьи
  • Примеры задач, моё решение и краткий разбор (Можно смело пропустить первые два пункта, и начинать именно отсюда)

Introduction


Для тех кто мало знаком с системой отбора на стажировку в Яндексе расскажу вкратце. На сайте яндекса, за несколько месяцев до лета объявляется оплачиваемая вакансия для начинающих разработчиков, в том отделе, в котором вы бы хотели работать (i.e. Яндекс.Диск, Яндекс.Алиса). По ссылке, нужно заполнить форму, о том где Вы учитесь, чем занимаетесь, какой был опыт работы, о чем писали дипломную работы итп. После заполнения формы Вам на почту присылают тестовое задание, на выполнение которого у Вас есть 6 часов, в любой день в течении недели с момента, когда Вы получили это письмо.
Читать дальше →
Total votes 28: ↑19 and ↓9 +10
Comments 30

Торговля под присмотром: пример системы бизнес-мониторинга

Reading time 5 min
Views 6.8K


Инструментов мониторинга ИТ-инфраструктуры существует много десятков, если не сотни. Есть бесспорные народные любимцы вроде Zabbix, с помощью которых можно сваять мониторинг для компании средней руки, и легион утилит, сервисов и мощных пакетов на любой вкус и размер.

А вот с бизнес-мониторингом всё сложнее. На рынке не сказать чтобы много готовых продуктов, на основе которых можно быстренько собрать дашборд, чтобы высокое начальство могло отслеживать уровень продаж и расторопность доставки. Обычно бизнес-мониторинг представляет собой узкоспециализированный проект, который делается для данной конкретной компании, с учётом особенностей её информационных систем. О подобном проекте — наш рассказ.
Читать дальше →
Total votes 14: ↑14 and ↓0 +14
Comments 1

Настройка системы WEB — тестирования на основе headless chromium-browser, chromedriver, nightwatch и node.js на Ubuntu

Reading time 5 min
Views 12K
image

Предисловие


Привет, Хабр! Данная задача возникла у меня с проблемой, которая заключалась в создании робота для авторизации в Instagram, который бы делал за меня лайки. Всю задачу не напишу, напишу только часть реализации в виде настройки необходимого инструментария на удаленном сервере.

WEB — тестирование — это объемная и неоднозначная сфера, которая может заключаться в решении задач не только в плане тестирования WEB — приложений, но и, к примеру, в плане построения парсеров, роботов IoT и ботов работы с социальными сетями и все это используя только JavaScript!

Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.
Читать дальше →
Total votes 9: ↑9 and ↓0 +9
Comments 10

Встроить кратный рост в ДНК команды

Reading time 4 min
Views 4.2K
Михаил Трутнев, COO самого популярного в мире музыкального сервиса Ultimate Guitar c ежемесячной аудиторией более 30 млн человек, выступил на конференции по продуктовому маркетингу Epic Growth Conference.



На Epic Growth Conference исполнительный директор Ultimate Guitar поделился нестандартными подходами к организации бизнес-процессов, работе с командой и просто к жизни. Смотрите видео или читайте заметки ниже.
Total votes 25: ↑23 and ↓2 +21
Comments 8

Готовимся к релизу в App Store. Инструкция для новичков и лайфхаки

Reading time 5 min
Views 77K


Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Читать дальше →
Total votes 30: ↑25 and ↓5 +20
Comments 4

Кластер Asterisk. Централизация информации о регистрации

Reading time 4 min
Views 13K
У большинства администраторов, работающих с телефонией на базе Asterisk, в компаниях, где штат превышает 500+ сотрудников, рано или поздно встает вопрос о полноценной кластеризации Active/Active. Предпосылками к этому может быть и наличие региональных ответвлений, и желание сделать систему надежнее. Тема обширная и не является целью данной статьи в полном объеме, которая написана с целью показать один из самых быстрых и надежных способов добыть информацию о регистрации устройств на серверах в кластере, с целью последующей централизации или/и дистрибуции внутри кластера. Логично предположить, что самый производительный способ — это быть частью самого Asterisk.
Читать дальше →
Total votes 13: ↑13 and ↓0 +13
Comments 62

Почему компании отказываются от лучших сотрудников?

Reading time 7 min
Views 202K
Весной 2006 года Кевин Систром стоял за кофемашиной в кафе Caffé del Doge в Пало-Альто, когда к стойке подошел основатель Facebook Марк Цукерберг. Годом ранее Цукерберг уже ужинал с Систромом — он предложил ему уйти с последнего курса Стэнфорда, чтобы разработать фотосервис для Facebook. Кевин тогда отказался. Оставшись в Стэнфорде, Систром разработал приложение Instagram, которое Цукерберг недавно приобрел за $1 млрд. (Сумма поражает, особенно если знать, что у стартапа нет не только выручки, но и модели ее получения. В компании Instagram, возраст которой еще не достиг двух лет, по-прежнему лишь 14 сотрудников.) В итоге Цукерберг все же захватил Кевина в ряды армии Facebook, с чем его и поздравляем.

Если в истории с Систромом Цукерберг сделал ставки и не прогадал, то с сооснователем WhatsApp Брайаном Актоном все сложилось иначе. В 2009 году его не взяли на работу в Facebook, а в 2014 компания покупает WhatsApp за $16 млрд. Как же так получается, что большие и инновационные компании отказываются от перспективных сотрудников (будем называть их гуру или «звездами»), за которых в будущем будут гоняться с утроенной скоростью, предлагая просто сумасшедшие деньги? Ориентация на метрики, а не на результат.
Читать дальше →
Total votes 136: ↑123 and ↓13 +110
Comments 96

iPad как платформа для разработки веб-приложений

Reading time 3 min
Views 44K
Современное общество мобильно, легко адаптируется к динамично меняющейся окружающей среде. Мы на связи с глобальной сетью повсюду: в машине, в поезде, в метро, даже в туалете!
По-моему термин On-The-Go! наиболее точно характеризует современного человека.

Сейчас планшетник уже перестал быть роскошью и гаджетом, который есть только у президента. Уже пол года, как я стал счастливым обладателем iPad. В основном я использовал его для серфинга в Интернете, презентаций видеоработ заказчикам, и чтения технической литературы (как это ни странно прозвучит, но художественную мне удобнее читать с iPhone'а). Но с момента покупки меня ниразу не покидала мысль «А можно ли полноценно разрабатывать веб-приложения на iPad? Так, чтобы компьютер был не нужен вообще?». И сегодня я могу сказать — ДА — на iPad можно вести полноценную веб-разработку. Сегодня в AppStore уже есть ряд программ, которые очень сильно помогут при разработке приложений на iPad.
Читать дальше →
Total votes 82: ↑59 and ↓23 +36
Comments 95

Обзор торговых роботов

Reading time 3 min
Views 26K
Привет, хабралюди! Все мы знаем про Forex, может даже кто-нибудь из Вас и пытался (или до сих пор пытается) на нём играть заработать на жизнь, пиво, телефон, машину, стартап (нужное подчеркнуть). Но в нашей жизни полностью уделить все время торговле на валютном рынке, практически не реально и в следствии чего появились автоматические торговые эксперты.
В данном посте я расскажу о некоторых платных советниках, которые я покупал и использовал на реальном счете. Все графики и цифры взяты из личного опыта и никаким образом не отношусь к разработчикам советников.
Так что предлагается выбрать «красную» или «синюю» таблетку :)

Синяя таблетка...
Total votes 165: ↑130 and ↓35 +95
Comments 183

Уменьшение размеров папки winsxs

Reading time 4 min
Views 882K
Многие обладатели Windows Vista и 7 наверняка сталкивались с тем, что папка Windows c ходом времени разрастается как на дрожжах. Я мирился с этим до тех пор, пока 40-гиговый раздел с системой не начал периодически выдавать мне сообщения о том, что свободное место на нем заканчивается.

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

Итак, приступим
Total votes 88: ↑74 and ↓14 +60
Comments 83

русский перевод презентации Google Wave

Reading time 1 min
Views 1.3K
Завершён перевод на русский субтитров к Google Wave Developer Preview.
Перевод доступен формате srt.
(в субтитрах много нахлёстов, которые не все плэеры умеют корректно отображать. mplayer показывает их с опцией -overlapsub).

Upd: Субтитры добавлены в основной ролик на ютюбе.
Субтитры можно выбрать в списке доступных языков крайней кнопочкой панельки управления плэера.

Перевод осуществлён совместными усилиями команды HabraTranslation:
qmax, tom, nc00x, Voidus, sfunx, @P_r_i_m_a_t, Nashev, djvu, hellt, david_mz, (а также поприветствуем новых хабраюзеров: ) stok_man, terre, Moran, karlicos, cr_az, andrew.shyn.

Также выражаем благодарность ArMikael и DileSoft за привлечение ресурсов.
И разработчикам Google Docs за средства совместной работы, которыми вы воспользовались :)

P.S.
Неактуальные ссылки:
посмотреть на overstream
ролик со встроенными субтитрами на рутюбе
Total votes 93: ↑82 and ↓11 +71
Comments 88

Information

Rating
Does not participate
Location
Правдинский, Москва и Московская обл., Россия
Works in
Date of birth
Registered
Activity