Pull to refresh
63
0
Илья@Aist

User

Send message

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

Reading time11 min
Reach and readers6.1K

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

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

Читать далее

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

Reading time8 min
Reach and readers30K

image
Фото Bertrand Bouchez, Unsplash.com


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


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

Читать дальше →

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

Reading time13 min
Reach and readers147K

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


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


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

Читать дальше →

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

Reading time14 min
Reach and readers106K
Первые 70% курса по SQL кажутся довольно простыми. Сложности начинаются на остальных 30%.

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

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

Удивительно, но я не нашёл исчерпывающего источника по таким вопросам среднего уровня сложности, поэтому составил данное руководство.
Читать дальше →

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

Reading time11 min
Reach and readers325K
Данная статья будет полезной тем, кто только начал знакомиться с микросервисной архитектурой и с сервисом Apache Kafka. Материал не претендует на подробный туториал, но поможет быстро начать работу с данной технологией. Я расскажу о том, как установить и настроить Kafka на Windows 10. Также мы создадим проект, используя Intellij IDEA и Spring Boot.
Читать дальше →

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

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

image

Читать дальше →

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

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



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

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

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

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

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

Вторая часть
Читать дальше →

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

Reading time15 min
Reach and readers132K
UPD. Сервис Торрент-ТВ, который был основным источником контента, умер, так что статья лишена практического смысла.

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


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

Reading time6 min
Reach and readers23K
Для тех, кому понравилась моя предыдущая статья, продолжаю делится впечатлениями об инструменте для нагрузочного тестирования Locust.

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

Читать дальше →

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

Reading time13 min
Reach and readers120K
image

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

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

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

Introduction


Для тех кто мало знаком с системой отбора на стажировку в Яндексе расскажу вкратце. На сайте яндекса, за несколько месяцев до лета объявляется оплачиваемая вакансия для начинающих разработчиков, в том отделе, в котором вы бы хотели работать (i.e. Яндекс.Диск, Яндекс.Алиса). По ссылке, нужно заполнить форму, о том где Вы учитесь, чем занимаетесь, какой был опыт работы, о чем писали дипломную работы итп. После заполнения формы Вам на почту присылают тестовое задание, на выполнение которого у Вас есть 6 часов, в любой день в течении недели с момента, когда Вы получили это письмо.
Читать дальше →

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

Reading time5 min
Reach and readers7.2K


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

А вот с бизнес-мониторингом всё сложнее. На рынке не сказать чтобы много готовых продуктов, на основе которых можно быстренько собрать дашборд, чтобы высокое начальство могло отслеживать уровень продаж и расторопность доставки. Обычно бизнес-мониторинг представляет собой узкоспециализированный проект, который делается для данной конкретной компании, с учётом особенностей её информационных систем. О подобном проекте — наш рассказ.
Читать дальше →

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

Reading time5 min
Reach and readers14K
image

Предисловие


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

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

Возможно, что вам не нравится словосочетание «тестирование», возможно, отчасти, из-за того, что это словосочетание заключает в себе более интересные вещи, которые, к примеру, позволят нам написать бота, способного авторизироваться в Instagram, Facebook и совершать там ряд действий от нашего лица и в одно и то же время нудно заниматься наблюдением, как выполняется наш фронтенд, но тестирование имеет смысл и уже стандартизировано сообществом W3C и продолжает развиваться.
Читать дальше →

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

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



На Epic Growth Conference исполнительный директор Ultimate Guitar поделился нестандартными подходами к организации бизнес-процессов, работе с командой и просто к жизни. Смотрите видео или читайте заметки ниже.

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

Reading time5 min
Reach and readers81K


Подготовили гайд для заказчиков, которые занимаются публикацией приложения самостоятельно. Рассказываем о предрелизных хлопотах: как создать аккаунт разработчика, сколько времени заложить на оформление D-U-N-S number, какие скрины подготовить для стора.
Читать дальше →

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

Reading time4 min
Reach and readers14K
У большинства администраторов, работающих с телефонией на базе Asterisk, в компаниях, где штат превышает 500+ сотрудников, рано или поздно встает вопрос о полноценной кластеризации Active/Active. Предпосылками к этому может быть и наличие региональных ответвлений, и желание сделать систему надежнее. Тема обширная и не является целью данной статьи в полном объеме, которая написана с целью показать один из самых быстрых и надежных способов добыть информацию о регистрации устройств на серверах в кластере, с целью последующей централизации или/и дистрибуции внутри кластера. Логично предположить, что самый производительный способ — это быть частью самого Asterisk.
Читать дальше →

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

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

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

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

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

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

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

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

Синяя таблетка...

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

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

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

Итак, приступим

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

Reading time1 min
Reach and readers1.4K
Завершён перевод на русский субтитров к 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
ролик со встроенными субтитрами на рутюбе

Information

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