![](https://habrastorage.org/r/w780/getpro/habr/upload_files/6db/5d2/ec2/6db5d2ec2c957ea0a00164e6a0036c56.jpg)
Безопасность — ключевой аспект разработки веб-приложений. Но это понятие очень широкое, поэтому для его понимания нужно четко определить роль безопасности в современных веб-приложениях и то, какие аспекты она охватывает.
Безопасность — ключевой аспект разработки веб-приложений. Но это понятие очень широкое, поэтому для его понимания нужно четко определить роль безопасности в современных веб-приложениях и то, какие аспекты она охватывает.
Для многих специальностей, будь то бизнес-аналитика, Data Science или геология и геофизика, эффективная визуализация данных вошла в число принципиально важных навыков. Наглядное представление информации, понятное и эстетически привлекательное, может подтолкнуть целевую аудиторию к определенным мыслям или действиям. Хотя на Python создано несколько библиотек визуализации данных, студенты, изучающие этот язык и аналитику данных, часто начинают с Matplotlib.
Команда VK Cloud перевела руководство, как улучшить диаграммы, созданные в Matplotlib. Все показано на реальных примерах.
Меня зовут Павел Зимин. Я системный инженер в VK Cloud. Этой статьей мы начинаем серию публикаций о правильной и безопасной миграции компонентов виртуальной инфраструктуры между облаками, в которой дадим пошаговые алгоритмы и подсветим возможные нюансы.
Работа с кросс-продуктовыми фичами — квест для стойких: отдельные команды, независимые регламенты, разные подходы и практики. Часто в таких ситуациях синхронизацию команд блокирует много факторов, что неизбежно влияет на скорость и качество разработки и на поддержку кросс-продуктовых фич.
Меня зовут Таисия Толстунова, и на примере команды обеспечения качества продуктов в VK WorkSpace я расскажу, какие трудности могут возникнуть при работе с кросс-продуктовыми фичами и как минимизировать потенциальные проблемы.
Материал подготовлен по мотивам совместного моего совместного доклада с Еленой Кореневой «Преодоление трудностей кросс-продуктового тестирования».
Разработчики, которые используют Go, сталкиваются с задачей выжать максимальную производительность из каждой строки кода. Но что делать, если оптимизировать уже нечего, а увеличивать скорость всё равно надо?
Меня зовут Никита Галушко. Я старший программист-разработчик в отделе высоконагруженных систем и оптимизации ВКонтакте. В статье поделюсь, какие хитрости помогут использовать Go на полную мощность.
Приветствую всех! На связи Михаил Емельянов, руководитель Android-направления в RuStore.
За последние два года наш проект достиг впечатляющих результатов: более 50 миллионов установок, около 40 тысяч приложений и более 10 тысяч разработчиков.
Однако быстрый рост не проходит без вызовов, включая такие проблемы, как технический долг. В этой статье я расскажу, как управлять техдолгом, не останавливая разработку новых фич.
Недавно CEO Starburst опубликовал манифест о будущем открытого озера данных. В манифесте он говорит об Icehouse, архитектуре озера данных нового поколения на базе Trino и Iceberg. Глядя на нее, многие разработчики недоумевали: «А чем она отличается от любой другой архитектуры Data Lakehouse?». Команда VK Cloud перевела статью о концепции Icehouse. Вы поймете, почему в ней нет необходимости и почему она подходит далеко не всем, кто работает с открытыми архитектурами озера данных.
Прекрасный момент: система написана, часть тестов автоматизирована, отчеты сгенерированы и даже выявлено несколько дефектов. Выдыхаем и будем думать о дальнейших планах: увеличить тестовое покрытие, добавить стабильности и что-то делать с логированием. Стоп, подождите, вы про логи? Заряжаем ELK, агенты сбора, выделяем ресурсы. Как нет ресурсов? Так, может быть, rsyslog в конце концов? И его нельзя? Звучит как тестовая задача на собеседовании, однако можно ли в такой ситуации обойтись без дополнительных инструментов, да еще и интегрировать работу с логами в систему автоматизации тестирования?
Привет, Хабр! Меня зовут Георгий Меликов, я из VK Cloud и руковожу там инфраструктурной разработкой (IaaS) облака, где мы создаём SDN (Software Defined Networks) — программно определяемые сети; SDS (Software Defined Storages) — программно определяемые хранилища; и другие решения.
А ещё на досуге я — контрибьютор файловой системы OpenZFS с 2016 года.
В этой статье поговорим о наших подходах к разработке на примере создания нашего SDN. Мы ставим перед собой несколько целей:
1) Разрабатывать быстро, чтобы итерации были явно очерченными и понятными. Хотим, чтобы у нас вырабатывался дофамин от закрытия спринтов, и было понятно, как жить дальше.
2) Эксплуатировать системы без людей — полностью автоматически.
3) Использовать принцип «Дизайн на отказ». Система должна уметь переживать любой возможный сбой и проблему, т.е.обладать так называемым качеством самовосстановления (self-healing).
Предлагаю пройтись эволюционно от простого примера "облака на минималках" до нашей production среды на несколько ЦОДов, собрав по пути проблемы из нашей реальной жизни.
Меня зовут Максим, я ведущий разработчик в VK. Занимаюсь инфраструктурой доставки электронной почты в проекте Mail.ru. Наша команда разработала и довела до эксплуатации файловую систему (ФС) на FUSE в рамках проекта распределённой почтовой очереди. В проекте требовалось реализовать сетевую ФС, которая сохраняет данные в трёх копиях, в разных ЦОДах. Цель — повысить отказоустойчивость, чтобы даже полный выход из строя одного ЦОДа не приводил к нарушениям SLA. Эта статья для всех, кто интересуется файловыми системами и хранением данных. Мы обсудим:
- зачем писать свою ФС;
- как написать свою ФС с помощью фреймворка FUSE;
- какие подводные камни есть у эксплуатации FUSE в production.
Эта статья — результат трёх лет разработки ФС. Сейчас самое время заварить чай, рассказ будет долгим.
Привет Хабр! Меня зовут Татьяна Хуртина, и я программист в группе внутренней автоматизации ИБ VK. Недавно я выступала на киберфестивале PHDays c докладом про наш подход для мониторинга безопасности контейнеров. На примере опыта в inhouse-облаке Дзена я рассказала, как можно использовать open source решения, чтобы искать уязвимости в Runtime.
И сразу оговорюсь, что тут в понятие Runtime мы вкладываем мониторинг уязвимостей в запущенных в оркестраторе контейнерах в (почти что) реальном времени. Если перед вами стоит похожая задача, возможно, вам пригодится наш практический опыт. Публикую здесь ключевые мысли и схемы.
Решение больших и сложных задач требует больших ресурсов — эта зависимость практически неизменна. Вместе с тем, не всегда оправданно пытаться «съесть слона целиком» — часто намного рациональнее разбить комплексную задачу на набор атомарных шагов и «осваивать» их постепенно.
Меня зовут Станислав Иванкевич. Я старший программист в команде разработки DataMasters компании VK Tech. В этой статье я расскажу, как мы применили подход с декомпозицией при разработке своего mini-k8s для автоматизации создания и поддержки приложений в пользовательских кластерах Kubernetes.
На тестирование приходится значительная доля от общего времени разработки продукта или его отдельных фичей. Поэтому компании, стремясь оптимизировать эти процессы, и сократить ручную работу инженеров по обеспечению качества, занимаются автоматизацией тестирования. Но просто написать автотест — недостаточно. Надо, чтобы он был качественным и стабильным. И гарантировать это можно только тщательным ревью кода автотестов.
Делимся опытом работы с автотестами в ОК: от подходов к постановке задач до схемы настройки окружения статического анализатора кода.
Материал подготовлен по мотивам доклада руководителя команды автоматизации тестирования ОК Эмилии Куцаревой и младшего инженера по автоматизации тестирования соцсети Евгения Буровникова на ИТ-конференции «Стачка».
Начиная с июня 2023 года мы стали получать жалобы от пользователей о том, что у них не отображаются письма в Android-клиенте Почты Mail.ru. В ходе исследования мы даже приглашали пользователя к нам в офис для отладки. В конце концов мы поняли, что проблема на стороне WebView, компонента, с помощью которого мы можем отображать веб страницы. Ни для кого не секрет, что WebView используется во многих банковских и почтовых клиентах, в приложениях интернет-магазинов, сервисов доставки и многих других. Также изучили другие почтовые сервисы, нам хотелось понять, как они с этим справились. Оказалось — никак :)
Привет, Хабр! В моей работе часто возникают задачи на исследование влияния факторов, на которые мы можем оказывать продуктовое влияние, на целевые метрики сообществ ВКонтакте. Один из возможных способов решения подобных задач — обучение ML‑моделей и последующий анализ значимости признаков в них. Базовым подходом видится использование графиков из библиотеки shap. Однако наиболее популярным является summary_plot, хотя он и повышает интерпретируемость модели, но отвечает не на все возникающие вопросы.
Меня зовут Сергей Королёв, я продуктовый аналитик в бизнес‑юните СМБ в VK, занимаюсь улучшением опыта предпринимателей на нашей платформе. В этой статье я представлю свое решение по кастомизации shap.dependence_plot для простого восприятия графиков влияния факторов на целевую метрику.
Одно из основных преимуществ сферы ИТ — динамичное развитие технологий, которое также стимулирует непрерывно развиваться и специалистов разных уровней и направлений. Поэтому история, когда специалист в рамках одной команды может вырасти от Junior до Senior, встречается часто. Этот путь не всегда быстрый и, главное, не всегда очевидный: в череде событий легко потерять фокус с главного, пытаться стать лучшим во всем и в итоге остаться «среднячком» везде. Избежать этого помогает разработка индивидуальных планов развития (ИПР).
Меня зовут Алексей Петров. Я директор по качеству в Одноклассниках. В этой статье я хочу рассказать о наших подходах к оценке скиллов сотрудников, разработке и использованию планов индивидуального развития.
P.S. В статье я описываю практику на примере специалистов отдела тестирования. Но подход универсален — вы можете легко адаптировать его под свои задачи и в других специальностях.
Меня зовут Саша Назаров, я занимаюсь релиз-менеджментом в RuStore.
В предыдущей статье мы рассказывали о роли релиз-менеджера в проекте, о том, когда эта роль нужна, а когда нет, и как мы начинали оптимизацию релизного процесса.
Cегодня разовьём тему и поделимся опытом наших следующих шагов в управлении релизами.