Pull to refresh
14
0
Алексей Попов @valexv

Data Engineer, BigData, Spark

Send message

Как я внезапно стал «наркоманом» и не прошел СБ в нескольких госбанках

Level of difficultyEasy
Reading time5 min
Views170K

На фоне событий последних лет в РФ, в прошлом году решил я распрощаться с компанией в США, в которой проработал 6 лет. Закрыл ИП, юр. счета.
На фоне заявлений, дескать, сейчас в секторе ИТ кадровый голод, и такие специалисты на "вес золота", я приступил к поиску работы. Ставка была сделана на банковский сектор, т.к. довольно быстро стало понятно, что более менее устраивающие меня ЗП именно там.

Читать далее
Total votes 458: ↑447 and ↓11+542
Comments843

Пора ли увольняться?

Reading time6 min
Views60K
В большей своей массе люди пишут и инструктируют на тему «как найти работу?». А вот как уволиться, и, что важнее, когда увольняться – почти никто ничего не говорит. Оно и понятно, тема весьма деликатная и порой неприятная. Однако попробую сей пробел отчасти восполнить.

И, конечно, все что сказано ниже – есть исключительно личное и предельно субъективное мнение. Поэтому если вы встретите в тексте слова «следует», «должны», то читайте это как «автор бы сделал», а вот что делать вам – решать только вам.

Читать дальше →
Total votes 105: ↑102 and ↓3+99
Comments111

Hadoop в Облаке: история миграции сотен петабайт

Level of difficultyMedium
Reading time10 min
Views4.1K

Миграция с «железа» в облако в большинстве случаев уже не кажется чем-то сложным или удивительным — тенденция на развертывание решений в облаке общая и устоявшаяся. Но если с переносом в облачную среду небольших ИТ-компонентов все просто, то в случае с глобальными системами на сотни петабайт данных все несколько иначе — такие кейсы встречаются редко. 

Меня зовут Михаил Марюфич. Я руководитель Data Platform в ОК, отвечаю за инфраструктуру для Big Data и машинного обучения. В этой статье я расскажу о нашем опыте переноса Hadoop с Bare Metal в облако: с чего стартовали, какие варианты рассматривали, как выстроили миграцию и с чем сталкивались в процессе.

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

Наглядное объяснение чисел с плавающей запятой

Reading time4 min
Views219K
image

В начале 90-х создание трёхмерного игрового движка означало, что вы заставите машину выполнять почти не свойственные ей задачи. Персональные компьютеры того времени предназначались для запуска текстовых процессоров и электронных таблиц, а не для 3D-вычислений с частотой 70 кадров в секунду. Серьёзным препятствием стало то, что, несмотря на свою мощь, ЦП не имел аппаратного устройства для вычислений с плавающей запятой. У программистов было только АЛУ, перемалывающее целые числа.

При написании книги Game Engine Black Book: Wolfenstein 3D я хотел наглядно показать, насколько велики были проблемы при работе без плавающей запятой. Мои попытки разобраться в числах с плавающей запятой при помощи каноничных статей мозг воспринимал в штыки. Я начал искать другой способ. Что-нибудь, далёкое от $(-1)^S * 1.M * 2^{(E-127)}$ и их загадочных экспонент с мантиссами. Может быть, в виде рисунка, потому что их мой мозг воспринимает проще.

В результате я написал эту статью и решил добавить её в книгу. Не буду утверждать, что это моё изобретение, но пока мне не приходилось видеть такого объяснения чисел с плавающей запятой. Надеюсь, статья поможет тем, у кого, как и у меня, аллергия на математические обозначения.
Читать дальше →
Total votes 76: ↑73 and ↓3+70
Comments46

Как сделать Spark в Kubernetes простым в использовании: опыт команды VK Cloud

Reading time10 min
Views4.3K


Сегодня Spark — отраслевой стандарт среди инструментов обработки данных. Его часто используют в связке с Hadoop, однако Hadoop не очень подходит для работы в облаке. Альтернативой может быть Kubernetes, однако самостоятельно его настраивать и конфигурировать очень сложно. Чтобы упростить ситуацию и помочь пользоваться всеми преимуществами технологий, не сталкиваясь с трудностями, мы сделали в VK Cloud Spark в Kubernetes. Для работы с ним не нужна глубокая экспертиза в K8s. 

Меня зовут Алексей Матюнин, я ведущий программист команды разработки ML Platform в компании VK Cloud. Расскажу, почему мы решили делать Spark в Kubernetes, с какими сложностями столкнулись и как их обходили, а также что получили в итоге.

Материал подготовлен по мотивам моего выступления на конференции VK Data Meetup.
Читать дальше →
Total votes 25: ↑25 and ↓0+25
Comments0

Олды в ИТ

Reading time18 min
Views89K

Когда ты молод, ты «бессмертен» и не задумываешься о старости. Есть просто уверенность, что если много и хорошо работать, то твоя карьера и доходы будут неуклонно расти. Следуя этой стратегии, ты развиваешься в профессии уже 15, 20, 30 лет. За эти годы уже получил огромный опыт и, наверное, он обязательно поможет безбедно и интересно прожить остаток дней. Но все не так просто. Да, ты уже давно работаешь в хорошей компании, занимаешься интересными проектами, получаешь за это достойную зарплату, но в будущем уже не так уверен, как раньше. Профессиональный возраст приходит с массой вопросов, на которые нужно ответь стратегически.

 Эта статья родилась на основе обсуждения горячей темы «Олды в ИТ», которую 4 января 2021 г. мы записали для подкаста Linkmeup. Обязательно послушайте запись здесь или в любимом подкаст-приложении.

Читать далее
Total votes 144: ↑137 and ↓7+174
Comments435

REST API/Web сервер на PowerShell

Level of difficultyHard
Reading time12 min
Views9.5K

Все привет! В продолжение статьи о возможностях PowerShell, хочу поделиться несложной реализацией создания REST API и простого Web-сервера, используя только PowerShell на базе класса .NET HttpListener. Такая реализация позволяет настроить endpoint (конечные точки) для обработки GET и POST запросов, которые принимают параметры в заголовке запроса, использовать Basic-авторизацию (на основе Base64), обрабатывать любые коды возврата, а так же без лишнего кода, отдавать информацию в разных форматах: json, xml, html, csv.

https://habr.com/ru/articles/782592
Total votes 22: ↑22 and ↓0+22
Comments3

Почему B-деревья быстрые?

Level of difficultyEasy
Reading time7 min
Views50K

B-дерево — это структура, помогающая выполнять поиск в больших объёмах данных. Она была изобретена более сорока лет назад, однако по-прежнему используется в большинстве современных баз данных. Хотя существуют и более новые структуры индексов, например, LSM-деревья, B-дерево пока никто не победил в обработке большинства запросов баз данных.

После прочтения этого поста вы будете знать, как B-дерево упорядочивает данные и выполняет поисковые запросы.

Читать далее
Total votes 151: ↑150 and ↓1+183
Comments13

Графика древности: палитры, часть 2/2

Level of difficultyEasy
Reading time26 min
Views9.9K

В предыдущей части цикла статей мы рассмотрели историю эволюции палитр в цветной компьютерной графике домашних компьютеров и игровых консолей, а также причины, почему они оказались именно такими и содержали те или иные цвета. Однако тема палитровой графики ещё не исчерпана. Сегодня поговорим про множество других интересных вещей: программируемые палитры и экономию памяти, палитровые анимации и визуальные эффекты, проблемы цветопередачи, обход ограничений на количество цветов, таинственный «артефактинг» и особенности рисования палитровой графики.
Читать дальше →
Total votes 105: ↑105 and ↓0+105
Comments20

Калибровка процессов с помощью метрик разработки

Level of difficultyMedium
Reading time9 min
Views2.6K

Меня зовут Александр Шаповалов, я руководитель отдела разработки систем расчёта и доставки Mediascope. Количество людей и задач в нашем отделе росло постепенно. Когда в моей команде был только один сотрудник, было легко держать весь рабочий контекст на листке бумаги и в голове: аналитика, архитектура, стек, взаимодействие с заказчиком. Но когда нас стало больше 10, я заметил, что часть аспектов стала ускользать из фокуса. Любые ручные проверки для такого объёма задач не приемлемы, поэтому мы внедрили калибровку процессов с помощью метрик разработки.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments2

Как мы научили заводчан строить красивые инженерные отчеты из Jupyter Notebook на Python

Reading time14 min
Views30K

Была у нас тут история, когда легкий перфекционизм помог привести в порядок конструкторскую документацию и регулярно экономить инженерам кучу дней на прохождение бюрократических процедур. В ее основе – создание системы управления расчетными данными и переход от трудночитаемых и трудноинтегрируемых отчетов Mathcad к гибкой связке Jupyter Notebook с Python и Teamcenter. Но основной рассказ будет про то, как преобразовывать и экспортировать математические формулы, таблицы и другие элементы из Jupyter в красивый и удобный вид.

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

Из летописи навигации: история компаса в России

Reading time9 min
Views4.3K

Компас занимает особое место в истории навигации. О появлении первого компаса и его развитии мы рассказали в первой части цикла статей. Сегодня мы поговорим об использовании компаса отечественными мореплавателями и о том, как компас появился на территории России.

Читать далее
Total votes 27: ↑24 and ↓3+25
Comments3

Что такое фильтр Блума?

Reading time9 min
Views42K

Всем привет! В этой статье я постараюсь описать, что такое фильтр Блума, рассказать о его назначении и показать сценарии, в которых его можно использовать. Я также реализую фильтр Блума на Python с нуля в целях облегчения понимания его внутреннего устройства.

Фильтр Блума. Что это?
Total votes 17: ↑16 and ↓1+22
Comments22

Стайлгайд PySpark: как сделать код элегантным

Reading time4 min
Views2.9K


Команда VK Cloud перевела статью о правилах оформления кода в PySpark. Они не обязательны для исполнения, но помогут сделать ваш код более читабельным и удобным для последующих проверок и изменений.
Читать дальше →
Total votes 13: ↑13 and ↓0+13
Comments2

Как вырастить солёную пирамидку

Reading time11 min
Views46K

Да кому нужна эта обычная скучная соль? Превращаем мелкие белые крупинки в потрясающие пирамидальные кристаллы в домашних условиях.

Читать далее
Total votes 185: ↑182 and ↓3+226
Comments72

Сам написал, сам погонял: как я написал 3D-гонки «на жигулях» за неделю, полностью с нуля?

Level of difficultyMedium
Reading time28 min
Views36K
image

Статьи про инди-разработку игр — это всегда интересно и занимательно. Но статьи про разработку игр с нуля, без каких-либо игровых движков — ещё интереснее! У меня есть небольшой фетиш, заключающийся в разработке минимально играбельных 3D-демок, которые нормально работали бы даже на железе 20-летней давности. Полтора года назад, в мае 2022 года, я написал демку гоночной игры с очень знакомым всем нам сеттингом — жигули, девятки, десятки, и всё это даже с тюнингом! В этой статье я расскажу вам о разработке 3D-игр практически с нуля: рендерер, менеджер ресурсов, загрузка уровней и граф сцены, 3D-звук, ввод и интеграция физического движка. Интересна подробнейшая хаброторная статья о разработке игры с нуля? Тогда добро пожаловать!
Читать дальше →
Total votes 157: ↑157 and ↓0+157
Comments55

CAP-теорема простым, доступным языком

Reading time6 min
Views86K
Этот текст является вольным переводом замечательного поста Kaushik Sathupadi на тему распределённых систем и существующих ограничений при их создании.

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

Часть №1: Идея нового сервиса — «Позвони, напомню!»


Вчера, когда ваша супруга в очередной раз оценила тот факт, что вы вспомнили о её дне рождения и подарили шикарный подарок, в голове всплыла забавная идея. «Хм, а ведь люди вечно всё забывают». А у вас просто блестящая память! Почему бы не сделать новый сервис, который позволит полностью раскрыться вашему таланту? С каждой мыслью об этой идее вам всё больше и больше она нравится. Вы уже даже придумали рекламу, которую можно было бы напечатать в газете:
«Позвони, напомню» — Никогда не забывайте, даже если вы не помните, что забыли!
Плохо себя чувствуете из-за того, что вы что-то забыли? Не переживайте. Помощь на расстоянии одного телефонного звонка!
Если вам нужно что-то запомнить, просто позвоните и сообщите нам об этом! Допустим, позвоните нам и сообщите телефон вашего босса. Забудьте про него. Когда вам нужно будет вспомнить его, перезвоните, и мы вам обязательно напомним.
Всего 3 рубля за звонок.

Типичное обращение в ваш сервис выглядело бы вот так:
Читать дальше →
Total votes 107: ↑104 and ↓3+101
Comments12

Мониторинг Spark Streaming в Kubernetes с помощью Prometheus и Grafana

Reading time7 min
Views3.2K

Развертывание Apache Spark в Kubernetes, вместо использования управляемых сервисов таких как AWS EMR, Azure Databricks или HDInsight, может быть обусловлено экономической эффективностью и переносимостью. Подробнее о миграции с AWS EMR в K8s вы можете прочитать в этой статье

Однако при уходе с управляемых сервисов возникает ряд проблем. И, вероятно, самая большая из них — потеря мониторинга и алертинга. Например, в AWS EMR есть действительно мощные встроенные инструменты мониторинга в виде CloudWatch, Ganglia, CloudTrail и YARN history server. В этой статье рассмотрим реализацию мониторинга для Apache Spark в Kubernetes с помощью Prometheus и Grafana.

Читать далее
Total votes 6: ↑5 and ↓1+4
Comments0

А теперь — поподробнее про флюс

Level of difficultyEasy
Reading time12 min
Views12K
Если вы думаете, что кариес опасен лишь некрасивой улыбкой и неприятным запахом изо рта, то глубоко ошибаетесь. Встречайте: флюс! Стоматологи немного вздрагивают от этой терминологии, но чаще всего под этим названием пациенты имеют в виду совершенно разные вещи.

image
КТ с одонтогенным гайморитом

Вот две основные:
  1. Острый периостит — воспаление надкостницы. Пациент при этом приходит с сильно асимметричным лицом из-за мощного коллатерального отёка.
  2. Хронический периодонтит со свищевым ходом, из которого что-то течёт. Посмотрите, пожалуйста, доктор! Там ещё рядом просто так обломанные корни зуба торчат, но они не беспокоят, их можно не трогать.

Я правда не люблю это слово, так как пациенты под ним имеют в виду всегда что-то своё и нередко странное.

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

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

Сегодня я подробно расскажу, какую роль в его возникновении играют патогенные организмы и собственная иммунная система человека, какие формы принимает патология, чем опасны её осложнения и как она лечится. А также о том, что нужно сделать, чтобы с этой болезнью не столкнуться вовсе.
Читать дальше →
Total votes 34: ↑33 and ↓1+42
Comments8

Exasol: опыт использования в Badoo

Reading time10 min
Views17K
Exasol — это современная высокопроизводительная проприетарная СУБД для аналитики. Ее прямые конкуренты: HP Vertica, Teradata, Redshift, BigQuery. Они широко освещены в Рунете и на Хабре, в то время как про Exasol на русском языке нет почти ни слова. Нам бы хотелось исправить эту ситуацию и поделиться опытом практического использования СУБД в компании Badoo.

Exasol базируется на трех основных концепциях:

1. Массивно-параллельная архитектура (англ. massive parallel processing, MPP)


SQL-запросы выполняются параллельно на всех нодах, максимально используя все доступные ресурсы: ядра процессоров, память, диски, сеть. Понятие «мастер ноды» отсутствует — все серверы в системе равнозначны.

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

2. Колоночное хранение (англ. columnar store)


Exasol хранит данные в колоночной форме, а не в форме отдельных рядов, как в классических СУБД. Каждая колонка хранится отдельно, разделяется на большие блоки, сортирируется, сжимается и равномерно распределяется по всем нодам.
Читать дальше →
Total votes 33: ↑30 and ↓3+27
Comments24

Information

Rating
Does not participate
Location
Воронеж, Воронежская обл., Россия
Date of birth
Registered
Activity